@typespec/compiler 0.57.0-dev.8 → 0.58.0-dev.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 (95) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +30 -24
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/generated-defs/TypeSpec.ts-test.js +2 -1
  4. package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -1
  5. package/dist/manifest.js +2 -2
  6. package/dist/src/config/config-schema.d.ts +1 -1
  7. package/dist/src/config/config-schema.d.ts.map +1 -1
  8. package/dist/src/core/charcode.d.ts +4 -1
  9. package/dist/src/core/charcode.d.ts.map +1 -1
  10. package/dist/src/core/charcode.js +4 -4
  11. package/dist/src/core/charcode.js.map +1 -1
  12. package/dist/src/core/checker.d.ts.map +1 -1
  13. package/dist/src/core/checker.js +284 -18
  14. package/dist/src/core/checker.js.map +1 -1
  15. package/dist/src/core/cli/utils.d.ts.map +1 -1
  16. package/dist/src/core/cli/utils.js +1 -0
  17. package/dist/src/core/cli/utils.js.map +1 -1
  18. package/dist/src/core/index.d.ts +1 -0
  19. package/dist/src/core/index.d.ts.map +1 -1
  20. package/dist/src/core/index.js +1 -0
  21. package/dist/src/core/index.js.map +1 -1
  22. package/dist/src/core/linter.d.ts +5 -1
  23. package/dist/src/core/linter.d.ts.map +1 -1
  24. package/dist/src/core/linter.js +32 -13
  25. package/dist/src/core/linter.js.map +1 -1
  26. package/dist/src/core/messages.d.ts +5 -0
  27. package/dist/src/core/messages.d.ts.map +1 -1
  28. package/dist/src/core/messages.js +1 -0
  29. package/dist/src/core/messages.js.map +1 -1
  30. package/dist/src/core/parser.d.ts +11 -2
  31. package/dist/src/core/parser.d.ts.map +1 -1
  32. package/dist/src/core/parser.js +216 -60
  33. package/dist/src/core/parser.js.map +1 -1
  34. package/dist/src/core/program.d.ts.map +1 -1
  35. package/dist/src/core/program.js +4 -2
  36. package/dist/src/core/program.js.map +1 -1
  37. package/dist/src/core/scanner.d.ts +17 -1
  38. package/dist/src/core/scanner.d.ts.map +1 -1
  39. package/dist/src/core/scanner.js +97 -1
  40. package/dist/src/core/scanner.js.map +1 -1
  41. package/dist/src/core/schema-validator.js +1 -1
  42. package/dist/src/core/schema-validator.js.map +1 -1
  43. package/dist/src/core/types.d.ts +103 -50
  44. package/dist/src/core/types.d.ts.map +1 -1
  45. package/dist/src/core/types.js +50 -46
  46. package/dist/src/core/types.js.map +1 -1
  47. package/dist/src/emitter-framework/asset-emitter.js +2 -2
  48. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  49. package/dist/src/emitter-framework/type-emitter.d.ts +1 -1
  50. package/dist/src/emitter-framework/type-emitter.js +1 -1
  51. package/dist/src/formatter/print/printer.d.ts +1 -1
  52. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  53. package/dist/src/formatter/print/printer.js +91 -12
  54. package/dist/src/formatter/print/printer.js.map +1 -1
  55. package/dist/src/init/init-template.d.ts +1 -1
  56. package/dist/src/init/init-template.d.ts.map +1 -1
  57. package/dist/src/lib/decorators.d.ts +2 -1
  58. package/dist/src/lib/decorators.d.ts.map +1 -1
  59. package/dist/src/lib/decorators.js +17 -0
  60. package/dist/src/lib/decorators.js.map +1 -1
  61. package/dist/src/server/classify.d.ts.map +1 -1
  62. package/dist/src/server/classify.js +4 -0
  63. package/dist/src/server/classify.js.map +1 -1
  64. package/dist/src/server/compile-service.d.ts +2 -2
  65. package/dist/src/server/compile-service.d.ts.map +1 -1
  66. package/dist/src/server/compile-service.js +26 -1
  67. package/dist/src/server/compile-service.js.map +1 -1
  68. package/dist/src/server/completion.d.ts +2 -2
  69. package/dist/src/server/completion.d.ts.map +1 -1
  70. package/dist/src/server/completion.js +136 -9
  71. package/dist/src/server/completion.js.map +1 -1
  72. package/dist/src/server/file-system-cache.d.ts +3 -1
  73. package/dist/src/server/file-system-cache.d.ts.map +1 -1
  74. package/dist/src/server/file-system-cache.js +13 -2
  75. package/dist/src/server/file-system-cache.js.map +1 -1
  76. package/dist/src/server/server.js +35 -8
  77. package/dist/src/server/server.js.map +1 -1
  78. package/dist/src/server/serverlib.d.ts.map +1 -1
  79. package/dist/src/server/serverlib.js +13 -31
  80. package/dist/src/server/serverlib.js.map +1 -1
  81. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  82. package/dist/src/server/tmlanguage.js +1 -1
  83. package/dist/src/server/tmlanguage.js.map +1 -1
  84. package/dist/src/server/type-details.js +14 -6
  85. package/dist/src/server/type-details.js.map +1 -1
  86. package/dist/src/server/types.d.ts +9 -3
  87. package/dist/src/server/types.d.ts.map +1 -1
  88. package/dist/src/server/types.js.map +1 -1
  89. package/dist/src/testing/test-server-host.js +2 -2
  90. package/dist/src/testing/test-server-host.js.map +1 -1
  91. package/dist/typespec.tmLanguage +1 -1
  92. package/lib/std/decorators.tsp +6 -0
  93. package/lib/std/types.tsp +12 -0
  94. package/package.json +11 -11
  95. package/templates/scaffolding.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import { DiagnosticHandler } from "./diagnostics.js";
