@builder.io/sdk 1.1.34 → 1.1.36-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/CHANGELOG.md +4 -1
  3. package/coverage/clover.xml +3848 -0
  4. package/coverage/coverage-final.json +19 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +176 -0
  9. package/coverage/lcov-report/prettify.css +1 -0
  10. package/coverage/lcov-report/prettify.js +2 -0
  11. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  12. package/coverage/lcov-report/sorter.js +196 -0
  13. package/coverage/lcov-report/src/builder.class.ts.html +8107 -0
  14. package/coverage/lcov-report/src/classes/animator.class.ts.html +847 -0
  15. package/coverage/lcov-report/src/classes/cookies.class.ts.html +559 -0
  16. package/coverage/lcov-report/src/classes/index.html +176 -0
  17. package/coverage/lcov-report/src/classes/observable.class.ts.html +388 -0
  18. package/coverage/lcov-report/src/classes/promise.class.ts.html +607 -0
  19. package/coverage/lcov-report/src/classes/query-string.class.ts.html +328 -0
  20. package/coverage/lcov-report/src/functions/assign.function.ts.html +139 -0
  21. package/coverage/lcov-report/src/functions/fetch.function.ts.html +427 -0
  22. package/coverage/lcov-report/src/functions/get-top-level-domain.ts.html +121 -0
  23. package/coverage/lcov-report/src/functions/index.html +236 -0
  24. package/coverage/lcov-report/src/functions/next-tick.function.ts.html +184 -0
  25. package/coverage/lcov-report/src/functions/omit.function.ts.html +106 -0
  26. package/coverage/lcov-report/src/functions/server-only-require.function.ts.html +121 -0
  27. package/coverage/lcov-report/src/functions/throttle.function.ts.html +181 -0
  28. package/coverage/lcov-report/src/functions/to-error.ts.html +133 -0
  29. package/coverage/lcov-report/src/functions/uuid.ts.html +136 -0
  30. package/coverage/lcov-report/src/index.html +131 -0
  31. package/coverage/lcov-report/src/polyfills/custom-event-polyfill.js.html +121 -0
  32. package/coverage/lcov-report/src/polyfills/index.html +116 -0
  33. package/coverage/lcov-report/src/types/api-version.ts.html +91 -0
  34. package/coverage/lcov-report/src/types/index.html +116 -0
  35. package/coverage/lcov-report/src/url.ts.html +253 -0
  36. package/coverage/lcov.info +4317 -0
  37. package/dist/index.browser.js +2718 -1
  38. package/dist/index.browser.js.map +1 -1
  39. package/dist/index.cjs.js +88 -39
  40. package/dist/index.cjs.js.map +1 -1
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.esm.js +81 -34
  43. package/dist/index.esm.js.map +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.umd.js +101 -49
  46. package/dist/index.umd.js.map +1 -1
  47. package/dist/package.json +17 -15
  48. package/dist/src/builder.class.d.ts +16 -10
  49. package/dist/src/builder.class.js +58 -8
  50. package/dist/src/builder.class.js.map +1 -1
  51. package/dist/src/builder.class.test.d.ts +1 -0
  52. package/dist/src/builder.class.test.js +23 -0
  53. package/dist/src/builder.class.test.js.map +1 -0
  54. package/dist/src/classes/cookies.class.d.ts +1 -1
  55. package/dist/src/classes/observable.class.d.ts +1 -1
  56. package/dist/src/classes/query-string.class.d.ts +1 -1
  57. package/dist/src/functions/finder.function.d.ts +1 -1
  58. package/dist/src/functions/finder.function.js +1 -1
  59. package/dist/src/functions/next-tick.function.d.ts +2 -1
  60. package/dist/src/functions/server-only-require.function.d.ts +1 -1
  61. package/dist/src/types/api-version.d.ts +2 -0
  62. package/dist/src/types/api-version.js +5 -0
  63. package/dist/src/types/api-version.js.map +1 -0
  64. package/dist/src/types/element.d.ts +2 -2
  65. package/dist/src/url.d.ts +3 -3
  66. package/dist/src/url.test.js +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/jest.config.ts +1 -3
  69. package/package.json +17 -15
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk",
3
- "version": "1.1.34-2",
3
+ "version": "1.1.36-0",
4
4
  "unpkg": "./dist/index.browser.js",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",
@@ -11,21 +11,20 @@
11
11
  },
12
12
  "license": "MIT",
13
13
  "scripts": {
14
- "_unlink": "npm unlink *",
15
- "_install": "npm install",
16
- "docs": "npm run docs:generate && npm run docs:cleanup",
14
+ "_unlink": "yarn unlink *",
15
+ "_install": "yarn install",
16
+ "docs": "yarn run docs:generate && yarn run docs:cleanup",
17
17
  "docs:generate": "typedoc",
18
18
  "docs:cleanup": "node scripts/cleanup-generated-docs",
19
- "build": "npm run tsc && rollup -c",
19
+ "build": "yarn run tsc && rollup -c",
20
20
  "watch": "rollup -cw",
21
- "start": "npm run watch",
21
+ "start": "yarn run watch",
22
22
  "tsc": "tsc --module commonjs",
23
- "release": "npm run build && ALLOW_PUBLISH=true npm publish",
24
- "release:patch": "npm run build && npm version patch && ALLOW_PUBLISH=true npm publish",
25
- "release:patch:nightly": "npm run build && npm version patch && ALLOW_PUBLISH=true npm publish",
26
- "release:dev": "npm run build && npm version prerelease --no-git-tag-version && ALLOW_PUBLISH=true npm publish --tag dev",
27
- "prepublishOnly": "block-publish",
28
- "ci:build": "npm run build",
23
+ "release": "yarn run build && npm publish",
24
+ "release:patch": "yarn run build && yarn version patch && yarn npm publish",
25
+ "release:patch:nightly": "yarn run build && yarn version patch && yarn npm publish",
26
+ "release:dev": "yarn run build && yarn version prerelease --no-git-tag-version && yarn npm publish --tag dev",
27
+ "ci:build": "yarn run build",
29
28
  "test": "jest --color"
30
29
  },
31
30
  "devDependencies": {
@@ -55,17 +54,20 @@
55
54
  "rollup-plugin-node-globals": "^1.3.0",
56
55
  "rollup-plugin-node-resolve": "^3.3.0",
57
56
  "rollup-plugin-sourcemaps": "^0.4.2",
58
- "rollup-plugin-typescript": "^0.8.1",
59
- "rollup-plugin-typescript2": "^0.13.0",
57
+ "rollup-plugin-typescript2": "^0.32.1",
60
58
  "rollup-plugin-uglify": "^3.0.0",
59
+ "ts-node": "^10.9.2",
61
60
  "typedoc": "^0.22.15",
62
61
  "typedoc-plugin-markdown": "^3.12.1",
63
- "typescript": "^4.6.4"
62
+ "typescript": "^4.7.4"
64
63
  },
65
64
  "dependencies": {
66
65
  "hash-sum": "^2.0.0",
67
66
  "node-fetch": "^2.3.0",
68
67
  "tslib": "^1.10.0"
69
68
  },
69
+ "installConfig": {
70
+ "hoistingLimits": "workspaces"
71
+ },
70
72
  "gitHead": "4d96fbc32864698afbb355ab991c6d90be991951"
71
73
  }
@@ -1,4 +1,4 @@
1
- /// <reference types="@types/node" />
1
+ /// <reference types="node" />
2
2
  import './polyfills/custom-event-polyfill';
3
3
  import { IncomingMessage, ServerResponse } from 'http';
4
4
  import { nextTick } from './functions/next-tick.function';
@@ -8,7 +8,8 @@ import { Animator } from './classes/animator.class';
8
8
  import { BuilderElement } from './types/element';
9
9
  import Cookies from './classes/cookies.class';
10
10
  import { BuilderContent } from './types/content';
11
- export declare type Url = any;
11
+ import type { ApiVersion } from './types/api-version';
12
+ export type Url = any;
12
13
  export declare const isReactNative: boolean;
13
14
  export declare const validEnvList: string[];
14
15
  export declare const isBrowser: boolean;
@@ -16,7 +17,7 @@ export declare const isIframe: boolean;
16
17
  export interface ParamsMap {
17
18
  [key: string]: any;
18
19
  }
