@wrenautomation/aerie 0.5.1 → 0.6.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,28 @@
1
+ export function rankDecisions(ds, tasks) {
2
+ const waiters = new Map();
3
+ for (const t of tasks) {
4
+ if (t.status === "Done")
5
+ continue;
6
+ for (const dep of t.dependencies)
7
+ waiters.set(dep, [...(waiters.get(dep) ?? []), t.id]);
8
+ }
9
+ const reach = (ids) => {
10
+ const seen = new Set();
11
+ const todo = [...ids];
12
+ while (todo.length) {
13
+ const id = todo.pop();
14
+ if (seen.has(id))
15
+ continue;
16
+ seen.add(id);
17
+ todo.push(...(waiters.get(id) ?? []));
18
+ }
19
+ return seen.size;
20
+ };
21
+ const far = "9999";
22
+ return ds
23
+ .map((d) => ({ ...d, unblocks: reach(d.blocks) }))
24
+ .sort((x, y) => y.unblocks - x.unblocks ||
25
+ (x.due ?? far).localeCompare(y.due ?? far) ||
26
+ x.askedAt.localeCompare(y.askedAt));
27
+ }
28
+ //# sourceMappingURL=sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../src/sidecar.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,aAAa,CAAC,EAAc,EAAE,KAAmB;IAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAa,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,OAAO,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACjD,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;QACvB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CACrC,CAAC;AACN,CAAC"}
package/dist/store.d.ts CHANGED
@@ -46,6 +46,34 @@ export interface Decision {
46
46
  answeredBy?: string | undefined;
47
47
  answeredAt?: string | undefined;
48
48
  why?: string | undefined;
49
+ /** `ask`; `run-failed` = the worker's own */
50
+ kind: DecisionKind;
51
+ /** each brief a rewrite replaced, oldest first */
52
+ history: BriefEdit[];
53
+ }
54
+ export declare const DECISION_KINDS: readonly ["ask", "run-failed"];
55
+ export type DecisionKind = (typeof DECISION_KINDS)[number];
56
+ export interface BriefEdit {
57
+ at: string;
58
+ by: string;
59
+ brief?: string | undefined;
60
+ recommendation?: string | undefined;
61
+ why?: string | undefined;
62
+ }
63
+ /** D19: one spoken or typed source, whole. */
64
+ export interface Intake {
65
+ id: number;
66
+ kind: "text" | "chat" | "voice";
67
+ by: string;
68
+ at: string;
69
+ words: string;
70
+ audio?: string | undefined;
71
+ heard?: unknown;
72
+ splitBy?: string | undefined;
73
+ split?: unknown;
74
+ checks?: unknown;
75
+ taskIds: string[];
76
+ why?: string | undefined;
49
77
  }
50
78
  /** Where a task sits and its alias areas: the parts of a write outside the Task fields. */
51
79
  export interface RouteRule {
@@ -80,6 +108,18 @@ export interface AreaInfo {
80
108
  count: number;
81
109
  }
82
110
  export declare function aerieStore(o: StoreOptions): {
111
+ briefDecision: (id: number, p: {
112
+ brief?: string | undefined;
113
+ recommendation?: string | undefined;
114
+ why?: string | undefined;
115
+ }, by: string) => Promise<Decision>;
116
+ mergeDecisions: (keep: number, drop: number[], by: string, why?: string) => Promise<Decision>;
117
+ addIntake: (i: Pick<Intake, "kind" | "words"> & Partial<Pick<Intake, "audio" | "heard" | "why">>, by: string) => Promise<Intake>;
118
+ setIntake: (id: number, p: Partial<Pick<Intake, "splitBy" | "split" | "checks" | "taskIds">>) => Promise<Intake>;
119
+ intakes: (o?: {
120
+ ids?: number[];
121
+ limit?: number;
122
+ }) => Promise<Intake[]>;
83
123
  get: (id: string, q?: Queryable) => Promise<TaskRecord | null>;
84
124
  list: (f?: Filter, sorts?: Sort[]) => Promise<TaskRecord[]>;
85
125
  routeRules: () => Promise<RouteRule[]>;
@@ -187,7 +227,7 @@ export declare function aerieStore(o: StoreOptions): {
187
227
  open?: boolean;
188
228
  ids?: number[];
189
229
  }) => Promise<Decision[]>;
190
- ask: (d: Pick<Decision, "question" | "options"> & Partial<Pick<Decision, "recommendation" | "brief" | "blocks" | "area" | "due">>, by: string) => Promise<Decision>;
230
+ ask: (d: Pick<Decision, "question" | "options"> & Partial<Pick<Decision, "recommendation" | "brief" | "blocks" | "area" | "due" | "kind">>, by: string) => Promise<Decision>;
191
231
  decide: (id: number, answer: string, by: string, why?: string) => Promise<Decision>;
192
232
  prefixOf: (q?: Queryable) => Promise<string>;
193
233
  getSetting: (key: string) => Promise<string | null>;
package/dist/store.js CHANGED
@@ -1,9 +1,10 @@
1
1
  /** Every read and write. Each write: one transaction, the task row locked, version bumped, one event. */
2
- import { and, asc, eq, getTableColumns, inArray, isNull, sql } from "drizzle-orm";
2
+ import { and, asc, desc, eq, getTableColumns, inArray, isNull, sql } from "drizzle-orm";
3
3
  import { PgTransaction } from "drizzle-orm/pg-core";
4
4
  import { applyEdit, areaFor, checkPath, compare, compareIds, lineage, MARK, matches, sameTask, WREN_RULES, } from "./core/index.js";
5
5
  import { AerieError, atomic } from "./db.js";
6
6
  import * as s from "./schema.js";
7
+ export const DECISION_KINDS = ["ask", "run-failed"];
7
8
  const viewOf = (r) => ({
8
9
  id: r.id,
9
10
  name: r.name,
@@ -265,6 +266,8 @@ export function aerieStore(o) {
265
266
  answeredBy: r.answeredBy ?? undefined,
266
267
  answeredAt: toIso(r.answeredAt),
267
268
  why: r.why ?? undefined,
269
+ kind: r.kind,
270
+ history: r.history,
268
271
  }));
269
272
  }
