soloforge 1.2.20 → 1.3.1

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 (688) hide show
  1. package/README.md +150 -3
  2. package/dist/adapters/claude_code/claude_md.d.ts +1 -2
  3. package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
  4. package/dist/adapters/claude_code/claude_md.js +47 -4
  5. package/dist/adapters/claude_code/claude_md.js.map +1 -1
  6. package/dist/adapters/claude_code/hooks.d.ts.map +1 -1
  7. package/dist/adapters/claude_code/hooks.js +2 -1
  8. package/dist/adapters/claude_code/hooks.js.map +1 -1
  9. package/dist/adapters/claude_code/server.js +4 -3
  10. package/dist/adapters/claude_code/server.js.map +1 -1
  11. package/dist/adapters/claude_code/tools.d.ts +282 -1
  12. package/dist/adapters/claude_code/tools.d.ts.map +1 -1
  13. package/dist/adapters/claude_code/tools.js +1366 -40
  14. package/dist/adapters/claude_code/tools.js.map +1 -1
  15. package/dist/adapters/codex/codex_config.d.ts.map +1 -1
  16. package/dist/adapters/codex/codex_config.js +3 -2
  17. package/dist/adapters/codex/codex_config.js.map +1 -1
  18. package/dist/adapters/codex/codex_rules.d.ts.map +1 -1
  19. package/dist/adapters/codex/codex_rules.js +2 -1
  20. package/dist/adapters/codex/codex_rules.js.map +1 -1
  21. package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
  22. package/dist/adapters/shared/workflow_template.js +8 -1
  23. package/dist/adapters/shared/workflow_template.js.map +1 -1
  24. package/dist/adapters/trae/trae_config.d.ts +0 -5
  25. package/dist/adapters/trae/trae_config.d.ts.map +1 -1
  26. package/dist/adapters/trae/trae_config.js +2 -1
  27. package/dist/adapters/trae/trae_config.js.map +1 -1
  28. package/dist/adapters/trae/trae_rules.d.ts.map +1 -1
  29. package/dist/adapters/trae/trae_rules.js +2 -1
  30. package/dist/adapters/trae/trae_rules.js.map +1 -1
  31. package/dist/bin/config_commands.d.ts.map +1 -1
  32. package/dist/bin/config_commands.js +34 -33
  33. package/dist/bin/config_commands.js.map +1 -1
  34. package/dist/bin/soloforge.d.ts.map +1 -1
  35. package/dist/bin/soloforge.js +1256 -160
  36. package/dist/bin/soloforge.js.map +1 -1
  37. package/dist/engine/adapter_prompt_contract.d.ts +60 -0
  38. package/dist/engine/adapter_prompt_contract.d.ts.map +1 -0
  39. package/dist/engine/adapter_prompt_contract.js +163 -0
  40. package/dist/engine/adapter_prompt_contract.js.map +1 -0
  41. package/dist/engine/architecture_decision_workshop.d.ts +58 -0
  42. package/dist/engine/architecture_decision_workshop.d.ts.map +1 -0
  43. package/dist/engine/architecture_decision_workshop.js +118 -0
  44. package/dist/engine/architecture_decision_workshop.js.map +1 -0
  45. package/dist/engine/architecture_design_contract.d.ts +49 -0
  46. package/dist/engine/architecture_design_contract.d.ts.map +1 -0
  47. package/dist/engine/architecture_design_contract.js +169 -0
  48. package/dist/engine/architecture_design_contract.js.map +1 -0
  49. package/dist/engine/artifact_contract_registry.d.ts.map +1 -1
  50. package/dist/engine/artifact_contract_registry.js +7 -14
  51. package/dist/engine/artifact_contract_registry.js.map +1 -1
  52. package/dist/engine/{batch1_manifest.d.ts → asset_manifest.d.ts} +8 -8
  53. package/dist/engine/asset_manifest.d.ts.map +1 -0
  54. package/dist/engine/{batch1_manifest.js → asset_manifest.js} +63 -9
  55. package/dist/engine/asset_manifest.js.map +1 -0
  56. package/dist/engine/audit_pool.d.ts.map +1 -1
  57. package/dist/engine/audit_pool.js +5 -4
  58. package/dist/engine/audit_pool.js.map +1 -1
  59. package/dist/engine/audit_sampler.d.ts.map +1 -1
  60. package/dist/engine/audit_sampler.js +2 -1
  61. package/dist/engine/audit_sampler.js.map +1 -1
  62. package/dist/engine/audit_verifier.d.ts.map +1 -1
  63. package/dist/engine/audit_verifier.js +5 -4
  64. package/dist/engine/audit_verifier.js.map +1 -1
  65. package/dist/engine/brainstorm_contract.d.ts +46 -0
  66. package/dist/engine/brainstorm_contract.d.ts.map +1 -0
  67. package/dist/engine/brainstorm_contract.js +136 -0
  68. package/dist/engine/brainstorm_contract.js.map +1 -0
  69. package/dist/engine/capability_action_advisor.d.ts.map +1 -1
  70. package/dist/engine/capability_action_advisor.js +8 -7
  71. package/dist/engine/capability_action_advisor.js.map +1 -1
  72. package/dist/engine/capability_registry.d.ts.map +1 -1
  73. package/dist/engine/capability_registry.js +0 -7
  74. package/dist/engine/capability_registry.js.map +1 -1
  75. package/dist/engine/capability_state_store.d.ts.map +1 -1
  76. package/dist/engine/capability_state_store.js +7 -6
  77. package/dist/engine/capability_state_store.js.map +1 -1
  78. package/dist/engine/change_coordinator.d.ts.map +1 -1
  79. package/dist/engine/change_coordinator.js +4 -3
  80. package/dist/engine/change_coordinator.js.map +1 -1
  81. package/dist/engine/chinese_semantic_priority.d.ts +62 -0
  82. package/dist/engine/chinese_semantic_priority.d.ts.map +1 -0
  83. package/dist/engine/chinese_semantic_priority.js +153 -0
  84. package/dist/engine/chinese_semantic_priority.js.map +1 -0
  85. package/dist/engine/coding_readiness_gate.d.ts +46 -0
  86. package/dist/engine/coding_readiness_gate.d.ts.map +1 -0
  87. package/dist/engine/coding_readiness_gate.js +175 -0
  88. package/dist/engine/coding_readiness_gate.js.map +1 -0
  89. package/dist/engine/cognitive_anchor.d.ts.map +1 -1
  90. package/dist/engine/cognitive_anchor.js +7 -6
  91. package/dist/engine/cognitive_anchor.js.map +1 -1
  92. package/dist/engine/command_execution_contract.d.ts.map +1 -1
  93. package/dist/engine/command_execution_contract.js +13 -12
  94. package/dist/engine/command_execution_contract.js.map +1 -1
  95. package/dist/engine/confidence_scorer.d.ts.map +1 -1
  96. package/dist/engine/confidence_scorer.js +2 -1
  97. package/dist/engine/confidence_scorer.js.map +1 -1
  98. package/dist/engine/config_precedence_contract.d.ts.map +1 -1
  99. package/dist/engine/config_precedence_contract.js +9 -8
  100. package/dist/engine/config_precedence_contract.js.map +1 -1
  101. package/dist/engine/conflict_gate.d.ts.map +1 -1
  102. package/dist/engine/conflict_gate.js +4 -3
  103. package/dist/engine/conflict_gate.js.map +1 -1
  104. package/dist/engine/consumable_asset_registry.d.ts +4 -0
  105. package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
  106. package/dist/engine/consumable_asset_registry.js +370 -0
  107. package/dist/engine/consumable_asset_registry.js.map +1 -1
  108. package/dist/engine/consumption_trace_store.d.ts +50 -0
  109. package/dist/engine/consumption_trace_store.d.ts.map +1 -0
  110. package/dist/engine/consumption_trace_store.js +84 -0
  111. package/dist/engine/consumption_trace_store.js.map +1 -0
  112. package/dist/engine/contract_guard.d.ts.map +1 -1
  113. package/dist/engine/contract_guard.js +7 -6
  114. package/dist/engine/contract_guard.js.map +1 -1
  115. package/dist/engine/contract_registry.d.ts +1 -1
  116. package/dist/engine/contract_registry.d.ts.map +1 -1
  117. package/dist/engine/contract_registry.js +511 -38
  118. package/dist/engine/contract_registry.js.map +1 -1
  119. package/dist/engine/convention_detector.d.ts.map +1 -1
  120. package/dist/engine/convention_detector.js +4 -3
  121. package/dist/engine/convention_detector.js.map +1 -1
  122. package/dist/engine/core_engineering_principles.d.ts.map +1 -1
  123. package/dist/engine/core_engineering_principles.js +4 -14
  124. package/dist/engine/core_engineering_principles.js.map +1 -1
  125. package/dist/engine/core_experience_principle.d.ts +194 -0
  126. package/dist/engine/core_experience_principle.d.ts.map +1 -0
  127. package/dist/engine/core_experience_principle.js +349 -0
  128. package/dist/engine/core_experience_principle.js.map +1 -0
  129. package/dist/engine/debt_reporter.d.ts.map +1 -1
  130. package/dist/engine/debt_reporter.js +3 -2
  131. package/dist/engine/debt_reporter.js.map +1 -1
  132. package/dist/engine/debt_tracker.d.ts.map +1 -1
  133. package/dist/engine/debt_tracker.js +8 -7
  134. package/dist/engine/debt_tracker.js.map +1 -1
  135. package/dist/engine/debug_log.d.ts +4 -1
  136. package/dist/engine/debug_log.d.ts.map +1 -1
  137. package/dist/engine/debug_log.js +4 -6
  138. package/dist/engine/debug_log.js.map +1 -1
  139. package/dist/engine/debugger.d.ts.map +1 -1
  140. package/dist/engine/debugger.js +5 -4
  141. package/dist/engine/debugger.js.map +1 -1
  142. package/dist/engine/decision_contract.d.ts.map +1 -1
  143. package/dist/engine/decision_contract.js +4 -3
  144. package/dist/engine/decision_contract.js.map +1 -1
  145. package/dist/engine/delivery.d.ts.map +1 -1
  146. package/dist/engine/delivery.js +16 -15
  147. package/dist/engine/delivery.js.map +1 -1
  148. package/dist/engine/delivery_readiness.d.ts +5 -1
  149. package/dist/engine/delivery_readiness.d.ts.map +1 -1
  150. package/dist/engine/delivery_readiness.js +24 -2
  151. package/dist/engine/delivery_readiness.js.map +1 -1
  152. package/dist/engine/dependency_scanner.d.ts.map +1 -1
  153. package/dist/engine/dependency_scanner.js +6 -5
  154. package/dist/engine/dependency_scanner.js.map +1 -1
  155. package/dist/engine/design_artifact_pack.d.ts +44 -0
  156. package/dist/engine/design_artifact_pack.d.ts.map +1 -0
  157. package/dist/engine/design_artifact_pack.js +167 -0
  158. package/dist/engine/design_artifact_pack.js.map +1 -0
  159. package/dist/engine/detail_discipline.d.ts +40 -0
  160. package/dist/engine/detail_discipline.d.ts.map +1 -0
  161. package/dist/engine/detail_discipline.js +107 -0
  162. package/dist/engine/detail_discipline.js.map +1 -0
  163. package/dist/engine/developer_sovereignty.d.ts.map +1 -1
  164. package/dist/engine/developer_sovereignty.js +6 -5
  165. package/dist/engine/developer_sovereignty.js.map +1 -1
  166. package/dist/engine/diff_ownership.d.ts.map +1 -1
  167. package/dist/engine/diff_ownership.js +9 -8
  168. package/dist/engine/diff_ownership.js.map +1 -1
  169. package/dist/engine/diff_ownership_store.d.ts.map +1 -1
  170. package/dist/engine/diff_ownership_store.js +8 -7
  171. package/dist/engine/diff_ownership_store.js.map +1 -1
  172. package/dist/engine/documentation_governance.d.ts +55 -0
  173. package/dist/engine/documentation_governance.d.ts.map +1 -0
  174. package/dist/engine/documentation_governance.js +249 -0
  175. package/dist/engine/documentation_governance.js.map +1 -0
  176. package/dist/engine/dual_layer_mechanism_registry.d.ts +6 -4
  177. package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
  178. package/dist/engine/dual_layer_mechanism_registry.js +851 -11
  179. package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
  180. package/dist/engine/enforcement_guard.d.ts.map +1 -1
  181. package/dist/engine/enforcement_guard.js +14 -0
  182. package/dist/engine/enforcement_guard.js.map +1 -1
  183. package/dist/engine/escape_report.d.ts.map +1 -1
  184. package/dist/engine/escape_report.js +4 -3
  185. package/dist/engine/escape_report.js.map +1 -1
  186. package/dist/engine/evidence_grounding_contract.d.ts +137 -0
  187. package/dist/engine/evidence_grounding_contract.d.ts.map +1 -0
  188. package/dist/engine/evidence_grounding_contract.js +410 -0
  189. package/dist/engine/evidence_grounding_contract.js.map +1 -0
  190. package/dist/engine/evolution_regression_gate.d.ts +42 -0
  191. package/dist/engine/evolution_regression_gate.d.ts.map +1 -0
  192. package/dist/engine/evolution_regression_gate.js +159 -0
  193. package/dist/engine/evolution_regression_gate.js.map +1 -0
  194. package/dist/engine/existing_system_analysis.d.ts +37 -0
  195. package/dist/engine/existing_system_analysis.d.ts.map +1 -0
  196. package/dist/engine/existing_system_analysis.js +151 -0
  197. package/dist/engine/existing_system_analysis.js.map +1 -0
  198. package/dist/engine/exploration.d.ts.map +1 -1
  199. package/dist/engine/exploration.js +7 -6
  200. package/dist/engine/exploration.js.map +1 -1
  201. package/dist/engine/extension_contract.d.ts +50 -0
  202. package/dist/engine/extension_contract.d.ts.map +1 -0
  203. package/dist/engine/extension_contract.js +158 -0
  204. package/dist/engine/extension_contract.js.map +1 -0
  205. package/dist/engine/extension_platform_contracts.d.ts +712 -0
  206. package/dist/engine/extension_platform_contracts.d.ts.map +1 -0
  207. package/dist/engine/extension_platform_contracts.js +42 -0
  208. package/dist/engine/extension_platform_contracts.js.map +1 -0
  209. package/dist/engine/extension_scenario_registry.d.ts +30 -0
  210. package/dist/engine/extension_scenario_registry.d.ts.map +1 -0
  211. package/dist/engine/extension_scenario_registry.js +976 -0
  212. package/dist/engine/extension_scenario_registry.js.map +1 -0
  213. package/dist/engine/failure_classifier.d.ts.map +1 -1
  214. package/dist/engine/failure_classifier.js +9 -8
  215. package/dist/engine/failure_classifier.js.map +1 -1
  216. package/dist/engine/feasibility_checker.d.ts.map +1 -1
  217. package/dist/engine/feasibility_checker.js +5 -4
  218. package/dist/engine/feasibility_checker.js.map +1 -1
  219. package/dist/engine/first_principles.d.ts +35 -0
  220. package/dist/engine/first_principles.d.ts.map +1 -0
  221. package/dist/engine/first_principles.js +128 -0
  222. package/dist/engine/first_principles.js.map +1 -0
  223. package/dist/engine/{batch1_scenario_registry.d.ts → foundation_scenario_registry.d.ts} +15 -15
  224. package/dist/engine/foundation_scenario_registry.d.ts.map +1 -0
  225. package/dist/engine/{batch1_scenario_registry.js → foundation_scenario_registry.js} +22 -25
  226. package/dist/engine/foundation_scenario_registry.js.map +1 -0
  227. package/dist/engine/{batch1_scenario_runners.d.ts → foundation_scenario_runners.d.ts} +1 -1
  228. package/dist/engine/foundation_scenario_runners.d.ts.map +1 -0
  229. package/dist/engine/{batch1_scenario_runners.js → foundation_scenario_runners.js} +8 -7
  230. package/dist/engine/foundation_scenario_runners.js.map +1 -0
  231. package/dist/engine/git_deps.d.ts.map +1 -1
  232. package/dist/engine/git_deps.js +2 -1
  233. package/dist/engine/git_deps.js.map +1 -1
  234. package/dist/engine/governance_report.d.ts.map +1 -1
  235. package/dist/engine/governance_report.js +10 -9
  236. package/dist/engine/governance_report.js.map +1 -1
  237. package/dist/engine/impact_analyzer.d.ts.map +1 -1
  238. package/dist/engine/impact_analyzer.js +5 -4
  239. package/dist/engine/impact_analyzer.js.map +1 -1
  240. package/dist/engine/implementation_roadmap_registry.d.ts +1 -1
  241. package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
  242. package/dist/engine/implementation_roadmap_registry.js +348 -82
  243. package/dist/engine/implementation_roadmap_registry.js.map +1 -1
  244. package/dist/engine/input_material_contract_registry.d.ts.map +1 -1
  245. package/dist/engine/input_material_contract_registry.js +4 -3
  246. package/dist/engine/input_material_contract_registry.js.map +1 -1
  247. package/dist/engine/instruction_contract.d.ts +75 -0
  248. package/dist/engine/instruction_contract.d.ts.map +1 -0
  249. package/dist/engine/instruction_contract.js +185 -0
  250. package/dist/engine/instruction_contract.js.map +1 -0
  251. package/dist/engine/intent_expander.d.ts.map +1 -1
  252. package/dist/engine/intent_expander.js +353 -1
  253. package/dist/engine/intent_expander.js.map +1 -1
  254. package/dist/engine/intent_router.d.ts +11 -2
  255. package/dist/engine/intent_router.d.ts.map +1 -1
  256. package/dist/engine/intent_router.js +121 -1
  257. package/dist/engine/intent_router.js.map +1 -1
  258. package/dist/engine/intent_signal_extractor.d.ts +3 -0
  259. package/dist/engine/intent_signal_extractor.d.ts.map +1 -1
  260. package/dist/engine/intent_signal_extractor.js +49 -0
  261. package/dist/engine/intent_signal_extractor.js.map +1 -1
  262. package/dist/engine/io_controller.d.ts.map +1 -1
  263. package/dist/engine/io_controller.js +8 -7
  264. package/dist/engine/io_controller.js.map +1 -1
  265. package/dist/engine/java_quality_guard.d.ts.map +1 -1
  266. package/dist/engine/java_quality_guard.js +5 -18
  267. package/dist/engine/java_quality_guard.js.map +1 -1
  268. package/dist/engine/job_manager.d.ts.map +1 -1
  269. package/dist/engine/job_manager.js +8 -7
  270. package/dist/engine/job_manager.js.map +1 -1
  271. package/dist/engine/knowledge_acceptance_registry.d.ts +35 -0
  272. package/dist/engine/knowledge_acceptance_registry.d.ts.map +1 -0
  273. package/dist/engine/knowledge_acceptance_registry.js +271 -0
  274. package/dist/engine/knowledge_acceptance_registry.js.map +1 -0
  275. package/dist/engine/knowledge_asset_audit.d.ts +65 -0
  276. package/dist/engine/knowledge_asset_audit.d.ts.map +1 -0
  277. package/dist/engine/knowledge_asset_audit.js +230 -0
  278. package/dist/engine/knowledge_asset_audit.js.map +1 -0
  279. package/dist/engine/knowledge_asset_consumer.d.ts +150 -0
  280. package/dist/engine/knowledge_asset_consumer.d.ts.map +1 -0
  281. package/dist/engine/knowledge_asset_consumer.js +279 -0
  282. package/dist/engine/knowledge_asset_consumer.js.map +1 -0
  283. package/dist/engine/knowledge_asset_generation_gate.d.ts +38 -0
  284. package/dist/engine/knowledge_asset_generation_gate.d.ts.map +1 -0
  285. package/dist/engine/knowledge_asset_generation_gate.js +131 -0
  286. package/dist/engine/knowledge_asset_generation_gate.js.map +1 -0
  287. package/dist/engine/knowledge_asset_migration.d.ts +117 -0
  288. package/dist/engine/knowledge_asset_migration.d.ts.map +1 -0
  289. package/dist/engine/knowledge_asset_migration.js +204 -0
  290. package/dist/engine/knowledge_asset_migration.js.map +1 -0
  291. package/dist/engine/knowledge_asset_schema.d.ts +97 -0
  292. package/dist/engine/knowledge_asset_schema.d.ts.map +1 -0
  293. package/dist/engine/knowledge_asset_schema.js +413 -0
  294. package/dist/engine/knowledge_asset_schema.js.map +1 -0
  295. package/dist/engine/knowledge_config_loader.d.ts.map +1 -1
  296. package/dist/engine/knowledge_config_loader.js +5 -4
  297. package/dist/engine/knowledge_config_loader.js.map +1 -1
  298. package/dist/engine/knowledge_consumption_snapshot.d.ts +91 -0
  299. package/dist/engine/knowledge_consumption_snapshot.d.ts.map +1 -0
  300. package/dist/engine/knowledge_consumption_snapshot.js +113 -0
  301. package/dist/engine/knowledge_consumption_snapshot.js.map +1 -0
  302. package/dist/engine/knowledge_evolution.d.ts +82 -0
  303. package/dist/engine/knowledge_evolution.d.ts.map +1 -0
  304. package/dist/engine/knowledge_evolution.js +272 -0
  305. package/dist/engine/knowledge_evolution.js.map +1 -0
  306. package/dist/engine/knowledge_lifecycle.d.ts +70 -10
  307. package/dist/engine/knowledge_lifecycle.d.ts.map +1 -1
  308. package/dist/engine/knowledge_lifecycle.js +238 -4
  309. package/dist/engine/knowledge_lifecycle.js.map +1 -1
  310. package/dist/engine/knowledge_manager.d.ts.map +1 -1
  311. package/dist/engine/knowledge_manager.js +9 -8
  312. package/dist/engine/knowledge_manager.js.map +1 -1
  313. package/dist/engine/knowledge_scenario_registry.d.ts +21 -0
  314. package/dist/engine/knowledge_scenario_registry.d.ts.map +1 -0
  315. package/dist/engine/knowledge_scenario_registry.js +337 -0
  316. package/dist/engine/knowledge_scenario_registry.js.map +1 -0
  317. package/dist/engine/knowledge_sovereignty.d.ts.map +1 -1
  318. package/dist/engine/knowledge_sovereignty.js +5 -4
  319. package/dist/engine/knowledge_sovereignty.js.map +1 -1
  320. package/dist/engine/knowledge_template_contracts.d.ts +244 -0
  321. package/dist/engine/knowledge_template_contracts.d.ts.map +1 -0
  322. package/dist/engine/knowledge_template_contracts.js +26 -0
  323. package/dist/engine/knowledge_template_contracts.js.map +1 -0
  324. package/dist/engine/language_policy.d.ts +69 -12
  325. package/dist/engine/language_policy.d.ts.map +1 -1
  326. package/dist/engine/language_policy.js +129 -8
  327. package/dist/engine/language_policy.js.map +1 -1
  328. package/dist/engine/llm_gateway.d.ts.map +1 -1
  329. package/dist/engine/llm_gateway.js +10 -9
  330. package/dist/engine/llm_gateway.js.map +1 -1
  331. package/dist/engine/local_docker_acceptance.d.ts +94 -0
  332. package/dist/engine/local_docker_acceptance.d.ts.map +1 -0
  333. package/dist/engine/local_docker_acceptance.js +312 -0
  334. package/dist/engine/local_docker_acceptance.js.map +1 -0
  335. package/dist/engine/logger.d.ts +64 -0
  336. package/dist/engine/logger.d.ts.map +1 -0
  337. package/dist/engine/logger.js +115 -0
  338. package/dist/engine/logger.js.map +1 -0
  339. package/dist/engine/main_path_integration_contract.d.ts.map +1 -1
  340. package/dist/engine/main_path_integration_contract.js +43 -42
  341. package/dist/engine/main_path_integration_contract.js.map +1 -1
  342. package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
  343. package/dist/engine/mechanism_contract_registry.js +514 -17
  344. package/dist/engine/mechanism_contract_registry.js.map +1 -1
  345. package/dist/engine/metric_governance.d.ts +51 -0
  346. package/dist/engine/metric_governance.d.ts.map +1 -0
  347. package/dist/engine/metric_governance.js +138 -0
  348. package/dist/engine/metric_governance.js.map +1 -0
  349. package/dist/engine/migration_guard.d.ts.map +1 -1
  350. package/dist/engine/migration_guard.js +6 -5
  351. package/dist/engine/migration_guard.js.map +1 -1
  352. package/dist/engine/mutation_audit.d.ts.map +1 -1
  353. package/dist/engine/mutation_audit.js +6 -5
  354. package/dist/engine/mutation_audit.js.map +1 -1
  355. package/dist/engine/observability.d.ts +11 -0
  356. package/dist/engine/observability.d.ts.map +1 -1
  357. package/dist/engine/observability.js +60 -8
  358. package/dist/engine/observability.js.map +1 -1
  359. package/dist/engine/onboarding.d.ts.map +1 -1
  360. package/dist/engine/onboarding.js +17 -16
  361. package/dist/engine/onboarding.js.map +1 -1
  362. package/dist/engine/plan_proposal_gate.d.ts +131 -0
  363. package/dist/engine/plan_proposal_gate.d.ts.map +1 -0
  364. package/dist/engine/plan_proposal_gate.js +340 -0
  365. package/dist/engine/plan_proposal_gate.js.map +1 -0
  366. package/dist/engine/platform_context.d.ts +44 -0
  367. package/dist/engine/platform_context.d.ts.map +1 -0
  368. package/dist/engine/platform_context.js +169 -0
  369. package/dist/engine/platform_context.js.map +1 -0
  370. package/dist/engine/policy_drift_detector.d.ts.map +1 -1
  371. package/dist/engine/policy_drift_detector.js +8 -7
  372. package/dist/engine/policy_drift_detector.js.map +1 -1
  373. package/dist/engine/regression_matrix.d.ts.map +1 -1
  374. package/dist/engine/regression_matrix.js +15 -14
  375. package/dist/engine/regression_matrix.js.map +1 -1
  376. package/dist/engine/release_compatibility.d.ts +62 -0
  377. package/dist/engine/release_compatibility.d.ts.map +1 -0
  378. package/dist/engine/release_compatibility.js +145 -0
  379. package/dist/engine/release_compatibility.js.map +1 -0
  380. package/dist/engine/release_gate.d.ts +29 -0
  381. package/dist/engine/release_gate.d.ts.map +1 -0
  382. package/dist/engine/release_gate.js +675 -0
  383. package/dist/engine/release_gate.js.map +1 -0
  384. package/dist/engine/release_gate_scenario_registry.d.ts +65 -0
  385. package/dist/engine/release_gate_scenario_registry.d.ts.map +1 -0
  386. package/dist/engine/release_gate_scenario_registry.js +717 -0
  387. package/dist/engine/release_gate_scenario_registry.js.map +1 -0
  388. package/dist/engine/release_readiness_gate.d.ts +44 -0
  389. package/dist/engine/release_readiness_gate.d.ts.map +1 -0
  390. package/dist/engine/release_readiness_gate.js +1660 -0
  391. package/dist/engine/release_readiness_gate.js.map +1 -0
  392. package/dist/engine/risk_sampler.d.ts.map +1 -1
  393. package/dist/engine/risk_sampler.js +4 -3
  394. package/dist/engine/risk_sampler.js.map +1 -1
  395. package/dist/engine/runtime_safety.d.ts.map +1 -1
  396. package/dist/engine/runtime_safety.js +18 -17
  397. package/dist/engine/runtime_safety.js.map +1 -1
  398. package/dist/engine/scaffolder.d.ts.map +1 -1
  399. package/dist/engine/scaffolder.js +4 -3
  400. package/dist/engine/scaffolder.js.map +1 -1
  401. package/dist/engine/scope_lease.d.ts.map +1 -1
  402. package/dist/engine/scope_lease.js +4 -3
  403. package/dist/engine/scope_lease.js.map +1 -1
  404. package/dist/engine/semantic_evidence.d.ts.map +1 -1
  405. package/dist/engine/semantic_evidence.js +4 -3
  406. package/dist/engine/semantic_evidence.js.map +1 -1
  407. package/dist/engine/state_fact_classifier.d.ts +47 -0
  408. package/dist/engine/state_fact_classifier.d.ts.map +1 -0
  409. package/dist/engine/state_fact_classifier.js +158 -0
  410. package/dist/engine/state_fact_classifier.js.map +1 -0
  411. package/dist/engine/task_context.d.ts +34 -5
  412. package/dist/engine/task_context.d.ts.map +1 -1
  413. package/dist/engine/task_context.js +175 -49
  414. package/dist/engine/task_context.js.map +1 -1
  415. package/dist/engine/task_planner.d.ts.map +1 -1
  416. package/dist/engine/task_planner.js +6 -5
  417. package/dist/engine/task_planner.js.map +1 -1
  418. package/dist/engine/team_awareness.d.ts.map +1 -1
  419. package/dist/engine/team_awareness.js +2 -1
  420. package/dist/engine/team_awareness.js.map +1 -1
  421. package/dist/engine/technology_decision.d.ts +38 -0
  422. package/dist/engine/technology_decision.d.ts.map +1 -0
  423. package/dist/engine/technology_decision.js +120 -0
  424. package/dist/engine/technology_decision.js.map +1 -0
  425. package/dist/engine/template_manifest_io.d.ts +47 -0
  426. package/dist/engine/template_manifest_io.d.ts.map +1 -0
  427. package/dist/engine/template_manifest_io.js +151 -0
  428. package/dist/engine/template_manifest_io.js.map +1 -0
  429. package/dist/engine/template_mechanism_auditor.d.ts.map +1 -1
  430. package/dist/engine/template_mechanism_auditor.js +5 -4
  431. package/dist/engine/template_mechanism_auditor.js.map +1 -1
  432. package/dist/engine/template_sync.d.ts +98 -0
  433. package/dist/engine/template_sync.d.ts.map +1 -0
  434. package/dist/engine/template_sync.js +355 -0
  435. package/dist/engine/template_sync.js.map +1 -0
  436. package/dist/engine/test_generator.d.ts.map +1 -1
  437. package/dist/engine/test_generator.js +5 -4
  438. package/dist/engine/test_generator.js.map +1 -1
  439. package/dist/engine/test_quality.d.ts.map +1 -1
  440. package/dist/engine/test_quality.js +5 -4
  441. package/dist/engine/test_quality.js.map +1 -1
  442. package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
  443. package/dist/engine/tool_invocation_contract_registry.js +32 -31
  444. package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
  445. package/dist/engine/traceability.d.ts.map +1 -1
  446. package/dist/engine/traceability.js +6 -5
  447. package/dist/engine/traceability.js.map +1 -1
  448. package/dist/engine/user_feedback_contract.d.ts.map +1 -1
  449. package/dist/engine/user_feedback_contract.js +81 -19
  450. package/dist/engine/user_feedback_contract.js.map +1 -1
  451. package/dist/engine/user_promise.d.ts +67 -0
  452. package/dist/engine/user_promise.d.ts.map +1 -0
  453. package/dist/engine/user_promise.js +436 -0
  454. package/dist/engine/user_promise.js.map +1 -0
  455. package/dist/engine/verifier.d.ts +6 -10
  456. package/dist/engine/verifier.d.ts.map +1 -1
  457. package/dist/engine/verifier.js +112 -1
  458. package/dist/engine/verifier.js.map +1 -1
  459. package/dist/engine/workflow_contract_registry.d.ts.map +1 -1
  460. package/dist/engine/workflow_contract_registry.js +128 -10
  461. package/dist/engine/workflow_contract_registry.js.map +1 -1
  462. package/dist/engine/workflow_template_pack.d.ts +71 -0
  463. package/dist/engine/workflow_template_pack.d.ts.map +1 -0
  464. package/dist/engine/workflow_template_pack.js +246 -0
  465. package/dist/engine/workflow_template_pack.js.map +1 -0
  466. package/dist/engine/workspace_resumer.d.ts.map +1 -1
  467. package/dist/engine/workspace_resumer.js +9 -8
  468. package/dist/engine/workspace_resumer.js.map +1 -1
  469. package/dist/engine/zero_config_init.d.ts.map +1 -1
  470. package/dist/engine/zero_config_init.js +16 -15
  471. package/dist/engine/zero_config_init.js.map +1 -1
  472. package/dist/git/operations.d.ts.map +1 -1
  473. package/dist/git/operations.js +18 -17
  474. package/dist/git/operations.js.map +1 -1
  475. package/dist/index.js +10 -9
  476. package/dist/index.js.map +1 -1
  477. package/dist/knowledge/conflict_detector.d.ts.map +1 -1
  478. package/dist/knowledge/conflict_detector.js +2 -1
  479. package/dist/knowledge/conflict_detector.js.map +1 -1
  480. package/dist/knowledge/health_checker.d.ts.map +1 -1
  481. package/dist/knowledge/health_checker.js +5 -4
  482. package/dist/knowledge/health_checker.js.map +1 -1
  483. package/dist/knowledge/index_manager.js +4 -4
  484. package/dist/knowledge/index_manager.js.map +1 -1
  485. package/dist/knowledge/loader.d.ts.map +1 -1
  486. package/dist/knowledge/loader.js +20 -14
  487. package/dist/knowledge/loader.js.map +1 -1
  488. package/dist/knowledge/writer.d.ts.map +1 -1
  489. package/dist/knowledge/writer.js +7 -6
  490. package/dist/knowledge/writer.js.map +1 -1
  491. package/dist/types.d.ts +40 -8
  492. package/dist/types.d.ts.map +1 -1
  493. package/package.json +14 -5
  494. package/templates/knowledge/acceptance_templates/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243/346/250/241/347/211/210.md +74 -0
  495. package/templates/knowledge/acceptance_templates/Bug/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  496. package/templates/knowledge/acceptance_templates/POC/347/273/223/350/256/272/346/250/241/347/211/210.md +27 -3
  497. package/templates/knowledge/acceptance_templates//345/211/215/347/253/257/351/241/265/351/235/242/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  498. package/templates/knowledge/acceptance_templates//345/216/237/345/236/213/350/257/264/346/230/216/346/250/241/347/211/210.md +31 -3
  499. package/templates/knowledge/acceptance_templates//345/220/216/347/253/257API/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -3
  500. package/templates/knowledge/acceptance_templates//345/256/211/345/205/250/345/256/241/350/256/241/346/250/241/347/211/210.md +27 -3
  501. package/templates/knowledge/acceptance_templates//346/200/247/350/203/275/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  502. package/templates/knowledge/acceptance_templates//346/212/200/346/234/257/351/200/211/345/236/213/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  503. package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210/346/250/241/347/211/210.md +26 -3
  504. package/templates/knowledge/acceptance_templates//346/216/245/345/217/243/350/256/276/350/256/241/346/250/241/347/211/210.md +27 -3
  505. package/templates/knowledge/acceptance_templates//346/225/205/351/232/234/345/244/215/347/233/230/346/250/241/347/211/210.md +28 -3
  506. package/templates/knowledge/acceptance_templates//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210/346/250/241/347/211/210.md +26 -3
  507. package/templates/knowledge/acceptance_templates//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/351/252/214/346/224/266/346/270/205/345/215/225.md +31 -3
  508. package/templates/knowledge/acceptance_templates//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243/346/250/241/347/211/210.md +59 -0
  509. package/templates/knowledge/acceptance_templates//346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/347/211/210.md +54 -10
  510. package/templates/knowledge/acceptance_templates//346/265/213/350/257/225/350/256/241/345/210/222/346/250/241/347/211/210.md +27 -3
  511. package/templates/knowledge/acceptance_templates//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212/346/250/241/347/211/210.md +47 -0
  512. package/templates/knowledge/acceptance_templates//350/257/246/347/273/206/350/256/276/350/256/241/346/250/241/347/211/210.md +26 -3
  513. package/templates/knowledge/acceptance_templates//350/277/201/347/247/273/350/257/204/344/274/260/346/250/241/347/211/210.md +27 -3
  514. package/templates/knowledge/acceptance_templates//351/200/232/347/224/250/350/264/250/351/207/217/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -3
  515. package/templates/knowledge/acceptance_templates//351/207/215/346/236/204/346/226/271/346/241/210/346/250/241/347/211/210.md +27 -3
  516. package/templates/knowledge/acceptance_templates//351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/347/211/210.md +27 -3
  517. package/templates/knowledge/checklists//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  518. package/templates/knowledge/checklists//344/274/232/350/257/235/346/201/242/345/244/215.md +30 -8
  519. package/templates/knowledge/checklists//345/267/245/344/275/234/346/265/201/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -0
  520. package/templates/knowledge/checklists//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  521. package/templates/knowledge/checklists//347/237/245/350/257/206/346/263/250/345/205/245/351/252/214/346/224/266/346/270/205/345/215/225.md +30 -0
  522. package/templates/knowledge/checklists//351/232/220/347/247/201/345/256/241/346/237/245/346/270/205/345/215/225.md +29 -0
  523. package/templates/knowledge/checklists//351/252/214/350/257/201/351/252/214/346/224/266/346/270/205/345/215/225.md +29 -0
  524. package/templates/knowledge/domain//345/244/232/347/247/237/346/210/267.md +28 -3
  525. package/templates/knowledge/domain//345/256/241/350/256/241/346/227/245/345/277/227.md +27 -3
  526. package/templates/knowledge/domain//345/257/274/345/205/245/345/257/274/345/207/272/350/247/204/345/210/231.md +30 -3
  527. package/templates/knowledge/domain//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +32 -3
  528. package/templates/knowledge/domain//346/212/245/350/241/250/347/273/237/350/256/241.md +31 -3
  529. package/templates/knowledge/domain//346/224/257/344/273/230/350/247/204/345/210/231.md +31 -3
  530. package/templates/knowledge/domain//346/225/260/346/215/256/346/235/203/351/231/220.md +28 -3
  531. package/templates/knowledge/domain//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +30 -3
  532. package/templates/knowledge/domain//351/200/232/347/237/245/350/247/204/345/210/231.md +31 -3
  533. package/templates/knowledge/patterns/core/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +24 -7
  534. package/templates/knowledge/patterns/core/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +25 -7
  535. package/templates/knowledge/patterns/core/LLM/351/242/204/347/256/227/347/275/221/345/205/263.md +24 -7
  536. package/templates/knowledge/patterns/core//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +24 -7
  537. package/templates/knowledge/patterns/core//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +25 -7
  538. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +24 -7
  539. package/templates/knowledge/patterns/core//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +25 -7
  540. package/templates/knowledge/patterns/core//345/206/262/347/252/201/351/227/250/347/246/201.md +24 -7
  541. package/templates/knowledge/patterns/core//345/206/263/347/255/226/347/275/221/345/205/263.md +26 -7
  542. package/templates/knowledge/patterns/core//345/217/230/345/274/202/345/256/241/350/256/241.md +25 -7
  543. package/templates/knowledge/patterns/core//345/233/236/345/275/222/347/237/251/351/230/265.md +24 -7
  544. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +24 -7
  545. package/templates/knowledge/patterns/core//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +24 -7
  546. package/templates/knowledge/patterns/core//345/271/266/345/217/221/351/224/201.md +26 -7
  547. package/templates/knowledge/patterns/core//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +26 -7
  548. package/templates/knowledge/patterns/core//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +24 -7
  549. package/templates/knowledge/patterns/core//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +25 -7
  550. package/templates/knowledge/patterns/core//346/265/201/345/274/217/345/277/203/350/267/263.md +25 -7
  551. package/templates/knowledge/patterns/core//347/237/245/350/257/206/344/270/273/346/235/203.md +25 -7
  552. package/templates/knowledge/patterns/core//350/257/255/344/271/211/350/257/201/346/215/256.md +24 -7
  553. package/templates/knowledge/patterns/core//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +25 -7
  554. package/templates/knowledge/patterns/core//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +24 -7
  555. package/templates/knowledge/patterns/core//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +24 -7
  556. package/templates/knowledge/procedures/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +29 -3
  557. package/templates/knowledge/procedures//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201/346/265/201/347/250/213.md +33 -0
  558. package/templates/knowledge/procedures//344/273/243/347/240/201/351/227/250/347/246/201/346/265/201/347/250/213.md +30 -3
  559. package/templates/knowledge/procedures//344/273/273/345/212/241/346/213/206/350/247/243/346/265/201/347/250/213.md +30 -3
  560. package/templates/knowledge/procedures//345/212/237/350/203/275/345/274/200/345/217/221/346/265/201/347/250/213.md +30 -3
  561. package/templates/knowledge/procedures//345/221/275/344/273/244/346/211/247/350/241/214/346/265/201/347/250/213.md +34 -0
  562. package/templates/knowledge/procedures//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +30 -3
  563. package/templates/knowledge/procedures//345/267/245/345/205/267/350/260/203/347/224/250/346/265/201/347/250/213.md +34 -0
  564. package/templates/knowledge/procedures//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +30 -3
  565. package/templates/knowledge/procedures//346/204/217/345/233/276/350/267/257/347/224/261/346/265/201/347/250/213.md +34 -0
  566. package/templates/knowledge/procedures//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +30 -3
  567. package/templates/knowledge/procedures//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273/346/265/201/347/250/213.md +29 -3
  568. package/templates/knowledge/procedures//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266/345/267/245/344/275/234/346/265/201.md +99 -0
  569. package/templates/knowledge/procedures//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/345/267/245/344/275/234/346/265/201.md +51 -0
  570. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +104 -0
  571. package/templates/knowledge/procedures//346/236/266/346/236/204/350/256/276/350/256/241/346/265/201/347/250/213.md +30 -3
  572. package/templates/knowledge/procedures//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +30 -3
  573. package/templates/knowledge/procedures//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201/345/267/245/344/275/234/346/265/201.md +91 -0
  574. package/templates/knowledge/procedures//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230/346/265/201/347/250/213.md +30 -3
  575. package/templates/knowledge/procedures//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220/345/267/245/344/275/234/346/265/201.md +97 -0
  576. package/templates/knowledge/procedures//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +30 -3
  577. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +30 -3
  578. package/templates/knowledge/procedures//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/347/250/213.md +30 -3
  579. package/templates/knowledge/procedures//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205/346/265/201/347/250/213.md +33 -0
  580. package/templates/knowledge/procedures//347/274/272/351/231/267/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +30 -3
  581. package/templates/knowledge/procedures//350/207/252/344/270/273/351/200/211/345/236/213/346/265/201/347/250/213.md +30 -3
  582. package/templates/knowledge/procedures//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214/345/267/245/344/275/234/346/265/201.md +45 -0
  583. package/templates/knowledge/procedures//350/257/246/347/273/206/350/256/276/350/256/241/346/265/201/347/250/213.md +30 -3
  584. package/templates/knowledge/procedures//350/260/203/350/257/225/346/216/222/346/237/245/346/265/201/347/250/213.md +30 -3
  585. package/templates/knowledge/procedures//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +30 -3
  586. package/templates/knowledge/procedures//351/203/250/347/275/262/345/217/221/345/270/203/346/265/201/347/250/213.md +30 -3
  587. package/templates/knowledge/procedures//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +30 -3
  588. package/templates/knowledge/procedures//351/233/206/346/210/220/351/252/214/350/257/201/346/265/201/347/250/213.md +30 -3
  589. package/templates/knowledge/procedures//351/234/200/346/261/202/346/276/204/346/270/205/346/265/201/347/250/213.md +30 -3
  590. package/templates/knowledge/procedures//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +30 -3
  591. package/templates/knowledge/procedures//351/252/214/350/257/201/350/256/241/345/210/222/346/265/201/347/250/213.md +30 -3
  592. package/templates/knowledge/review_rules//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  593. package/templates/knowledge/review_rules//345/256/211/345/205/250/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  594. package/templates/knowledge/review_rules//345/271/266/345/217/221/345/256/241/346/237/245/350/247/204/345/210/231.md +23 -3
  595. package/templates/knowledge/review_rules//346/200/247/350/203/275/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  596. package/templates/knowledge/review_rules//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245/350/247/204/345/210/231.md +23 -3
  597. package/templates/knowledge/review_rules//346/236/266/346/236/204/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  598. package/templates/knowledge/review_rules//350/264/250/351/207/217/345/256/241/346/237/245/350/247/204/345/210/231.md +24 -3
  599. package/templates/knowledge/rules//344/272/247/347/211/251/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  600. package/templates/knowledge/rules//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +65 -0
  601. package/templates/knowledge/rules//345/221/275/344/273/244/346/211/247/350/241/214/350/247/204/345/210/231.md +36 -0
  602. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  603. package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/346/250/241/346/235/277/345/214/205/350/247/204/345/210/231.md +48 -0
  604. package/templates/knowledge/rules//345/267/245/345/205/267/350/260/203/347/224/250/350/247/204/345/210/231.md +36 -0
  605. package/templates/knowledge/rules//346/204/217/345/233/276/350/267/257/347/224/261/350/247/204/345/210/231.md +36 -0
  606. package/templates/knowledge/rules//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260/350/247/204/345/210/231.md +36 -0
  607. package/templates/knowledge/rules//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237/350/247/204/345/210/231.md +48 -0
  608. package/templates/knowledge/rules//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203/350/247/204/345/210/231.md +64 -0
  609. package/templates/knowledge/rules//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206/350/247/204/345/210/231.md +36 -0
  610. package/templates/knowledge/rules//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246/350/247/204/345/210/231.md +78 -0
  611. package/templates/knowledge/rules//346/236/266/346/236/204/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +49 -0
  612. package/templates/knowledge/rules//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +50 -0
  613. package/templates/knowledge/rules//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +35 -0
  614. package/templates/knowledge/rules//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275/350/247/204/345/210/231.md +36 -0
  615. package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/350/247/204/345/210/231.md +51 -0
  616. package/templates/knowledge/rules//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247/350/247/204/345/210/231.md +74 -0
  617. package/templates/knowledge/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +35 -0
  618. package/templates/knowledge/rules//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214/350/247/204/345/210/231.md +36 -0
  619. package/templates/knowledge/rules//347/237/245/350/257/206/350/265/204/344/272/247/346/262/273/347/220/206/350/247/204/345/210/231.md +61 -0
  620. package/templates/knowledge/rules//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206/350/247/204/345/210/231.md +73 -0
  621. package/templates/knowledge/rules//347/273/206/350/212/202/347/272/252/345/276/213/350/247/204/345/210/231.md +67 -0
  622. package/templates/knowledge/rules//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242/350/247/204/345/210/231.md +66 -0
  623. package/templates/knowledge/rules//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250/350/247/204/345/210/231.md +59 -0
  624. package/templates/knowledge/rules//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205/350/247/204/345/210/231.md +55 -0
  625. package/templates/knowledge/rules//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211/350/247/204/345/210/231.md +75 -0
  626. package/templates/knowledge/rules//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250/350/247/204/345/210/231.md +48 -0
  627. package/templates/knowledge/rules//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  628. package/templates/knowledge/rules//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247/350/247/204/345/210/231.md +35 -0
  629. package/templates/knowledge/rules//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260/350/247/204/345/210/231.md +36 -0
  630. package/templates/knowledge/rules//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226/350/247/204/345/210/231.md +36 -0
  631. package/templates/knowledge/rules//351/252/214/350/257/201/345/245/221/347/272/246/350/247/204/345/210/231.md +36 -0
  632. package/templates/knowledge/templates//345/256/241/346/237/245/346/221/230/350/246/201.md +26 -7
  633. package/templates/patterns/API/350/256/276/350/256/241/350/247/204/350/214/203.md +30 -3
  634. package/templates/patterns/Docker/351/203/250/347/275/262/350/247/204/350/214/203.md +29 -3
  635. package/templates/patterns/Git/346/223/215/344/275/234/350/247/204/350/214/203.md +33 -3
  636. package/templates/patterns/N/345/212/2401/346/237/245/350/257/242/350/247/204/350/214/203.md +31 -3
  637. package/templates/patterns/React/345/210/227/350/241/250/350/241/250/346/240/274/350/247/204/350/214/203.md +30 -3
  638. package/templates/patterns/React/346/216/245/345/217/243/351/233/206/346/210/220/350/247/204/350/214/203.md +31 -3
  639. package/templates/patterns/React/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +31 -3
  640. package/templates/patterns/React/347/273/204/344/273/266/350/247/204/350/214/203.md +30 -3
  641. package/templates/patterns/React/350/241/250/345/215/225/350/247/204/350/214/203.md +30 -3
  642. package/templates/patterns/React/350/267/257/347/224/261/350/247/204/350/214/203.md +31 -3
  643. package/templates/patterns/Schema/345/205/274/345/256/271/350/247/204/350/214/203.md +30 -3
  644. package/templates/patterns/Vue/347/212/266/346/200/201/347/256/241/347/220/206/350/247/204/350/214/203.md +29 -3
  645. package/templates/patterns/Vue/347/273/204/344/273/266/350/247/204/350/214/203.md +33 -3
  646. package/templates/patterns/Vue/350/267/257/347/224/261/350/247/204/350/214/203.md +28 -3
  647. package/templates/patterns//344/272/213/344/273/266/351/251/261/345/212/250/350/247/204/350/214/203.md +32 -3
  648. package/templates/patterns//344/272/213/345/212/241/346/250/241/345/274/217/350/247/204/350/214/203.md +31 -3
  649. package/templates/patterns//344/274/230/351/233/205/345/201/234/346/234/272/350/247/204/350/214/203.md +31 -3
  650. package/templates/patterns//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +30 -3
  651. package/templates/patterns//345/210/206/351/241/265/346/237/245/350/257/242/350/247/204/350/214/203.md +34 -3
  652. package/templates/patterns//345/211/215/347/253/257/346/200/247/350/203/275/350/247/204/350/214/203.md +32 -3
  653. package/templates/patterns//345/221/275/345/220/215/350/247/204/350/214/203.md +30 -3
  654. package/templates/patterns//345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +31 -3
  655. package/templates/patterns//345/242/236/345/210/240/346/224/271/346/237/245/350/247/204/350/214/203.md +31 -3
  656. package/templates/patterns//345/244/226/351/203/250/344/276/235/350/265/226/350/247/204/350/214/203.md +31 -3
  657. package/templates/patterns//345/245/221/347/272/246/345/205/274/345/256/271/350/247/204/350/214/203.md +28 -3
  658. package/templates/patterns//345/256/232/346/227/266/344/273/273/345/212/241/350/247/204/350/214/203.md +32 -3
  659. package/templates/patterns//345/256/236/346/227/266/346/216/250/351/200/201/350/247/204/350/214/203.md +31 -3
  660. package/templates/patterns//345/267/245/347/250/213/347/272/252/345/276/213.md +30 -3
  661. package/templates/patterns//345/271/266/345/217/221/346/216/247/345/210/266/350/247/204/350/214/203.md +34 -3
  662. package/templates/patterns//345/274/202/346/255/245/345/257/274/345/207/272/350/247/204/350/214/203.md +31 -3
  663. package/templates/patterns//346/216/245/345/217/243/345/245/221/347/272/246/350/247/204/350/214/203.md +29 -3
  664. package/templates/patterns//346/220/234/347/264/242/346/250/241/345/274/217/350/247/204/350/214/203.md +33 -3
  665. package/templates/patterns//346/225/260/346/215/256/351/232/220/347/247/201/350/247/204/350/214/203.md +34 -3
  666. package/templates/patterns//346/226/207/344/273/266/344/270/212/344/274/240/350/247/204/350/214/203.md +30 -3
  667. package/templates/patterns//346/227/240/351/232/234/347/242/215/350/247/204/350/214/203.md +30 -3
  668. package/templates/patterns//346/227/245/345/277/227/350/247/204/350/214/203.md +31 -3
  669. package/templates/patterns//346/235/203/351/231/220/350/256/244/350/257/201/350/247/204/350/214/203.md +34 -3
  670. package/templates/patterns//346/236/266/346/236/204/347/272/242/347/272/277.md +28 -3
  671. package/templates/patterns//346/265/213/350/257/225/350/264/250/351/207/217/350/247/204/350/214/203.md +30 -3
  672. package/templates/patterns//347/206/224/346/226/255/351/231/215/347/272/247/350/247/204/350/214/203.md +32 -3
  673. package/templates/patterns//347/212/266/346/200/201/346/265/201/350/275/254/350/247/204/350/214/203.md +29 -3
  674. package/templates/patterns//347/272/246/346/235/237/345/256/236/347/216/260/350/247/204/350/214/203.md +32 -3
  675. package/templates/patterns//347/274/223/345/255/230/347/255/226/347/225/245/350/247/204/350/214/203.md +31 -3
  676. package/templates/patterns//347/274/226/347/240/201/350/264/250/351/207/217/350/247/204/350/214/203.md +30 -3
  677. package/templates/patterns//347/274/272/351/231/267/347/256/241/347/220/206/350/247/204/350/214/203.md +29 -3
  678. package/templates/patterns//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +30 -3
  679. package/templates/patterns//350/276/223/345/205/245/346/240/241/351/252/214/350/247/204/350/214/203.md +31 -3
  680. package/templates/patterns//351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +31 -3
  681. package/templates/patterns//351/224/231/350/257/257/350/276/271/347/225/214/350/247/204/350/214/203.md +33 -3
  682. package/templates/patterns//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241/350/247/204/350/214/203.md +30 -3
  683. package/dist/engine/batch1_manifest.d.ts.map +0 -1
  684. package/dist/engine/batch1_manifest.js.map +0 -1
  685. package/dist/engine/batch1_scenario_registry.d.ts.map +0 -1
  686. package/dist/engine/batch1_scenario_registry.js.map +0 -1
  687. package/dist/engine/batch1_scenario_runners.d.ts.map +0 -1
  688. package/dist/engine/batch1_scenario_runners.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"soloforge.js","sourceRoot":"","sources":["../../src/bin/soloforge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"soloforge.js","sourceRoot":"","sources":["../../src/bin/soloforge.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAC3D,sBAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,yBAAyB,GAEhF,MAAM,+BAA+B,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EACpE,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kCAAkC,EAClC,wBAAwB,GAEzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAA8B,MAAM,sCAAsC,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAErI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,KAAK,UAAU,IAAI;IACjB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxC,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;YACD,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,mBAAmB,EAAE,CAAC;YAC5B,MAAM;QACR,KAAK,KAAK;YACR,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,aAAa;YAChB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM;QACR,KAAK,WAAW;YACd,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR,KAAK,UAAU;YACb,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,qBAAqB;YACxB,MAAM,qBAAqB,EAAE,CAAC;YAC9B,MAAM;QACR,KAAK,2BAA2B;YAC9B,MAAM,0BAA0B,EAAE,CAAC;YACnC,MAAM;QACR,KAAK,wBAAwB;YAC3B,MAAM,uBAAuB,EAAE,CAAC;YAChC,MAAM;QACR,KAAK,0BAA0B;YAC7B,MAAM,yBAAyB,EAAE,CAAC;YAClC,MAAM;QACR,KAAK,iBAAiB;YACpB,QAAQ,CAAC,6DAA6D,CAAC,CAAC;YACxE,MAAM,qBAAqB,EAAE,CAAC;YAC9B,MAAM;QACR,KAAK,iBAAiB;YACpB,QAAQ,CAAC,6DAA6D,CAAC,CAAC;YACxE,MAAM,oBAAoB,EAAE,CAAC;YAC7B,MAAM;QACR,KAAK,iBAAiB;YACpB,QAAQ,CAAC,6DAA6D,CAAC,CAAC;YACxE,MAAM,sBAAsB,EAAE,CAAC;YAC/B,MAAM;QACR,KAAK,kBAAkB;YACrB,MAAM,sBAAsB,EAAE,CAAC;YAC/B,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;QACR,KAAK,oBAAoB;YACvB,MAAM,mBAAmB,EAAE,CAAC;YAC5B,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,SAAS;oBAAE,MAAM,gBAAgB,EAAE,CAAC;oBAAC,MAAM;gBAChD,KAAK,SAAS;oBAAE,MAAM,gBAAgB,EAAE,CAAC;oBAAC,MAAM;gBAChD,KAAK,SAAS;oBAAE,MAAM,gBAAgB,EAAE,CAAC;oBAAC,MAAM;gBAChD,KAAK,OAAO;oBAAE,MAAM,cAAc,EAAE,CAAC;oBAAC,MAAM;gBAC5C;oBACE,QAAQ,CAAC,gEAAgE,CAAC,CAAC;oBAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACb,QAAQ,CAAC,mCAAmC,CAAC,CAAC;oBAC9C,QAAQ,CAAC,mCAAmC,CAAC,CAAC;oBAC9C,QAAQ,CAAC,0CAA0C,CAAC,CAAC;oBACrD,QAAQ,CAAC,kCAAkC,CAAC,CAAC;YACjD,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;QACR;YACE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCd,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElF,eAAe;IACf,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEhD,wBAAwB;IACxB,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAEtC,oBAAoB;IACpB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3D,oBAAoB;IACpB,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5F,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnG,QAAQ,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,KAAK,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC1F,QAAQ,CAAC,YAAY,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,QAAQ,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACxC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,QAAQ,CAAC,gDAAgD,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,2CAA2C,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,QAAQ,CAAC,iFAAiF,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,MAAM,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,KAAkB,EAClB,QAAwB;IAExB,MAAM,IAAI,GAAG;QACX,kBAAkB,EAAE,uBAAuB;QAC3C,+BAA+B,EAAE,oCAAoC;QACrE,oCAAoC;QACpC,iCAAiC,EAAE,qCAAqC;QACxE,sCAAsC,EAAE,2CAA2C;QACnF,mCAAmC,EAAE,uCAAuC;QAC5E,iCAAiC,EAAE,gCAAgC;QACnE,mBAAmB;KACpB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,uBAAuB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEtD,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,0BAA0B;IAC1B,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,sBAAsB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,KAAkB,EAClB,QAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG;QACjB,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IACF,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAEnE,uCAAuC;IACvC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE5E,oBAAoB;IACpB,MAAM,SAAS,GAA0B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAgB,EAAE,EAAE,CAAC,CAAC;QAC7G,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAmE;QAClH,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACzF,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QACnC,QAAQ,EAAE,oBAA6B;QACvC,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAChE,CAAC,CAAC,CAAC;IAEJ,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,eAAe,CAAC,CAAC,OAAO,eAAe,CAAC;QAC7C,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,CAAC;QACrC,OAAO,CAAC,CAAC,OAAO,mBAAmB,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,KAAK,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,CAAC,4FAA4F,CAAC,CAAC;QACxG,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QAC/C,QAAQ,CAAC,6EAA6E,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAED,aAAa;IACb,MAAM,KAAK,GAAgB;QACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChC,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9E,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACjF;QACD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,SAAS;QACpD,cAAc,EAAE;YACd,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC;YACvE,QAAQ,EAAE,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC3E;QACD,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAClD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;SACrD;QACD,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,MAAM;KACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAE9E,yBAAyB;IACzB,MAAM,IAAI,GAAG;QACX,kBAAkB,EAAE,uBAAuB;QAC3C,+BAA+B,EAAE,oCAAoC;QACrE,oCAAoC;QACpC,iCAAiC,EAAE,qCAAqC;QACxE,sCAAsC,EAAE,2CAA2C;QACnF,mCAAmC,EAAE,uCAAuC;QAC5E,iCAAiC,EAAE,gCAAgC;QACnE,mBAAmB;KACpB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,uBAAuB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,sBAAsB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAkB;IAClD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC5G,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAC1G,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;QACtG,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC5F,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IACnH,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAkB;IACnD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;QACzF,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;QAC7F,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IACtH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC;IAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElF,OAAO;IACP,MAAM,IAAI,GAAG;QACX,kBAAkB;QAClB,uBAAuB;QACvB,+BAA+B;QAC/B,oCAAoC;QACpC,oCAAoC;QACpC,iCAAiC;QACjC,qCAAqC;QACrC,sCAAsC;QACtC,2CAA2C;QAC3C,mCAAmC;QACnC,uCAAuC;QACvC,iCAAiC;QACjC,gCAAgC;QAChC,mBAAmB;KACpB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,2DAA2D;IAC3D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,iCAAiC;YACjC,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG;gBAChB,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,OAAO,EAAE,WAAW;wBACpB,IAAI,EAAE,CAAC,KAAK,CAAC;wBACb,GAAG,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE;qBACxC;oBACD,UAAU,EAAE;wBACV,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,CAAC,wBAAwB,EAAE,YAAY,CAAC;qBAC/C;iBACF;aACF,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QACtD,CAAC;QAED,WAAW;QACX,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEpC,eAAe;QACf,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5C,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxC,QAAQ,CAAC,6CAA6C,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB;IACrB,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAE1C,uBAAuB;IACvB,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,QAAQ,CAAC,6BAA6B,OAAO,KAC3C,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC3C,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC7C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;gBAChE,uBACF,EAAE,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5F,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5B,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,YAAY,SAAS,CAAC,CAAC;QAC9D,QAAQ,CAAC,kCAAkC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IACvD,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtG,IAAI,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACjJ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1E,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACpH,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC5B,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,KAAK,WAAW,kCAAkC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,OAAe;IACxE,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG;gBAChB,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE;oBAC3F,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,wBAAwB,EAAE,YAAY,CAAC,EAAE;iBAC/E;aACF,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC;IAE1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAClF,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,QAAQ,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,WAAoB;IAClD,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,mBAAmB,EAAyB,CAAC;IAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,QAAQ,GAAwB,EAAE,CAAC;IACvC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IACnC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACxD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAErC,uBAAuB;IACvB,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAEpC,eAAe;IACf,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzD,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAErC,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAClF,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,iDAAiD;QACjD,IAAI,SAA6B,CAAC;QAClC,CAAC;YACC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,KAAK;gBAAE,SAAS,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,eAAe;QACf,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,QAAgB,CAAC;QACrB,IAAI,OAAe,CAAC;QAEpB,CAAC;YACC,oEAAoE;YACpE,yDAAyD;YACzD,2CAA2C;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;YAC1D,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/C,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,OAAO;QACP,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEnE,eAAe;QACf,IAAI,YAAY,GAAG;YACjB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YAChC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;SAC9C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,UAAU,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,2BAA2B;QAC3B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrG,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,iBAAiB,KAAK,WAAW,IAAI,iBAAiB,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC;YAC9G,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAC3E,CAAC,CAAC,iBAAiB,CAAC;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;QAE9E,mBAAmB;QACnB,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,kBAAkB,EAAE;oBAClB,aAAa,EAAE,YAAY;oBAC3B,kBAAkB,EAAE,MAAM;oBAC1B,wBAAwB,EAAE,SAAS,QAAQ,WAAW;iBACvD;aACF,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG;gBACjB,kBAAkB,EAAE;oBAClB,aAAa,EAAE,YAAY;oBAC3B,kBAAkB,EAAE,MAAM;oBAC1B,wBAAwB,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW;iBACvD;aACF,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,iDAAiD;QACjD,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClG,MAAM,oBAAoB,GACxB,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC9C,sCAAsC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC7D,8BAA8B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,WAAW,EAAE,oBAAoB,CAAC;gBACrD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;oBAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;wBAClC,kBAAkB,EAAE;4BAClB,aAAa,EAAE,YAAY;4BAC3B,kBAAkB,EAAE,MAAM;4BAC1B,wBAAwB,EAAE,YAAY,UAAU,CAAC,MAAM,+EAA+E;yBACvI;qBACF,CAAC,CAAC,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,SAAS,CAAC,qBAAqB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,QAAQ,CAAC,0BAA0B,OAAO,gBAAgB,CAAC,CAAC;gBAC5D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,0BAA0B,OAAO,iBAAiB,CAAC,CAAC;YAC7D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAChC,sCAAsC;IACtC,uBAAuB;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAE5F,KAAK,UAAU,YAAY;IACzB,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,0DAA0D;QAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAExC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAExE,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE/D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG;gBACb,kBAAkB,EAAE;oBAClB,aAAa,EAAE,kBAAkB;oBACjC,iBAAiB,EAAE,OAAO,iBAAiB,KAAK,QAAQ;wBACtD,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;iBACtC;aACF,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,KAAK,CAAC,KAAK,EAAE,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;IAElF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEjD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc;IACd,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,WAAW,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7F,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvD,iBAAiB;QACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACxD,IAAI,CAAC,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,uBAAuB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAkC,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAW,EAAE,GAAW;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,GAAQ,MAAM,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC7D,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEnE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,QAAQ,CAAC,6CAA6C,CAAC,CAAC;YACxD,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC/B,CAAC;QAED,gBAAgB;QAChB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAkC,CAAC,WAAW,CAAC,CAAC;YACnF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAEjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;gBACnB,QAAQ,CAAC,YAAY,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,cAAc,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,cAAc;QACd,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,SAAS;QACT,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtC,QAAQ,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;gBAEjD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACxC,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;wBACtC,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACtF,MAAM,SAAS,GAAG,yBAAyB,CACzC,EAAE,YAAY,EAAE,wBAAwB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAC1T,EAAE,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,EAAE,EAAE,mBAAmB,EAAE,UAAmB,EAAE,WAAW,EAAE,KAAK,EAAE,CACnI,CAAC;YACF,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU;oBAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC7D,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,iBAAiB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAwE;gBACpF,EAAE,EAAE,OAAO,CAAC,QAAwC;gBACpD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAA4B;gBACtI,mBAAmB,EAAE,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAClF,cAAc,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBACzD,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBACzD,gBAAgB,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC9C,kBAAkB,EAAE,WAAW;aAChC,CAAC;YACF,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1G,IAAI,cAAc,CAAC,6BAA6B,KAAK,SAAS,EAAE,CAAC;gBAC/D,QAAQ,CAAC,gBAAgB,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,gBAAgB,cAAc,CAAC,6BAA6B,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,kBAAkB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAClG,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;YAC3F,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,cAAc,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAC5D,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBACpF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;gBACjF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;gBAC9E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;oBAC7B,KAAK,MAAM,EAAE,IAAI,SAAS;wBAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/D,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBAC/B,KAAK,MAAM,CAAC,IAAI,QAAQ;wBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,+BAA+B;QAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,kCAAkC,CAAC,CAAC,EAAE,CAAC;YAChG,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;YAClG,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,aAAa,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;gBACjD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,SAAS,CAAC,yBAAyB,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,aAAa,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAC;YACnE,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC;gBACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAC3E,MAAM,iBAAiB,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;gBACvF,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;oBACzD,MAAM,YAAY,GAAG,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,gEAAgE;wBAChE,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,wCAAwC,CAAC,CAAC;wBAC3E,UAAU,GAAG,IAAI,CAAC;wBAClB,SAAS,EAAE,CAAC;wBACZ,SAAS;oBACX,CAAC;oBACD,MAAM,QAAQ,GAAG;wBACf,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,mBAAmB,EAAE,CAAC,MAAe,CAAC;wBACtC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAkB;wBACzE,eAAe,EAAE,CAAC,MAAe,CAAC;wBAClC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAoB,CAAC;wBACzD,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;wBAC9B,kBAAkB,EAAE,YAAY;wBAChC,kBAAkB,EAAE,KAAK;qBAC1B,CAAC;oBACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACrE,SAAS,EAAE,CAAC;oBACZ,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACzB,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;4BAC/B,UAAU,GAAG,IAAI,CAAC;4BAClB,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,iBAAiB,SAAS,UAAU,SAAS,SAAS,CAAC,CAAC;oBAClE,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QAED,CAAC,CAAC,WAAW;QAEb,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,kCAAkC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,KAAK,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACzC,gDAAgD;IAChD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;QAExE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,0BAA0B,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,yBAAyB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,QAAQ,CAAC,iBAAiB,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,CAAC,gBAAgB,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE9D,yBAAyB;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAC7F,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YACtF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,gBAAgB,eAAe,CAAC,MAAM,cAAc,CAAC,CAAC;gBAC/D,KAAK,MAAM,CAAC,IAAI,eAAe;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,eAAe,cAAc,CAAC,MAAM,WAAW,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;QACP,IAAI,CAAC;YACH,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,eAAe,KAAK,CAAC,eAAe,eAAe,KAAK,CAAC,wBAAwB,CAAC,MAAM,WAAW,CAAC,CAAC;gBAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,cAAc,KAAK,CAAC,oBAAoB,QAAQ,KAAK,CAAC,wBAAwB,CAAC,MAAM,cAAc,KAAK,CAAC,cAAc,WAAW,CAAC,CAAC;YAC/I,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,SAAS,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,0BAA0B;IACvC,KAAK,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEpD,kBAAkB;IAClB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,SAAS;QACT,QAAQ,CAAC,cAAc,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAC/C,QAAQ,CAAC,WAAW,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,WAAW,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEb,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,cAAc,MAAM,CAAC,wBAAwB,CAAC,MAAM,IAAI,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,cAAc,MAAM,CAAC,0BAA0B,CAAC,MAAM,IAAI,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,gCAAgC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,4BAA4B,MAAM,CAAC,gCAAgC,CAAC,MAAM,IAAI,CAAC,CAAC;YACzF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,gCAAgC,EAAE,CAAC;gBACxD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,cAAc,MAAM,CAAC,0BAA0B,CAAC,MAAM,IAAI,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,qBAAqB,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YACjG,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YACpG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,oBAAoB,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;gBACvD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,mBAAmB,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;gBAClD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,WAAW,MAAM,CAAC,eAAe,eAAe,MAAM,CAAC,cAAc,WAAW,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,wBAAwB,MAAM,CAAC,cAAc,WAAW,CAAC,CAAC;QACrE,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;YACpG,MAAM,aAAa,GAAG;gBACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC;aACvE,CAAC;YACF,MAAM,MAAM,GAAkE,EAAE,CAAC;YACjF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClF,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC9C,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,QAAQ,CAAC,UAAU,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC5C,QAAQ,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjD,QAAQ,CAAC,gBAAgB,QAAQ,CAAC,eAAe,cAAc,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;gBACzF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrD,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;oBACjC,QAAQ,CAAC,aAAa,QAAQ,CAAC,eAAe,YAAY,CAAC,CAAC;oBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,SAAS,CAAC,mCAAmC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,KAAK,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACjH,MAAM,QAAQ,GAAG,wBAAwB,CAAC,2BAA2B,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE/D,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;QACpC,QAAQ,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,QAAQ,CAAC,YAAY,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,MAAM,CAAC,MAAM;YAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB;IACtC,KAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACjH,MAAM,QAAQ,GAAG,wBAAwB,CAAC,6BAA6B,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB;QACpE,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,MAAM;YACtB,CAAC,CAAC,CAAC,sBAAsB,CAAC;YAC1B,CAAC,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,6BAA6B,CAAC;KAC/F,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACjD,CAAC;YACJ,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACxC,QAAQ,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,QAAQ,CAAC,cAAc,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,QAAQ,CAAC,WAAW,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7C,QAAQ,CAAC,kEAAkE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,qEAAqE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClG,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAC7E,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;QAChF,GAAG,QAAQ;QACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB;QACpE,eAAe,EAAE,KAAK,CAAC,MAAM;QAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;QACnD,YAAY,EAAE,4BAA4B;KAC3C,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAChI,IAAI,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACxD,CAAC;QACJ,QAAQ,CAAC,gBAAgB,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,KAAK,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACxC,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACpF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8CAA8C,CAAC,CAAC;IAC7F,MAAM,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACrH,MAAM,EACJ,mCAAmC,EACnC,sCAAsC,GACvC,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAE7C,WAAW;IACX,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,SAAS,OAAO,CAAC,GAAW,EAAE,MAAc;QAC1C,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC5D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhD,UAAU;IACV,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IAElF,cAAc;IACd,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,sBAAsB,CAAC,CAAC;IAEhG,oBAAoB;IACpB,IAAI,cAAoC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAClF,cAAc,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE/B,WAAW;IACX,MAAM,eAAe,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAExE,+BAA+B;IAC/B,MAAM,WAAW,GAAG,mCAAmC,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG;QACb,kBAAkB,EAAE,iBAAiB,CAAC,MAAM;QAC5C,wBAAwB,EAAE,cAAc;QACxC,mBAAmB,EAAE,SAAS,CAAC,MAAM;QACrC,iBAAiB,EAAE,WAAW,CAAC,MAAM;QACrC,qBAAqB,EAAE,mBAAmB,CAAC,MAAM;QACjD,cAAc,EAAE,aAAa;QAC7B,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;SAC5B,CAAC,CAAC;KACJ,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/B,QAAQ,CAAC,UAAU,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,8BAA8B,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrE,QAAQ,CAAC,mBAAmB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,QAAQ,CAAC,4BAA4B,WAAW,CAAC,MAAM,kBAAkB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACpC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7C,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,aAAa,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;QAClH,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IAClH,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,KAAK,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACrH,MAAM,EACJ,4BAA4B,EAC5B,kCAAkC,EAClC,2BAA2B,EAC3B,iCAAiC,GAClC,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IACxD,MAAM,EACJ,+BAA+B,EAAE,iBAAiB,EAAE,mBAAmB,EACvE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,GACjE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEhI,UAAU;IACV,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9F,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpB,gBAAgB;IAChB,MAAM,cAAc,GAAG,+BAA+B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAElF,UAAU;IACV,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAEjE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,IAAI;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC;IACvF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,IAAI;YAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,8CAA8C;IAC9C,MAAM,MAAM,GAAG,4BAA4B,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAEvF,mDAAmD;IACnD,MAAM,aAAa,GAAG,cAAc;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,mBAAmB,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CACnC,qBAA8B,EAC9B,CAAC,CAAC,WAAW,CACd,CAAC,CAAC;IACL,MAAM,sBAAsB,GAAG,MAAM;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;SACvE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCAAiC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,kCAAkC,CAAC;YAChD,SAAS,EAAE,aAAa;YACxB,yBAAyB,EAAE,cAAc;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,mBAAmB,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,WAAW,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,eAAwB,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;SAChK,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU;gBAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAC7B,eAAe;YACf,YAAY,CAAC,KAAK,EAAE,4BAA4B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,CAC5B,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,EACtF,MAAM,EACN,cAAc,CACf,CAAC;IAEF,kBAAkB;IAClB,IAAI,KAAK,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QAE5C,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAEzD,SAAS;YACT,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;YAED,WAAW;YACX,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEzD,wBAAwB;YACxB,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACrE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACb,eAAe,CAAC,GAAG,CAAC,GAAG;oBACrB,GAAG,eAAe,CAAC,GAAG,CAAC;oBACvB,cAAc,EAAE,KAAK,CAAC,WAAW;oBACjC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;QACR,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjC,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,UAAU,CAAC,OAAO;YAC1B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAC/D,QAAQ,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,QAAQ,CAAC,WAAW,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,eAAe,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,QAAQ,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,EACJ,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,GACrE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IACzD,MAAM,EACJ,sBAAsB,EAAE,SAAS,EAAE,QAAQ,GAC5C,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,gBAAgB;IAChB,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG;YACP,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;YACtI,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAC3H,CAAC;IACJ,CAAC;IAED,SAAS;IACT,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAClF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACnF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,CAAC,GAAG,yBAAyB,CAAU,CAAC;IACzD,0BAA0B;IAC1B,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;IAE3D,oBAAoB;IACpB,IAAI,sBAAsB,GAA2B,EAAE,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;QACzF,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG;QACvB;YACE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,aAAsB;YAC5D,WAAW,EAAE,WAAW;YACxB,+BAA+B,EAAE,GAAG;YACpC,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;SACrG;QACD;YACE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAgB;YAChD,WAAW,EAAE,WAAW;YACxB,+BAA+B,EAAE,GAAG;YACpC,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;SAC1E;QACD;YACE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAiB;YAChD,WAAW,EAAE,8BAA8B;YAC3C,+BAA+B,EAAE,GAAG;YACpC,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;SAC1E;KACF,CAAC;IAEF,UAAU;IACV,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9F,UAAU;IACV,MAAM,UAAU,GAAiC;QAC/C,aAAa,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC;KACxC,CAAC;IAEF,sBAAsB;IACtB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,aAAa,GAA2B,EAAE,GAAG,sBAAsB,EAAE,CAAC;QAE5E,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,UAAU,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAEzC,kCAAkC;YAClC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;oBAC5D,eAAe;oBACf,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,YAAY,CAAC,CAAC;oBACtD,SAAS;gBACX,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;QACrD,CAAC;QAED,cAAc;QACd,sBAAsB,CACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,EACzC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjC,aAAa,EAAE,gBAAgB,CAAC,MAAM;YACtC,WAAW;YACX,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,YAAY;SACtB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACjE,QAAQ,CAAC,YAAY,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC1J,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAE7H,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;IAEzC,oBAAoB;IACpB,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,SAAS,EAAE,yBAAyB,IAAI,OAAO,CAAC;IAEpE,YAAY;IACZ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtB,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,KAAK;gBACf,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,UAAU,SAAS,EAAE;gBAC9B,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,SAAS;aACtB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;YACtC,QAAQ,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO;IACT,CAAC;IAED,YAAY;IACZ,MAAM,IAAI,GAAG,mBAAmB,CAC9B,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,EAChH,MAAM,CACP,CAAC;IAEF,kBAAkB;IAClB,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzE,kDAAkD;IAClD,IAAI,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,oBAAoB;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACtE,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,UAAU;QACV,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxF,gCAAgC;QAChC,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;YAC1B,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACnD,CAAC;QACD,kBAAkB,CAAC,WAAW,EAAE,cAAqB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;IAEjD,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,QAAQ,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC;QAClC,QAAQ,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;QAChC,QAAQ,CAAC,WAAW,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,QAAQ,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,KAAK,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAC1C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5D,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,gEAAgE,CAAC,CAAC;QAC3E,QAAQ,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,QAAQ,CAAC,iBAAiB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,gEAAgE,CAAC,CAAC;QAC3E,QAAQ,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,eAAe,YAAY,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,KAAK,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACzC,MAAM,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAC1H,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAC5F,MAAM,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAEnI,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAChG,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,KAAK,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;QAC3H,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO,IAAI,cAAc;YACnC,oBAAoB,EAAE,aAAa,CAAC,MAAM;YAC1C,cAAc,EAAE,aAAa;YAC7B,SAAS,EAAE,eAAe;SAC3B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7C,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,aAAa,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB;IAChC,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EACJ,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IAE3D,6CAA6C;IAC7C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,8CAA8C,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IAEtC,6CAA6C;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAwD,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,UAAU;QACV,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,GAAG,IAAI,CAAC;QACjD,aAAa;QACb,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,GAAG,IAAI,CAAC;QACpD,6CAA6C;QAC7C,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QAClE,oCAAoC;QACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QAC/E,sBAAsB;QACtB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QACtG,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvD,6BAA6B;IAC7B,MAAM,SAAS,GAAG,KAAK;SACpB,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,eAAe,SAAS,IAAI,UAAU,EAAE,CAAC;IAE7D,MAAM,IAAI,GAAG,4BAA4B,CAAC;QACxC,kBAAkB,EAAE,WAAW;QAC/B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,CAAC,eAAe,CAAC,mBAAmB,GAAG,eAAe,CAAC;IAE3D,OAAO;IACP,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG;QACb,KAAK;QACL,KAAK;QACL,YAAY,EAAE,WAAW;QACzB,uBAAuB,EAAE,WAAW,CAAC,MAAM;QAC3C,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACvE,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;QAClE,yBAAyB,EAAE,cAAc;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,OAAO;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,WAAW,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1C,QAAQ,CAAC,SAAS,WAAW,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,QAAQ,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/B,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;gBAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,+BAA+B,WAAW,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAEzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnE,QAAQ,CAAC,WAAW,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,QAAQ,CAAC,SAAS,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,SAAS,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IAEnE,aAAa;IACb,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAkC,CAAC,WAAW,CAAC,CAAC;QACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAChF,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9D,QAAQ,CAAC,8BAA8B,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;YACzF,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,QAAQ,CAAC,wCAAwC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,cAAc;IACd,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACtC,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/E,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,KAAK,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gCAAgC,CAAC,IAAI,SAAS,CAAC;IACzE,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,IAAI,aAAa,CAAC;IAC5E,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC;IAEjE,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,MAAM,KAAK,GAAgB;QACzB,IAAI;QACJ,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE;YACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE;SAC5E;QACD,eAAe,EAAE,OAAO;QACxB,cAAc,EAAE;YACd,OAAO,EAAE,wBAAwB,CAAC,gBAAgB,CAAC;YACnD,QAAQ,EAAE,yBAAyB,CAAC,iBAAiB,CAAC;SACvD;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;QAChD,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,MAAM;KACnB,CAAC;IAEF,MAAM,GAAG,GAA6D,WAAW,CAAC;IAClF,MAAM,QAAQ,GAAmB;QAC/B,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE;YACN,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YACtG,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YACxI,qBAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YAC1I,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YAChJ,yBAAyB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YAClJ,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YACpH,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;YAC9H,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,EAAE;SACjI;KACF,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU;IACjB,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC9B,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,QAAQ,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAEzD,+DAA+D;IAC/D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhD,mCAAmC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9G,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,+BAA+B;gBAC/B,IAAI,GAAG,CAAC,qBAAqB,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;oBAC/E,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAgD,CAAC,EAAE,CAAC;wBAC9F,IAAI,OAAO,GAAG,KAAK,QAAQ;4BAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC5D,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBACD,iCAAiC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACxC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;wBACvC,IAAI,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC1D,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa;gCAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACtE,CAAC;wBACD,IAAI,GAAG,CAAC,WAAW;4BAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,uBAAuB;gBACvB,IAAI,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACnE,MAAM,EAAE,GAAG,GAAG,CAAC,eAA0C,CAAC;oBAC1D,IAAI,EAAE,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;wBACxD,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,aAAa;4BAAE,qBAAqB,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBACD,yBAAyB;gBACzB,IAAI,GAAG,CAAC,iBAAiB,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBACvE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC9B,QAAQ,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACzC,QAAQ,CAAC,qBAAqB,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACpD,QAAQ,CAAC,eAAe,MAAM,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACrH,QAAQ,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,6BAA6B,CAAC,CAAC;gBACzC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YACjG,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;iBAC/C,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjF,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACjE,wCAAwC;gBACxC,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEL,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC/G,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE5D,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC3B,QAAQ,CAAC,YAAY,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,QAAQ,CAAC,YAAY,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACpD,QAAQ,CAAC,YAAY,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACjD,QAAQ,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,aAAa,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/B,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,CAAC;QACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,YAAY,QAAQ,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,SAAS,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E,SAAS,WAAW,CAAC,IAAY;IAC/B,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * 适配器 Prompt 契约 — 问题三十一实现。
3
+ *
4
+ * 负责验证适配器 Prompt 的合规性、检查清单一致性、以及同步逻辑。
5
+ */
6
+ import type { AdapterPromptContract, AdapterPromptManifest, AdapterComplianceStatus } from "./knowledge_template_contracts.js";
7
+ /** 适配器 Prompt 验证结果 */
8
+ export interface AdapterPromptValidation {
9
+ adapter_id: string;
10
+ compliant: boolean;
11
+ compliance_status: AdapterComplianceStatus;
12
+ missing_sections: string[];
13
+ detected_forbidden_claims: string[];
14
+ has_next_allowed_tools: boolean;
15
+ findings: AdapterPromptFinding[];
16
+ }
17
+ /** 适配器 Prompt 发现 */
18
+ export interface AdapterPromptFinding {
19
+ severity: "critical" | "warning" | "info";
20
+ rule: string;
21
+ message_zh: string;
22
+ section?: string;
23
+ }
24
+ /** 同步选项 */
25
+ export interface AdapterSyncOptions {
26
+ dry_run: boolean;
27
+ apply: boolean;
28
+ confirm?: boolean;
29
+ }
30
+ /** 所有必须包含的章节 */
31
+ export declare const REQUIRED_ADAPTER_SECTIONS: readonly ["when_to_use_soloforge", "when_not_to_use_soloforge", "tool_invocation_policy", "strict_controlled_tools", "language_policy", "status_feedback_policy", "dangerous_action_policy", "trace_policy", "fallback_policy"];
32
+ /** 禁止出现的声明 */
33
+ export declare const FORBIDDEN_ADAPTER_CLAIMS: readonly ["可以自由选择任意 sf_* 工具", "验证通过后自动 deliver", "sf_deliver 默认会 push/PR", "跳过 SoloForge 直接修改即可", "advisory warning 必须 hard block", "experimental 能力已稳定可用", "输出英文更专业", "缺少知识时按通用经验补全", "delivery readiness 就是已交付"];
34
+ /**
35
+ * 验证适配器 Prompt 合规性。
36
+ *
37
+ * 检查项:
38
+ * - 必须章节是否齐全(缺失为 warning)
39
+ * - 是否包含禁止声明(为 critical)
40
+ * - next_allowed_tools 是否非空(空为 critical)
41
+ */
42
+ export declare function validateAdapterPrompt(contract: AdapterPromptContract): AdapterPromptValidation;
43
+ /**
44
+ * 验证适配器 Prompt 清单与契约的一致性。
45
+ *
46
+ * 检查 contract_ids 是否匹配、host_type 是否一致。
47
+ */
48
+ export declare function validateAdapterPromptManifest(manifest: AdapterPromptManifest, contract: AdapterPromptContract): {
49
+ consistent: boolean;
50
+ findings: string[];
51
+ };
52
+ /**
53
+ * 同步适配器 Prompt 集合。
54
+ *
55
+ * - dry_run: 仅验证,不写入
56
+ * - apply: 仅当合规时才执行同步(无禁止声明且所有必须章节齐全)
57
+ * - 永不覆盖用户修改过的 Prompt
58
+ */
59
+ export declare function syncAdapterPrompts(contracts: AdapterPromptContract[], options: AdapterSyncOptions): AdapterPromptValidation[];
60
+ //# sourceMappingURL=adapter_prompt_contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter_prompt_contract.d.ts","sourceRoot":"","sources":["../../src/engine/adapter_prompt_contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAI3C,sBAAsB;AACtB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,oBAAoB;AACpB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,iOAU5B,CAAC;AAEX,cAAc;AACd,eAAO,MAAM,wBAAwB,oNAU3B,CAAC;AAIX;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,GAC9B,uBAAuB,CA+DzB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,GAC9B;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB7C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,qBAAqB,EAAE,EAClC,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,EAAE,CA2C3B"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * 适配器 Prompt 契约 — 问题三十一实现。
3
+ *
4
+ * 负责验证适配器 Prompt 的合规性、检查清单一致性、以及同步逻辑。
5
+ */
6
+ // ── 常量 ──
7
+ /** 所有必须包含的章节 */
8
+ export const REQUIRED_ADAPTER_SECTIONS = [
9
+ "when_to_use_soloforge",
10
+ "when_not_to_use_soloforge",
11
+ "tool_invocation_policy",
12
+ "strict_controlled_tools",
13
+ "language_policy",
14
+ "status_feedback_policy",
15
+ "dangerous_action_policy",
16
+ "trace_policy",
17
+ "fallback_policy",
18
+ ];
19
+ /** 禁止出现的声明 */
20
+ export const FORBIDDEN_ADAPTER_CLAIMS = [
21
+ "可以自由选择任意 sf_* 工具",
22
+ "验证通过后自动 deliver",
23
+ "sf_deliver 默认会 push/PR",
24
+ "跳过 SoloForge 直接修改即可",
25
+ "advisory warning 必须 hard block",
26
+ "experimental 能力已稳定可用",
27
+ "输出英文更专业",
28
+ "缺少知识时按通用经验补全",
29
+ "delivery readiness 就是已交付",
30
+ ];
31
+ // ── 验证函数 ──
32
+ /**
33
+ * 验证适配器 Prompt 合规性。
34
+ *
35
+ * 检查项:
36
+ * - 必须章节是否齐全(缺失为 warning)
37
+ * - 是否包含禁止声明(为 critical)
38
+ * - next_allowed_tools 是否非空(空为 critical)
39
+ */
40
+ export function validateAdapterPrompt(contract) {
41
+ const findings = [];
42
+ const missing_sections = [];
43
+ const detected_forbidden_claims = [];
44
+ // 检查必须章节
45
+ for (const section of REQUIRED_ADAPTER_SECTIONS) {
46
+ if (!contract.required_sections.includes(section)) {
47
+ missing_sections.push(section);
48
+ findings.push({
49
+ severity: "warning",
50
+ rule: "required_section_missing",
51
+ message_zh: `缺少必须章节: ${section}`,
52
+ section,
53
+ });
54
+ }
55
+ }
56
+ // 检查禁止声明
57
+ for (const claim of FORBIDDEN_ADAPTER_CLAIMS) {
58
+ if (contract.forbidden_claims.includes(claim)) {
59
+ detected_forbidden_claims.push(claim);
60
+ findings.push({
61
+ severity: "critical",
62
+ rule: "forbidden_claim_detected",
63
+ message_zh: `检测到禁止声明: "${claim}"`,
64
+ });
65
+ }
66
+ }
67
+ // 检查 next_allowed_tools
68
+ const has_next_allowed_tools = contract.next_allowed_tools.length > 0;
69
+ if (!has_next_allowed_tools) {
70
+ findings.push({
71
+ severity: "critical",
72
+ rule: "next_allowed_tools_empty",
73
+ message_zh: "next_allowed_tools 为空,适配器无法获知允许调用的工具集",
74
+ });
75
+ }
76
+ // 汇总合规状态
77
+ let compliance_status = "compliant";
78
+ if (detected_forbidden_claims.length > 0) {
79
+ compliance_status = "forbidden_claims";
80
+ }
81
+ else if (missing_sections.length > 0) {
82
+ compliance_status = "missing_sections";
83
+ }
84
+ const compliant = detected_forbidden_claims.length === 0 &&
85
+ missing_sections.length === 0 &&
86
+ has_next_allowed_tools;
87
+ return {
88
+ adapter_id: contract.adapter_id,
89
+ compliant,
90
+ compliance_status,
91
+ missing_sections,
92
+ detected_forbidden_claims,
93
+ has_next_allowed_tools,
94
+ findings,
95
+ };
96
+ }
97
+ /**
98
+ * 验证适配器 Prompt 清单与契约的一致性。
99
+ *
100
+ * 检查 contract_ids 是否匹配、host_type 是否一致。
101
+ */
102
+ export function validateAdapterPromptManifest(manifest, contract) {
103
+ const findings = [];
104
+ // 检查 adapter_id 是否匹配
105
+ if (manifest.adapter_id !== contract.adapter_id) {
106
+ findings.push(`清单 adapter_id "${manifest.adapter_id}" 与契约 adapter_id "${contract.adapter_id}" 不一致`);
107
+ }
108
+ // 检查 host_type 是否匹配
109
+ if (manifest.host_type !== contract.host_type) {
110
+ findings.push(`清单 host_type "${manifest.host_type}" 与契约 host_type "${contract.host_type}" 不一致`);
111
+ }
112
+ return {
113
+ consistent: findings.length === 0,
114
+ findings,
115
+ };
116
+ }
117
+ /**
118
+ * 同步适配器 Prompt 集合。
119
+ *
120
+ * - dry_run: 仅验证,不写入
121
+ * - apply: 仅当合规时才执行同步(无禁止声明且所有必须章节齐全)
122
+ * - 永不覆盖用户修改过的 Prompt
123
+ */
124
+ export function syncAdapterPrompts(contracts, options) {
125
+ return contracts.map((contract) => {
126
+ const validation = validateAdapterPrompt(contract);
127
+ // apply 模式下,不合规的契约不执行同步
128
+ if (options.apply && !validation.compliant) {
129
+ validation.findings.push({
130
+ severity: "warning",
131
+ rule: "sync_skipped_non_compliant",
132
+ message_zh: `适配器 "${contract.adapter_id}" 不合规,跳过同步`,
133
+ });
134
+ }
135
+ // dry_run 模式只验证
136
+ if (options.dry_run) {
137
+ validation.findings.push({
138
+ severity: "info",
139
+ rule: "dry_run_only",
140
+ message_zh: `适配器 "${contract.adapter_id}" 仅执行 dry-run 验证`,
141
+ });
142
+ }
143
+ // 安全约束:永不覆盖用户修改过的 Prompt
144
+ // sync_required 标记为 false 表示用户已手动修改,跳过同步
145
+ if (options.apply && !contract.sync_required) {
146
+ validation.findings.push({
147
+ severity: "info",
148
+ rule: "user_modified_skip",
149
+ message_zh: `适配器 "${contract.adapter_id}" 已被用户修改,跳过自动同步以尊重用户主权`,
150
+ });
151
+ }
152
+ // apply 模式且未确认时,提示需要确认
153
+ if (options.apply && validation.compliant && !options.confirm) {
154
+ validation.findings.push({
155
+ severity: "info",
156
+ rule: "confirm_required",
157
+ message_zh: `适配器 "${contract.adapter_id}" 合规但未获用户确认,暂不执行写入`,
158
+ });
159
+ }
160
+ return validation;
161
+ });
162
+ }
163
+ //# sourceMappingURL=adapter_prompt_contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter_prompt_contract.js","sourceRoot":"","sources":["../../src/engine/adapter_prompt_contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * 架构决策研讨契约。
3
+ *
4
+ * 架构设计不是先写结果再补理由。该模块定义六类决策域的确认状态,
5
+ * 供 sf_expand 在生成正式设计指令前强制校验。
6
+ */
7
+ export declare const ARCHITECTURE_DECISION_DOMAINS: readonly ["business_process", "data_architecture", "security_architecture", "backend_architecture", "frontend_architecture", "infrastructure"];
8
+ export type ArchitectureDecisionDomain = typeof ARCHITECTURE_DECISION_DOMAINS[number];
9
+ export type ArchitectureDecisionStatus = "not_started" | "exploring" | "recommended" | "awaiting_confirmation" | "confirmed" | "rejected" | "rework_required" | "not_applicable_with_reason" | "deferred_with_impact";
10
+ export type ArchitectureProjectContext = "existing_system" | "new_system" | "empty_project" | "refactor_or_upgrade";
11
+ export interface ArchitectureDecisionOption {
12
+ option_id: string;
13
+ summary: string;
14
+ benefits: string[];
15
+ risks: string[];
16
+ rejected_reason?: string;
17
+ }
18
+ export interface ArchitectureDecisionRecord {
19
+ decision_id: string;
20
+ domain: ArchitectureDecisionDomain;
21
+ status: ArchitectureDecisionStatus;
22
+ required: boolean;
23
+ facts_and_constraints: string[];
24
+ evidence_refs: string[];
25
+ options: ArchitectureDecisionOption[];
26
+ recommendation?: {
27
+ option_id: string;
28
+ rationale: string[];
29
+ };
30
+ user_confirmation_ref?: string;
31
+ dependent_domains: ArchitectureDecisionDomain[];
32
+ deferred_impact?: string[];
33
+ not_applicable_reason?: string;
34
+ }
35
+ export interface ArchitectureDecisionWorkshopContract {
36
+ task_id: string;
37
+ project_context: ArchitectureProjectContext;
38
+ status: "draft" | "awaiting_confirmation" | "confirmed" | "rework_required" | "blocked";
39
+ prerequisite_evidence_refs: string[];
40
+ domains: Record<ArchitectureDecisionDomain, ArchitectureDecisionRecord>;
41
+ document_output_confirmation_ref?: string;
42
+ required_diagrams: string[];
43
+ design_generation_allowed: boolean;
44
+ blocking_findings: string[];
45
+ }
46
+ export interface ArchitectureWorkshopGateResult {
47
+ allowed: boolean;
48
+ status: ArchitectureDecisionWorkshopContract["status"];
49
+ missing_domains: ArchitectureDecisionDomain[];
50
+ blocking_findings: string[];
51
+ next_domain?: ArchitectureDecisionDomain;
52
+ }
53
+ export declare function createArchitectureDecisionWorkshop(taskId: string, projectContext?: ArchitectureProjectContext): ArchitectureDecisionWorkshopContract;
54
+ /** 架构设计、重大系统方案才进入六域研讨,低风险修改不误拦。 */
55
+ export declare function requiresArchitectureDecisionWorkshop(workflowIntent: string | undefined, intent: string): boolean;
56
+ export declare function evaluateArchitectureDecisionWorkshop(contract: ArchitectureDecisionWorkshopContract | undefined): ArchitectureWorkshopGateResult;
57
+ export declare function applyArchitectureWorkshopGate(contract: ArchitectureDecisionWorkshopContract | undefined): ArchitectureDecisionWorkshopContract | undefined;
58
+ //# sourceMappingURL=architecture_decision_workshop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture_decision_workshop.d.ts","sourceRoot":"","sources":["../../src/engine/architecture_decision_workshop.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,6BAA6B,gJAOhC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACtF,MAAM,MAAM,0BAA0B,GAClC,aAAa,GACb,WAAW,GACX,aAAa,GACb,uBAAuB,GACvB,WAAW,GACX,UAAU,GACV,iBAAiB,GACjB,4BAA4B,GAC5B,sBAAsB,CAAC;AAE3B,MAAM,MAAM,0BAA0B,GAClC,iBAAiB,GACjB,YAAY,GACZ,eAAe,GACf,qBAAqB,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;IAChD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,0BAA0B,CAAC;IAC5C,MAAM,EAAE,OAAO,GAAG,uBAAuB,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACxF,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IACvD,eAAe,EAAE,0BAA0B,EAAE,CAAC;IAC9C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C;AAWD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,0BAAyC,GACxD,oCAAoC,CAyBtC;AAED,mCAAmC;AACnC,wBAAgB,oCAAoC,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGhH;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,oCAAoC,GAAG,SAAS,GACzD,8BAA8B,CAyDhC;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,oCAAoC,GAAG,SAAS,GACzD,oCAAoC,GAAG,SAAS,CASlD"}