@cbnventures/nova 0.12.0 → 0.13.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.
- package/build/eslint.config.d.ts +32 -1
- package/build/eslint.config.d.ts.map +1 -1
- package/build/eslint.config.js +9 -1
- package/build/eslint.config.js.map +1 -1
- package/build/package.json +63 -59
- package/build/src/api/node-releases.d.ts +7 -0
- package/build/src/api/node-releases.d.ts.map +1 -0
- package/build/src/api/node-releases.js +67 -0
- package/build/src/api/node-releases.js.map +1 -0
- package/build/src/api/spdx-licenses.d.ts +7 -0
- package/build/src/api/spdx-licenses.d.ts.map +1 -0
- package/build/src/api/spdx-licenses.js +43 -0
- package/build/src/api/spdx-licenses.js.map +1 -0
- package/build/src/cli/index.js +60 -18
- package/build/src/cli/index.js.map +1 -1
- package/build/src/cli/recipe/pin-versions.d.ts +7 -0
- package/build/src/cli/recipe/pin-versions.d.ts.map +1 -0
- package/build/src/cli/recipe/pin-versions.js +145 -0
- package/build/src/cli/recipe/pin-versions.js.map +1 -0
- package/build/src/cli/recipe/sync-lts-engines.d.ts +6 -0
- package/build/src/cli/recipe/sync-lts-engines.d.ts.map +1 -0
- package/build/src/cli/recipe/sync-lts-engines.js +118 -0
- package/build/src/cli/recipe/sync-lts-engines.js.map +1 -0
- package/build/src/cli/recipe/sync-packages.d.ts +18 -0
- package/build/src/cli/recipe/sync-packages.d.ts.map +1 -0
- package/build/src/cli/recipe/sync-packages.js +1212 -0
- package/build/src/cli/recipe/sync-packages.js.map +1 -0
- package/build/src/cli/utility/changelog.d.ts +11 -0
- package/build/src/cli/utility/changelog.d.ts.map +1 -0
- package/build/src/cli/utility/changelog.js +670 -0
- package/build/src/cli/utility/changelog.js.map +1 -0
- package/build/src/cli/utility/initialize.d.ts +9 -5
- package/build/src/cli/utility/initialize.d.ts.map +1 -1
- package/build/src/cli/utility/initialize.js +478 -210
- package/build/src/cli/utility/initialize.js.map +1 -1
- package/build/src/cli/utility/type-check.d.ts +9 -0
- package/build/src/cli/utility/type-check.d.ts.map +1 -0
- package/build/src/cli/utility/type-check.js +59 -0
- package/build/src/cli/utility/type-check.js.map +1 -0
- package/build/src/cli/utility/version.d.ts +2 -2
- package/build/src/cli/utility/version.d.ts.map +1 -1
- package/build/src/cli/utility/version.js +107 -68
- package/build/src/cli/utility/version.js.map +1 -1
- package/build/src/lib/item.d.ts +23 -5
- package/build/src/lib/item.d.ts.map +1 -1
- package/build/src/lib/item.js +329 -4
- package/build/src/lib/item.js.map +1 -1
- package/build/src/lib/nova-config.d.ts +4 -4
- package/build/src/lib/nova-config.d.ts.map +1 -1
- package/build/src/lib/nova-config.js +76 -88
- package/build/src/lib/nova-config.js.map +1 -1
- package/build/src/lib/regex.d.ts +9 -1
- package/build/src/lib/regex.d.ts.map +1 -1
- package/build/src/lib/regex.js +9 -1
- package/build/src/lib/regex.js.map +1 -1
- package/build/src/lib/schema.d.ts +18 -0
- package/build/src/lib/schema.d.ts.map +1 -0
- package/build/src/lib/schema.js +13 -0
- package/build/src/lib/schema.js.map +1 -0
- package/build/src/lib/utility.d.ts +9 -1
- package/build/src/lib/utility.d.ts.map +1 -1
- package/build/src/lib/utility.js +219 -40
- package/build/src/lib/utility.js.map +1 -1
- package/build/src/presets/eslint/dx-code-style.d.mts.map +1 -1
- package/build/src/presets/eslint/dx-code-style.mjs +0 -20
- package/build/src/presets/eslint/dx-code-style.mjs.map +1 -1
- package/build/src/presets/eslint/lang-mdx.d.mts.map +1 -1
- package/build/src/presets/eslint/lang-mdx.mjs +0 -21
- package/build/src/presets/eslint/lang-mdx.mjs.map +1 -1
- package/build/src/presets/tsconfig/dx-strict.json +2 -1
- package/build/src/rules/eslint/index.d.ts +4 -0
- package/build/src/rules/eslint/index.d.ts.map +1 -1
- package/build/src/rules/eslint/index.js +4 -0
- package/build/src/rules/eslint/index.js.map +1 -1
- package/build/src/rules/eslint/no-logger-dev.d.ts +3 -1
- package/build/src/rules/eslint/no-logger-dev.d.ts.map +1 -1
- package/build/src/rules/eslint/no-logger-dev.js +4 -4
- package/build/src/rules/eslint/no-logger-dev.js.map +1 -1
- package/build/src/rules/eslint/no-raw-text-in-code.d.ts +6 -0
- package/build/src/rules/eslint/no-raw-text-in-code.d.ts.map +1 -0
- package/build/src/rules/eslint/no-raw-text-in-code.js +34 -0
- package/build/src/rules/eslint/no-raw-text-in-code.js.map +1 -0
- package/build/src/rules/eslint/no-regex-literal-flags.d.ts +6 -0
- package/build/src/rules/eslint/no-regex-literal-flags.d.ts.map +1 -0
- package/build/src/rules/eslint/no-regex-literal-flags.js +30 -0
- package/build/src/rules/eslint/no-regex-literal-flags.js.map +1 -0
- package/build/src/rules/eslint/no-regex-literals.d.ts +9 -0
- package/build/src/rules/eslint/no-regex-literals.d.ts.map +1 -0
- package/build/src/rules/eslint/no-regex-literals.js +55 -0
- package/build/src/rules/eslint/no-regex-literals.js.map +1 -0
- package/build/src/rules/eslint/switch-case-blocks.d.ts +6 -0
- package/build/src/rules/eslint/switch-case-blocks.d.ts.map +1 -0
- package/build/src/rules/eslint/switch-case-blocks.js +36 -0
- package/build/src/rules/eslint/switch-case-blocks.js.map +1 -0
- package/build/src/tests/api/node-releases.test.d.ts +2 -0
- package/build/src/tests/api/node-releases.test.d.ts.map +1 -0
- package/build/src/tests/api/node-releases.test.js +193 -0
- package/build/src/tests/api/node-releases.test.js.map +1 -0
- package/build/src/tests/api/spdx-licenses.test.d.ts +2 -0
- package/build/src/tests/api/spdx-licenses.test.d.ts.map +1 -0
- package/build/src/tests/api/spdx-licenses.test.js +91 -0
- package/build/src/tests/api/spdx-licenses.test.js.map +1 -0
- package/build/src/tests/cli/recipe/pin-versions.test.d.ts +2 -0
- package/build/src/tests/cli/recipe/pin-versions.test.d.ts.map +1 -0
- package/build/src/tests/cli/recipe/pin-versions.test.js +197 -0
- package/build/src/tests/cli/recipe/pin-versions.test.js.map +1 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts +2 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts.map +1 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.js +131 -0
- package/build/src/tests/cli/recipe/sync-lts-engines.test.js.map +1 -0
- package/build/src/tests/lib/item.test.d.ts +2 -0
- package/build/src/tests/lib/item.test.d.ts.map +1 -0
- package/build/src/tests/lib/item.test.js +142 -0
- package/build/src/tests/lib/item.test.js.map +1 -0
- package/build/src/tests/lib/nova-config.test.d.ts +2 -0
- package/build/src/tests/lib/nova-config.test.d.ts.map +1 -0
- package/build/src/tests/lib/nova-config.test.js +489 -0
- package/build/src/tests/lib/nova-config.test.js.map +1 -0
- package/build/src/tests/lib/regex.test.d.ts +2 -0
- package/build/src/tests/lib/regex.test.d.ts.map +1 -0
- package/build/src/tests/lib/regex.test.js +342 -0
- package/build/src/tests/lib/regex.test.js.map +1 -0
- package/build/src/tests/lib/schema.test.d.ts +2 -0
- package/build/src/tests/lib/schema.test.d.ts.map +1 -0
- package/build/src/tests/lib/schema.test.js +260 -0
- package/build/src/tests/lib/schema.test.js.map +1 -0
- package/build/src/tests/lib/utility.test.js +704 -44
- package/build/src/tests/lib/utility.test.js.map +1 -1
- package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.js +55 -0
- package/build/src/tests/rules/eslint/no-logger-dev.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js +47 -0
- package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js +47 -0
- package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.js +49 -0
- package/build/src/tests/rules/eslint/no-regex-literals.test.js.map +1 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts +2 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts.map +1 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.js +43 -0
- package/build/src/tests/rules/eslint/switch-case-blocks.test.js.map +1 -0
- package/build/src/tests/toolkit/cli-header.test.d.ts +2 -0
- package/build/src/tests/toolkit/cli-header.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/cli-header.test.js +143 -0
- package/build/src/tests/toolkit/cli-header.test.js.map +1 -0
- package/build/src/tests/toolkit/logger.test.d.ts +2 -0
- package/build/src/tests/toolkit/logger.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/logger.test.js +96 -0
- package/build/src/tests/toolkit/logger.test.js.map +1 -0
- package/build/src/tests/toolkit/markdown-table.test.d.ts +2 -0
- package/build/src/tests/toolkit/markdown-table.test.d.ts.map +1 -0
- package/build/src/tests/toolkit/markdown-table.test.js +138 -0
- package/build/src/tests/toolkit/markdown-table.test.js.map +1 -0
- package/build/src/toolkit/cli-header.d.ts +1 -0
- package/build/src/toolkit/cli-header.d.ts.map +1 -1
- package/build/src/toolkit/cli-header.js +24 -13
- package/build/src/toolkit/cli-header.js.map +1 -1
- package/build/src/toolkit/index.d.ts +1 -1
- package/build/src/toolkit/index.d.ts.map +1 -1
- package/build/src/toolkit/index.js +1 -1
- package/build/src/toolkit/index.js.map +1 -1
- package/build/src/toolkit/logger.d.ts.map +1 -1
- package/build/src/toolkit/logger.js +25 -10
- package/build/src/toolkit/logger.js.map +1 -1
- package/build/src/toolkit/markdown-table.d.ts.map +1 -1
- package/build/src/toolkit/markdown-table.js +3 -3
- package/build/src/toolkit/markdown-table.js.map +1 -1
- package/package.json +63 -59
- package/build/src/cli/recipe/sync-metadata.d.ts +0 -5
- package/build/src/cli/recipe/sync-metadata.d.ts.map +0 -1
- package/build/src/cli/recipe/sync-metadata.js +0 -7
- package/build/src/cli/recipe/sync-metadata.js.map +0 -1
- package/build/src/cli/recipe/sync-versions.d.ts +0 -5
- package/build/src/cli/recipe/sync-versions.d.ts.map +0 -1
- package/build/src/cli/recipe/sync-versions.js +0 -7
- package/build/src/cli/recipe/sync-versions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/cli/utility/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmF5C,MAAM,OAAO,oBAAoB;IAUxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAuC;QAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE7E,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAErB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE5E,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAEtD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA4C;QAC1E,MAAM,QAAQ,GAA2C;YACvD,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,2DAA2D;gBACxE,OAAO,EAAE,oBAAoB,CAAC,aAAa;aAC5C;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wDAAwD;gBACrE,OAAO,EAAE,oBAAoB,CAAC,cAAc;aAC7C;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,wDAAwD;gBACrE,OAAO,EAAE,oBAAoB,CAAC,UAAU;aACzC;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE,oBAAoB,CAAC,gBAAgB;aAC/C;SACF,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA8B,CAAC;YACxE,MAAM,OAAO,GAA0C,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACxF,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;gBAClC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW;gBAC9C,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC,CAAC;YAEJ,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,+CAA+C;gBAC5D,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,sCAAsC;gBACnD,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA2G;gBACvK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,+CAA+C;gBACxD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAE3C,IACE,gBAAgB,CAAC,MAAM,KAAK,SAAS;mBAClC,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EACvC,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAEtD,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAA+C;QAChF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,mBAAmB,GAAG,eAAe,EAAE,IAAI,CAAC;QAClD,MAAM,0BAA0B,GAAG,eAAe,EAAE,WAAW,CAAC;QAChE,MAAM,uBAAuB,GAAG,eAAe,EAAE,QAAQ,CAAC;QAE1D,MAAM,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,kBAAkB,GAAG,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/G,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA+G;YAChL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;aACjC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;gBAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAE7B,IAAI,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzE,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,sDAAsD,CAAC;gBAChE,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,kBAAkB,CAAC,KAAK,IAAI,EAAE;aACxC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,kBAAkB,CAAC,IAAI,IAAI,EAAE;aACvC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;aAC5F;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,qBAAqB,GAAG,CAAC,qBAAqB,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,MAAM,4BAA4B,GAAG,CAAC,qBAAqB,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClG,MAAM,2BAA2B,GAAG,CAAC,qBAAqB,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChG,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAGlF,IAAI,qBAAqB,KAAK,EAAE,EAAE,CAAC;YACjC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,KAAK,GAAG,qBAAqB,CAAC;QAC5C,CAAC;QAGD,IAAI,oBAAoB,KAAK,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAC1C,CAAC;QAGD,IAAI,4BAA4B,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,KAAK,GAAG,4BAA4B,CAAC;QAC1D,CAAC;QAGD,IAAI,2BAA2B,KAAK,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxD,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,oBAAoB,KAAK,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,mBAAmB,GAAG,oBAAoB;iBAC7C,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;iBACxD,MAAM,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;YAE/D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,QAAQ,GAAG,mBAAmB,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,YAAY,KAAK,WAAW,CAAC;QAGjD,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,WAAW,GAAiD,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/G,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;YAEnD,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,CAAC;aACV,CAAC,CAAC,IAAI,CAAC,8BAA8B,YAAY,IAAI,SAAS,SAAS,WAAW,IAAI,SAAS,IAAI,CAAC,CAAC;YAEtG,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;gBAG3B,IAAI,YAAY,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBAC9C,SAAS,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC5C,CAAC;qBAAM,IAAI,YAAY,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACrD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBAED,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,oCAAoC;oBAC1C,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC,IAAI,CAAC,gCAAgC,IAAI,SAAS,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,SAAS,EAAE,CAAC;SACb,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAgD;QAClF,MAAM,QAAQ,GAA+C,EAAE,CAAC;QAGhE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;gBAGzC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QASD,MAAM,IAAI,GAAG,GAAkD,EAAE;YAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAExB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACjD,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;oBAGvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,gBAAgB,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;oBAED,OAAO,gBAAgB,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAA8C,EAAE,CAAC;YAG9D,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE3G,MAAM,KAAK,GAAG,UAAU,IAAI,WAAW,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,gBAAgB,GAAuD,EAAE,CAAC;gBAGhF,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACvB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;gBAGD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,eAAe,GAAG,WAAW;yBAChC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;yBACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;yBAC7C,MAAM,CAA0D,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;wBACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;4BACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC1B,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC,EAAE,EAAE,CAAC,CAAC;oBAET,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEjD,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE;oBAChD,WAAW,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB;oBACvE,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,KAAK;qBACN;iBACF,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE;oBAC/C,WAAW,EAAE,qBAAqB;oBAClC,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,sBAAsB;gBACnC,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK;iBACZ;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM;iBACb;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAuG;gBACnK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sCAAsC;gBACvG,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAG3C,IACE,gBAAgB,CAAC,MAAM,KAAK,SAAS;mBAClC,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAC1C,CAAC;gBAED,IAAI,EAAE,CAAC;gBAEP,OAAO,MAAM,CAAC;YAChB,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAElF,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAG7B,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAE7B,SAAS;YACX,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;gBAGlD,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAE3F,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;gBAG5C,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAE3B,SAAS;YACX,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;gBAGlD,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAG7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,CAAC,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,WAAW,GAAG,UAAU,IAAI,WAAW,IAAI,UAAU,WAAW,GAAG,CAAC,EAAE,CAAC;gBAE7E,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAGhC,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAcO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAoD,EAAE,IAAgD;QAC5I,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAqD,CAAC;QAE9G,MAAM,YAAY,GAAG,CAAC,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAC,OAAO,MAAM,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,IAAI,aAAa,GAAwD,EAAE,CAAC;QAG5E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAiL;YAClP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBACnB,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,6CAA6C,CAAC;gBACvD,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBACnB,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,yDAAyD,CAAC;gBACnE,CAAC;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtC,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAClE,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;iBAC5C,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,eAAe,GAAG,CAAC,OAAO,qBAAqB,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9H,MAAM,gBAAgB,GAAG,CAAC,OAAO,qBAAqB,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,MAAM,cAAc,GAAG,CAAC,OAAO,qBAAqB,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3H,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExH,MAAM,cAAc,GAAyD,EAAE,CAAC;QAGhF,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;YAC3B,cAAc,CAAC,IAAI,GAAG,eAAe,CAAC;QACxC,CAAC;QAGD,IAAI,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAC5B,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAGD,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1B,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC;QACtC,CAAC;QAGD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAGD,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,cAAc;SACvB,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAwD;QACpG,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA+H;YAC9L,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kBAAkB,KAAK,IAAI;YACpC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;QAEjD,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA4C;QAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAEjC,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,MAAM,aAAa,GAAgD,EAAE,CAAC;QAYtE,MAAM,QAAQ,GAAG,CAAC,GAA8C,EAAE,KAAkD,EAAiD,EAAE;YACrK,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAExE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAuG;YACxK;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;gBAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;aAC/E;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;gBACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;gBACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC;aACjE;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,QAAQ,EAAE,oBAAoB,CAAC,mBAAmB;aACnD;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACzD,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC7D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACvD,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QACnE,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACrD,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,eAAe;aAC3D,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QAGvD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,eAAe,GAAkD,EAAE,CAAC;YAE1E,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAEtF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;YAC9C,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;SACb,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAkD;QACtF,MAAM,UAAU,GAAyC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAG/G,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAChE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAEpE,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,uCAAuC;YAC7C,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;gBACnD,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAqD,EAAE,CAAC;gBAE1E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;gBAED,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBACzF,KAAK,EAAE,aAAa;iBACrB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAyG;gBACrK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,kCAAkC;gBAC3C,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAE3C,IACE,gBAAgB,CAAC,aAAa,KAAK,SAAS;mBACzC,gBAAgB,CAAC,aAAa,KAAK,MAAM,EAC5C,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,oBAAoB,CAAC;gBACjE,aAAa;gBACb,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC;gBAC5C,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI;aACxC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,UAAU,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEtC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,uCAAuC;gBAC7C,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,IAAI,CAAC,sBAAsB,aAAa,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAwD;QAChG,MAAM,YAAY,GAAyD;YACzE;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,mDAAmD;gBAChE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,yDAAyD;gBACtE,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,qDAAqD;gBAClE,KAAK,EAAE,MAAM;aACd;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,6DAA6D;gBAC1E,KAAK,EAAE,KAAK;aACb;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,yDAAyD;gBACtE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,sDAAsD;gBACnE,KAAK,EAAE,MAAM;aACd;SACF,CAAC;QACF,MAAM,MAAM,GAAmD;YAC7D,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,2DAA2D;aACzE;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,yDAAyD;aACvE;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,oDAAoD;aAClE;SACF,CAAC;QAWF,MAAM,WAAW,GAAG,KAAK,EAAE,IAA6D,EAA8D,EAAE;YAEtJ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;gBACnD,CAAC;gBAED,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAG3F,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA0B;gBACtF,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,wBAAwB;gBACjC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI;gBACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBACnB,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBAED,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,QAAQ,CAAC;wBACd,KAAK,KAAK,CAAC;wBACX,KAAK,MAAM;4BAET,MAAM,cAAc,GAAG,GAAG,IAAI,GAAG,CAAC;4BAElC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gCACxC,OAAO,eAAe,cAAc,8BAA8B,CAAC;4BACrE,CAAC;4BAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;4BAExD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCAC5B,OAAO,oCAAoC,CAAC;4BAC9C,CAAC;4BAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gCAC1C,OAAO,4FAA4F,CAAC;4BACtG,CAAC;4BAED,OAAO,IAAI,CAAC;wBACd,KAAK,SAAS,CAAC;wBACf;4BACE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC3E,OAAO,IAAI,CAAC;4BACd,CAAC;4BAED,OAAO,qEAAqE,CAAC;oBACjF,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAEpD,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC;QAGF,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAiH;YAC7K,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,sBAAsB,OAAO,CAAC,aAAa,GAAG;YACvD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACtG,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,eAAe,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAGhE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAqH;YACnL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC/C,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK;gBAClC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW;gBAC9C,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SACzG,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,cAAc;aACvB;SACF,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAA8B,SAA8D;QAC/H,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAO,SAAS,EAAE;YAC5C,QAAQ,EAAE,GAAG,EAAE;gBACb,SAAS,GAAG,IAAI,CAAC;gBAEjB,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM;SACP,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gBAA+D;QAC5F,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAGpB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,KAAK,CAAC;gBACP,4FAA4F;gBAC5F,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,gBAAgB;gBACzB,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,KAAK,CAAC;gBACP,kGAAkG;gBAClG,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAChE,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,mBAAmB;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,KAAK,CAAC;gBACP,gDAAgD;gBAChD,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAcO,MAAM,CAAC,eAAe,CAAC,KAA+C,EAAE,KAAgD;QAC9H,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,yDAAyD,CAAC;IACnE,CAAC;IAaO,MAAM,CAAC,mBAAmB,CAAC,KAAmD;QACpF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC5D,OAAO,kEAAkE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAcO,MAAM,CAAC,eAAe,CAAC,KAA+C,EAAE,KAAgD;QAC9H,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAcO,MAAM,CAAC,gBAAgB,CAAC,KAAgD,EAAE,KAAiD;QACjI,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3B,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/F,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAE3F,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/cli/utility/initialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CLIUtilityTypeCheckRunOptions, CLIUtilityTypeCheckRunReturns } from '@/types/cli/utility/type-check.d.ts';
|
|
2
|
+
export declare class CLIUtilityTypeCheck {
|
|
3
|
+
static run(options: CLIUtilityTypeCheckRunOptions): CLIUtilityTypeCheckRunReturns;
|
|
4
|
+
private static getConfigPath;
|
|
5
|
+
private static getDiagnostics;
|
|
6
|
+
private static filterDiagnostics;
|
|
7
|
+
private static printDiagnostics;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=type-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-check.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/type-check.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAUV,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAO7C,qBAAa,mBAAmB;WAUhB,GAAG,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B;IAgCxF,OAAO,CAAC,MAAM,CAAC,aAAa;IAoB5B,OAAO,CAAC,MAAM,CAAC,cAAc;IAgB7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkBhC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAuBhC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { dirname, resolve } from 'path';
|
|
2
|
+
import { createProgram, findConfigFile, flattenDiagnosticMessageText, getPreEmitDiagnostics, parseJsonConfigFileContent, readConfigFile, sys, } from 'typescript';
|
|
3
|
+
import { Logger } from '../../toolkit/index.js';
|
|
4
|
+
export class CLIUtilityTypeCheck {
|
|
5
|
+
static run(options) {
|
|
6
|
+
const configPath = CLIUtilityTypeCheck.getConfigPath(options.project);
|
|
7
|
+
if (configPath === undefined) {
|
|
8
|
+
Logger.error('No tsconfig.json found. Use --project to specify a path.');
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const { config } = readConfigFile(configPath, sys.readFile);
|
|
12
|
+
const parsed = parseJsonConfigFileContent(config, sys, dirname(configPath));
|
|
13
|
+
const diagnostics = CLIUtilityTypeCheck.getDiagnostics(parsed);
|
|
14
|
+
const filtered = CLIUtilityTypeCheck.filterDiagnostics(diagnostics);
|
|
15
|
+
CLIUtilityTypeCheck.printDiagnostics(filtered);
|
|
16
|
+
if (filtered.length > 0) {
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static getConfigPath(project) {
|
|
21
|
+
if (project !== undefined) {
|
|
22
|
+
const resolved = resolve(process.cwd(), project);
|
|
23
|
+
return (sys.fileExists(resolved)) ? resolved : undefined;
|
|
24
|
+
}
|
|
25
|
+
return findConfigFile(process.cwd(), sys.fileExists, 'tsconfig.json');
|
|
26
|
+
}
|
|
27
|
+
static getDiagnostics(parsed) {
|
|
28
|
+
const program = createProgram(parsed.fileNames, parsed.options);
|
|
29
|
+
return getPreEmitDiagnostics(program);
|
|
30
|
+
}
|
|
31
|
+
static filterDiagnostics(diagnostics) {
|
|
32
|
+
return diagnostics.filter((diagnostic) => {
|
|
33
|
+
const fileName = (diagnostic.file !== undefined) ? diagnostic.file.fileName : '';
|
|
34
|
+
return fileName.startsWith(process.cwd()) && !fileName.includes('node_modules');
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static printDiagnostics(filtered) {
|
|
38
|
+
const fileSet = new Set();
|
|
39
|
+
for (const diagnostic of filtered) {
|
|
40
|
+
const fileName = (diagnostic.file !== undefined) ? diagnostic.file.fileName : 'unknown';
|
|
41
|
+
const message = flattenDiagnosticMessageText(diagnostic.messageText, '\n');
|
|
42
|
+
fileSet.add(fileName);
|
|
43
|
+
if (diagnostic.file !== undefined && diagnostic.start !== undefined) {
|
|
44
|
+
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
|
|
45
|
+
Logger.error(`${fileName}:${line + 1}:${character + 1} - ${message}`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
Logger.error(message);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (filtered.length > 0) {
|
|
52
|
+
Logger.info(`Found ${filtered.length} error(s) in ${fileSet.size} file(s).`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
Logger.info('No type errors found.');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=type-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-check.js","sourceRoot":"","sources":["../../../../src/cli/utility/type-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { CLIUtilityVersionRunOptions, CLIUtilityVersionRunReturns } from '@/types/cli/utility.d.ts';
|
|
1
|
+
import type { CLIUtilityVersionRunOptions, CLIUtilityVersionRunReturns } from '@/types/cli/utility/version.d.ts';
|
|
2
2
|
export declare class CLIUtilityVersion {
|
|
3
3
|
static run(options: CLIUtilityVersionRunOptions): CLIUtilityVersionRunReturns;
|
|
4
|
-
private static print;
|
|
5
4
|
private static getNodeVersion;
|
|
6
5
|
private static getEnvironmentManagerVersion;
|
|
7
6
|
private static getOsVersion;
|
|
8
7
|
private static getBrowserVersion;
|
|
9
8
|
private static getInterpreterVersion;
|
|
9
|
+
private static print;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/version.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAoBV,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAO1C,qBAAa,iBAAiB;WAUR,GAAG,CAAC,OAAO,EAAE,2BAA2B,GAAG,2BAA2B;mBA6CrE,cAAc;mBA8Fd,4BAA4B;mBA2D5B,YAAY;mBAqFZ,iBAAiB;mBAoKjB,qBAAqB;IAuD1C,OAAO,CAAC,MAAM,CAAC,KAAK;CA8BrB"}
|
|
@@ -1,53 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { arch, platform, release, version, } from 'os';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import {
|
|
4
|
-
import { MarkdownTable } from '../../toolkit/index.js';
|
|
3
|
+
import { itemPrettyNamesBrand, itemPrettyNamesCategory, itemPrettyNamesColumnTitle, itemPrettyNamesType, } from '../../lib/item.js';
|
|
5
4
|
import { PATTERN_DOUBLE_QUOTED_STRING_CAPTURE, PATTERN_JAVA_VERSION_LINE, PATTERN_LEADING_NON_DIGITS, PATTERN_RUSTC_VERSION_LINE, PATTERN_SEMVER, } from '../../lib/regex.js';
|
|
6
5
|
import { executeShell, parseLinuxOsReleaseFile, parseWindowsRegistryQuery, pathExists, } from '../../lib/utility.js';
|
|
6
|
+
import { MarkdownTable } from '../../toolkit/index.js';
|
|
7
7
|
export class CLIUtilityVersion {
|
|
8
8
|
static async run(options) {
|
|
9
9
|
const tasks = [];
|
|
10
|
-
if (options.node || options.all || Object.keys(options).length === 0) {
|
|
10
|
+
if (options.node === true || options.all === true || Object.keys(options).length === 0) {
|
|
11
11
|
tasks.push(CLIUtilityVersion.getNodeVersion().then((response) => ['node', response]));
|
|
12
12
|
}
|
|
13
|
-
if (options.env || options.all || Object.keys(options).length === 0) {
|
|
13
|
+
if (options.env === true || options.all === true || Object.keys(options).length === 0) {
|
|
14
14
|
tasks.push(CLIUtilityVersion.getEnvironmentManagerVersion().then((response) => ['env', response]));
|
|
15
15
|
}
|
|
16
|
-
if (options.os || options.all || Object.keys(options).length === 0) {
|
|
16
|
+
if (options.os === true || options.all === true || Object.keys(options).length === 0) {
|
|
17
17
|
tasks.push(CLIUtilityVersion.getOsVersion().then((response) => ['os', response]));
|
|
18
18
|
}
|
|
19
|
-
if (options.browser || options.all || Object.keys(options).length === 0) {
|
|
19
|
+
if (options.browser === true || options.all === true || Object.keys(options).length === 0) {
|
|
20
20
|
tasks.push(CLIUtilityVersion.getBrowserVersion().then((response) => ['browsers', response]));
|
|
21
21
|
}
|
|
22
|
-
if (options.interpreter || options.all || Object.keys(options).length === 0) {
|
|
22
|
+
if (options.interpreter === true || options.all === true || Object.keys(options).length === 0) {
|
|
23
23
|
tasks.push(CLIUtilityVersion.getInterpreterVersion().then((response) => ['interpreters', response]));
|
|
24
24
|
}
|
|
25
25
|
const results = await Promise.all(tasks);
|
|
26
26
|
const list = Object.fromEntries(results);
|
|
27
27
|
CLIUtilityVersion.print(list);
|
|
28
28
|
}
|
|
29
|
-
static print(list) {
|
|
30
|
-
for (const [category, rowsByKey] of Object.entries(list)) {
|
|
31
|
-
if (Object.keys(rowsByKey).length === 0) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
const table = new MarkdownTable([
|
|
35
|
-
chalk.bold.yellow(itemColumnTitlePrettyNames[`key-${category}`] ?? 'Key'),
|
|
36
|
-
chalk.bold.yellow(itemColumnTitlePrettyNames[`value-${category}`] ?? 'Value'),
|
|
37
|
-
], {
|
|
38
|
-
padDelimiterRow: false,
|
|
39
|
-
minimumColumnWidth: 10,
|
|
40
|
-
});
|
|
41
|
-
for (const [rowKey, rowValue] of Object.entries(rowsByKey)) {
|
|
42
|
-
table.addRow([
|
|
43
|
-
itemBrandPrettyNames[rowKey] ?? itemTypePrettyNames[rowKey] ?? chalk.grey(rowKey),
|
|
44
|
-
rowValue,
|
|
45
|
-
]);
|
|
46
|
-
}
|
|
47
|
-
process.stdout.write(`${itemCategoryPrettyNames[category] ?? chalk.grey(category)}\n`);
|
|
48
|
-
process.stdout.write(`${table.render()}\n\n`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
29
|
static async getNodeVersion() {
|
|
52
30
|
const [nodeJsVersion, npmVersion, yarnVersion, pnpmVersion, bunVersion,] = await Promise.all([
|
|
53
31
|
executeShell('node --version'),
|
|
@@ -58,7 +36,8 @@ export class CLIUtilityVersion {
|
|
|
58
36
|
]);
|
|
59
37
|
let tools = {};
|
|
60
38
|
if (nodeJsVersion.code === 0) {
|
|
61
|
-
const
|
|
39
|
+
const matchResult = nodeJsVersion.textOut.match(PATTERN_SEMVER);
|
|
40
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
62
41
|
if (match !== undefined) {
|
|
63
42
|
tools = {
|
|
64
43
|
...tools,
|
|
@@ -67,7 +46,8 @@ export class CLIUtilityVersion {
|
|
|
67
46
|
}
|
|
68
47
|
}
|
|
69
48
|
if (npmVersion.code === 0) {
|
|
70
|
-
const
|
|
49
|
+
const matchResult = npmVersion.textOut.match(PATTERN_SEMVER);
|
|
50
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
71
51
|
if (match !== undefined) {
|
|
72
52
|
tools = {
|
|
73
53
|
...tools,
|
|
@@ -76,7 +56,8 @@ export class CLIUtilityVersion {
|
|
|
76
56
|
}
|
|
77
57
|
}
|
|
78
58
|
if (yarnVersion.code === 0) {
|
|
79
|
-
const
|
|
59
|
+
const matchResult = yarnVersion.textOut.match(PATTERN_SEMVER);
|
|
60
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
80
61
|
if (match !== undefined) {
|
|
81
62
|
tools = {
|
|
82
63
|
...tools,
|
|
@@ -85,7 +66,8 @@ export class CLIUtilityVersion {
|
|
|
85
66
|
}
|
|
86
67
|
}
|
|
87
68
|
if (pnpmVersion.code === 0) {
|
|
88
|
-
const
|
|
69
|
+
const matchResult = pnpmVersion.textOut.match(PATTERN_SEMVER);
|
|
70
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
89
71
|
if (match !== undefined) {
|
|
90
72
|
tools = {
|
|
91
73
|
...tools,
|
|
@@ -94,7 +76,8 @@ export class CLIUtilityVersion {
|
|
|
94
76
|
}
|
|
95
77
|
}
|
|
96
78
|
if (bunVersion.code === 0) {
|
|
97
|
-
const
|
|
79
|
+
const matchResult = bunVersion.textOut.match(PATTERN_SEMVER);
|
|
80
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
98
81
|
if (match !== undefined) {
|
|
99
82
|
tools = {
|
|
100
83
|
...tools,
|
|
@@ -110,8 +93,9 @@ export class CLIUtilityVersion {
|
|
|
110
93
|
executeShell('volta --version'),
|
|
111
94
|
]);
|
|
112
95
|
let managers = {};
|
|
113
|
-
if (
|
|
114
|
-
const
|
|
96
|
+
if (platform() !== 'win32' && nvmVersion.code === 0) {
|
|
97
|
+
const matchResult = nvmVersion.textOut.match(PATTERN_SEMVER);
|
|
98
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
115
99
|
if (match !== undefined) {
|
|
116
100
|
managers = {
|
|
117
101
|
...managers,
|
|
@@ -119,8 +103,9 @@ export class CLIUtilityVersion {
|
|
|
119
103
|
};
|
|
120
104
|
}
|
|
121
105
|
}
|
|
122
|
-
if (
|
|
123
|
-
const
|
|
106
|
+
if (platform() === 'win32' && nvmVersion.code === 0) {
|
|
107
|
+
const matchResult = nvmVersion.textOut.match(PATTERN_SEMVER);
|
|
108
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
124
109
|
if (match !== undefined) {
|
|
125
110
|
managers = {
|
|
126
111
|
...managers,
|
|
@@ -129,7 +114,8 @@ export class CLIUtilityVersion {
|
|
|
129
114
|
}
|
|
130
115
|
}
|
|
131
116
|
if (voltaVersion.code === 0) {
|
|
132
|
-
const
|
|
117
|
+
const matchResult = voltaVersion.textOut.match(PATTERN_SEMVER);
|
|
118
|
+
const match = (matchResult !== null) ? matchResult[1] : undefined;
|
|
133
119
|
if (match !== undefined) {
|
|
134
120
|
managers = {
|
|
135
121
|
...managers,
|
|
@@ -140,48 +126,73 @@ export class CLIUtilityVersion {
|
|
|
140
126
|
return managers;
|
|
141
127
|
}
|
|
142
128
|
static async getOsVersion() {
|
|
143
|
-
const
|
|
144
|
-
const architecture =
|
|
145
|
-
const kernel =
|
|
146
|
-
let name =
|
|
147
|
-
let
|
|
129
|
+
const currentPlatform = platform();
|
|
130
|
+
const architecture = arch();
|
|
131
|
+
const kernel = release();
|
|
132
|
+
let name = currentPlatform;
|
|
133
|
+
let currentVersion = version();
|
|
148
134
|
let build = '—';
|
|
149
|
-
if (
|
|
135
|
+
if (currentPlatform === 'darwin') {
|
|
150
136
|
const [productName, productVersion, buildVersion] = await Promise.all([
|
|
151
137
|
executeShell('sw_vers -productName'),
|
|
152
138
|
executeShell('sw_vers -productVersion'),
|
|
153
139
|
executeShell('sw_vers -buildVersion'),
|
|
154
140
|
]);
|
|
155
141
|
name = productName.textOut ?? 'macOS';
|
|
156
|
-
|
|
142
|
+
currentVersion = productVersion.textOut ?? currentVersion;
|
|
157
143
|
build = buildVersion.textOut ?? '—';
|
|
158
144
|
}
|
|
159
|
-
if (
|
|
145
|
+
if (currentPlatform === 'win32') {
|
|
160
146
|
const registryQuery = await parseWindowsRegistryQuery('HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion');
|
|
161
|
-
const
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
147
|
+
const currentBuildEntry = registryQuery['CurrentBuild'];
|
|
148
|
+
const currentBuildNumberEntry = registryQuery['CurrentBuildNumber'];
|
|
149
|
+
const updateBuildRevisionEntry = registryQuery['UBR'];
|
|
150
|
+
const productNameEntry = registryQuery['ProductName'];
|
|
151
|
+
const displayVersionEntry = registryQuery['DisplayVersion'];
|
|
152
|
+
const releaseIdEntry = registryQuery['ReleaseId'];
|
|
153
|
+
let currentBuild;
|
|
154
|
+
if (currentBuildEntry !== undefined) {
|
|
155
|
+
currentBuild = currentBuildEntry.data;
|
|
156
|
+
}
|
|
157
|
+
else if (currentBuildNumberEntry !== undefined) {
|
|
158
|
+
currentBuild = currentBuildNumberEntry.data;
|
|
159
|
+
}
|
|
160
|
+
const updateBuildRevision = (updateBuildRevisionEntry !== undefined) ? updateBuildRevisionEntry.data : undefined;
|
|
161
|
+
name = (productNameEntry !== undefined) ? productNameEntry.data : 'Windows';
|
|
162
|
+
if (displayVersionEntry !== undefined) {
|
|
163
|
+
currentVersion = displayVersionEntry.data;
|
|
164
|
+
}
|
|
165
|
+
else if (releaseIdEntry !== undefined) {
|
|
166
|
+
currentVersion = releaseIdEntry.data;
|
|
167
|
+
}
|
|
168
|
+
if (currentBuild !== undefined && updateBuildRevision !== undefined) {
|
|
169
|
+
build = `${currentBuild}.${updateBuildRevision}`;
|
|
170
|
+
}
|
|
171
|
+
else if (currentBuild !== undefined) {
|
|
172
|
+
build = currentBuild;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
build = '—';
|
|
176
|
+
}
|
|
166
177
|
}
|
|
167
|
-
if (
|
|
178
|
+
if (currentPlatform === 'linux') {
|
|
168
179
|
const osRelease = await parseLinuxOsReleaseFile();
|
|
169
180
|
name = osRelease['NAME'] ?? 'Linux';
|
|
170
|
-
|
|
181
|
+
currentVersion = osRelease['VERSION'] ?? '—';
|
|
171
182
|
build = osRelease['BUILD_ID'] ?? '—';
|
|
172
183
|
}
|
|
173
184
|
return {
|
|
174
185
|
name,
|
|
175
|
-
version,
|
|
186
|
+
version: currentVersion,
|
|
176
187
|
architecture,
|
|
177
188
|
build,
|
|
178
189
|
kernel,
|
|
179
190
|
};
|
|
180
191
|
}
|
|
181
192
|
static async getBrowserVersion() {
|
|
182
|
-
const
|
|
193
|
+
const currentPlatform = platform();
|
|
183
194
|
let browsers = {};
|
|
184
|
-
if (
|
|
195
|
+
if (currentPlatform === 'darwin') {
|
|
185
196
|
const supportedBrowsers = {
|
|
186
197
|
chrome: 'Google Chrome.app',
|
|
187
198
|
safari: 'Safari.app',
|
|
@@ -198,7 +209,13 @@ export class CLIUtilityVersion {
|
|
|
198
209
|
const system = `/Applications/${appName}`;
|
|
199
210
|
const user = `${process.env['HOME'] ?? ''}/Applications/${appName}`;
|
|
200
211
|
const [hasSystem, hasUser] = await Promise.all([pathExists(system), pathExists(user)]);
|
|
201
|
-
|
|
212
|
+
let appPath = null;
|
|
213
|
+
if (hasSystem === true) {
|
|
214
|
+
appPath = system;
|
|
215
|
+
}
|
|
216
|
+
else if (hasUser === true) {
|
|
217
|
+
appPath = user;
|
|
218
|
+
}
|
|
202
219
|
if (appPath === null) {
|
|
203
220
|
return null;
|
|
204
221
|
}
|
|
@@ -218,7 +235,7 @@ export class CLIUtilityVersion {
|
|
|
218
235
|
...Object.fromEntries(entries),
|
|
219
236
|
};
|
|
220
237
|
}
|
|
221
|
-
if (
|
|
238
|
+
if (currentPlatform === 'win32') {
|
|
222
239
|
const supportedBrowsers = {
|
|
223
240
|
chrome: 'chrome.exe',
|
|
224
241
|
edge: 'msedge.exe',
|
|
@@ -252,7 +269,7 @@ export class CLIUtilityVersion {
|
|
|
252
269
|
...Object.fromEntries(entries),
|
|
253
270
|
};
|
|
254
271
|
}
|
|
255
|
-
if (
|
|
272
|
+
if (currentPlatform === 'linux') {
|
|
256
273
|
const supportedBrowsers = {
|
|
257
274
|
'chrome': 'google-chrome',
|
|
258
275
|
'firefox': 'firefox',
|
|
@@ -295,10 +312,10 @@ export class CLIUtilityVersion {
|
|
|
295
312
|
let interpreters = {};
|
|
296
313
|
if (javaVersion.code === 0) {
|
|
297
314
|
const match = javaVersion.textOut.match(new RegExp(PATTERN_JAVA_VERSION_LINE, 'mi'));
|
|
298
|
-
const matchVersion = match?.[1] ?? 'N/A';
|
|
299
|
-
const matchDistribution = match?.[2] ?? 'N/A';
|
|
300
|
-
const matchBuild = match?.[4] ?? 'N/A';
|
|
301
315
|
if (match !== null) {
|
|
316
|
+
const matchVersion = match[1] ?? 'N/A';
|
|
317
|
+
const matchDistribution = match[2] ?? 'N/A';
|
|
318
|
+
const matchBuild = match[4] ?? 'N/A';
|
|
302
319
|
interpreters = {
|
|
303
320
|
...interpreters,
|
|
304
321
|
java: `${matchVersion} (distro: ${matchDistribution}, build: ${matchBuild})`,
|
|
@@ -307,11 +324,11 @@ export class CLIUtilityVersion {
|
|
|
307
324
|
}
|
|
308
325
|
if (rustVersion.code === 0) {
|
|
309
326
|
const match = rustVersion.textOut.match(PATTERN_RUSTC_VERSION_LINE);
|
|
310
|
-
const matchVersion = match?.[1] ?? 'N/A';
|
|
311
|
-
const matchBuildHash = match?.[2] ?? 'N/A';
|
|
312
|
-
const matchBuildDate = match?.[3] ?? 'N/A';
|
|
313
|
-
const matchSource = match?.[4] ?? 'rustup';
|
|
314
327
|
if (match !== null) {
|
|
328
|
+
const matchVersion = match[1] ?? 'N/A';
|
|
329
|
+
const matchBuildHash = match[2] ?? 'N/A';
|
|
330
|
+
const matchBuildDate = match[3] ?? 'N/A';
|
|
331
|
+
const matchSource = match[4] ?? 'rustup';
|
|
315
332
|
interpreters = {
|
|
316
333
|
...interpreters,
|
|
317
334
|
rust: `${matchVersion} (build hash: ${matchBuildHash}, build date: ${matchBuildDate}, source: ${matchSource})`,
|
|
@@ -320,5 +337,27 @@ export class CLIUtilityVersion {
|
|
|
320
337
|
}
|
|
321
338
|
return interpreters;
|
|
322
339
|
}
|
|
340
|
+
static print(list) {
|
|
341
|
+
for (const [category, rowsByKey] of Object.entries(list)) {
|
|
342
|
+
if (Object.keys(rowsByKey).length === 0) {
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
const table = new MarkdownTable([
|
|
346
|
+
chalk.bold.yellow(itemPrettyNamesColumnTitle[`key-${category}`] ?? 'Key'),
|
|
347
|
+
chalk.bold.yellow(itemPrettyNamesColumnTitle[`value-${category}`] ?? 'Value'),
|
|
348
|
+
], {
|
|
349
|
+
padDelimiterRow: false,
|
|
350
|
+
minimumColumnWidth: 10,
|
|
351
|
+
});
|
|
352
|
+
for (const [rowKey, rowValue] of Object.entries(rowsByKey)) {
|
|
353
|
+
table.addRow([
|
|
354
|
+
itemPrettyNamesBrand[rowKey] ?? itemPrettyNamesType[rowKey] ?? chalk.grey(rowKey),
|
|
355
|
+
rowValue,
|
|
356
|
+
]);
|
|
357
|
+
}
|
|
358
|
+
process.stdout.write(`${itemPrettyNamesCategory[category] ?? chalk.grey(category)}\n`);
|
|
359
|
+
process.stdout.write(`${table.render()}\n\n`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
323
362
|
}
|
|
324
363
|
//# sourceMappingURL=version.js.map
|