270
273
  /** A new decision; each task it blocks goes to Needs Human Input. */
@@ -287,6 +290,7 @@ export function aerieStore(o) {
287
290
  askedBy: by,
288
291
  askedAt: now(),
289
292
  due: d.due ?? null,
293
+ kind: d.kind ?? "ask",
290
294
  })
291
295
  .returning({ id: s.decision.id });
292
296
  return r?.id;
@@ -318,6 +322,129 @@ export function aerieStore(o) {
318
322
  }
319
323
  return (await decisions({ ids: [id] }))[0];
320
324
  }
325
+ /** The sidecar's rewrite: brief and recommendation, never the question; the old pair goes to `history`. */
326
+ async function briefDecision(id, p, by) {
327
+ const [d] = await decisions({ ids: [id] });
328
+ if (!d)
329
+ throw new AerieError(`no decision ${id}`, 404);
330
+ if (d.answeredAt)
331
+ throw new AerieError(`decision ${id} is answered (${d.answer})`, 409);
332
+ if (p.recommendation && !d.options.some((x) => x.key === p.recommendation))
333
+ throw new AerieError(`recommendation ${p.recommendation} is not an option`);
334
+ const was = {
335
+ at: now(),
336
+ by,
337
+ brief: d.brief,
338
+ recommendation: d.recommendation,
339
+ why: p.why,
340
+ };
341
+ await write(by, async (tx) => {
342
+ await tx
343
+ .update(s.decision)
344
+ .set({
345
+ ...(p.brief !== undefined ? { brief: p.brief } : {}),
346
+ ...(p.recommendation !== undefined ? { recommendation: p.recommendation } : {}),
347
+ history: [...d.history, was],
348
+ })
349
+ .where(and(eq(s.decision.id, id), isNull(s.decision.answeredAt)));
350
+ });
351
+ return (await decisions({ ids: [id] }))[0];
352
+ }
353
+ /** Same kind and option keys only: each dropped one closes as `merged`, its blocks join the kept one. */
354
+ async function mergeDecisions(keep, drop, by, why) {
355
+ const all = await decisions({ ids: [keep, ...drop] });
356
+ const k = all.find((x) => x.id === keep);
357
+ if (!k)
358
+ throw new AerieError(`no decision ${keep}`, 404);
359
+ const keys = (d) => d.options
360
+ .map((o) => o.key)
361
+ .sort()
362
+ .join(",");
363
+ for (const id of drop) {
364
+ const d = all.find((x) => x.id === id);
365
+ if (!d)
366
+ throw new AerieError(`no decision ${id}`, 404);
367
+ if (id === keep)
368
+ throw new AerieError(`decision ${id} cannot merge into itself`);
369
+ if (d.answeredAt || k.answeredAt)
370
+ throw new AerieError(`decision ${d.answeredAt ? id : keep} is answered`, 409);
371
+ if (d.kind !== k.kind || keys(d) !== keys(k))
372
+ throw new AerieError(`decision ${id} differs from ${keep} (kind ${d.kind}/${k.kind}, options ${keys(d)}/${keys(k)})`);
373
+ }
374
+ const blocks = [
375
+ ...new Set([
376
+ ...k.blocks,
377
+ ...drop.flatMap((id) => all.find((x) => x.id === id)?.blocks ?? []),
378
+ ]),
379
+ ];
380
+ await write(by, async (tx) => {
381
+ await tx.update(s.decision).set({ blocks }).where(eq(s.decision.id, keep));
382
+ await tx
383
+ .update(s.decision)
384
+ .set({
385
+ answer: "merged",
386
+ answeredBy: by,
387
+ answeredAt: now(),
388
+ why: `merged into ${keep}${why ? `: ${why}` : ""}`,
389
+ })
390
+ .where(and(inArray(s.decision.id, drop), isNull(s.decision.answeredAt)));
391
+ });
392
+ return (await decisions({ ids: [keep] }))[0];
393
+ }
394
+ // ── intake (D19) ──
395
+ const intakeOf = (r) => ({
396
+ id: r.id,
397
+ kind: r.kind,
398
+ by: r.by,
399
+ at: toIso(r.at),
400
+ words: r.words,
401
+ audio: r.audio ?? undefined,
402
+ heard: r.heard ?? undefined,
403
+ splitBy: r.splitBy ?? undefined,
404
+ split: r.split ?? undefined,
405
+ checks: r.checks ?? undefined,
406
+ taskIds: r.taskIds,
407
+ why: r.why ?? undefined,
408
+ });
409
+ async function addIntake(i, by) {
410
+ const [r] = await db
411
+ .insert(s.intake)
412
+ .values({
413
+ kind: i.kind,
414
+ by,
415
+ at: now(),
416
+ words: i.words,
417
+ audio: i.audio ?? null,
418
+ heard: i.heard ?? null,
419
+ why: i.why ?? null,
420
+ })
421
+ .returning();
422
+ return intakeOf(r);
423
+ }
424
+ async function setIntake(id, p) {
425
+ const [r] = await db
426
+ .update(s.intake)
427
+ .set({
428
+ ...(p.splitBy !== undefined ? { splitBy: p.splitBy } : {}),
429
+ ...(p.split !== undefined ? { split: p.split } : {}),
430
+ ...(p.checks !== undefined ? { checks: p.checks } : {}),
431
+ ...(p.taskIds !== undefined ? { taskIds: p.taskIds } : {}),
432
+ })
433
+ .where(eq(s.intake.id, id))
434
+ .returning();
435
+ if (!r)
436
+ throw new AerieError(`no intake ${id}`, 404);
437
+ return intakeOf(r);
438
+ }
439
+ async function intakes(o = {}) {
440
+ const rows = await db
441
+ .select()
442
+ .from(s.intake)
443
+ .where(o.ids ? inArray(s.intake.id, o.ids) : undefined)
444
+ .orderBy(desc(s.intake.id))
445
+ .limit(o.limit ?? 50);
446
+ return rows.map(intakeOf);
447
+ }
321
448
  // ── writes ──
