@lcap/nasl-concepts 3.13.0-alpha.microapp-1 → 3.13.0-beta.10

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 (261) hide show
  1. package/out/common/BaseNode.d.ts +3 -3
  2. package/out/common/BaseNode.d.ts.map +1 -1
  3. package/out/common/BaseNode.js +11 -7
  4. package/out/common/BaseNode.js.map +1 -1
  5. package/out/concepts/Abort__.js +1 -1
  6. package/out/concepts/Abort__.js.map +1 -1
  7. package/out/concepts/App__.d.ts +83 -0
  8. package/out/concepts/App__.d.ts.map +1 -1
  9. package/out/concepts/App__.js +106 -2
  10. package/out/concepts/App__.js.map +1 -1
  11. package/out/concepts/AuthLogicForCallInterface__.js +1 -1
  12. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  13. package/out/concepts/BackendVariable__.js +2 -2
  14. package/out/concepts/BackendVariable__.js.map +1 -1
  15. package/out/concepts/Backend__.js +1 -1
  16. package/out/concepts/Backend__.js.map +1 -1
  17. package/out/concepts/BatchAssignment__.d.ts +25 -2
  18. package/out/concepts/BatchAssignment__.d.ts.map +1 -1
  19. package/out/concepts/BatchAssignment__.js +436 -69
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.d.ts.map +1 -1
  22. package/out/concepts/BindAttribute__.js +9 -2
  23. package/out/concepts/BindAttribute__.js.map +1 -1
  24. package/out/concepts/BindDirective__.d.ts.map +1 -1
  25. package/out/concepts/BindDirective__.js +7 -1
  26. package/out/concepts/BindDirective__.js.map +1 -1
  27. package/out/concepts/BindEvent__.js +1 -1
  28. package/out/concepts/BindEvent__.js.map +1 -1
  29. package/out/concepts/Break__.d.ts +33 -0
  30. package/out/concepts/Break__.d.ts.map +1 -0
  31. package/out/concepts/Break__.js +120 -0
  32. package/out/concepts/Break__.js.map +1 -0
  33. package/out/concepts/BusinessComponent__.d.ts.map +1 -1
  34. package/out/concepts/BusinessComponent__.js +3 -2
  35. package/out/concepts/BusinessComponent__.js.map +1 -1
  36. package/out/concepts/CallLogic__.d.ts +1 -0
  37. package/out/concepts/CallLogic__.d.ts.map +1 -1
  38. package/out/concepts/CallLogic__.js +16 -3
  39. package/out/concepts/CallLogic__.js.map +1 -1
  40. package/out/concepts/CallQueryComponent__.d.ts +14 -5
  41. package/out/concepts/CallQueryComponent__.d.ts.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +90 -56
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/CompletionProperty__.d.ts.map +1 -1
  45. package/out/concepts/CompletionProperty__.js +7 -0
  46. package/out/concepts/CompletionProperty__.js.map +1 -1
  47. package/out/concepts/ConfigProperty__.js +2 -2
  48. package/out/concepts/ConfigProperty__.js.map +1 -1
  49. package/out/concepts/Connection__.js +2 -2
  50. package/out/concepts/Connection__.js.map +1 -1
  51. package/out/concepts/ConnectorTrigger__.js +1 -1
  52. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  53. package/out/concepts/Continue__.d.ts +33 -0
  54. package/out/concepts/Continue__.d.ts.map +1 -0
  55. package/out/concepts/Continue__.js +120 -0
  56. package/out/concepts/Continue__.js.map +1 -0
  57. package/out/concepts/DataSource__.d.ts +12 -1
  58. package/out/concepts/DataSource__.d.ts.map +1 -1
  59. package/out/concepts/DataSource__.js +58 -5
  60. package/out/concepts/DataSource__.js.map +1 -1
  61. package/out/concepts/DefaultValue__.d.ts +1 -0
  62. package/out/concepts/DefaultValue__.d.ts.map +1 -1
  63. package/out/concepts/DefaultValue__.js +9 -0
  64. package/out/concepts/DefaultValue__.js.map +1 -1
  65. package/out/concepts/Dependency__.js +1 -1
  66. package/out/concepts/Dependency__.js.map +1 -1
  67. package/out/concepts/Destination__.js +1 -1
  68. package/out/concepts/End__.d.ts.map +1 -1
  69. package/out/concepts/End__.js +34 -2
  70. package/out/concepts/End__.js.map +1 -1
  71. package/out/concepts/Entity__.d.ts +13 -0
  72. package/out/concepts/Entity__.d.ts.map +1 -1
  73. package/out/concepts/Entity__.js +49 -9
  74. package/out/concepts/Entity__.js.map +1 -1
  75. package/out/concepts/Enum__.js +2 -2
  76. package/out/concepts/Enum__.js.map +1 -1
  77. package/out/concepts/ExternalDestination__.js +1 -1
  78. package/out/concepts/ForEachStatement__.d.ts.map +1 -1
  79. package/out/concepts/ForEachStatement__.js +10 -8
  80. package/out/concepts/ForEachStatement__.js.map +1 -1
  81. package/out/concepts/FrontendType__.js +1 -1
  82. package/out/concepts/FrontendType__.js.map +1 -1
  83. package/out/concepts/Frontend__.d.ts +0 -3
  84. package/out/concepts/Frontend__.d.ts.map +1 -1
  85. package/out/concepts/Frontend__.js +1 -25
  86. package/out/concepts/Frontend__.js.map +1 -1
  87. package/out/concepts/InterfaceParam__.d.ts +1 -0
  88. package/out/concepts/InterfaceParam__.d.ts.map +1 -1
  89. package/out/concepts/InterfaceParam__.js +35 -0
  90. package/out/concepts/InterfaceParam__.js.map +1 -1
  91. package/out/concepts/Interface__.d.ts +1 -0
  92. package/out/concepts/Interface__.d.ts.map +1 -1
  93. package/out/concepts/Interface__.js +45 -2
  94. package/out/concepts/Interface__.js.map +1 -1
  95. package/out/concepts/JSBlock__.d.ts.map +1 -1
  96. package/out/concepts/JSBlock__.js +1 -3
  97. package/out/concepts/JSBlock__.js.map +1 -1
  98. package/out/concepts/LogicItem__.d.ts +1 -1
  99. package/out/concepts/LogicItem__.d.ts.map +1 -1
  100. package/out/concepts/LogicItem__.js.map +1 -1
  101. package/out/concepts/Logic__.d.ts +12 -1
  102. package/out/concepts/Logic__.d.ts.map +1 -1
  103. package/out/concepts/Logic__.js +56 -21
  104. package/out/concepts/Logic__.js.map +1 -1
  105. package/out/concepts/MemberExpression__.d.ts +4 -0
  106. package/out/concepts/MemberExpression__.d.ts.map +1 -1
  107. package/out/concepts/MemberExpression__.js +16 -0
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/MetadataType__.js +2 -2
  110. package/out/concepts/MetadataType__.js.map +1 -1
  111. package/out/concepts/Module__.d.ts +7 -1
  112. package/out/concepts/Module__.d.ts.map +1 -1
  113. package/out/concepts/Module__.js +40 -2
  114. package/out/concepts/Module__.js.map +1 -1
  115. package/out/concepts/Namespace__.js +1 -1
  116. package/out/concepts/Namespace__.js.map +1 -1
  117. package/out/concepts/NewComposite__.d.ts +35 -3
  118. package/out/concepts/NewComposite__.d.ts.map +1 -1
  119. package/out/concepts/NewComposite__.js +465 -67
  120. package/out/concepts/NewComposite__.js.map +1 -1
  121. package/out/concepts/OperatePermissionV2__.d.ts +9 -1
  122. package/out/concepts/OperatePermissionV2__.d.ts.map +1 -1
  123. package/out/concepts/OperatePermissionV2__.js +24 -3
  124. package/out/concepts/OperatePermissionV2__.js.map +1 -1
  125. package/out/concepts/OqlQueryComponent__.d.ts +2 -0
  126. package/out/concepts/OqlQueryComponent__.d.ts.map +1 -1
  127. package/out/concepts/OqlQueryComponent__.js +10 -0
  128. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  129. package/out/concepts/OverriddenLogic__.d.ts.map +1 -1
  130. package/out/concepts/OverriddenLogic__.js +2 -1
  131. package/out/concepts/OverriddenLogic__.js.map +1 -1
  132. package/out/concepts/Param__.d.ts +1 -0
  133. package/out/concepts/Param__.d.ts.map +1 -1
  134. package/out/concepts/Param__.js +38 -2
  135. package/out/concepts/Param__.js.map +1 -1
  136. package/out/concepts/PermissionForSharedScope__.d.ts +34 -0
  137. package/out/concepts/PermissionForSharedScope__.d.ts.map +1 -0
  138. package/out/concepts/PermissionForSharedScope__.js +73 -0
  139. package/out/concepts/PermissionForSharedScope__.js.map +1 -0
  140. package/out/concepts/ProcessElementV2__.d.ts +4 -0
  141. package/out/concepts/ProcessElementV2__.d.ts.map +1 -1
  142. package/out/concepts/ProcessElementV2__.js +75 -10
  143. package/out/concepts/ProcessElementV2__.js.map +1 -1
  144. package/out/concepts/ProcessElement__.js +1 -1
  145. package/out/concepts/ProcessElement__.js.map +1 -1
  146. package/out/concepts/ProcessV2__.d.ts.map +1 -1
  147. package/out/concepts/ProcessV2__.js +1 -8
  148. package/out/concepts/ProcessV2__.js.map +1 -1
  149. package/out/concepts/Process__.js +1 -1
  150. package/out/concepts/Process__.js.map +1 -1
  151. package/out/concepts/QueryFieldExpression__.d.ts +5 -0
  152. package/out/concepts/QueryFieldExpression__.d.ts.map +1 -1
  153. package/out/concepts/QueryFieldExpression__.js +15 -4
  154. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  155. package/out/concepts/QueryFromExpression__.d.ts +1 -0
  156. package/out/concepts/QueryFromExpression__.d.ts.map +1 -1
  157. package/out/concepts/QueryFromExpression__.js +3 -0
  158. package/out/concepts/QueryFromExpression__.js.map +1 -1
  159. package/out/concepts/QueryJoinExpression__.d.ts +1 -0
  160. package/out/concepts/QueryJoinExpression__.d.ts.map +1 -1
  161. package/out/concepts/QueryJoinExpression__.js +3 -0
  162. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  163. package/out/concepts/Return__.d.ts +1 -0
  164. package/out/concepts/Return__.d.ts.map +1 -1
  165. package/out/concepts/Return__.js +39 -2
  166. package/out/concepts/Return__.js.map +1 -1
  167. package/out/concepts/Role__.js +1 -1
  168. package/out/concepts/Role__.js.map +1 -1
  169. package/out/concepts/SelectMembers__.d.ts +5 -0
  170. package/out/concepts/SelectMembers__.d.ts.map +1 -1
  171. package/out/concepts/SelectMembers__.js +66 -0
  172. package/out/concepts/SelectMembers__.js.map +1 -1
  173. package/out/concepts/SharedScope__.d.ts +38 -0
  174. package/out/concepts/SharedScope__.d.ts.map +1 -0
  175. package/out/concepts/SharedScope__.js +79 -0
  176. package/out/concepts/SharedScope__.js.map +1 -0
  177. package/out/concepts/StructureProperty__.d.ts +1 -0
  178. package/out/concepts/StructureProperty__.d.ts.map +1 -1
  179. package/out/concepts/StructureProperty__.js +37 -0
  180. package/out/concepts/StructureProperty__.js.map +1 -1
  181. package/out/concepts/Structure__.d.ts +1 -1
  182. package/out/concepts/Structure__.d.ts.map +1 -1
  183. package/out/concepts/Structure__.js +23 -30
  184. package/out/concepts/Structure__.js.map +1 -1
  185. package/out/concepts/SubLogic__.d.ts +3 -1
  186. package/out/concepts/SubLogic__.d.ts.map +1 -1
  187. package/out/concepts/SubLogic__.js +127 -2
  188. package/out/concepts/SubLogic__.js.map +1 -1
  189. package/out/concepts/TypeAnnotation__.d.ts +21 -0
  190. package/out/concepts/TypeAnnotation__.d.ts.map +1 -1
  191. package/out/concepts/TypeAnnotation__.js +82 -0
  192. package/out/concepts/TypeAnnotation__.js.map +1 -1
  193. package/out/concepts/TypeParam__.d.ts +1 -0
  194. package/out/concepts/TypeParam__.d.ts.map +1 -1
  195. package/out/concepts/TypeParam__.js +32 -0
  196. package/out/concepts/TypeParam__.js.map +1 -1
  197. package/out/concepts/Variable__.js +1 -1
  198. package/out/concepts/Variable__.js.map +1 -1
  199. package/out/concepts/ViewElement__.d.ts.map +1 -1
  200. package/out/concepts/ViewElement__.js +29 -1
  201. package/out/concepts/ViewElement__.js.map +1 -1
  202. package/out/concepts/View__.d.ts.map +1 -1
  203. package/out/concepts/View__.js +5 -2
  204. package/out/concepts/View__.js.map +1 -1
  205. package/out/concepts/basics/stdlib/nasl.processV2.d.ts.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.processV2.js +279 -129
  207. package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
  208. package/out/concepts/basics/stdlib/nasl.util.d.ts.map +1 -1
  209. package/out/concepts/basics/stdlib/nasl.util.js +238 -0
  210. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  211. package/out/concepts/index__.d.ts +2 -0
  212. package/out/concepts/index__.d.ts.map +1 -1
  213. package/out/concepts/index__.js +2 -0
  214. package/out/concepts/index__.js.map +1 -1
  215. package/out/concepts/utils/asserts.d.ts +204 -0
  216. package/out/concepts/utils/asserts.d.ts.map +1 -1
  217. package/out/concepts/utils/asserts.js +286 -15
  218. package/out/concepts/utils/asserts.js.map +1 -1
  219. package/out/concepts/utils/types.d.ts +16 -2
  220. package/out/concepts/utils/types.d.ts.map +1 -1
  221. package/out/semantics/localVarCollector.d.ts +11 -0
  222. package/out/semantics/localVarCollector.d.ts.map +1 -0
  223. package/out/semantics/localVarCollector.js +41 -0
  224. package/out/semantics/localVarCollector.js.map +1 -0
  225. package/out/semantics/semanticData.d.ts +6 -5
  226. package/out/semantics/semanticData.d.ts.map +1 -1
  227. package/out/semantics/semanticData.js +69 -62
  228. package/out/semantics/semanticData.js.map +1 -1
  229. package/out/service/engine.d.ts.map +1 -1
  230. package/out/service/engine.js +4 -0
  231. package/out/service/engine.js.map +1 -1
  232. package/out/service/entity2LogicNamespace.d.ts.map +1 -1
  233. package/out/service/entity2LogicNamespace.js +20 -9
  234. package/out/service/entity2LogicNamespace.js.map +1 -1
  235. package/out/service/formatTsUtils.d.ts +1 -1
  236. package/out/service/formatTsUtils.d.ts.map +1 -1
  237. package/out/service/formatTsUtils.js +38 -25
  238. package/out/service/formatTsUtils.js.map +1 -1
  239. package/out/service/genSlotVarRef.d.ts +3 -0
  240. package/out/service/genSlotVarRef.d.ts.map +1 -0
  241. package/out/service/genSlotVarRef.js +154 -0
  242. package/out/service/genSlotVarRef.js.map +1 -0
  243. package/out/service/getExtensionModules.d.ts.map +1 -1
  244. package/out/service/getExtensionModules.js +12 -0
  245. package/out/service/getExtensionModules.js.map +1 -1
  246. package/out/service/getLogics.d.ts.map +1 -1
  247. package/out/service/getLogics.js +24 -26
  248. package/out/service/getLogics.js.map +1 -1
  249. package/out/service/getMemberIdentifier.d.ts.map +1 -1
  250. package/out/service/getMemberIdentifier.js +104 -255
  251. package/out/service/getMemberIdentifier.js.map +1 -1
  252. package/out/service/getProcesses.d.ts.map +1 -1
  253. package/out/service/getProcesses.js +31 -29
  254. package/out/service/getProcesses.js.map +1 -1
  255. package/out/service/getProcessesV2.js +1 -1
  256. package/out/service/getProcessesV2.js.map +1 -1
  257. package/out/utils/traverse.d.ts +14 -2
  258. package/out/utils/traverse.d.ts.map +1 -1
  259. package/out/utils/traverse.js +28 -10
  260. package/out/utils/traverse.js.map +1 -1
  261. package/package.json +5 -5