19
- declare type TrackingHook = (eventData: Event, context: {
20
+ type TrackingHook = (eventData: Event, context: {
20
21
  content?: BuilderContent;
21
22
  [key: string]: any;
22
23
  }) => Event | undefined;
@@ -282,8 +283,9 @@ export interface GetContentOptions {
282
283
  * content thinking they should updates when they actually shouldn't.
283
284
  */
284
285
  noEditorUpdates?: boolean;
286
+ apiVersion?: ApiVersion;
285
287
  }
286
- export declare type Class = {
288
+ export type Class = {
287
289
  name?: string;
288
290
  new (...args: any[]): any;
289
291
  };
@@ -587,8 +589,8 @@ export interface Component {
587
589
  */
588
590
  requiredPermissions?: Array<Permission>;
589
591
  }
590
- declare type Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create';
591
- declare type DeepPartial<T> = {
592
+ type Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create';
593
+ type DeepPartial<T> = {
592
594
  [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : DeepPartial<T[P]>;
593
595
  };
594
596
  export interface InsertMenuItem {
@@ -627,7 +629,7 @@ export interface InsertMenuConfig {
627
629
  items: InsertMenuItem[];
628
630
  }
629
631
  export declare function BuilderComponent(info?: Partial<Component>): (component: Class) => Class;
630
- declare type Settings = any;
632
+ type Settings = any;
631
633
  export interface Action {
632
634
  name: string;
633
635
  inputs?: Input[];
@@ -636,7 +638,7 @@ export interface Action {
636
638
  }
637
639
  export declare class Builder {
638
640
  protected request?: IncomingMessage | undefined;
639
- protected response?: ServerResponse | undefined;
641
+ protected response?: ServerResponse<IncomingMessage> | undefined;
640
642
  /**
641
643
  * @hidden
642
644
  * @deprecated. This is buggy, and always behind by a version.
@@ -657,6 +659,7 @@ export declare class Builder {
657
659
  static throttle: typeof throttle;
658
660
  static editors: any[];
659
661
  static trustedHosts: string[];
662
+ static serverContext: any;
660
663
  static plugins: any[];
661
664
  static actions: Action[];
662
665
  static registry: {
@@ -722,6 +725,9 @@ export declare class Builder {
722
725
  get browserTrackingDisabled(): boolean;
723
726
  get canTrack(): boolean;
724
727
  set canTrack(canTrack: boolean);
728
+ get apiVersion(): ApiVersion | undefined;
729
+ set apiVersion(apiVersion: ApiVersion | undefined);
730
+ private apiVersion$;
725
731
  private canTrack$;
726
732
  private apiKey$;
727
733
  private authToken$;
@@ -768,7 +774,7 @@ export declare class Builder {
768
774
  set apiKey(key: string | null);
769
775
  get authToken(): string | null;
770
776
  set authToken(token: string | null);
771
- constructor(apiKey?: string | null, request?: IncomingMessage | undefined, response?: ServerResponse | undefined, forceNewInstance?: boolean, authToken?: string | null);
777
+ constructor(apiKey?: string | null, request?: IncomingMessage | undefined, response?: ServerResponse<IncomingMessage> | undefined, forceNewInstance?: boolean, authToken?: string | null, apiVersion?: ApiVersion);
772
778
  private modifySearch;
773
779
  setTestsFromUrl(): void;
774
780
  resetOverrides(): void;
@@ -783,7 +789,7 @@ export declare class Builder {
783
789
  [key: string]: boolean;
784
790
  };
785
791
  get defaultCanTrack(): boolean;
786
- init(apiKey: string, canTrack?: boolean, req?: IncomingMessage, res?: ServerResponse, authToken?: string): this;
792
+ init(apiKey: string, canTrack?: boolean, req?: IncomingMessage, res?: ServerResponse, authToken?: string | null, apiVersion?: ApiVersion): this;
787
793
  get previewingModel(): string;
788
794
  getLocation(): Url;
789
795
  getUserAttributes(userAgent?: string): UserAttributes;
@@ -34,6 +34,7 @@ var url_1 = require("./url");
34
34
  var hash_sum_1 = __importDefault(require("hash-sum"));
35
35
  var to_error_1 = require("./functions/to-error");
36
36
  var url_2 = require("./url");
37
+ var api_version_1 = require("./types/api-version");
37
38
  function datePlusMinutes(minutes) {
38
39
  if (minutes === void 0) { minutes = 30; }
39
40
  return new Date(Date.now() + minutes * 60000);
@@ -157,7 +158,7 @@ function BuilderComponent(info) {
157
158
  }
158
159
  exports.BuilderComponent = BuilderComponent;
159
160
  var Builder = /** @class */ (function () {
160
- function Builder(apiKey, request, response, forceNewInstance, authToken) {
161
+ function Builder(apiKey, request, response, forceNewInstance, authToken, apiVersion) {
161
162
  if (apiKey === void 0) { apiKey = null; }
162
163
  if (forceNewInstance === void 0) { forceNewInstance = false; }
163
164
  if (authToken === void 0) { authToken = null; }
@@ -182,6 +183,7 @@ var Builder = /** @class */ (function () {
182
183
  this.overrideParams = '';
183
184
  this.noCache = false;
184
185
  this.preview = false;
186
+ this.apiVersion$ = new observable_class_1.BehaviorSubject(undefined);
185
187
  this.canTrack$ = new observable_class_1.BehaviorSubject(!this.browserTrackingDisabled);
186
188
  this.apiKey$ = new observable_class_1.BehaviorSubject(null);
187
189
  this.authToken$ = new observable_class_1.BehaviorSubject(null);
@@ -221,6 +223,9 @@ var Builder = /** @class */ (function () {
221
223
  if (apiKey) {
222
224
  this.apiKey = apiKey;
223
225
  }
226
+ if (apiVersion) {
227
+ this.apiVersion = apiVersion;
228
+ }
224
229
  if (authToken) {
225
230
  this.authToken = authToken;
226
231
  }
@@ -332,7 +337,11 @@ var Builder = /** @class */ (function () {
332
337
  this.trustedHosts.push(host);
333
338
  };
334
339
  Builder.isTrustedHost = function (hostname) {
335
- return (this.trustedHosts.findIndex(function (trustedHost) { return trustedHost === hostname || hostname.endsWith(".".concat(trustedHost)); }) > -1);
340
+ return (this.trustedHosts.findIndex(function (trustedHost) {
341
+ return trustedHost.startsWith('*.')
342
+ ? hostname.endsWith(trustedHost.slice(1))
343
+ : trustedHost === hostname;
344
+ }) > -1);
336
345
  };
337
346
  Builder.runAction = function (action) {
338
347
  // TODO
@@ -529,6 +538,18 @@ var Builder = /** @class */ (function () {
529
538
  enumerable: false,
530
539
  configurable: true
531
540
  });
541
+ Object.defineProperty(Builder.prototype, "apiVersion", {
542
+ get: function () {
543
+ return this.apiVersion$.value;
544
+ },
545
+ set: function (apiVersion) {
546
+ if (this.apiVersion !== apiVersion) {
547
+ this.apiVersion$.next(apiVersion);
548
+ }
549
+ },
550
+ enumerable: false,
551
+ configurable: true
552
+ });
532
553
  Object.defineProperty(Builder.prototype, "editingMode", {
533
554
  get: function () {
534
555
  return this.editingMode$.value;
@@ -1060,7 +1081,7 @@ var Builder = /** @class */ (function () {
1060
1081
  enumerable: false,
1061
1082
  configurable: true
1062
1083
  });
1063
- Builder.prototype.init = function (apiKey, canTrack, req, res, authToken) {
1084
+ Builder.prototype.init = function (apiKey, canTrack, req, res, authToken, apiVersion) {
1064
1085
  if (canTrack === void 0) { canTrack = this.defaultCanTrack; }
1065
1086
  if (req) {
1066
1087
  this.request = req;
@@ -1073,6 +1094,9 @@ var Builder = /** @class */ (function () {
1073
1094
  if (authToken) {
1074
1095
  this.authToken = authToken;
1075
1096
  }
1097
+ if (apiVersion) {
1098
+ this.apiVersion = apiVersion;
1099
+ }
1076
1100
  return this;
1077
1101
  };
1078
1102
  Object.defineProperty(Builder.prototype, "previewingModel", {
@@ -1155,16 +1179,21 @@ var Builder = /** @class */ (function () {
1155
1179
  if (options === void 0) { options = {}; }
1156
1180
  var instance = this;
1157
1181
  if (!Builder.isBrowser) {
1158
- instance = new Builder(options.apiKey || this.apiKey, options.req, options.res, undefined, options.authToken || this.authToken);
1182
+ instance = new Builder(options.apiKey || this.apiKey, options.req, options.res, undefined, options.authToken || this.authToken, options.apiVersion || this.apiVersion);
1159
1183
  instance.setUserAttributes(this.getUserAttributes());
1160
1184
  }
1161
1185
  else {
1186
+ // NOTE: All these are when .init is not called and the customer
1187
+ // directly calls .get on the singleton instance of Builder
1162
1188
  if (options.apiKey && !this.apiKey) {
1163
1189
  this.apiKey = options.apiKey;
1164
1190
  }
1165
1191
  if (options.authToken && !this.authToken) {
1166
1192
  this.authToken = options.authToken;
1167
1193
  }
1194
+ if (options.apiVersion && !this.apiVersion) {
1195
+ this.apiVersion = options.apiVersion;
1196
+ }
1168
1197
  }
1169
1198
  return instance.queueGetContent(modelName, options).map(
1170
1199
  /* map( */ function (matches) {
@@ -1305,6 +1334,14 @@ var Builder = /** @class */ (function () {
1305
1334
  if (!this.apiKey) {
1306
1335
  throw new Error("Fetching content failed, expected apiKey to be defined instead got: ".concat(this.apiKey));
1307
1336
  }
1337
+ if (this.apiVersion) {
1338
+ if (!['v1', 'v3'].includes(this.apiVersion)) {
1339
+ throw new Error("Invalid apiVersion: expected 'v1' or 'v3', received '".concat(this.apiVersion, "'"));
1340
+ }
1341
+ }
1342
+ else {
1343
+ this.apiVersion = api_version_1.DEFAULT_API_VERSION;
1344
+ }
1308
1345
  if (!usePastQueue && !this.getContentQueue) {
1309
1346
  return;
1310
1347
  }
@@ -1434,7 +1471,9 @@ var Builder = /** @class */ (function () {
1434
1471
  requestOptions.headers = __assign(__assign({}, requestOptions.headers), { Authorization: "Bearer ".concat(this.authToken) });
1435
1472
  }
1436
1473
  var fn = format === 'solid' || format === 'react' ? 'codegen' : 'query';
1437
- var url = "".concat(host, "/api/v1/").concat(fn, "/").concat(this.apiKey, "/").concat(keyNames) +
1474
+ // NOTE: this is a hack to get around the fact that the codegen endpoint is not yet available in v3
1475
+ var apiVersionBasedOnFn = fn === 'query' ? this.apiVersion : 'v1';
1476
+ var url = "".concat(host, "/api/").concat(apiVersionBasedOnFn, "/").concat(fn, "/").concat(this.apiKey, "/").concat(keyNames) +
1438
1477
  (queryParams && hasParams ? "?".concat(queryStr) : '');
1439
1478
  var promise = (0, fetch_function_1.getFetch)()(url, requestOptions)
1440
1479
  .then(function (res) { return res.json(); })
@@ -1564,17 +1603,22 @@ var Builder = /** @class */ (function () {
1564
1603
  if (options === void 0) { options = {}; }
1565
1604
  var instance = this;
1566
1605
  if (!Builder.isBrowser) {
1567
- instance = new Builder(options.apiKey || this.apiKey, options.req, options.res);
1606
+ instance = new Builder(options.apiKey || this.apiKey, options.req, options.res, false, null, options.apiVersion);
1568
1607
  instance.setUserAttributes(this.getUserAttributes());
1569
1608
  }
1570
1609
  else {
1610
+ // NOTE: All these are when .init is not called and the customer
1611
+ // directly calls .get on the singleton instance of Builder
1571
1612
  if (options.apiKey && !this.apiKey) {
1572
1613
  this.apiKey = options.apiKey;
1573
1614
  }
1615
+ if (options.apiVersion && !this.apiVersion) {
1616
+ this.apiVersion = options.apiVersion;
1617
+ }
1574
1618
  }
1575
1619
  return instance
1576
1620
  .getContent(modelName, __assign(__assign({ limit: 30 }, options), { key: options.key ||
1577
- // Make the key include all options so we don't reuse cache for the same conent fetched
1621
+ // Make the key include all options, so we don't reuse cache for the same content fetched
1578
1622
  // with different options
1579
1623
  Builder.isBrowser
1580
1624
  ? "".concat(modelName, ":").concat((0, hash_sum_1.default)((0, omit_function_1.omit)(options, 'initialContent', 'req', 'res')))
@@ -1599,7 +1643,13 @@ var Builder = /** @class */ (function () {
1599
1643
  Builder.nextTick = next_tick_function_1.nextTick;
1600
1644
  Builder.throttle = throttle_function_1.throttle;
1601
1645
  Builder.editors = [];
1602
- Builder.trustedHosts = ['builder.io', 'localhost'];
1646
+ Builder.trustedHosts = [
1647
+ '*.beta.builder.io',
1648
+ 'beta.builder.io',
1649
+ 'builder.io',
1650
+ 'localhost',
1651
+ 'qa.builder.io',
1652
+ ];
1603
1653
  Builder.plugins = [];
1604
1654
  Builder.actions = [];
1605
1655
  Builder.registry = {};
@@ -1 +1 @@
1
- {"version":3,"file":"builder.class.js","sourceRoot":"","sources":["../../src/builder.class.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2C;AAE3C,qEAA0D;AAC1D,mEAA2D;AAC3D,gDAA0C;AAC1C,+DAA6D;AAC7D,6DAA8E;AAC9E,+DAAqD;AACrD,mEAAyD;AACzD,2DAAoD;AAEpD,0EAA8C;AAC9C,2DAAiD;AACjD,yEAAqE;AAErE,yCAAwC;AACxC,6BAA0C;AAE1C,qEAAqE;AACrE,uDAAuD;AACvD,sDAA4B;AAC5B,iDAA+C;AAC/C,6BAA0C;AAI1C,SAAS,eAAe,CAAC,OAAY;IAAZ,wBAAA,EAAA,YAAY;IACnC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,IAAM,gBAAgB,GAAG,UAAC,KAAc;IACtC,OAAA,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAAxD,CAAwD,CAAC;AAE9C,QAAA,aAAa,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa,CAAC;AAErF,QAAA,YAAY,GAAG;IAC1B,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,aAAa;IACb,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;CACX,CAAC;AAEF,SAAS,aAAa,CAAC,GAAW,EAAE,QAAgB;IAClD,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC5C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAM,SAAS,GAAG;IAChB,KAAK,EAAL,UAAM,GAAW;QACf,IAAM,EAAE,GAAsB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAQ,CAAC;QACjE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;QACd,IAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,IAAM,KAAK,GAAG;YACZ,UAAU;YACV,UAAU;YACV,MAAM;YACN,UAAU;YACV,MAAM;YACN,UAAU;YACV,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,MAAM;SACE,CAAC;QAEX,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAM,IAAI,cAAA;YACb,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,qCAAqC;QACrC,mDAAmD;QACnD,IACE,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAChC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B;YACA,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;SACnC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC;AAEF,IAAM,KAAK,GAA6B,qBAAa;IACnD,CAAC,CAAC,cAAM,OAAA,IAAA,cAAQ,GAAE,EAAV,CAAU;IAClB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;QAC5B,CAAC,CAAC,SAAS,CAAC,KAAK;QACjB,CAAC,CAAC,WAAQ,CAAC;AAEb,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAc;IAC5D,IAAI;QACF,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,2CAA2C;QAC3C,IAAI,OAAO,EAAE;YACX,aAAa,GAAG,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;SACtD;QAED,IAAM,MAAM,GAAG,iBAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,QAAQ,CAAC,MAAM;YACb,IAAI;gBACJ,GAAG;gBACH,CAAC,KAAK,IAAI,EAAE,CAAC;gBACb,aAAa;gBACb,UAAU;gBACV,mBAAY,IAAA,wCAAiB,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAE;gBAClD,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC7C;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;KAC3C;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI;QACF,OAAO,CACL,kBAAkB,CAChB,QAAQ,CAAC,MAAM,CAAC,OAAO,CACrB,IAAI,MAAM,CACR,kBAAkB;YAChB,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YACvD,6BAA6B,CAChC,EACD,IAAI,CACL,CACF,IAAI,IAAI,CACV,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;KAC3C;AACH,CAAC;AAED,SAAS,IAAI,CAAC,MAAc;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC;AAED,SAAS,IAAI,CAAU,MAAW,EAAE,QAAwD;IAC1F,IAAM,IAAI,GAAG,MAAM,CAAC;IACpB,2DAA2D;IAC3D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,IAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE;YAC5C,OAAO,OAAO,CAAC;SAChB;KACF;AACH,CAAC;AAED,IAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,IAAM,eAAe,GAAG,kBAAkB,CAAC;AAE9B,QAAA,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,qBAAa,CAAC;AAC5D,QAAA,QAAQ,GAAG,iBAAS,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC;AA6nBhE,SAAgB,gBAAgB,CAAC,IAA6B;IAA7B,qBAAA,EAAA,SAA6B;IAC5D,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAFD,4CAEC;AAYD;IAqtBE,iBACE,MAA4B,EAClB,OAAyB,EACzB,QAAyB,EACnC,gBAAwB,EACxB,SAA+B;QAJ/B,uBAAA,EAAA,aAA4B;QAG5B,iCAAA,EAAA,wBAAwB;QACxB,0BAAA,EAAA,gBAA+B;QALjC,iBAuFC;QArFW,YAAO,GAAP,OAAO,CAAkB;QACzB,aAAQ,GAAR,QAAQ,CAAiB;QAza7B,gBAAW,GAAY,EAAE,CAAC;QAE1B,8BAAyB,GAAG,IAAA,4BAAQ,EAAC;YAC3C,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,4BAA4B;YAC5B,KAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,CAAC,CAAC,CAAC;QAqCN,QAAG,GAAW,YAAY,CAAC;QAE3B,cAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhC,kBAAa,GAAG,IAAI,CAAC;QAErB,sBAAiB,GAAG,CAAC,CAAC;QAEtB,+BAA+B;QAC/B,qBAAgB,GAAG,IAAI,CAAC;QAEhB,YAAO,GAAmB,IAAI,CAAC;QAEvC,2BAA2B;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,mBAAc,GAAG,EAAE,CAAC;QACpB,YAAO,GAAG,KAAK,CAAC;QAChB,YAAO,GAAG,KAAK,CAAC;QAgBhB,cAAS,GAAG,IAAI,kCAAe,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/D,YAAO,GAAG,IAAI,kCAAe,CAAgB,IAAI,CAAC,CAAC;QACnD,eAAU,GAAG,IAAI,kCAAe,CAAgB,IAAI,CAAC,CAAC;QAE9D,0BAAqB,GAAG,IAAI,kCAAe,CAAM,IAAI,CAAC,CAAC;QAYvD,iBAAY,GAAG,IAAI,kCAAe,CAAC,gBAAQ,CAAC,CAAC;QA0C7C,wFAAwF;QACxF,kBAAa,GAAG,IAAI,kCAAe,CAAgB,IAAI,CAAC,CAAC;QAKzD,cAAS,GAAW,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEjF,kBAAa,GAAmB,EAAE,CAAC;QAgGnC,iCAAiC;QACjC,kFAAkF;QAClF,kDAAkD;QAClD,cAAS,GAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QAuExC,cAAS,GAAG,CAAC,OAAO,CAAC,SAAS;YAC5B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACtB,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAqF/E,2BAAsB,GAA2B,EAAE,CAAC;QA+N5C,wBAAmB,GAAG,EAAE,CAAC;QA2MjC,mBAAc,GAAqE,EAAE,CAAC;QACtF,oBAAe,GAA+B,EAAE,CAAC;QAsGvC,cAAS,GAA8B,EAAE,CAAC;QAC1C,iBAAY,GAA8B,EAAE,CAAC;QAE/C,oBAAe,GAA+B,IAAI,CAAC;QACnD,sBAAiB,GAA+B,IAAI,CAAC;QAqarD,qBAAgB,GAAG,eAAe,CAAC;QAkEnC,gBAAW,GAAuB,EAAE,CAAC;QA/9B3C,mGAAmG;QACnG,gDAAgD;QAChD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE;YACvE,OAAO,OAAO,CAAC,iBAAiB,CAAC;SAClC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,CAAC,YAAY,CAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAY,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzD;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QACD,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QACD,IAAI,iBAAS,EAAE;YACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,MAAM,CAAC,WAAW,CAChB;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,OAAO,EAAE,CAAC;yBACX;qBACF;iBACF,EACD,GAAG,CACJ,CAAC;aACH;YACD,iEAAiE;YACjE,8EAA8E;YAC9E,qDAAqD;YACrD,6CAA6C;YAC7C,kDAAkD;YAClD,oDAAoD;YACpD,iCAAiC;YACjC,6DAA6D;YAC7D,WAAW;YACX,uCAAuC;YACvC,IAAI;SACL;QAED,IAAI,gBAAQ,EAAE;YACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QAED,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,KAAU;YAClC,IAAI,KAAK,EAAE;gBACT,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;oBACzC,IAAI;wBACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;4BAC9C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;yBAC3D;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;qBAC7C;iBACF;gBACD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBAC3B,KAAI,CAAC,yBAAyB,EAAE,CAAC;iBAClC;gBACD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBAC3B,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,IAAI;wBAC3B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC7B;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,iBAAS,EAAE;YACb,wEAAwE;YACxE,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,uCAAuC;YACvC,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;IACH,CAAC;IAxwBM,gBAAQ,GAAf,UAAgB,IAAY,EAAE,IAAS;QACrC,+CAA+C;QAC/C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACrC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,IAAM,OAAO,GAAG;gBACd,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE;oBACJ,IAAI,MAAA;oBACJ,IAAI,MAAA;iBACL;aACF,CAAC;YACF,IAAI;gBACF,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjC,IAAI,MAAM,KAAK,MAAM,EAAE;oBACrB,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAClC;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;aAC7C;SACF;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAIM,sBAAc,GAArB,UAAsB,IAAS;QAC7B,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,IAAA,oBAAI,EAAC,IAAI,EAAE,WAAW,CAAC;aAC9B,EACD,GAAG,CACJ,CAAC;YACM,IAAA,QAAQ,GAAK,QAAQ,SAAb,CAAc;YAE9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;gBACpC,OAAO,CAAC,KAAK,CACX,kWAAkW,CACnW,CAAC;aACH;SACF;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,sBAAc,GAArB,UAAsB,IAAS;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,sBAAc,GAArB,UAAsB,MAAc;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEM,2BAAmB,GAA1B,UAA2B,IAAY;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEM,qBAAa,GAApB,UAAqB,QAAgB;QACnC,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,SAAS,CACzB,UAAA,WAAW,IAAI,OAAA,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAI,WAAW,CAAE,CAAC,EAAhE,CAAgE,CAChF,GAAG,CAAC,CAAC,CACP,CAAC;IACJ,CAAC;IAEM,iBAAS,GAAhB,UAAiB,MAAuB;QACtC,OAAO;QACP,IAAM,YAAY,GAChB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,EAApB,CAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzF,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4BAAqB,MAAM,CAAE,CAAC,CAAC;SAChD;IACH,CAAC;IAEM,cAAM,GAAb,UAAc,IAAY,EAAE,MAAe;;QACzC,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE;SACvB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAaD;;;;;OAKG;IACI,WAAG,GAAV,UAAW,QAAkB;QAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEM,cAAM,GAAb,UAAc,WAAmB;QAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACtB,oCAAoC;YACpC,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO;SACR;QACO,IAAA,MAAM,GAAK,MAAa,OAAlB,CAAmB;QAEjC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO;SACR;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,0CAAmC,WAAW,CAAE,CAAC,CAAC;IACzE,CAAC;IAmBD,sBAAW,sBAAW;QAFtB,qBAAqB;aAErB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAED,UAAuB,WAAW;YAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,iBAAS,IAAI,gBAAQ,EAAE;gBACzB,IAAI,WAAW,EAAE;oBACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;iBACrD;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;iBACxD;aACF;QACH,CAAC;;;OAXA;IAac,kCAA0B,GAAzC,UAA0C,IAAe;QACvD,sCACK,IAAI,GACJ,CAAC,IAAI,CAAC,MAAM,IAAI;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAU;;gBACjC,iCAAiC;gBACjC,sDAAsD;gBACtD,gEAAgE;gBAChE,IAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAEvD,KAAkB,UAAuB,EAAvB,mDAAuB,EAAvB,qCAAuB,EAAvB,IAAuB,EAAE;oBAAtC,IAAM,GAAG,gCAAA;oBACZ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;wBAClD,IAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBACtB,KAAK,yBACA,KAAK,gBACP,GAAG,IAAG,kBAAW,EAAE,CAAC,QAAQ,EAAE,6BAA0B,MAC1D,CAAC;qBACH;iBACF;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;SACH,CAAC,KACF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,GAAG;gBACpD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,GAAG,kBAAW,KAAK,CAAC,QAAQ,EAAE,6BAA0B,CAAC;iBACnE;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAA+B,CAAC,EACnC,KAAK,EAAE,SAAS,IAChB;IACJ,CAAC;IAEM,qBAAa,GAApB,UAAqB,SAAc,EAAE,OAAkB;QACrD,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,yBAAiB,GAAxB,UAAyB,SAAc,EAAE,OAAkB;;QACzD,IAAM,IAAI,uBACR,KAAK,EAAE,SAAS,IACb,SAAS,CAAC,cAAc,GACxB,OAAO,CACX,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY;YACnD,CAAC,CAAC,iBAAS,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAC3E,CAAC,CAAC,iBAAS,CAAC;QAChB,IAAI,QAAQ,EAAE;YACZ,IAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACvD,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;gBACE,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,QAAQ;aACf,EACD,GAAG,CACJ,CAAC;SACH;IACH,CAAC;IAEc,oBAAY,GAA3B,UAA4B,SAAoB;QAC9C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAA5B,CAA4B,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE;YACX,0EAA0E;YAC1E,+CAA+C;YAC/C,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBACrC,OAAO;aACR;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;IACH,CAAC;IAED,kDAAkD;IAC3C,iBAAS,GAAhB,UAAiB,IAA6B;QAA9C,iBAqBC;QArBgB,qBAAA,EAAA,SAA6B;QAC5C,OAAO,UAAC,SAAgB;;YACtB,IAAM,IAAI,yBAAQ,IAAI,KAAE,KAAK,EAAE,SAAS,GAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;aAC5B;YACD,KAAI,CAAC,YAAY,CAAC,IAAiB,CAAC,CAAC;YAErC,IAAM,QAAQ,GAAG,KAAI,CAAC,0BAA0B,CAAC,IAAiB,CAAC,CAAC;YACpE,4CAA4C;YAC5C,IAAI,iBAAS,EAAE;gBACb,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;oBACE,IAAI,EAAE,2BAA2B;oBACjC,IAAI,EAAE,QAAQ;iBACf,EACD,GAAG,CACJ,CAAC;aACH;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAID,sBAAW,oBAAS;aAApB;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IAUO,oCAAkB,GAA1B;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5B,OAAO;SACR;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAM,kBAAkB,yBACnB,OAAO,CAAC,sBAAsB,GAC9B,IAAI,CAAC,sBAAsB,CAC/B,CAAC;QACF,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;YAAvB,IAAM,OAAK,eAAA;YACd,IAAI,CAAC,OAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxB,OAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;aAC1B;YACD,IAAI,CAAC,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC7B,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;aAC/B;YACD,MAAM,CAAC,MAAM,CAAC,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvF;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAA,yBAAQ,GAAE,CAAC,UAAG,IAAI,kBAAe,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,MAAM;SACb,CAAC,CAAC,KAAK,CAAC;YACP,2BAA2B;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAqBD,sBAAI,4CAAuB;aAA3B;YACE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAE,MAAc,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAClG,CAAC;;;OAAA;IAED,sBAAI,6BAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC9B,CAAC;aAED,UAAa,QAAQ;YACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;QACH,CAAC;;;OANA;IAcD,sBAAI,gCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACjC,CAAC;aAED,UAAgB,KAAK;YACnB,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;QACH,CAAC;;;OANA;IAUD,sBAAI,iCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,CAAC;aAED,UAAiB,KAAK;YACpB,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;QACH,CAAC;;;OANA;IAQO,mCAAiB,GAAzB,UACE,MAAmB,EACnB,QAA2C,EAC3C,YAAmB;QAAnB,6BAAA,EAAA,mBAAmB;QAEnB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QACD,IAAI,MAAM,GAAuB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC9E,GAAG;YACD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,IAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,OAAO,EAAE;gBACX,OAAO,MAAM,CAAC;aACf;SACF,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mCAAiB,GAAzB,UAA0B,MAAmB;QAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAA,EAAE;YACtC,IAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAKD,8BAAY,GAAZ,UAAa,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;IACnC,CAAC;IAKD;;;;;;;;;;;OAWG;IACH,iCAAe,GAAf,UAAgB,IAAkB;QAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,uBAAK,GAAL,UAAM,SAAiB,EAAE,UAAmC,EAAE,OAAa;QAAlD,2BAAA,EAAA,eAAmC;QAC1D,mIAAmI;QACnI,IAAI,gBAAQ,IAAI,CAAC,iBAAS,IAAI,OAAO,CAAC,YAAY,EAAE;YAClD,OAAO;SACR;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,KAAK,CACX,wOAAwO,CACzO,CAAC;YACF,OAAO;SACR;QAED,IAAI,SAAS,GAAU,IAAI,CAAC,KAAK,CAC/B,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,SAAS;YACf,IAAI,wBACC,IAAA,oBAAI,EAAC,UAAU,EAAE,MAAM,CAAC,KAC3B,QAAQ,sBACN,UAAU,EAAE,OAAO,CAAC,OAAO,EAC3B,GAAG,EAAE,QAAQ,CAAC,IAAI,IACf,UAAU,CAAC,IAAI,GACf,UAAU,CAAC,QAAQ,GAExB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,EACxC,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,GAC1B;SACF,CAAC,CACH,CAAC;QAEF,KAAmB,UAAkB,EAAlB,KAAA,IAAI,CAAC,aAAa,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;YAAlC,IAAM,IAAI,SAAA;YACb,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE;gBACf,SAAS,GAAG,WAAW,CAAC;aACzB;SACF;QAED,eAAe;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,8BAAY,GAAZ;QAAA,iBA4BC;QA3BC,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI;YACF,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;gBAC9D,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;aAC/C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC5C,UAAU;SACX;QAED,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAA,WAAI,GAAE,CAAC;SACpB;QAED,wEAAwE;QACxE,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,UAAU,CAAC;gBACT,IAAI;oBACF,IAAI,KAAI,CAAC,QAAQ,EAAE;wBACjB,KAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;qBACnE;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;iBAC5C;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAOD,8BAAY,GAAZ;QAAA,iBAkCC;QAjCC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI;YACF,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;gBAC5D,wBAAwB;gBACxB,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aACnD;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC1C,UAAU;SACX;QAED,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAA,WAAI,GAAE,CAAC;SACpB;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,wEAAwE;QACxE,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,UAAU,CAAC;gBACT,IAAI;oBACF,IAAI,KAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,SAAS,EAAE;wBACrE,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;qBAClD;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;iBAC7C;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iCAAe,GAAf,UAAgB,SAAiB,EAAE,WAAoB,EAAE,UAAgB,EAAE,OAAa;QACtF,IAAI,gBAAQ,IAAI,CAAC,iBAAS,IAAI,OAAO,CAAC,YAAY,EAAE;YAClD,OAAO;SACR;QACD,8BAA8B;QAC9B,IAAI,CAAC,KAAK,CACR,YAAY,EACZ;YACE,SAAS,WAAA;YACT,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAChE,QAAQ,EAAE,UAAU;SACrB,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAGD,iCAAe,GAAf,UACE,MAAe,EACf,SAAwB,EACxB,WAAoB,EACpB,gBAAsB,EACtB,OAAa;QAEb,IAAI,gBAAQ,IAAI,CAAC,iBAAS,IAAI,OAAO,CAAC,YAAY,EAAE;YAClD,OAAO;SACR;QACD,IAAM,IAAI,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC1E,IAAM,YAAY,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,QAAA,EAAE,WAAW,aAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAQD,sBAAY,qCAAgB;QAD5B,wBAAwB;aACxB;YACE,mDAAmD;YACnD,OAAO,CACL,OAAO,CAAC,QAAQ;gBAChB,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,GAAG,KAAK,YAAY,CAC1B,CAAC;QACJ,CAAC;;;OAAA;IAED,kCAAgB,GAAhB,UACE,SAAiB,EACjB,WAAoB,EACpB,iBAAyB,EACzB,KAAkB,EAClB,OAAa;QAFb,kCAAA,EAAA,yBAAyB;QAIzB,IAAI,gBAAQ,IAAI,CAAC,iBAAS,IAAI,OAAO,CAAC,YAAY,EAAE;YAClD,OAAO;SACR;QACD,IAAM,MAAM,GAAG,KAAK,IAAK,KAAK,CAAC,MAAsB,CAAC;QACtD,IAAM,oBAAoB,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEtE,SAAS,KAAK,CAAC,GAAW;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QAED,IAAM,QAAQ,GAAQ,EAAE,CAAC;QACzB,IAAI,KAAK,EAAE;YACD,IAAA,OAAO,GAAc,KAAK,QAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;YACnC,IAAI,MAAM,EAAE;gBACV,IAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAClD,IAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC1C,IAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAEzC,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAElD,QAAQ,CAAC,YAAY,GAAG;oBACtB,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,MAAM;iBACV,CAAC;aACH;YACD,IAAI,oBAAoB,EAAE;gBACxB,IAAM,UAAU,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,CAAC;gBAChE,IAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC1C,IAAM,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAEzC,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAElD,QAAQ,CAAC,mBAAmB,GAAG;oBAC7B,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,MAAM;iBACV,CAAC;aACH;SACF;QAED,IAAM,SAAS,GACb,oBAAoB;YACpB,CAAC,oBAAoB,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAE/E,IAAI,SAAS,IAAI,oBAAoB,EAAE;YACrC,QAAQ,CAAC,mBAAmB,GAAI,EAAgB,CAAC,KAAK;iBACnD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;iBAChD,OAAO,CAAC,oBAAoB,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,KAAK,CACR,OAAO,EACP;YACE,SAAS,WAAA;YACT,QAAQ,UAAA;YACR,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAChE,MAAM,EAAE,CAAC,iBAAiB;YAC1B,oBAAoB,EAAE,SAAS,IAAI,SAAS;SAC7C,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAMD,2BAAS,GAAT,UAAU,IAA6B;QAA7B,qBAAA,EAAA,SAA6B;QACrC,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,2BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5B,CAAC;aAED,UAAW,GAAkB;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;;;OAJA;IAMD,sBAAI,8BAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC/B,CAAC;aAED,UAAc,KAAoB;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;;;OAJA;IA+FO,8BAAY,GAApB,UAAqB,MAAc;QACjC,OAAO,MAAM,CAAC,OAAO,CACnB,0BAA0B,EAC1B,UAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAK,OAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,EAAxC,CAAwC,CACrE,CAAC;IACJ,CAAC;IAED,iCAAe,GAAf;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QACzC,IAAM,MAAM,GAAG,gCAAW,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;gBACvB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrC;aACF;SACF;IACH,CAAC;IAED,gCAAc,GAAd;QACE,qEAAqE;QACrE,8DAA8D;QAC9D,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,6CAA2B,GAA3B;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAM,MAAM,GAAG,gCAAW,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAA,OAAO,GAAK,MAAM,QAAX,CAAY;QAC3B,IAAI,OAAO,EAAE;YAET,IAAA,cAAc,GAYZ,OAAO,eAZK,EACd,SAAS,GAWP,OAAO,UAXA,EACT,GAAG,GAUD,OAAO,IAVN,EACH,IAAI,GASF,OAAO,KATL,EACJ,GAAG,GAQD,OAAO,IARN,EACH,SAAS,GAOP,OAAO,UAPA,EACT,OAAO,GAML,OAAO,QANF,EACP,OAAO,GAKL,OAAO,QALF,EACP,OAAO,GAIL,OAAO,QAJF,EACP,YAAY,GAGV,OAAO,aAHG,EACZ,OAAO,GAEL,OAAO,QAFF,EACC,cAAc,GACpB,OAAO,OADa,CACZ;YAEZ,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aACxC;YAED,IAAI,OAAO,EAAE;gBACX,sCAAsC;gBACtC,IAAI,CAAC,YAAY,yBACZ,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,GAC9C,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CACjE,CAAC;aACH;YAED,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YAED,IAAI,oBAAY,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;aACvB;YAED,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,IAAM,YAAY,GAAG,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC;gBACxD,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE;oBAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;iBAClC;aACF;YAED,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;YAED,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YAED,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YAED,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;aACtC;SACF;IACH,CAAC;IAEO,oCAAkB,GAA1B;;QACE,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI;aACZ;SACF,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAIO,sCAAoB,GAA5B;QAAA,iBAuMC;QAtMC,IAAI,iBAAS,EAAE;YACb,gBAAgB,CAAC,SAAS,EAAE,UAAA,KAAK;;gBAC/B,IAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAM,YAAY,GAChB,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC,OAAO,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,IAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE;oBAC9B,OAAO;iBACR;gBAEO,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;gBACvB,IAAI,IAAI,EAAE;oBACR,QAAQ,IAAI,CAAC,IAAI,EAAE;wBACjB,KAAK,cAAc,CAAC,CAAC;4BACnB,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,EAAE;6BACT,EACD,GAAG,CACJ,CAAC;4BACF,MAAM;yBACP;wBACD,KAAK,kBAAkB,CAAC,CAAC;4BACvB,oCAAoC;4BACpC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;gCAC3B,MAAM;6BACP;4BACD,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;4BAC1B,IAAI,CAAC,OAAO,EAAE;gCACZ,MAAM;6BACP;4BACO,IAAA,IAAI,GAAW,OAAO,KAAlB,EAAE,IAAI,GAAK,OAAO,KAAZ,CAAa;4BAC/B,+CAA+C;4BAC/C,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACtC,IAAI,CAAC,QAAQ,EAAE;gCACb,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;6BACxC;4BACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACpB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC9C,MAAM;yBACP;wBACD,KAAK,wBAAwB,CAAC,CAAC;4BAC7B,oCAAoC;4BACpC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;gCAC3B,MAAM;6BACP;4BACD,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;4BAC3B,IAAI,CAAC,QAAQ,EAAE;gCACb,MAAM;6BACP;4BACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BAC1C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAC9C,MAAM;yBACP;wBACD,KAAK,wBAAwB,CAAC,CAAC;4BAC7B,oCAAoC;4BACpC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;gCAC3B,MAAM;6BACP;4BACD,IAAM,MAAI,GAAG,IAAI,CAAC,IAAI,CAAC;4BACvB,IAAI,CAAC,MAAI,EAAE;gCACT,MAAM;6BACP;4BACD,IAAM,cAAY,GAAG,CAAC,CAAC,MAAI,CAAC,SAAS,CAAC;4BACtC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAC,QAAQ,EAAE,KAAK;gCACpC,IAAI,MAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;oCAC/B,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,cAAY,EAAE;wCACvC,OAAO,KAAK,CAAC;qCACd;yCAAM;wCACL,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;qCACnC;oCACD,OAAO,KAAK,CAAC;iCACd;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CAAC;4BACH,MAAM;yBACP;wBACD,KAAK,0BAA0B,CAAC,CAAC;4BAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7C,MAAM;yBACP;wBACD,KAAK,uBAAuB;4BAC1B,IAAM,GAAG,GACP,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;4BAC7E,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU;4BAC9C,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;4BAC1C,IAAI,QAAQ,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gCAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;6BAC9B;4BACD,MAAM;wBAER,KAAK,uBAAuB;4BAC1B,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAxC,CAAwC,CAAC;6BAC/E,EACD,GAAG,CACJ,CAAC;4BACF,MAAM;wBAER,KAAK,sBAAsB;4BACzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;4BACpC,MAAM;wBAER,KAAK,2BAA2B;4BAC9B,IAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;4BAChC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;4BACpC,MAAM;wBAER,KAAK,6BAA6B;4BAChC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gCACvC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;6BAC5C;4BACD,MAAM;wBAER,KAAK,qBAAqB;4BACxB,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;4BAC9B,IAAI,WAAW,EAAE;gCACf,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gCACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;6BAChD;iCAAM;gCACL,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gCACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;6BACnD;4BACD,MAAM;wBAER,KAAK,yBAAyB;4BAC5B,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;4BAClC,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;4BACtC,MAAM;wBAER,KAAK,gCAAgC;4BACnC,IAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;4BACjC,IAAA,wBAAM,EAAC,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;4BACvD,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;4BAChC,oBAAoB;4BACpB,MAAM;wBAER,KAAK,2BAA2B;4BACxB,IAAA,KAA6B,IAAI,CAAC,IAAI,EAApC,WAAW,iBAAA,EAAE,SAAS,eAAc,CAAC;4BAC7C,IAAI,WAAW,IAAI,SAAS,EAAE;gCAC5B,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gCAC3C,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;6BACjC;4BACD,MAAM;wBACR,KAAK,kBAAkB,CAAC,CAAC;4BACvB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;4BAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;4BACvC,IAAM,IAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxB,oEAAoE;4BACpE,IAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC9B,IAAI,MAAM,SAAK,CAAC;4BAChB,IAAI,KAAK,GAAiB,IAAI,CAAC;4BAC/B,IAAI;gCACF,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAI,EAAE,IAAI,CAAC,CAAC;6BAC/B;4BAAC,OAAO,GAAG,EAAE;gCACZ,KAAK,GAAG,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC;6BACtB;4BAED,IAAI,KAAK,EAAE;gCACT,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;oCACE,IAAI,EAAE,uBAAuB;oCAC7B,IAAI,EAAE,EAAE,EAAE,MAAA,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;iCACnC,EACD,GAAG,CACJ,CAAC;6BACH;iCAAM;gCACL,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;oCAC9C,MAAuB;yCACrB,IAAI,CAAC,UAAA,WAAW;;wCACf,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;4CACE,IAAI,EAAE,wBAAwB;4CAC9B,IAAI,EAAE,EAAE,EAAE,MAAA,EAAE,MAAM,EAAE,WAAW,EAAE;yCAClC,EACD,GAAG,CACJ,CAAC;oCACJ,CAAC,CAAC;yCACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iCACzB;qCAAM;oCACL,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;wCACE,IAAI,EAAE,wBAAwB;wCAC9B,IAAI,EAAE,EAAE,MAAM,QAAA,EAAE,EAAE,MAAA,EAAE;qCACrB,EACD,GAAG,CACJ,CAAC;iCACH;6BACF;4BACD,MAAM;yBACP;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAKD,sBAAI,oCAAe;aAAnB;YACE,OAAO,OAAO,CACZ,OAAO,CAAC,SAAS;gBACf,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC1B,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CACxB,uIAAuI,CACxI;gBACD,CAAC,IAAI,CAAC,uBAAuB,CAChC,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,GAAJ,UACE,MAAc,EACd,QAA+B,EAC/B,GAAqB,EACrB,GAAoB,EACpB,SAAkB;QAHlB,yBAAA,EAAA,WAAW,IAAI,CAAC,eAAe;QAK/B,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;SACpB;QACD,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAI,oCAAe;aAAnB;YACE,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;YACzC,IAAM,MAAM,GAAG,gCAAW,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;;;OAAA;IAED,uEAAuE;IACvE,6BAAW,GAAX;;QACE,IAAI,cAAc,GAAQ,EAAE,CAAC;QAE7B,cAAc;QACd,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,cAAc,GAAG,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,mCAAI,EAAE,CAAC,CAAC;SAChD;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACvC,iBAAiB;YACjB,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvC;QAED,+CAA+C;QAC/C,wCAAwC;QACxC,IAAI,cAAc,CAAC,QAAQ,KAAK,EAAE,EAAE;YAClC,cAAc,CAAC,QAAQ,GAAG,GAAG,CAAC;SAC/B;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,mCAAiB,GAAjB,UAAkB,SAAgC;QAAhC,0BAAA,EAAA,YAAY,IAAI,CAAC,SAAS,IAAI,EAAE;QAChD,IAAM,QAAQ,GAAG;YACf,OAAO;gBACL,OAAO,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YACD,UAAU;gBACR,OAAO,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;YACD,GAAG;gBACD,OAAO,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC;YACD,KAAK;gBACH,OAAO,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;YACD,OAAO;gBACL,OAAO,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC;YACD,GAAG;gBACD,OAAO,CACL,QAAQ,CAAC,OAAO,EAAE;oBAClB,QAAQ,CAAC,UAAU,EAAE;oBACrB,QAAQ,CAAC,GAAG,EAAE;oBACd,QAAQ,CAAC,KAAK,EAAE;oBAChB,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,IAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,IAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO,WACL,OAAO,EAAE,GAAG,CAAC,QAAQ,EACrB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ;YAC9B,gGAAgG;YAChG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAChE,OAAO,CAAC,sBAAsB,CAChB,CAAC;IACtB,CAAC;IAQD,mCAAiB,GAAjB,UAAkB,OAAe;QAC/B,IAAA,wBAAM,EAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACH,2CAAyB,GAAzB,UAA0B,UAAkB;QAC1C,IAAA,wBAAM,EAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,qBAAG,GAAH,UACE,SAAiB,EACjB,OAKM;QALN,wBAAA,EAAA,YAKM;QAEN,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACtB,QAAQ,GAAG,IAAI,OAAO,CACpB,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAC7B,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,GAAG,EACX,SAAS,EACT,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CACpC,CAAC;YACF,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAC9B;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;aACpC;SACF;QACD,OAAO,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GAAG;QACrD,UAAU,CAAC,UAAC,OAAqB;YAC/B,IAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,OAAO,KAAK,CAAC;aACd;YAED,IAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,IAAI,CAAC;aACb;YAED,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,WAAW,EAAE;gBACjD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO,SAAS,CAAC,YAAY,CAAC;aAC/B;YAED,OAAO;gBACL,yDAAyD;gBACzD,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI;gBAC/D,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI;gBACnE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;gBAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;aACvC,CAAC;QACJ,CAAC,CACF,CAAC;QACF,KAAK;IACP,CAAC;IAED,4BAA4B;IAC5B,iCAAe,GAAf,UAAgB,SAAiB,EAAE,OAA+B;QAAlE,iBA8EC;QA9EkC,wBAAA,EAAA,YAA+B;QAChE,sCAAsC;QACtC,IAAM,GAAG,GACP,OAAO,CAAC,GAAG;YACX,OAAO,CAAC,KAAK;YACb,+EAA+E;YAC/E,mBAAmB;YAEnB,yFAAyF;YACzF,8FAA8F;YAC9F,mFAAmF;YACnF,+DAA+D;YAC/D,cAAc;YACd,kEAAkE;YAClE,oFAAoF;YACpF,SAAS,CAAC;QAEZ,IAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;QAC3D,2CAA2C;QAC3C,IAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAA6C,CAAC;QAE/F,4CAA4C;QAC5C,yCAAyC;QACzC,IAAI;QAEJ,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC7E,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;SAC7B;QAEO,IAAA,cAAc,GAAK,OAAO,eAAZ,CAAa;QAEnC,kCAAkC;QAClC,IAAI,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YACpE,iFAAiF;YACjF,IAAI,iBAAiB,CAAC,KAAK,EAAE;gBAC3B,IAAA,6BAAQ,EAAC;oBACP,oGAAoG;oBACpG,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,iBAAiB,CAAC;SAC1B;QACD,IAAI,kBAAkB,EAAE;YACtB,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;aAC/E;SACF;QACD,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;aAC3B;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,uBAAM,OAAO,KAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAA,IAAG,CAAC;YACjE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACjF,IAAM,OAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAA,6BAAQ,EAAC;oBACP,KAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAK,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAA,6BAAQ,EAAC;oBACP,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;SACF;QAED,IAAM,UAAU,GAAG,IAAI,kCAAe,CAAmB,IAAW,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QACtC,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SAClC;QACD,IAAI,cAAc,EAAE;YAClB,IAAA,6BAAQ,EAAC;gBACP,4CAA4C;gBAC5C,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6GAA6G;IAC7G,gHAAgH;IAChH,+BAA+B;IAC/B,4BAAU,GAAV,UACE,GAAW,EACX,OAAmF;QAEnF,OAAO,IAAA,yBAAQ,GAAE,CAAC,GAAG,EAAE,OAAiC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC,CAAC;IACpF,CAAC;IAED,sBAAI,yBAAI;aAAR;YACE,QAAQ,IAAI,CAAC,GAAG,EAAE;gBAChB,KAAK,IAAI;oBACP,OAAO,uBAAuB,CAAC;gBACjC,KAAK,MAAM;oBACT,OAAO,iCAAiC,CAAC;gBAC3C,KAAK,MAAM;oBACT,OAAO,yBAAyB,CAAC;gBACnC,KAAK,OAAO;oBACV,OAAO,0BAA0B,CAAC;gBACpC,KAAK,MAAM;oBACT,OAAO,yBAAyB,CAAC;gBACnC,KAAK,QAAQ;oBACX,OAAO,2BAA2B,CAAC;gBACrC,KAAK,aAAa,CAAC;gBACnB,KAAK,KAAK;oBACR,OAAO,uBAAuB,CAAC;gBACjC,KAAK,UAAU;oBACb,OAAO,wBAAwB,CAAC;gBAClC;oBACE,OAAO,OAAO,CAAC,YAAY,IAAI,wBAAwB,CAAC;aAC3D;QACH,CAAC;;;OAAA;IAEO,sCAAoB,GAA5B,UAA6B,YAAoB,EAAE,QAA8B;QAAjF,iBAkOC;QAlO4B,6BAAA,EAAA,oBAAoB;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,8EAAuE,IAAI,CAAC,MAAM,CAAE,CACrF,CAAC;SACH;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC1C,OAAO;SACR;QAED,IAAM,KAAK,GAAG,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAE/F,uCAAuC;QACvC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAM,WAAW;YACf,uGAAuG;YACvG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,qBAAqB,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,IAChB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAChB,IAAI,CAAC,YAAY,CACrB,CAAC;QACF,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACnB,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACtC;QACD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACnB,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACtC;QAED,IAAM,eAAe,GACnB,OAAO,QAAQ,KAAK,WAAW;YAC7B,CAAC,CAAC,gCAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;QAEtB,IAAM,cAAc;QAClB,0FAA0F;QAC1F,2FAA2F;QAC3F,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc;YAC9B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc;YACzB,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,CAAC,CAAC;oBACE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ;iBACrC,CAAC;QAER,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,UAAU,EAAjB,CAAiB,CAAC,CAAC;QAC/D,IAAI,gBAAgB,EAAE;YACpB,IAAM,UAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,UAAQ,CAAC,MAAM,EAAE;gBACnB,WAAW,CAAC,GAAG,GAAG,UAAG,UAAQ,CAAC,MAAM,SAAG,UAAQ,CAAC,QAAQ,SAAG,UAAQ,CAAC,MAAM,CAAE,CAAC;aAC9E;SACF;QAED,IAAM,YAAY,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,GAAG,EAAR,CAAQ,CAAC,CAAC;QACtD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,EAAE;YACrB,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD;QACD,sDAAsD;QACtD,kDAAkD;QAClD,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;QAE5C,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAM,SAAS,GACb,IAAI,CAAC,SAAS;YACd,gBAAQ;YACR,eAAe,CAAC,SAAS;YACzB,eAAe,CAAC,mBAAmB,CAAC,CAAC;QAEvC,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,EAAE;YAC1C,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;SAC9B;QAED,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;SAC9B;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,EAAE;YAC7C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACxB,KAAK,IAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACtC,WAAW,CAAC,oBAAa,GAAG,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACvD;aACF;SACF;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,uDAAuD;YACvD,iCAAiC;YACjC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;SAC9B;QAED,KAAsB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAAxB,IAAM,OAAO,cAAA;YAChB,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aACrC;YACD,oCAAoC;YACpC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aACrC;YAED,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;aAC3C;YAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC1C,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;aACjD;YAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBAC/C,WAAW,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;aAC3D;YAED,IAAM,UAAU,GAAgC;gBAC9C,WAAW;gBACX,YAAY;gBACZ,OAAO;gBACP,QAAQ;gBACR,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,QAAQ;aACT,CAAC;YACF,KAAkB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;gBAAzB,IAAM,GAAG,mBAAA;gBACZ,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;oBAC5E,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAChE;aACF;SACF;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9B;QACD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,2CAA2C;QAC3C,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,IAAI,CAAC,GAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAM,MAAM,GAAG,IAAA,oBAAI,EAAC,gCAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAA,wBAAM,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SAC7B;QAED,IAAM,QAAQ,GAAG,gCAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAExD,IAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAElC,IAAM,cAAc,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,cAAc,CAAC,OAAO,yBACjB,cAAc,CAAC,OAAO,KACzB,aAAa,EAAE,iBAAU,IAAI,CAAC,SAAS,CAAE,GAC1C,CAAC;SACH;QAED,IAAM,EAAE,GAAG,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAE1E,IAAM,GAAG,GACP,UAAG,IAAI,qBAAW,EAAE,cAAI,IAAI,CAAC,MAAM,cAAI,QAAQ,CAAE;YACjD,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,WAAI,QAAQ,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnD,IAAM,OAAO,GAAG,IAAA,yBAAQ,GAAE,CAAC,GAAG,EAAE,cAAc,CAAC;aAC5C,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;aACvB,IAAI,CACH,UAAA,MAAM;YACJ,KAAsB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAxB,IAAM,OAAO,cAAA;gBAChB,IAAM,OAAO,GAAG,OAAO,CAAC,GAAI,CAAC;gBAC7B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAC1E,SAAS;iBACV;gBAED,IAAM,kBAAkB,GAAG,KAAI,CAAC,YAAY,KAAK,OAAO,CAAC,KAAK,CAAC;gBAC/D,IAAI,kBAAkB,IAAI,OAAO,CAAC,SAAS,EAAE;oBAC3C,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC9E,UAAU;iBACX;gBACD,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO;iBACR;gBACD,IAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,uCAAuC;gBAC5D,IAAI,IAAI,EAAE;oBACR,IAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ;wBAC1C,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBACpC;qBAAM;oBACL,IAAM,MAAM,GAAG,KAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;oBACzC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE;wBAC/D,IAAM,WAAW,GAAG;4BAClB,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,EAAE;yBACT,CAAC;wBACF,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;qBAC9B;oBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACnB;aACF;QACH,CAAC,EACD,UAAA,GAAG;YACD,KAAsB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAxB,IAAM,OAAO,cAAA;gBAChB,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO;iBACR;gBACD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACrB;QACH,CAAC,CACF,CAAC;QAEJ,OAAO,OAAO,CAAC;IACjB,CAAC;IAIO,wCAAsB,GAA9B,UAA+B,OAAyB;QAAxD,iBA0DC;;QAzDC,IAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,IAAI;YACpC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO,IAAI,CAAC;aACb;YACD,IAAM,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;YACjD,IAAM,eAAe,GAAG,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACtF,IAAI,eAAe,EAAE;gBACnB,6BACK,IAAI,KACP,IAAI,EAAE,eAAe,CAAC,IAAI,EAC1B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,EAC5B,iBAAiB,EAAE,eAAe,CAAC,IAAI,IACvC;aACH;YACD,IAAI,KAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAC7D,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;oBAChC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAE,CAAC;oBACvC,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;oBACtC,CAAC,IAAI,SAAU,CAAC;oBAChB,IAAI,MAAM,GAAG,CAAC,EAAE;wBACd,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAG,EAAE,SAAS,CAAC,EAAG,CAAC,CAAC;wBAC5C,IAAM,aAAa,GACjB,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC1E,6BACK,IAAI,KACP,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,eAAe,EAAE,SAAS,CAAC,EAAE,EAC7B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,aAAa,IAChC;qBACH;iBACF;gBACD,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAG,EAAE,IAAI,CAAC,EAAG,CAAC,CAAC;aACxC;YACD,sCACK,IAAI,KACP,WAAW,EAAE,IAAI,CAAC,EAAE,KACjB,CAAC,IAAI,CAAC,UAAU;gBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;gBACvB,eAAe,EAAE,IAAI,CAAC,EAAE;gBACxB,iBAAiB,EAAE,mBAAmB;aACvC,CAAC,EACJ;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,gBAAQ,EAAE;YACZ,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EACpE,GAAG,CACJ,CAAC;SACH;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,+BAAa,GAArB,UAAsB,SAAiB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAG,IAAI,CAAC,gBAAgB,cAAI,SAAS,CAAE,CAAC,CAAC;IACjE,CAAC;IAIO,+BAAa,GAArB,UAAsB,SAAiB,EAAE,WAAmB;QAC1D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YAChD,OAAO;SACR;QAED,mBAAmB;QACnB,IAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAG,IAAI,CAAC,gBAAgB,cAAI,SAAS,CAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,2BAAS,GAAT,UAAU,IAAY;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC/B;QACD,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,2BAAS,GAAT,UAAU,IAAY,EAAE,KAAU,EAAE,OAAc;QAChD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;gBACnC,OAAO,SAAA;gBACP,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,KAAK,QAAQ;aACjD,CAAC,CAAC;SACJ;QACD,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,4BAAU,GAAV,UAAW,SAAiB,EAAE,OAA+B;QAA/B,wBAAA,EAAA,YAA+B;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,sCAA+B,SAAS,iEAAuD,IAAI,CAAC,MAAM,CAAE,CAC7G,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,wBAAM,GAAN,UACE,SAAiB,EACjB,OAIM;QAJN,wBAAA,EAAA,YAIM;QAEN,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACtB,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAChF,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAC9B;SACF;QAED,OAAO,QAAQ;aACZ,UAAU,CAAC,SAAS,sBACnB,KAAK,EAAE,EAAE,IACN,OAAO,KACV,GAAG,EACD,OAAO,CAAC,GAAG;gBACX,uFAAuF;gBACvF,yBAAyB;gBACzB,OAAO,CAAC,SAAS;gBACf,CAAC,CAAC,UAAG,SAAS,cAAI,IAAA,kBAAI,EAAC,IAAA,oBAAI,EAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE;gBACvE,CAAC,CAAC,SAAS,IACf;aACD,OAAO,EAAE,CAAC;IACf,CAAC;IAlwDD;;;OAGG;IACI,eAAO,GAAG,sBAAO,CAAC;IAElB,kBAAU,GAAgB,EAAE,CAAC;IAEpC;;;;;;OAMG;IACI,gBAAQ,GAAG,IAAI,CAAC;IAChB,gBAAQ,GAAG,IAAI,yBAAQ,EAAE,CAAC;IAE1B,gBAAQ,GAAG,6BAAQ,CAAC;IACpB,gBAAQ,GAAG,4BAAQ,CAAC;IAEpB,eAAO,GAAU,EAAE,CAAC;IACpB,oBAAY,GAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACrD,eAAO,GAAU,EAAE,CAAC;IAEpB,eAAO,GAAa,EAAE,CAAC;IACvB,gBAAQ,GAA6B,EAAE,CAAC;IAoCxC,sBAAc,GAAG,IAAI,kCAAe,CAAC,EAA6B,CAAC,CAAC;IA8D5D,oBAAY,GAAG,KAAK,CAAC;IAE7B,gBAAQ,GAAG,gBAAQ,CAAC;IACpB,iBAAS,GAAG,iBAAS,CAAC;IACtB,qBAAa,GAAG,qBAAa,CAAC;IAC9B,gBAAQ,GAAG,CAAC,iBAAS,IAAI,CAAC,qBAAa,CAAC;IACxC,uBAAe,GAAG,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAEvF,gBAAQ,GAAa,EAAE,CAAC;IACxB,sBAAc,GAAG,IAAI,kCAAe,CAAW,EAAE,CAAC,CAAC;IA2B1D,wFAAwF;IACxF,0GAA0G;IAC1G,uBAAuB;IAChB,iBAAS,GAAG,OAAO,CACxB,gBAAQ;QACN,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3E,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7D,CAAC;IAEK,oBAAY,GAAG,OAAO,CAC3B,iBAAS;QACP,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACjD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7D,CAAC;IA2HK,eAAO,GAAG,KAAK,CAAC;IAoZhB,8BAAsB,GAA4B,EAAE,CAAC;IAukC9D,cAAC;CAAA,AApwDD,IAowDC;AApwDY,0BAAO"}
1
+ {"version":3,"file":"builder.class.js","sourceRoot":"","sources":["../../src/builder.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var builder_class_1 = require("./builder.class");
4
+ describe('Builder', function () {
5
+ test('trustedHosts', function () {
6
+ expect(builder_class_1.Builder.isTrustedHost('localhost')).toBe(true);
7
+ expect(builder_class_1.Builder.isTrustedHost('builder.io')).toBe(true);
8
+ expect(builder_class_1.Builder.isTrustedHost('beta.builder.io')).toBe(true);
9
+ expect(builder_class_1.Builder.isTrustedHost('qa.builder.io')).toBe(true);
10
+ expect(builder_class_1.Builder.isTrustedHost('123-review-build.beta.builder.io')).toBe(true);
11
+ });
12
+ test('arbitrary builder.io subdomains', function () {
13
+ expect(builder_class_1.Builder.isTrustedHost('cdn.builder.io')).toBe(false);
14
+ expect(builder_class_1.Builder.isTrustedHost('foo.builder.io')).toBe(false);
15
+ expect(builder_class_1.Builder.isTrustedHost('evildomainbeta.builder.io')).toBe(false);
16
+ });
17
+ test('add trusted host', function () {
18
+ expect(builder_class_1.Builder.isTrustedHost('example.com')).toBe(false);
19
+ builder_class_1.Builder.registerTrustedHost('example.com');
20
+ expect(builder_class_1.Builder.isTrustedHost('example.com')).toBe(true);
21
+ });
22
+ });
23
+ //# sourceMappingURL=builder.class.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.class.test.js","sourceRoot":"","sources":["../../src/builder.class.test.ts"],"names":[],"mappings":";;AAAA,iDAA0C;AAE1C,QAAQ,CAAC,SAAS,EAAE;IAClB,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE;QACtC,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,uBAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,uBAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- /// <reference types="@types/node" />
1
+ /// <reference types="node" />
2
2
  import { IncomingMessage, ServerResponse } from 'http';
3
3
  interface Options {
4
4
  secure?: boolean;
@@ -1,4 +1,4 @@
1
- export declare type Listener<T> = (value: T) => void;
1
+ export type Listener<T> = (value: T) => void;
2
2
  export declare class Subscription<FunctionType = Function> {
3
3
  private listeners?;
4
4
  private listener?;
@@ -1,4 +1,4 @@
1
- export declare type StringMap = Record<string, string>;
1
+ export type StringMap = Record<string, string>;
2
2
  export declare class QueryString {
3
3
  static parseDeep(queryString: string): any;
4
4
  static stringifyDeep(obj: any): string;
@@ -1,4 +1,4 @@
1
- export declare type Options = {
1
+ export type Options = {
2
2
  root: Element;
3
3
  idName: (name: string) => boolean;
4
4
  className: (name: string) => boolean;
@@ -16,7 +16,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
16
16
  function verb(n) { return function (v) { return step([n, v]); }; }
17
17
  function step(op) {
18
18
  if (f) throw new TypeError("Generator is already executing.");
19
- while (_) try {
19
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
20
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
21
  if (y = 0, t) op = [op[0] & 2, t.value];
22
22
  switch (op[0]) {