@atcute/lexicons 1.2.10 → 1.3.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.
@@ -18,4 +18,27 @@ export interface LegacyBlob<TMime extends string = string> {
18
18
  mimeType: TMime;
19
19
  }
20
20
  export declare const isLegacyBlob: (input: unknown) => input is LegacyBlob;
21
+ /**
22
+ * extracted blob reference from a record
23
+ */
24
+ export interface BlobRef {
25
+ /** CID string */
26
+ cid: string;
27
+ mimeType: string;
28
+ /** self-reported size. -1 for legacy blobs */
29
+ size: number;
30
+ }
31
+ export interface CollectBlobsOptions {
32
+ /** include legacy blob references in results (default: false) */
33
+ allowLegacy?: boolean;
34
+ }
35
+ /**
36
+ * extracts all blob references from a record object, including in undeclared
37
+ * properties. by default only finds modern blobs; set `allowLegacy` to also
38
+ * include legacy blob formats.
39
+ * @param record record object to walk
40
+ * @param options collection options
41
+ * @returns array of blob references found
42
+ */
43
+ export declare const collectBlobs: (record: unknown, options?: CollectBlobsOptions) => BlobRef[];
21
44
  //# sourceMappingURL=blob.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../lib/interfaces/blob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,KAAK,IAAI,IAYhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACxD,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,KAAK,IAAI,UAUtD,CAAC"}
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../lib/interfaces/blob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,KAAK,IAAI,IAYhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACxD,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,KAAK,IAAI,UAUtD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IACnC,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,WAAY,OAAO,YAAY,mBAAmB,KAAG,OAAO,EAoDpF,CAAC"}
@@ -17,4 +17,58 @@ export const isLegacyBlob = (input) => {
17
17
  typeof v.mimeType === 'string' &&
18
18
  Object.keys(v).length === 2);
19
19
  };
20
+ /**
21
+ * extracts all blob references from a record object, including in undeclared
22
+ * properties. by default only finds modern blobs; set `allowLegacy` to also
23
+ * include legacy blob formats.
24
+ * @param record record object to walk
25
+ * @param options collection options
26
+ * @returns array of blob references found
27
+ */
28
+ export const collectBlobs = (record, options) => {
29
+ const allowLegacy = options?.allowLegacy === true;
30
+ const blobs = [];
31
+ const stack = [record];
32
+ const visited = new Set();
33
+ while (stack.length > 0) {
34
+ const value = stack.pop();
35
+ if (typeof value !== 'object' || value === null) {
36
+ continue;
37
+ }
38
+ if (visited.has(value)) {
39
+ continue;
40
+ }
41
+ visited.add(value);
42
+ if (Array.isArray(value)) {
43
+ for (let i = value.length - 1; i >= 0; i--) {
44
+ stack.push(value[i]);
45
+ }
46
+ continue;
47
+ }
48
+ if (isBlob(value)) {
49
+ blobs.push({
50
+ cid: value.ref.$link,
51
+ mimeType: value.mimeType,
52
+ size: value.size,
53
+ });
54
+ continue;
55
+ }
56
+ if (allowLegacy && isLegacyBlob(value)) {
57
+ blobs.push({
58
+ cid: value.cid,
59
+ mimeType: value.mimeType,
60
+ size: -1,
61
+ });
62
+ continue;
63
+ }
64
+ const keys = Object.keys(value);
65
+ for (let i = keys.length - 1; i >= 0; i--) {
66
+ const v = value[keys[i]];
67
+ if (v != null) {
68
+ stack.push(v);
69
+ }
70
+ }
71
+ }
72
+ return blobs;
73
+ };
20
74
  //# sourceMappingURL=blob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../lib/interfaces/blob.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAYxD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE;IACvD,MAAM,CAAC,GAAG,KAAY,CAAC;IAEvB,OAAO,CACN,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,CAAC,CAAC,KAAK,KAAK,MAAM;QAClB,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAC3B,CAAC;AACH,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE;IACnE,MAAM,CAAC,GAAG,KAAY,CAAC;IAEvB,OAAO,CACN,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAC3B,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../lib/interfaces/blob.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { isBlob, isLegacyBlob, type Blob, type LegacyBlob } from './blob.ts';
1
+ export { collectBlobs, isBlob, isLegacyBlob, type Blob, type BlobRef, type CollectBlobsOptions, type LegacyBlob, } from './blob.ts';
2
2
  export { isBytes, type Bytes } from './bytes.ts';
3
3
  export { isCidLink, type CidLink } from './cid-link.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,UAAU,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- export { isBlob, isLegacyBlob } from './blob.js';
1
+ export { collectBlobs, isBlob, isLegacyBlob, } from './blob.js';
2
2
  export { isBytes } from './bytes.js';
3
3
  export { isCidLink } from './cid-link.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAA8B,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,MAAM,EACN,YAAY,GAKZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC"}
@@ -68,6 +68,12 @@ export type IssueLeaf = {
68
68
  code: 'invalid_bytes_size';
69
69
  minSize: number;
70
70
  maxSize: number;
71
+ } | {
72
+ code: 'invalid_blob_size';
73
+ maxSize: number;
74
+ } | {
75
+ code: 'invalid_blob_mime_type';
76
+ accept: readonly string[];
71
77
  });
72
78
  export type IssueTree = IssueLeaf | {
73
79
  ok: false;
@@ -124,6 +130,14 @@ export type Issue = {
124
130
  path: Key[];
125
131
  minSize: number;
126
132
  maxSize: number;
133
+ } | {
134
+ code: 'invalid_blob_size';
135
+ path: Key[];
136
+ maxSize: number;
137
+ } | {
138
+ code: 'invalid_blob_mime_type';
139
+ path: Key[];
140
+ accept: readonly string[];
127
141
  };
128
142
  export type Ok<T> = {
129
143
  ok: true;
@@ -141,6 +155,7 @@ declare const kType: unique symbol;
141
155
  type kType = typeof kType;
142
156
  export declare const FLAG_EMPTY = 0;
143
157
  export declare const FLAG_ABORT_EARLY: number;
158
+ export declare const FLAG_STRICT: number;
144
159
  type MatcherResult = undefined | Ok<unknown> | IssueTree;
145
160
  type Matcher = (input: unknown, flags: number) => MatcherResult;
146
161
  type LexStandardSchemaResult<T extends BaseSchema> = StandardSchemaV1.Result<InferOutput<T>>;
@@ -167,9 +182,13 @@ export declare class ValidationError extends Error {
167
182
  get message(): string;
168
183
  get issues(): readonly Issue[];
169
184
  }
170
- export declare const is: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown) => input is InferInput<TSchema>;
171
- export declare const safeParse: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown) => ValidationResult<InferOutput<TSchema>>;
172
- export declare const parse: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown) => InferOutput<TSchema>;
185
+ export interface ValidationOptions {
186
+ /** enable strict blob validation (size, MIME type constraints, reject legacy blobs) */
187
+ strict?: boolean;
188
+ }
189
+ export declare const is: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown, options?: ValidationOptions) => input is InferInput<TSchema>;
190
+ export declare const safeParse: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown, options?: ValidationOptions) => ValidationResult<InferOutput<TSchema>>;
191
+ export declare const parse: <const TSchema extends BaseSchema>(schema: TSchema, input: unknown, options?: ValidationOptions) => InferOutput<TSchema>;
173
192
  export interface BaseConstraint<TType = unknown> {
174
193
  readonly kind: 'constraint';
175
194
  readonly type: string;
@@ -253,6 +272,16 @@ export interface BlobSchema extends BaseSchema<interfaces.Blob | interfaces.Lega
253
272
  readonly type: 'blob';
254
273
  }