@@ -489,6 +489,7 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
489
489
  };
490
490
  }
491
491
  *getRightCode(code, assignment, rightNode) {
492
+ code = code.replaceAll(/\/\/.*\n/g, '');
492
493
  code = code.replaceAll('\n', ' ');
493
494
  // 赋值语句的右侧或者集合内置函数的参数
494
495
  if ((asserts.isAssignment(assignment) && !assignment.right) ||
@@ -1099,8 +1100,8 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
1099
1100
  }
1100
1101
  }
1101
1102
  getSubLogics() {
1102
- if (this.app.naslServer?.isFirstScreen) {
1103
- return;
1103
+ if (this.app.naslServer?.isFirstScreen) { // 这个是真的只有 IDE 加载才走,ts 更新不走
1104
+ return this.subLogics;
1104
1105
  }
1105
1106
  const subLogics = this.findNaslNodeByBFS((node) => {
1106
1107
  if (asserts.isSubLogic(node)) {
@@ -1108,9 +1109,14 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
1108
1109
  }
1109
1110
  });
1110
1111
  this.subLogics = subLogics;
1112
+ return this.subLogics;
1111
1113
  }
1112
1114
  // 用于展示的名称
1113
1115
  get __name__() {
1116
+ if (this.parentNode?.parentNode?.concept === 'CallFunction') {
1117
+ const callfunc = this.parentNode?.parentNode;
1118
+ return `${callfunc?.calleeName || ''}_${this.name}`;
1119
+ }
1114
1120
  const callLogic = this.getAncestor('CallLogic');
1115
1121
  return `${callLogic?.calleeName || ''}_${this.name}`;
1116
1122
  }
@@ -1120,6 +1126,119 @@ let SubLogic = class SubLogic extends LogicItem__1.default {
1120
1126
  }
1121
1127
  return '';
1122
1128
  }
