@analogjs/vite-plugin-angular 0.2.0-alpha.0 → 0.2.0-alpha.1
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 +1 -1
- package/src/lib/angular-vite-plugin.d.ts +2 -4
- package/src/lib/angular-vite-plugin.js +207 -103
- package/src/lib/angular-vite-plugin.js.map +1 -1
- package/src/lib/component-resolvers.d.ts +4 -0
- package/src/lib/component-resolvers.js +35 -0
- package/src/lib/component-resolvers.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { BundleStylesheetOptions } from '@angular-devkit/build-angular/src/builders/browser-esbuild/stylesheets';
|
|
2
1
|
import * as ts from 'typescript';
|
|
3
2
|
import { Plugin } from 'vite';
|
|
4
3
|
interface PluginOptions {
|
|
5
4
|
tsconfig: string;
|
|
6
|
-
|
|
7
|
-
advancedOptimizations: boolean;
|
|
5
|
+
mode: string;
|
|
8
6
|
}
|
|
9
7
|
interface EmitFileResult {
|
|
10
8
|
content?: string;
|
|
@@ -13,6 +11,6 @@ interface EmitFileResult {
|
|
|
13
11
|
hash?: Uint8Array;
|
|
14
12
|
}
|
|
15
13
|
declare type FileEmitter = (file: string) => Promise<EmitFileResult | undefined>;
|
|
16
|
-
export declare function angular(pluginOptions?: PluginOptions
|
|
14
|
+
export declare function angular(pluginOptions?: PluginOptions): Plugin[];
|
|
17
15
|
export declare function createFileEmitter(program: ts.BuilderProgram, transformers?: ts.CustomTransformers, onAfterEmit?: (sourceFile: ts.SourceFile) => void): FileEmitter;
|
|
18
16
|
export {};
|
|
@@ -4,16 +4,14 @@ exports.createFileEmitter = exports.angular = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@babel/core");
|
|
6
6
|
const application_1 = require("@angular-devkit/build-angular/src/babel/presets/application");
|
|
7
|
+
const webpack_loader_1 = require("@angular-devkit/build-angular/src/babel/webpack-loader");
|
|
7
8
|
const ts = require("typescript");
|
|
8
9
|
const compiler_plugin_1 = require("@angular-devkit/build-angular/src/builders/browser-esbuild/compiler-plugin");
|
|
9
10
|
const load_esm_1 = require("@angular-devkit/build-angular/src/utils/load-esm");
|
|
11
|
+
const component_resolvers_1 = require("./component-resolvers");
|
|
10
12
|
function angular(pluginOptions = {
|
|
11
13
|
tsconfig: './tsconfig.app.json',
|
|
12
|
-
|
|
13
|
-
advancedOptimizations: false,
|
|
14
|
-
}, styleOptions = {
|
|
15
|
-
optimization: false,
|
|
16
|
-
sourcemap: true,
|
|
14
|
+
mode: 'development',
|
|
17
15
|
}) {
|
|
18
16
|
// The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files
|
|
19
17
|
let fileEmitter;
|
|
@@ -29,109 +27,215 @@ function angular(pluginOptions = {
|
|
|
29
27
|
let builderProgram;
|
|
30
28
|
let watchMode = false;
|
|
31
29
|
let sourceFileCache = new SourceFileCache();
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
outDir: undefined,
|
|
62
|
-
inlineSources: pluginOptions.sourcemap,
|
|
63
|
-
inlineSourceMap: pluginOptions.sourcemap,
|
|
64
|
-
sourceMap: false,
|
|
65
|
-
mapRoot: undefined,
|
|
66
|
-
sourceRoot: undefined,
|
|
67
|
-
declaration: false,
|
|
68
|
-
declarationMap: false,
|
|
69
|
-
allowEmptyCodegenFiles: false,
|
|
70
|
-
annotationsAs: 'decorators',
|
|
71
|
-
enableResourceInlining: false,
|
|
30
|
+
let isProd = pluginOptions.mode === 'production';
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
name: '@analogjs/vite-plugin-angular',
|
|
34
|
+
config(config, { command }) {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
watchMode = command === 'serve';
|
|
37
|
+
compilerCli = yield (0, load_esm_1.loadEsmModule)('@angular/compiler-cli');
|
|
38
|
+
return {
|
|
39
|
+
optimizeDeps: {
|
|
40
|
+
esbuildOptions: {
|
|
41
|
+
plugins: [
|
|
42
|
+
(0, compiler_plugin_1.createCompilerPlugin)({
|
|
43
|
+
tsconfig: pluginOptions.tsconfig,
|
|
44
|
+
sourcemap: !isProd,
|
|
45
|
+
advancedOptimizations: isProd,
|
|
46
|
+
}, {
|
|
47
|
+
sourcemap: false,
|
|
48
|
+
optimization: isProd,
|
|
49
|
+
}),
|
|
50
|
+
],
|
|
51
|
+
define: {
|
|
52
|
+
ngDevMode: watchMode ? JSON.stringify({}) : 'false',
|
|
53
|
+
ngJitMode: 'false',
|
|
54
|
+
ngI18nClosureMode: 'false',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
72
59
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
60
|
+
},
|
|
61
|
+
buildStart() {
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const { options: tsCompilerOptions, rootNames: rn } = compilerCli.readConfiguration(pluginOptions.tsconfig, {
|
|
64
|
+
enableIvy: true,
|
|
65
|
+
noEmitOnError: false,
|
|
66
|
+
suppressOutputPathCheck: true,
|
|
67
|
+
outDir: undefined,
|
|
68
|
+
inlineSources: !isProd,
|
|
69
|
+
inlineSourceMap: !isProd,
|
|
70
|
+
sourceMap: false,
|
|
71
|
+
mapRoot: undefined,
|
|
72
|
+
sourceRoot: undefined,
|
|
73
|
+
declaration: false,
|
|
74
|
+
declarationMap: false,
|
|
75
|
+
allowEmptyCodegenFiles: false,
|
|
76
|
+
annotationsAs: 'decorators',
|
|
77
|
+
enableResourceInlining: false,
|
|
78
|
+
});
|
|
79
|
+
rootNames = rn;
|
|
80
|
+
compilerOptions = tsCompilerOptions;
|
|
81
|
+
host = ts.createIncrementalCompilerHost(compilerOptions);
|
|
82
|
+
// Setup source file caching and reuse cache from previous compilation if present
|
|
83
|
+
let cache = new SourceFileCache();
|
|
84
|
+
// Only store cache if in watch mode
|
|
85
|
+
if (watchMode) {
|
|
86
|
+
sourceFileCache = cache;
|
|
87
|
+
}
|
|
88
|
+
augmentHostWithCaching(host, cache);
|
|
90
89
|
yield buildAndAnalyze();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
handleHotUpdate(ctx) {
|
|
93
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
if (/\.[cm]?tsx?$/.test(ctx.file)) {
|
|
95
|
+
sourceFileCache.invalidate(ctx.file);
|
|
96
|
+
yield buildAndAnalyze();
|
|
97
|
+
}
|
|
98
|
+
if (/\.(html|htm|css|less|sass|scss)$/.test(ctx.file)) {
|
|
99
|
+
let mods = [];
|
|
100
|
+
ctx.modules.forEach((mod) => {
|
|
101
|
+
mod.importers.forEach((imp) => {
|
|
102
|
+
sourceFileCache.invalidate(imp.id);
|
|
103
|
+
ctx.server.moduleGraph.invalidateModule(imp);
|
|
104
|
+
mods.push(imp);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
yield buildAndAnalyze();
|
|
108
|
+
return mods;
|
|
109
|
+
}
|
|
110
|
+
return ctx.modules;
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
transform(code, id) {
|
|
114
|
+
var _a, _b;
|
|
115
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
// Skip transforming node_modules
|
|
117
|
+
if (id.includes('node_modules')) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (/\.[cm]?tsx?$/.test(id)) {
|
|
121
|
+
if ((0, component_resolvers_1.hasTemplateUrl)(code)) {
|
|
122
|
+
const templateUrl = (0, component_resolvers_1.resolveTemplateUrl)(code, id);
|
|
123
|
+
if (templateUrl) {
|
|
124
|
+
this.addWatchFile(templateUrl);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if ((0, component_resolvers_1.hasStyleUrls)(code)) {
|
|
128
|
+
const styleUrls = (0, component_resolvers_1.resolveStyleUrls)(code, id);
|
|
129
|
+
styleUrls.forEach((styleUrl) => {
|
|
130
|
+
this.addWatchFile(styleUrl);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const typescriptResult = yield fileEmitter(id);
|
|
134
|
+
// return fileEmitter
|
|
135
|
+
const data = (_a = typescriptResult === null || typescriptResult === void 0 ? void 0 : typescriptResult.content) !== null && _a !== void 0 ? _a : '';
|
|
136
|
+
const babelResult = yield (0, core_1.transformAsync)(data, {
|
|
137
|
+
filename: id,
|
|
138
|
+
inputSourceMap: (!isProd ? undefined : false),
|
|
139
|
+
sourceMaps: !isProd ? 'inline' : false,
|
|
140
|
+
compact: false,
|
|
141
|
+
configFile: false,
|
|
142
|
+
babelrc: false,
|
|
143
|
+
browserslistConfigFile: false,
|
|
144
|
+
plugins: [],
|
|
145
|
+
presets: [
|
|
146
|
+
[
|
|
147
|
+
application_1.default,
|
|
148
|
+
{
|
|
149
|
+
forceAsyncTransformation: data.includes('async'),
|
|
150
|
+
optimize: isProd && {},
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
],
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
code: (_b = babelResult === null || babelResult === void 0 ? void 0 : babelResult.code) !== null && _b !== void 0 ? _b : '',
|
|
157
|
+
map: babelResult === null || babelResult === void 0 ? void 0 : babelResult.map,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
});
|
|
162
|
+
},
|
|
93
163
|
},
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
164
|
+
{
|
|
165
|
+
name: '@analogjs/vite-plugin-angular-optimizer',
|
|
166
|
+
apply: 'build',
|
|
167
|
+
config() {
|
|
168
|
+
return {
|
|
169
|
+
esbuild: {
|
|
170
|
+
minify: isProd,
|
|
171
|
+
minifyIdentifiers: true,
|
|
172
|
+
minifySyntax: true,
|
|
173
|
+
// NOTE: Disabling whitespace ensures unused pure annotations are kept
|
|
174
|
+
minifyWhitespace: false,
|
|
175
|
+
pure: ['forwardRef'],
|
|
176
|
+
legalComments: 'none',
|
|
177
|
+
// sourcefile: 'name',
|
|
178
|
+
sourcemap: !isProd,
|
|
179
|
+
define: {
|
|
180
|
+
ngDevMode: 'false',
|
|
181
|
+
ngJitMode: 'false',
|
|
182
|
+
ngI18nClosureMode: 'false',
|
|
183
|
+
},
|
|
184
|
+
// This option should always be disabled for browser builds as we don't rely on `.name`
|
|
185
|
+
// and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues.
|
|
186
|
+
// We enable `keepNames` only for server builds as Domino relies on `.name`.
|
|
187
|
+
// Once we no longer rely on Domino for SSR we should be able to remove this.
|
|
188
|
+
keepNames: false,
|
|
189
|
+
target: 'es2020',
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
},
|
|
193
|
+
transform(code, id) {
|
|
194
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
if (/\.[cm]?js$/.test(id)) {
|
|
196
|
+
const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(id);
|
|
197
|
+
const linkerPluginCreator = (yield (0, load_esm_1.loadEsmModule)('@angular/compiler-cli/linker/babel')).createEs2015LinkerPlugin;
|
|
198
|
+
const useInputSourcemap = !isProd;
|
|
199
|
+
const result = yield (0, core_1.transformAsync)(code, {
|
|
200
|
+
filename: id,
|
|
201
|
+
inputSourceMap: (useInputSourcemap
|
|
202
|
+
? undefined
|
|
203
|
+
: false),
|
|
204
|
+
sourceMaps: !isProd ? 'inline' : false,
|
|
205
|
+
compact: false,
|
|
206
|
+
configFile: false,
|
|
207
|
+
babelrc: false,
|
|
208
|
+
browserslistConfigFile: false,
|
|
209
|
+
plugins: [],
|
|
210
|
+
presets: [
|
|
211
|
+
[
|
|
212
|
+
application_1.default,
|
|
213
|
+
{
|
|
214
|
+
angularLinker: {
|
|
215
|
+
shouldLink: yield (0, webpack_loader_1.requiresLinking)(id, code),
|
|
216
|
+
jitMode: false,
|
|
217
|
+
linkerPluginCreator,
|
|
218
|
+
},
|
|
219
|
+
forceAsyncTransformation: !/[\\/][_f]?esm2015[\\/]/.test(id) &&
|
|
220
|
+
code.includes('async'),
|
|
221
|
+
optimize: isProd && {
|
|
222
|
+
looseEnums: angularPackage,
|
|
223
|
+
pureTopLevel: angularPackage,
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
],
|
|
123
227
|
],
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
228
|
+
});
|
|
229
|
+
return {
|
|
230
|
+
code: (result === null || result === void 0 ? void 0 : result.code) || '',
|
|
231
|
+
map: result === null || result === void 0 ? void 0 : result.map,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
return;
|
|
235
|
+
});
|
|
236
|
+
},
|
|
133
237
|
},
|
|
134
|
-
|
|
238
|
+
];
|
|
135
239
|
/**
|
|
136
240
|
* Creates a new NgtscProgram to analyze/re-analyze
|
|
137
241
|
* the source files and create a file emitter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":";;;;AACA,sCAA6C;AAC7C,6FAAmG;
|
|
1
|
+
{"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function hasStyleUrls(code: string): boolean;
|
|
2
|
+
export declare function resolveStyleUrls(code: string, id: string): string[];
|
|
3
|
+
export declare function hasTemplateUrl(code: string): boolean;
|
|
4
|
+
export declare function resolveTemplateUrl(code: string, id: string): string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveTemplateUrl = exports.hasTemplateUrl = exports.resolveStyleUrls = exports.hasStyleUrls = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const styleUrlsRE = /styleUrls\s*:\s*\[([^\[]*?)\]/;
|
|
6
|
+
const templateUrlRE = /\s*templateUrl\s*:\s*["|']*?["|'].*/;
|
|
7
|
+
function hasStyleUrls(code) {
|
|
8
|
+
return styleUrlsRE.test(code);
|
|
9
|
+
}
|
|
10
|
+
exports.hasStyleUrls = hasStyleUrls;
|
|
11
|
+
function resolveStyleUrls(code, id) {
|
|
12
|
+
const styleUrlsGroup = styleUrlsRE.exec(code);
|
|
13
|
+
if (Array.isArray(styleUrlsGroup) && styleUrlsGroup[0]) {
|
|
14
|
+
const styleUrls = styleUrlsGroup[0].replace(/(styleUrls|\:|\s|\[|\]|"|')/g, '');
|
|
15
|
+
const styleUrlPaths = (styleUrls === null || styleUrls === void 0 ? void 0 : styleUrls.split(',')) || [];
|
|
16
|
+
return styleUrlPaths.map(styleUrlPath => (0, path_1.resolve)((0, path_1.dirname)(id), styleUrlPath));
|
|
17
|
+
}
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
exports.resolveStyleUrls = resolveStyleUrls;
|
|
21
|
+
function hasTemplateUrl(code) {
|
|
22
|
+
return templateUrlRE.test(code);
|
|
23
|
+
}
|
|
24
|
+
exports.hasTemplateUrl = hasTemplateUrl;
|
|
25
|
+
function resolveTemplateUrl(code, id) {
|
|
26
|
+
const templateUrlGroup = templateUrlRE.exec(code);
|
|
27
|
+
let templateUrlPath = '';
|
|
28
|
+
if (Array.isArray(templateUrlGroup) && templateUrlGroup[0]) {
|
|
29
|
+
const resolvedTemplatePath = templateUrlGroup[0].replace(/templateUrl|\s|'|"|\:|,/g, '');
|
|
30
|
+
templateUrlPath = (0, path_1.resolve)((0, path_1.dirname)(id), resolvedTemplatePath);
|
|
31
|
+
}
|
|
32
|
+
return templateUrlPath;
|
|
33
|
+
}
|
|
34
|
+
exports.resolveTemplateUrl = resolveTemplateUrl;
|
|
35
|
+
//# sourceMappingURL=component-resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAExC,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAE5D,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,EAAU;IACvD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;QAElD,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAXD,4CAWC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,EAAU;IACzD,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC1D,MAAM,oBAAoB,GAAG,gBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC1F,eAAe,GAAG,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;KAC9D;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAVD,gDAUC"}
|