@memberjunction/db-auto-doc 6.2.0-edge.4 → 6.2.0-edge.6
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.
- package/README.md +105 -0
- package/dist/api/DBAutoDocAPI.d.ts +2 -0
- package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
- package/dist/api/DBAutoDocAPI.js +2 -1
- package/dist/api/DBAutoDocAPI.js.map +1 -1
- package/dist/commands/analyze.d.ts +1 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +6 -0
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +28 -19
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +91 -12
- package/dist/commands/export.js.map +1 -1
- package/dist/core/AnalysisEngine.d.ts +39 -6
- package/dist/core/AnalysisEngine.d.ts.map +1 -1
- package/dist/core/AnalysisEngine.js +144 -50
- package/dist/core/AnalysisEngine.js.map +1 -1
- package/dist/core/AnalysisOrchestrator.d.ts +20 -1
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
- package/dist/core/AnalysisOrchestrator.js +144 -28
- package/dist/core/AnalysisOrchestrator.js.map +1 -1
- package/dist/core/PKProposalGate.d.ts +22 -0
- package/dist/core/PKProposalGate.d.ts.map +1 -0
- package/dist/core/PKProposalGate.js +52 -0
- package/dist/core/PKProposalGate.js.map +1 -0
- package/dist/database/Database.d.ts +8 -0
- package/dist/database/Database.d.ts.map +1 -1
- package/dist/database/Database.js +23 -1
- package/dist/database/Database.js.map +1 -1
- package/dist/discovery/ColumnNormalizer.d.ts +31 -0
- package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
- package/dist/discovery/ColumnNormalizer.js +68 -2
- package/dist/discovery/ColumnNormalizer.js.map +1 -1
- package/dist/discovery/Composer.d.ts +33 -2
- package/dist/discovery/Composer.d.ts.map +1 -1
- package/dist/discovery/Composer.js +126 -5
- package/dist/discovery/Composer.js.map +1 -1
- package/dist/discovery/DiscoveryEngine.d.ts +3 -0
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/DiscoveryEngine.js +1 -1
- package/dist/discovery/DiscoveryEngine.js.map +1 -1
- package/dist/discovery/EmbeddingProvider.d.ts +6 -1
- package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
- package/dist/discovery/EmbeddingProvider.js +11 -1
- package/dist/discovery/EmbeddingProvider.js.map +1 -1
- package/dist/discovery/EnumCandidateGate.d.ts +19 -0
- package/dist/discovery/EnumCandidateGate.d.ts.map +1 -1
- package/dist/discovery/EnumCandidateGate.js +47 -5
- package/dist/discovery/EnumCandidateGate.js.map +1 -1
- package/dist/discovery/FKGraphWalker.d.ts +35 -0
- package/dist/discovery/FKGraphWalker.d.ts.map +1 -1
- package/dist/discovery/FKGraphWalker.js +113 -12
- package/dist/discovery/FKGraphWalker.js.map +1 -1
- package/dist/discovery/IndexKeyEvidence.d.ts +36 -0
- package/dist/discovery/IndexKeyEvidence.d.ts.map +1 -0
- package/dist/discovery/IndexKeyEvidence.js +42 -0
- package/dist/discovery/IndexKeyEvidence.js.map +1 -0
- package/dist/discovery/JoinProbe.d.ts +148 -0
- package/dist/discovery/JoinProbe.d.ts.map +1 -0
- package/dist/discovery/JoinProbe.js +233 -0
- package/dist/discovery/JoinProbe.js.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts +10 -1
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
- package/dist/discovery/LLMDiscoveryValidator.js +44 -12
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
- package/dist/discovery/LLMSanityChecker.js +10 -1
- package/dist/discovery/LLMSanityChecker.js.map +1 -1
- package/dist/discovery/OrganicKeyDetector.d.ts +29 -1
- package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
- package/dist/discovery/OrganicKeyDetector.js +34 -5
- package/dist/discovery/OrganicKeyDetector.js.map +1 -1
- package/dist/discovery/OrganicKeyTranslator.d.ts +24 -5
- package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
- package/dist/discovery/OrganicKeyTranslator.js +32 -14
- package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
- package/dist/discovery/PKDetector.d.ts +9 -0
- package/dist/discovery/PKDetector.d.ts.map +1 -1
- package/dist/discovery/PKDetector.js +86 -8
- package/dist/discovery/PKDetector.js.map +1 -1
- package/dist/discovery/SemanticPhase.d.ts +25 -0
- package/dist/discovery/SemanticPhase.d.ts.map +1 -1
- package/dist/discovery/SemanticPhase.js +55 -11
- package/dist/discovery/SemanticPhase.js.map +1 -1
- package/dist/discovery/StructuralPhase.d.ts +27 -5
- package/dist/discovery/StructuralPhase.d.ts.map +1 -1
- package/dist/discovery/StructuralPhase.js +42 -9
- package/dist/discovery/StructuralPhase.js.map +1 -1
- package/dist/discovery/TransitiveBridgeDetector.d.ts +5 -1
- package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -1
- package/dist/discovery/TransitiveBridgeDetector.js +25 -3
- package/dist/discovery/TransitiveBridgeDetector.js.map +1 -1
- package/dist/discovery/embedding-provider-default.d.ts +25 -0
- package/dist/discovery/embedding-provider-default.d.ts.map +1 -0
- package/dist/discovery/embedding-provider-default.js +47 -0
- package/dist/discovery/embedding-provider-default.js.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts +63 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
- package/dist/drivers/BaseAutoDocDriver.js +3 -5
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
- package/dist/drivers/MySQLDriver.d.ts +21 -1
- package/dist/drivers/MySQLDriver.d.ts.map +1 -1
- package/dist/drivers/MySQLDriver.js +64 -0
- package/dist/drivers/MySQLDriver.js.map +1 -1
- package/dist/drivers/PostgreSQLDriver.d.ts +43 -2
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
- package/dist/drivers/PostgreSQLDriver.js +132 -19
- package/dist/drivers/PostgreSQLDriver.js.map +1 -1
- package/dist/drivers/SQLServerDriver.d.ts +28 -1
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
- package/dist/drivers/SQLServerDriver.js +108 -1
- package/dist/drivers/SQLServerDriver.js.map +1 -1
- package/dist/drivers/probeErrors.d.ts +30 -0
- package/dist/drivers/probeErrors.d.ts.map +1 -0
- package/dist/drivers/probeErrors.js +94 -0
- package/dist/drivers/probeErrors.js.map +1 -0
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +34 -18
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
- package/dist/generators/AdditionalSchemaInfoGenerator.js +130 -8
- package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
- package/dist/generators/ErdClusterGenerator.d.ts +44 -0
- package/dist/generators/ErdClusterGenerator.d.ts.map +1 -0
- package/dist/generators/ErdClusterGenerator.js +216 -0
- package/dist/generators/ErdClusterGenerator.js.map +1 -0
- package/dist/generators/ErdClusterer.d.ts +130 -0
- package/dist/generators/ErdClusterer.d.ts.map +1 -0
- package/dist/generators/ErdClusterer.js +308 -0
- package/dist/generators/ErdClusterer.js.map +1 -0
- package/dist/generators/HTMLGenerator.d.ts +6 -0
- package/dist/generators/HTMLGenerator.d.ts.map +1 -1
- package/dist/generators/HTMLGenerator.js +41 -6
- package/dist/generators/HTMLGenerator.js.map +1 -1
- package/dist/generators/MermaidGenerator.d.ts +3 -0
- package/dist/generators/MermaidGenerator.d.ts.map +1 -1
- package/dist/generators/MermaidGenerator.js +4 -0
- package/dist/generators/MermaidGenerator.js.map +1 -1
- package/dist/generators/index.d.ts +2 -0
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +2 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts.map +1 -1
- package/dist/prompts/PromptEngine.js +10 -1
- package/dist/prompts/PromptEngine.js.map +1 -1
- package/dist/types/analysis.d.ts +2 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/config.d.ts +128 -4
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +7 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/discovery.d.ts +41 -0
- package/dist/types/discovery.d.ts.map +1 -1
- package/dist/types/state.d.ts +29 -0
- package/dist/types/state.d.ts.map +1 -1
- package/dist/utils/call-deadline.d.ts +43 -0
- package/dist/utils/call-deadline.d.ts.map +1 -0
- package/dist/utils/call-deadline.js +81 -0
- package/dist/utils/call-deadline.js.map +1 -0
- package/dist/utils/config-loader.d.ts +5 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +37 -0
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/index-hints.d.ts +43 -0
- package/dist/utils/index-hints.d.ts.map +1 -0
- package/dist/utils/index-hints.js +80 -0
- package/dist/utils/index-hints.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/llm-factory.d.ts +1 -0
- package/dist/utils/llm-factory.d.ts.map +1 -1
- package/dist/utils/llm-factory.js +6 -1
- package/dist/utils/llm-factory.js.map +1 -1
- package/dist/utils/seed-context.d.ts +23 -0
- package/dist/utils/seed-context.d.ts.map +1 -0
- package/dist/utils/seed-context.js +38 -0
- package/dist/utils/seed-context.js.map +1 -0
- package/package.json +5 -5
- package/prompts/fk-pruning-holistic.md +7 -0
- package/prompts/fk-pruning-table.md +20 -1
- package/prompts/pk-pruning-holistic.md +7 -0
- package/prompts/pk-pruning-table.md +17 -0
- package/prompts/table-analysis.md +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalysisEngine.js","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAetE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,OAAO,cAAc;IAUzB,YACU,MAAuB,EACvB,YAA0B,EAC1B,YAA0B,EAC1B,gBAAkC,EAC1C,UAAsE;QAJ9D,WAAM,GAAN,MAAM,CAAiB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QATpC,cAAS,GAAW,CAAC,CAAC;QAY5B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CACpD,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EACxC,MAAM,CACP,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAChD,MAAM,CAAC,QAAQ,CAAC,WAAW,EAC3B,YAAY,EACZ,gBAAgB,CACjB,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEjD,4CAA4C;QAC5C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,GAAgB;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,6CAA6C;IACtC,aAAa,CAAC,GAAgB;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAC3B,KAA4B,EAC5B,sBAA8B,EAAE;QAEhC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAEvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YACvC,IAAI,EAAE,CAAC,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBACzC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC;gBACxB,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,MAAM,YAAY,mBAAmB,iBAAiB,QAAQ,uBAAuB,CAAC,CAAC;QACpJ,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,sDAAsD;IAC/C,sBAAsB,CAC3B,KAA4B,EAC5B,sBAA8B,EAAE;QAEhC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,wBAAwB,CAC7B,KAA4B,EAC5B,sBAA8B,EAAE;QAEhC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAEvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAS;YACvC,IAAI,EAAE,CAAC,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBACzC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC;gBACxB,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oDAAoD,MAAM,aAAa,mBAAmB,iBAAiB,QAAQ,uBAAuB,CAAC,CAAC;QACxJ,IAAI,CAAC,UAAU,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,wDAAwD;IACjD,wBAAwB,CAC7B,KAA4B,EAC5B,sBAA8B,EAAE;QAEhC,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAC3B,KAA4B,EAC5B,GAAgB;QAEhB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9G,MAAM,cAAc,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAE/D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CACnF,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrH,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAG7G,MAAM,YAAY,GAAwB,EAAE,CAAC;QAE7C,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC;YACnI,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEnM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,kBAAkB,EAAE,OAAO,EAC3B,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC/M,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAE/I,IAAI,CAAC;gBAAC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;oBAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC7F,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBACxC,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BAAC,OAAO,CAAC,GAAG,CAAC,kDAAkD,QAAQ,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAAC,SAAS;wBAAC,CAAC;wBACtJ,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;oBACvK,CAAC;gBACH,CAAC;YACD,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,KAAM,QAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC1H,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAE1E,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACjH,MAAM,eAAe,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEzQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAC1D,qBAAqB,EAAE,eAAe,EACtC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC/M,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACjG,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBAClD,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC;oBAChC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,cAAc,CAAC,YAAY,8BAA8B,CAAC,CAAC;YACvH,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACtF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,aAAa,IAAI,iBAAiB,cAAc,GAAG,CAAC,CAAC;QACjH,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,gDAAgD;IACzC,KAAK,CAAC,gBAAgB,CAC3B,KAA4B,EAC5B,GAAgB;QAEhB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEC;;;;;KAKC;IACI,KAAK,CAAC,gBAAgB,CAC3B,KAA4B,EAC5B,GAAgB;QAEhB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAE/D,+BAA+B;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CACvD,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;gBAChC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;aACxC,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,yCAAyC;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,gFAAgF;QAChF,IAAI,CAAC,UAAU,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAa7G,MAAM,YAAY,GAAsB,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,QAAQ,EAAE,CAAC;YACX,uCAAuC;YACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,qBAAqB,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW;aAClC,CAAC,CAAC,CAAC;YAEJ,MAAM,OAAO,GAAG;gBACd,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,SAAS;gBACtB,gBAAgB,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE;gBAC1C,SAAS;gBACT,UAAU;gBACV,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;aAC1D,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,kBAAkB,EAClB,OAAO,EACP;gBACE,cAAc,EAAE,MAAM;gBACtB,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;gBAC1C,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;gBAC1D,aAAa,EAAE,QAAQ,EAAE,KAAK;gBAC9B,mBAAmB,EAAE,QAAQ,EAAE,WAAW;aAC3C,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1F,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBAAC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;oBAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC7F,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBACxC,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,kDAAkD,QAAQ,IAAI,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;4BACrI,SAAS;wBACX,CAAC;wBACD,YAAY,CAAC,IAAI,CAAC;4BAChB,EAAE;4BACF,SAAS,EAAE,QAAQ,CAAC,SAAS;4BAC7B,YAAY,EAAE,EAAE,CAAC,UAAU;4BAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;4BAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;4BAC7B,YAAY,EAAE,EAAE,CAAC,YAAY;4BAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;4BAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;4BAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACD,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,KAAM,QAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YAExH,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACpG,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,YAAY,CAAC,MAAM,0BAA0B,CAAC,CAAC;QAChG,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAElF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,CAAC;QAED,qFAAqF;QACrF,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAEjH,MAAM,eAAe,GAAG;YACtB,SAAS;YACT,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;SAC1D,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAC1D,qBAAqB,EACrB,eAAe,EACf;YACE,cAAc,EAAE,MAAM;YACtB,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;YAC1C,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;YAC1D,aAAa,EAAE,QAAQ,EAAE,KAAK;YAC9B,mBAAmB,EAAE,QAAQ,EAAE,WAAW;SAC3C,CACF,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACjG,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBAClD,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC;oBAChC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,OAAO,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5N,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,cAAc,CAAC,YAAY,qCAAqC,CAAC,CAAC;YAC3H,gDAAgD;YAChD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,aAAa,IAAI,iBAAiB,cAAc,GAAG,CAAC,CAAC;QACjH,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAEjF,aAAa;QACb,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,gDAAgD;IACzC,KAAK,CAAC,gBAAgB,CAC3B,KAA4B,EAC5B,GAAgB;QAEhB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CACvB,KAA4B,EAC5B,GAAgB,EAChB,KAAa,EACb,MAAmB;QAEnB,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,qBAAqB,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YAChH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAErE,+DAA+D;YAC/D,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAED,qFAAqF;YACrF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAE/D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,4CAA4C;IACrC,KAAK,CAAC,YAAY,CACvB,KAA4B,EAC5B,GAAgB,EAChB,KAAa,EACb,MAAmB;QAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,KAA4B,EAC5B,GAAgB,EAChB,SAAoB,EACpB,KAAa;QAEb,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE;gBACrC,KAAK;gBACL,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,oCAAoC;aAC9C,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,gBAAgB,EAChB,OAAO,EACP;gBACE,cAAc,EAAE,MAAM;gBACtB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW;aACxC,CACF,CAAC;YAEF,kCAAkC;YAClC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;gBAC3F,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC5B,GAAG,EACH,qBAAqB,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,YAAY,EAAE,CACnF,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CACzC,GAAG,EACH;oBACE,KAAK;oBACL,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,MAAM,CAAC,YAAY;iBAC7B,EACD,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,CACpB,CAAC;gBAEF,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,eAAe;YACf,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAE1I,qEAAqE;YACrE,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC;YAC9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACrD,GAAG,EACH,KAAK,EACL,MAAM,CAAC,MAAM,EACb,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,KAAK,CAChB,CAAC;YACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC;YAEnE,2BAA2B;YAC3B,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACtC,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAC9B,MAAM,CAAC,MAAM,CAAC,SAAS,EACvB,MAAM,CAAC,MAAM,CAAC,UAAU,EACxB,GAAG,CAAC,SAAS,EACb,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;YAEF,0DAA0D;YAC1D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACnC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CACvC,MAAM,EACN,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,GAAG,CAAC,SAAS,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAEjF,2EAA2E;YAC3E,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,wBAAwB,CAC3B,KAAK,EACL,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,KAAK,EACf,MAAM,CAAC,MAAM,CAAC,WAAW,CAC1B,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1D,IAAI,CAAC,uBAAuB,CAC1B,KAAK,EACL,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,KAAK,EACf,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBACzC,+CAA+C;YACjD,CAAC;YAED,6DAA6D;YAC7D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CACzC,GAAG,EACH;gBACE,KAAK;gBACL,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBACpD,OAAO,EAAE,eAAe,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC7D,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,kBAAkB,EAAE,gBAAgB;aACrC,EACD,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,CACpB,CAAC;YAEF,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAC9D,KAAK,EACL,MAAM,CAAC,MAAM,EACb,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,KAAK,CAChB,CAAC;YAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;QAEtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC5B,GAAG,EACH,uBAAuB,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAM,KAAe,CAAC,OAAO,EAAE,CAC1F,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE;gBACrC,KAAK;gBACL,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAG,KAAe,CAAC,OAAO;aAClC,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,KAA4B,EAC5B,SAAoB;QAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,eAAgB,CAAC;QAEzC,8CAA8C;QAC9C,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS;aACvC,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9E,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,OAAO;oBACL,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,WAAW,EAAE,WAAW,CAAC,WAAW;iBACrC,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE3B,uEAAuE;QACvE,MAAM,SAAS,GAA4C,EAAE,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3F,gEAAgE;QAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAE9F,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;gBAC9C,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS;aAC3D,CAAC,CAAC;YACH,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,EAAE,EAAE,uCAAuC;YACvD,kBAAkB,EAAE,kBAAyB;YAC7C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YACzD,SAAS;YACT,WAAW,EAAE,kBAAkB;YAC/B,gBAAgB;YAChB,cAAc,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,KAA4B,EAC5B,UAAkB,EAClB,SAAiB;QAEjB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,OAAO,cAAc,CAAC,UAAU,CAAC,WAAW;aACzC,MAAM,CAAC,EAAE,CAAC,EAAE,CACX,EAAE,CAAC,UAAU,KAAK,UAAU;YAC5B,EAAE,CAAC,WAAW,KAAK,SAAS;YAC5B,EAAE,CAAC,MAAM,KAAK,UAAU,CACzB;aACA,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACV,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;YACtC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB;YAC9C,UAAU,EAAE,EAAE,CAAC,UAAU;SAC1B,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,KAAsB,EACtB,kBAA+D,EAC/D,SAAiB;QAEjB,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAEhC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,SAAS;gBAAE,SAAS;YAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7B,iFAAiF;YACjF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3D,6DAA6D;YAC7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM;gBAAE,SAAS;YAEtD,MAAM,UAAU,GAAqB;gBACnC,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,MAAM,EAAE,eAAe;gBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,MAAM,EAAE,KAAK;gBACb,qBAAqB,EAAE,MAAM,CAAC,UAAU;oBACtC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE;oBACnF,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS;aACV,CAAC;YAEF,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBAC3F,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAgB;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,UAAkB,EAAE,SAAiB;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAE1B,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;QAE1C,gEAAgE;QAChE,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAE5C,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,IAAI,OAAO,EAAE,WAAW;YAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;QACzE,IAAI,OAAO,EAAE,KAAK;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QACvD,IAAI,OAAO,EAAE,cAAc;YAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7E,IAAI,QAAQ,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAE1G,iCAAiC;QACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAChC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,IAAI,KAAK,CAAC,WAAW;oBAAE,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC/E,IAAI,KAAK,CAAC,KAAK;oBAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,GAAgB,EAChB,KAAsB,EACtB,SAAoC,EACpC,UAAkB,EAClB,SAAiB;QAEjB,yBAAyB;QACzB,MAAM,iBAAiB,GAAG,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC;QAET,uFAAuF;QACvF,2FAA2F;QAC3F,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;gBACL,sBAAsB,EAAE,IAAI;gBAC5B,oBAAoB,EAAE,kDAAkD;gBACxE,aAAa,EAAE,EAAE,CAAC,6DAA6D;aAChF,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChD,UAAU,EAAE,GAAG,CAAC,IAAI;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;SACnC,CAAC,CAAC,CAAC;QAEJ,oCAAoC;QACpC,MAAM,cAAc,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC,CAAC;QAEJ,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,qBAAqB,EACrB;YACE,UAAU;YACV,SAAS;YACT,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM;YACrD,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YACxD,wBAAwB,EAAE,iBAAiB,CAAC,WAAW;YACvD,eAAe;YACf,uBAAuB,EAAE,SAAS,CAAC,gBAAgB;YACnD,cAAc;SACf,EACD;YACE,cAAc,EAAE,MAAM;SACvB,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,iDAAiD;YACjD,OAAO;gBACL,sBAAsB,EAAE,IAAI;gBAC5B,oBAAoB,EAAE,iDAAiD;gBACvE,aAAa,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtD,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,mBAAmB;iBACrC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAE1I,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iCAAiC,CAC5C,KAA4B,EAC5B,GAAgB,EAChB,KAAa,EACb,MAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,eAAe,EAAE,KAAK;gBACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC;oBACnC,OAAO;wBACL,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,oBAAoB;wBAC1D,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACnC,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,oBAAoB;yBACnD,CAAC,CAAC,IAAI,EAAE;wBACT,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE;wBACpC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE;qBACvC,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,+BAA+B,EAC/B,OAAO,EACP;gBACE,cAAc,EAAE,MAAM;aACvB,CACF,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,0BAA0B;gBAC1B,MAAM,iBAAiB,GAAG;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,kBAA2B;oBACtC,KAAK,EAAE,SAAS,KAAK,EAAE;oBACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;oBAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;oBAC7C,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAA2B,CAAC,CAAC,CAAC,WAAoB;oBAC5F,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;gBAEF,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAEvB,eAAe;gBACf,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE1I,aAAa;gBACb,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBAC9C,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,GAAG,EACH,UAAU,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,CAC9F,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzC,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC5B,GAAG,EACH,kDAAkD,KAAK,KAAM,KAAe,CAAC,OAAO,EAAE,CACvF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,iEAAiE;IAC1D,KAAK,CAAC,iCAAiC,CAC5C,KAA4B,EAC5B,GAAgB,EAChB,KAAa,EACb,MAAmB;QAEnB,OAAO,IAAI,CAAC,iCAAiC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,6BAA6B,CACxC,KAA4B,EAC5B,GAAgB,EAChB,MAAwB;QAExB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,oBAAoB;oBAClD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,oBAAoB;qBACnD,CAAC,CAAC;oBACH,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,2BAA2B,EAC3B,OAAO,EACP;gBACE,cAAc,EAAE,MAAM;aACvB,CACF,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,wCAAwC;gBACxC,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;oBAC1F,IAAI,SAAS,EAAE,0BAA0B,EAAE,CAAC;wBAC1C,IAAI,CAAC,YAAY,CAAC,uBAAuB,CACvC,MAAM,EACN,SAAS,CAAC,0BAA0B,EACpC,0CAA0C,EAC1C,GAAG,CAAC,SAAS,CACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,iBAAiB,GAAG;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,cAAuB;oBAClC,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,SAAS;oBAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;oBAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;oBACtF,cAAc,EAAE;wBACd,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBAClD,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;qBAClE;oBACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAA2B,CAAC,CAAC,CAAC,WAAoB;oBAC5F,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;gBAEF,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAEvB,eAAe;gBACf,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE1I,aAAa;gBACb,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,GAAG,EACH,WAAW,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,CACrG,CAAC;oBACJ,CAAC;oBACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBAC9C,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,GAAG,EACH,WAAW,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,CACrG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzC,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC5B,GAAG,EACH,wCAAwC,MAAM,CAAC,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CACnF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,6BAA6B,CACxC,KAA4B,EAC5B,GAAgB,EAChB,MAAwB;QAExB,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,6BAA6B,CACxC,KAA4B,EAC5B,GAAgB;QAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,iCAAiC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,UAAU,EAAE,CAAC,CAAC,IAAI;oBAClB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,oBAAoB;oBAClD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,oBAAoB;wBAClD,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;iBACJ,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAClD,2BAA2B,EAC3B,OAAO,EACP;gBACE,cAAc,EAAE,MAAM;aACvB,CACF,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,0BAA0B;gBAC1B,MAAM,iBAAiB,GAAG;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,cAAuB;oBAClC,KAAK,EAAE,aAAa;oBACpB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;oBAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM;oBACvF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CACpD;oBACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAA2B,CAAC,CAAC,CAAC,WAAoB;oBAC5F,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;gBAEF,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAEvB,eAAe;gBACf,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE1I,aAAa;gBACb,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACpD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,GAAG,EACH,kBAAkB,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,CAC5F,CAAC;oBACJ,CAAC;oBACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;wBAC/C,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,GAAG,EACH,WAAW,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,CACzE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzC,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC5B,GAAG,EACH,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAChE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,6BAA6B,CACxC,KAA4B,EAC5B,GAAgB;QAEhB,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,KAA4B,EAAE,GAAgB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gDAAgD;IACzC,gBAAgB,CAAC,KAA4B,EAAE,GAAgB;QACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB,CACjC,KAA4B,EAC5B,GAAgB,EAChB,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,sDAAsD;IAC/C,KAAK,CAAC,sBAAsB,CACjC,KAA4B,EAC5B,GAAgB,EAChB,QAAkC;QAElC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAGD;;;;;;;;;;;;;;;;;;;OAmBG;IACK,4BAA4B,CAClC,KAA4B,EAC5B,UAAkB,EAClB,SAAiB,EACjB,kBAAiF;QAEjF,kEAAkE;QAClE,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;QAC/G,OAAO;IACT,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAC7B,KAA4B,EAC5B,UAAkB,EAClB,SAAiB,EACjB,UAAgE;QAEhE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAE3D,yDAAyD;QACzD,MAAM,mBAAmB,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC1E,EAAE,CAAC,UAAU,KAAK,UAAU;YAC5B,EAAE,CAAC,SAAS,KAAK,SAAS;YAC1B,EAAE,CAAC,MAAM,KAAK,WAAW,CAC1B,CAAC;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,oDAAoD;YACpD,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBAC3E,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAEvG,IAAI,WAAW,EAAE,CAAC;gBAChB,iDAAiD;gBACjD,mBAAmB,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpF,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,+CAA+C,UAAU,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/J,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,OAAO,CAAC,GAAG,CAAC,kDAAkD,UAAU,IAAI,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrM,CAAC;YACD,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACxE,EAAE,CAAC,UAAU,KAAK,UAAU;YAC5B,EAAE,CAAC,SAAS,KAAK,SAAS;YAC1B,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YACxC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CACpF,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,qDAAqD;YACrD,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;YACxC,iBAAiB,CAAC,MAAM,GAAG,WAAW,CAAC;YACvC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,gDAAgD,UAAU,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;YAE5J,sBAAsB;YACtB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,MAAM;oBAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YACzC,CAAC;YACD,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,IAAI,SAAS,cAAc,OAAO,aAAa,CAAC,CAAC;gBAC5G,OAAO;YACT,CAAC;YAED,kCAAkC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,IAAI,SAAS,IAAI,OAAO,4BAA4B,CAAC,CAAC;gBACjH,OAAO;YACT,CAAC;YAED,wGAAwG;YACxG,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC;gBAC3E,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE5C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,IAAI,SAAS,IAAI,OAAO,UAAU,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;gBACtH,OAAO;YACT,CAAC;YAED,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,IAAI,SAAS,IAAI,OAAO,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACrJ,OAAO;YACT,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,KAAK,GAAgD;YACzD,UAAU;YACV,SAAS;YACT,WAAW,EAAE,OAAO;YACpB,UAAU;YACV,QAAQ,EAAE;gBACR,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC9B,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACzD,WAAW,EAAE,GAAG;gBAChB,aAAa,EAAE,GAAG;gBAClB,QAAQ,EAAE,CAAC,8DAA8D,CAAC;aAC3E;YACD,qBAAqB,EAAE,CAAC;YACxB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,WAAW;SACpB,CAAC;QAEF,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,sBAAsB;QACtB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7E,IAAI,MAAM;gBAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QACzC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;IACpI,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,KAA4B,EAC5B,UAAkB,EAClB,SAAiB,EACjB,WAAmE;QAEnE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAExE,OAAO,CAAC,GAAG,CAAC,+BAA+B,WAAW,CAAC,MAAM,wCAAwC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;QAEhI,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;YACxD,uFAAuF;YACvF,IAAI,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAC3C,IAAI,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;YACzC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,wEAAwE;gBACxE,mDAAmD;gBACnD,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,8BAA8B;YAC9B,MAAM,QAAQ,GAAgE;gBAC5E,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,sBAAsB,UAAU,OAAO,gBAAgB,IAAI,eAAe,IAAI,gBAAgB,iBAAiB,UAAU,GAAG;gBACtI,SAAS;gBACT,UAAU;gBACV,kBAAkB,EAAE,EAAE;gBACtB,cAAc,EAAE,SAAS;gBACzB,eAAe,EAAE;oBACf,WAAW,EAAE,GAAG,gBAAgB,IAAI,eAAe,EAAE;oBACrD,YAAY,EAAE,gBAAgB;iBAC/B;aACF,CAAC;YAEF,gDAAgD;YAChD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACjE,EAAE,CAAC,UAAU,KAAK,UAAU;gBAC5B,EAAE,CAAC,SAAS,KAAK,SAAS;gBAC1B,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CACpC,CAAC;YAEF,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpD,+EAA+E;gBAC/E,iFAAiF;gBACjF,mFAAmF;gBACnF,wEAAwE;gBACxE,OAAO,CAAC,GAAG,CAAC,kEAAkE,UAAU,IAAI,SAAS,IAAI,UAAU,OAAO,gBAAgB,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC,CAAC;gBACrL,SAAS;YACX,CAAC;YAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpD,wEAAwE;gBACxE,kDAAkD;gBAClD,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC/B,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,UAAU,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,MAAM;oBAAE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,IAAI,SAAS,IAAI,UAAU,OAAO,gBAAgB,IAAI,eAAe,4BAA4B,CAAC,CAAC;YAC5J,CAAC;YAED,sDAAsD;YACtD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACjE,EAAE,CAAC,UAAU,KAAK,UAAU;gBAC5B,EAAE,CAAC,WAAW,KAAK,SAAS;gBAC5B,EAAE,CAAC,YAAY,KAAK,UAAU,CAC/B,CAAC;YAEF,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpD,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;gBACjC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;gBAChC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;gBAClE,QAAQ,CAAC,IAAI,GAAG,mBAAmB,CAAC;gBACpC,QAAQ,CAAC,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC;gBAC/C,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,UAAU,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC;gBAEhF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC3B,MAAM,CAAC,oBAAoB,GAAG;wBAC5B,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,gBAAgB;wBACxB,gBAAgB,EAAE,gBAAgB;qBACnC,CAAC;gBACJ,CAAC;gBAED,wEAAwE;gBACxE,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAE5H,OAAO,CAAC,GAAG,CAAC,kCAAkC,UAAU,IAAI,SAAS,IAAI,UAAU,OAAO,gBAAgB,IAAI,eAAe,IAAI,gBAAgB,iBAAiB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7L,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,KAAK,GAAgD;oBACzD,UAAU;oBACV,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,UAAU;oBACxB,YAAY,EAAE,gBAAgB;oBAC9B,WAAW,EAAE,eAAe;oBAC5B,YAAY,EAAE,gBAAgB;oBAC9B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;oBACxC,QAAQ,EAAE;wBACR,WAAW,EAAE,GAAG;wBAChB,YAAY,EAAE,CAAC;wBACf,gBAAgB,EAAE,CAAC;wBACnB,aAAa,EAAE,IAAI;wBACnB,cAAc,EAAE,CAAC;wBACjB,UAAU,EAAE,CAAC;wBACb,WAAW,EAAE,CAAC;wBACd,QAAQ,EAAE,CAAC,oCAAoC,CAAC;qBACjD;oBACD,qBAAqB,EAAE,CAAC;oBACxB,cAAc,EAAE,IAAI;oBACpB,MAAM,EAAE,WAAW;iBACpB,CAAC;gBAEF,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC1C,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,UAAU,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC;gBAEhF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC3B,MAAM,CAAC,oBAAoB,GAAG;wBAC5B,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,gBAAgB;wBACxB,gBAAgB,EAAE,gBAAgB;qBACnC,CAAC;gBACJ,CAAC;gBAED,wEAAwE;gBACxE,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAE5H,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,IAAI,SAAS,IAAI,UAAU,OAAO,gBAAgB,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC,CAAC;YAC9J,CAAC;YAED,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,KAA4B,EAC5B,UAAkB,EAClB,SAAiB,EACjB,UAAkB;QAElB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,KAA4B,EAC5B,gBAAwB,EACxB,eAAuB,EACvB,gBAAwB,EACxB,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;QAExB,oGAAoG;QACpG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,mDAAmD;QACnD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC9E,IAAI,WAAW,EAAE,CAAC;gBAChB,sFAAsF;gBACtF,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAC5C,GAAG,CAAC,EAAE;oBACJ,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnF,OAAO,GAAG,CAAC,MAAM,KAAK,gBAAgB;wBAC/B,QAAQ,KAAK,eAAe;wBAC5B,GAAG,CAAC,MAAM,KAAK,gBAAgB,CAAC;gBACzC,CAAC,CACF,CAAC;gBAEF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;wBACzB,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,gBAAgB;wBACxB,gBAAgB,EAAE,gBAAgB;qBACnC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,0CAA0C,gBAAgB,IAAI,eAAe,OAAO,gBAAgB,IAAI,eAAe,EAAE,CAAC,CAAC;gBACzI,CAAC;YACH,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC9E,IAAI,WAAW,EAAE,CAAC;gBAChB,yCAAyC;gBACzC,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAC7C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,gBAAgB;oBAC/B,GAAG,CAAC,KAAK,KAAK,eAAe;oBAC7B,GAAG,CAAC,MAAM,KAAK,gBAAgB,CACvC,CAAC;gBAEF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;wBAC1B,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,eAAe;wBACtB,MAAM,EAAE,gBAAgB;wBACxB,gBAAgB,EAAE,gBAAgB;qBACnC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,2CAA2C,gBAAgB,IAAI,eAAe,OAAO,gBAAgB,IAAI,eAAe,EAAE,CAAC,CAAC;gBAC1I,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,KAA4B,EAC5B,SAAiB,EACjB,aAAqB;QAErB,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE5C,8CAA8C;QAC9C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAE5C,eAAe;gBACf,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,GAAG,GAAG,IAAI,UAAU,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;oBAClF,4DAA4D;oBAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO;4BACL,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,MAAM,EAAE,QAAQ,CAAC,IAAI;yBACtB,CAAC;oBACJ,CAAC;oBAED,uDAAuD;oBACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI;wBAC7B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAM,GAAG,UAAU,KAAK;wBAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CACrC,CAAC;oBAEF,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO;4BACL,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,MAAM,EAAE,QAAQ,CAAC,IAAI;yBACtB,CAAC;oBACJ,CAAC;oBAED,yBAAyB;oBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,OAAO;4BACL,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;yBAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO;4BACL,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,MAAM,EAAE,QAAQ,CAAC,IAAI;yBACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"AnalysisEngine.js","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Main orchestrator for database analysis
|
|
3
3
|
* Can be used programmatically or via CLI
|
|
4
4
|
*/
|
|
5
|
+
import { StateManager } from '../state/StateManager.js';
|
|
5
6
|
import { DBAutoDocConfig } from '../types/config.js';
|
|
6
7
|
import { DatabaseDocumentation, AnalysisRun } from '../types/state.js';
|
|
7
8
|
export interface AnalysisOptions {
|
|
@@ -12,6 +13,8 @@ export interface AnalysisOptions {
|
|
|
12
13
|
reanalyzeBelowConfidence?: number;
|
|
13
14
|
/** Override max iterations from config for this run */
|
|
14
15
|
maxIterations?: number;
|
|
16
|
+
/** Skip table data sampling pass */
|
|
17
|
+
skipSampling?: boolean;
|
|
15
18
|
}
|
|
16
19
|
export interface OrchestratorResult {
|
|
17
20
|
success: boolean;
|
|
@@ -26,6 +29,7 @@ export declare class AnalysisOrchestrator {
|
|
|
26
29
|
private onProgress;
|
|
27
30
|
private reanalyzeBelowConfidence?;
|
|
28
31
|
private maxIterationsOverride?;
|
|
32
|
+
private skipSampling?;
|
|
29
33
|
constructor(options: AnalysisOptions);
|
|
30
34
|
/**
|
|
31
35
|
* Execute the full analysis workflow
|
|
@@ -38,10 +42,25 @@ export declare class AnalysisOrchestrator {
|
|
|
38
42
|
* are loaded, so runs without plugins write exactly the state files they did before.
|
|
39
43
|
*/
|
|
40
44
|
private runPluginHook;
|
|
45
|
+
/**
|
|
46
|
+
* Stores each table's existing indexes in the state so the LLM passes can use them as key
|
|
47
|
+
* evidence. Runs on resumed runs too, for tables whose indexes were never read.
|
|
48
|
+
*/
|
|
49
|
+
private loadExistingIndexes;
|
|
41
50
|
/**
|
|
42
51
|
* Load existing state and prepare for resumption
|
|
43
52
|
*/
|
|
44
|
-
|
|
53
|
+
protected loadAndMergeState(resumePath: string, stateManager: StateManager): Promise<DatabaseDocumentation>;
|
|
54
|
+
/**
|
|
55
|
+
* Sample table data (row counts, distinct counts, sample values) into the state.
|
|
56
|
+
*
|
|
57
|
+
* A fresh run samples every table. A resume samples only the tables whose columns carry no
|
|
58
|
+
* statistics, so an interrupted pass continues from its last checkpoint — unless the state records
|
|
59
|
+
* that its run skipped sampling, in which case the resume honours that choice.
|
|
60
|
+
*/
|
|
61
|
+
private sampleTableData;
|
|
62
|
+
/** A table counts as sampled once any of its columns carries statistics. */
|
|
63
|
+
private tableHasStatistics;
|
|
45
64
|
/**
|
|
46
65
|
* Create run-numbered folder for this analysis run
|
|
47
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalysisOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisOrchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"AnalysisOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisOrchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AAY3G,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAC,CAAU;gBAEnB,OAAO,EAAE,eAAe;IASpC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAsbnD,uCAAuC;IAC1B,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAInD;;;OAGG;YACW,aAAa;IAuB3B;;;OAGG;YACW,mBAAmB;IAyBjC;;OAEG;cACa,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAUjC;;;;;;OAMG;YACW,eAAe;IAqF7B,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;YACW,eAAe;IAqB7B;;;OAGG;YACW,wBAAwB;IAqDtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8ExB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAwBtC;;OAEG;YACW,qBAAqB;CAwDpC"}
|
|
@@ -8,6 +8,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
8
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
9
|
const __dirname = path.dirname(__filename);
|
|
10
10
|
import { DatabaseConnection, Introspector, DataSampler } from '../database/Database.js';
|
|
11
|
+
import { PrepareIndexesForRun } from '../utils/index-hints.js';
|
|
11
12
|
import { TopologicalSorter } from '../database/TopologicalSorter.js';
|
|
12
13
|
import { StateManager } from '../state/StateManager.js';
|
|
13
14
|
import { IterationTracker } from '../state/IterationTracker.js';
|
|
@@ -20,7 +21,10 @@ import { SampleQueryGenerator } from '../generators/SampleQueryGenerator.js';
|
|
|
20
21
|
import { DiscoveryTriggerAnalyzer } from '../discovery/DiscoveryTriggerAnalyzer.js';
|
|
21
22
|
import { DiscoveryEngine } from '../discovery/DiscoveryEngine.js';
|
|
22
23
|
import { OrganicKeyDetector } from '../discovery/OrganicKeyDetector.js';
|
|
24
|
+
import { KeyVerifier } from '../discovery/JoinProbe.js';
|
|
23
25
|
import { PluginManager } from '../plugins/PluginManager.js';
|
|
26
|
+
/** Tables sampled between state saves; an interrupted run resumes from the last multiple. */
|
|
27
|
+
const SAMPLING_CHECKPOINT_INTERVAL = 25;
|
|
24
28
|
export class AnalysisOrchestrator {
|
|
25
29
|
constructor(options) {
|
|
26
30
|
this.config = options.config;
|
|
@@ -28,6 +32,7 @@ export class AnalysisOrchestrator {
|
|
|
28
32
|
this.onProgress = options.onProgress || (() => { });
|
|
29
33
|
this.reanalyzeBelowConfidence = options.reanalyzeBelowConfidence;
|
|
30
34
|
this.maxIterationsOverride = options.maxIterations;
|
|
35
|
+
this.skipSampling = options.skipSampling;
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
38
|
* Execute the full analysis workflow
|
|
@@ -113,33 +118,10 @@ export class AnalysisOrchestrator {
|
|
|
113
118
|
// Save state after introspection + existing descriptions
|
|
114
119
|
stateManager.updateSummary(state);
|
|
115
120
|
await stateManager.save(state);
|
|
116
|
-
// Analyze data
|
|
117
|
-
this.onProgress('Analyzing table data');
|
|
118
|
-
const sampler = new DataSampler(driver, this.config.analysis);
|
|
119
|
-
let samplingErrors = 0;
|
|
120
|
-
for (const schema of schemas) {
|
|
121
|
-
for (const table of schema.tables) {
|
|
122
|
-
try {
|
|
123
|
-
await sampler.analyzeTable(schema.name, table.name, table.columns);
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
samplingErrors++;
|
|
127
|
-
const errorMsg = `Warning: Failed to analyze data for ${schema.name}.${table.name}: ${error.message}`;
|
|
128
|
-
console.error(errorMsg);
|
|
129
|
-
this.onProgress(errorMsg, { schema: schema.name, table: table.name, error: error.message });
|
|
130
|
-
// Continue with next table - partial data better than no data
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
this.onProgress('Data analysis complete', {
|
|
135
|
-
tablesAnalyzed: schemas.reduce((sum, s) => sum + s.tables.length, 0) - samplingErrors,
|
|
136
|
-
errors: samplingErrors
|
|
137
|
-
});
|
|
138
|
-
// Save state after sampling
|
|
139
|
-
stateManager.updateSummary(state);
|
|
140
|
-
await stateManager.save(state);
|
|
141
121
|
}
|
|
122
|
+
await this.loadExistingIndexes(state, db.getDriver(), stateManager);
|
|
142
123
|
await runHook('AfterIntrospection');
|
|
124
|
+
await this.sampleTableData(state, db.getDriver(), stateManager);
|
|
143
125
|
// Relationship Discovery Phase (if enabled)
|
|
144
126
|
// Runs on both fresh and resumed runs; resumes from partial progress if interrupted
|
|
145
127
|
const discoveryComplete = state.phases?.keyDetection?.completedAt != null;
|
|
@@ -170,6 +152,7 @@ export class AnalysisOrchestrator {
|
|
|
170
152
|
Config: this.config.analysis.relationshipDiscovery,
|
|
171
153
|
AiConfig: this.config.ai,
|
|
172
154
|
schemas: state.schemas,
|
|
155
|
+
SeedContext: state.seedContext ?? this.config.seedContext,
|
|
173
156
|
OnProgress: this.onProgress,
|
|
174
157
|
OnCheckpoint: async (phase) => {
|
|
175
158
|
state.phases.keyDetection = phase;
|
|
@@ -223,7 +206,14 @@ export class AnalysisOrchestrator {
|
|
|
223
206
|
const promptEngine = new PromptEngine(this.config.ai, promptsDir);
|
|
224
207
|
await promptEngine.initialize();
|
|
225
208
|
const iterationTracker = new IterationTracker();
|
|
226
|
-
const analysisEngine = new AnalysisEngine(this.config, promptEngine, stateManager, iterationTracker, this.onProgress);
|
|
209
|
+
const analysisEngine = new AnalysisEngine(this.config, promptEngine, stateManager, iterationTracker, this.onProgress, db.getDriver());
|
|
210
|
+
// ONE verifier for the whole run, shared by the LLM-FK path and the organic-key
|
|
211
|
+
// path. Deliberately shared rather than one each: the probe cap is the cost bound,
|
|
212
|
+
// and two verifiers would mean two full allowances against a live customer
|
|
213
|
+
// database. A single instance also means a candidate probed by one path is not
|
|
214
|
+
// re-probed by the other.
|
|
215
|
+
const keyVerifier = new KeyVerifier(db ? db.getDriver() : null, this.config.analysis.keyVerification ?? {});
|
|
216
|
+
analysisEngine.SetKeyVerifier(keyVerifier);
|
|
227
217
|
// Create analysis run
|
|
228
218
|
const run = stateManager.createAnalysisRun(state, this.config.ai.model, this.config.ai.provider, this.config.ai.temperature || 0.1, undefined, undefined);
|
|
229
219
|
// Mark as resumed if applicable
|
|
@@ -327,10 +317,18 @@ export class AnalysisOrchestrator {
|
|
|
327
317
|
// fed to the additionalSchemaInfo generator so CodeGen writes the
|
|
328
318
|
// EntityOrganicKey / EntityOrganicKeyRelatedEntity metadata.
|
|
329
319
|
let organicKeyOutput;
|
|
330
|
-
|
|
320
|
+
const hasStatistics = state.schemas.some(schema => schema.tables.some(table => this.tableHasStatistics(table)));
|
|
321
|
+
if (this.config.analysis.organicKeyDetection?.enabled && !hasStatistics) {
|
|
322
|
+
// The semantic prefilter's cardinality gate only applies to columns that carry statistics;
|
|
323
|
+
// without any, every column would become a candidate and the normalizer fan-out is unbounded.
|
|
324
|
+
const warning = 'Organic-key detection skipped: it needs column statistics and no table has been sampled';
|
|
325
|
+
console.warn(warning);
|
|
326
|
+
this.onProgress(warning);
|
|
327
|
+
}
|
|
328
|
+
else if (this.config.analysis.organicKeyDetection?.enabled) {
|
|
331
329
|
this.onProgress('Running organic-key detection');
|
|
332
330
|
try {
|
|
333
|
-
const detector = new OrganicKeyDetector(this.config.analysis.organicKeyDetection, this.config.ai, this.config.database.provider);
|
|
331
|
+
const detector = new OrganicKeyDetector(this.config.analysis.organicKeyDetection, this.config.ai, this.config.database.provider, keyVerifier, { AutoCreateRelatedViewOnForm: this.config.analysis.organicKeyDetection.autoCreateRelatedViewOnForm });
|
|
334
332
|
const okResult = await detector.detect(state, {
|
|
335
333
|
OnProgress: (msg) => this.onProgress(msg),
|
|
336
334
|
});
|
|
@@ -341,6 +339,11 @@ export class AnalysisOrchestrator {
|
|
|
341
339
|
clustersFound: okResult.Summary.clustersFound,
|
|
342
340
|
clustersEmitted: okResult.Summary.clustersEmitted,
|
|
343
341
|
outputKeys: okResult.Summary.outputKeys,
|
|
342
|
+
clustersDroppedUnverified: okResult.Summary.clustersDroppedUnverified,
|
|
343
|
+
membersDroppedUnverified: okResult.Summary.membersDroppedUnverified,
|
|
344
|
+
conceptsSkippedUnanchored: okResult.Summary.conceptsSkippedUnanchored,
|
|
345
|
+
probesUsed: okResult.Summary.probesUsed,
|
|
346
|
+
probesAllowed: okResult.Summary.probesAllowed,
|
|
344
347
|
});
|
|
345
348
|
}
|
|
346
349
|
catch (err) {
|
|
@@ -418,6 +421,30 @@ export class AnalysisOrchestrator {
|
|
|
418
421
|
stateManager.updateSummary(state);
|
|
419
422
|
await stateManager.save(state);
|
|
420
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Stores each table's existing indexes in the state so the LLM passes can use them as key
|
|
426
|
+
* evidence. Runs on resumed runs too, for tables whose indexes were never read.
|
|
427
|
+
*/
|
|
428
|
+
async loadExistingIndexes(state, driver, stateManager) {
|
|
429
|
+
const schemas = PrepareIndexesForRun(state.schemas, this.config.analysis.useExistingIndexes);
|
|
430
|
+
if (schemas.length === 0) {
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
this.onProgress('Reading existing indexes');
|
|
434
|
+
const failed = await new Introspector(driver).LoadIndexes(schemas);
|
|
435
|
+
for (const f of failed) {
|
|
436
|
+
this.onProgress(`Warning: could not read indexes for schema ${f.SchemaName}: ${f.Error}`, f);
|
|
437
|
+
}
|
|
438
|
+
// Totals cover every table in the state, so a resumed run also counts tables loaded earlier.
|
|
439
|
+
const allTables = state.schemas.flatMap((s) => s.tables);
|
|
440
|
+
this.onProgress('Existing indexes loaded', {
|
|
441
|
+
tables: allTables.filter((t) => t.indexes !== undefined).length,
|
|
442
|
+
indexes: allTables.reduce((sum, t) => sum + (t.indexes?.length ?? 0), 0),
|
|
443
|
+
newlyLoadedTables: schemas.flatMap((s) => s.tables).filter((t) => t.indexes !== undefined).length
|
|
444
|
+
});
|
|
445
|
+
stateManager.updateSummary(state);
|
|
446
|
+
await stateManager.save(state);
|
|
447
|
+
}
|
|
421
448
|
/**
|
|
422
449
|
* Load existing state and prepare for resumption
|
|
423
450
|
*/
|
|
@@ -428,6 +455,95 @@ export class AnalysisOrchestrator {
|
|
|
428
455
|
existingState.resumedFromFile = resumePath;
|
|
429
456
|
return existingState;
|
|
430
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* Sample table data (row counts, distinct counts, sample values) into the state.
|
|
460
|
+
*
|
|
461
|
+
* A fresh run samples every table. A resume samples only the tables whose columns carry no
|
|
462
|
+
* statistics, so an interrupted pass continues from its last checkpoint — unless the state records
|
|
463
|
+
* that its run skipped sampling, in which case the resume honours that choice.
|
|
464
|
+
*/
|
|
465
|
+
async sampleTableData(state, driver, stateManager) {
|
|
466
|
+
const totalTables = state.schemas.reduce((sum, s) => sum + s.tables.length, 0);
|
|
467
|
+
const previous = state.phases.dataSampling;
|
|
468
|
+
const skipRequested = this.skipSampling === true || this.config.analysis.skipSampling === true;
|
|
469
|
+
const skipInherited = this.resumeFromState != null && previous?.status === 'skipped';
|
|
470
|
+
if (skipRequested || skipInherited) {
|
|
471
|
+
this.onProgress(skipInherited && !skipRequested
|
|
472
|
+
? 'Table data sampling skipped (the resumed run skipped it; pass no --resume, or run analyze without --skip-sampling on a fresh run, to sample)'
|
|
473
|
+
: 'Table data sampling skipped');
|
|
474
|
+
state.phases.dataSampling = {
|
|
475
|
+
status: 'skipped',
|
|
476
|
+
startedAt: previous?.startedAt ?? new Date().toISOString(),
|
|
477
|
+
sampledTables: previous?.sampledTables ?? 0,
|
|
478
|
+
totalTables,
|
|
479
|
+
};
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
const pending = state.schemas
|
|
483
|
+
.flatMap(schema => schema.tables.map(table => ({ schema, table })))
|
|
484
|
+
.filter(({ table }) => !this.resumeFromState || !this.tableHasStatistics(table));
|
|
485
|
+
if (pending.length === 0) {
|
|
486
|
+
this.onProgress('Table data already sampled', { tables: totalTables });
|
|
487
|
+
state.phases.dataSampling = {
|
|
488
|
+
status: 'completed',
|
|
489
|
+
startedAt: previous?.startedAt ?? new Date().toISOString(),
|
|
490
|
+
completedAt: new Date().toISOString(),
|
|
491
|
+
sampledTables: totalTables,
|
|
492
|
+
totalTables,
|
|
493
|
+
};
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
if (this.resumeFromState && pending.length < totalTables) {
|
|
497
|
+
this.onProgress(`Resuming table data sampling: ${pending.length} of ${totalTables} tables have no statistics yet`, {
|
|
498
|
+
pending: pending.length, total: totalTables
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
const phase = {
|
|
502
|
+
status: 'partial',
|
|
503
|
+
startedAt: previous?.startedAt ?? new Date().toISOString(),
|
|
504
|
+
sampledTables: totalTables - pending.length,
|
|
505
|
+
totalTables,
|
|
506
|
+
};
|
|
507
|
+
state.phases.dataSampling = phase;
|
|
508
|
+
this.onProgress('Analyzing table data');
|
|
509
|
+
const sampler = new DataSampler(driver, this.config.analysis);
|
|
510
|
+
let samplingErrors = 0;
|
|
511
|
+
let tableIndex = 0;
|
|
512
|
+
for (const { schema, table } of pending) {
|
|
513
|
+
tableIndex++;
|
|
514
|
+
this.onProgress(`Sampling table data [${tableIndex}/${pending.length}]: ${schema.name}.${table.name}`);
|
|
515
|
+
try {
|
|
516
|
+
await sampler.analyzeTable(schema.name, table.name, table.columns);
|
|
517
|
+
phase.sampledTables++;
|
|
518
|
+
}
|
|
519
|
+
catch (error) {
|
|
520
|
+
samplingErrors++;
|
|
521
|
+
const errorMsg = `Warning: Failed to analyze data for ${schema.name}.${table.name}: ${error.message}`;
|
|
522
|
+
console.error(errorMsg);
|
|
523
|
+
this.onProgress(errorMsg, { schema: schema.name, table: table.name, error: error.message });
|
|
524
|
+
// Continue with next table - partial data better than no data
|
|
525
|
+
}
|
|
526
|
+
// Checkpoint so an interrupted run resumes from here instead of from the start
|
|
527
|
+
if (tableIndex % SAMPLING_CHECKPOINT_INTERVAL === 0) {
|
|
528
|
+
stateManager.updateSummary(state);
|
|
529
|
+
await stateManager.save(state);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
this.onProgress('Data analysis complete', {
|
|
533
|
+
tablesAnalyzed: pending.length - samplingErrors,
|
|
534
|
+
errors: samplingErrors
|
|
535
|
+
});
|
|
536
|
+
// A table whose sampling failed carries no statistics, so a later --resume picks it up again;
|
|
537
|
+
// the phase stays 'partial' so the state file says so instead of claiming a full pass.
|
|
538
|
+
phase.status = samplingErrors === 0 ? 'completed' : 'partial';
|
|
539
|
+
phase.completedAt = new Date().toISOString();
|
|
540
|
+
stateManager.updateSummary(state);
|
|
541
|
+
await stateManager.save(state);
|
|
542
|
+
}
|
|
543
|
+
/** A table counts as sampled once any of its columns carries statistics. */
|
|
544
|
+
tableHasStatistics(table) {
|
|
545
|
+
return table.columns.some(column => column.statistics !== undefined);
|
|
546
|
+
}
|
|
431
547
|
/**
|
|
432
548
|
* Create run-numbered folder for this analysis run
|
|
433
549
|
*/
|