@wolsok/nx-aws-cdk-v2 2.4.0 → 2.6.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/README.md +2 -1
- package/executors.json +5 -0
- package/package.json +1 -1
- package/src/executors/synth/schema.d.ts +3 -0
- package/src/executors/synth/schema.json +13 -0
- package/src/executors/synth/synth.d.ts +11 -0
- package/src/executors/synth/synth.js +31 -0
- package/src/executors/synth/synth.js.map +1 -0
- package/src/generators/application/application.js +19 -5
- package/src/generators/application/application.js.map +1 -1
- package/src/index.js +1 -0
- package/src/utils/executor.util.d.ts +2 -1
- package/src/utils/executor.util.js +9 -13
- package/src/utils/executor.util.js.map +1 -1
package/README.md
CHANGED
|
@@ -62,9 +62,10 @@ Options:
|
|
|
62
62
|
|
|
63
63
|
### Targets
|
|
64
64
|
|
|
65
|
-
Generated applications expose several functions to the CLI that allow users to deploy, destroy and bootstrap.
|
|
65
|
+
Generated applications expose several functions to the CLI that allow users to synthesize, deploy, destroy and bootstrap.
|
|
66
66
|
|
|
67
67
|
```shell
|
|
68
|
+
nx synth myApp
|
|
68
69
|
nx deploy myApp
|
|
69
70
|
nx destroy myApp
|
|
70
71
|
nx bootstrap myApp --profile=profile
|
package/executors.json
CHANGED
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
"schema": "./src/executors/destroy/schema.json",
|
|
12
12
|
"description": "destroy executor"
|
|
13
13
|
},
|
|
14
|
+
"synth": {
|
|
15
|
+
"implementation": "./src/executors/synth/synth",
|
|
16
|
+
"schema": "./src/executors/synth/schema.json",
|
|
17
|
+
"description": "synth executor"
|
|
18
|
+
},
|
|
14
19
|
"bootstrap": {
|
|
15
20
|
"implementation": "./src/executors/bootstrap/bootstrap",
|
|
16
21
|
"schema": "./src/executors/bootstrap/schema.json",
|
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { ParsedExecutorInterface } from '../../interfaces/parsed-executor.interface';
|
|
3
|
+
import { SynthExecutorSchema } from './schema';
|
|
4
|
+
export interface ParsedSynthExecutorOption extends ParsedExecutorInterface {
|
|
5
|
+
stacks?: string[];
|
|
6
|
+
sourceRoot: string;
|
|
7
|
+
root: string;
|
|
8
|
+
}
|
|
9
|
+
export default function runExecutor(options: SynthExecutorSchema, context: ExecutorContext): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = runExecutor;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const executor_util_1 = require("../../utils/executor.util");
|
|
6
|
+
function runExecutor(options, context) {
|
|
7
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
const normalizedOptions = normalizeOptions(options, context);
|
|
9
|
+
const result = yield runSynth(normalizedOptions, context);
|
|
10
|
+
return {
|
|
11
|
+
success: result,
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function runSynth(options, context) {
|
|
16
|
+
const command = (0, executor_util_1.createCommand)('synth', options);
|
|
17
|
+
return (0, executor_util_1.runCommandProcess)(command, context.root);
|
|
18
|
+
}
|
|
19
|
+
function normalizeOptions(options, context) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const parsedArgs = (0, executor_util_1.parseArgs)(options);
|
|
22
|
+
let stacks;
|
|
23
|
+
if (Object.prototype.hasOwnProperty.call(options, 'stacks')) {
|
|
24
|
+
stacks = options.stacks;
|
|
25
|
+
}
|
|
26
|
+
const { sourceRoot, root } = (_b = (_a = context === null || context === void 0 ? void 0 : context.projectsConfigurations) === null || _a === void 0 ? void 0 : _a.projects[context.projectName]) !== null && _b !== void 0 ? _b : {};
|
|
27
|
+
return Object.assign(Object.assign({}, options), { parseArgs: parsedArgs, stacks,
|
|
28
|
+
sourceRoot,
|
|
29
|
+
root });
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=synth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synth.js","sourceRoot":"","sources":["../../../../../../packages/aws-cdk-v2/src/executors/synth/synth.ts"],"names":[],"mappings":";;AAYA,8BAOC;;AAhBD,6DAAwF;AASxF,SAA8B,WAAW,CAAC,OAA4B,EAAE,OAAwB;;QAC9F,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAE1D,OAAO;YACL,OAAO,EAAE,MAAM;SAChB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,QAAQ,CAAC,OAAkC,EAAE,OAAwB;IAC5E,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAA,iCAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4B,EAAE,OAAwB;;IAC9E,MAAM,UAAU,GAAG,IAAA,yBAAS,EAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC;IAEX,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;IAElG,uCACK,OAAO,KACV,SAAS,EAAE,UAAU,EACrB,MAAM;QACN,UAAU;QACV,IAAI,IACJ;AACJ,CAAC"}
|
|
@@ -39,15 +39,19 @@ function applicationGenerator(host, options) {
|
|
|
39
39
|
sourceRoot: `${normalizedOptions.projectRoot}/src`,
|
|
40
40
|
targets: {
|
|
41
41
|
deploy: {
|
|
42
|
-
executor: '@
|
|
42
|
+
executor: '@wolsok/nx-aws-cdk-v2:deploy',
|
|
43
|
+
options: {},
|
|
44
|
+
},
|
|
45
|
+
synth: {
|
|
46
|
+
executor: '@wolsok/nx-aws-cdk-v2:synth',
|
|
43
47
|
options: {},
|
|
44
48
|
},
|
|
45
49
|
destroy: {
|
|
46
|
-
executor: '@
|
|
50
|
+
executor: '@wolsok/nx-aws-cdk-v2:destroy',
|
|
47
51
|
options: {},
|
|
48
52
|
},
|
|
49
53
|
bootstrap: {
|
|
50
|
-
executor: '@
|
|
54
|
+
executor: '@wolsok/nx-aws-cdk-v2:bootstrap',
|
|
51
55
|
options: {},
|
|
52
56
|
},
|
|
53
57
|
},
|
|
@@ -58,7 +62,15 @@ function applicationGenerator(host, options) {
|
|
|
58
62
|
(0, devkit_1.updateProjectConfiguration)(host, normalizedOptions.projectName, workspace);
|
|
59
63
|
addFiles(host, normalizedOptions);
|
|
60
64
|
if (normalizedOptions.unitTestRunner === 'jest') {
|
|
61
|
-
|
|
65
|
+
// `configurationGenerator` forwards its whole options object to `@nx/js`'s init
|
|
66
|
+
// generator, where `skipFormat` only guards the formatFiles call - `ensurePackage`
|
|
67
|
+
// for prettier still runs unless `formatter: 'none'` is set too. Since we already
|
|
68
|
+
// skip formatting here, also skip ensuring prettier: requiring the real prettier
|
|
69
|
+
// package from inside Jest's own module sandbox (i.e. when this generator runs in
|
|
70
|
+
// a unit test) crashes with "dynamic import callback ... without --experimental-vm-modules".
|
|
71
|
+
// `formatter` isn't part of JestProjectSchema's public type, so build the options
|
|
72
|
+
// object separately to avoid TypeScript's excess-property check on the call site.
|
|
73
|
+
const jestConfigOptions = {
|
|
62
74
|
project: normalizedOptions.projectName,
|
|
63
75
|
setupFile: 'none',
|
|
64
76
|
skipSerializers: true,
|
|
@@ -66,7 +78,9 @@ function applicationGenerator(host, options) {
|
|
|
66
78
|
babelJest: false,
|
|
67
79
|
testEnvironment: 'node',
|
|
68
80
|
skipFormat: true,
|
|
69
|
-
|
|
81
|
+
formatter: 'none',
|
|
82
|
+
};
|
|
83
|
+
const jestTask = yield (0, jest_1.configurationGenerator)(host, jestConfigOptions);
|
|
70
84
|
tasks.push(jestTask);
|
|
71
85
|
addJestFiles(host, normalizedOptions);
|
|
72
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/aws-cdk-v2/src/generators/application/application.ts"],"names":[],"mappings":";;;AAkEA,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/aws-cdk-v2/src/generators/application/application.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DeployExecutorSchema } from '../executors/deploy/schema';
|
|
2
2
|
import { ParsedExecutorInterface } from '../interfaces/parsed-executor.interface';
|
|
3
3
|
import { BootstrapExecutorSchema } from '../executors/bootstrap/schema';
|
|
4
|
+
import { SynthExecutorSchema } from '../executors/synth/schema';
|
|
4
5
|
export declare const executorPropKeys: string[];
|
|
5
6
|
export declare const LARGE_BUFFER: number;
|
|
6
7
|
export declare function generateCommandString(command: string, appPath: string): string;
|
|
7
|
-
export declare function parseArgs(options: DeployExecutorSchema | BootstrapExecutorSchema): Record<string, string | string[]>;
|
|
8
|
+
export declare function parseArgs(options: DeployExecutorSchema | BootstrapExecutorSchema | SynthExecutorSchema): Record<string, string | string[]>;
|
|
8
9
|
export declare function createCommand(command: string, options: ParsedExecutorInterface): string;
|
|
9
10
|
export declare function runCommandProcess(command: string, cwd: string): Promise<boolean>;
|
|
@@ -9,8 +9,11 @@ exports.runCommandProcess = runCommandProcess;
|
|
|
9
9
|
const tslib_1 = require("tslib");
|
|
10
10
|
const child_process_1 = require("child_process");
|
|
11
11
|
const devkit_1 = require("@nx/devkit");
|
|
12
|
-
const
|
|
12
|
+
const node_fs_1 = require("node:fs");
|
|
13
13
|
const path = tslib_1.__importStar(require("node:path"));
|
|
14
|
+
function getPackageJson(packageJsonPath) {
|
|
15
|
+
return (0, node_fs_1.existsSync)(packageJsonPath) ? (0, devkit_1.readJsonFile)(packageJsonPath) : {};
|
|
16
|
+
}
|
|
14
17
|
exports.executorPropKeys = ['stacks'];
|
|
15
18
|
exports.LARGE_BUFFER = 1024 * 1000000;
|
|
16
19
|
const NX_WORKSPACE_ROOT = (_a = process.env.NX_WORKSPACE_ROOT) !== null && _a !== void 0 ? _a : '';
|
|
@@ -22,18 +25,11 @@ function generateCommandString(command, appPath) {
|
|
|
22
25
|
const packageManagerExecutor = packageManager === 'npm' ? 'npx' : packageManager;
|
|
23
26
|
const projectPath = path.join(NX_WORKSPACE_ROOT, appPath);
|
|
24
27
|
const moduleType = getModuleType(projectPath);
|
|
28
|
+
const compileTsPart = moduleType === 'module' ? 'tsx' : `ts-node --require tsconfig-paths/register --project ${path.join(projectPath, 'tsconfig.app.json')}`;
|
|
25
29
|
// Determine the path to the app's entrypoint
|
|
26
30
|
const mainTsPath = path.join(projectPath, 'src', 'main.ts');
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// detected package manager executor.
|
|
30
|
-
const generatePath = moduleType === 'module'
|
|
31
|
-
? `node --loader ts-node/esm --require tsconfig-paths/register --project ${path.join(projectPath, 'tsconfig.app.json')} ${mainTsPath}`
|
|
32
|
-
: `${packageManagerExecutor} ts-node --require tsconfig-paths/register --project ${path.join(projectPath, 'tsconfig.app.json')} ${mainTsPath}`;
|
|
33
|
-
// Assemble the final CDK command. Use the locally installed aws-cdk CLI to avoid
|
|
34
|
-
// dependency on globally installed versions. The `-a` flag points to the generated
|
|
35
|
-
// command string for synthesizing the app.
|
|
36
|
-
return `${path.join(NX_WORKSPACE_ROOT, 'node_modules', 'aws-cdk', 'bin', 'cdk')} -a "${generatePath}" ${command}`;
|
|
31
|
+
const generatePath = `${packageManagerExecutor} ${compileTsPart} ${mainTsPath}`;
|
|
32
|
+
return `${packageManagerExecutor} cdk -a "${generatePath}" ${command}`;
|
|
37
33
|
}
|
|
38
34
|
function parseArgs(options) {
|
|
39
35
|
const keys = Object.keys(options);
|
|
@@ -107,12 +103,12 @@ function runCommandProcess(command, cwd) {
|
|
|
107
103
|
}
|
|
108
104
|
function getModuleType(projectPath) {
|
|
109
105
|
const packageJsonPath = path.join(NX_WORKSPACE_ROOT, projectPath, 'package.json');
|
|
110
|
-
const appPackageJson =
|
|
106
|
+
const appPackageJson = getPackageJson(packageJsonPath);
|
|
111
107
|
if (appPackageJson === null || appPackageJson === void 0 ? void 0 : appPackageJson.type) {
|
|
112
108
|
console.log('App Package Json', appPackageJson.type);
|
|
113
109
|
return appPackageJson.type;
|
|
114
110
|
}
|
|
115
|
-
const globalPackageJson =
|
|
111
|
+
const globalPackageJson = getPackageJson(path.join(NX_WORKSPACE_ROOT, 'package.json'));
|
|
116
112
|
console.log('Global Package Json', globalPackageJson.type);
|
|
117
113
|
return globalPackageJson.type;
|
|
118
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.util.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/executor.util.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"executor.util.js","sourceRoot":"","sources":["../../../../../packages/aws-cdk-v2/src/utils/executor.util.ts"],"names":[],"mappings":";;;;AAsBA,sDAWC;AAED,8BAUC;AAED,sCA0BC;AAED,8CA2CC;;AAtHD,iDAAqC;AAIrC,uCAAwE;AAGxE,qCAAqC;AACrC,wDAAkC;AAElC,SAAS,cAAc,CAAC,eAAuB;IAC7C,OAAO,IAAA,oBAAU,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAEY,QAAA,gBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,QAAA,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC;AAE3C,MAAM,iBAAiB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,EAAE,CAAC;AAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACvB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAe,EAAE,OAAe;IACpE,MAAM,cAAc,GAAG,IAAA,6BAAoB,GAAE,CAAC;IAC9C,MAAM,sBAAsB,GAAG,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;IAEjF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,uDAAuD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAC7J,6CAA6C;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,GAAG,sBAAsB,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;IAChF,OAAO,GAAG,sBAAsB,YAAY,YAAY,KAAK,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,SAAgB,SAAS,CACvB,OAA6E;IAE7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnB,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAuC,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,OAAgC;IAC7E,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvE,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAE/C,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAe,EAAE,GAAW;IAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,eAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,IAAA,oBAAI,EAAC,OAAO,EAAE;YACjC,SAAS,EAAE,oBAAY;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QAEH,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAEpD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB;IACxC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAChC,CAAC"}
|