@ng-atomic/executors 19.0.0-preview.36 → 19.1.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/package.json +12 -13
- package/src/deploy/impl.d.ts +1 -1
- package/src/deploy/impl.js +1 -2
- package/src/deploy/impl.js.map +1 -1
- package/src/elements/browser/impl.d.ts +1 -1
- package/src/elements/browser/impl.js +1 -2
- package/src/elements/browser/impl.js.map +1 -1
- package/src/elements/dev-server/impl.d.ts +1 -1
- package/src/elements/dev-server/impl.js +2 -3
- package/src/elements/dev-server/impl.js.map +1 -1
- package/src/package/impl.d.ts +9 -14
- package/src/package/impl.js +19 -55
- package/src/package/impl.js.map +1 -1
- package/src/test-setup.d.ts +0 -0
- package/src/test-setup.js +1 -0
- package/src/test-setup.js.map +1 -0
- package/vitest.config.d.ts +2 -0
- package/vitest.config.js +16 -0
- package/vitest.config.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-atomic/executors",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.1.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"builders": "./executors.json",
|
|
6
|
-
"
|
|
7
|
-
"@angular/
|
|
8
|
-
"@angular/
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"@
|
|
12
|
-
"
|
|
6
|
+
"peerDependencies": {
|
|
7
|
+
"@angular-devkit/architect": "0.1901.5",
|
|
8
|
+
"@angular-devkit/build-angular": "19.1.5",
|
|
9
|
+
"rxjs": "^7.8.0",
|
|
10
|
+
"webpack": "5.97.1",
|
|
11
|
+
"@nx/workspace": "20.4.0",
|
|
12
|
+
"@nx/angular": "20.4.0",
|
|
13
|
+
"ng-packagr": "19.1.2",
|
|
13
14
|
"rxjs-for-await": "^1.0.0",
|
|
14
|
-
"tslib": "^2.3.0"
|
|
15
|
-
"webpack": "5.76.1",
|
|
16
|
-
"zone.js": "0.12.0"
|
|
15
|
+
"tslib": "^2.3.0"
|
|
17
16
|
},
|
|
18
|
-
"
|
|
17
|
+
"dependencies": {},
|
|
19
18
|
"types": "./src/index.d.ts",
|
|
20
|
-
"
|
|
19
|
+
"main": "./src/index.js"
|
|
21
20
|
}
|
package/src/deploy/impl.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
|
|
2
2
|
import { Schema } from './schema';
|
|
3
3
|
export declare function executeDeploy(options: Schema, context: BuilderContext): Promise<BuilderOutput>;
|
|
4
|
-
declare const _default: import("@angular-devkit/architect
|
|
4
|
+
declare const _default: import("@angular-devkit/architect").Builder<any>;
|
|
5
5
|
export default _default;
|
package/src/deploy/impl.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.executeDeploy =
|
|
3
|
+
exports.executeDeploy = executeDeploy;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const architect_1 = require("@angular-devkit/architect");
|
|
6
6
|
const engine_1 = require("angular-cli-ghpages/engine/engine");
|
|
@@ -17,6 +17,5 @@ function executeDeploy(options, context) {
|
|
|
17
17
|
return { success: true };
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
exports.executeDeploy = executeDeploy;
|
|
21
20
|
exports.default = (0, architect_1.createBuilder)(executeDeploy);
|
|
22
21
|
//# sourceMappingURL=impl.js.map
|
package/src/deploy/impl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../packages/@ng-atomic/executors/src/deploy/impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../packages/@ng-atomic/executors/src/deploy/impl.ts"],"names":[],"mappings":";;AAIA,sCAUC;;AAdD,yDAAyF;AACzF,8DAAwD;AAGxD,SAAsB,aAAa,CAAC,OAAe,EAAE,OAAuB;;QAC1E,IAAI,CAAC;YACH,MAAM,IAAA,YAAG,EAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CAAA;AAED,kBAAe,IAAA,yBAAa,EAAM,aAAa,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BuilderOutput } from "@angular-devkit/architect";
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
export declare function executeBrowserBuilder(options: any, context: any): Observable<BuilderOutput>;
|
|
4
|
-
declare const _default: import("@angular-devkit/architect
|
|
4
|
+
declare const _default: import("@angular-devkit/architect").Builder<any>;
|
|
5
5
|
export default _default;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.executeBrowserBuilder =
|
|
3
|
+
exports.executeBrowserBuilder = executeBrowserBuilder;
|
|
4
4
|
const build_angular_1 = require("@angular-devkit/build-angular");
|
|
5
5
|
const architect_1 = require("@angular-devkit/architect");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
function executeBrowserBuilder(options, context) {
|
|
8
8
|
return (0, build_angular_1.executeBrowserBuilder)(options, context, (0, utils_1.transformsFactory)(options));
|
|
9
9
|
}
|
|
10
|
-
exports.executeBrowserBuilder = executeBrowserBuilder;
|
|
11
10
|
exports.default = (0, architect_1.createBuilder)(executeBrowserBuilder);
|
|
12
11
|
//# sourceMappingURL=impl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../../packages/@ng-atomic/executors/src/elements/browser/impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../../packages/@ng-atomic/executors/src/elements/browser/impl.ts"],"names":[],"mappings":";;AAKA,sDAEC;AAPD,iEAAgG;AAChG,yDAAyE;AAEzE,oCAA6C;AAE7C,SAAgB,qBAAqB,CAAC,OAAY,EAAE,OAAY;IAC9D,OAAO,IAAA,qCAAsB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,kBAAe,IAAA,yBAAa,EAAM,qBAAqB,CAAC,CAAC"}
|
|
@@ -3,5 +3,5 @@ import { BuilderContext, BuilderOutput } from "@angular-devkit/architect";
|
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
export declare function run(options: any, context: BuilderContext, executeBuilder: typeof executeDevServerBuilder): Observable<BuilderOutput>;
|
|
5
5
|
export declare function _executeDevServerBuilder(options: any, context: BuilderContext): Observable<BuilderOutput>;
|
|
6
|
-
declare const _default: import("@angular-devkit/architect
|
|
6
|
+
declare const _default: import("@angular-devkit/architect").Builder<any>;
|
|
7
7
|
export default _default;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.run = run;
|
|
4
|
+
exports._executeDevServerBuilder = _executeDevServerBuilder;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const build_angular_1 = require("@angular-devkit/build-angular");
|
|
6
7
|
const architect_1 = require("@angular-devkit/architect");
|
|
@@ -15,10 +16,8 @@ function run(options, context, executeBuilder) {
|
|
|
15
16
|
});
|
|
16
17
|
return (0, rxjs_1.from)(setup()).pipe((0, rxjs_1.switchMap)(() => executeBuilder(options, context, (0, utils_1.transformsFactory)(options)).pipe((0, rxjs_1.map)(output => output))));
|
|
17
18
|
}
|
|
18
|
-
exports.run = run;
|
|
19
19
|
function _executeDevServerBuilder(options, context) {
|
|
20
20
|
return run(options, context, build_angular_1.executeDevServerBuilder);
|
|
21
21
|
}
|
|
22
|
-
exports._executeDevServerBuilder = _executeDevServerBuilder;
|
|
23
22
|
exports.default = (0, architect_1.createBuilder)(_executeDevServerBuilder);
|
|
24
23
|
//# sourceMappingURL=impl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../../packages/@ng-atomic/executors/src/elements/dev-server/impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../../packages/@ng-atomic/executors/src/elements/dev-server/impl.ts"],"names":[],"mappings":";;AAMA,kBAiBC;AAED,4DAKC;;AA9BD,iEAAwE;AACxE,yDAAyF;AACzF,+BAAwD;AACxD,oCAA6C;AAC7C,yDAAmE;AAEnE,SAAgB,GAAG,CACjB,OAAY,EACZ,OAAuB,EACvB,cAA8C;IAE9C,MAAM,aAAa,GAAG,IAAA,kCAAsB,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,MAAM,iBAAiB,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC;IAEF,OAAO,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAChF,IAAA,UAAG,EAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CACtB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,OAAY,EACZ,OAAuB;IAEvB,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,uCAAuB,CAAC,CAAC;AACxD,CAAC;AAED,kBAAe,IAAA,yBAAa,EAAM,wBAAwB,CAAC,CAAC"}
|
package/src/package/impl.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import type { ExecutorContext } from '@
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
export declare function createLibraryExecutor(initializeNgPackagr: (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext, projectDependencies: DependentBuildableProjectNode[]) => Promise<NgPackagr>): (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext) => AsyncGenerator<{
|
|
1
|
+
import type { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
export interface BuildAngularLibraryExecutorOptions {
|
|
3
|
+
project: string;
|
|
4
|
+
tsConfig?: string;
|
|
5
|
+
tailwindConfig?: string;
|
|
6
|
+
watch?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function packageExecutor(options: BuildAngularLibraryExecutorOptions, context: ExecutorContext): Promise<{
|
|
11
9
|
success: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare const packageExecutor: (options: BuildAngularLibraryExecutorOptions, context: ExecutorContext) => AsyncGenerator<{
|
|
14
|
-
success: boolean;
|
|
15
|
-
}, any, undefined>;
|
|
10
|
+
}>;
|
|
16
11
|
export default packageExecutor;
|
package/src/package/impl.js
CHANGED
|
@@ -1,64 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.packageExecutor =
|
|
3
|
+
exports.packageExecutor = packageExecutor;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const options_di_1 = require("@nrwl/angular/src/executors/package/ng-packagr-adjustments/ng-package/options.di");
|
|
9
|
-
const package_di_1 = require("@nrwl/angular/src/executors/package/ng-packagr-adjustments/ng-package/package.di");
|
|
10
|
-
const path_1 = require("path");
|
|
11
|
-
const rxjs_1 = require("rxjs");
|
|
12
|
-
const rxjs_for_await_1 = require("rxjs-for-await");
|
|
13
|
-
const operators_1 = require("rxjs/operators");
|
|
14
|
-
function initializeNgPackagr(options, context, projectDependencies) {
|
|
5
|
+
// Temporary implementation to fix build errors
|
|
6
|
+
// TODO: Migrate to latest Nx API
|
|
7
|
+
function packageExecutor(options, context) {
|
|
15
8
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
watch: options.watch,
|
|
22
|
-
}),
|
|
23
|
-
]);
|
|
24
|
-
console.debug('ptoject:', options.project);
|
|
25
|
-
packager.forProject((0, path_1.resolve)(context.root, options.project));
|
|
26
|
-
packager.withBuildTransform(package_di_1.NX_PACKAGE_TRANSFORM.provide);
|
|
9
|
+
console.warn('Package executor needs to be updated to latest Nx API');
|
|
10
|
+
// For now, just run ng-packagr directly
|
|
11
|
+
const { NgPackagr } = yield Promise.resolve().then(() => tslib_1.__importStar(require('ng-packagr')));
|
|
12
|
+
const packager = new NgPackagr([]);
|
|
13
|
+
packager.forProject(options.project);
|
|
27
14
|
if (options.tsConfig) {
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
packager.withTsConfig(options.tsConfig);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
yield packager.build();
|
|
19
|
+
return { success: true };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error('Build failed:', error);
|
|
23
|
+
return { success: false };
|
|
30
24
|
}
|
|
31
|
-
return packager;
|
|
32
25
|
});
|
|
33
26
|
}
|
|
34
|
-
|
|
35
|
-
* Creates an executor function that executes the library build of an Angular
|
|
36
|
-
* package using ng-packagr.
|
|
37
|
-
* @param initializeNgPackagr function that returns an ngPackagr instance to use for the build.
|
|
38
|
-
*/
|
|
39
|
-
function createLibraryExecutor(initializeNgPackagr) {
|
|
40
|
-
return function (options, context) {
|
|
41
|
-
return tslib_1.__asyncGenerator(this, arguments, function* () {
|
|
42
|
-
const { target, dependencies, topLevelDependencies } = (0, buildable_libs_utils_1.calculateProjectDependencies)((0, devkit_1.readCachedProjectGraph)(), context.root, context.projectName, context.targetName, context.configurationName);
|
|
43
|
-
if (!(0, buildable_libs_utils_1.checkDependentProjectsHaveBeenBuilt)(context.root, context.projectName, context.targetName, dependencies)) {
|
|
44
|
-
return yield tslib_1.__await(Promise.resolve({ success: false }));
|
|
45
|
-
}
|
|
46
|
-
function updatePackageJson() {
|
|
47
|
-
if (topLevelDependencies.length > 0 &&
|
|
48
|
-
options.updateBuildableProjectDepsInPackageJson) {
|
|
49
|
-
(0, buildable_libs_utils_1.updateBuildableProjectPackageJsonDependencies)(context.root, context.projectName, context.targetName, context.configurationName, target, topLevelDependencies, options.buildableProjectDepsInPackageJsonType);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (options.watch) {
|
|
53
|
-
return yield tslib_1.__await(yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues((0, rxjs_for_await_1.eachValueFrom)((0, rxjs_1.from)(initializeNgPackagr(options, context, dependencies)).pipe((0, operators_1.switchMap)((packagr) => packagr.watch()), (0, operators_1.tap)(() => updatePackageJson()), (0, operators_1.mapTo)({ success: true })))))));
|
|
54
|
-
}
|
|
55
|
-
return yield tslib_1.__await((0, rxjs_1.from)(initializeNgPackagr(options, context, dependencies))
|
|
56
|
-
.pipe((0, operators_1.switchMap)((packagr) => packagr.build()), (0, operators_1.tap)(() => updatePackageJson()), (0, operators_1.mapTo)({ success: true }))
|
|
57
|
-
.toPromise());
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
exports.createLibraryExecutor = createLibraryExecutor;
|
|
62
|
-
exports.packageExecutor = createLibraryExecutor(initializeNgPackagr);
|
|
63
|
-
exports.default = exports.packageExecutor;
|
|
27
|
+
exports.default = packageExecutor;
|
|
64
28
|
//# sourceMappingURL=impl.js.map
|
package/src/package/impl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../packages/@ng-atomic/executors/src/package/impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../../../packages/@ng-atomic/executors/src/package/impl.ts"],"names":[],"mappings":";;AAWA,0CAuBC;;AAzBD,+CAA+C;AAC/C,iCAAiC;AACjC,SAAsB,eAAe,CACnC,OAA2C,EAC3C,OAAwB;;QAExB,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAEtE,wCAAwC;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,gEAAa,YAAY,GAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;QAEnC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;CAAA;AAED,kBAAe,eAAe,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=test-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../../../packages/@ng-atomic/executors/src/test-setup.ts"],"names":[],"mappings":""}
|
package/vitest.config.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_1 = require("vitest/config");
|
|
4
|
+
const nx_tsconfig_paths_plugin_1 = require("@nx/vite/plugins/nx-tsconfig-paths.plugin");
|
|
5
|
+
exports.default = (0, config_1.defineConfig)({
|
|
6
|
+
plugins: [(0, nx_tsconfig_paths_plugin_1.nxViteTsPaths)()],
|
|
7
|
+
cacheDir: '../../../node_modules/.vite/@ng-atomic-executors',
|
|
8
|
+
test: {
|
|
9
|
+
globals: true,
|
|
10
|
+
environment: 'jsdom',
|
|
11
|
+
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
12
|
+
setupFiles: ['src/test-setup.ts'],
|
|
13
|
+
passWithNoTests: true,
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../../../../packages/@ng-atomic/executors/vitest.config.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAC7C,wFAA0E;AAE1E,kBAAe,IAAA,qBAAY,EAAC;IAC1B,OAAO,EAAE,CAAC,IAAA,wCAAa,GAAE,CAAC;IAC1B,QAAQ,EAAE,kDAAkD;IAC5D,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,CAAC,sDAAsD,CAAC;QACjE,UAAU,EAAE,CAAC,mBAAmB,CAAC;QACjC,eAAe,EAAE,IAAI;KACtB;CACF,CAAC,CAAC"}
|