322
449
  /** Upsert the task row and its people; no version check (callers lock first). */
323
450
  async function put(tx, t, areaId, place) {
@@ -784,6 +911,11 @@ export function aerieStore(o) {
784
911
  .limit(o.limit ?? 50);
785
912
  }
786
913
  return {
914
+ briefDecision,
915
+ mergeDecisions,
916
+ addIntake,
917
+ setIntake,
918
+ intakes,
787
919
  get,
788
920
  list,
789
921
  routeRules,
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAGL,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EAGV,OAAO,EACP,IAAI,EACJ,OAAO,EAGP,QAAQ,EAIR,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAgD,MAAM,SAAS,CAAC;AAC3F,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAsDjC,MAAM,MAAM,GAAG,CAAC,CAA6B,EAAa,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,EAAE;IACR,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,MAAM,EAAE,CAAC,CAAC,MAAgB;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAc;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;IAC/B,MAAM,EAAE,CAAC,CAAC,MAA6B;IACvC,OAAO,EAAG,CAAC,CAAC,OAA2B,IAAI,SAAS;CACrD,CAAC,CAAC;AAsCH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACrE,qEAAqE;AACrE,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CACjC,CAAC,IAAI,IAAI;IACP,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC3D,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAIrF,MAAM,UAAU,UAAU,CAAC,CAAe;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IACzB,4DAA4D;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM;QACxB,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,EAAE;QAClB,CAAC,CAAC,GAAG,CAAA,oBAAoB,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC;IACxG,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE;QACvC,0EAA0E;QAC1E,MAAM,CAAC,GAAG,MAAM,CAAC;aACd,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;IAEpC,KAAK,UAAU,KAAK,CAAI,EAAU,EAAE,EAA0B;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,EAAE,YAAY,aAAa,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;IACd,+GAA+G;IAC/G,IAAI,IAAsD,CAAC;IAC3D,KAAK,UAAU,SAAS,CAAC,CAAY,EAAE,KAAK,GAAG,KAAK;QAClD,IAAI,CAAC,IAAI,IAAI,KAAK;YAAE,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,UAAU,QAAQ,CAAC,CAAY;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAY,EAAE,IAAY;QAClD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC5F,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;iBAChB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;iBACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CACJ,GAAG,CACD,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EACtE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CACtB,CACF,CAAC;YACJ,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,CAAY,EAAE,IAAY;QAChD,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5F,IAAI,EAAE,IAAI,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,CAAY,EAAE,GAAa;QACrD,IAAI,GAAG,CAAC,MAAM;YACZ,MAAM,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;iBACf,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/E,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;IACd,6GAA6G;IAC7G,KAAK,UAAU,IAAI,CAAC,CAAY,EAAE,KAAW;QAC3C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,CAAC;iBACE,MAAM,CAAC;gBACN,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1B,WAAW,EAAE,GAAG,CAEf,6BAA6B,CAAC,CAAC,SAAS,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,6BAA6B;gBACnM,SAAS,EAAE,GAAG,CAEb,6BAA6B,CAAC,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;gBACjK,QAAQ,EAAE,GAAG,CAEZ,6BAA6B,CAAC,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;aAC9H,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,KAAK,CAAC;YACf,SAAS,CAAC,CAAC,CAAC;SACb,CAAC,CAAC;QACH,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,CAAI,CAAe,EAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,MAAM,CACJ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,EACzB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EACjE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC9B,IAAI,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,SAAS,MAAM,CAAC,CAAM,EAAE,IAAY,EAAE,SAAmB,EAAE,OAAiB;QAC1E,MAAM,CAAC,GAAe;YACpB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,CAAC,CAAC,KAAc;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC;QACF,MAAM,GAAG,GAA4B;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;YAC/B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACzC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;SAC5B,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,SAAS,cAAc,EAAE,GAAG,CAAC;QAC1F,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC;IACjD,CAAC,CAAC;IAEF,KAAK,UAAU,GAAG,CAAC,EAAU,EAAE,IAAe,EAAE;QAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,CAAY;QAC1C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,EAAE,QAAgB,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAC7B,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACpD,CAAC,CAAC,GAAG;YACH,CAAC,CAAC,OAAO,CACL,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EACxB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAClC;YACH,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,KAAK,UAAU,KAAK,CAAC,KAAa;QAChC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,CAAwB;QAC7D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACzC,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;aAC3B,CAAC;YACF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;iBACd,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;iBACvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;iBAChE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;QACnD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAClC,EAAE;aACC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aAC1D,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAChC,CAAC;QACF,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,SAAS,CAAC,IAAwC,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChB,KAAK,CACJ,GAAG,CACD,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,cAAc,EAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAA2B;YACtC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;YAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAW;YACnC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS;SACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qEAAqE;IACrE,KAAK,UAAU,GAAG,CAChB,CACiF,EACjF,EAAU;QAEV,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACxE,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;gBACxC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,MAAM;gBACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpD,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,GAAG,EAAE;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;aACnB,CAAC;iBACD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,2GAA2G;IAC3G,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,MAAc,EAAE,EAAU,EAAE,GAAY;QACxE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;iBACpE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,IAAI,CACR,CAAC,EACD,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACzF,EAAE,EACF,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAC1B,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,eAAe;IACf,iFAAiF;IACjF,KAAK,UAAU,GAAG,CAAC,EAAM,EAAE,CAAO,EAAE,MAAc,EAAE,KAAY;QAC9D,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM;YACN,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;YAClC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;SACvB,CAAC;QACF,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAClC,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,MAAM,CAAC,MAAM,CAAC;aACd,kBAAkB,CAAC;YAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACjB,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE;SACtD,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;aACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM;YACf,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,uCAAuC;QACvC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CACzF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM;YACb,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACrE,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAA,eAAe,EAAE;aAClC,CAAC,CAAC;IACT,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,EAAM,EAAE,EAAU,EAAE,CAAY;QACxD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,UAAU,KAAK,CAClB,EAAM,EACN,MAAc,EACd,EAAU,EACV,IAAY,EACZ,IAAa,EACb,GAAY;QAEZ,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,EAAM,EAAE,EAAU;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClB,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,uFAAuF;IACvF,KAAK,UAAU,MAAM,CAAC,EAAM,EAAE,MAAe;QAC3C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yDAAyD,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvF,iDAAiD;QACjD,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EACrB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;aACjB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;aACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAA2C,EAC3C,EAAU,EACV,OAAyB,EAAE;QAE3B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,IAAI,KAAK,CAAC,SAAS;gBACjB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACtF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAS;gBAClB,EAAE;gBACF,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;gBAC/B,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE;gBACd,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,IAAI,CACjB,EAAU,EACV,CAAmB,EACnB,EAAU,EACV,OAAkB,EAAE;QAEpB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO;gBAC1D,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACzF,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,WAAW,CACxB,KAAsD,EACtD,EAAU;QAEV,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;wBACxB,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,CAAC;gBACf,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5F,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,KAAK;QAClB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,EAAU,EACV,IAA+D,EAAE;QAEjE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,KAAK,UAAU,WAAW;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,GAAG;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC1E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBAClE,mBAAmB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC3E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAC1B,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG;YAC/B,KAAK,EAAE,CAAC,CAAC,OAAO;YAChB,IAAI,EAAE,CAAC,CAAC,IAAgB;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe;IACf,KAAK,UAAU,MAAM;QACnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gEAAgE;IAChE,KAAK,UAAU,YAAY,CAAC,KAAa;QACvC,MAAM,CAAC,GAAG,MAAM,EAAE;aACf,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,EAAU,EAAE,CAA2C,EAAE,EAAU;QACzF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,KAAK,UAAU,QAAQ,CAAC,GAAa;QACnC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAChD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;IACjB,KAAK,UAAU,UAAU,CAAC,GAAW;QACnC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACzB,CAAC;IACD,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa,EAAE,EAAU,EAAE,WAAW,GAAG,KAAK;QACnF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW;gBAChB,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE;gBACzB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,KAAK,UAAU,WAAW,CAAC,GAAc;QACvC,OAAO,EAAE;aACN,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;QACtF,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,IAAuE;QAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG;YACvC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;iBAC9B,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;gBAC3B,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,OAAO,EAAE,GAAG,CAAA,kBAAkB;oBAC9B,EAAE,EAAE,GAAG,CAAA,OAAO;iBACf;aACF,CAAC,CAAC;IACT,CAAC;IAED,mBAAmB;IACnB,KAAK,UAAU,UAAU;QACvB,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,EAAE;iBACC,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,GAAG,CAAQ,eAAe;gBACjC,IAAI,EAAE,GAAG,CAAQ,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,iBAAiB;aAC1E,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,EAAyD,EACzD,EAAU;QAEV,IAAI,CAAC,EAAE,CAAC,MAAM;YAAE,OAAO;QACvB,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE;gBAChB,MAAM,EAAE;qBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;qBACnB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;qBACxE,kBAAkB,CAAC;oBAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;oBACtB,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE;iBAC5D,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,WAAW,CAAC,CAAY,EAAE,CAA4B;QACnE,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CAAA,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,CAAC,GAAG,CACzF,CAAC;QACJ,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,EAAU;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,KAAK,UAAU,UAAU;QACvB,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,wCAAwC;IACxC,KAAK,UAAU,YAAY,CACzB,CAAmE,EACnE,EAAU;QAEV,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;iBACpB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBAClC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;iBACtC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;iBACnB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE;aACV,CAAC;iBACD,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,GAAI,GAAuC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,EAAU;QACnD,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,MAAM,EAAE;iBACf,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7B,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,IAAY,EAAE,IAAa,EAAE,GAAY;QACtF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;QACnD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACpF,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACrC,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,IAAY,EACZ,IAA8B,EAC9B,KAAK,GAAG,CAAC;QAET,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAC5C,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,CACnC,CACF,CAAC;QACJ,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAsD,EAAE;QAExD,MAAM,CAAC,GAAG,GAAG,CAAA,kCAAkC,KAAK,GAAG,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAQ,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,EAAE,EACjC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACxE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAA,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACpF,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,GAAG;QACH,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,eAAe;QACf,GAAG;QACH,SAAS;QACT,WAAW;QACX,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,WAAW;QACX,KAAK;QACL,OAAO;QACP,WAAW;QACX,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,aAAa;QACb,QAAQ;QACR,WAAW;QACX,aAAa;QACb,cAAc;QACd,MAAM;QACN,KAAK;QACL,QAAQ;QACR,UAAU;QACV,SAAS;QACT,GAAG;QACH,MAAM;QACN,QAAQ;QACR,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAID,+CAA+C;AAC/C,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAGL,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EAGV,OAAO,EACP,IAAI,EACJ,OAAO,EAGP,QAAQ,EAIR,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAgD,MAAM,SAAS,CAAC;AAC3F,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AA0DjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,CAAU,CAAC;AA2B7D,MAAM,MAAM,GAAG,CAAC,CAA6B,EAAa,EAAE,CAAC,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,EAAE;IACR,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,MAAM,EAAE,CAAC,CAAC,MAAgB;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAc;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;IAC/B,MAAM,EAAE,CAAC,CAAC,MAA6B;IACvC,OAAO,EAAG,CAAC,CAAC,OAA2B,IAAI,SAAS;CACrD,CAAC,CAAC;AAsCH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACrE,qEAAqE;AACrE,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CACjC,CAAC,IAAI,IAAI;IACP,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC3D,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAIrF,MAAM,UAAU,UAAU,CAAC,CAAe;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IACzB,4DAA4D;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM;QACxB,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,EAAE;QAClB,CAAC,CAAC,GAAG,CAAA,oBAAoB,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC;IACxG,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE;QACvC,0EAA0E;QAC1E,MAAM,CAAC,GAAG,MAAM,CAAC;aACd,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;IAEpC,KAAK,UAAU,KAAK,CAAI,EAAU,EAAE,EAA0B;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,EAAE,YAAY,aAAa,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;IACd,+GAA+G;IAC/G,IAAI,IAAsD,CAAC;IAC3D,KAAK,UAAU,SAAS,CAAC,CAAY,EAAE,KAAK,GAAG,KAAK;QAClD,IAAI,CAAC,IAAI,IAAI,KAAK;YAAE,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,UAAU,QAAQ,CAAC,CAAY;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAY,EAAE,IAAY;QAClD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC5F,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;iBAChB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;iBACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CACJ,GAAG,CACD,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EACtE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CACtB,CACF,CAAC;YACJ,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,CAAY,EAAE,IAAY;QAChD,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5F,IAAI,EAAE,IAAI,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,CAAY,EAAE,GAAa;QACrD,IAAI,GAAG,CAAC,MAAM;YACZ,MAAM,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;iBACf,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/E,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;IACd,6GAA6G;IAC7G,KAAK,UAAU,IAAI,CAAC,CAAY,EAAE,KAAW;QAC3C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,CAAC;iBACE,MAAM,CAAC;gBACN,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1B,WAAW,EAAE,GAAG,CAEf,6BAA6B,CAAC,CAAC,SAAS,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,6BAA6B;gBACnM,SAAS,EAAE,GAAG,CAEb,6BAA6B,CAAC,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;gBACjK,QAAQ,EAAE,GAAG,CAEZ,6BAA6B,CAAC,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB;aAC9H,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,KAAK,CAAC;YACf,SAAS,CAAC,CAAC,CAAC;SACb,CAAC,CAAC;QACH,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,CAAI,CAAe,EAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,MAAM,CACJ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,EACzB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EACjE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;aAC9B,IAAI,EAAE,CACV,CACF,CAAC;IACJ,CAAC;IAED,SAAS,MAAM,CAAC,CAAM,EAAE,IAAY,EAAE,SAAmB,EAAE,OAAiB;QAC1E,MAAM,CAAC,GAAe;YACpB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,CAAC,CAAC,KAAc;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC;QACF,MAAM,GAAG,GAA4B;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;YAC/B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;YACzC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;SAC5B,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,SAAS,cAAc,EAAE,GAAG,CAAC;QAC1F,OAAO,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC;IACjD,CAAC,CAAC;IAEF,KAAK,UAAU,GAAG,CAAC,EAAU,EAAE,IAAe,EAAE;QAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,CAAY;QAC1C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,EAAE,QAAgB,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,EAAE,EACF,GAAG,CACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAC7B,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACpD,CAAC,CAAC,GAAG;YACH,CAAC,CAAC,OAAO,CACL,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EACxB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAClC;YACH,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,KAAK,UAAU,KAAK,CAAC,KAAa;QAChC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,CAAwB;QAC7D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACzC,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;aAC3B,CAAC;YACF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;iBACd,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;iBACvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;iBAChE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;QACnD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAClC,EAAE;aACC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aAC1D,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAChC,CAAC;QACF,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,SAAS,CAAC,IAAwC,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChB,KAAK,CACJ,GAAG,CACD,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,cAAc,EAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAA2B;YACtC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;YAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAW;YACnC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,SAAS;YACrC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS;YACvB,IAAI,EAAE,CAAC,CAAC,IAAoB;YAC5B,OAAO,EAAE,CAAC,CAAC,OAAsB;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qEAAqE;IACrE,KAAK,UAAU,GAAG,CAChB,CAC0F,EAC1F,EAAU;QAEV,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACxE,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;gBACxC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,MAAM;gBACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpD,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,GAAG,EAAE;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;aACtB,CAAC;iBACD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,EAAE,EAAY,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,MAAM;YACpB,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,2GAA2G;IAC3G,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,MAAc,EAAE,EAAU,EAAE,GAAY;QACxE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;iBACpE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,QAAQ,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,IAAI,CACR,CAAC,EACD,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACzF,EAAE,EACF,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAC1B,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,2GAA2G;IAC3G,KAAK,UAAU,aAAa,CAC1B,EAAU,EACV,CAIC,EACD,EAAU;QAEV,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;YACxE,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAc;YACrB,EAAE,EAAE,GAAG,EAAE;YACT,EAAE;YACF,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC;QACF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC;gBACH,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;aAC7B,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IACzD,CAAC;IAED,yGAAyG;IACzG,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,IAAc,EAAE,EAAU,EAAE,GAAY;QAClF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,eAAe,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAC3B,CAAC,CAAC,OAAO;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aACjB,IAAI,EAAE;aACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,EAAE,KAAK,IAAI;gBAAE,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;YACjF,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;gBAC9B,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,UAAU,CAClB,YAAY,EAAE,iBAAiB,IAAI,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAChG,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,CAAC,CAAC,MAAM;gBACX,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;aACpE,CAAC;SACH,CAAC;QACF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC;gBACH,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,GAAG,EAAE;gBACjB,GAAG,EAAE,eAAe,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACnD,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IAC3D,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,CAAC,CAA+B,EAAU,EAAE,CAAC,CAAC;QAC7D,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAsB;QAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAW;QACzB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;QAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS;KACxB,CAAC,CAAC;IAEH,KAAK,UAAU,SAAS,CACtB,CAAoF,EACpF,EAAU;QAEV,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;aAChB,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,EAAE;YACF,EAAE,EAAE,GAAG,EAAE;YACT,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;SACnB,CAAC;aACD,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,CAAiC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,EAAU,EACV,CAAoE;QAEpE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;aAChB,GAAG,CAAC;YACH,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAC1B,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,IAAwC,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAC1B,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,eAAe;IACf,iFAAiF;IACjF,KAAK,UAAU,GAAG,CAAC,EAAM,EAAE,CAAO,EAAE,MAAc,EAAE,KAAY;QAC9D,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM;YACN,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;YAClC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;SACvB,CAAC;QACF,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAClC,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACd,MAAM,CAAC,MAAM,CAAC;aACd,kBAAkB,CAAC;YAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACjB,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE;SACtD,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;aACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM;YACf,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,uCAAuC;QACvC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CACzF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM;YACb,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACrE,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAA,eAAe,EAAE;aAClC,CAAC,CAAC;IACT,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,EAAM,EAAE,EAAU,EAAE,CAAY;QACxD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,UAAU,KAAK,CAClB,EAAM,EACN,MAAc,EACd,EAAU,EACV,IAAY,EACZ,IAAa,EACb,GAAY;QAEZ,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,EAAM,EAAE,EAAU;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClB,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,uFAAuF;IACvF,KAAK,UAAU,MAAM,CAAC,EAAM,EAAE,MAAe;QAC3C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,yDAAyD,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvF,iDAAiD;QACjD,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EACrB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;aACjB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;aACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAA2C,EAC3C,EAAU,EACV,OAAyB,EAAE;QAE3B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,IAAI,KAAK,CAAC,SAAS;gBACjB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACtF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAS;gBAClB,EAAE;gBACF,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;gBAC/B,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE;gBACd,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,IAAI,CACjB,EAAU,EACV,CAAmB,EACnB,EAAU,EACV,OAAkB,EAAE;QAEpB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO;gBAC1D,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAW,EAAE,CAAC;YACzF,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,WAAW,CACxB,KAAsD,EACtD,EAAU;QAEV,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;wBACxB,MAAM,IAAI,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,CAAC;gBACf,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5F,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,KAAK;QAClB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,EAAU,EACV,IAA+D,EAAE;QAEjE,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,KAAK,UAAU,WAAW;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,GAAG;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC1E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBAClE,mBAAmB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,IAAc,EAAE,EAAU;QAC3E,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAC1B,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG;YAC/B,KAAK,EAAE,CAAC,CAAC,OAAO;YAChB,IAAI,EAAE,CAAC,CAAC,IAAgB;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe;IACf,KAAK,UAAU,MAAM;QACnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gEAAgE;IAChE,KAAK,UAAU,YAAY,CAAC,KAAa;QACvC,MAAM,CAAC,GAAG,MAAM,EAAE;aACf,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,GAAG,CAAA,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,EAAU,EAAE,CAA2C,EAAE,EAAU;QACzF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,KAAK,UAAU,QAAQ,CAAC,GAAa;QACnC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAChD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;IACjB,KAAK,UAAU,UAAU,CAAC,GAAW;QACnC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACzB,CAAC;IACD,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa,EAAE,EAAU,EAAE,WAAW,GAAG,KAAK;QACnF,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW;gBAChB,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE;gBACzB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,KAAK,UAAU,WAAW,CAAC,GAAc;QACvC,OAAO,EAAE;aACN,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;QACtF,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,IAAuE;QAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG;YACvC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;iBAC9B,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;gBAC3B,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAA,eAAe;oBACxB,OAAO,EAAE,GAAG,CAAA,kBAAkB;oBAC9B,EAAE,EAAE,GAAG,CAAA,OAAO;iBACf;aACF,CAAC,CAAC;IACT,CAAC;IAED,mBAAmB;IACnB,KAAK,UAAU,UAAU;QACvB,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,EAAE;iBACC,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,GAAG,CAAQ,eAAe;gBACjC,IAAI,EAAE,GAAG,CAAQ,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,iBAAiB;aAC1E,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,EAAyD,EACzD,EAAU;QAEV,IAAI,CAAC,EAAE,CAAC,MAAM;YAAE,OAAO;QACvB,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE;gBAChB,MAAM,EAAE;qBACL,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;qBACnB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;qBACxE,kBAAkB,CAAC;oBAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;oBACtB,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE;iBAC5D,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,WAAW,CAAC,CAAY,EAAE,CAA4B;QACnE,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;aAClB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CAAA,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,CAAC,GAAG,CACzF,CAAC;QACJ,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,EAAU;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,KAAK,UAAU,UAAU;QACvB,MAAM,EAAE,GAAG,MAAM,EAAE;aAChB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,wCAAwC;IACxC,KAAK,UAAU,YAAY,CACzB,CAAmE,EACnE,EAAU;QAEV,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;iBACpB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBAClC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;iBACtC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;iBACnB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,EAAE;gBACF,EAAE,EAAE,GAAG,EAAE;aACV,CAAC;iBACD,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,GAAI,GAAuC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,EAAU;QACnD,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,MAAM,EAAE;iBACf,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7B,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,IAAY,EAAE,IAAa,EAAE,GAAY;QACtF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3B,MAAM,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY;QACnD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACpF,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACrC,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,IAAY,EACZ,IAA8B,EAC9B,KAAK,GAAG,CAAC;QAET,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE;aACjB,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAC5C,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,CACnC,CACF,CAAC;QACJ,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAsD,EAAE;QAExD,MAAM,CAAC,GAAG,GAAG,CAAA,kCAAkC,KAAK,GAAG,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAQ,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;aAC3E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,EAAE,EACjC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACxE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CACF;aACA,OAAO,CAAC,GAAG,CAAA,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;aACpF,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,aAAa;QACb,cAAc;QACd,SAAS;QACT,SAAS;QACT,OAAO;QACP,GAAG;QACH,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,eAAe;QACf,GAAG;QACH,SAAS;QACT,WAAW;QACX,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,WAAW;QACX,KAAK;QACL,OAAO;QACP,WAAW;QACX,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,aAAa;QACb,QAAQ;QACR,WAAW;QACX,aAAa;QACb,cAAc;QACd,MAAM;QACN,KAAK;QACL,QAAQ;QACR,UAAU;QACV,SAAS;QACT,GAAG;QACH,MAAM;QACN,QAAQ;QACR,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAID,+CAA+C;AAC/C,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,20 @@
1
+ CREATE TABLE "aerie"."intake" (
2
+ "id" serial NOT NULL,
3
+ "kind" text NOT NULL,
4
+ "by" text NOT NULL,
5
+ "at" timestamp with time zone DEFAULT now() NOT NULL,
6
+ "words" text NOT NULL,
7
+ "audio" text,
8
+ "heard" jsonb,
9
+ "split_by" text,
10
+ "split" jsonb,
11
+ "checks" jsonb,
12
+ "task_ids" text[] DEFAULT '{}'::text[] NOT NULL,
13
+ "why" text,
14
+ CONSTRAINT "pk_intake" PRIMARY KEY("id"),
15
+ CONSTRAINT "intake_kind_check" CHECK ("kind" IN ('text', 'chat', 'voice'))
16
+ );
17
+ --> statement-breakpoint
18
+ ALTER TABLE "aerie"."decision" ADD COLUMN "kind" text DEFAULT 'ask' NOT NULL;--> statement-breakpoint
19
+ ALTER TABLE "aerie"."decision" ADD COLUMN "history" jsonb DEFAULT '[]'::jsonb NOT NULL;--> statement-breakpoint
20
+ CREATE INDEX "intake_at_idx" ON "aerie"."intake" USING btree ("at");