sfdx-hardis 5.10.2-beta202412231619.0 → 5.10.2-beta202412280136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/defaults/mkdocs/docs/stylesheets/extra.css +25 -0
  2. package/defaults/mkdocs/mkdocs.yml +4 -2
  3. package/defaults/mkdocs-project-doc/docs/javascripts/gtag.js +27 -0
  4. package/defaults/mkdocs-project-doc/docs/javascripts/tables.js +6 -0
  5. package/defaults/mkdocs-project-doc/docs/overrides/main.html +4 -0
  6. package/defaults/mkdocs-project-doc/docs/stylesheets/extra.css +33 -0
  7. package/defaults/mkdocs-project-doc/mkdocs.yml +46 -0
  8. package/lib/commands/hardis/doc/flow2markdown.js +6 -1
  9. package/lib/commands/hardis/doc/flow2markdown.js.map +1 -1
  10. package/lib/commands/hardis/doc/project2markdown.d.ts +6 -2
  11. package/lib/commands/hardis/doc/project2markdown.js +139 -42
  12. package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
  13. package/lib/common/metadata-utils/index.js +3 -2
  14. package/lib/common/metadata-utils/index.js.map +1 -1
  15. package/lib/common/utils/flowVisualiser/flowParser.d.ts +0 -7
  16. package/lib/common/utils/flowVisualiser/flowParser.js +150 -167
  17. package/lib/common/utils/flowVisualiser/flowParser.js.map +1 -1
  18. package/lib/common/utils/flowVisualiser/nodeFormatUtils.d.ts +14 -0
  19. package/lib/common/utils/flowVisualiser/nodeFormatUtils.js +339 -0
  20. package/lib/common/utils/flowVisualiser/nodeFormatUtils.js.map +1 -0
  21. package/lib/common/utils/flowVisualiser/renderConfig.d.ts +9 -3
  22. package/lib/common/utils/flowVisualiser/renderConfig.js +62 -56
  23. package/lib/common/utils/flowVisualiser/renderConfig.js.map +1 -1
  24. package/lib/common/utils/mermaidUtils.d.ts +3 -1
  25. package/lib/common/utils/mermaidUtils.js +124 -68
  26. package/lib/common/utils/mermaidUtils.js.map +1 -1
  27. package/oclif.lock +95 -3
  28. package/oclif.manifest.json +366 -358
  29. package/package.json +2 -1
@@ -6,3 +6,28 @@
6
6
  .md-typeset table:not([class]) {
7
7
  display: table;
8
8
  }
9
+
10
+ /* light mode table header bgcolor */
11
+ .md-typeset__table th {
12
+ background-color: #f2edfe;
13
+ }
14
+
15
+ /* dark mode table header bgcolor */
16
+ [data-md-color-scheme="slate"] .md-typeset__table th {
17
+ background-color: hsla(var(--md-hue), 25%, 25%, 1)
18
+ }
19
+
20
+ /* light mode alternating table bg colors */
21
+ .md-typeset__table tr:nth-child(2n) {
22
+ background-color: #f8f8f8;
23
+ }
24
+
25
+ /* dark mode alternating table bg colors */
26
+ [data-md-color-scheme="slate"] .md-typeset__table tr:nth-child(2n) {
27
+ background-color: hsla(var(--md-hue), 25%, 25%, 1)
28
+ }
29
+
30
+ :root>* {
31
+ --md-primary-fg-color: #1B1464;
32
+ --md-footer-bg-color: #1B1464;
33
+ }
@@ -9,9 +9,11 @@ theme:
9
9
  name: material
10
10
  custom_dir: docs/overrides
11
11
  features:
12
+ - content.code.copy
12
13
  - navigation.instant
13
- # logo: assets/images/salesforce-logo.png
14
- # favicon: assets/images/salesforce-icon.png
14
+ - navigation.footer
15
+ # logo: assets/images/salesforce-logo.png
16
+ # favicon: assets/images/salesforce-icon.png
15
17
  palette:
16
18
  primary: "light blue"
17
19
  markdown_extensions:
@@ -0,0 +1,27 @@
1
+ /*
2
+ location$.subscribe(function(url) {
3
+ window.dataLayer = window.dataLayer || [];
4
+ function gtag() {
5
+ dataLayer.push(arguments);
6
+ }
7
+ gtag("js", new Date());
8
+
9
+ gtag("config", "G-3DM50255LC");
10
+ });
11
+ */
12
+ var gtag_id = "G-XXXXXXXXXX";
13
+
14
+ var script = document.createElement("script");
15
+ script.src = "https://www.googletagmanager.com/gtag/js?id=" + gtag_id;
16
+ document.head.appendChild(script);
17
+
18
+ location$.subscribe(function (url) {
19
+ window.dataLayer = window.dataLayer || [];
20
+
21
+ function gtag() {
22
+ dataLayer.push(arguments);
23
+ }
24
+
25
+ gtag("js", new Date());
26
+ gtag("config", gtag_id);
27
+ });
@@ -0,0 +1,6 @@
1
+ document$.subscribe(function () {
2
+ var tables = document.querySelectorAll("article table")
3
+ tables.forEach(function (table) {
4
+ new Tablesort(table)
5
+ })
6
+ })
@@ -0,0 +1,4 @@
1
+ {% extends "base.html" %}
2
+
3
+ <!-- Global site tag (gtag.js) - Google Analytics -->
4
+ <!-- <script async src="https://www.googletagmanager.com/gtag/js?id=G-3DM50255LC"></script> MOVED TO gtag.js -->
@@ -0,0 +1,33 @@
1
+ /* stylelint-disable SelectorFormat */
2
+ .md-typeset__table {
3
+ min-width: 100%;
4
+ }
5
+
6
+ .md-typeset table:not([class]) {
7
+ display: table;
8
+ }
9
+
10
+ /* light mode table header bgcolor */
11
+ .md-typeset__table th {
12
+ background-color: #f2edfe;
13
+ }
14
+
15
+ /* dark mode table header bgcolor */
16
+ [data-md-color-scheme="slate"] .md-typeset__table th {
17
+ background-color: hsla(var(--md-hue), 25%, 25%, 1)
18
+ }
19
+
20
+ /* light mode alternating table bg colors */
21
+ .md-typeset__table tr:nth-child(2n) {
22
+ background-color: #f8f8f8;
23
+ }
24
+
25
+ /* dark mode alternating table bg colors */
26
+ [data-md-color-scheme="slate"] .md-typeset__table tr:nth-child(2n) {
27
+ background-color: hsla(var(--md-hue), 25%, 25%, 1)
28
+ }
29
+
30
+ :root>* {
31
+ --md-primary-fg-color: #1B1464;
32
+ --md-footer-bg-color: #1B1464;
33
+ }
@@ -0,0 +1,46 @@
1
+ site_name: Salesforce Project Documentation
2
+ site_url: https://sfdx-hardis.cloudity.com
3
+ repo_url: https://github.com/hardisgroupco/sfdx-hardis
4
+ edit_uri: tree/master/docs
5
+ site_author: Nicolas Vuillamy
6
+ site_description: Salesforce project documentation generated by sfdx-hardis
7
+ copyright: Doc generated by <a href="https://sfdx-hardis.cloudity.com/hardis/doc/plugin/generate/" target="_blank">sfdx-hardis</a>
8
+ theme:
9
+ name: material
10
+ custom_dir: docs/overrides
11
+ features:
12
+ - navigation.instant
13
+ - navigation.footer
14
+ # logo: assets/images/cloudity-text-logo.svg
15
+ # favicon: assets/images/cloudity-logo.svg
16
+ palette:
17
+ primary: indigo
18
+ markdown_extensions:
19
+ - pymdownx.emoji:
20
+ emoji_index: !!python/name:materialx.emoji.twemoji
21
+ emoji_generator: !!python/name:materialx.emoji.to_svg
22
+ - pymdownx.snippets:
23
+ base_path: docs
24
+ check_paths: true
25
+ - mdx_truly_sane_lists
26
+ - attr_list
27
+ extra_javascript:
28
+ - https://cdnjs.cloudflare.com/ajax/libs/tablesort/5.2.1/tablesort.min.js
29
+ - javascripts/tables.js
30
+ - javascripts/gtag.js
31
+ extra_css:
32
+ - stylesheets/extra.css
33
+ extra:
34
+ social:
35
+ - icon: fontawesome/regular/circle-question
36
+ link: https://github.com/hardisgroupcom/sfdx-hardis/issues
37
+ title: Need help ? Post an issue :)
38
+ - icon: fontawesome/brands/github
39
+ link: https://github.com/hardisgroupcom/sfdx-hardis
40
+ - icon: fontawesome/brands/docker
41
+ link: https://hub.docker.com/r/oxsecurity/megalinter
42
+ - icon: fontawesome/brands/twitter
43
+ link: https://twitter.com/NicolasVuillamy
44
+ generator: false
45
+ nav:
46
+ - "Home": "index.md"
@@ -26,6 +26,11 @@ export default class Flow2Markdown extends SfCommand {
26
26
  char: 'f',
27
27
  description: 'Force the path and name of output markdown file. Must end with .md',
28
28
  }),