1129
+ toNaturalTS(state = (0, nasl_translator_1.createCompilerState)()) {
1130
+ let code = '';
1131
+ let logicName = this.name;
1132
+ code += `function ${logicName}`;
1133
+ code += `(`;
1134
+ this.params?.forEach((param, index) => {
1135
+ let curCode = '';
1136
+ if (param.name === 'event')
1137
+ curCode += '';
1138
+ else
1139
+ curCode += param.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1140
+ if (curCode && index !== this.params.length - 1)
1141
+ curCode += ', ';
1142
+ code += curCode;
1143
+ });
1144
+ code += ')';
1145
+ // 兼容 return 没有类型情况
1146
+ if (this.returns.length) {
1147
+ if (this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation) {
1148
+ code += ': ';
1149
+ const typeAnnotation = this.returns[0].typeAnnotation || this.returns[0].__TypeAnnotation;
1150
+ code += typeAnnotation?.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1151
+ }
1152
+ }
1153
+ code += ' {\n';
1154
+ this.variables.forEach((variable) => {
1155
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
1156
+ if (state?.typeMap?.[variable.nodePath]) {
1157
+ code += state?.typeMap?.[variable.nodePath];
1158
+ }
1159
+ else {
1160
+ code += variable.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1161
+ }
1162
+ code += ';\n';
1163
+ });
1164
+ this.returns.forEach((ret) => {
1165
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
1166
+ code += ret.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1167
+ code += ';\n';
1168
+ });
1169
+ if (!this.body.length || this.body.length === 2) {
1170
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}return ${this?.returns?.[0]?.name || ''};\n`;
1171
+ }
1172
+ else {
1173
+ this.body.forEach((item) => {
1174
+ let partialCode = '';
1175
+ if (item.toNaturalTS) {
1176
+ partialCode = item.toNaturalTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: (state.tabSize || 0) + 1, inline: false }));
1177
+ }
1178
+ else if (item.toEmbeddedTS) {
1179
+ partialCode = (0, utils_1.runGeneratorSync)(item.toEmbeddedTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: (state.tabSize || 0) + 1, inline: false })));
1180
+ }
1181
+ if (partialCode) {
1182
+ code += `${partialCode}\n`;
1183
+ }
1184
+ });
1185
+ }
1186
+ code += `${(0, nasl_translator_1.indent)(state.tabSize)}}`;
1187
+ return code;
1188
+ }
1189
+ toTextualNASL(state = (0, nasl_translator_1.createCompilerState)()) {
1190
+ let code = '';
1191
+ let logicName = this.name;
1192
+ code += `function ${logicName}`;
1193
+ code += `(`;
1194
+ this.params?.forEach((param, index) => {
1195
+ let curCode = '';
1196
+ if (param.name === 'event')
1197
+ curCode += '';
1198
+ else
1199
+ curCode += param.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1200
+ if (curCode && index !== this.params.length - 1)
1201
+ curCode += ', ';
1202
+ code += curCode;
1203
+ });
1204
+ code += ')';
1205
+ if (this.returns.length) {
1206
+ code += ' => ';
1207
+ this.returns.forEach((ret) => {
1208
+ code += ret.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1209
+ });
1210
+ }
1211
+ code += ' {\n';
1212
+ this.variables.forEach((variable) => {
1213
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}let `;
1214
+ if (state?.typeMap?.[variable.nodePath]) {
1215
+ code += state?.typeMap?.[variable.nodePath];
1216
+ }
1217
+ else {
1218
+ code += variable.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { inline: true }));
1219
+ }
1220
+ code += ';\n';
1221
+ });
1222
+ if (!this.body.length || this.body.length === 2) {
1223
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}return ${this?.returns?.[0]?.name || ''};\n`;
1224
+ }
1225
+ else {
1226
+ this.body.forEach((item) => {
1227
+ let partialCode = '';
1228
+ if (item.toTextualNASL) {
1229
+ partialCode = item.toTextualNASL((0, nasl_translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
1230
+ }
1231
+ else if (item.toEmbeddedTS) {
1232
+ partialCode = (0, utils_1.runGeneratorSync)(item.toEmbeddedTS((0, nasl_translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 })));
1233
+ }
1234
+ if (partialCode) {
1235
+ code += `${(0, nasl_translator_1.indent)(state.tabSize + 1)}${partialCode}\n`;
1236
+ }
1237
+ });
1238
+ }
1239
+ code += `${(0, nasl_translator_1.indent)(state.tabSize)}}`;
1240
+ return code;
1241
+ }
1123
1242
  };
1124
1243
  exports.SubLogic = SubLogic;
1125
1244
  __decorate([
@@ -1170,6 +1289,12 @@ __decorate([
1170
1289
  __decorate([
1171
1290
  nasl_translator_1.withSourceMapGenerator
1172
1291
  ], SubLogic.prototype, "toEmbeddedTSInProcess", null);
1292
+ __decorate([
1293
+ (0, nasl_translator_1.withSourceMap)()
1294
+ ], SubLogic.prototype, "toNaturalTS", null);
1295
+ __decorate([
1296
+ (0, nasl_translator_1.withSourceMap)()
1297
+ ], SubLogic.prototype, "toTextualNASL", null);
1173
1298
  exports.SubLogic = SubLogic = SubLogic_1 = __decorate([
1174
1299
  (0, decorators_1.concept)('子逻辑')
1175
1300
  ], SubLogic);
@@ -1 +1 @@
1
- {"version":3,"file":"SubLogic__.js","sourceRoot":"","sources":["../../src/concepts/SubLogic__.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAAwH;AACxH,2DAS+B;AAa/B,4DAAyD;AAOzD,8CAAyF;AAGzF,gDAAkC;AAElC,yDAA2C;AAC3C,+DAAsC;AAKtC;;GAEG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,oBAAS;;IACrC,SAAS;aACO,gBAAW,GAAW,UAAU,AAArB,CAAsB;IACjD;;;OAGG;aACI,eAAU,GAAY,KAAK,AAAjB,CAAkB;IACnC,UAAU;aACM,qBAAgB,GAAa,CAAC,WAAW,EAAE,UAAU,CAAC,AAAtC,CAAuC;IAgEvE;;OAEG;IACH,YAAY,MAA0B;QACpC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAQ,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,CAAC,MAAM,CAAC,CAAC;QA7DhB;;WAEG;QAEH,SAAI,GAAW,EAAE,CAAC;QAElB;;WAEG;QAMH,WAAM,GAAiB,EAAE,CAAC;QAE1B;;WAEG;QAMH,YAAO,GAAkB,EAAE,CAAC;QAE5B;;WAEG;QAMH,cAAS,GAAoB,EAAE,CAAC;QAEhC;;WAEG;QAMH,SAAI,GAA+B,EAAE,CAAC;QAEtC;;WAEG;QAMH,eAAU,GAA+B,EAAE,CAAC;QA2wB5C,kFAAkF;QAClF,gEAAgE;QAChE,uBAAuB;QACvB,kFAAkF;QAElF,uBAAkB,GAAoB,EAAE,CAAC;QAovBzC,cAAS,GAAe,EAAE,CAAC;QA5/CzB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,MAAM,GAAG;YACb,IAAI;SACL,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,GAAG,MAAM;YACT,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,IAAI,GAAG,QAAQ;QAChC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,cAAc,CAAC,OAAwC,EAAE,KAAa;QACpE,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,IAAA,kCAAqB,EAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,KAAY,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE;aAChC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,KAAK,GAAG,OAAO,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,GAAG,OAAO;aACX,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAoBD,aAAa,CAAC,OAAwC,EAAE,KAAa;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,SAAS,CAAC,OAAyC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAqBD,QAAQ,CAAC,OAAyC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAc,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,IAAI,GAAG,QAAQ;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,eAAe,CAAC,OAA0C,EAAE,KAAa;QACvE,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE;aACjC,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,GAAG,GAAG,OAAO,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,GAAG,OAAO;aACX,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAoBD,cAAc,CAAC,OAA0C,EAAE,KAAa;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,UAAU,CAAC,OAA2C;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAqBD,SAAS,CAAC,OAA2C;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CAAC,IAAI,GAAG,WAAW;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,iBAAiB,CAAC,OAA8C,EAAE,KAAa;QAC7E,MAAM,eAAe,GAAQ,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAC;QACnD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE;aACnC,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,QAAQ,GAAG,OAAO,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,GAAG,OAAO;aACX,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAoBD,gBAAgB,CAAC,OAA8C,EAAE,KAAa;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,YAAY,CAAC,OAA+C;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAqBD,WAAW,CAAC,OAA+C;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAc,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,mBAAmB,CAAC,OAA2D,EAAE,KAAa;QAC5F,MAAM,gBAAgB,GAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,IAAA,kCAAqB,EAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAA8B,CAAC;QACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,SAAS,CAAC,IAAI,CACxB;gBACE,GAAG,gBAAgB;gBACnB,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,IAAI,EACJ,MAAM,CACP,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAcD,kBAAkB,CAAC,OAA2D,EAAE,KAAa;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,cAAc,CAAC,OAA4D;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAcD,aAAa,CAAC,OAA4D;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAc,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,yBAAyB,CAAC,OAA2D,EAAE,KAAa;QAClG,MAAM,gBAAgB,GAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,IAAA,kCAAqB,EAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAA8B,CAAC;QACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,SAAS,CAAC,IAAI,CACxB;gBACE,GAAG,gBAAgB;gBACnB,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAcD,wBAAwB,CAAC,OAA2D,EAAE,KAAa;QACjG,MAAM,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,oBAAoB,CAAC,OAA4D;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAcD,mBAAmB,CAAC,OAA4D;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAc,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAcD,WAAW,CAAC,OAAuB;QACjC,IAAI,KAAY,CAAC;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,GAAI,IAAI,CAAC,MAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAcD,YAAY,CAAC,OAAwB;QACnC,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,GAAI,IAAI,CAAC,OAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAcD,cAAc,CAAC,OAA0B;QACvC,IAAI,QAAkB,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,QAAQ,GAAI,IAAI,CAAC,SAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAQD,gBAAgB,CAAC,OAA4B;QAC3C,IAAI,SAAS,GAAwB,OAAO,CAAC;QAC7C,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAQD,sBAAsB,CAAC,OAA4B;QACjD,IAAI,SAAS,GAAwB,OAAO,CAAC;QAC7C,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IASD,IAAI,WAAW;QACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAwB,CAAC;QACzF,OAAO,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,eAAiD,EAAE;QACrE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAuB;QAC/C,SAAS;QACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY;QACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChG,IAAI,IAAI,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAuB,EAAE,IAAa;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,SAAS,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;gBACnB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,UAAU,CAAC;QAEnB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAK7B,OAAO;YACL,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF,CAAC;IACJ,CAAC;IAED,CAAC,YAAY,CAAC,IAAY,EAAE,UAAuD,EAAE,SAAc;QACjG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClC,qBAAqB;QACrB,IACE,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACvD,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;gBACjC,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC3D,CAAC,UAAU,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACjG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACtD,MAAM,IAAI,GAAmB,UAAU;gBACrC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,IAAK,UAAmC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACxG,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;YACnD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,iCAAiC,IAAI,GAAG,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;YACzC,IAAI,UAAU,EAAE,CAAC;gBACf;;;;;mBAKG;gBACH,MAAM,WAAW,GAAsB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAC1F,MAAM,IAAI,GAAG,cAAc,UAAU,IAAI,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;gBAClG,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;gBACnD,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,iCAAiC,IAAI,GAAG,CAAC;gBAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iCAAiC;QACjC,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3F,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QACxF,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACD,SAAS;QACT,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAiB,CAAC;QAC5E,IAAI,YAAY,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAsB,CAAC;YAC3F,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,qBAAqB;QACrB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,iBAAiB,CAAC,IAAY,EAAE,gBAAkC;QACjE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACxE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAC3B,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,WAAW,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QACpG,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,oBAAoB,CACnB,IAAY,EACZ,iBAAoC,EACpC,YAA0B;QAE1B,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;YACtF,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC1F,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAC3B,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,gBAAgB,KAAK,gBAAgB;oBACnC,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC;wBACvC,CAAC,CAAC,GAAG,gBAAgB,cAAc;wBACnC,CAAC,CAAC,GAAG,gBAAgB,WAAW,CACnC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QAChG,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,cAAc,CAAiB,CAAC;QACpF,IAAI,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;YACzC,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAsB,CAAC;YACnG,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,QAAgB,EAAE,WAAmB;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACjC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG;gBAAE,OAAO,GAAG,WAAW,GAAG,CAAC;YACpD,IAAI,EAAE,KAAK,QAAQ;gBAAE,OAAO,WAAW,CAAC;YAExC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,QAAQ,GAAG,EAAE,OAAO,WAAW,GAAG,CAAC,CAAC;YACvG,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,CAAC,mBAAmB,CAAC,IAAY,EAAE,SAAoB;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAU,CAAC;QACtD,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK;gBACzE,IAAI,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,QAAQ,IAAI,GAAG,CAAC;wBAChB,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,gBAAgB,OAAO,QAAQ,GAAG,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QACpE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGA,AAAD,CAAC,YAAY,CAAC,KAAK,GAAG,IAAA,qCAAmB,GAAE,EAAE,MAAe,EAAE,gBAA0B;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,gBAAgB;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,mCAAmC;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEtD,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAElC,IAAI,IAAI,GAAG,CAAC;QACZ,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;gBACzE,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3D,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;QACZ,MAAM,UAAU,GAAmE,IAAI,GAAG,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAmD,IAAI,GAAG,EAAE,CAAC;QACzF,KAAK,CAAC,CAAC,IAAI,2BAAY,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAExF,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;QAEd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,2BAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO;QACP,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9E,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;oBACrG,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3F,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACnG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACzB,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU;4BAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,kDAAkD;wBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;4BACxG,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gCACxG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BAC9F,CAAC;iCAAM,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACpG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BACtG,CAAC;iCAAM,CAAC;gCACN,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,IAAI,KAAK,CAAC;4BACd,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;4BACnB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAE,UAAyB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACzE,CAAG,UAAyB,CAAC,KAAa,EAAE,cAAc,EAC1D,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAC5F,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,SAAS,EACjF,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,kDAAkD;gBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACxG,IAAI,IAAI,IAAI,CAAC;oBACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,KAAK,CAAC;oBACd,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,qBAAqB;oBACrB,IACE,SAAS;wBACT,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;wBAC/B,SAAS,CAAC,SAAS;wBACnB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EACrC,CAAC;wBACD,SAAS,IAAI,MAAM,CAAC;oBACtB,CAAC;oBACD,SAAS;wBACP,SAAS,IAAI,SAAS,CAAC,YAAY;4BACjC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC1E,CAAC,CAAC,WAAW,CAAC;oBAClB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9G,EAAE;YACF,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,KAAK,CAAC,CAAC,IAAA,8BAAW,EAChB;gBACE;oBACE,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,UAAU,CAAC,eAAe;iBACjC;gBACD;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,UAAU,CAAC,gBAAgB;iBAClC;aACF,EACD,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;oBACrC,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,wCAAwC;oBACxC,IACE,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,CAAC;wBAChG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC1F,CAAC;wBACD,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CACxC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE;4BACtB,MAAM,EAAE,IAAI;yBACb,CAAC,CACH,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;yBAAM,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC/F,sBAAsB;wBACtB,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;oBAC5G,CAAC;yBAAM,IACJ,QAAgB,EAAE,cAAc;wBACjC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EACpE,CAAC;wBACD,IAAI,IAAI,IAAI,CAAC;wBACb,IAAI,IAAI,KAAK,CAAC,CAAE,QAAgB,EAAE,cAAc,EAAE,YAAY,CAC5D,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBAC1G,CAAC;oBACD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC;YACH,CAAC,CACF,CAAC;YACF,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC;YAC5B,MAAM,OAAO,GAAI,UAA2B,CAAC,eAAe,CAAC;YAC7D,MAAM,QAAQ,GAAI,UAA2B,CAAC,gBAAgB,CAAC;YAC/D,IAAK,UAA2B,CAAC,cAAc,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACvE,IAAI,IAAI,sCAAsC,QAAQ,mBAAmB,QAAQ,GAAG,CAAC;YACvF,CAAC;iBAAM,IAAK,UAA2B,CAAC,eAAe,IAAI,QAAQ,EAAE,CAAC;gBACpE,IAAI,IAAI,wCAAwC,QAAQ,IAAI,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,OAAO,KAAK,CAAC,cAAc,CAAC;QAE5B,iEAAiE;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzF,IAAI,IAAI,IAAI,CAAC;YACf,CAAC;YACD,IAAI,IAAI,IAAI,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC7D,IAAI,IAAI,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,IAAI,iCAAiC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;gBAC/D,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB;QACxB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;YACrE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,CAAC,iBAAiB,CAAC,GAAoC,EAAE,IAAY;gBAC5E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,IAAI,oBAAoB,CAAC;gBACtF,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;oBACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;wBACxD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClG,IAAI,IAAI,KAAK,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACtD,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAGA,AAAD,CAAC,qBAAqB,CACpB,KAAK,GAAG,IAAA,qCAAmB,GAAE,EAC7B,WAAoB,EACpB,MAAgB,EAChB,MAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,gBAAgB;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,MAAM;YAAE,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;;YAC7D,IAAI,IAAI,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,gBAAgB;QACvD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;YACzE,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7E,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,IAAI,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,OAAO,CAAC;QAChB,IAAI,IAAI,WAAW,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,IAAI,CAAC;QAEb,0BAA0B;QAC1B,MAAM,UAAU,GAAmE,IAAI,GAAG,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAmD,IAAI,GAAG,EAAE,CAAC;QACzF,KAAK,CAAC,CAAC,IAAI,2BAAY,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAExF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QACtD,sDAAsD;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,GAAG;YACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3E,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9E,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;oBACrG,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3F,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACnG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACzB,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU;4BAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,kDAAkD;wBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;4BACxG,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gCACxG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BAC9F,CAAC;iCAAM,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACpG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BACtG,CAAC;iCAAM,CAAC;gCACN,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,IAAI,KAAK,CAAC;4BACd,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;4BACnB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAE,UAAyB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACzE,CAAG,UAAyB,CAAC,KAAa,EAAE,cAAc,EAC1D,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAC5F,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,SAAS,EACjF,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,kDAAkD;gBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACxG,IAAI,IAAI,IAAI,CAAC;oBACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,KAAK,CAAC;oBACd,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,qBAAqB;oBACrB,IACE,SAAS;wBACT,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;wBAC/B,SAAS,CAAC,SAAS;wBACnB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EACrC,CAAC;wBACD,SAAS,IAAI,MAAM,CAAC;oBACtB,CAAC;oBACD,SAAS;wBACP,SAAS,IAAI,SAAS,CAAC,YAAY;4BACjC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC1E,CAAC,CAAC,WAAW,CAAC;oBAClB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,OAAO,KAAK,CAAC,cAAc,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,IAAK,IAAI,CAAC,UAAkB,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1B,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,IAAI,iCAAiC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,IACL,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBACrB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;gBACrC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,CAAC;gBACD,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iCAAiC,CAAC;YAC9E,CAAC;YACD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;gBAC/D,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB;QACxB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;YACrE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,IAAI,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9C,IAAI,IAAI,IAAI,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAe;QACtD,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,QAAQ,CACZ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,EACd;YACE,IAAI,EAAE,WAAW;YACjB,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;SAC1D,CACF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACF,IAAK,CAAC,aAAa,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAID,YAAY;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAuB,CAAC;IAC3C,CAAC;IAED,UAAU;IACV,IAAI,QAAQ;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QAC7D,OAAO,GAAG,SAAS,EAAE,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;;AAnmDU,4BAAQ;AAgBV;IAFR,IAAA,qBAAQ,GAAE;IACX,aAAa;yCACiB;AAK9B;IADC,IAAA,qBAAQ,GAAE;sCACO;AAUlB;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;wCACwB;AAU1B;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;yCAC0B;AAU5B;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;2CAC8B;AAUhC;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;sCACoC;AAUtC;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;4CAC0C;AAuhC3C;IADA,wCAAsB;4CAmStB;AAGA;IADA,wCAAsB;qDAmLtB;mBArjDU,QAAQ;IADpB,IAAA,oBAAO,EAAC,KAAK,CAAC;GACF,QAAQ,CAwmDpB;AAED,kBAAe,QAAQ,CAAC;AACxB,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
1
+ {"version":3,"file":"SubLogic__.js","sourceRoot":"","sources":["../../src/concepts/SubLogic__.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAAqJ;AACrJ,2DAS+B;AAa/B,4DAAyD;AAOzD,8CAAyF;AAGzF,gDAAkC;AAElC,yDAA2C;AAC3C,+DAAsC;AAKtC;;GAEG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,oBAAS;;IACrC,SAAS;aACO,gBAAW,GAAW,UAAU,AAArB,CAAsB;IACjD;;;OAGG;aACI,eAAU,GAAY,KAAK,AAAjB,CAAkB;IACnC,UAAU;aACM,qBAAgB,GAAa,CAAC,WAAW,EAAE,UAAU,CAAC,AAAtC,CAAuC;IAgEvE;;OAEG;IACH,YAAY,MAA0B;QACpC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAQ,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,CAAC,MAAM,CAAC,CAAC;QA7DhB;;WAEG;QAEH,SAAI,GAAW,EAAE,CAAC;QAElB;;WAEG;QAMH,WAAM,GAAiB,EAAE,CAAC;QAE1B;;WAEG;QAMH,YAAO,GAAkB,EAAE,CAAC;QAE5B;;WAEG;QAMH,cAAS,GAAoB,EAAE,CAAC;QAEhC;;WAEG;QAMH,SAAI,GAA+B,EAAE,CAAC;QAEtC;;WAEG;QAMH,eAAU,GAA+B,EAAE,CAAC;QA2wB5C,kFAAkF;QAClF,gEAAgE;QAChE,uBAAuB;QACvB,kFAAkF;QAElF,uBAAkB,GAAoB,EAAE,CAAC;QAqvBzC,cAAS,GAAe,EAAE,CAAC;QA7/CzB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,MAAM,GAAG;YACb,IAAI;SACL,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,GAAG,MAAM;YACT,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,IAAI,GAAG,QAAQ;QAChC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,cAAc,CAAC,OAAwC,EAAE,KAAa;QACpE,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,IAAA,kCAAqB,EAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,KAAY,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE;aAChC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,KAAK,GAAG,OAAO,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB;gBACE,GAAG,YAAY;gBACf,GAAG,OAAO;aACX,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAoBD,aAAa,CAAC,OAAwC,EAAE,KAAa;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,SAAS,CAAC,OAAyC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAqBD,QAAQ,CAAC,OAAyC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAc,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,IAAI,GAAG,QAAQ;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,eAAe,CAAC,OAA0C,EAAE,KAAa;QACvE,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,IAAA,kCAAqB,EAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE;aACjC,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,GAAG,GAAG,OAAO,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,CAAC,IAAI,CACf;gBACE,GAAG,UAAU;gBACb,GAAG,OAAO;aACX,EACD,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAoBD,cAAc,CAAC,OAA0C,EAAE,KAAa;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,UAAU,CAAC,OAA2C;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAqBD,SAAS,CAAC,OAA2C;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAc,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CAAC,IAAI,GAAG,WAAW;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAuBD,iBAAiB,CAAC,OAA8C,EAAE,KAAa;QAC7E,MAAM,eAAe,GAAQ,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAC;QACnD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE;aACnC,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,IAAI,EAAE,OAAO;aACd,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,QAAQ,GAAG,OAAO,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB;gBACE,GAAG,eAAe;gBAClB,GAAG,OAAO;aACX,EACD,IAAI,EACJ,WAAW,CACZ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAoBD,gBAAgB,CAAC,OAA8C,EAAE,KAAa;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAuBD,YAAY,CAAC,OAA+C;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAqBD,WAAW,CAAC,OAA+C;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAc,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,mBAAmB,CAAC,OAA2D,EAAE,KAAa;QAC5F,MAAM,gBAAgB,GAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,IAAA,kCAAqB,EAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAA8B,CAAC;QACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,SAAS,CAAC,IAAI,CACxB;gBACE,GAAG,gBAAgB;gBACnB,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,IAAI,EACJ,MAAM,CACP,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAcD,kBAAkB,CAAC,OAA2D,EAAE,KAAa;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,cAAc,CAAC,OAA4D;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAcD,aAAa,CAAC,OAA4D;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAc,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,yBAAyB,CAAC,OAA2D,EAAE,KAAa;QAClG,MAAM,gBAAgB,GAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,IAAA,kCAAqB,EAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAA8B,CAAC;QACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc;YACtC,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,SAAS,CAAC,IAAI,CACxB;gBACE,GAAG,gBAAgB;gBACnB,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAcD,wBAAwB,CAAC,OAA2D,EAAE,KAAa;QACjG,MAAM,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,oBAAoB,CAAC,OAA4D;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAcD,mBAAmB,CAAC,OAA4D;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAc,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC;YACV,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAcD,WAAW,CAAC,OAAuB;QACjC,IAAI,KAAY,CAAC;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,GAAI,IAAI,CAAC,MAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAcD,YAAY,CAAC,OAAwB;QACnC,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,GAAI,IAAI,CAAC,OAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAcD,cAAc,CAAC,OAA0B;QACvC,IAAI,QAAkB,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,QAAQ,GAAI,IAAI,CAAC,SAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAQD,gBAAgB,CAAC,OAA4B;QAC3C,IAAI,SAAS,GAAwB,OAAO,CAAC;QAC7C,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAQD,sBAAsB,CAAC,OAA4B;QACjD,IAAI,SAAS,GAAwB,OAAO,CAAC;QAC7C,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IASD,IAAI,WAAW;QACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAwB,CAAC;QACzF,OAAO,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,eAAiD,EAAE;QACrE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAuB;QAC/C,SAAS;QACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,YAAY;QACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChG,IAAI,IAAI,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAuB,EAAE,IAAa;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,SAAS,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;gBACnB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,UAAU,CAAC;QAEnB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAK7B,OAAO;YACL,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF,CAAC;IACJ,CAAC;IAED,CAAC,YAAY,CAAC,IAAY,EAAE,UAAuD,EAAE,SAAc;QACjG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClC,qBAAqB;QACrB,IACE,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACvD,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;gBACjC,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC3D,CAAC,UAAU,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACjG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACtD,MAAM,IAAI,GAAkB,UAAU;gBACpC,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,IAAK,UAAmC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACxG,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;YACnD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,iCAAiC,IAAI,GAAG,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;YACzC,IAAI,UAAU,EAAE,CAAC;gBACf;;;;;mBAKG;gBACH,MAAM,WAAW,GAAsB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAC1F,MAAM,IAAI,GAAG,cAAc,UAAU,IAAI,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;gBAClG,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;gBACnD,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,iCAAiC,IAAI,GAAG,CAAC;gBAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iCAAiC;QACjC,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3F,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QACxF,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACD,SAAS;QACT,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAiB,CAAC;QAC5E,IAAI,YAAY,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAsB,CAAC;YAC3F,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,qBAAqB;QACrB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,iBAAiB,CAAC,IAAY,EAAE,gBAAkC;QACjE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACxE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAC3B,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,WAAW,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QACpG,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,oBAAoB,CACnB,IAAY,EACZ,iBAAoC,EACpC,YAA0B;QAE1B,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;YACtF,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC1F,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAC3B,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,gBAAgB,KAAK,gBAAgB;oBACnC,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC;wBACrC,CAAC,CAAC,GAAG,gBAAgB,cAAc;wBACnC,CAAC,CAAC,GAAG,gBAAgB,WAAW,CACrC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAqB,CAAC;QAChG,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,cAAc,CAAiB,CAAC;QACpF,IAAI,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;YACzC,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAsB,CAAC;YACnG,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,QAAgB,EAAE,WAAmB;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACjC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG;gBAAE,OAAO,GAAG,WAAW,GAAG,CAAC;YACpD,IAAI,EAAE,KAAK,QAAQ;gBAAE,OAAO,WAAW,CAAC;YAExC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,QAAQ,GAAG,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,QAAQ,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,QAAQ,GAAG,EAAE,OAAO,WAAW,GAAG,CAAC,CAAC;YACvG,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,CAAC,mBAAmB,CAAC,IAAY,EAAE,SAAoB;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAU,CAAC;QACtD,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK;gBACzE,IAAI,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,QAAQ,IAAI,GAAG,CAAC;wBAChB,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,gBAAgB,OAAO,QAAQ,GAAG,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QACpE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGA,AAAD,CAAC,YAAY,CAAC,KAAK,GAAG,IAAA,qCAAmB,GAAE,EAAE,MAAe,EAAE,gBAA0B;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,gBAAgB;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,mCAAmC;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEtD,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAElC,IAAI,IAAI,GAAG,CAAC;QACZ,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;gBACzE,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3D,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;QACZ,MAAM,UAAU,GAAmE,IAAI,GAAG,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAmD,IAAI,GAAG,EAAE,CAAC;QACzF,KAAK,CAAC,CAAC,IAAI,2BAAY,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAExF,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;QAEd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,2BAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO;QACP,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9E,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;oBACrG,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3F,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACvG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU;4BAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,kDAAkD;wBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;4BACxG,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gCACxG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BAC9F,CAAC;iCAAM,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACpG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BACtG,CAAC;iCAAM,CAAC;gCACN,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,IAAI,KAAK,CAAC;4BACd,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;4BACnB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAE,UAAyB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACzE,CAAG,UAAyB,CAAC,KAAa,EAAE,cAAc,EAC1D,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAC5F,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,SAAS,EACjF,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,kDAAkD;gBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACxG,IAAI,IAAI,IAAI,CAAC;oBACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,KAAK,CAAC;oBACd,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,qBAAqB;oBACrB,IACE,SAAS;wBACT,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;wBAC/B,SAAS,CAAC,SAAS;wBACnB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EACrC,CAAC;wBACD,SAAS,IAAI,MAAM,CAAC;oBACtB,CAAC;oBACD,SAAS;wBACP,SAAS,IAAI,SAAS,CAAC,YAAY;4BACjC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC1E,CAAC,CAAC,WAAW,CAAC;oBAClB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9G,EAAE;YACF,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,KAAK,CAAC,CAAC,IAAA,8BAAW,EAChB;gBACE;oBACE,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,UAAU,CAAC,eAAe;iBACjC;gBACD;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,UAAU,CAAC,gBAAgB;iBAClC;aACF,EACD,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;oBACrC,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,wCAAwC;oBACxC,IACE,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,CAAC;wBAChG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC1F,CAAC;wBACD,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CACxC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE;4BACtB,MAAM,EAAE,IAAI;yBACb,CAAC,CACH,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;yBAAM,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC/F,sBAAsB;wBACtB,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;oBAC5G,CAAC;yBAAM,IACJ,QAAgB,EAAE,cAAc;wBACjC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EACpE,CAAC;wBACD,IAAI,IAAI,IAAI,CAAC;wBACb,IAAI,IAAI,KAAK,CAAC,CAAE,QAAgB,EAAE,cAAc,EAAE,YAAY,CAC5D,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,KAAK,CAAC;wBACd,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBAC1G,CAAC;oBACD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC;YACH,CAAC,CACF,CAAC;YACF,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC;YAC5B,MAAM,OAAO,GAAI,UAA2B,CAAC,eAAe,CAAC;YAC7D,MAAM,QAAQ,GAAI,UAA2B,CAAC,gBAAgB,CAAC;YAC/D,IAAK,UAA2B,CAAC,cAAc,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACvE,IAAI,IAAI,sCAAsC,QAAQ,mBAAmB,QAAQ,GAAG,CAAC;YACvF,CAAC;iBAAM,IAAK,UAA2B,CAAC,eAAe,IAAI,QAAQ,EAAE,CAAC;gBACpE,IAAI,IAAI,wCAAwC,QAAQ,IAAI,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,OAAO,KAAK,CAAC,cAAc,CAAC;QAE5B,iEAAiE;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzF,IAAI,IAAI,IAAI,CAAC;YACf,CAAC;YACD,IAAI,IAAI,IAAI,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC7D,IAAI,IAAI,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,IAAI,iCAAiC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;gBAC/D,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB;QACxB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;YACrE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,CAAC,iBAAiB,CAAC,GAAoC,EAAE,IAAY;gBAC5E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,IAAI,oBAAoB,CAAC;gBACtF,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;oBACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;wBACxD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClG,IAAI,IAAI,KAAK,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACtD,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAGA,AAAD,CAAC,qBAAqB,CACpB,KAAK,GAAG,IAAA,qCAAmB,GAAE,EAC7B,WAAoB,EACpB,MAAgB,EAChB,MAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,gBAAgB;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,MAAM;YAAE,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;;YAC7D,IAAI,IAAI,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,gBAAgB;QACvD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK;YACzE,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7E,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,IAAI,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,OAAO,CAAC;QAChB,IAAI,IAAI,WAAW,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,IAAI,CAAC;QAEb,0BAA0B;QAC1B,MAAM,UAAU,GAAmE,IAAI,GAAG,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAmD,IAAI,GAAG,EAAE,CAAC;QACzF,KAAK,CAAC,CAAC,IAAI,2BAAY,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAExF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;QACtD,sDAAsD;QAEtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,GAAG;YACjE,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3E,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,KAAK,CAAC,CAAC,IAAA,+BAAY,EAAC,UAAU,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9E,oEAAoE;YACpE,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAC9D,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;oBACrG,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3F,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACvG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU;4BAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,kDAAkD;wBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;4BACxG,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gCACxG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BAC9F,CAAC;iCAAM,IAAI,SAAS,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACpG,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;4BACtG,CAAC;iCAAM,CAAC;gCACN,IAAI,IAAI,IAAI,CAAC;gCACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,IAAI,KAAK,CAAC;4BACd,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;4BACnB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAE,UAAyB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACzE,CAAG,UAAyB,CAAC,KAAa,EAAE,cAAc,EAC1D,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,oBAAoB,EAC5F,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,IACJ,UAAyB,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc;gBAC1D,UAAyB,CAAC,KAAa,EAAE,cAAc,EAAE,QAAQ,KAAK,SAAS,EACjF,CAAC;gBACD,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,IAAI,IAAI,KAAK,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAS,UAAyB,CAAC,KAAK,CAAC;gBACxD,kDAAkD;gBAClD,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACxG,IAAI,IAAI,IAAI,CAAC;oBACb,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC9F,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,KAAK,CAAC;oBACd,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,qBAAqB;oBACrB,IACE,SAAS;wBACT,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;wBAC/B,SAAS,CAAC,SAAS;wBACnB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EACrC,CAAC;wBACD,SAAS,IAAI,MAAM,CAAC;oBACtB,CAAC;oBACD,SAAS;wBACP,SAAS,IAAI,SAAS,CAAC,YAAY;4BACjC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC1E,CAAC,CAAC,WAAW,CAAC;oBAClB,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,OAAO,KAAK,CAAC,cAAc,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,IAAK,IAAI,CAAC,UAAkB,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1B,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,IAAI,iCAAiC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,IACL,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBACrB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;gBACrC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,CAAC;gBACD,IAAI,IAAI,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iCAAiC,CAAC;YAC9E,CAAC;YACD,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;gBAC/D,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,wBAAwB;QACxB,KAAK,CAAC,CAAC,IAAA,8BAAW,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,IAAI;YACrE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,IAAI,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9C,IAAI,IAAI,IAAI,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAe;QACtD,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,QAAQ,CACZ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,EACd;YACE,IAAI,EAAE,WAAW;YACjB,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;SAC1D,CACF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACF,IAAK,CAAC,aAAa,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAID,YAAY;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,2BAA2B;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAuB,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,UAAU;IACV,IAAI,QAAQ;QACV,IAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,KAAK,cAAc,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;YAC7C,OAAO,GAAG,QAAQ,EAAE,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAc,CAAC;QAC7D,OAAO,GAAG,SAAS,EAAE,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,CAAC,KAAK,GAAG,IAAA,qCAAmB,GAAE;QACvC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,EAAE,CAAC;;gBACrC,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,IAAI,CAAC;YACjE,IAAI,IAAI,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,CAAC;QAEZ,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACvE,IAAI,IAAI,IAAI,CAAC;gBACb,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC1F,IAAI,IAAI,cAAc,EAAE,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,IAAI,IAAI,MAAM,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,WAAW,GAAG,EAAE,CAAA;gBACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChH,CAAC;qBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,WAAW,GAAG,IAAA,wBAAO,EAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;gBACzH,CAAC;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,IAAI,GAAG,WAAW,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAK,GAAG,IAAA,qCAAmB,GAAE;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,EAAE,CAAC;;gBACrC,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/E,IAAI,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,IAAI,CAAC;YACjE,IAAI,IAAI,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,CAAC;QAEZ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,IAAI,MAAM,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,MAAM,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,IAAI,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,WAAW,GAAG,EAAE,CAAA;gBACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5F,CAAC;qBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,WAAW,GAAG,IAAA,wBAAO,EAAC,IAAI,CAAC,YAAY,CAAC,IAAA,4BAAU,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,IAAA,wBAAM,EAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;;AAxtDU,4BAAQ;AAgBV;IAFR,IAAA,qBAAQ,GAAE;IACX,aAAa;yCACiB;AAK9B;IADC,IAAA,qBAAQ,GAAE;sCACO;AAUlB;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;wCACwB;AAU1B;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;yCAC0B;AAU5B;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;2CAC8B;AAUhC;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;sCACoC;AAUtC;IALC,IAAA,qBAAQ,EAAC;QACR,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,EAAE;KACjB,CAAC;4CAC0C;AAwhC3C;IADA,wCAAsB;4CAmStB;AAGA;IADA,wCAAsB;qDAmLtB;AAqDD;IADC,IAAA,+BAAa,GAAE;2CA0Df;AAED;IADC,IAAA,+BAAa,GAAE;6CAmDf;mBAxtDU,QAAQ;IADpB,IAAA,oBAAO,EAAC,KAAK,CAAC;GACF,QAAQ,CA6tDpB;AAED,kBAAe,QAAQ,CAAC;AACxB,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
@@ -303,6 +303,12 @@ export declare class TypeAnnotation extends BaseNode {
303
303
  * @description 递归的严格判断类型是否相等
304
304
  */
305
305
  isStrictSame(typeAnnotation: TypeAnnotation): boolean;
306
+ /**
307
+ * 如果当前类型与对比类型中有一个为范型则返回true
308
+ * 否则返回 isStrictSame 对应结果
309
+ * @param typeAnnotation
310
+ */
311
+ isSimilarTo(typeAnnotation: TypeAnnotation): boolean;
306
312
  isSystemType(): boolean;
307
313
  /**
308
314
  * 是否和Error类型有关
@@ -318,6 +324,21 @@ export declare class TypeAnnotation extends BaseNode {
318
324
  _insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number): StructureProperty;
319
325
  _addProperty(options?: string | Partial<StructureProperty> | StructureProperty): StructureProperty;
320
326
  addProperty(options?: string | Partial<StructureProperty> | StructureProperty): StructureProperty;
327
+ /**
328
+ * 获取类型对应的结构
329
+ * @param app
330
+ * @returns
331
+ */
332
+ getStructure(app: App): any;
333
+ /**
334
+ * 收集类型中的属性
335
+ * @param app
336
+ * @param prefix
337
+ * @param propertyMap
338
+ * @param depth
339
+ * @returns
340
+ */
341
+ collectPropertyMap(app: App, prefix?: string, propertyMap?: Map<any, any>, depth?: number): Map<any, any>;
321
342
  }
322
343
  export default TypeAnnotation;
323
344
  //# sourceMappingURL=TypeAnnotation__.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeAnnotation__.d.ts","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeAnnotation__.d.ts","sourceRoot":"","sources":["../../src/concepts/TypeAnnotation__.ts"],"names":[],"mappings":"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"}
@@ -1115,6 +1115,17 @@ let TypeAnnotation = class TypeAnnotation extends BaseNode_1.default {
1115
1115
  }
1116
1116
  return sameTypeAnnotation(this, typeAnnotation);
1117
1117
  }
1118
+ /**
1119
+ * 如果当前类型与对比类型中有一个为范型则返回true
1120
+ * 否则返回 isStrictSame 对应结果
1121
+ * @param typeAnnotation
1122
+ */
1123
+ isSimilarTo(typeAnnotation) {
1124
+ if (this.typeKind === 'typeParam' || typeAnnotation.typeKind === 'typeParam') {
1125
+ return true;
1126
+ }
1127
+ return this.isStrictSame(typeAnnotation);
1128
+ }
1118
1129
  // 是否是系统类型
1119
1130
  isSystemType() {
1120
1131
  return ['nasl.ui', 'nasl.auth', 'nasl.http', 'nasl.process', 'nasl.error'].includes(this.typeNamespace);
@@ -1242,6 +1253,77 @@ let TypeAnnotation = class TypeAnnotation extends BaseNode_1.default {
1242
1253
  });
1243
1254
  return node;
1244
1255
  }
1256
+ /**
1257
+ * 获取类型对应的结构
1258
+ * @param app
1259
+ * @returns
1260
+ */
1261
+ getStructure(app) {
1262
+ let structure;
1263
+ if (this.typeKind === 'anonymousStructure') {
1264
+ structure = {
1265
+ properties: this.properties,
1266
+ };
1267
+ }
1268
+ else if (this.typeArguments) {
1269
+ structure = {
1270
+ properties: app.getSelectRef(this, true),
1271
+ };
1272
+ }
1273
+ else if (this.typeNamespace === 'nasl.core' && this.typeName === 'String') {
1274
+ const StructureProperty = (0, decorators_1.getConceptConstructor)('StructureProperty');
1275
+ const TypeAnnotation = (0, decorators_1.getConceptConstructor)('TypeAnnotation');
1276
+ structure = {
1277
+ properties: [
1278
+ new StructureProperty({
1279
+ name: 'length',
1280
+ typeAnnotation: new TypeAnnotation({
1281
+ concept: 'TypeAnnotation',
1282
+ typeKind: 'primitive',
1283
+ typeNamespace: 'nasl.core',
1284
+ typeName: 'Long',
1285
+ }),
1286
+ }),
1287
+ ],
1288
+ };
1289
+ }
1290
+ else {
1291
+ structure = app.findNodeByCompleteName(this.typeNamespace + '.' + this.typeName);
1292
+ }
1293
+ return structure;
1294
+ }
1295
+ /**
1296
+ * 收集类型中的属性
1297
+ * @param app
1298
+ * @param prefix
1299
+ * @param propertyMap
1300
+ * @param depth
1301
+ * @returns
1302
+ */
1303
+ collectPropertyMap(app, prefix = '', propertyMap = new Map(), depth = 0) {
1304
+ const structure = this?.getStructure(app);
1305
+ // 如果结构中有属性并且递归深度小于 10,则递归处理子属性
1306
+ if (structure?.properties?.length && depth < 10) {
1307
+ depth++;
1308
+ structure?.properties?.forEach((property) => {
1309
+ const completeList = [];
1310
+ if (prefix) {
1311
+ completeList.push(prefix);
1312
+ }
1313
+ completeList.push(property.name);
1314
+ const completeName = completeList.join('.');
1315
+ const count = propertyMap.size;
1316
+ const typeAnnotation = property?.__TypeAnnotation || property?.typeAnnotation;
1317
+ // 将完整属性名添加到属性映射表中
1318
+ propertyMap.set(completeName, {
1319
+ index: count,
1320
+ typeKey: typeAnnotation?.typeKey,
1321
+ });
1322
+ typeAnnotation.collectPropertyMap(app, completeName, propertyMap, depth);
1323
+ });
1324
+ }
1325
+ return propertyMap;
1326
+ }
1245
1327
  };
1246
1328
  exports.TypeAnnotation = TypeAnnotation;
1247
1329
  __decorate([