255
274
  export declare const blob: () => BlobSchema;
275
+ export interface BlobSizeConstraint<TMaxSize extends number = number> extends BaseConstraint<interfaces.Blob> {
276
+ readonly type: 'blob_size';
277
+ readonly maxSize: TMaxSize;
278
+ }
279
+ export declare const blobSize: <const TMaxSize extends number>(maxSize: TMaxSize) => BlobSizeConstraint<TMaxSize>;
280
+ export interface BlobAcceptConstraint extends BaseConstraint<interfaces.Blob> {
281
+ readonly type: 'blob_accept';
282
+ readonly accept: readonly string[];
283
+ }
284
+ export declare const blobAccept: (accept: readonly string[]) => BlobAcceptConstraint;
256
285
  export interface BytesSchema extends BaseSchema<interfaces.Bytes, interfaces.Bytes> {
257
286
  readonly type: 'bytes';
258
287
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/validations/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/validations/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export const ok = (value) => {
28
28
  export const FLAG_EMPTY = 0;
29
29
  // Don't continue validation if an error is encountered
30
30
  export const FLAG_ABORT_EARLY = 1 << 0;
31
+ // Enable strict blob validation (size, MIME type constraints, reject legacy blobs)
32
+ export const FLAG_STRICT = 1 << 1;
31
33
  // #region Schema runner
32
34
  const cloneIssueWithPath = (issue, path) => {
33
35
  const { ok: _ok, msg: _fmt, ...clone } = issue;
@@ -163,13 +165,21 @@ class ErrImpl {
163
165
  }
164
166
  }
165
167
  // #__NO_SIDE_EFFECTS__
166
- export const is = (schema, input) => {
167
- const r = schema['~run'](input, FLAG_ABORT_EARLY);
168
+ export const is = (schema, input, options) => {
169
+ let flags = FLAG_ABORT_EARLY;
170
+ if (options?.strict) {
171
+ flags |= FLAG_STRICT;
172
+ }
173
+ const r = schema['~run'](input, flags);
168
174
  return r === undefined || r.ok;
169
175
  };
170
176
  // #__NO_SIDE_EFFECTS__
171
- export const safeParse = (schema, input) => {
172
- const r = schema['~run'](input, FLAG_EMPTY);
177
+ export const safeParse = (schema, input, options) => {
178
+ let flags = FLAG_EMPTY;
179
+ if (options?.strict) {
180
+ flags |= FLAG_STRICT;
181
+ }
182
+ const r = schema['~run'](input, flags);
173
183
  if (r === undefined) {
174
184
  return ok(input);
175
185
  }
@@ -178,8 +188,12 @@ export const safeParse = (schema, input) => {
178
188
  }
179
189
  return new ErrImpl(r);
180
190
  };
181
- export const parse = (schema, input) => {
182
- const r = schema['~run'](input, FLAG_EMPTY);
191
+ export const parse = (schema, input, options) => {
192
+ let flags = FLAG_EMPTY;
193
+ if (options?.strict) {
194
+ flags |= FLAG_STRICT;
195
+ }
196
+ const r = schema['~run'](input, flags);
183
197
  if (r === undefined) {
184
198
  return input;
185
199
  }
@@ -540,14 +554,14 @@ const ISSUE_EXPECTED_BLOB = {
540
554
  const BLOB_SCHEMA = {
541
555
  kind: 'schema',
542
556
  type: 'blob',
543
- '~run'(input, _flags) {
557
+ '~run'(input, flags) {
544
558
  if (typeof input !== 'object' || input === null) {
545
559
  return ISSUE_EXPECTED_BLOB;
546
560
  }
547
561
  if (interfaces.isBlob(input)) {
548
562
  return undefined;
549
563
  }
550
- if (interfaces.isLegacyBlob(input)) {
564
+ if (!(flags & FLAG_STRICT) && interfaces.isLegacyBlob(input)) {
551
565
  const blob = {
552
566
  $type: 'blob',
553
567
  mimeType: input.mimeType,
@@ -566,6 +580,71 @@ const BLOB_SCHEMA = {
566
580
  export const blob = () => {
567
581
  return BLOB_SCHEMA;
568
582
  };
583
+ // #__NO_SIDE_EFFECTS__
584
+ export const blobSize = (maxSize) => {
585
+ const issue = {
586
+ ok: false,
587
+ code: 'invalid_blob_size',
588
+ maxSize: maxSize,
589
+ msg() {
590
+ return `blob size must not exceed ${maxSize} bytes`;
591
+ },
592
+ };
593
+ return {
594
+ kind: 'constraint',
595
+ type: 'blob_size',
596
+ maxSize: maxSize,
597
+ '~run'(input, flags) {
598
+ if (!(flags & FLAG_STRICT)) {
599
+ return undefined;
600
+ }
601
+ if (input.size > maxSize) {
602
+ return issue;
603
+ }
604
+ return undefined;
605
+ },
606
+ };
607
+ };
608
+ // #__NO_SIDE_EFFECTS__
609
+ export const blobAccept = (accept) => {
610
+ const normalized = accept.map((p) => p.toLowerCase());
611
+ const issue = {
612
+ ok: false,
613
+ code: 'invalid_blob_mime_type',
614
+ accept: accept,
615
+ msg() {
616
+ return `blob MIME type must match: ${accept.join(', ')}`;
617
+ },
618
+ };
619
+ return {
620
+ kind: 'constraint',
621
+ type: 'blob_accept',
622
+ accept: accept,
623
+ '~run'(input, flags) {
624
+ if (!(flags & FLAG_STRICT)) {
625
+ return undefined;
626
+ }
627
+ const mimeType = input.mimeType.toLowerCase();
628
+ for (let idx = 0, len = normalized.length; idx < len; idx++) {
629
+ const pattern = normalized[idx];
630
+ if (pattern === '*/*') {
631
+ return undefined;
632
+ }
633
+ if (pattern.endsWith('/*')) {
634
+ if (mimeType.startsWith(pattern.slice(0, -1))) {
635
+ return undefined;
636
+ }
637
+ }
638
+ else {
639
+ if (mimeType === pattern) {
640
+ return undefined;
641
+ }
642
+ }
643
+ }
644
+ return issue;
645
+ },
646
+ };
647
+ };
569
648
  const ISSUE_EXPECTED_BYTES = {
570
649
  ok: false,
571
650
  code: 'invalid_type',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/validations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAsEvC,uBAAuB;AACvB,MAAM,UAAU,GAAG,CAAC,IAA2B,EAAE,KAAgB,EAAa,EAAE;IAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,IAAe,EAAa,EAAE;IAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC,CAAC;AAiBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAS,EAAE;IACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAQF,WAAW;AACX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;AAyBvC,wBAAwB;AACxB,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,IAAW,EAAS,EAAE;IACnE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAE/C,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAe,EAAE,IAAI,GAAU,EAAE,EAAE,MAAM,GAAY,EAAE,EAAW,EAAE;IAC1F,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAe,EAAU,EAAE;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,OAAO,KAAK,GAAG,CAAC,CAAC;YAClB,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,GAAiB,EAAU,EAAE;IACnE,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,SAAS,CAAC;YACT,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAC1B,IAA8C,EAC9C,IAAgD,EAChD,GAAW,EACX,GAAW,EACF,EAAE;IACX,IAAI,OAAO,GAAG,YAAY,IAAI,GAAG,CAAC;IAElC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,YAAY,GAAG,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,WAAW,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC;IACzB,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAe,EAAU,EAAE;IACnD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;QACF,CAAC;QAED,MAAM;IACP,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,OAAO,GAAG,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACf,GAAG,IAAI,MAAM,KAAK,kBAAkB,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACvB,IAAI,GAAG,iBAAiB,CAAC;IAE3C,UAAU,CAAY;IAEtB,YAAY,SAAoB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAa,OAAO;QACnB,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACD;AAED,MAAM,OAAO;IACH,EAAE,GAAG,KAAK,CAAC;IAEpB,UAAU,CAAY;IAEtB,YAAY,SAAoB;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACJ,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;CACD;AAED,uBAAuB;AACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CACjB,MAAe,EACf,KAAc,EACiB,EAAE;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAe,EACf,KAAc,EAC2B,EAAE;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,KAA6B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,CAA6B,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,MAAe,EACf,KAAc,EACS,EAAE;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,KAA6B,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,CAAC,CAAC,KAA6B,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,kCAAkC;AAElC,MAAM,qBAAqB,GAAG,CAC7B,IAAe,EACf,IAAI,GAAU,EAAE,EAChB,MAAM,GAA6B,EAAE,EACV,EAAE;IAC7B,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/E,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAA6B,MAAe,EAA8B,EAAE;IACpG,OAAO;QACN,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,CAAC,KAAK;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAE5C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,KAAK,EAAE,KAA6B,EAAE,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAA6B,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAmBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAIxB,IAAW,EACX,WAAyB,EACmB,EAAE;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;IAE/B,OAAO;QACN,GAAG,IAAI;QACP,WAAW,EAAE,WAAW;QACxB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,OAAY,CAAC;YAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACtB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACP,OAAO,MAAM,CAAC;YACf,CAAC;YAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEnD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;wBACV,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;wBAElB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;4BACvC,MAAM,GAAG,CAAC,CAAC;wBACZ,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;4BAC9B,OAAO,CAAC,CAAC;wBACV,CAAC;6BAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;4BAC9C,MAAM,GAAG,CAAC,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAChC,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAgBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoB,KAAQ,EAAoB,EAAE;IACxE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,GAAG;YACF,OAAO,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AASF,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,MAAc,EACc,EAAE;IAC9B,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,MAAM;QAChB,GAAG;YACF,OAAO,YAAY,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,MAAM;QAChB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAaF,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAMrB,CAAC,GAAW,EAAE,GAAG,GAAW,QAAQ,EAA0B,EAAE;IACnE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG;YACF,IAAI,OAAO,GAAG,sBAAsB,CAAC;YAErC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBACjB,OAAO,IAAI,cAAc,GAAG,EAAE,CAAC;gBAChC,CAAC;qBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,IAAI,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,eAAe,GAAG,EAAE,CAAC;gBACjC,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,cAAc,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAgBF,MAAM,iBAAiB,GAAc;IACpC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG;QACF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;CACD,CAAC;AAEF,MAAM,gBAAgB,GAAiB;IACtC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI;IACZ,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,iBAAiB,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,GAA+C,EAAE;IACtE,OAAO,gBAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,gBAAgB,GAAG,CACxB,MAAe,EACf,QAAoC,EACnC,EAAE;IACH,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,MAAM;QAChB,GAAG;YACF,OAAO,cAAc,MAAM,mBAAmB,CAAC;QAChD,CAAC;KACD,CAAC;IAEF,MAAM,MAAM,GAAmC;QAC9C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;IAEF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AAa3F,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAMrB,CAAC,SAAiB,EAAE,SAAS,GAAW,QAAQ,EAA0B,EAAE;IAC/E,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAWF,uBAAuB;AACvB,MAAM,CAAC,MAAM,eAAe,GAMxB,CAAC,YAAoB,EAAE,YAAY,GAAW,QAAQ,EAA6B,EAAE;IACxF,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,0BAA0B;QAChC,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/E,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,mBAAmB,GAAc;IACtC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,MAAM;IAChB,GAAG;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC;AAEF,MAAM,WAAW,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAoB;gBAC7B,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;gBACzB,IAAI,EAAE,CAAC,CAAC;aACR,CAAC;YAEF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,GAAe,EAAE;IACpC,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAQF,MAAM,oBAAoB,GAAc;IACvC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,OAAO;IACjB,GAAG;QACF,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,oBAAoB,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAgB,EAAE;IACtC,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAYF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAMlB,CAAC,OAAe,EAAE,OAAO,GAAW,QAAQ,EAAuB,EAAE;IACxE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,GAAG;YACF,OAAO,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,IAAY,CAAC;YAEjB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;gBAEvB,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxC,KAAK,EAAE,CAAC;gBACT,CAAC;gBACD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACrD,KAAK,EAAE,CAAC;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,uBAAuB,GAAc;IAC1C,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,UAAU;IACpB,GAAG;QACF,OAAO,mBAAmB,CAAC;IAC5B,CAAC;CACD,CAAC;AAEF,MAAM,eAAe,GAAkB;IACtC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,uBAAuB,CAAC;QAChC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAYF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAA2B,OAAc,EAAyB,EAAE;IAC3F,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;QAChB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAyBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAMjB,CAAC,OAAmB,EAAE,YAAkB,EAA4B,EAAE;IACzE,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;gBAEjF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAkB,EAA0C,EAAE;IACvF,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC,CAAC;AAWF,MAAM,gBAAgB,GAAc;IACnC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,OAAO;IACjB,GAAG;QACF,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAA2B,IAA2B,EAAsB,EAAE;IAClG,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE;QAC/B,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,IAAI,IAAI;YACP,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM;YACT,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAElC,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,gBAAgB,CAAC;gBACzB,CAAC;gBAED,IAAI,MAA6B,CAAC;gBAClC,IAAI,MAAyB,CAAC;gBAE9B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAEpC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCAC1B,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;4BACxB,CAAC;4BAED,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;wBACvB,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAEjD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gCAC9B,OAAO,MAAM,CAAC;4BACf,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,MAAM,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAaF,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAMpB,CAAC,SAAiB,EAAE,SAAS,GAAW,QAAQ,EAAyB,EAAE;IAC9E,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAE5B,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAmEF,MAAM,iBAAiB,GAAc;IACpC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG;QACF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;CACD,CAAC;AAEF,MAAM,aAAa,GAAc;IAChC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAe;IACrB,GAAG;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,GAA4B,EAAE,GAAW,EAAE,KAAc,EAAQ,EAAE;IAC/E,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClB,CAAC;AACF,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAkC,KAAa,EAAwB,EAAE;IAC9F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1B,QAAQ,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC;aACxC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,KAAK;YACR,uEAAuE;YACvE,kCAAkC;YAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,MAAM,GAAG,GAAQ,EAAE,CAAC;YAEpB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAa,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM;YACT,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YAEzB,MAAM,gBAAgB,GAAG,GAAY,EAAE;gBACtC,MAAM,MAAM,GAAoB;oBAC/B,CAAC,KAAK,EAAE,EAAE,CAAC;oBACX,CAAC,aAAa,EAAE,UAAU,CAAC;oBAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;iBAC7B,CAAC;gBAEF,IAAI,GAAG,GAAG,gBAAgB,CAAC;gBAE3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAEnC,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;oBAErB,GAAG,IAAI,mBAAmB,MAAM,IAAI,CAAC;oBAErC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,GAAG,IAAI,uBAAuB,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,GAAG,IAAI,wBAAwB,MAAM,WAAW,CAAC;oBAClD,CAAC;oBAED,GAAG,IAAI,cAAc,EAAE,+DAA+D,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,qBAAqB,MAAM,cAAc,CAAC,CAAC,CAAC,yCAAyC,MAAM,sBAAsB,iDAAiD,MAAM,mBAAmB,gBAAgB,iBAAiB,CAAC;oBAEzU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAwB,CAAC;wBAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;wBACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;wBAEpC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;wBAE3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;4BAChC,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC;4BAEvF,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;4BAE7C,GAAG;gCACF,GAAG,KAAK,WAAW;oCAClB,CAAC,CAAC,yBAAyB,MAAM,KAAK,KAAK,GAAG;oCAC9C,CAAC,CAAC,8CAA8C,MAAM,WAAW,KAAK,KAAK,CAAC;wBAC/E,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE9C,GAAG,IAAI,mCAAmC,EAAE,qBAAqB,gBAAgB,gBAAgB,CAAC;oBACnG,CAAC;oBAED,GAAG,IAAI,GAAG,CAAC;gBACZ,CAAC;gBAED,GAAG,IAAI,uEAAuE,CAAC;gBAE/E,MAAM,EAAE,GAAG,IAAI,QAAQ,CACtB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACzC,uCAAuC,GAAG,GAAG,CAC7C,CAAC;gBAEF,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;gBAEpC,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,OAAO,iBAAiB,CAAC;oBAC1B,CAAC;oBAED,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,iBAAiB,CAAC;gBAC1B,CAAC;gBAED,IAAI,MAA6B,CAAC;gBAClC,IAAI,MAA2C,CAAC;gBAEhD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;wBAC/D,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAE3C,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;4BAC9B,OAAO,MAAM,CAAC;wBACf,CAAC;wBAED,SAAS;oBACV,CAAC;oBAED,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAE7C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCAC1B,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;4BACvB,CAAC;4BAED,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAEjD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gCAC9B,OAAO,MAAM,CAAC;4BACf,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,MAAM,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAyBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CACrB,GAAS,EACT,MAAe,EACe,EAAE;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAY,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,GAAG,KAAK,CAAC,KAA8D,CAAC;QAE7E,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,wCAAwC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QAED,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,uCAAuC,CAAC,CAAC;QAExG,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,GAAG;QACR,IAAI,MAAM;YACT,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAsBF,MAAM,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAEhF,MAAM,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAEjF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAMhB,CAAC,OAAwB,EAAE,MAAM,GAAY,KAAK,EAA2B,EAAE;IAClF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,IAAI,MAAM;YACT,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAmB,EAAE,CAAC;YAEnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE3B,IAAI,CAAC,GAAG,KAAK,CAAC,KAA8D,CAAC;gBAE7E,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,qCAAqC,GAAG,gBAAgB,CAAC,CAAC;gBAClF,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACf,CAAC;gBAED,MAAM,CACL,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EACtD,qCAAqC,GAAG,yBAAyB,CACjE,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,KAAK,GAAc;gBACxB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,KAAK;gBACf,GAAG;oBACF,OAAO,YAAY,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjD,CAAC;aACD,CAAC;YAEF,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,iBAAiB,CAAC;gBAC1B,CAAC;gBAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,qBAAqB,CAAC;gBAC9B,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC5C,CAAC;gBAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACxD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBACzB,OAAO,OAAO,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5C,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAmDF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAMxB,IAAW,EACX,OAIC,EACwD,EAAE;IAC3D,kEAAkE;IAElE,mBAAmB,GAAG,IAAI,CAAC;IAE3B,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,KAAK;YACR,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;YAExB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACR,CAAC;oBACZ,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM;YACT,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAEzB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACP,CAAC;oBACb,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAeF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAKpB,IAAW,EACX,OAGC,EAC4C,EAAE;IAC/C,kEAAkE;IAElE,mBAAmB,GAAG,IAAI,CAAC;IAE3B,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,MAAM;YACT,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAEzB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACP,CAAC;gBACd,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAkBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG,CAK3B,IAAW,EACX,OAGC,EACoD,EAAE;IACvD,mEAAmE;IAEnE,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,OAAO;YACV,OAAO,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/validations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AA0EvC,uBAAuB;AACvB,MAAM,UAAU,GAAG,CAAC,IAA2B,EAAE,KAAgB,EAAa,EAAE;IAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,IAAe,EAAa,EAAE;IAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC,CAAC;AAiBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAS,EAAE;IACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAQF,WAAW;AACX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;AACvC,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC;AAyBlC,wBAAwB;AACxB,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,IAAW,EAAS,EAAE;IACnE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAE/C,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAe,EAAE,IAAI,GAAU,EAAE,EAAE,MAAM,GAAY,EAAE,EAAW,EAAE;IAC1F,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAe,EAAU,EAAE;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,OAAO,KAAK,GAAG,CAAC,CAAC;YAClB,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,GAAiB,EAAU,EAAE;IACnE,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,SAAS,CAAC;YACT,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAC1B,IAA8C,EAC9C,IAAgD,EAChD,GAAW,EACX,GAAW,EACF,EAAE;IACX,IAAI,OAAO,GAAG,YAAY,IAAI,GAAG,CAAC;IAElC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,YAAY,GAAG,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,WAAW,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC;IACzB,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAe,EAAU,EAAE;IACnD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;QACF,CAAC;QAED,MAAM;IACP,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,OAAO,GAAG,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACf,GAAG,IAAI,MAAM,KAAK,kBAAkB,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACvB,IAAI,GAAG,iBAAiB,CAAC;IAE3C,UAAU,CAAY;IAEtB,YAAY,SAAoB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAa,OAAO;QACnB,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACD;AAED,MAAM,OAAO;IACH,EAAE,GAAG,KAAK,CAAC;IAEpB,UAAU,CAAY;IAEtB,YAAY,SAAoB;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACJ,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;CACD;AAOD,uBAAuB;AACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CACjB,MAAe,EACf,KAAc,EACd,OAA2B,EACI,EAAE;IACjC,IAAI,KAAK,GAAG,gBAAgB,CAAC;IAC7B,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,IAAI,WAAW,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,MAAe,EACf,KAAc,EACd,OAA2B,EACc,EAAE;IAC3C,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,IAAI,WAAW,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,KAA6B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,CAA6B,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,MAAe,EACf,KAAc,EACd,OAA2B,EACJ,EAAE;IACzB,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,IAAI,WAAW,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,KAA6B,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,CAAC,CAAC,KAA6B,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,kCAAkC;AAElC,MAAM,qBAAqB,GAAG,CAC7B,IAAe,EACf,IAAI,GAAU,EAAE,EAChB,MAAM,GAA6B,EAAE,EACV,EAAE;IAC7B,SAAS,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,CAAC;gBACb,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClB,SAAS;YACV,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjB,SAAS;YACV,CAAC;YACD,SAAS,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/E,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAA6B,MAAe,EAA8B,EAAE;IACpG,OAAO;QACN,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,CAAC,KAAK;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAE5C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,KAAK,EAAE,KAA6B,EAAE,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAA6B,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAmBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAIxB,IAAW,EACX,WAAyB,EACmB,EAAE;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;IAE/B,OAAO;QACN,GAAG,IAAI;QACP,WAAW,EAAE,WAAW;QACxB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,OAAY,CAAC;YAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACtB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACP,OAAO,MAAM,CAAC;YACf,CAAC;YAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEnD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;wBACV,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;wBAElB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;4BACvC,MAAM,GAAG,CAAC,CAAC;wBACZ,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;4BAC9B,OAAO,CAAC,CAAC;wBACV,CAAC;6BAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;4BAC9C,MAAM,GAAG,CAAC,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAChC,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAgBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoB,KAAQ,EAAoB,EAAE;IACxE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,GAAG;YACF,OAAO,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AASF,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,MAAc,EACc,EAAE;IAC9B,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,MAAM;QAChB,GAAG;YACF,OAAO,YAAY,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,MAAM;QAChB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAaF,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAMrB,CAAC,GAAW,EAAE,GAAG,GAAW,QAAQ,EAA0B,EAAE;IACnE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG;YACF,IAAI,OAAO,GAAG,sBAAsB,CAAC;YAErC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBACjB,OAAO,IAAI,cAAc,GAAG,EAAE,CAAC;gBAChC,CAAC;qBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,IAAI,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,eAAe,GAAG,EAAE,CAAC;gBACjC,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,cAAc,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAgBF,MAAM,iBAAiB,GAAc;IACpC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG;QACF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;CACD,CAAC;AAEF,MAAM,gBAAgB,GAAiB;IACtC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI;IACZ,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,iBAAiB,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,GAA+C,EAAE;IACtE,OAAO,gBAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,gBAAgB,GAAG,CACxB,MAAe,EACf,QAAoC,EACnC,EAAE;IACH,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,MAAM;QAChB,GAAG;YACF,OAAO,cAAc,MAAM,mBAAmB,CAAC;QAChD,CAAC;KACD,CAAC;IAEF,MAAM,MAAM,GAAmC;QAC9C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;IAEF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AAa3F,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAMrB,CAAC,SAAiB,EAAE,SAAS,GAAW,QAAQ,EAA0B,EAAE;IAC/E,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAWF,uBAAuB;AACvB,MAAM,CAAC,MAAM,eAAe,GAMxB,CAAC,YAAoB,EAAE,YAAY,GAAW,QAAQ,EAA6B,EAAE;IACxF,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,0BAA0B;QAChC,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/E,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,mBAAmB,GAAc;IACtC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,MAAM;IAChB,GAAG;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC;AAEF,MAAM,WAAW,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,CAAC,KAAK,EAAE,KAAK;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAoB;gBAC7B,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;gBACzB,IAAI,EAAE,CAAC,CAAC;aACR,CAAC;YAEF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,GAAe,EAAE;IACpC,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAWF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAgC,OAAiB,EAAgC,EAAE;IAC1G,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;QAChB,GAAG;YACF,OAAO,6BAA6B,OAAO,QAAQ,CAAC;QACrD,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,IAAK,KAAyB,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAOF,uBAAuB;AACvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAwB,EAAE;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,MAAM;QACd,GAAG;YACF,OAAO,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,MAAM,QAAQ,GAAI,KAAyB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEnE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;oBACvB,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,OAAO,SAAS,CAAC;oBAClB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBAC1B,OAAO,SAAS,CAAC;oBAClB,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAUF,MAAM,oBAAoB,GAAc;IACvC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,OAAO;IACjB,GAAG;QACF,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,oBAAoB,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAgB,EAAE;IACtC,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAYF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAMlB,CAAC,OAAe,EAAE,OAAO,GAAW,QAAQ,EAAuB,EAAE;IACxE,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,GAAG;YACF,OAAO,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,IAAY,CAAC;YAEjB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;gBAEvB,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxC,KAAK,EAAE,CAAC;gBACT,CAAC;gBACD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACrD,KAAK,EAAE,CAAC;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,uBAAuB,GAAc;IAC1C,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,UAAU;IACpB,GAAG;QACF,OAAO,mBAAmB,CAAC;IAC5B,CAAC;CACD,CAAC;AAEF,MAAM,eAAe,GAAkB;IACtC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,uBAAuB,CAAC;QAChC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAYF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAA2B,OAAc,EAAyB,EAAE;IAC3F,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;QAChB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAyBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAMjB,CAAC,OAAmB,EAAE,YAAkB,EAA4B,EAAE;IACzE,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY;QACrB,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;gBAEjF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAkB,EAA0C,EAAE;IACvF,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC,CAAC;AAWF,MAAM,gBAAgB,GAAc;IACnC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,OAAO;IACjB,GAAG;QACF,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAA2B,IAA2B,EAAsB,EAAE;IAClG,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE;QAC/B,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,IAAI,IAAI;YACP,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM;YACT,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAElC,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,gBAAgB,CAAC;gBACzB,CAAC;gBAED,IAAI,MAA6B,CAAC;gBAClC,IAAI,MAAyB,CAAC;gBAE9B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAEpC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCAC1B,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;4BACxB,CAAC;4BAED,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;wBACvB,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAEjD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gCAC9B,OAAO,MAAM,CAAC;4BACf,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,MAAM,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAaF,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAMpB,CAAC,SAAiB,EAAE,SAAS,GAAW,QAAQ,EAAyB,EAAE;IAC9E,MAAM,KAAK,GAAc;QACxB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,GAAG;YACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC;KACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,MAAM,CAAC,KAAK,EAAE,MAAM;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAE5B,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAmEF,MAAM,iBAAiB,GAAc;IACpC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG;QACF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;CACD,CAAC;AAEF,MAAM,aAAa,GAAc;IAChC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAe;IACrB,GAAG;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,GAA4B,EAAE,GAAW,EAAE,KAAc,EAAQ,EAAE;IAC/E,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClB,CAAC;AACF,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAkC,KAAa,EAAwB,EAAE;IAC9F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1B,QAAQ,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC;aACxC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,KAAK;YACR,uEAAuE;YACvE,kCAAkC;YAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,MAAM,GAAG,GAAQ,EAAE,CAAC;YAEpB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAa,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM;YACT,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YAEzB,MAAM,gBAAgB,GAAG,GAAY,EAAE;gBACtC,MAAM,MAAM,GAAoB;oBAC/B,CAAC,KAAK,EAAE,EAAE,CAAC;oBACX,CAAC,aAAa,EAAE,UAAU,CAAC;oBAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;iBAC7B,CAAC;gBAEF,IAAI,GAAG,GAAG,gBAAgB,CAAC;gBAE3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAEnC,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;oBAErB,GAAG,IAAI,mBAAmB,MAAM,IAAI,CAAC;oBAErC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,GAAG,IAAI,uBAAuB,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACP,GAAG,IAAI,wBAAwB,MAAM,WAAW,CAAC;oBAClD,CAAC;oBAED,GAAG,IAAI,cAAc,EAAE,+DAA+D,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,qBAAqB,MAAM,cAAc,CAAC,CAAC,CAAC,yCAAyC,MAAM,sBAAsB,iDAAiD,MAAM,mBAAmB,gBAAgB,iBAAiB,CAAC;oBAEzU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAwB,CAAC;wBAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;wBACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;wBAEpC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;wBAE3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;4BAChC,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC;4BAEvF,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;4BAE7C,GAAG;gCACF,GAAG,KAAK,WAAW;oCAClB,CAAC,CAAC,yBAAyB,MAAM,KAAK,KAAK,GAAG;oCAC9C,CAAC,CAAC,8CAA8C,MAAM,WAAW,KAAK,KAAK,CAAC;wBAC/E,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE9C,GAAG,IAAI,mCAAmC,EAAE,qBAAqB,gBAAgB,gBAAgB,CAAC;oBACnG,CAAC;oBAED,GAAG,IAAI,GAAG,CAAC;gBACZ,CAAC;gBAED,GAAG,IAAI,uEAAuE,CAAC;gBAE/E,MAAM,EAAE,GAAG,IAAI,QAAQ,CACtB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACzC,uCAAuC,GAAG,GAAG,CAC7C,CAAC;gBAEF,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;gBAEpC,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,OAAO,iBAAiB,CAAC;oBAC1B,CAAC;oBAED,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,iBAAiB,CAAC;gBAC1B,CAAC;gBAED,IAAI,MAA6B,CAAC;gBAClC,IAAI,MAA2C,CAAC;gBAEhD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;wBAC/D,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAE3C,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;4BAC9B,OAAO,MAAM,CAAC;wBACf,CAAC;wBAED,SAAS;oBACV,CAAC;oBAED,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAE7C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCAC1B,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;4BACvB,CAAC;4BAED,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACP,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAEjD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gCAC9B,OAAO,MAAM,CAAC;4BACf,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,MAAM,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAyBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CACrB,GAAS,EACT,MAAe,EACe,EAAE;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAY,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,GAAG,KAAK,CAAC,KAA8D,CAAC;QAE7E,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,wCAAwC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QAED,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,uCAAuC,CAAC,CAAC;QAExG,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,GAAG;QACR,IAAI,MAAM;YACT,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,KAAK;YAClB,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAsBF,MAAM,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAEhF,MAAM,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAEjF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAMhB,CAAC,OAAwB,EAAE,MAAM,GAAY,KAAK,EAA2B,EAAE;IAClF,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,IAAI,MAAM;YACT,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAmB,EAAE,CAAC;YAEnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE3B,IAAI,CAAC,GAAG,KAAK,CAAC,KAA8D,CAAC;gBAE7E,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,qCAAqC,GAAG,gBAAgB,CAAC,CAAC;gBAClF,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACf,CAAC;gBAED,MAAM,CACL,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EACtD,qCAAqC,GAAG,yBAAyB,CACjE,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,KAAK,GAAc;gBACxB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,KAAK;gBACf,GAAG;oBACF,OAAO,YAAY,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjD,CAAC;aACD,CAAC;YAEF,MAAM,OAAO,GAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,iBAAiB,CAAC;gBAC1B,CAAC;gBAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,qBAAqB,CAAC;gBAC9B,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC5C,CAAC;gBAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACxD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBACzB,OAAO,OAAO,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5C,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAc;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,GAAG;QACF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD,CAAC;AAEF,MAAM,cAAc,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,MAAM;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW;QACd,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE;IAC1C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAmDF,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAMxB,IAAW,EACX,OAIC,EACwD,EAAE;IAC3D,kEAAkE;IAElE,mBAAmB,GAAG,IAAI,CAAC;IAE3B,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,KAAK;YACR,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;YAExB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACR,CAAC;oBACZ,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM;YACT,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAEzB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACP,CAAC;oBACb,MAAM;gBACP,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAeF,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAKpB,IAAW,EACX,OAGC,EAC4C,EAAE;IAC/C,kEAAkE;IAElE,mBAAmB,GAAG,IAAI,CAAC;IAE3B,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,MAAM;YACT,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAEzB,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,EAAE,CAAC;oBACZ,GAAG,GAAG;wBACL,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,GAAG,CAAC,MAAM;qBACP,CAAC;gBACd,CAAC;YACF,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAkBF,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG,CAK3B,IAAW,EACX,OAGC,EACoD,EAAE;IACvD,mEAAmE;IAEnE,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,OAAO;YACV,OAAO,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -45,3 +45,81 @@ export const isLegacyBlob = (input: unknown): input is LegacyBlob => {
45
45
  Object.keys(v).length === 2
46
46
  );
47
47
  };
48
+
49
+ /**
50
+ * extracted blob reference from a record
51
+ */
52
+ export interface BlobRef {
53
+ /** CID string */
54
+ cid: string;
55
+ mimeType: string;
56
+ /** self-reported size. -1 for legacy blobs */
57
+ size: number;
58
+ }
59
+
60
+ export interface CollectBlobsOptions {
61
+ /** include legacy blob references in results (default: false) */
62
+ allowLegacy?: boolean;
63
+ }
64
+
65
+ /**
66
+ * extracts all blob references from a record object, including in undeclared
67
+ * properties. by default only finds modern blobs; set `allowLegacy` to also
68
+ * include legacy blob formats.
69
+ * @param record record object to walk
70
+ * @param options collection options
71
+ * @returns array of blob references found
72
+ */
73
+ export const collectBlobs = (record: unknown, options?: CollectBlobsOptions): BlobRef[] => {
74
+ const allowLegacy = options?.allowLegacy === true;
75
+ const blobs: BlobRef[] = [];
76
+ const stack: unknown[] = [record];
77
+ const visited = new Set<object>();
78
+
79
+ while (stack.length > 0) {
80
+ const value = stack.pop();
81
+
82
+ if (typeof value !== 'object' || value === null) {
83
+ continue;
84
+ }
85
+ if (visited.has(value)) {
86
+ continue;
87
+ }
88
+ visited.add(value);
89
+
90
+ if (Array.isArray(value)) {
91
+ for (let i = value.length - 1; i >= 0; i--) {
92
+ stack.push(value[i]);
93
+ }
94
+ continue;
95
+ }
96
+
97
+ if (isBlob(value)) {
98
+ blobs.push({
99
+ cid: value.ref.$link,
100
+ mimeType: value.mimeType,
101
+ size: value.size,
102
+ });
103
+ continue;
104
+ }
105
+
106
+ if (allowLegacy && isLegacyBlob(value)) {
107
+ blobs.push({
108
+ cid: value.cid,
109
+ mimeType: value.mimeType,
110
+ size: -1,
111
+ });
112
+ continue;
113
+ }
114
+
115
+ const keys = Object.keys(value);
116
+ for (let i = keys.length - 1; i >= 0; i--) {
117
+ const v = (value as Record<string, unknown>)[keys[i]];
118
+ if (v != null) {
119
+ stack.push(v);
120
+ }
121
+ }
122
+ }
123
+
124
+ return blobs;
125
+ };
@@ -1,3 +1,11 @@
1
- export { isBlob, isLegacyBlob, type Blob, type LegacyBlob } from './blob.ts';
1
+ export {
2
+ collectBlobs,
3
+ isBlob,
4
+ isLegacyBlob,
5
+ type Blob,
6
+ type BlobRef,
7
+ type CollectBlobsOptions,
8
+ type LegacyBlob,
9
+ } from './blob.ts';
2
10
  export { isBytes, type Bytes } from './bytes.ts';
3
11
  export { isCidLink, type CidLink } from './cid-link.ts';
@@ -68,6 +68,8 @@ export type IssueLeaf = { ok: false; msg: IssueFormatter } & (
68
68
  | { code: 'invalid_string_length'; minLength: number; maxLength: number }
69
69
  | { code: 'invalid_array_length'; minLength: number; maxLength: number }
70
70
  | { code: 'invalid_bytes_size'; minSize: number; maxSize: number }
71
+ | { code: 'invalid_blob_size'; maxSize: number }
72
+ | { code: 'invalid_blob_mime_type'; accept: readonly string[] }
71
73
  );
72
74
 
73
75
  export type IssueTree =
@@ -85,7 +87,9 @@ export type Issue =
85
87
  | { code: 'invalid_string_graphemes'; path: Key[]; minGraphemes: number; maxGraphemes: number }
86
88
  | { code: 'invalid_string_length'; path: Key[]; minLength: number; maxLength: number }
87
89
  | { code: 'invalid_array_length'; path: Key[]; minLength: number; maxLength: number }
88
- | { code: 'invalid_bytes_size'; path: Key[]; minSize: number; maxSize: number };
90
+ | { code: 'invalid_bytes_size'; path: Key[]; minSize: number; maxSize: number }
91
+ | { code: 'invalid_blob_size'; path: Key[]; maxSize: number }
92
+ | { code: 'invalid_blob_mime_type'; path: Key[]; accept: readonly string[] };
89
93
 
90
94
  // #__NO_SIDE_EFFECTS__
91
95
  const joinIssues = (left: IssueTree | undefined, right: IssueTree): IssueTree => {
@@ -127,6 +131,8 @@ type kType = typeof kType;
127
131
  export const FLAG_EMPTY = 0;
128
132
  // Don't continue validation if an error is encountered
129
133
  export const FLAG_ABORT_EARLY = 1 << 0;
134
+ // Enable strict blob validation (size, MIME type constraints, reject legacy blobs)
135
+ export const FLAG_STRICT = 1 << 1;
130
136
 
131
137
  type MatcherResult = undefined | Ok<unknown> | IssueTree;
132
138
  type Matcher = (input: unknown, flags: number) => MatcherResult;
@@ -313,12 +319,22 @@ class ErrImpl implements Err {
313
319
  }
314
320
  }
315
321
 
322
+ export interface ValidationOptions {
323
+ /** enable strict blob validation (size, MIME type constraints, reject legacy blobs) */
324
+ strict?: boolean;
325
+ }
326
+
316
327
  // #__NO_SIDE_EFFECTS__
317
328
  export const is = <const TSchema extends BaseSchema>(
318
329
  schema: TSchema,
319
330
  input: unknown,
331
+ options?: ValidationOptions,
320
332
  ): input is InferInput<TSchema> => {
321
- const r = schema['~run'](input, FLAG_ABORT_EARLY);
333
+ let flags = FLAG_ABORT_EARLY;
334
+ if (options?.strict) {
335
+ flags |= FLAG_STRICT;
336
+ }
337
+ const r = schema['~run'](input, flags);
322
338
  return r === undefined || r.ok;
323
339
  };
324
340
 
@@ -326,8 +342,13 @@ export const is = <const TSchema extends BaseSchema>(
326
342
  export const safeParse = <const TSchema extends BaseSchema>(
327
343
  schema: TSchema,
328
344
  input: unknown,
345
+ options?: ValidationOptions,
329
346
  ): ValidationResult<InferOutput<TSchema>> => {
330
- const r = schema['~run'](input, FLAG_EMPTY);
347
+ let flags = FLAG_EMPTY;
348
+ if (options?.strict) {
349
+ flags |= FLAG_STRICT;
350
+ }
351
+ const r = schema['~run'](input, flags);
331
352
 
332
353
  if (r === undefined) {
333
354
  return ok(input as InferOutput<TSchema>);
@@ -343,8 +364,13 @@ export const safeParse = <const TSchema extends BaseSchema>(
343
364
  export const parse = <const TSchema extends BaseSchema>(
344
365
  schema: TSchema,
345
366
  input: unknown,
367
+ options?: ValidationOptions,
346
368
  ): InferOutput<TSchema> => {
347
- const r = schema['~run'](input, FLAG_EMPTY);
369
+ let flags = FLAG_EMPTY;
370
+ if (options?.strict) {
371
+ flags |= FLAG_STRICT;
372
+ }
373
+ const r = schema['~run'](input, flags);
348
374
 
349
375
  if (r === undefined) {
350
376
  return input as InferOutput<TSchema>;
@@ -886,7 +912,7 @@ const ISSUE_EXPECTED_BLOB: IssueLeaf = {
886
912
  const BLOB_SCHEMA: BlobSchema = {
887
913
  kind: 'schema',
888
914
  type: 'blob',
889
- '~run'(input, _flags) {
915
+ '~run'(input, flags) {
890
916
  if (typeof input !== 'object' || input === null) {
891
917
  return ISSUE_EXPECTED_BLOB;
892
918
  }
@@ -895,7 +921,7 @@ const BLOB_SCHEMA: BlobSchema = {
895
921
  return undefined;
896
922
  }
897
923
 
898
- if (interfaces.isLegacyBlob(input)) {
924
+ if (!(flags & FLAG_STRICT) && interfaces.isLegacyBlob(input)) {
899
925
  const blob: interfaces.Blob = {
900
926
  $type: 'blob',
901
927
  mimeType: input.mimeType,
@@ -918,6 +944,94 @@ export const blob = (): BlobSchema => {
918
944
  return BLOB_SCHEMA;
919
945
  };
920
946
 
947
+ // #region Blob constraints
948
+
949
+ export interface BlobSizeConstraint<
950
+ TMaxSize extends number = number,
951
+ > extends BaseConstraint<interfaces.Blob> {
952
+ readonly type: 'blob_size';
953
+ readonly maxSize: TMaxSize;
954
+ }
955
+
956
+ // #__NO_SIDE_EFFECTS__
957
+ export const blobSize = <const TMaxSize extends number>(maxSize: TMaxSize): BlobSizeConstraint<TMaxSize> => {
958
+ const issue: IssueLeaf = {
959
+ ok: false,
960
+ code: 'invalid_blob_size',
961
+ maxSize: maxSize,
962
+ msg() {
963
+ return `blob size must not exceed ${maxSize} bytes`;
964
+ },
965
+ };
966
+
967
+ return {
968
+ kind: 'constraint',
969
+ type: 'blob_size',
970
+ maxSize: maxSize,
971
+ '~run'(input, flags) {
972
+ if (!(flags & FLAG_STRICT)) {
973
+ return undefined;
974
+ }
975
+ if ((input as interfaces.Blob).size > maxSize) {
976
+ return issue;
977
+ }
978
+ return undefined;
979
+ },
980
+ };
981
+ };
982
+
983
+ export interface BlobAcceptConstraint extends BaseConstraint<interfaces.Blob> {
984
+ readonly type: 'blob_accept';
985
+ readonly accept: readonly string[];
986
+ }
987
+
988
+ // #__NO_SIDE_EFFECTS__
989
+ export const blobAccept = (accept: readonly string[]): BlobAcceptConstraint => {
990
+ const normalized = accept.map((p) => p.toLowerCase());
991
+
992
+ const issue: IssueLeaf = {
993
+ ok: false,
994
+ code: 'invalid_blob_mime_type',
995
+ accept: accept,
996
+ msg() {
997
+ return `blob MIME type must match: ${accept.join(', ')}`;
998
+ },
999
+ };
1000
+
1001
+ return {
1002
+ kind: 'constraint',
1003
+ type: 'blob_accept',
1004
+ accept: accept,
1005
+ '~run'(input, flags) {
1006
+ if (!(flags & FLAG_STRICT)) {
1007
+ return undefined;
1008
+ }
1009
+ const mimeType = (input as interfaces.Blob).mimeType.toLowerCase();
1010
+
1011
+ for (let idx = 0, len = normalized.length; idx < len; idx++) {
1012
+ const pattern = normalized[idx];
1013
+
1014
+ if (pattern === '*/*') {
1015
+ return undefined;
1016
+ }
1017
+ if (pattern.endsWith('/*')) {
1018
+ if (mimeType.startsWith(pattern.slice(0, -1))) {
1019
+ return undefined;
1020
+ }
1021
+ } else {
1022
+ if (mimeType === pattern) {
1023
+ return undefined;
1024
+ }
1025
+ }
1026
+ }
1027
+
1028
+ return issue;
1029
+ },
1030
+ };
1031
+ };
1032
+
1033
+ // #endregion
1034
+
921
1035
  // #region IPLD bytes schema
922
1036
 
923
1037
  export interface BytesSchema extends BaseSchema<interfaces.Bytes, interfaces.Bytes> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atcute/lexicons",
3
- "version": "1.2.10",
3
+ "version": "1.3.0",
4
4
  "description": "AT Protocol core lexicon types and schema validations",
5
5
  "license": "0BSD",
6
6
  "repository": {