29
+ "with-history": Flags.boolean({
30
+ char: 'd',
31
+ default: false,
32
+ description: messages.getMessage('debugMode'),
33
+ }),
29
34
  debug: Flags.boolean({
30
35
  char: 'd',
31
36
  default: false,
@@ -58,7 +63,7 @@ export default class Flow2Markdown extends SfCommand {
58
63
  }
59
64
  uxLog(this, c.grey(`Generating markdown for Flow ${this.inputFile}...`));
60
65
  const flowXml = (await fs.readFile(this.inputFile, "utf8")).toString();
61
- const genRes = await generateFlowMarkdownFile(this.inputFile, flowXml, this.outputFile);
66
+ const genRes = await generateFlowMarkdownFile(this.inputFile, flowXml, this.outputFile, { collapsedDetails: false });
62
67
  if (!genRes) {
63
68
  throw new Error("Error generating markdown file");
64
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow2markdown.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/flow2markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow2markdown.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/flow2markdown.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
2
2
  import { AnyJson } from '@salesforce/ts-types';
3
3
  export default class Project2Markdown extends SfCommand<any> {
4
4
  static title: string;
5
+ static htmlInstructions: string;
5
6
  static description: string;
6
7
  static examples: string[];
7
8
  static flags: any;
@@ -13,16 +14,19 @@ export default class Project2Markdown extends SfCommand<any> {
13
14
  protected mdLines: string[];
14
15
  protected sfdxHardisConfig: any;
15
16
  protected outputPackageXmlMarkdownFiles: any[];
17
+ protected mkDocsNavNodes: any;
16
18
  protected debugMode: boolean;
19
+ protected footer: string;
17
20
  run(): Promise<AnyJson>;
21
+ private buildMkDocsYml;
18
22
  private generateFlowsDocumentation;
19
23
  private humanDisplay;
20
24
  private buildFlowsTable;
21
- private writeInstalledPackages;
25
+ private buildInstalledPackages;
22
26
  private buildSfdxHardisParams;
23
27
  private buildMajorBranchesAndOrgs;
24
28
  private manageLocalPackages;
25
- private writePackagesInIndex;
29
+ private buildPackagesIndex;
26
30
  private generatePackageXmlMarkdown;
27
31
  private listPackageXmlCandidates;
28
32
  }
@@ -15,10 +15,23 @@ import { glob } from 'glob';
15
15
  import { listFlowFiles } from '../../../common/utils/projectUtils.js';
16
16
  import { generateFlowMarkdownFile, generateMarkdownFileWithMermaid } from '../../../common/utils/mermaidUtils.js';
17
17
  import { MetadataUtils } from '../../../common/metadata-utils/index.js';
18
+ import { PACKAGE_ROOT_DIR } from '../../../settings.js';
19
+ import yaml from 'js-yaml';
18
20
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
19
21
  const messages = Messages.loadMessages('sfdx-hardis', 'org');
20
22
  export default class Project2Markdown extends SfCommand {
21
23
  static title = 'SFDX Project to Markdown';
24
+ static htmlInstructions = `## Doc HTML Pages
25
+
26
+ To read the documentation as HTML pages, run the following code (you need python on your computer)
27
+
28
+ \`\`\`python
29
+ pip install mkdocs-material mdx_truly_sane_lists
30
+ mkdocs serve
31
+ \`\`\`
32
+
33
+ To just generate HTML pages that you can host anywhere, run \`mkdocs build\`
34
+ `;
22
35
  static description = `Generates a markdown documentation from a SFDX project
23
36
 
24
37
  - Package.xml files
@@ -44,6 +57,8 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
44
57
  ![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc.jpg)
45
58
 
46
59
  ![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc-2.jpg)
60
+
61
+ ${this.htmlInstructions}
47
62
  `;
48
63
  static examples = [
49
64
  '$ sf hardis:doc:project2markdown',
@@ -74,21 +89,29 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
74
89
  mdLines = [];
75
90
  sfdxHardisConfig = {};
76
91
  outputPackageXmlMarkdownFiles = [];
92
+ mkDocsNavNodes = { "Home": "index.md" };
77
93
  debugMode = false;
94
+ footer;
78
95
  /* jscpd:ignore-end */
79
96
  async run() {
80
97
  const { flags } = await this.parse(Project2Markdown);
81
98
  this.diffOnly = flags["diff-only"] === true ? true : false;
82
99
  this.debugMode = flags.debug || false;
83
- this.packageXmlCandidates = this.listPackageXmlCandidates();
100
+ await fs.ensureDir(this.outputMarkdownRoot);
101
+ const currentBranch = await getCurrentGitBranch();
102
+ this.footer = `_Documentation generated from branch ${currentBranch} with [sfdx-hardis](${CONSTANTS.DOC_URL_ROOT}) command [\`sf hardis:doc:project2markdown\`](https://sfdx-hardis.cloudity.com/hardis/doc/project2markdown/)_`;
84
103
  if (fs.existsSync("config/.sfdx-hardis.yml")) {
85
104
  this.sfdxHardisConfig = await getConfig("project");
86
- this.mdLines.push(...[
87
- `## ${this.sfdxHardisConfig?.projectName?.toUpperCase() || "SFDX Project"} CI/CD configuration`,
88
- ""
89
- ]);
90
- this.buildSfdxHardisParams();
91
- await this.buildMajorBranchesAndOrgs();
105
+ // General sfdx-hardis config
106
+ const sfdxHardisParamsLines = this.buildSfdxHardisParams();
107
+ this.mdLines.push(...sfdxHardisParamsLines);
108
+ await fs.writeFile(path.join(this.outputMarkdownRoot, "sfdx-hardis-params.md"), sfdxHardisParamsLines.join("\n") + `\n${this.footer}\n`);
109
+ this.mkDocsNavNodes["SFDX-Hardis Config"] = "sfdx-hardis-params.md";
110
+ // Branches & orgs
111
+ const branchesAndOrgsLines = await this.buildMajorBranchesAndOrgs();
112
+ this.mdLines.push(...branchesAndOrgsLines);
113
+ await fs.writeFile(path.join(this.outputMarkdownRoot, "sfdx-hardis-branches-and-orgs.md"), branchesAndOrgsLines.join("\n") + `\n${this.footer}\n`);
114
+ this.mkDocsNavNodes["Branches & Orgs"] = "sfdx-hardis-branches-and-orgs.md";
92
115
  }
93
116
  else {
94
117
  const repoName = (await getGitRepoName() || "").replace(".git", "");
@@ -99,38 +122,95 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
99
122
  ]);
100
123
  }
101
124
  // List SFDX packages and generate a manifest for each of them, except if there is only force-app with a package.xml
125
+ this.packageXmlCandidates = this.listPackageXmlCandidates();
102
126
  await this.manageLocalPackages();
103
- // List all packageXml files and generate related markdown
104
127
  await this.generatePackageXmlMarkdown(this.packageXmlCandidates);
105
- await this.writePackagesInIndex();
128
+ const packageLines = await this.buildPackagesIndex();
129
+ this.mdLines.push(...packageLines);
130
+ await fs.writeFile(path.join(this.outputMarkdownRoot, "manifests.md"), packageLines.join("\n") + `\n${this.footer}\n`);
106
131
  // List managed packages
107
- await this.writeInstalledPackages();
132
+ const installedPackages = await this.buildInstalledPackages();
133
+ this.mdLines.push(...installedPackages);
134
+ await fs.writeFile(path.join(this.outputMarkdownRoot, "installed-packages.md"), installedPackages.join("\n") + `\n${this.footer}\n`);
135
+ this.mkDocsNavNodes["Installed Packages"] = "installed-packages.md";
108
136
  // List flows & generate doc
109
137
  if (!(process?.env?.GENERATE_FLOW_DOC === 'false')) {
110
138
  await this.generateFlowsDocumentation();
111
139
  }
112
- // Footer
113
- const currentBranch = await getCurrentGitBranch();
114
- this.mdLines.push(`_Documentation generated from branch ${currentBranch} with [sfdx-hardis](${CONSTANTS.DOC_URL_ROOT}) command [\`sf hardis:doc:project2markdown\`](https://sfdx-hardis.cloudity.com/hardis/doc/project2markdown/)_`);
115
140
  // Write output index file
116
141
  await fs.ensureDir(path.dirname(this.outputMarkdownIndexFile));
117
- await fs.writeFile(this.outputMarkdownIndexFile, this.mdLines.join("\n") + "\n");
142
+ await fs.writeFile(this.outputMarkdownIndexFile, this.mdLines.join("\n") + "\n\n" + Project2Markdown.htmlInstructions + `\n\n${this.footer}\n`);
118
143
  uxLog(this, c.green(`Successfully generated doc index at ${this.outputMarkdownIndexFile}`));
119
144
  const readmeFile = path.join(process.cwd(), "README.md");
120
145
  if (fs.existsSync(readmeFile)) {
121
146
  let readme = await fs.readFile(readmeFile, "utf8");
122
147
  if (!readme.includes("docs/index.md")) {
123
- readme += "\n\n## Documentation\n\n[Read auto-generated documentation of the SFDX project](docs/index.md)\n";
148
+ readme += `
149
+
150
+ ## Documentation
151
+
152
+ [Read auto-generated documentation of the SFDX project](docs/index.md)
153
+
154
+ ${Project2Markdown.htmlInstructions}
155
+ `;
124
156
  await fs.writeFile(readmeFile, readme);
125
157
  uxLog(this, c.green(`Updated README.md to add link to docs/index.md`));
126
158
  }
127
159
  }
160
+ await this.buildMkDocsYml();
128
161
  // Open file in a new VsCode tab if available
129
162
  WebSocketClient.requestOpenFile(this.outputMarkdownIndexFile);
130
163
  return { outputPackageXmlMarkdownFiles: this.outputPackageXmlMarkdownFiles };
131
164
  }
165
+ async buildMkDocsYml() {
166
+ // Copy default files (mkdocs.yml and other files can be updated by the SF Cli plugin developer later)
167
+ const mkdocsYmlFile = path.join(process.cwd(), 'mkdocs.yml');
168
+ const mkdocsYmlFileExists = fs.existsSync(mkdocsYmlFile);
169
+ await fs.copy(path.join(PACKAGE_ROOT_DIR, 'defaults/mkdocs-project-doc', '.'), process.cwd(), { overwrite: false });
170
+ if (!mkdocsYmlFileExists) {
171
+ uxLog(this, c.blue('Base mkdocs files copied in your Salesforce project repo'));
172
+ uxLog(this, c.yellow('You should probably manually update mkdocs.yml to add your own configuration, like theme, site_name, etc.'));
173
+ }
174
+ // Update mkdocs nav items
175
+ const mkdocsYml = yaml.load(fs
176
+ .readFileSync(mkdocsYmlFile, 'utf-8')
177
+ .replace('!!python/name:materialx.emoji.twemoji', "'!!python/name:materialx.emoji.twemoji'")
178
+ .replace('!!python/name:materialx.emoji.to_svg', "'!!python/name:materialx.emoji.to_svg'"));
179
+ if (!mkdocsYml.nav) {
180
+ mkdocsYml.nav = {};
181
+ }
182
+ for (const menuName of Object.keys(this.mkDocsNavNodes)) {
183
+ let pos = 0;
184
+ let found = false;
185
+ for (const navItem of mkdocsYml.nav) {
186
+ if (navItem[menuName]) {
187
+ found = true;
188
+ break;
189
+ }
190
+ pos++;
191
+ }
192
+ const navMenu = {};
193
+ navMenu[menuName] = this.mkDocsNavNodes[menuName];
194
+ if (found) {
195
+ mkdocsYml.nav[pos] = navMenu;
196
+ }
197
+ else {
198
+ mkdocsYml.nav.push(navMenu);
199
+ }
200
+ }
201
+ /* jscpd:ignore-start */
202
+ const mkdocsYmlStr = yaml
203
+ .dump(mkdocsYml)
204
+ .replace("'!!python/name:materialx.emoji.twemoji'", '!!python/name:materialx.emoji.twemoji')
205
+ .replace("'!!python/name:materialx.emoji.to_svg'", '!!python/name:materialx.emoji.to_svg');
206
+ await fs.writeFile(mkdocsYmlFile, mkdocsYmlStr);
207
+ uxLog(this, c.cyan(`Updated ${c.green(mkdocsYmlFile)}`));
208
+ uxLog(this, c.cyan(`To generate a HTML WebSite with this documentation with a single command, see instructions at ${CONSTANTS.DOC_URL_ROOT}/hardis/doc/project2markdown/`));
209
+ /* jscpd:ignore-end */
210
+ }
132
211
  async generateFlowsDocumentation() {
133
212
  uxLog(this, c.cyan("Generating Flows Visual documentation... (if you don't want it, define GENERATE_FLOW_DOC=false in your environment variables)"));
213
+ const flowsForMenu = { "All flows": "flows/index.md" };
134
214
  await fs.ensureDir(path.join(this.outputMarkdownRoot, "flows"));
135
215
  const packageDirs = this.project?.getPackageDirectories();
136
216
  const updatedFlowNames = !this.diffOnly ?
@@ -152,12 +232,13 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
152
232
  type: flowContent?.Flow?.processType?.[0] === "Flow" ? "ScreenFlow" : flowContent?.Flow?.start?.[0]?.triggerType?.[0] ?? (flowContent?.Flow?.processType?.[0] || "ERROR (Unknown)"),
153
233
  object: flowContent?.Flow?.start?.[0]?.object?.[0] || flowContent?.Flow?.processMetadataValues?.filter(pmv => pmv.name[0] === "ObjectType")?.[0]?.value?.[0]?.stringValue?.[0] || ""
154
234
  });
235
+ flowsForMenu[flowName] = "flows/" + flowName + ".md";
155
236
  if (this.diffOnly && !updatedFlowNames.includes(flowName)) {
156
237
  flowSkips.push(flowFile);
157
238
  continue;
158
239
  }
159
240
  const outputFlowMdFile = path.join(this.outputMarkdownRoot, "flows", flowName + ".md");
160
- const genRes = await generateFlowMarkdownFile(flowFile, flowXml, outputFlowMdFile);
241
+ const genRes = await generateFlowMarkdownFile(flowFile, flowXml, outputFlowMdFile, { collapsedDetails: false });
161
242
  if (!genRes) {
162
243
  flowErrors.push(flowFile);
163
244
  continue;
@@ -174,7 +255,7 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
174
255
  if (flowSkips.length > 0) {
175
256
  uxLog(this, c.yellow(`Skipped generation for ${flowSkips.length} Flows that have not been updated: ${this.humanDisplay(flowSkips)}`));
176
257
  }
177
- uxLog(this, c.green(`Successfully generated ${flowFiles.length - flowWarnings.length - flowErrors.length} Flows documentation`));
258
+ uxLog(this, c.green(`Successfully generated ${flowFiles.length - flowSkips.length - flowWarnings.length - flowErrors.length} Flows documentation`));
178
259
  if (flowWarnings.length > 0) {
179
260
  uxLog(this, c.yellow(`Partially generated documentation (Markdown with mermaidJs but without SVG) for ${flowWarnings.length} Flows: ${this.humanDisplay(flowWarnings)}`));
180
261
  }
@@ -189,7 +270,8 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
189
270
  await fs.ensureDir(path.join(this.outputMarkdownRoot, "flows"));
190
271
  const flowTableLinesForIndex = await this.buildFlowsTable(flowDescriptions, '');
191
272
  const flowIndexFile = path.join(this.outputMarkdownRoot, "flows", "index.md");
192
- await fs.writeFile(flowIndexFile, flowTableLinesForIndex.join("\n") + "\n");
273
+ await fs.writeFile(flowIndexFile, flowTableLinesForIndex.join("\n") + `\n${this.footer}\n`);
274
+ this.mkDocsNavNodes["Flows"] = flowsForMenu;
193
275
  uxLog(this, c.green(`Successfully generated doc index for Flows at ${flowIndexFile}`));
194
276
  }
195
277
  humanDisplay(flows) {
@@ -211,10 +293,11 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
211
293
  lines.push("");
212
294
  return lines;
213
295
  }
214
- async writeInstalledPackages() {
296
+ async buildInstalledPackages() {
215
297
  // CI/CD context
216
298
  const packages = this.sfdxHardisConfig.installedPackages || [];
217
299
  // Monitoring context
300
+ const installedPackagesLines = [];
218
301
  const packageFolder = path.join(process.cwd(), 'installedPackages');
219
302
  if (packages.length === 0 && fs.existsSync(packageFolder)) {
220
303
  const findManagedPattern = "**/*.json";
@@ -230,41 +313,49 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
230
313
  }
231
314
  // Write packages table
232
315
  if (packages && packages.length > 0) {
233
- this.mdLines.push(...[
316
+ installedPackagesLines.push(...[
234
317
  "## Installed packages",
235
318
  "",
236
319
  "| Name | Namespace | Version | Version Name |",
237
320
  "| :---- | :-------- | :------ | :----------: | "
238
321
  ]);
239
322
  for (const pckg of sortArray(packages, { by: ['SubscriberPackageNamespace', 'SubscriberPackageName'], order: ['asc', 'asc'] })) {
240
- this.mdLines.push(...[
323
+ installedPackagesLines.push(...[
241
324
  `| ${pckg.SubscriberPackageName} | ${pckg.SubscriberPackageNamespace || ""} | [${pckg.SubscriberPackageVersionNumber}](https://test.salesforce.com/packaging/installPackage.apexp?p0=${pckg.SubscriberPackageVersionId}) | ${pckg.SubscriberPackageVersionName} |`
242
325
  ]);
243
326
  }
244
- this.mdLines.push("");
245
- this.mdLines.push("___");
246
- this.mdLines.push("");
327
+ installedPackagesLines.push("");
328
+ installedPackagesLines.push("___");
329
+ installedPackagesLines.push("");
247
330
  }
331
+ return installedPackagesLines;
248
332
  }
249
333
  buildSfdxHardisParams() {
250
- this.mdLines.push(...[
334
+ const sfdxParamsTableLines = [];
335
+ sfdxParamsTableLines.push(...[
336
+ `## ${this.sfdxHardisConfig?.projectName?.toUpperCase() || "SFDX Project"} CI/CD configuration`,
337
+ ""
338
+ ]);
339
+ sfdxParamsTableLines.push(...[
251
340
  "| Sfdx-hardis Parameter | Value | Description & doc link |",
252
341
  "| :--------- | :---- | :---------- |"
253
342
  ]);
254
343
  const installPackagesDuringCheckDeploy = this.sfdxHardisConfig?.installPackagesDuringCheckDeploy ?? false;
255
- this.mdLines.push(`| installPackagesDuringCheckDeploy | ${bool2emoji(installPackagesDuringCheckDeploy)} ${installPackagesDuringCheckDeploy} | [Install 1GP & 2GP packages during deployment check CI/CD job](https://sfdx-hardis.cloudity.com/hardis/project/deploy/smart/#packages-installation) |`);
344
+ sfdxParamsTableLines.push(`| installPackagesDuringCheckDeploy | ${bool2emoji(installPackagesDuringCheckDeploy)} | [Install 1GP & 2GP packages during deployment check CI/CD job](https://sfdx-hardis.cloudity.com/hardis/project/deploy/smart/#packages-installation) |`);
256
345
  const useDeltaDeployment = this.sfdxHardisConfig?.useDeltaDeployment ?? false;
257
- this.mdLines.push(`| useDeltaDeployment | ${bool2emoji(useDeltaDeployment)} ${useDeltaDeployment} | [Deploys only updated metadatas , only when a MR/PR is from a minor branch to a major branch](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-config-delta-deployment/#delta-mode) |`);
346
+ sfdxParamsTableLines.push(`| useDeltaDeployment | ${bool2emoji(useDeltaDeployment)} | [Deploys only updated metadatas , only when a MR/PR is from a minor branch to a major branch](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-config-delta-deployment/#delta-mode) |`);
258
347
  const useSmartDeploymentTests = this.sfdxHardisConfig?.useSmartDeploymentTests ?? false;
259
- this.mdLines.push(`| useSmartDeploymentTests | ${bool2emoji(useSmartDeploymentTests)} ${useSmartDeploymentTests} | [Skip Apex test cases if delta metadatas can not impact them, only when a MR/PR is from a minor branch to a major branch](https://sfdx-hardis.cloudity.com/hardis/project/deploy/smart/#smart-deployments-tests) |`);
260
- this.mdLines.push("");
261
- this.mdLines.push("___");
262
- this.mdLines.push("");
348
+ sfdxParamsTableLines.push(`| useSmartDeploymentTests | ${bool2emoji(useSmartDeploymentTests)} | [Skip Apex test cases if delta metadatas can not impact them, only when a MR/PR is from a minor branch to a major branch](https://sfdx-hardis.cloudity.com/hardis/project/deploy/smart/#smart-deployments-tests) |`);
349
+ sfdxParamsTableLines.push("");
350
+ sfdxParamsTableLines.push("___");
351
+ sfdxParamsTableLines.push("");
352
+ return sfdxParamsTableLines;
263
353
  }
264
354
  async buildMajorBranchesAndOrgs() {
355
+ const branchesOrgsLines = [];
265
356
  const majorOrgs = await listMajorOrgs();
266
357
  if (majorOrgs.length > 0) {
267
- this.mdLines.push(...[
358
+ branchesOrgsLines.push(...[
268
359
  "## Major branches and orgs",
269
360
  "",
270
361
  "| Git branch | Salesforce Org | Deployment Username |",
@@ -272,12 +363,13 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
272
363
  ]);
273
364
  for (const majorOrg of majorOrgs) {
274
365
  const majorOrgLine = `| ${majorOrg.branchName} | ${majorOrg.instanceUrl} | ${majorOrg.targetUsername} |`;
275
- this.mdLines.push(majorOrgLine);
366
+ branchesOrgsLines.push(majorOrgLine);
276
367
  }
277
- this.mdLines.push("");
278
- this.mdLines.push("___");
279
- this.mdLines.push("");
368
+ branchesOrgsLines.push("");
369
+ branchesOrgsLines.push("___");
370
+ branchesOrgsLines.push("");
280
371
  }
372
+ return branchesOrgsLines;
281
373
  }
282
374
  async manageLocalPackages() {
283
375
  const packageDirs = this.project?.getPackageDirectories();
@@ -302,8 +394,10 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
302
394
  }
303
395
  }
304
396
  }
305
- async writePackagesInIndex() {
306
- this.mdLines.push(...[
397
+ async buildPackagesIndex() {
398
+ const packageLines = [];
399
+ const packagesForMenu = { "All manifests": "manifests.md" };
400
+ packageLines.push(...[
307
401
  "## Package XML files",
308
402
  "",
309
403
  "| Package name | Description |",
@@ -314,11 +408,14 @@ _sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/pu
314
408
  const packageMdFile = path.basename(outputPackageXmlDef.path) + ".md";
315
409
  const label = outputPackageXmlDef.name ? `Package folder: ${outputPackageXmlDef.name}` : path.basename(outputPackageXmlDef.path);
316
410
  const packageTableLine = `| [${label}](${packageMdFile}) (${metadataNb}) | ${outputPackageXmlDef.description} |`;
317
- this.mdLines.push(packageTableLine);
411
+ packageLines.push(packageTableLine);
412
+ packagesForMenu[label] = packageMdFile;
318
413
  }
319
- this.mdLines.push("");
320
- this.mdLines.push("___");
321
- this.mdLines.push("");
414
+ packageLines.push("");
415
+ packageLines.push("___");
416
+ packageLines.push("");
417
+ this.mkDocsNavNodes["Manifests"] = packagesForMenu;
418
+ return packageLines;
322
419
  }
323
420
  async generatePackageXmlMarkdown(packageXmlCandidates) {
324
421
  // Generate packageXml doc when found
@@ -1 +1 @@
1
- {"version":3,"file":"project2markdown.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/project2markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project2markdown.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/project2markdown.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAc;IACnD,MAAM,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAE1C,MAAM,CAAC,gBAAgB,GAAG;;;;;;;;;;CAUlC,CAAA;IAEQ,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B5B,IAAI,CAAC,gBAAgB;CACtB,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG;QACvB,kCAAkC;KACnC,CAAC;IAEK,MAAM,CAAC,KAAK,GAAQ;QACzB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qEAAqE;SACnF,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;KACH,CAAC;IAEF,uGAAuG;IAChG,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAE3B,QAAQ,GAAY,KAAK,CAAC;IAC1B,oBAAoB,CAAQ;IAC5B,kBAAkB,GAAG,MAAM,CAAA;IAC3B,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IACxE,OAAO,GAAa,EAAE,CAAC;IACvB,gBAAgB,GAAQ,EAAE,CAAC;IAC3B,6BAA6B,GAAU,EAAE,CAAC;IAC1C,cAAc,GAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,CAAS;IACzB,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QAEtC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,mBAAmB,EAAE,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,wCAAwC,aAAa,uBAAuB,SAAS,CAAC,YAAY,gHAAgH,CAAC;QAEjO,IAAI,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,gBAAgB,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;YAEnD,6BAA6B;YAC7B,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YACzI,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,GAAG,uBAAuB,CAAC;YAEpE,kBAAkB;YAClB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;YAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YACnJ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG,kCAAkC,CAAC;QAC9E,CAAC;aACI,CAAC;YACJ,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,IAAI,EAAE,CAAA;YACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACnB,MAAM,QAAQ,IAAI,UAAU,uBAAuB;gBACnD,EAAE;aACH,CAAC,CAAC;QACL,CAAC;QAED,oHAAoH;QACpH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC5D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAEvH,wBAAwB;QACxB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACrI,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,GAAG,uBAAuB,CAAC;QAEpE,4BAA4B;QAC5B,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC1C,CAAC;QAED,0BAA0B;QAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAChJ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAE5F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI;;;;;;EAMhB,gBAAgB,CAAC,gBAAgB;CAClC,CAAC;gBACM,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACvC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,6CAA6C;QAC7C,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE9D,OAAO,EAAE,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,sGAAsG;QACtG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YAChF,KAAK,CACH,IAAI,EACJ,CAAC,CAAC,MAAM,CACN,2GAA2G,CAC5G,CACF,CAAC;QACJ,CAAC;QACD,0BAA0B;QAC1B,MAAM,SAAS,GAAQ,IAAI,CAAC,IAAI,CAC9B,EAAE;aACC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;aACpC,OAAO,CAAC,uCAAuC,EAAE,yCAAyC,CAAC;aAC3F,OAAO,CAAC,sCAAsC,EAAE,wCAAwC,CAAC,CAC7F,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACnB,SAAS,CAAC,GAAG,GAAG,EAAE,CAAA;QACpB,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtB,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI;aACtB,IAAI,CAAC,SAAS,CAAC;aACf,OAAO,CAAC,yCAAyC,EAAE,uCAAuC,CAAC;aAC3F,OAAO,CAAC,wCAAwC,EAAE,sCAAsC,CAAC,CAAC;QAC7F,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,iGAAiG,SAAS,CAAC,YAAY,+BAA+B,CAAC,CAAC,CAAC;QAC5K,sBAAsB;IACxB,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACtC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,+HAA+H,CAAC,CAAC,CAAC;QACrJ,MAAM,YAAY,GAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC1D,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC;YACJ,CAAC,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC9I,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAU,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,QAAQ,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YACjD,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtD,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC;gBACnL,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;aACrL,CAAC,CAAC;YACH,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;YACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;YAChH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,0BAA0B,SAAS,CAAC,MAAM,sCAAsC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACxI,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;QACpJ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,mFAAmF,YAAY,CAAC,MAAM,WAAW,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5K,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,sCAAsC,UAAU,CAAC,MAAM,WAAW,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3H,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAElC,mCAAmC;QACnC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9E,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAE5F,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;QAC5C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,iDAAiD,aAAa,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,YAAY,CAAC,KAAK;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,gBAAuB,EAAE,MAAc;QACnE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG;YACZ,UAAU;YACV,EAAE;YACF,6CAA6C;YAC7C,8CAA8C;SAC/C,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAU,EAAE,CAAC;YAC3G,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,KAAK,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,IAAI;aACrG,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC/D,qBAAqB;QACrB,MAAM,sBAAsB,GAAa,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1D,MAAM,kBAAkB,GAAG,WAAW,CAAC;YACvC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;YACpF,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACpC,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,uBAAuB;QACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,sBAAsB,CAAC,IAAI,CAAC,GAAG;gBAC7B,uBAAuB;gBACvB,EAAE;gBACF,gDAAgD;gBAChD,iDAAiD;aAClD,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAU,EAAE,CAAC;gBACxI,sBAAsB,CAAC,IAAI,CAAC,GAAG;oBAC7B,KAAK,IAAI,CAAC,qBAAqB,MAAM,IAAI,CAAC,0BAA0B,IAAI,EAAE,OAAO,IAAI,CAAC,8BAA8B,mEAAmE,IAAI,CAAC,0BAA0B,OAAO,IAAI,CAAC,4BAA4B,IAAI;iBACnQ,CAAC,CAAC;YACL,CAAC;YACD,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAEO,qBAAqB;QAC3B,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAC1C,oBAAoB,CAAC,IAAI,CAAC,GAAG;YAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,cAAc,sBAAsB;YAC/F,EAAE;SAAC,CAAC,CAAC;QACP,oBAAoB,CAAC,IAAI,CAAC,GAAG;YAC3B,4DAA4D;YAC5D,sCAAsC;SACvC,CAAC,CAAC;QACH,MAAM,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,EAAE,gCAAgC,IAAI,KAAK,CAAC;QAC1G,oBAAoB,CAAC,IAAI,CAAC,wCAAwC,UAAU,CAAC,gCAAgC,CAAC,0JAA0J,CAAC,CAAC;QAC1Q,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,IAAI,KAAK,CAAC;QAC9E,oBAAoB,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,kBAAkB,CAAC,2LAA2L,CAAC,CAAC;QAC/Q,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,IAAI,KAAK,CAAC;QACxF,oBAAoB,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,uBAAuB,CAAC,uNAAuN,CAAC,CAAC;QACrT,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;QACxC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,iBAAiB,CAAC,IAAI,CAAC,GAAG;gBACxB,4BAA4B;gBAC5B,EAAE;gBACF,uDAAuD;gBACvD,uDAAuD;aACxD,CAAC,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,KAAK,QAAQ,CAAC,UAAU,MAAM,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,cAAc,IAAI,CAAC;gBACzG,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC1D,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;YACjH,KAAK,MAAM,UAAU,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC3C,wCAAwC;gBACxC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;gBACpF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACtD,MAAM,YAAY,CAAC,8BAA8B;oBAC/C,iBAAiB,UAAU,CAAC,IAAI,EAAE;oBAClC,WAAW,mBAAmB,EAAE,EAAE,IAAI,EACtC;oBACE,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI,CAAC,SAAS;iBACtB,CACF,CAAC;gBACF,yCAAyC;gBACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAC7B,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,WAAW,EAAE,sDAAsD,UAAU,CAAC,IAAI,YAAY,UAAU,CAAC,IAAI,GAAG;iBACjH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA;QAChE,YAAY,CAAC,IAAI,CAAC,GAAG;YACnB,sBAAsB;YACtB,EAAE;YACF,gCAAgC;YAChC,gCAAgC;SACjC,CAAC,CAAC;QAEH,KAAK,MAAM,mBAAmB,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACxE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACtE,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjI,MAAM,gBAAgB,GAAG,MAAM,KAAK,KAAK,aAAa,MAAM,UAAU,OAAO,mBAAmB,CAAC,WAAW,IAAI,CAAC;YACjH,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,eAAe,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;QACzC,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,oBAAoB;QAC3D,qCAAqC;QACrC,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,oCAAoC;gBACpC,MAAM,mBAAmB,GAAG,MAAM,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAClH,6CAA6C;gBAC7C,eAAe,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBACrD,mBAAmB,CAAC,YAAY,GAAG,mBAAmB,CAAC;gBACvD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,OAAO;YACL,sBAAsB;YACtB;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,uDAAuD;aACrE;YACD;gBACE,IAAI,EAAE,gCAAgC;gBACtC,WAAW,EAAE,wHAAwH;aACtI;YACD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,wHAAwH;aACtI;YACD;gBACE,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,4GAA4G;aAC1H;YACD,2BAA2B;YAC3B;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,qHAAqH;aACnI;YACD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,8KAA8K;aAC5L;SACF,CAAC;IACJ,CAAC"}