2
- import { SourceFile, TextRange } from "./types.js";
2
+ import { SourceFile, TextRange, TypeSpecScriptNode } from "./types.js";
3
3
  export declare enum Token {
4
4
  None = 0,
5
5
  Invalid = 1,
@@ -145,6 +145,22 @@ export declare function isPunctuation(token: Token): boolean;
145
145
  export declare function isModifier(token: Token): boolean;
146
146
  export declare function isStatementKeyword(token: Token): boolean;
147
147
  export declare function createScanner(source: string | SourceFile, diagnosticHandler: DiagnosticHandler): Scanner;
148
+ /**
149
+ *
150
+ * @param script
151
+ * @param position
152
+ * @param endPosition exclude
153
+ * @returns return === endPosition (or -1) means not found non-trivia until endPosition + 1
154
+ */
155
+ export declare function skipTriviaBackward(script: TypeSpecScriptNode, position: number, endPosition?: number): number;
156
+ /**
157
+ *
158
+ * @param input
159
+ * @param position
160
+ * @param endPosition exclude
161
+ * @returns return === endPosition (or input.length) means not found non-trivia until endPosition - 1
162
+ */
148
163
  export declare function skipTrivia(input: string, position: number, endPosition?: number): number;
149
164
  export declare function skipWhiteSpace(input: string, position: number, endPosition?: number): number;
165
+ export declare function skipContinuousIdentifier(input: string, position: number, isBackward?: boolean): number;
150
166
  //# sourceMappingURL=scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { isAsciiIdentifierContinue, isAsciiIdentifierStart, isBinaryDigit, isDigit, isHexDigit, isIdentifierContinue, isIdentifierStart, isLineBreak, isLowercaseAsciiLetter, isNonAsciiIdentifierCharacter, isNonAsciiWhiteSpaceSingleLine, isWhiteSpace, isWhiteSpaceSingleLine, utf16CodeUnits, } from "./charcode.js";
1
+ import { codePointBefore, isAsciiIdentifierContinue, isAsciiIdentifierStart, isBinaryDigit, isDigit, isHexDigit, isIdentifierContinue, isIdentifierStart, isLineBreak, isLowercaseAsciiLetter, isNonAsciiIdentifierCharacter, isNonAsciiWhiteSpaceSingleLine, isWhiteSpace, isWhiteSpaceSingleLine, utf16CodeUnits, } from "./charcode.js";
2
2
  import { compilerAssert } from "./diagnostics.js";
3
3
  import { createDiagnostic } from "./messages.js";
4
+ import { getCommentAtPosition } from "./parser-utils.js";
4
5
  import { createSourceFile } from "./source-file.js";
5
6
  // All conflict markers consist of the same character repeated seven times. If it is
6
7
  // a <<<<<<< or >>>>>>> marker then it is also followed by a space.
@@ -316,6 +317,8 @@ export function createScanner(source, diagnosticHandler) {
316
317
  return getStringTokenValue(token, tokenFlags);
317
318
  case Token.Identifier:
318
319
  return getIdentifierTokenValue();
320
+ case Token.DocText:
321
+ return getDocTextValue();
319
322
  default:
320
323
  return getTokenText();
321
324
  }
@@ -481,6 +484,9 @@ export function createScanner(source, diagnosticHandler) {
481
484
  // fallthrough
482
485
  case 10 /* CharCode.LineFeed */:
483
486
  return next(Token.NewLine);
487
+ case 92 /* CharCode.Backslash */:
488
+ tokenFlags |= TokenFlags.Escaped;
489
+ return position === endPosition - 1 ? next(Token.DocText) : next(Token.DocText, 2);
484
490
  case 32 /* CharCode.Space */:
485
491
  case 9 /* CharCode.Tab */:
486
492
  case 11 /* CharCode.VerticalTab */:
@@ -775,6 +781,39 @@ export function createScanner(source, diagnosticHandler) {
775
781
  }
776
782
  return text;
777
783
  }
784
+ function getDocTextValue() {
785
+ if (tokenFlags & TokenFlags.Escaped) {
786
+ let start = tokenPosition;
787
+ const end = position;
788
+ let result = "";
789
+ let pos = start;
790
+ while (pos < end) {
791
+ const ch = input.charCodeAt(pos);
792
+ if (ch !== 92 /* CharCode.Backslash */) {
793
+ pos++;
794
+ continue;
795
+ }
796
+ if (pos === end - 1) {
797
+ break;
798
+ }
799
+ result += input.substring(start, pos);
800
+ switch (input.charCodeAt(pos + 1)) {
801
+ case 64 /* CharCode.At */:
802
+ result += "@";
803
+ break;
804
+ default:
805
+ result += input.substring(pos, pos + 2);
806
+ }
807
+ pos += 2;
808
+ start = pos;
809
+ }
810
+ result += input.substring(start, end);
811
+ return result;
812
+ }
813
+ else {
814
+ return input.substring(tokenPosition, position);
815
+ }
816
+ }
778
817
  function findTripleQuotedStringIndent(start, end) {
779
818
  end = end - 3; // Remove the """
780
819
  // remove whitespace before closing delimiter and record it as required
@@ -944,6 +983,8 @@ export function createScanner(source, diagnosticHandler) {
944
983
  return "\\";
945
984
  case 36 /* CharCode.$ */:
946
985
  return "$";
986
+ case 64 /* CharCode.At */:
987
+ return "@";
947
988
  case 96 /* CharCode.Backtick */:
948
989
  return "`";
949
990
  default:
@@ -1060,7 +1101,49 @@ export function createScanner(source, diagnosticHandler) {
1060
1101
  return (token = Token.ConflictMarker);
1061
1102
  }
1062
1103
  }
1104
+ /**
1105
+ *
1106
+ * @param script
1107
+ * @param position
1108
+ * @param endPosition exclude
1109
+ * @returns return === endPosition (or -1) means not found non-trivia until endPosition + 1
1110
+ */
1111
+ export function skipTriviaBackward(script, position, endPosition = -1) {
1112
+ endPosition = endPosition < -1 ? -1 : endPosition;
1113
+ const input = script.file.text;
1114
+ if (position === input.length) {
1115
+ // it's possible if the pos is at the end of the file, just treat it as trivia
1116
+ position--;
1117
+ }
1118
+ else if (position > input.length) {
1119
+ compilerAssert(false, "position out of range");
1120
+ }
1121
+ while (position > endPosition) {
1122
+ const ch = input.charCodeAt(position);
1123
+ if (isWhiteSpace(ch)) {
1124
+ position--;
1125
+ }
1126
+ else {
1127
+ const comment = getCommentAtPosition(script, position);
1128
+ if (comment) {
1129
+ position = comment.pos - 1;
1130
+ }
1131
+ else {
1132
+ break;
1133
+ }
1134
+ }
1135
+ }
1136
+ return position;
1137
+ }
1138
+ /**
1139
+ *
1140
+ * @param input
1141
+ * @param position
1142
+ * @param endPosition exclude
1143
+ * @returns return === endPosition (or input.length) means not found non-trivia until endPosition - 1
1144
+ */
1063
1145
  export function skipTrivia(input, position, endPosition = input.length) {
1146
+ endPosition = endPosition > input.length ? input.length : endPosition;
1064
1147
  while (position < endPosition) {
1065
1148
  const ch = input.charCodeAt(position);
1066
1149
  if (isWhiteSpace(ch)) {
@@ -1110,6 +1193,19 @@ function skipMultiLineComment(input, position, endPosition = input.length) {
1110
1193
  }
1111
1194
  return [position, false];
1112
1195
  }
1196
+ export function skipContinuousIdentifier(input, position, isBackward = false) {
1197
+ let cur = position;
1198
+ const direction = isBackward ? -1 : 1;
1199
+ const bar = isBackward ? (p) => p >= 0 : (p) => p < input.length;
1200
+ while (bar(cur)) {
1201
+ const { char: cp, size } = codePointBefore(input, cur);
1202
+ cur += direction * size;
1203
+ if (!cp || !isIdentifierContinue(cp)) {
1204
+ break;
1205
+ }
1206
+ }
1207
+ return cur;
1208
+ }
1113
1209
  function isConflictMarker(input, position, endPosition = input.length) {
1114
1210
  // Conflict markers must be at the start of a line.
1115
1211
  const ch = input.charCodeAt(position);
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EACzB,sBAAsB,EACtB,aAAa,EACb,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,YAAY,EACZ,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qFAAqF;AACrF,mEAAmE;AACnE,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,MAAM,CAAN,IAAY,KAsIX;AAtID,WAAY,KAAK;IACf,iCAAI,CAAA;IACJ,uCAAO,CAAA;IACP,2CAAS,CAAA;IACT,6CAAU,CAAA;IACV,qDAAc,CAAA;IACd,mDAAa,CAAA;IACb,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,6DAAkB,CAAA;IAClB,qEAAqE;IAErE,+DAA+D;IAC/D,SAAS;IACT,eAAe,CAAC,mDAAa,CAAA;IAE7B,2DAAiC,CAAA;IACjC,0DAAgB,CAAA;IAChB,wCAAO,CAAA;IACP,8CAAU,CAAA;IACV,sDAAc,CAAA;IACd,uBAAuB;IAEvB,gBAAgB,CAAC,gDAAW,CAAA;IAC5B,+DAA+D;IAE/D,+DAA+D;IAC/D,sBAAsB;IACtB,gBAAgB,CAAC,4DAA+B,CAAA;IAChD,wCAA2B,CAAA;IAC3B,gDAAW,CAAA;IACX,oEAAqB,CAAA;IACrB,gBAAgB,CAAC,wDAAe,CAAA;IAChC,+DAA+D;IAE/D,+DAA+D;IAC/D,cAAc;IACd,gBAAgB,CAAC,8DAAoC,CAAA;IAErD,4CAA8B,CAAA;IAC9B,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gCAAG,CAAA;IACH,0CAAQ,CAAA;IACR,4CAAS,CAAA;IACT,oCAAK,CAAA;IACL,0CAAQ,CAAA;IACR,gDAAW,CAAA;IACX,sCAAM,CAAA;IACN,4CAAS,CAAA;IACT,gCAAG,CAAA;IACH,0CAAQ,CAAA;IACR,oCAAK,CAAA;IACL,8CAAU,CAAA;IACV,8BAAE,CAAA;IACF,kCAAI,CAAA;IACJ,kCAAI,CAAA;IACJ,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,kCAAI,CAAA;IACJ,kDAAY,CAAA;IACZ,kCAAI,CAAA;IACJ,sCAAM,CAAA;IACN,gDAAW,CAAA;IACX,sDAAc,CAAA;IACd,4DAAiB,CAAA;IACjB,gEAAmB,CAAA;IACnB,sCAAM,CAAA;IACN,kDAAY,CAAA;IACZ,4DAAiB,CAAA;IACjB,4DAAiB,CAAA;IACjB,4BAA4B;IAE5B,gBAAgB,CAAC,0DAAgB,CAAA;IACjC,+DAA+D;IAE/D,+DAA+D;IAC/D,qBAAqB;IACrB,gBAAgB,CAAC,sDAAiC,CAAA;IAClD,gBAAgB,CAAC,wEAAwC,CAAA;IAEzD,oDAAuC,CAAA;IACvC,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,0DAAgB,CAAA;IAChB,kDAAY,CAAA;IACZ,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,kDAAY,CAAA;IACZ,4DAAiB,CAAA;IACjB,gDAAW,CAAA;IACX,4CAAS,CAAA;IACT,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,kCAAkC;IAElC,gBAAgB,CAAC,oEAAqB,CAAA;IACtC,+DAA+D;IAE/D,+DAA+D;IAE/D,gBAAgB,CAAC,sEAA8C,CAAA;IAE/D,oDAAsC,CAAA;IAEtC,gBAAgB,CAAC,kEAAoB,CAAA;IACrC,+DAA+D;IAE/D,+DAA+D;IAC/D,iBAAiB;IAEjB,sDAAqC,CAAA;IACrC,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,sDAAc,CAAA;IACd,sDAAc,CAAA;IACd,oDAAa,CAAA;IACb,sCAAsC;IAEtC,gBAAgB,CAAC,kDAAY,CAAA;IAC7B,+DAA+D;IAE/D,gBAAgB,CAAC,wCAAsB,CAAA;AACzC,CAAC,EAtIW,KAAK,KAAL,KAAK,QAsIhB;AAqBD,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACpB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1B,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;IAChC,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAChD,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC9C,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACzC,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACzC,CAAC,KAAK,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACvC,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAClD,CAAC,KAAK,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IACtD,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAClD,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1B,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;IAChC,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzD,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;IAC3B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;IACzB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;IAC3B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1B,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;IACjB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACpB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;IAC3B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC;IAC9B,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACnC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC;IAC5B,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;IAChC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACvC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACvC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACzC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC;IAC3B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;CAClC,CAAC,CAAC;AAEH,gBAAgB;AAChB,MAAM,CAAC,MAAM,QAAQ,GAA+B,IAAI,GAAG,CAAC;IAC1D,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;IACrC,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;IACrC,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;IACzB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;CAChC,CAAC,CAAC;AA0EH,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,iDAAgB,CAAA;IAChB,2DAAqB,CAAA;IACrB,2DAAqB,CAAA;IACrB,mDAAiB,CAAA;IACjB,wDAAmB,CAAA;IACnB,wDAAmB,CAAA;AACrB,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,OAAO,KAAK,KAAK,KAAK,CAAC,iBAAiB,IAAI,KAAK,KAAK,KAAK,CAAC,gBAAgB,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,OAAO,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,OAAO,KAAK,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,KAAK,IAAI,KAAK,CAAC,sBAAsB,IAAI,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,OAAO,KAAK,IAAI,KAAK,CAAC,uBAAuB,IAAI,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAA2B,EAC3B,iBAAoC;IAEpC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IACjC,WAAW;IACX,IAAI,QAAQ,GAAG,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,uCAA2B,EAAE,CAAC;QACpF,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa;YACf,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,OAAO;QACP,oBAAoB;QACpB,4BAA4B;QAC5B,qCAAqC;QACrC,GAAG;QACH,YAAY;QACZ,aAAa;KACd,CAAC;IAEF,SAAS,GAAG;QACV,OAAO,QAAQ,IAAI,WAAW,CAAC;IACjC,CAAC;IAED,SAAS,YAAY;QACnB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,aAAa;QACpB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB,CAAC;YAC9B,KAAK,KAAK,CAAC,oBAAoB,CAAC;YAChC,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAChD,KAAK,KAAK,CAAC,UAAU;gBACnB,OAAO,uBAAuB,EAAE,CAAC;YACnC;gBACE,OAAO,YAAY,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,MAAc;QAC/B,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,IAAI;QACX,aAAa,GAAG,QAAQ,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;wBACvC,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,cAAc;gBACd;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B,6BAAoB;gBACpB,0BAAkB;gBAClB,mCAA0B;gBAC1B;oBACE,OAAO,cAAc,EAAE,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,4BAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEzF;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAEjC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAElC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7E;oBACE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,KAAK,EAAE,CAAC;wBACd;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;wBAClC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBACpC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBAEH;oBACE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvE;oBACE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEzE;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE9B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,gCAAuB;wBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;wBACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE5B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,0BAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,0BAAiB;wBACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEtB;oBACE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,qBAAqB,EAAE,CAAC;wBACjC;4BACE,OAAO,oBAAoB,EAAE,CAAC;oBAClC,CAAC;oBAED,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAElC;oBACE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,aAAa,EAAE,CAAC;wBACzB;4BACE,OAAO,gBAAgB,EAAE,CAAC;oBAC9B,CAAC;gBACH,cAAc;gBACd,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB;oBACE,OAAO,UAAU,EAAE,CAAC;gBAEtB;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;wBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE3B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE9B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;wBACrC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,2BAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEjF;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,kCAAyB,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB;wBACnF,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;wBACrC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAElC;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE9B;oBACE,OAAO,wBAAwB,EAAE,CAAC;gBAEpC;oBACE,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,OAAO,uBAAuB,EAAE,CAAC;oBACnC,CAAC;oBACD,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,OAAO,cAAc,EAAE,CAAC;oBAC1B,CAAC;oBACD,IAAI,EAAE,+BAAqB,EAAE,CAAC;wBAC5B,OAAO,oBAAoB,EAAE,CAAC;oBAChC,CAAC;oBACD,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,OAAO;QACd,aAAa,GAAG,QAAQ,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;wBACvC,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,cAAc;gBACd;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B,6BAAoB;gBACpB,0BAAkB;gBAClB,mCAA0B;gBAC1B;oBACE,OAAO,cAAc,EAAE,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAExB;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,+BAAsB,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB;wBAC7E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAExB,gCAAuB;gBACvB,mCAA0B;gBAC1B,8BAAqB;gBACrB;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,EAAE,+BAAqB,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YACxC,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,oBAAoB,CAAC,cAA0B;QACtD,QAAQ,GAAG,aAAa,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,SAAS,CAAI,KAAgB,EAAE,QAAiB;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,gBAAgB,GAAG,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC;QACzB,MAAM,kBAAkB,GAAG,aAAa,CAAC;QACzC,MAAM,eAAe,GAAG,UAAU,CAAC;QAEnC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACnB,aAAa,GAAG,CAAC,CAAC,CAAC;QACnB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAE1B,QAAQ,GAAG,aAAa,CAAC;QACzB,WAAW,GAAG,gBAAgB,CAAC;QAC/B,KAAK,GAAG,UAAU,CAAC;QACnB,aAAa,GAAG,kBAAkB,CAAC;QACnC,UAAU,GAAG,eAAe,CAAC;QAE7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,IAAI,CAAkB,CAAI,EAAE,KAAK,GAAG,CAAC;QAC5C,QAAQ,IAAI,KAAK,CAAC;QAClB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAM,CAAC;IAC1B,CAAC;IAED,SAAS,YAAY,CAAkB,CAAI;QACzC,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC;QACtC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAM,CAAC;IAC1B,CAAC;IAED,SAAS,iBAAiB;QACxB,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,8BAA8B,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,SAAS,oBAAoB;QAC3B,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,WAAW,CAAkB,CAAI;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,KAAK,CAIZ,MAAmE,EACnE,GAAY,EACZ,GAAY;QAEZ,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,GAAG,MAAM;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI,QAAQ,EAAE;SAC3D,CAAC,CAAC;QACV,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,cAAc;QACrB,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAEvE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,gBAAgB;QACvB,QAAQ,EAAE,CAAC,CAAC,gBAAgB;QAC5B,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,UAAU;QACjB,eAAe,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,0BAAiB,EAAE,CAAC;YAC1D,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAe,EAAE,CAAC;YACxD,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,EAAE,2BAAkB,IAAI,EAAE,4BAAmB,EAAE,CAAC;gBAClD,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,kBAAkB,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,eAAe;QACtB,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;IAC1D,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,eAAe,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,aAAa;QACpB,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;QAE9B,IAAI,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAE3D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,gBAAgB;QACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;QAE9B,IAAI,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAE9D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,qBAAqB;QAC5B,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,oBAAoB;QAC3B,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/B,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;YACvC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxE,QAAQ,GAAG,WAAW,CAAC;QACvB,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,eAAe;QACtB,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;gBACrC,sCAA6B;gBAC7B;oBACE,MAAM,IAAI,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,UAAU,CAAC,UAAsB;QACxC,IAAI,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,gBAAgB;QACjC,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAC,CAAC,cAAc;QAC5B,CAAC;QAED,OAAO,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,sBAAsB,CAC7B,UAAsB;QAEtB,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,OAAO,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjG,CAAC;IAED,SAAS,qBAAqB,CAC5B,mBAA+B,EAC/B,QAAW,EACX,IAAO;QAEP,MAAM,SAAS,GAAG,mBAAmB,GAAG,UAAU,CAAC,YAAY,CAAC;QAChE,UAAU,GAAG,mBAAmB,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;oBACjC,QAAQ,EAAE,CAAC;oBACX,IAAI,GAAG,EAAE,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC;oBACb,CAAC;oBACD,SAAS;gBACX;oBACE,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB,EAAE,CAAC;4BACnF,QAAQ,IAAI,CAAC,CAAC;4BACd,KAAK,GAAG,IAAI,CAAC;4BACb,OAAO,IAAI,CAAC;wBACd,CAAC;6BAAM,CAAC;4BACN,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,KAAK,GAAG,IAAI,CAAC;wBACb,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,iCAAuB,EAAE,CAAC;wBACxC,QAAQ,IAAI,CAAC,CAAC;wBACd,KAAK,GAAG,QAAQ,CAAC;wBACjB,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,SAAS;gBACX,sCAA6B;gBAC7B;oBACE,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC;oBACb,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,2BAA2B,CAClC,KAAgD,EAChD,UAAsB;QAEtB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAClE;gBACE,OAAO,CAAC,CAAC,CAAC,IAAI;QAClB,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAChC,KAAgD,EAChD,UAAsB;QAEtB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAClE;gBACE,OAAO,CAAC,CAAC,CAAC,KAAK;QACnB,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,KAAgD,EAChD,UAAsB;QAEtB,IAAI,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,aAAa,CAAC;YAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpF,OAAO,qCAAqC,CAC1C,KAAK,EACL,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,aAAa,GAAG,WAAW,CAAC;QAC1C,MAAM,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;QAEnF,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,uBAAuB;QAC9B,MAAM,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,MAAM,GAAG,GACP,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC;YAC3E,CAAC,CAAC,QAAQ,GAAG,CAAC;YACd,CAAC,CAAC,QAAQ,CAAC;QAEf,MAAM,IAAI,GACR,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE7F,IAAI,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,GAAW;QAC9D,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAChC,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,EAAE,CAAC;QACR,CAAC;QACD,MAAM,gBAAgB,GAAG,GAAG,CAAC;QAE7B,mCAAmC;QACnC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,EAAE,CAAC;QACR,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,qCAAqC,CAC5C,KAAa,EACb,GAAW,EACX,gBAAwB,EACxB,cAAsB,EACtB,KAAgD,EAChD,UAAsB;QAEtB,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;QAC5B,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC;QAEnE,IAAI,KAAK,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACxE,+DAA+D;YAC/D,OAAO,KAAK,GAAG,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtE,KAAK,EAAE,CAAC;YACV,CAAC;YACD,qCAAqC;YACrC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACxE,OAAO,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,EAAE,CAAC;YACR,CAAC;YAED,mCAAmC;YACnC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAChC,GAAG,EAAE,CAAC;gBACR,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,yFAAyF;QACzF,IAAI,KAAK,KAAK,KAAK,CAAC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/E,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,0EAA0E;QAC1E,sBAAsB;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,KAAK,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,EAAE,CAAC;YAEP,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,EAAE,gCAAuB,EAAE,CAAC;oBAC9B,GAAG,EAAE,CAAC;oBACN,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpB,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrD,GAAG,EAAE,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC3B,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;gBACD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;YACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACd,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC5B,iEAAiE;oBACjE,mEAAmE;oBACnE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACtC,MAAM,IAAI,IAAI,CAAC;oBACf,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACN,GAAG,EAAE,CAAC,CAAC,2BAA2B;oBAClC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;gBACD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;QACrD,OAAO,CACL,GAAG,IAAI,KAAK;YACZ,GAAG,GAAG,GAAG,GAAG,CAAC;YACb,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,qCAA4B;YACjD,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,+BAAsB,CAChD,CAAC;IACJ,CAAC;IAED,SAAS,uBAAuB,CAC9B,GAAW,EACX,GAAW,EACX,gBAAwB,EACxB,cAAsB;QAEtB,IAAI,cAAc,GAAG,gBAAgB,CAAC;QACtC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,0DAA0D;gBAC1D,MAAM;YACR,CAAC;YACD,IAAI,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YACD,cAAc,EAAE,CAAC;YACjB,GAAG,EAAE,CAAC;QACR,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW;QAChD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,EAAE,gCAAuB,EAAE,CAAC;gBAC9B,GAAG,EAAE,CAAC;gBACN,SAAS;YACX,CAAC;YAED,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,IAAI,CAAC,CAAC;YACT,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,WAAW,CAAC,GAAW;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,EAAE,CAAC;YACX;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS,uBAAuB;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,CAAC;YAER,IAAI,GAAG,EAAE,EAAE,CAAC;gBACV,MAAM;YACR,CAAC;YAED,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,KAAK,kCAAyB,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YAED,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,EAAE,8BAAoB,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;gBACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM;QACR,CAAC;QAED,IAAI,KAAK,kCAA0B,IAAI,KAAK,mCAA0B,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,cAAc;QACrB,IAAI,EAAU,CAAC;QAEf,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;YACX,IAAI,GAAG,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,QAAQ,yBAAyB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAEvE,IAAI,EAAE,8BAAoB,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,wBAAwB;QAC/B,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QAEpC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;oBACjC,SAAS;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,sCAA6B;gBAC7B;oBACE,MAAM,IAAI,CAAC;gBACb;oBACE,IAAI,EAAE,8BAAoB,EAAE,CAAC;wBAC3B,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;oBACpC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,sBAAsB,CAAC,cAAsB;QACpD,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;QAClC,IAAI,EAAE,GAAG,cAAc,CAAC;QACxB,GAAG,CAAC;YACF,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,oBAAoB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC,CAAC,EAAE;QAE9E,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,gBAAgB;QACvB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,kBAAkB;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,QAAQ,IAAI,yBAAyB,CAAC;QACtC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEnC,IAAI,MAAM,+BAAsB,IAAI,MAAM,kCAAyB,EAAE,CAAC;YACpE,qEAAqE;YACrE,OAAO,QAAQ,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC1E,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,6DAA6D;YAC7D,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtC,IACE,CAAC,EAAE,6BAAoB,IAAI,EAAE,kCAAyB,CAAC;oBACvD,EAAE,KAAK,MAAM;oBACb,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC9C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM;IACpF,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,EAAE,4BAAmB,EAAE,CAAC;YAC1B,QAAQ,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvC;oBACE,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC/D,SAAS;gBACX;oBACE,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,SAAS;YACb,CAAC;QACH,CAAC;QAED,MAAM;IACR,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM;QACR,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;IAE9B,OAAO,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;IAE9B,OAAO,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1C,IACE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,+BAAsB;YAChD,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,4BAAmB,EACjD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM;IACnF,mDAAmD;IACnD,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,GAAG,yBAAyB,GAAG,WAAW,EAAE,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,CACL,EAAE,6BAAoB;gBACtB,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,yBAAyB,CAAC,4BAAmB,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA0B;IACtD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACvC,cAAc,CACZ,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,EACnC,yCAAyC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAC9E,CAAC;QACF,cAAc,CACZ,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,+CAA+C,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CACpF,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,yCAAyC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,aAAa,EACb,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,YAAY,EACZ,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qFAAqF;AACrF,mEAAmE;AACnE,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,MAAM,CAAN,IAAY,KAsIX;AAtID,WAAY,KAAK;IACf,iCAAI,CAAA;IACJ,uCAAO,CAAA;IACP,2CAAS,CAAA;IACT,6CAAU,CAAA;IACV,qDAAc,CAAA;IACd,mDAAa,CAAA;IACb,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,6DAAkB,CAAA;IAClB,qEAAqE;IAErE,+DAA+D;IAC/D,SAAS;IACT,eAAe,CAAC,mDAAa,CAAA;IAE7B,2DAAiC,CAAA;IACjC,0DAAgB,CAAA;IAChB,wCAAO,CAAA;IACP,8CAAU,CAAA;IACV,sDAAc,CAAA;IACd,uBAAuB;IAEvB,gBAAgB,CAAC,gDAAW,CAAA;IAC5B,+DAA+D;IAE/D,+DAA+D;IAC/D,sBAAsB;IACtB,gBAAgB,CAAC,4DAA+B,CAAA;IAChD,wCAA2B,CAAA;IAC3B,gDAAW,CAAA;IACX,oEAAqB,CAAA;IACrB,gBAAgB,CAAC,wDAAe,CAAA;IAChC,+DAA+D;IAE/D,+DAA+D;IAC/D,cAAc;IACd,gBAAgB,CAAC,8DAAoC,CAAA;IAErD,4CAA8B,CAAA;IAC9B,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gCAAG,CAAA;IACH,0CAAQ,CAAA;IACR,4CAAS,CAAA;IACT,oCAAK,CAAA;IACL,0CAAQ,CAAA;IACR,gDAAW,CAAA;IACX,sCAAM,CAAA;IACN,4CAAS,CAAA;IACT,gCAAG,CAAA;IACH,0CAAQ,CAAA;IACR,oCAAK,CAAA;IACL,8CAAU,CAAA;IACV,8BAAE,CAAA;IACF,kCAAI,CAAA;IACJ,kCAAI,CAAA;IACJ,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,kCAAI,CAAA;IACJ,kDAAY,CAAA;IACZ,kCAAI,CAAA;IACJ,sCAAM,CAAA;IACN,gDAAW,CAAA;IACX,sDAAc,CAAA;IACd,4DAAiB,CAAA;IACjB,gEAAmB,CAAA;IACnB,sCAAM,CAAA;IACN,kDAAY,CAAA;IACZ,4DAAiB,CAAA;IACjB,4DAAiB,CAAA;IACjB,4BAA4B;IAE5B,gBAAgB,CAAC,0DAAgB,CAAA;IACjC,+DAA+D;IAE/D,+DAA+D;IAC/D,qBAAqB;IACrB,gBAAgB,CAAC,sDAAiC,CAAA;IAClD,gBAAgB,CAAC,wEAAwC,CAAA;IAEzD,oDAAuC,CAAA;IACvC,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,0DAAgB,CAAA;IAChB,kDAAY,CAAA;IACZ,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,kDAAY,CAAA;IACZ,4DAAiB,CAAA;IACjB,gDAAW,CAAA;IACX,4CAAS,CAAA;IACT,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,kCAAkC;IAElC,gBAAgB,CAAC,oEAAqB,CAAA;IACtC,+DAA+D;IAE/D,+DAA+D;IAE/D,gBAAgB,CAAC,sEAA8C,CAAA;IAE/D,oDAAsC,CAAA;IAEtC,gBAAgB,CAAC,kEAAoB,CAAA;IACrC,+DAA+D;IAE/D,+DAA+D;IAC/D,iBAAiB;IAEjB,sDAAqC,CAAA;IACrC,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,sDAAc,CAAA;IACd,sDAAc,CAAA;IACd,oDAAa,CAAA;IACb,sCAAsC;IAEtC,gBAAgB,CAAC,kDAAY,CAAA;IAC7B,+DAA+D;IAE/D,gBAAgB,CAAC,wCAAsB,CAAA;AACzC,CAAC,EAtIW,KAAK,KAAL,KAAK,QAsIhB;AAqBD,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACpB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1B,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;IAChC,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;IAChD,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC9C,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACzC,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACzC,CAAC,KAAK,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACvC,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAClD,CAAC,KAAK,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IACtD,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAClD,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1B,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;IAChC,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzD,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;IAC3B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;IACzB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;IAC3B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;IACxB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IACpB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1B,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;IACjB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACpB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;IAC3B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACnB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1B,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC;IAC9B,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACnC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC;IAC5B,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;IAChC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACvC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACvC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACzC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC;IAC3B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IACzB,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;IACjC,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IACnC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;CAClC,CAAC,CAAC;AAEH,gBAAgB;AAChB,MAAM,CAAC,MAAM,QAAQ,GAA+B,IAAI,GAAG,CAAC;IAC1D,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;IACrC,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;IACrC,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;IACzB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;CAChC,CAAC,CAAC;AA0EH,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,iDAAgB,CAAA;IAChB,2DAAqB,CAAA;IACrB,2DAAqB,CAAA;IACrB,mDAAiB,CAAA;IACjB,wDAAmB,CAAA;IACnB,wDAAmB,CAAA;AACrB,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,OAAO,KAAK,KAAK,KAAK,CAAC,iBAAiB,IAAI,KAAK,KAAK,KAAK,CAAC,gBAAgB,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,OAAO,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,OAAO,KAAK,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,KAAK,IAAI,KAAK,CAAC,sBAAsB,IAAI,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,OAAO,KAAK,IAAI,KAAK,CAAC,uBAAuB,IAAI,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAA2B,EAC3B,iBAAoC;IAEpC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IACjC,WAAW;IACX,IAAI,QAAQ,GAAG,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,uCAA2B,EAAE,CAAC;QACpF,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa;YACf,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,OAAO;QACP,oBAAoB;QACpB,4BAA4B;QAC5B,qCAAqC;QACrC,GAAG;QACH,YAAY;QACZ,aAAa;KACd,CAAC;IAEF,SAAS,GAAG;QACV,OAAO,QAAQ,IAAI,WAAW,CAAC;IACjC,CAAC;IAED,SAAS,YAAY;QACnB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,aAAa;QACpB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB,CAAC;YAC9B,KAAK,KAAK,CAAC,oBAAoB,CAAC;YAChC,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAChD,KAAK,KAAK,CAAC,UAAU;gBACnB,OAAO,uBAAuB,EAAE,CAAC;YACnC,KAAK,KAAK,CAAC,OAAO;gBAChB,OAAO,eAAe,EAAE,CAAC;YAC3B;gBACE,OAAO,YAAY,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,MAAc;QAC/B,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,IAAI;QACX,aAAa,GAAG,QAAQ,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;wBACvC,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,cAAc;gBACd;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B,6BAAoB;gBACpB,0BAAkB;gBAClB,mCAA0B;gBAC1B;oBACE,OAAO,cAAc,EAAE,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE3B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,4BAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEzF;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAEjC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAElC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE/B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,yBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7E;oBACE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,KAAK,EAAE,CAAC;wBACd;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;wBAClC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBACpC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBAEH;oBACE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvE;oBACE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEzE;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE9B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,gCAAuB;wBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;wBACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAE5B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,0BAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,0BAAiB;wBACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEtB;oBACE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,qBAAqB,EAAE,CAAC;wBACjC;4BACE,OAAO,oBAAoB,EAAE,CAAC;oBAClC,CAAC;oBAED,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAElC;oBACE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,aAAa,EAAE,CAAC;wBACzB;4BACE,OAAO,gBAAgB,EAAE,CAAC;oBAC9B,CAAC;gBACH,cAAc;gBACd,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB,0BAAiB;gBACjB;oBACE,OAAO,UAAU,EAAE,CAAC;gBAEtB;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;wBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE3B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE9B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;wBACrC;4BACE,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5B;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,SAAS,CAAC,CAAC,CAAC,2BAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEjF;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,kCAAyB,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB;wBACnF,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;wBACrC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAElC;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,6BAAoB;wBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE9B;oBACE,OAAO,wBAAwB,EAAE,CAAC;gBAEpC;oBACE,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,OAAO,uBAAuB,EAAE,CAAC;oBACnC,CAAC;oBACD,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/B,OAAO,cAAc,EAAE,CAAC;oBAC1B,CAAC;oBACD,IAAI,EAAE,+BAAqB,EAAE,CAAC;wBAC5B,OAAO,oBAAoB,EAAE,CAAC;oBAChC,CAAC;oBACD,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,OAAO;QACd,aAAa,GAAG,QAAQ,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;wBACvC,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,cAAc;gBACd;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B;oBACE,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;oBACjC,OAAO,QAAQ,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAErF,6BAAoB;gBACpB,0BAAkB;gBAClB,mCAA0B;gBAC1B;oBACE,OAAO,cAAc,EAAE,CAAC;gBAE1B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEhC;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAExB;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1B;oBACE,OAAO,SAAS,CAAC,CAAC,CAAC,+BAAsB,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB;wBAC7E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAExB,gCAAuB;gBACvB,mCAA0B;gBAC1B,8BAAqB;gBACrB;oBACE,IAAI,gBAAgB,EAAE;wBAAE,OAAO,kBAAkB,EAAE,CAAC;oBACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B;oBACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,EAAE,+BAAqB,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YACxC,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,oBAAoB,CAAC,cAA0B;QACtD,QAAQ,GAAG,aAAa,CAAC;QACzB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,SAAS,CAAI,KAAgB,EAAE,QAAiB;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,gBAAgB,GAAG,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC;QACzB,MAAM,kBAAkB,GAAG,aAAa,CAAC;QACzC,MAAM,eAAe,GAAG,UAAU,CAAC;QAEnC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACnB,aAAa,GAAG,CAAC,CAAC,CAAC;QACnB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAE1B,QAAQ,GAAG,aAAa,CAAC;QACzB,WAAW,GAAG,gBAAgB,CAAC;QAC/B,KAAK,GAAG,UAAU,CAAC;QACnB,aAAa,GAAG,kBAAkB,CAAC;QACnC,UAAU,GAAG,eAAe,CAAC;QAE7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,IAAI,CAAkB,CAAI,EAAE,KAAK,GAAG,CAAC;QAC5C,QAAQ,IAAI,KAAK,CAAC;QAClB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAM,CAAC;IAC1B,CAAC;IAED,SAAS,YAAY,CAAkB,CAAI;QACzC,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC;QACtC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAM,CAAC;IAC1B,CAAC;IAED,SAAS,iBAAiB;QACxB,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,8BAA8B,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,SAAS,oBAAoB;QAC3B,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,WAAW,CAAkB,CAAI;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,KAAK,CAIZ,MAAmE,EACnE,GAAY,EACZ,GAAY;QAEZ,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,GAAG,MAAM;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI,QAAQ,EAAE;SAC3D,CAAC,CAAC;QACV,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,cAAc;QACrB,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAEvE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,gBAAgB;QACvB,QAAQ,EAAE,CAAC,CAAC,gBAAgB;QAC5B,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,UAAU;QACjB,eAAe,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,0BAAiB,EAAE,CAAC;YAC1D,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAe,EAAE,CAAC;YACxD,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,EAAE,2BAAkB,IAAI,EAAE,4BAAmB,EAAE,CAAC;gBAClD,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,kBAAkB,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,eAAe;QACtB,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;IAC1D,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,eAAe,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,aAAa;QACpB,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;QAE9B,IAAI,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAE3D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,gBAAgB;QACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;QAE9B,IAAI,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAE9D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,qBAAqB;QAC5B,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,oBAAoB;QAC3B,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/B,IAAI,SAAS,CAAC,CAAC,CAAC,+BAAsB,EAAE,CAAC;YACvC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxE,QAAQ,GAAG,WAAW,CAAC;QACvB,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,eAAe;QACtB,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;gBACrC,sCAA6B;gBAC7B;oBACE,MAAM,IAAI,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,UAAU,CAAC,UAAsB;QACxC,IAAI,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,gBAAgB;QACjC,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAC,CAAC,cAAc;QAC5B,CAAC;QAED,OAAO,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,sBAAsB,CAC7B,UAAsB;QAEtB,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,OAAO,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjG,CAAC;IAED,SAAS,qBAAqB,CAC5B,mBAA+B,EAC/B,QAAW,EACX,IAAO;QAEP,MAAM,SAAS,GAAG,mBAAmB,GAAG,UAAU,CAAC,YAAY,CAAC;QAChE,UAAU,GAAG,mBAAmB,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;oBACjC,QAAQ,EAAE,CAAC;oBACX,IAAI,GAAG,EAAE,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC;oBACb,CAAC;oBACD,SAAS;gBACX;oBACE,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB,IAAI,SAAS,CAAC,CAAC,CAAC,kCAAyB,EAAE,CAAC;4BACnF,QAAQ,IAAI,CAAC,CAAC;4BACd,KAAK,GAAG,IAAI,CAAC;4BACb,OAAO,IAAI,CAAC;wBACd,CAAC;6BAAM,CAAC;4BACN,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,KAAK,GAAG,IAAI,CAAC;wBACb,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH;oBACE,IAAI,SAAS,CAAC,CAAC,CAAC,iCAAuB,EAAE,CAAC;wBACxC,QAAQ,IAAI,CAAC,CAAC;wBACd,KAAK,GAAG,QAAQ,CAAC;wBACjB,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,SAAS;gBACX,sCAA6B;gBAC7B;oBACE,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC;oBACb,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,2BAA2B,CAClC,KAAgD,EAChD,UAAsB;QAEtB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAClE;gBACE,OAAO,CAAC,CAAC,CAAC,IAAI;QAClB,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAChC,KAAgD,EAChD,UAAsB;QAEtB,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,KAAK,CAAC,aAAa,CAAC;YACzB,KAAK,KAAK,CAAC,kBAAkB;gBAC3B,OAAO,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAClE;gBACE,OAAO,CAAC,CAAC,CAAC,KAAK;QACnB,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,KAAgD,EAChD,UAAsB;QAEtB,IAAI,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,aAAa,CAAC;YAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpF,OAAO,qCAAqC,CAC1C,KAAK,EACL,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,aAAa,GAAG,WAAW,CAAC;QAC1C,MAAM,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;QAEnF,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,uBAAuB;QAC9B,MAAM,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACrF,MAAM,GAAG,GACP,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC;YAC3E,CAAC,CAAC,QAAQ,GAAG,CAAC;YACd,CAAC,CAAC,QAAQ,CAAC;QAEf,MAAM,IAAI,GACR,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE7F,IAAI,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,aAAa,CAAC;YAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC;YAErB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,KAAK,CAAC;YAEhB,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;gBACjB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,EAAE,gCAAuB,EAAE,CAAC;oBAC9B,GAAG,EAAE,CAAC;oBACN,SAAS;gBACX,CAAC;gBAED,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtC,QAAQ,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;oBAClC;wBACE,MAAM,IAAI,GAAG,CAAC;wBACd,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,GAAG,IAAI,CAAC,CAAC;gBACT,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,GAAW;QAC9D,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAChC,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,EAAE,CAAC;QACR,CAAC;QACD,MAAM,gBAAgB,GAAG,GAAG,CAAC;QAE7B,mCAAmC;QACnC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,EAAE,CAAC;QACR,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,qCAAqC,CAC5C,KAAa,EACb,GAAW,EACX,gBAAwB,EACxB,cAAsB,EACtB,KAAgD,EAChD,UAAsB;QAEtB,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;QAC5B,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC;QAEnE,IAAI,KAAK,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACxE,+DAA+D;YAC/D,OAAO,KAAK,GAAG,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtE,KAAK,EAAE,CAAC;YACV,CAAC;YACD,qCAAqC;YACrC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACxE,OAAO,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,EAAE,CAAC;YACR,CAAC;YAED,mCAAmC;YACnC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAChC,GAAG,EAAE,CAAC;gBACR,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,yFAAyF;QACzF,IAAI,KAAK,KAAK,KAAK,CAAC,oBAAoB,IAAI,KAAK,KAAK,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/E,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,0EAA0E;QAC1E,sBAAsB;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,KAAK,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,EAAE,CAAC;YAEP,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,EAAE,gCAAuB,EAAE,CAAC;oBAC9B,GAAG,EAAE,CAAC;oBACN,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpB,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrD,GAAG,EAAE,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC3B,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;gBACD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;YACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACd,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC5B,iEAAiE;oBACjE,mEAAmE;oBACnE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACtC,MAAM,IAAI,IAAI,CAAC;oBACf,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACN,GAAG,EAAE,CAAC,CAAC,2BAA2B;oBAClC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;gBACD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;QACrD,OAAO,CACL,GAAG,IAAI,KAAK;YACZ,GAAG,GAAG,GAAG,GAAG,CAAC;YACb,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,qCAA4B;YACjD,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,+BAAsB,CAChD,CAAC;IACJ,CAAC;IAED,SAAS,uBAAuB,CAC9B,GAAW,EACX,GAAW,EACX,gBAAwB,EACxB,cAAsB;QAEtB,IAAI,cAAc,GAAG,gBAAgB,CAAC;QACtC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,0DAA0D;gBAC1D,MAAM;YACR,CAAC;YACD,IAAI,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YACD,cAAc,EAAE,CAAC;YACjB,GAAG,EAAE,CAAC;QACR,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW;QAChD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,EAAE,gCAAuB,EAAE,CAAC;gBAC9B,GAAG,EAAE,CAAC;gBACN,SAAS;YACX,CAAC;YAED,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,IAAI,CAAC,CAAC;YACT,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,WAAW,CAAC,GAAW;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACrC,QAAQ,EAAE,EAAE,CAAC;YACX;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,OAAO,GAAG,CAAC;YACb;gBACE,KAAK,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS,uBAAuB;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,CAAC;YAER,IAAI,GAAG,EAAE,EAAE,CAAC;gBACV,MAAM;YACR,CAAC;YAED,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,KAAK,kCAAyB,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YAED,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,EAAE,8BAAoB,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;gBACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM;QACR,CAAC;QAED,IAAI,KAAK,kCAA0B,IAAI,KAAK,mCAA0B,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,cAAc;QACrB,IAAI,EAAU,CAAC;QAEf,GAAG,CAAC;YACF,QAAQ,EAAE,CAAC;YACX,IAAI,GAAG,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,QAAQ,yBAAyB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAEvE,IAAI,EAAE,8BAAoB,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;YACxC,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,wBAAwB;QAC/B,QAAQ,EAAE,CAAC,CAAC,cAAc;QAE1B,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QAEpC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,EAAE,CAAC;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;oBACjC,SAAS;gBACX;oBACE,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,sCAA6B;gBAC7B;oBACE,MAAM,IAAI,CAAC;gBACb;oBACE,IAAI,EAAE,8BAAoB,EAAE,CAAC;wBAC3B,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;oBACpC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,sBAAsB,CAAC,cAAsB;QACpD,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC;QAClC,IAAI,EAAE,GAAG,cAAc,CAAC;QACxB,GAAG,CAAC;YACF,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,oBAAoB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC,CAAC,EAAE;QAE9E,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,gBAAgB;QACvB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,kBAAkB;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,QAAQ,IAAI,yBAAyB,CAAC;QACtC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEnC,IAAI,MAAM,+BAAsB,IAAI,MAAM,kCAAyB,EAAE,CAAC;YACpE,qEAAqE;YACrE,OAAO,QAAQ,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC1E,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,6DAA6D;YAC7D,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtC,IACE,CAAC,EAAE,6BAAoB,IAAI,EAAE,kCAAyB,CAAC;oBACvD,EAAE,KAAK,MAAM;oBACb,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC9C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,QAAgB,EAChB,WAAW,GAAG,CAAC,CAAC;IAEhB,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,IAAI,QAAQ,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,8EAA8E;QAC9E,QAAQ,EAAE,CAAC;IACb,CAAC;SAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,cAAc,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM;IACpF,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IACtE,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,EAAE,4BAAmB,EAAE,CAAC;YAC1B,QAAQ,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvC;oBACE,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC/D,SAAS;gBACX;oBACE,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,SAAS;YACb,CAAC;QACH,CAAC;QAED,MAAM;IACR,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM;QACR,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;IAE9B,OAAO,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAa,EACb,QAAgB,EAChB,WAAW,GAAG,KAAK,CAAC,MAAM;IAE1B,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe;IAE9B,OAAO,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1C,IACE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,+BAAsB;YAChD,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,4BAAmB,EACjD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,QAAgB,EAAE,UAAU,GAAG,KAAK;IAC1F,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACjF,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,GAAG,IAAI,SAAS,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM;IACnF,mDAAmD;IACnD,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,GAAG,yBAAyB,GAAG,WAAW,EAAE,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,CACL,EAAE,6BAAoB;gBACtB,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,yBAAyB,CAAC,4BAAmB,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA0B;IACtD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACvC,cAAc,CACZ,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,EACnC,yCAAyC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAC9E,CAAC;QACF,cAAc,CACZ,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,+CAA+C,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CACpF,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,yCAAyC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import Ajv from "ajv";
1
+ import { Ajv } from "ajv";
2
2
  import { getLocationInYamlScript } from "../yaml/diagnostics.js";
3
3
  import { compilerAssert } from "./diagnostics.js";
4
4
  import { createDiagnostic } from "./messages.js";
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/core/schema-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/core/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -722,51 +722,52 @@ export declare enum SyntaxKind {
722
722
  Doc = 52,
723
723
  DocText = 53,
724
724
  DocParamTag = 54,
725
- DocReturnsTag = 55,
726
- DocErrorsTag = 56,
727
- DocTemplateTag = 57,
728
- DocUnknownTag = 58,
729
- Projection = 59,
730
- ProjectionParameterDeclaration = 60,
731
- ProjectionModelSelector = 61,
732
- ProjectionModelPropertySelector = 62,
733
- ProjectionScalarSelector = 63,
734
- ProjectionOperationSelector = 64,
735
- ProjectionUnionSelector = 65,
736
- ProjectionUnionVariantSelector = 66,
737
- ProjectionInterfaceSelector = 67,
738
- ProjectionEnumSelector = 68,
739
- ProjectionEnumMemberSelector = 69,
740
- ProjectionExpressionStatement = 70,
741
- ProjectionIfExpression = 71,
742
- ProjectionBlockExpression = 72,
743
- ProjectionMemberExpression = 73,
744
- ProjectionLogicalExpression = 74,
745
- ProjectionEqualityExpression = 75,
746
- ProjectionUnaryExpression = 76,
747
- ProjectionRelationalExpression = 77,
748
- ProjectionArithmeticExpression = 78,
749
- ProjectionCallExpression = 79,
750
- ProjectionLambdaExpression = 80,
751
- ProjectionLambdaParameterDeclaration = 81,
752
- ProjectionModelExpression = 82,
753
- ProjectionModelProperty = 83,
754
- ProjectionModelSpreadProperty = 84,
755
- ProjectionSpreadProperty = 85,
756
- ProjectionTupleExpression = 86,
757
- ProjectionStatement = 87,
758
- ProjectionDecoratorReferenceExpression = 88,
759
- Return = 89,
760
- JsNamespaceDeclaration = 90,
761
- TemplateArgument = 91,
762
- TypeOfExpression = 92,
763
- ObjectLiteral = 93,
764
- ObjectLiteralProperty = 94,
765
- ObjectLiteralSpreadProperty = 95,
766
- ArrayLiteral = 96,
767
- ConstStatement = 97,
768
- CallExpression = 98,
769
- ScalarConstructor = 99
725
+ DocPropTag = 55,
726
+ DocReturnsTag = 56,
727
+ DocErrorsTag = 57,
728
+ DocTemplateTag = 58,
729
+ DocUnknownTag = 59,
730
+ Projection = 60,
731
+ ProjectionParameterDeclaration = 61,
732
+ ProjectionModelSelector = 62,
733
+ ProjectionModelPropertySelector = 63,
734
+ ProjectionScalarSelector = 64,
735
+ ProjectionOperationSelector = 65,
736
+ ProjectionUnionSelector = 66,
737
+ ProjectionUnionVariantSelector = 67,
738
+ ProjectionInterfaceSelector = 68,
739
+ ProjectionEnumSelector = 69,
740
+ ProjectionEnumMemberSelector = 70,
741
+ ProjectionExpressionStatement = 71,
742
+ ProjectionIfExpression = 72,
743
+ ProjectionBlockExpression = 73,
744
+ ProjectionMemberExpression = 74,
745
+ ProjectionLogicalExpression = 75,
746
+ ProjectionEqualityExpression = 76,
747
+ ProjectionUnaryExpression = 77,
748
+ ProjectionRelationalExpression = 78,
749
+ ProjectionArithmeticExpression = 79,
750
+ ProjectionCallExpression = 80,
751
+ ProjectionLambdaExpression = 81,
752
+ ProjectionLambdaParameterDeclaration = 82,
753
+ ProjectionModelExpression = 83,
754
+ ProjectionModelProperty = 84,
755
+ ProjectionModelSpreadProperty = 85,
756
+ ProjectionSpreadProperty = 86,
757
+ ProjectionTupleExpression = 87,
758
+ ProjectionStatement = 88,
759
+ ProjectionDecoratorReferenceExpression = 89,
760
+ Return = 90,
761
+ JsNamespaceDeclaration = 91,
762
+ TemplateArgument = 92,
763
+ TypeOfExpression = 93,
764
+ ObjectLiteral = 94,
765
+ ObjectLiteralProperty = 95,
766
+ ObjectLiteralSpreadProperty = 96,
767
+ ArrayLiteral = 97,
768
+ ConstStatement = 98,
769
+ CallExpression = 99,
770
+ ScalarConstructor = 100
770
771
  }
771
772
  export declare const enum NodeFlags {
772
773
  None = 0,
@@ -810,8 +811,42 @@ export interface BaseNode extends TextRange {
810
811
  }
811
812
  export interface TemplateDeclarationNode {
812
813
  readonly templateParameters: readonly TemplateParameterDeclarationNode[];
814
+ readonly templateParametersRange: TextRange;
813
815
  readonly locals?: SymbolTable;
814
816
  }
817
+ /**
818
+ * owner node and other related information according to the position
819
+ */
820
+ export interface PositionDetail {
821
+ readonly node: Node | undefined;
822
+ readonly position: number;
823
+ readonly char: number;
824
+ readonly preChar: number;
825
+ readonly nextChar: number;
826
+ readonly inTrivia: boolean;
827
+ /**
828
+ * if the position is in a trivia, return the start position of the trivia containing the position
829
+ * if the position is not a trivia, return the start position of the trivia before the text(identifier code) containing the position
830
+ *
831
+ * Please be aware that this may not be the pre node in the tree because some non-trivia char is ignored in the tree but will counted here
832
+ *
833
+ * also comments are considered as trivia
834
+ */
835
+ readonly triviaStartPosition: number;
836
+ /**
837
+ * if the position is in a trivia, return the end position (exclude as other 'end' means) of the trivia containing the position
838
+ * if the position is not a trivia, return the end position (exclude as other 'end' means) of the trivia after the node containing the position
839
+ *
840
+ * Please be aware that this may not be the next node in the tree because some non-trivia char is ignored in the tree but will considered here
841
+ *
842
+ * also comments are considered as trivia
843
+ */
844
+ readonly triviaEndPosition: number;
845
+ /** get the PositionDetail of positionBeforeTrivia */
846
+ readonly getPositionDetailBeforeTrivia: () => PositionDetail;
847
+ /** get the PositionDetail of positionAfterTrivia */
848
+ readonly getPositionDetailAfterTrivia: () => PositionDetail;
849
+ }
815
850
  export type Node = TypeSpecScriptNode | JsSourceFileNode | JsNamespaceDeclarationNode | TemplateArgumentNode | TemplateParameterDeclarationNode | ProjectionParameterDeclarationNode | ProjectionLambdaParameterDeclarationNode | ModelPropertyNode | UnionVariantNode | OperationStatementNode | OperationSignatureDeclarationNode | OperationSignatureReferenceNode | EnumMemberNode | EnumSpreadMemberNode | ModelSpreadPropertyNode | DecoratorExpressionNode | DirectiveExpressionNode | Statement | Expression | FunctionParameterNode | StringTemplateSpanNode | StringTemplateHeadNode | StringTemplateMiddleNode | StringTemplateTailNode | Modifier | DocNode | DocContent | DocTag | ProjectionStatementItem | ProjectionExpression | ProjectionModelSelectorNode | ProjectionModelPropertySelectorNode | ProjectionScalarSelectorNode | ProjectionInterfaceSelectorNode | ProjectionOperationSelectorNode | ProjectionEnumSelectorNode | ProjectionEnumMemberSelectorNode | ProjectionUnionSelectorNode | ProjectionUnionVariantSelectorNode | ProjectionModelPropertyNode | ProjectionModelSpreadPropertyNode | ProjectionStatementNode | ProjectionNode | ObjectLiteralNode | ObjectLiteralPropertyNode | ObjectLiteralSpreadPropertyNode | ScalarConstructorNode | ArrayLiteralNode;
816
851
  /**
817
852
  * Node that can be used as template
@@ -820,13 +855,13 @@ export type TemplateableNode = ModelStatementNode | ScalarStatementNode | AliasS
820
855
  /**
821
856
  * Node types that can have referencable members
822
857
  */
823
- export type MemberContainerNode = ModelStatementNode | ModelExpressionNode | InterfaceStatementNode | EnumStatementNode | UnionStatementNode;
858
+ export type MemberContainerNode = ModelStatementNode | ModelExpressionNode | InterfaceStatementNode | EnumStatementNode | UnionStatementNode | ScalarStatementNode;
824
859
  export type MemberNode = ModelPropertyNode | EnumMemberNode | OperationStatementNode | UnionVariantNode | ScalarConstructorNode;
825
860
  export type MemberContainerType = Model | Enum | Interface | Union | Scalar;
826
861
  /**
827
862
  * Type that can be used as members of a container type.
828
863
  */
829
- export type MemberType = ModelProperty | EnumMember | Operation | UnionVariant;
864
+ export type MemberType = ModelProperty | EnumMember | Operation | UnionVariant | ScalarConstructor;
830
865
  export type Comment = LineComment | BlockComment;
831
866
  export interface LineComment extends TextRange {
832
867
  readonly kind: SyntaxKind.LineComment;
@@ -930,6 +965,7 @@ export interface OperationStatementNode extends BaseNode, DeclarationNode, Templ
930
965
  export interface ModelStatementNode extends BaseNode, DeclarationNode, TemplateDeclarationNode {
931
966
  readonly kind: SyntaxKind.ModelStatement;
932
967
  readonly properties: readonly (ModelPropertyNode | ModelSpreadPropertyNode)[];
968
+ readonly bodyRange: TextRange;
933
969
  readonly extends?: Expression;
934
970
  readonly is?: Expression;
935
971
  readonly decorators: readonly DecoratorExpressionNode[];
@@ -940,6 +976,7 @@ export interface ScalarStatementNode extends BaseNode, DeclarationNode, Template
940
976
  readonly extends?: TypeReferenceNode;
941
977
  readonly decorators: readonly DecoratorExpressionNode[];
942
978
  readonly members: readonly ScalarConstructorNode[];
979
+ readonly bodyRange: TextRange;
943
980
  readonly parent?: TypeSpecScriptNode | NamespaceStatementNode;
944
981
  }
945
982
  export interface ScalarConstructorNode extends BaseNode {
@@ -951,6 +988,7 @@ export interface ScalarConstructorNode extends BaseNode {
951
988
  export interface InterfaceStatementNode extends BaseNode, DeclarationNode, TemplateDeclarationNode {
952
989
  readonly kind: SyntaxKind.InterfaceStatement;
953
990
  readonly operations: readonly OperationStatementNode[];
991
+ readonly bodyRange: TextRange;
954
992
  readonly extends: readonly TypeReferenceNode[];
955
993
  readonly decorators: readonly DecoratorExpressionNode[];
956
994
  readonly parent?: TypeSpecScriptNode | NamespaceStatementNode;
@@ -1011,6 +1049,7 @@ export interface EmptyStatementNode extends BaseNode {
1011
1049
  export interface ModelExpressionNode extends BaseNode {
1012
1050
  readonly kind: SyntaxKind.ModelExpression;
1013
1051
  readonly properties: (ModelPropertyNode | ModelSpreadPropertyNode)[];
1052
+ readonly bodyRange: TextRange;
1014
1053
  }
1015
1054
  export interface ArrayExpressionNode extends BaseNode {
1016
1055
  readonly kind: SyntaxKind.ArrayExpression;
@@ -1037,6 +1076,7 @@ export interface ModelSpreadPropertyNode extends BaseNode {
1037
1076
  export interface ObjectLiteralNode extends BaseNode {
1038
1077
  readonly kind: SyntaxKind.ObjectLiteral;
1039
1078
  readonly properties: (ObjectLiteralPropertyNode | ObjectLiteralSpreadPropertyNode)[];
1079
+ readonly bodyRange: TextRange;
1040
1080
  }
1041
1081
  export interface ObjectLiteralPropertyNode extends BaseNode {
1042
1082
  readonly kind: SyntaxKind.ObjectLiteralProperty;
@@ -1345,7 +1385,10 @@ export declare enum IdentifierKind {
1345
1385
  Function = 3,
1346
1386
  Using = 4,
1347
1387
  Declaration = 5,
1348
- Other = 6
1388
+ ModelExpressionProperty = 6,
1389
+ ModelStatementProperty = 7,
1390
+ ObjectLiteralProperty = 8,
1391
+ Other = 9
1349
1392
  }
1350
1393
  export interface DocNode extends BaseNode {
1351
1394
  readonly kind: SyntaxKind.Doc;
@@ -1356,7 +1399,7 @@ export interface DocTagBaseNode extends BaseNode {
1356
1399
  readonly tagName: IdentifierNode;
1357
1400
  readonly content: readonly DocContent[];
1358
1401
  }
1359
- export type DocTag = DocReturnsTagNode | DocErrorsTagNode | DocParamTagNode | DocTemplateTagNode | DocUnknownTagNode;
1402
+ export type DocTag = DocReturnsTagNode | DocErrorsTagNode | DocParamTagNode | DocPropTagNode | DocTemplateTagNode | DocUnknownTagNode;
1360
1403
  export type DocContent = DocTextNode;
1361
1404
  export interface DocTextNode extends BaseNode {
1362
1405
  readonly kind: SyntaxKind.DocText;
@@ -1372,6 +1415,10 @@ export interface DocParamTagNode extends DocTagBaseNode {
1372
1415
  readonly kind: SyntaxKind.DocParamTag;
1373
1416
  readonly paramName: IdentifierNode;
1374
1417
  }
1418
+ export interface DocPropTagNode extends DocTagBaseNode {
1419
+ readonly kind: SyntaxKind.DocPropTag;
1420
+ readonly propName: IdentifierNode;
1421
+ }
1375
1422
  export interface DocTemplateTagNode extends DocTagBaseNode {
1376
1423
  readonly kind: SyntaxKind.DocTemplateTag;
1377
1424
  readonly paramName: IdentifierNode;
@@ -1465,7 +1512,7 @@ export interface LibraryInstance {
1465
1512
  entrypoint: JsSourceFileNode | undefined;
1466
1513
  metadata: LibraryMetadata;
1467
1514
  definition?: TypeSpecLibrary<any>;
1468
- linter: LinterDefinition;
1515
+ linter: LinterResolvedDefinition;
1469
1516
  }
1470
1517
  export type LibraryMetadata = FileLibraryMetadata | ModuleLibraryMetadata;
1471
1518
  interface LibraryMetadataBase {
@@ -1752,6 +1799,12 @@ export interface LinterDefinition {
1752
1799
  rules: LinterRuleDefinition<string, DiagnosticMessages>[];
1753
1800
  ruleSets?: Record<string, LinterRuleSet>;
1754
1801
  }
1802
+ export interface LinterResolvedDefinition {
1803
+ readonly rules: LinterRule<string, DiagnosticMessages>[];
1804
+ readonly ruleSets: {
1805
+ [name: string]: LinterRuleSet;
1806
+ };
1807
+ }
1755
1808
  export interface LinterRuleDefinition<N extends string, DM extends DiagnosticMessages> {
1756
1809
  /** Rule name (without the library name) */
1757
1810
  name: N;