@nlabs/lex 1.47.0 → 1.47.2
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/dist/LexConfig.d.ts +79 -0
- package/dist/LexConfig.js +13 -3
- package/dist/commands/ai/ai.d.ts +17 -0
- package/dist/commands/ai/ai.js +10 -10
- package/dist/commands/ai/index.d.ts +8 -0
- package/dist/commands/ai/index.js +1 -1
- package/dist/commands/build/build.cli.test.d.ts +5 -0
- package/dist/commands/build/build.d.ts +18 -0
- package/dist/commands/build/build.integration.test.d.ts +1 -0
- package/dist/commands/build/build.js +58 -8
- package/dist/commands/build/build.options.test.d.ts +5 -0
- package/dist/commands/clean/clean.cli.test.d.ts +1 -0
- package/dist/commands/clean/clean.d.ts +7 -0
- package/dist/commands/clean/clean.integration.test.d.ts +1 -0
- package/dist/commands/clean/clean.options.test.d.ts +1 -0
- package/dist/commands/compile/compile.cli.test.d.ts +1 -0
- package/dist/commands/compile/compile.d.ts +2 -0
- package/dist/commands/compile/compile.integration.test.d.ts +1 -0
- package/dist/commands/compile/compile.js +50 -6
- package/dist/commands/compile/compile.options.test.d.ts +1 -0
- package/dist/commands/config/config.cli.test.d.ts +1 -0
- package/dist/commands/config/config.d.ts +7 -0
- package/dist/commands/config/config.integration.test.d.ts +1 -0
- package/dist/commands/config/config.options.test.d.ts +1 -0
- package/dist/commands/copy/copy.cli.test.d.ts +1 -0
- package/dist/commands/copy/copy.d.ts +6 -0
- package/dist/commands/copy/copy.integration.test.d.ts +1 -0
- package/dist/commands/copy/copy.options.test.d.ts +1 -0
- package/dist/commands/create/create.cli.test.d.ts +1 -0
- package/dist/commands/create/create.d.ts +8 -0
- package/dist/commands/create/create.integration.test.d.ts +1 -0
- package/dist/commands/create/create.options.test.d.ts +1 -0
- package/dist/commands/dev/dev.cli.test.d.ts +1 -0
- package/dist/commands/dev/dev.d.ts +11 -0
- package/dist/commands/dev/dev.integration.test.d.ts +1 -0
- package/dist/commands/dev/dev.options.test.d.ts +1 -0
- package/dist/commands/init/init.cli.test.d.ts +1 -0
- package/dist/commands/init/init.d.ts +9 -0
- package/dist/commands/init/init.integration.test.d.ts +1 -0
- package/dist/commands/init/init.options.test.d.ts +1 -0
- package/dist/commands/link/link.cli.test.d.ts +1 -0
- package/dist/commands/link/link.d.ts +6 -0
- package/dist/commands/link/link.integration.test.d.ts +1 -0
- package/dist/commands/link/link.options.test.d.ts +1 -0
- package/dist/commands/lint/autofix.d.ts +2 -0
- package/dist/commands/lint/lint.cli.test.d.ts +1 -0
- package/dist/commands/lint/lint.d.ts +39 -0
- package/dist/commands/lint/lint.integration.test.d.ts +1 -0
- package/dist/commands/lint/lint.js +198 -34
- package/dist/commands/lint/lint.options.test.d.ts +1 -0
- package/dist/commands/migrate/migrate.cli.test.d.ts +1 -0
- package/dist/commands/migrate/migrate.d.ts +7 -0
- package/dist/commands/migrate/migrate.integration.test.d.ts +1 -0
- package/dist/commands/migrate/migrate.options.test.d.ts +1 -0
- package/dist/commands/publish/publish.cli.test.d.ts +1 -0
- package/dist/commands/publish/publish.d.ts +12 -0
- package/dist/commands/publish/publish.integration.test.d.ts +1 -0
- package/dist/commands/publish/publish.options.test.d.ts +1 -0
- package/dist/commands/test/test.cli.test.d.ts +1 -0
- package/dist/commands/test/test.d.ts +50 -0
- package/dist/commands/test/test.integration.test.d.ts +1 -0
- package/dist/commands/test/test.js +5 -5
- package/dist/commands/test/test.options.test.d.ts +1 -0
- package/dist/commands/test/test.test.d.ts +1 -0
- package/dist/commands/update/update.cli.test.d.ts +1 -0
- package/dist/commands/update/update.d.ts +9 -0
- package/dist/commands/update/update.integration.test.d.ts +1 -0
- package/dist/commands/update/update.js +92 -23
- package/dist/commands/update/update.options.test.d.ts +1 -0
- package/dist/commands/upgrade/upgrade.cli.test.d.ts +1 -0
- package/dist/commands/upgrade/upgrade.d.ts +7 -0
- package/dist/commands/upgrade/upgrade.integration.test.d.ts +1 -0
- package/dist/commands/upgrade/upgrade.options.test.d.ts +1 -0
- package/dist/commands/versions/versions.cli.test.d.ts +1 -0
- package/dist/commands/versions/versions.d.ts +13 -0
- package/dist/commands/versions/versions.integration.test.d.ts +1 -0
- package/dist/commands/versions/versions.options.test.d.ts +1 -0
- package/dist/create/changelog.d.ts +6 -0
- package/dist/index.d.ts +31 -0
- package/dist/lex.d.ts +2 -0
- package/dist/types.d.ts +5 -0
- package/dist/utils/aiService.d.ts +9 -0
- package/dist/utils/aiService.js +17 -8
- package/dist/utils/app.d.ts +41 -0
- package/dist/utils/app.js +51 -1
- package/dist/utils/file.d.ts +3 -0
- package/dist/utils/file.js +18 -3
- package/dist/utils/log.d.ts +1 -0
- package/dist/utils/reactShim.d.ts +2 -0
- package/eslint.config.js +1 -6
- package/jest.config.lex.js +22 -26
- package/package.json +22 -19
- package/resolver.cjs +125 -14
- /package/{dist/jest.config.lex.d.ts → jest.config.lex.d.ts} +0 -0
- /package/{dist/webpack.config.d.ts → webpack.config.d.ts} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface PublishOptions {
|
|
2
|
+
readonly bump?: string;
|
|
3
|
+
readonly cliName?: string;
|
|
4
|
+
readonly newVersion?: string;
|
|
5
|
+
readonly otp?: string;
|
|
6
|
+
readonly packageManager?: string;
|
|
7
|
+
readonly private?: boolean;
|
|
8
|
+
readonly quiet?: boolean;
|
|
9
|
+
readonly tag?: string;
|
|
10
|
+
}
|
|
11
|
+
export type PublishCallback = typeof process.exit;
|
|
12
|
+
export declare const publish: (cmd: PublishOptions, callback?: PublishCallback) => Promise<number>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface TestOptions {
|
|
2
|
+
readonly analyze?: boolean;
|
|
3
|
+
readonly aiDebug?: boolean;
|
|
4
|
+
readonly aiGenerate?: boolean;
|
|
5
|
+
readonly aiAnalyze?: boolean;
|
|
6
|
+
readonly bail?: boolean;
|
|
7
|
+
readonly changedFilesWithAncestor?: boolean;
|
|
8
|
+
readonly changedSince?: string;
|
|
9
|
+
readonly ci?: boolean;
|
|
10
|
+
readonly cliName?: string;
|
|
11
|
+
readonly collectCoverageFrom?: string;
|
|
12
|
+
readonly colors?: boolean;
|
|
13
|
+
readonly config?: string;
|
|
14
|
+
readonly debug?: boolean;
|
|
15
|
+
readonly debugTests?: boolean;
|
|
16
|
+
readonly detectOpenHandles?: boolean;
|
|
17
|
+
readonly env?: string;
|
|
18
|
+
readonly errorOnDeprecated?: boolean;
|
|
19
|
+
readonly expand?: boolean;
|
|
20
|
+
readonly forceExit?: boolean;
|
|
21
|
+
readonly generate?: boolean;
|
|
22
|
+
readonly json?: boolean;
|
|
23
|
+
readonly lastCommit?: boolean;
|
|
24
|
+
readonly listTests?: boolean;
|
|
25
|
+
readonly logHeapUsage?: boolean;
|
|
26
|
+
readonly maxWorkers?: string;
|
|
27
|
+
readonly noStackTrace?: boolean;
|
|
28
|
+
readonly notify?: boolean;
|
|
29
|
+
readonly onlyChanged?: boolean;
|
|
30
|
+
readonly outputFile?: string;
|
|
31
|
+
readonly passWithNoTests?: boolean;
|
|
32
|
+
readonly quiet?: boolean;
|
|
33
|
+
readonly removeCache?: boolean;
|
|
34
|
+
readonly runInBand?: boolean;
|
|
35
|
+
readonly setup?: string;
|
|
36
|
+
readonly showConfig?: boolean;
|
|
37
|
+
readonly silent?: boolean;
|
|
38
|
+
readonly testLocationInResults?: boolean;
|
|
39
|
+
readonly testNamePattern?: string;
|
|
40
|
+
readonly testPathPattern?: string;
|
|
41
|
+
readonly update?: boolean;
|
|
42
|
+
readonly useStderr?: boolean;
|
|
43
|
+
readonly verbose?: boolean;
|
|
44
|
+
readonly watch?: string;
|
|
45
|
+
readonly watchAll?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export type TestCallback = typeof process.exit;
|
|
48
|
+
export declare const getTestFilePatterns: (testPathPattern?: string) => string[];
|
|
49
|
+
export declare const test: (options: TestOptions, args: string[], callback?: TestCallback) => Promise<number>;
|
|
50
|
+
export default test;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -9,7 +9,7 @@ import { relativeNodePath } from "../../utils/file.js";
|
|
|
9
9
|
import { log } from "../../utils/log.js";
|
|
10
10
|
import { aiFunction } from "../ai/ai.js";
|
|
11
11
|
const getTestFilePatterns = (testPathPattern) => {
|
|
12
|
-
const defaultPatterns = ["**/*.test.*", "**/*.spec.*"];
|
|
12
|
+
const defaultPatterns = ["**/*.test.*", "**/*.spec.*", "**/*.integration.*"];
|
|
13
13
|
if (!testPathPattern) {
|
|
14
14
|
return defaultPatterns;
|
|
15
15
|
}
|
|
@@ -218,7 +218,7 @@ Please create comprehensive tests that cover the main functionality. Include tes
|
|
|
218
218
|
jestOptions.push("--testNamePattern", testNamePattern);
|
|
219
219
|
}
|
|
220
220
|
if (testPathPattern) {
|
|
221
|
-
jestOptions.push("--
|
|
221
|
+
jestOptions.push("--testPathPatterns", testPathPattern);
|
|
222
222
|
}
|
|
223
223
|
if (useStderr) {
|
|
224
224
|
jestOptions.push("--useStderr");
|
|
@@ -258,7 +258,7 @@ Please create comprehensive tests that cover the main functionality. Include tes
|
|
|
258
258
|
const filePatterns = getTestFilePatterns(testPathPattern);
|
|
259
259
|
await aiFunction({
|
|
260
260
|
prompt: `Analyze these Jest test results and suggest test coverage improvements:
|
|
261
|
-
|
|
261
|
+
|
|
262
262
|
${JSON.stringify(testResults, null, 2)}
|
|
263
263
|
|
|
264
264
|
Test patterns: ${filePatterns.join(", ")}
|
|
@@ -292,7 +292,7 @@ ${cliName} Error: Check for unit test errors and/or coverage.`, "error", quiet);
|
|
|
292
292
|
const testResults = processTestResults(tempOutputFile);
|
|
293
293
|
await aiFunction({
|
|
294
294
|
prompt: `Debug these failed Jest tests and suggest fixes:
|
|
295
|
-
|
|
295
|
+
|
|
296
296
|
${JSON.stringify(error.message, null, 2)}
|
|
297
297
|
|
|
298
298
|
Test results: ${JSON.stringify(testResults, null, 2)}
|
|
@@ -324,4 +324,4 @@ export {
|
|
|
324
324
|
getTestFilePatterns,
|
|
325
325
|
test
|
|
326
326
|
};
|
|
327
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Rlc3QvdGVzdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVhZEZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3N5bmMgYXMgZ2xvYlN5bmN9IGZyb20gJ2dsb2InO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7VVJMfSBmcm9tICd1cmwnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Bpbm5lcn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7cmVsYXRpdmVOb2RlUGF0aH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcbmltcG9ydCB7YWlGdW5jdGlvbn0gZnJvbSAnLi4vYWkvYWkuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RPcHRpb25zIHtcbiAgcmVhZG9ubHkgYW5hbHl6ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGFpRGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBhaUdlbmVyYXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWlBbmFseXplPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYmFpbD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNoYW5nZWRGaWxlc1dpdGhBbmNlc3Rvcj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNoYW5nZWRTaW5jZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY2k/OiBib29sZWFuO1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBjb2xsZWN0Q292ZXJhZ2VGcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBjb2xvcnM/OiBib29sZWFuO1xuICByZWFkb25seSBjb25maWc/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVidWdUZXN0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRldGVjdE9wZW5IYW5kbGVzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW52Pzogc3RyaW5nO1xuICByZWFkb25seSBlcnJvck9uRGVwcmVjYXRlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGV4cGFuZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGZvcmNlRXhpdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGdlbmVyYXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkganNvbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxhc3RDb21taXQ/OiBib29sZWFuO1xuICByZWFkb25seSBsaXN0VGVzdHM/OiBib29sZWFuO1xuICByZWFkb25seSBsb2dIZWFwVXNhZ2U/OiBib29sZWFuO1xuICByZWFkb25seSBtYXhXb3JrZXJzPzogc3RyaW5nO1xuICByZWFkb25seSBub1N0YWNrVHJhY2U/OiBib29sZWFuO1xuICByZWFkb25seSBub3RpZnk/OiBib29sZWFuO1xuICByZWFkb25seSBvbmx5Q2hhbmdlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG91dHB1dEZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhc3NXaXRoTm9UZXN0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVtb3ZlQ2FjaGU/OiBib29sZWFuO1xuICByZWFkb25seSBydW5JbkJhbmQ/OiBib29sZWFuO1xuICByZWFkb25seSBzZXR1cD86IHN0cmluZztcbiAgcmVhZG9ubHkgc2hvd0NvbmZpZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNpbGVudD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRlc3RMb2NhdGlvbkluUmVzdWx0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRlc3ROYW1lUGF0dGVybj86IHN0cmluZztcbiAgcmVhZG9ubHkgdGVzdFBhdGhQYXR0ZXJuPzogc3RyaW5nO1xuICByZWFkb25seSB1cGRhdGU/OiBib29sZWFuO1xuICByZWFkb25seSB1c2VTdGRlcnI/OiBib29sZWFuO1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgd2F0Y2g/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhdGNoQWxsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgVGVzdENhbGxiYWNrID0gdHlwZW9mIHByb2Nlc3MuZXhpdDtcblxuZXhwb3J0IGNvbnN0IGdldFRlc3RGaWxlUGF0dGVybnMgPSAodGVzdFBhdGhQYXR0ZXJuPzogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBkZWZhdWx0UGF0dGVybnMgPSBbJyoqLyoudGVzdC4qJywgJyoqLyouc3BlYy4qJ107XG5cbiAgaWYoIXRlc3RQYXRoUGF0dGVybikge1xuICAgIHJldHVybiBkZWZhdWx0UGF0dGVybnM7XG4gIH1cblxuICByZXR1cm4gW3Rlc3RQYXRoUGF0dGVybl07XG59O1xuXG5jb25zdCBmaW5kVW5jb3ZlcmVkU291cmNlRmlsZXMgPSAoKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBzb3VyY2VGaWxlcyA9IGdsb2JTeW5jKCdzcmMvKiovKi57dHMsdHN4LGpzLGpzeH0nLCB7XG4gICAgY3dkOiBwcm9jZXNzLmN3ZCgpLFxuICAgIGlnbm9yZTogWycqKi9ub2RlX21vZHVsZXMvKionLCAnKiovZGlzdC8qKicsICcqKi8qLnRlc3QuKicsICcqKi8qLnNwZWMuKiddXG4gIH0pO1xuXG4gIGNvbnN0IHRlc3RGaWxlcyA9IGdsb2JTeW5jKCcqKi8qLnt0ZXN0LHNwZWN9Lnt0cyx0c3gsanMsanN4fScsIHtcbiAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gICAgaWdub3JlOiBbJyoqL25vZGVfbW9kdWxlcy8qKicsICcqKi9kaXN0LyoqJ11cbiAgfSk7XG5cbiAgLy8gU2ltcGxlIGhldXJpc3RpYyB0byBmaW5kIHNvdXJjZSBmaWxlcyB3aXRob3V0IGNvcnJlc3BvbmRpbmcgdGVzdCBmaWxlc1xuICByZXR1cm4gc291cmNlRmlsZXMuZmlsdGVyKChzb3VyY2VGaWxlKSA9PiB7XG4gICAgY29uc3QgYmFzZU5hbWUgPSBzb3VyY2VGaWxlLnJlcGxhY2UoL1xcLlteLy5dKyQvLCAnJyk7XG4gICAgcmV0dXJuICF0ZXN0RmlsZXMuc29tZSgodGVzdEZpbGUpID0+IHRlc3RGaWxlLmluY2x1ZGVzKGJhc2VOYW1lKSk7XG4gIH0pO1xufTtcblxuY29uc3QgcHJvY2Vzc1Rlc3RSZXN1bHRzID0gKG91dHB1dEZpbGU/OiBzdHJpbmcpOiBhbnkgPT4ge1xuICBpZighb3V0cHV0RmlsZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKG91dHB1dEZpbGUsICd1dGYtOCcpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGNvbnRlbnQpO1xuICB9IGNhdGNoKF9lcnJvcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdGVzdCA9IGFzeW5jIChvcHRpb25zOiBUZXN0T3B0aW9ucywgYXJnczogc3RyaW5nW10sIGNhbGxiYWNrOiBUZXN0Q2FsbGJhY2sgPSBwcm9jZXNzLmV4aXQpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7XG4gICAgYW5hbHl6ZSA9IGZhbHNlLFxuICAgIGFpQW5hbHl6ZSA9IGZhbHNlLFxuICAgIGFpRGVidWcgPSBmYWxzZSxcbiAgICBhaUdlbmVyYXRlID0gZmFsc2UsXG4gICAgYmFpbCxcbiAgICBjaGFuZ2VkRmlsZXNXaXRoQW5jZXN0b3IsXG4gICAgY2hhbmdlZFNpbmNlLFxuICAgIGNpLFxuICAgIGNsaU5hbWUgPSAnTGV4JyxcbiAgICBjb2xsZWN0Q292ZXJhZ2VGcm9tLFxuICAgIGNvbG9ycyxcbiAgICBjb25maWcsXG4gICAgZGVidWcgPSBmYWxzZSxcbiAgICBkZWJ1Z1Rlc3RzID0gZmFsc2UsXG4gICAgZGV0ZWN0T3BlbkhhbmRsZXMsXG4gICAgZW52LFxuICAgIGVycm9yT25EZXByZWNhdGVkLFxuICAgIGV4cGFuZCxcbiAgICBmb3JjZUV4aXQsXG4gICAgZ2VuZXJhdGUgPSBmYWxzZSxcbiAgICBqc29uLFxuICAgIGxhc3RDb21taXQsXG4gICAgbGlzdFRlc3RzLFxuICAgIGxvZ0hlYXBVc2FnZSxcbiAgICBtYXhXb3JrZXJzLFxuICAgIG5vU3RhY2tUcmFjZSxcbiAgICBub3RpZnksXG4gICAgb25seUNoYW5nZWQsXG4gICAgb3V0cHV0RmlsZSxcbiAgICBwYXNzV2l0aE5vVGVzdHMsXG4gICAgcXVpZXQsXG4gICAgcmVtb3ZlQ2FjaGUsXG4gICAgcnVuSW5CYW5kLFxuICAgIHNldHVwLFxuICAgIHNob3dDb25maWcsXG4gICAgc2lsZW50LFxuICAgIHRlc3RMb2NhdGlvbkluUmVzdWx0cyxcbiAgICB0ZXN0TmFtZVBhdHRlcm4sXG4gICAgdGVzdFBhdGhQYXR0ZXJuLFxuICAgIHVwZGF0ZSxcbiAgICB1c2VTdGRlcnIsXG4gICAgdmVyYm9zZSxcbiAgICB3YXRjaCxcbiAgICB3YXRjaEFsbFxuICB9ID0gb3B0aW9ucztcblxuICBjb25zdCB1c2VHZW5lcmF0ZSA9IGdlbmVyYXRlIHx8IGFpR2VuZXJhdGU7XG4gIGNvbnN0IHVzZUFuYWx5emUgPSBhbmFseXplIHx8IGFpQW5hbHl6ZTtcbiAgY29uc3QgdXNlRGVidWcgPSBkZWJ1Z1Rlc3RzIHx8IGFpRGVidWc7XG5cbiAgbG9nKGAke2NsaU5hbWV9IHRlc3RpbmcuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKG9wdGlvbnMpO1xuXG4gIGNvbnN0IHt1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIGlmKHVzZUdlbmVyYXRlKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnQUkgaXMgYW5hbHl6aW5nIGNvZGUgdG8gZ2VuZXJhdGUgdGVzdCBjYXNlcy4uLicpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVuY292ZXJlZEZpbGVzID0gZmluZFVuY292ZXJlZFNvdXJjZUZpbGVzKCk7XG5cbiAgICAgIGlmKHVuY292ZXJlZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RmlsZSA9IHVuY292ZXJlZEZpbGVzWzBdO1xuXG4gICAgICAgIGF3YWl0IGFpRnVuY3Rpb24oe1xuICAgICAgICAgIHByb21wdDogYEdlbmVyYXRlIEplc3QgdW5pdCB0ZXN0cyBmb3IgdGhpcyBmaWxlOiAke3RhcmdldEZpbGV9XFxuXFxuJHtyZWFkRmlsZVN5bmModGFyZ2V0RmlsZSwgJ3V0Zi04Jyl9XFxuXFxuUGxlYXNlIGNyZWF0ZSBjb21wcmVoZW5zaXZlIHRlc3RzIHRoYXQgY292ZXIgdGhlIG1haW4gZnVuY3Rpb25hbGl0eS4gSW5jbHVkZSB0ZXN0IGZpeHR1cmVzIGFuZCBtb2NrcyB3aGVyZSBuZWNlc3NhcnkuYCxcbiAgICAgICAgICB0YXNrOiAndGVzdCcsXG4gICAgICAgICAgZmlsZTogdGFyZ2V0RmlsZSxcbiAgICAgICAgICBjb250ZXh0OiB0cnVlLFxuICAgICAgICAgIHF1aWV0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNwaW5uZXIuc3VjY2VlZChgQUkgdGVzdCBnZW5lcmF0aW9uIHN1Z2dlc3Rpb25zIHByb3ZpZGVkIGZvciAke3RhcmdldEZpbGV9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoJ0FsbCBzb3VyY2UgZmlsZXMgYXBwZWFyIHRvIGhhdmUgY29ycmVzcG9uZGluZyB0ZXN0IGZpbGVzJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaChhaUVycm9yKSB7XG4gICAgICBzcGlubmVyLmZhaWwoJ0NvdWxkIG5vdCBnZW5lcmF0ZSBBSSB0ZXN0IHN1Z2dlc3Rpb25zJyk7XG4gICAgICBpZighcXVpZXQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQUkgdGVzdCBnZW5lcmF0aW9uIGVycm9yOicsIGFpRXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpck5hbWUgPSBuZXcgVVJMKCcuJywgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZTtcbiAgY29uc3QgZGlyUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uJyk7XG4gIGNvbnN0IGplc3RQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZU5vZGVQYXRoKCdqZXN0LWNsaS9iaW4vamVzdC5qcycsIGRpclBhdGgpO1xuICBjb25zdCBqZXN0Q29uZmlnRmlsZTogc3RyaW5nID0gY29uZmlnIHx8IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi8uLi9qZXN0LmNvbmZpZy5sZXguanMnKTtcbiAgY29uc3QgamVzdFNldHVwRmlsZTogc3RyaW5nID0gc2V0dXAgfHwgJyc7XG4gIGNvbnN0IGplc3RPcHRpb25zOiBzdHJpbmdbXSA9IFsnLS1uby1jYWNoZSddO1xuXG4gIGplc3RPcHRpb25zLnB1c2goJy0tY29uZmlnJywgamVzdENvbmZpZ0ZpbGUpO1xuXG4gIGlmKGJhaWwpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWJhaWwnKTtcbiAgfVxuXG4gIGlmKGNoYW5nZWRGaWxlc1dpdGhBbmNlc3Rvcikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tY2hhbmdlZEZpbGVzV2l0aEFuY2VzdG9yJyk7XG4gIH1cblxuICBpZihjaGFuZ2VkU2luY2UpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWNoYW5nZWRTaW5jZScpO1xuICB9XG5cbiAgaWYoY2kpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWNpJyk7XG4gIH1cblxuICBpZihjb2xsZWN0Q292ZXJhZ2VGcm9tKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1jb2xsZWN0Q292ZXJhZ2VGcm9tJywgY29sbGVjdENvdmVyYWdlRnJvbSk7XG4gIH1cblxuICBpZihjb2xvcnMpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWNvbG9ycycpO1xuICB9XG5cbiAgaWYoZGVidWcpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWRlYnVnJyk7XG4gIH1cblxuICBpZihkZXRlY3RPcGVuSGFuZGxlcykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tZGV0ZWN0T3BlbkhhbmRsZXMnKTtcbiAgfVxuXG4gIGlmKGVudikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tZW52Jyk7XG4gIH1cblxuICBpZihlcnJvck9uRGVwcmVjYXRlZCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tZXJyb3JPbkRlcHJlY2F0ZWQnKTtcbiAgfVxuXG4gIGlmKGV4cGFuZCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tZXhwYW5kJyk7XG4gIH1cblxuICBpZihmb3JjZUV4aXQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWZvcmNlRXhpdCcpO1xuICB9XG5cbiAgaWYoanNvbikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tanNvbicpO1xuICB9XG5cbiAgaWYobGFzdENvbW1pdCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tbGFzdENvbW1pdCcpO1xuICB9XG5cbiAgaWYobGlzdFRlc3RzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1saXN0VGVzdHMnKTtcbiAgfVxuXG4gIGlmKGxvZ0hlYXBVc2FnZSkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tbG9nSGVhcFVzYWdlJyk7XG4gIH1cblxuICBpZihtYXhXb3JrZXJzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1tYXhXb3JrZXJzJywgbWF4V29ya2Vycyk7XG4gIH1cblxuICBpZihub1N0YWNrVHJhY2UpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLW5vU3RhY2tUcmFjZScpO1xuICB9XG5cbiAgaWYobm90aWZ5KSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1ub3RpZnknKTtcbiAgfVxuXG4gIGlmKG9ubHlDaGFuZ2VkKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1vbmx5Q2hhbmdlZCcpO1xuICB9XG5cbiAgbGV0IHRlbXBPdXRwdXRGaWxlID0gb3V0cHV0RmlsZTtcblxuICBpZigodXNlQW5hbHl6ZSB8fCB1c2VEZWJ1ZykgJiYgIW91dHB1dEZpbGUpIHtcbiAgICB0ZW1wT3V0cHV0RmlsZSA9ICcubGV4LXRlc3QtcmVzdWx0cy5qc29uJztcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWpzb24nLCAnLS1vdXRwdXRGaWxlJywgdGVtcE91dHB1dEZpbGUpO1xuICB9IGVsc2UgaWYob3V0cHV0RmlsZSkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tb3V0cHV0RmlsZScsIG91dHB1dEZpbGUpO1xuICB9XG5cbiAgaWYocGFzc1dpdGhOb1Rlc3RzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1wYXNzV2l0aE5vVGVzdHMnKTtcbiAgfVxuXG4gIGlmKHJ1bkluQmFuZCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tcnVuSW5CYW5kJyk7XG4gIH1cblxuICBpZihzaG93Q29uZmlnKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1zaG93Q29uZmlnJyk7XG4gIH1cblxuICBpZihzaWxlbnQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXNpbGVudCcpO1xuICB9XG5cbiAgaWYodGVzdExvY2F0aW9uSW5SZXN1bHRzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS10ZXN0TG9jYXRpb25JblJlc3VsdHMnKTtcbiAgfVxuXG4gIGlmKHRlc3ROYW1lUGF0dGVybikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tdGVzdE5hbWVQYXR0ZXJuJywgdGVzdE5hbWVQYXR0ZXJuKTtcbiAgfVxuXG4gIGlmKHRlc3RQYXRoUGF0dGVybikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tdGVzdFBhdGhQYXR0ZXJuJywgdGVzdFBhdGhQYXR0ZXJuKTtcbiAgfVxuXG4gIGlmKHVzZVN0ZGVycikge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tdXNlU3RkZXJyJyk7XG4gIH1cblxuICBpZih2ZXJib3NlKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS12ZXJib3NlJyk7XG4gIH1cblxuICBpZih3YXRjaEFsbCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0td2F0Y2hBbGwnKTtcbiAgfVxuXG4gIGlmKHJlbW92ZUNhY2hlKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1uby1jYWNoZScpO1xuICB9XG5cbiAgaWYoamVzdFNldHVwRmlsZSAhPT0gJycpIHtcbiAgICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG4gICAgamVzdE9wdGlvbnMucHVzaChgLS1zZXR1cEZpbGVzQWZ0ZXJFbnY9JHtwYXRoUmVzb2x2ZShjd2QsIGplc3RTZXR1cEZpbGUpfWApO1xuICB9XG5cbiAgaWYodXBkYXRlKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS11cGRhdGVTbmFwc2hvdCcpO1xuICB9XG5cbiAgaWYod2F0Y2gpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXdhdGNoJywgd2F0Y2gpO1xuICB9XG5cbiAgaWYoYXJncykge1xuICAgIGplc3RPcHRpb25zLnB1c2goLi4uYXJncyk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNhKGplc3RQYXRoLCBqZXN0T3B0aW9ucywge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCdcbiAgICB9KTtcblxuICAgIHNwaW5uZXIuc3VjY2VlZCgnVGVzdGluZyBjb21wbGV0ZWQhJyk7XG5cbiAgICBpZih1c2VBbmFseXplKSB7XG4gICAgICBzcGlubmVyLnN0YXJ0KCdBSSBpcyBhbmFseXppbmcgdGVzdCBjb3ZlcmFnZSBhbmQgc3VnZ2VzdGluZyBpbXByb3ZlbWVudHMuLi4nKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGVzdFJlc3VsdHMgPSBwcm9jZXNzVGVzdFJlc3VsdHModGVtcE91dHB1dEZpbGUpO1xuICAgICAgICBjb25zdCBmaWxlUGF0dGVybnMgPSBnZXRUZXN0RmlsZVBhdHRlcm5zKHRlc3RQYXRoUGF0dGVybik7XG5cbiAgICAgICAgYXdhaXQgYWlGdW5jdGlvbih7XG4gICAgICAgICAgcHJvbXB0OiBgQW5hbHl6ZSB0aGVzZSBKZXN0IHRlc3QgcmVzdWx0cyBhbmQgc3VnZ2VzdCB0ZXN0IGNvdmVyYWdlIGltcHJvdmVtZW50czpcbiAgICAgICAgICBcbiR7SlNPTi5zdHJpbmdpZnkodGVzdFJlc3VsdHMsIG51bGwsIDIpfVxuXG5UZXN0IHBhdHRlcm5zOiAke2ZpbGVQYXR0ZXJucy5qb2luKCcsICcpfVxuXG5QbGVhc2UgcHJvdmlkZTpcbjEuIEFuYWx5c2lzIG9mIGN1cnJlbnQgY292ZXJhZ2UgZ2Fwc1xuMi4gU3VnZ2VzdGlvbnMgZm9yIGltcHJvdmluZyB0ZXN0IGNhc2VzXG4zLiBSZWNvbW1lbmRhdGlvbnMgZm9yIGFkZGl0aW9uYWwgaW50ZWdyYXRpb24gdGVzdCBzY2VuYXJpb3NcbjQuIEJlc3QgcHJhY3RpY2VzIGZvciBpbmNyZWFzaW5nIHRlc3QgZWZmZWN0aXZlbmVzc2AsXG4gICAgICAgICAgdGFzazogJ29wdGltaXplJyxcbiAgICAgICAgICBjb250ZXh0OiB0cnVlLFxuICAgICAgICAgIHF1aWV0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNwaW5uZXIuc3VjY2VlZCgnQUkgdGVzdCBhbmFseXNpcyBjb21wbGV0ZScpO1xuICAgICAgfSBjYXRjaChhaUVycm9yKSB7XG4gICAgICAgIHNwaW5uZXIuZmFpbCgnQ291bGQgbm90IGdlbmVyYXRlIEFJIHRlc3QgYW5hbHlzaXMnKTtcbiAgICAgICAgaWYoIXF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignQUkgYW5hbHlzaXMgZXJyb3I6JywgYWlFcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2hlY2sgZm9yIHVuaXQgdGVzdCBlcnJvcnMgYW5kL29yIGNvdmVyYWdlLmAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIHNwaW5uZXIuZmFpbCgnVGVzdGluZyBmYWlsZWQhJyk7XG5cbiAgICBpZih1c2VEZWJ1Zykge1xuICAgICAgc3Bpbm5lci5zdGFydCgnQUkgaXMgYW5hbHl6aW5nIHRlc3QgZmFpbHVyZXMuLi4nKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGVzdFJlc3VsdHMgPSBwcm9jZXNzVGVzdFJlc3VsdHModGVtcE91dHB1dEZpbGUpO1xuXG4gICAgICAgIGF3YWl0IGFpRnVuY3Rpb24oe1xuICAgICAgICAgIHByb21wdDogYERlYnVnIHRoZXNlIGZhaWxlZCBKZXN0IHRlc3RzIGFuZCBzdWdnZXN0IGZpeGVzOlxuICAgICAgICAgIFxuJHtKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlLCBudWxsLCAyKX1cblxuVGVzdCByZXN1bHRzOiAke0pTT04uc3RyaW5naWZ5KHRlc3RSZXN1bHRzLCBudWxsLCAyKX1cblxuUGxlYXNlIHByb3ZpZGU6XG4xLiBBbmFseXNpcyBvZiB3aHkgdGhlIHRlc3RzIGFyZSBmYWlsaW5nXG4yLiBTcGVjaWZpYyBzdWdnZXN0aW9ucyB0byBmaXggZWFjaCBmYWlsaW5nIHRlc3RcbjMuIEFueSBwb3RlbnRpYWwgaXNzdWVzIHdpdGggdGVzdCBmaXh0dXJlcyBvciBtb2Nrc1xuNC4gQ29kZSBleGFtcGxlcyBmb3Igc29sdXRpb25zYCxcbiAgICAgICAgICB0YXNrOiAnaGVscCcsXG4gICAgICAgICAgY29udGV4dDogdHJ1ZSxcbiAgICAgICAgICBxdWlldFxuICAgICAgICB9KTtcblxuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoJ0FJIGRlYnVnZ2luZyBhc3Npc3RhbmNlIGNvbXBsZXRlJyk7XG4gICAgICB9IGNhdGNoKGFpRXJyb3IpIHtcbiAgICAgICAgc3Bpbm5lci5mYWlsKCdDb3VsZCBub3QgZ2VuZXJhdGUgQUkgZGVidWdnaW5nIGFzc2lzdGFuY2UnKTtcbiAgICAgICAgaWYoIXF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignQUkgZGVidWdnaW5nIGVycm9yOicsIGFpRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHRlc3Q7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsb0JBQW1CO0FBQzNCLFNBQVEsUUFBUSxnQkFBZTtBQUMvQixTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLHdCQUF1QjtBQUMvQixTQUFRLFdBQVU7QUFDbEIsU0FBUSxrQkFBaUI7QUFtRGxCLE1BQU0sc0JBQXNCLENBQUMsb0JBQXVDO0FBQ3pFLFFBQU0sa0JBQWtCLENBQUMsZUFBZSxhQUFhO0FBRXJELE1BQUcsQ0FBQyxpQkFBaUI7QUFDbkIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPLENBQUMsZUFBZTtBQUN6QjtBQUVBLE1BQU0sMkJBQTJCLE1BQWdCO0FBQy9DLFFBQU0sY0FBYyxTQUFTLDRCQUE0QjtBQUFBLElBQ3ZELEtBQUssUUFBUSxJQUFJO0FBQUEsSUFDakIsUUFBUSxDQUFDLHNCQUFzQixjQUFjLGVBQWUsYUFBYTtBQUFBLEVBQzNFLENBQUM7QUFFRCxRQUFNLFlBQVksU0FBUyxvQ0FBb0M7QUFBQSxJQUM3RCxLQUFLLFFBQVEsSUFBSTtBQUFBLElBQ2pCLFFBQVEsQ0FBQyxzQkFBc0IsWUFBWTtBQUFBLEVBQzdDLENBQUM7QUFHRCxTQUFPLFlBQVksT0FBTyxDQUFDLGVBQWU7QUFDeEMsVUFBTSxXQUFXLFdBQVcsUUFBUSxhQUFhLEVBQUU7QUFDbkQsV0FBTyxDQUFDLFVBQVUsS0FBSyxDQUFDLGFBQWEsU0FBUyxTQUFTLFFBQVEsQ0FBQztBQUFBLEVBQ2xFLENBQUM7QUFDSDtBQUVBLE1BQU0scUJBQXFCLENBQUMsZUFBNkI7QUFDdkQsTUFBRyxDQUFDLFlBQVk7QUFDZCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUk7QUFDRixVQUFNLFVBQVUsYUFBYSxZQUFZLE9BQU87QUFDaEQsV0FBTyxLQUFLLE1BQU0sT0FBTztBQUFBLEVBQzNCLFNBQVEsUUFBUTtBQUNkLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFFTyxNQUFNLE9BQU8sT0FBTyxTQUFzQixNQUFnQixXQUF5QixRQUFRLFNBQTBCO0FBQzFILFFBQU07QUFBQSxJQUNKLFVBQVU7QUFBQSxJQUNWLFlBQVk7QUFBQSxJQUNaLFVBQVU7QUFBQSxJQUNWLGFBQWE7QUFBQSxJQUNiO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixhQUFhO0FBQUEsSUFDYjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixRQUFNLGNBQWMsWUFBWTtBQUNoQyxRQUFNLGFBQWEsV0FBVztBQUM5QixRQUFNLFdBQVcsY0FBYztBQUUvQixNQUFJLEdBQUcsT0FBTyxlQUFlLFFBQVEsS0FBSztBQUUxQyxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBRW5DLFFBQU0sVUFBVSxZQUFZLE9BQU87QUFFbkMsUUFBTSxFQUFDLGNBQWEsSUFBSSxVQUFVO0FBRWxDLE1BQUcsZUFBZTtBQUNoQixjQUFVLHNCQUFzQjtBQUFBLEVBQ2xDO0FBRUEsTUFBRyxhQUFhO0FBQ2QsWUFBUSxNQUFNLGdEQUFnRDtBQUU5RCxRQUFJO0FBQ0YsWUFBTSxpQkFBaUIseUJBQXlCO0FBRWhELFVBQUcsZUFBZSxTQUFTLEdBQUc7QUFDNUIsY0FBTSxhQUFhLGVBQWUsQ0FBQztBQUVuQyxjQUFNLFdBQVc7QUFBQSxVQUNmLFFBQVEsMkNBQTJDLFVBQVU7QUFBQTtBQUFBLEVBQU8sYUFBYSxZQUFZLE9BQU8sQ0FBQztBQUFBO0FBQUE7QUFBQSxVQUNyRyxNQUFNO0FBQUEsVUFDTixNQUFNO0FBQUEsVUFDTixTQUFTO0FBQUEsVUFDVDtBQUFBLFFBQ0YsQ0FBQztBQUVELGdCQUFRLFFBQVEsK0NBQStDLFVBQVUsRUFBRTtBQUFBLE1BQzdFLE9BQU87QUFDTCxnQkFBUSxRQUFRLDBEQUEwRDtBQUFBLE1BQzVFO0FBQUEsSUFDRixTQUFRLFNBQVM7QUFDZixjQUFRLEtBQUssd0NBQXdDO0FBQ3JELFVBQUcsQ0FBQyxPQUFPO0FBQ1QsZ0JBQVEsTUFBTSw2QkFBNkIsT0FBTztBQUFBLE1BQ3BEO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFVBQVUsSUFBSSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUU7QUFDOUMsUUFBTSxVQUFrQixZQUFZLFNBQVMsVUFBVTtBQUN2RCxRQUFNLFdBQW1CLGlCQUFpQix3QkFBd0IsT0FBTztBQUN6RSxRQUFNLGlCQUF5QixVQUFVLFlBQVksU0FBUyw2QkFBNkI7QUFDM0YsUUFBTSxnQkFBd0IsU0FBUztBQUN2QyxRQUFNLGNBQXdCLENBQUMsWUFBWTtBQUUzQyxjQUFZLEtBQUssWUFBWSxjQUFjO0FBRTNDLE1BQUcsTUFBTTtBQUNQLGdCQUFZLEtBQUssUUFBUTtBQUFBLEVBQzNCO0FBRUEsTUFBRywwQkFBMEI7QUFDM0IsZ0JBQVksS0FBSyw0QkFBNEI7QUFBQSxFQUMvQztBQUVBLE1BQUcsY0FBYztBQUNmLGdCQUFZLEtBQUssZ0JBQWdCO0FBQUEsRUFDbkM7QUFFQSxNQUFHLElBQUk7QUFDTCxnQkFBWSxLQUFLLE1BQU07QUFBQSxFQUN6QjtBQUVBLE1BQUcscUJBQXFCO0FBQ3RCLGdCQUFZLEtBQUsseUJBQXlCLG1CQUFtQjtBQUFBLEVBQy9EO0FBRUEsTUFBRyxRQUFRO0FBQ1QsZ0JBQVksS0FBSyxVQUFVO0FBQUEsRUFDN0I7QUFFQSxNQUFHLE9BQU87QUFDUixnQkFBWSxLQUFLLFNBQVM7QUFBQSxFQUM1QjtBQUVBLE1BQUcsbUJBQW1CO0FBQ3BCLGdCQUFZLEtBQUsscUJBQXFCO0FBQUEsRUFDeEM7QUFFQSxNQUFHLEtBQUs7QUFDTixnQkFBWSxLQUFLLE9BQU87QUFBQSxFQUMxQjtBQUVBLE1BQUcsbUJBQW1CO0FBQ3BCLGdCQUFZLEtBQUsscUJBQXFCO0FBQUEsRUFDeEM7QUFFQSxNQUFHLFFBQVE7QUFDVCxnQkFBWSxLQUFLLFVBQVU7QUFBQSxFQUM3QjtBQUVBLE1BQUcsV0FBVztBQUNaLGdCQUFZLEtBQUssYUFBYTtBQUFBLEVBQ2hDO0FBRUEsTUFBRyxNQUFNO0FBQ1AsZ0JBQVksS0FBSyxRQUFRO0FBQUEsRUFDM0I7QUFFQSxNQUFHLFlBQVk7QUFDYixnQkFBWSxLQUFLLGNBQWM7QUFBQSxFQUNqQztBQUVBLE1BQUcsV0FBVztBQUNaLGdCQUFZLEtBQUssYUFBYTtBQUFBLEVBQ2hDO0FBRUEsTUFBRyxjQUFjO0FBQ2YsZ0JBQVksS0FBSyxnQkFBZ0I7QUFBQSxFQUNuQztBQUVBLE1BQUcsWUFBWTtBQUNiLGdCQUFZLEtBQUssZ0JBQWdCLFVBQVU7QUFBQSxFQUM3QztBQUVBLE1BQUcsY0FBYztBQUNmLGdCQUFZLEtBQUssZ0JBQWdCO0FBQUEsRUFDbkM7QUFFQSxNQUFHLFFBQVE7QUFDVCxnQkFBWSxLQUFLLFVBQVU7QUFBQSxFQUM3QjtBQUVBLE1BQUcsYUFBYTtBQUNkLGdCQUFZLEtBQUssZUFBZTtBQUFBLEVBQ2xDO0FBRUEsTUFBSSxpQkFBaUI7QUFFckIsT0FBSSxjQUFjLGFBQWEsQ0FBQyxZQUFZO0FBQzFDLHFCQUFpQjtBQUNqQixnQkFBWSxLQUFLLFVBQVUsZ0JBQWdCLGNBQWM7QUFBQSxFQUMzRCxXQUFVLFlBQVk7QUFDcEIsZ0JBQVksS0FBSyxnQkFBZ0IsVUFBVTtBQUFBLEVBQzdDO0FBRUEsTUFBRyxpQkFBaUI7QUFDbEIsZ0JBQVksS0FBSyxtQkFBbUI7QUFBQSxFQUN0QztBQUVBLE1BQUcsV0FBVztBQUNaLGdCQUFZLEtBQUssYUFBYTtBQUFBLEVBQ2hDO0FBRUEsTUFBRyxZQUFZO0FBQ2IsZ0JBQVksS0FBSyxjQUFjO0FBQUEsRUFDakM7QUFFQSxNQUFHLFFBQVE7QUFDVCxnQkFBWSxLQUFLLFVBQVU7QUFBQSxFQUM3QjtBQUVBLE1BQUcsdUJBQXVCO0FBQ3hCLGdCQUFZLEtBQUsseUJBQXlCO0FBQUEsRUFDNUM7QUFFQSxNQUFHLGlCQUFpQjtBQUNsQixnQkFBWSxLQUFLLHFCQUFxQixlQUFlO0FBQUEsRUFDdkQ7QUFFQSxNQUFHLGlCQUFpQjtBQUNsQixnQkFBWSxLQUFLLHFCQUFxQixlQUFlO0FBQUEsRUFDdkQ7QUFFQSxNQUFHLFdBQVc7QUFDWixnQkFBWSxLQUFLLGFBQWE7QUFBQSxFQUNoQztBQUVBLE1BQUcsU0FBUztBQUNWLGdCQUFZLEtBQUssV0FBVztBQUFBLEVBQzlCO0FBRUEsTUFBRyxVQUFVO0FBQ1gsZ0JBQVksS0FBSyxZQUFZO0FBQUEsRUFDL0I7QUFFQSxNQUFHLGFBQWE7QUFDZCxnQkFBWSxLQUFLLFlBQVk7QUFBQSxFQUMvQjtBQUVBLE1BQUcsa0JBQWtCLElBQUk7QUFDdkIsVUFBTSxNQUFjLFFBQVEsSUFBSTtBQUNoQyxnQkFBWSxLQUFLLHdCQUF3QixZQUFZLEtBQUssYUFBYSxDQUFDLEVBQUU7QUFBQSxFQUM1RTtBQUVBLE1BQUcsUUFBUTtBQUNULGdCQUFZLEtBQUssa0JBQWtCO0FBQUEsRUFDckM7QUFFQSxNQUFHLE9BQU87QUFDUixnQkFBWSxLQUFLLFdBQVcsS0FBSztBQUFBLEVBQ25DO0FBRUEsTUFBRyxNQUFNO0FBQ1AsZ0JBQVksS0FBSyxHQUFHLElBQUk7QUFBQSxFQUMxQjtBQUVBLE1BQUk7QUFDRixVQUFNLE1BQU0sVUFBVSxhQUFhO0FBQUEsTUFDakMsVUFBVTtBQUFBLE1BQ1YsT0FBTztBQUFBLElBQ1QsQ0FBQztBQUVELFlBQVEsUUFBUSxvQkFBb0I7QUFFcEMsUUFBRyxZQUFZO0FBQ2IsY0FBUSxNQUFNLDhEQUE4RDtBQUU1RSxVQUFJO0FBQ0YsY0FBTSxjQUFjLG1CQUFtQixjQUFjO0FBQ3JELGNBQU0sZUFBZSxvQkFBb0IsZUFBZTtBQUV4RCxjQUFNLFdBQVc7QUFBQSxVQUNmLFFBQVE7QUFBQTtBQUFBLEVBRWhCLEtBQUssVUFBVSxhQUFhLE1BQU0sQ0FBQyxDQUFDO0FBQUE7QUFBQSxpQkFFckIsYUFBYSxLQUFLLElBQUksQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFVBTzlCLE1BQU07QUFBQSxVQUNOLFNBQVM7QUFBQSxVQUNUO0FBQUEsUUFDRixDQUFDO0FBRUQsZ0JBQVEsUUFBUSwyQkFBMkI7QUFBQSxNQUM3QyxTQUFRLFNBQVM7QUFDZixnQkFBUSxLQUFLLHFDQUFxQztBQUNsRCxZQUFHLENBQUMsT0FBTztBQUNULGtCQUFRLE1BQU0sc0JBQXNCLE9BQU87QUFBQSxRQUM3QztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1QsU0FBUSxPQUFPO0FBQ2IsUUFBSTtBQUFBLEVBQUssT0FBTyx1REFBdUQsU0FBUyxLQUFLO0FBRXJGLFlBQVEsS0FBSyxpQkFBaUI7QUFFOUIsUUFBRyxVQUFVO0FBQ1gsY0FBUSxNQUFNLGtDQUFrQztBQUVoRCxVQUFJO0FBQ0YsY0FBTSxjQUFjLG1CQUFtQixjQUFjO0FBRXJELGNBQU0sV0FBVztBQUFBLFVBQ2YsUUFBUTtBQUFBO0FBQUEsRUFFaEIsS0FBSyxVQUFVLE1BQU0sU0FBUyxNQUFNLENBQUMsQ0FBQztBQUFBO0FBQUEsZ0JBRXhCLEtBQUssVUFBVSxhQUFhLE1BQU0sQ0FBQyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFPMUMsTUFBTTtBQUFBLFVBQ04sU0FBUztBQUFBLFVBQ1Q7QUFBQSxRQUNGLENBQUM7QUFFRCxnQkFBUSxRQUFRLGtDQUFrQztBQUFBLE1BQ3BELFNBQVEsU0FBUztBQUNmLGdCQUFRLEtBQUssNENBQTRDO0FBQ3pELFlBQUcsQ0FBQyxPQUFPO0FBQ1Qsa0JBQVEsTUFBTSx1QkFBdUIsT0FBTztBQUFBLFFBQzlDO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFFQSxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVDtBQUNGO0FBRUEsSUFBTyxlQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Rlc3QvdGVzdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVhZEZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQge3N5bmMgYXMgZ2xvYlN5bmN9IGZyb20gJ2dsb2InO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7VVJMfSBmcm9tICd1cmwnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Bpbm5lcn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7cmVsYXRpdmVOb2RlUGF0aH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcbmltcG9ydCB7YWlGdW5jdGlvbn0gZnJvbSAnLi4vYWkvYWkuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RPcHRpb25zIHtcbiAgcmVhZG9ubHkgYW5hbHl6ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGFpRGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBhaUdlbmVyYXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWlBbmFseXplPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYmFpbD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNoYW5nZWRGaWxlc1dpdGhBbmNlc3Rvcj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNoYW5nZWRTaW5jZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY2k/OiBib29sZWFuO1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBjb2xsZWN0Q292ZXJhZ2VGcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBjb2xvcnM/OiBib29sZWFuO1xuICByZWFkb25seSBjb25maWc/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVidWdUZXN0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRldGVjdE9wZW5IYW5kbGVzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW52Pzogc3RyaW5nO1xuICByZWFkb25seSBlcnJvck9uRGVwcmVjYXRlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGV4cGFuZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGZvcmNlRXhpdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGdlbmVyYXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkganNvbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxhc3RDb21taXQ/OiBib29sZWFuO1xuICByZWFkb25seSBsaXN0VGVzdHM/OiBib29sZWFuO1xuICByZWFkb25seSBsb2dIZWFwVXNhZ2U/OiBib29sZWFuO1xuICByZWFkb25seSBtYXhXb3JrZXJzPzogc3RyaW5nO1xuICByZWFkb25seSBub1N0YWNrVHJhY2U/OiBib29sZWFuO1xuICByZWFkb25seSBub3RpZnk/OiBib29sZWFuO1xuICByZWFkb25seSBvbmx5Q2hhbmdlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IG91dHB1dEZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhc3NXaXRoTm9UZXN0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVtb3ZlQ2FjaGU/OiBib29sZWFuO1xuICByZWFkb25seSBydW5JbkJhbmQ/OiBib29sZWFuO1xuICByZWFkb25seSBzZXR1cD86IHN0cmluZztcbiAgcmVhZG9ubHkgc2hvd0NvbmZpZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNpbGVudD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRlc3RMb2NhdGlvbkluUmVzdWx0cz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRlc3ROYW1lUGF0dGVybj86IHN0cmluZztcbiAgcmVhZG9ubHkgdGVzdFBhdGhQYXR0ZXJuPzogc3RyaW5nO1xuICByZWFkb25seSB1cGRhdGU/OiBib29sZWFuO1xuICByZWFkb25seSB1c2VTdGRlcnI/OiBib29sZWFuO1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgd2F0Y2g/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhdGNoQWxsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgVGVzdENhbGxiYWNrID0gdHlwZW9mIHByb2Nlc3MuZXhpdDtcblxuZXhwb3J0IGNvbnN0IGdldFRlc3RGaWxlUGF0dGVybnMgPSAodGVzdFBhdGhQYXR0ZXJuPzogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBkZWZhdWx0UGF0dGVybnMgPSBbJyoqLyoudGVzdC4qJywgJyoqLyouc3BlYy4qJywgJyoqLyouaW50ZWdyYXRpb24uKiddO1xuXG4gIGlmKCF0ZXN0UGF0aFBhdHRlcm4pIHtcbiAgICByZXR1cm4gZGVmYXVsdFBhdHRlcm5zO1xuICB9XG5cbiAgcmV0dXJuIFt0ZXN0UGF0aFBhdHRlcm5dO1xufTtcblxuY29uc3QgZmluZFVuY292ZXJlZFNvdXJjZUZpbGVzID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3Qgc291cmNlRmlsZXMgPSBnbG9iU3luYygnc3JjLyoqLyoue3RzLHRzeCxqcyxqc3h9Jywge1xuICAgIGN3ZDogcHJvY2Vzcy5jd2QoKSxcbiAgICBpZ25vcmU6IFsnKiovbm9kZV9tb2R1bGVzLyoqJywgJyoqL2Rpc3QvKionLCAnKiovKi50ZXN0LionLCAnKiovKi5zcGVjLionXVxuICB9KTtcblxuICBjb25zdCB0ZXN0RmlsZXMgPSBnbG9iU3luYygnKiovKi57dGVzdCxzcGVjfS57dHMsdHN4LGpzLGpzeH0nLCB7XG4gICAgY3dkOiBwcm9jZXNzLmN3ZCgpLFxuICAgIGlnbm9yZTogWycqKi9ub2RlX21vZHVsZXMvKionLCAnKiovZGlzdC8qKiddXG4gIH0pO1xuXG4gIC8vIFNpbXBsZSBoZXVyaXN0aWMgdG8gZmluZCBzb3VyY2UgZmlsZXMgd2l0aG91dCBjb3JyZXNwb25kaW5nIHRlc3QgZmlsZXNcbiAgcmV0dXJuIHNvdXJjZUZpbGVzLmZpbHRlcigoc291cmNlRmlsZSkgPT4ge1xuICAgIGNvbnN0IGJhc2VOYW1lID0gc291cmNlRmlsZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpO1xuICAgIHJldHVybiAhdGVzdEZpbGVzLnNvbWUoKHRlc3RGaWxlKSA9PiB0ZXN0RmlsZS5pbmNsdWRlcyhiYXNlTmFtZSkpO1xuICB9KTtcbn07XG5cbmNvbnN0IHByb2Nlc3NUZXN0UmVzdWx0cyA9IChvdXRwdXRGaWxlPzogc3RyaW5nKTogYW55ID0+IHtcbiAgaWYoIW91dHB1dEZpbGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY29udGVudCA9IHJlYWRGaWxlU3luYyhvdXRwdXRGaWxlLCAndXRmLTgnKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShjb250ZW50KTtcbiAgfSBjYXRjaChfZXJyb3IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRlc3QgPSBhc3luYyAob3B0aW9uczogVGVzdE9wdGlvbnMsIGFyZ3M6IHN0cmluZ1tdLCBjYWxsYmFjazogVGVzdENhbGxiYWNrID0gcHJvY2Vzcy5leGl0KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge1xuICAgIGFuYWx5emUgPSBmYWxzZSxcbiAgICBhaUFuYWx5emUgPSBmYWxzZSxcbiAgICBhaURlYnVnID0gZmFsc2UsXG4gICAgYWlHZW5lcmF0ZSA9IGZhbHNlLFxuICAgIGJhaWwsXG4gICAgY2hhbmdlZEZpbGVzV2l0aEFuY2VzdG9yLFxuICAgIGNoYW5nZWRTaW5jZSxcbiAgICBjaSxcbiAgICBjbGlOYW1lID0gJ0xleCcsXG4gICAgY29sbGVjdENvdmVyYWdlRnJvbSxcbiAgICBjb2xvcnMsXG4gICAgY29uZmlnLFxuICAgIGRlYnVnID0gZmFsc2UsXG4gICAgZGVidWdUZXN0cyA9IGZhbHNlLFxuICAgIGRldGVjdE9wZW5IYW5kbGVzLFxuICAgIGVudixcbiAgICBlcnJvck9uRGVwcmVjYXRlZCxcbiAgICBleHBhbmQsXG4gICAgZm9yY2VFeGl0LFxuICAgIGdlbmVyYXRlID0gZmFsc2UsXG4gICAganNvbixcbiAgICBsYXN0Q29tbWl0LFxuICAgIGxpc3RUZXN0cyxcbiAgICBsb2dIZWFwVXNhZ2UsXG4gICAgbWF4V29ya2VycyxcbiAgICBub1N0YWNrVHJhY2UsXG4gICAgbm90aWZ5LFxuICAgIG9ubHlDaGFuZ2VkLFxuICAgIG91dHB1dEZpbGUsXG4gICAgcGFzc1dpdGhOb1Rlc3RzLFxuICAgIHF1aWV0LFxuICAgIHJlbW92ZUNhY2hlLFxuICAgIHJ1bkluQmFuZCxcbiAgICBzZXR1cCxcbiAgICBzaG93Q29uZmlnLFxuICAgIHNpbGVudCxcbiAgICB0ZXN0TG9jYXRpb25JblJlc3VsdHMsXG4gICAgdGVzdE5hbWVQYXR0ZXJuLFxuICAgIHRlc3RQYXRoUGF0dGVybixcbiAgICB1cGRhdGUsXG4gICAgdXNlU3RkZXJyLFxuICAgIHZlcmJvc2UsXG4gICAgd2F0Y2gsXG4gICAgd2F0Y2hBbGxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgdXNlR2VuZXJhdGUgPSBnZW5lcmF0ZSB8fCBhaUdlbmVyYXRlO1xuICBjb25zdCB1c2VBbmFseXplID0gYW5hbHl6ZSB8fCBhaUFuYWx5emU7XG4gIGNvbnN0IHVzZURlYnVnID0gZGVidWdUZXN0cyB8fCBhaURlYnVnO1xuXG4gIGxvZyhgJHtjbGlOYW1lfSB0ZXN0aW5nLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhvcHRpb25zKTtcblxuICBjb25zdCB7dXNlVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICBMZXhDb25maWcuY2hlY2tUeXBlc2NyaXB0Q29uZmlnKCk7XG4gIH1cblxuICBpZih1c2VHZW5lcmF0ZSkge1xuICAgIHNwaW5uZXIuc3RhcnQoJ0FJIGlzIGFuYWx5emluZyBjb2RlIHRvIGdlbmVyYXRlIHRlc3QgY2FzZXMuLi4nKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB1bmNvdmVyZWRGaWxlcyA9IGZpbmRVbmNvdmVyZWRTb3VyY2VGaWxlcygpO1xuXG4gICAgICBpZih1bmNvdmVyZWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEZpbGUgPSB1bmNvdmVyZWRGaWxlc1swXTtcblxuICAgICAgICBhd2FpdCBhaUZ1bmN0aW9uKHtcbiAgICAgICAgICBwcm9tcHQ6IGBHZW5lcmF0ZSBKZXN0IHVuaXQgdGVzdHMgZm9yIHRoaXMgZmlsZTogJHt0YXJnZXRGaWxlfVxcblxcbiR7cmVhZEZpbGVTeW5jKHRhcmdldEZpbGUsICd1dGYtOCcpfVxcblxcblBsZWFzZSBjcmVhdGUgY29tcHJlaGVuc2l2ZSB0ZXN0cyB0aGF0IGNvdmVyIHRoZSBtYWluIGZ1bmN0aW9uYWxpdHkuIEluY2x1ZGUgdGVzdCBmaXh0dXJlcyBhbmQgbW9ja3Mgd2hlcmUgbmVjZXNzYXJ5LmAsXG4gICAgICAgICAgdGFzazogJ3Rlc3QnLFxuICAgICAgICAgIGZpbGU6IHRhcmdldEZpbGUsXG4gICAgICAgICAgY29udGV4dDogdHJ1ZSxcbiAgICAgICAgICBxdWlldFxuICAgICAgICB9KTtcblxuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoYEFJIHRlc3QgZ2VuZXJhdGlvbiBzdWdnZXN0aW9ucyBwcm92aWRlZCBmb3IgJHt0YXJnZXRGaWxlfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3Bpbm5lci5zdWNjZWVkKCdBbGwgc291cmNlIGZpbGVzIGFwcGVhciB0byBoYXZlIGNvcnJlc3BvbmRpbmcgdGVzdCBmaWxlcycpO1xuICAgICAgfVxuICAgIH0gY2F0Y2goYWlFcnJvcikge1xuICAgICAgc3Bpbm5lci5mYWlsKCdDb3VsZCBub3QgZ2VuZXJhdGUgQUkgdGVzdCBzdWdnZXN0aW9ucycpO1xuICAgICAgaWYoIXF1aWV0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FJIHRlc3QgZ2VuZXJhdGlvbiBlcnJvcjonLCBhaUVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXJOYW1lID0gbmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWU7XG4gIGNvbnN0IGRpclBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi8uLicpO1xuICBjb25zdCBqZXN0UGF0aDogc3RyaW5nID0gcmVsYXRpdmVOb2RlUGF0aCgnamVzdC1jbGkvYmluL2plc3QuanMnLCBkaXJQYXRoKTtcbiAgY29uc3QgamVzdENvbmZpZ0ZpbGU6IHN0cmluZyA9IGNvbmZpZyB8fCBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4vLi4vamVzdC5jb25maWcubGV4LmpzJyk7XG4gIGNvbnN0IGplc3RTZXR1cEZpbGU6IHN0cmluZyA9IHNldHVwIHx8ICcnO1xuICBjb25zdCBqZXN0T3B0aW9uczogc3RyaW5nW10gPSBbJy0tbm8tY2FjaGUnXTtcblxuICBqZXN0T3B0aW9ucy5wdXNoKCctLWNvbmZpZycsIGplc3RDb25maWdGaWxlKTtcblxuICBpZihiYWlsKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1iYWlsJyk7XG4gIH1cblxuICBpZihjaGFuZ2VkRmlsZXNXaXRoQW5jZXN0b3IpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWNoYW5nZWRGaWxlc1dpdGhBbmNlc3RvcicpO1xuICB9XG5cbiAgaWYoY2hhbmdlZFNpbmNlKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1jaGFuZ2VkU2luY2UnKTtcbiAgfVxuXG4gIGlmKGNpKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1jaScpO1xuICB9XG5cbiAgaWYoY29sbGVjdENvdmVyYWdlRnJvbSkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tY29sbGVjdENvdmVyYWdlRnJvbScsIGNvbGxlY3RDb3ZlcmFnZUZyb20pO1xuICB9XG5cbiAgaWYoY29sb3JzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1jb2xvcnMnKTtcbiAgfVxuXG4gIGlmKGRlYnVnKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1kZWJ1ZycpO1xuICB9XG5cbiAgaWYoZGV0ZWN0T3BlbkhhbmRsZXMpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWRldGVjdE9wZW5IYW5kbGVzJyk7XG4gIH1cblxuICBpZihlbnYpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWVudicpO1xuICB9XG5cbiAgaWYoZXJyb3JPbkRlcHJlY2F0ZWQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWVycm9yT25EZXByZWNhdGVkJyk7XG4gIH1cblxuICBpZihleHBhbmQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWV4cGFuZCcpO1xuICB9XG5cbiAgaWYoZm9yY2VFeGl0KSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1mb3JjZUV4aXQnKTtcbiAgfVxuXG4gIGlmKGpzb24pIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWpzb24nKTtcbiAgfVxuXG4gIGlmKGxhc3RDb21taXQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWxhc3RDb21taXQnKTtcbiAgfVxuXG4gIGlmKGxpc3RUZXN0cykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tbGlzdFRlc3RzJyk7XG4gIH1cblxuICBpZihsb2dIZWFwVXNhZ2UpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLWxvZ0hlYXBVc2FnZScpO1xuICB9XG5cbiAgaWYobWF4V29ya2Vycykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tbWF4V29ya2VycycsIG1heFdvcmtlcnMpO1xuICB9XG5cbiAgaWYobm9TdGFja1RyYWNlKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1ub1N0YWNrVHJhY2UnKTtcbiAgfVxuXG4gIGlmKG5vdGlmeSkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tbm90aWZ5Jyk7XG4gIH1cblxuICBpZihvbmx5Q2hhbmdlZCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tb25seUNoYW5nZWQnKTtcbiAgfVxuXG4gIGxldCB0ZW1wT3V0cHV0RmlsZSA9IG91dHB1dEZpbGU7XG5cbiAgaWYoKHVzZUFuYWx5emUgfHwgdXNlRGVidWcpICYmICFvdXRwdXRGaWxlKSB7XG4gICAgdGVtcE91dHB1dEZpbGUgPSAnLmxleC10ZXN0LXJlc3VsdHMuanNvbic7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1qc29uJywgJy0tb3V0cHV0RmlsZScsIHRlbXBPdXRwdXRGaWxlKTtcbiAgfSBlbHNlIGlmKG91dHB1dEZpbGUpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLW91dHB1dEZpbGUnLCBvdXRwdXRGaWxlKTtcbiAgfVxuXG4gIGlmKHBhc3NXaXRoTm9UZXN0cykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tcGFzc1dpdGhOb1Rlc3RzJyk7XG4gIH1cblxuICBpZihydW5JbkJhbmQpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXJ1bkluQmFuZCcpO1xuICB9XG5cbiAgaWYoc2hvd0NvbmZpZykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tc2hvd0NvbmZpZycpO1xuICB9XG5cbiAgaWYoc2lsZW50KSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS1zaWxlbnQnKTtcbiAgfVxuXG4gIGlmKHRlc3RMb2NhdGlvbkluUmVzdWx0cykge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0tdGVzdExvY2F0aW9uSW5SZXN1bHRzJyk7XG4gIH1cblxuICBpZih0ZXN0TmFtZVBhdHRlcm4pIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXRlc3ROYW1lUGF0dGVybicsIHRlc3ROYW1lUGF0dGVybik7XG4gIH1cblxuICBpZih0ZXN0UGF0aFBhdHRlcm4pIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXRlc3RQYXRoUGF0dGVybnMnLCB0ZXN0UGF0aFBhdHRlcm4pO1xuICB9XG5cbiAgaWYodXNlU3RkZXJyKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS11c2VTdGRlcnInKTtcbiAgfVxuXG4gIGlmKHZlcmJvc2UpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXZlcmJvc2UnKTtcbiAgfVxuXG4gIGlmKHdhdGNoQWxsKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCgnLS13YXRjaEFsbCcpO1xuICB9XG5cbiAgaWYocmVtb3ZlQ2FjaGUpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLW5vLWNhY2hlJyk7XG4gIH1cblxuICBpZihqZXN0U2V0dXBGaWxlICE9PSAnJykge1xuICAgIGNvbnN0IGN3ZDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKGAtLXNldHVwRmlsZXNBZnRlckVudj0ke3BhdGhSZXNvbHZlKGN3ZCwgamVzdFNldHVwRmlsZSl9YCk7XG4gIH1cblxuICBpZih1cGRhdGUpIHtcbiAgICBqZXN0T3B0aW9ucy5wdXNoKCctLXVwZGF0ZVNuYXBzaG90Jyk7XG4gIH1cblxuICBpZih3YXRjaCkge1xuICAgIGplc3RPcHRpb25zLnB1c2goJy0td2F0Y2gnLCB3YXRjaCk7XG4gIH1cblxuICBpZihhcmdzKSB7XG4gICAgamVzdE9wdGlvbnMucHVzaCguLi5hcmdzKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoamVzdFBhdGgsIGplc3RPcHRpb25zLCB7XG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgIH0pO1xuXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdUZXN0aW5nIGNvbXBsZXRlZCEnKTtcblxuICAgIGlmKHVzZUFuYWx5emUpIHtcbiAgICAgIHNwaW5uZXIuc3RhcnQoJ0FJIGlzIGFuYWx5emluZyB0ZXN0IGNvdmVyYWdlIGFuZCBzdWdnZXN0aW5nIGltcHJvdmVtZW50cy4uLicpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0ZXN0UmVzdWx0cyA9IHByb2Nlc3NUZXN0UmVzdWx0cyh0ZW1wT3V0cHV0RmlsZSk7XG4gICAgICAgIGNvbnN0IGZpbGVQYXR0ZXJucyA9IGdldFRlc3RGaWxlUGF0dGVybnModGVzdFBhdGhQYXR0ZXJuKTtcblxuICAgICAgICBhd2FpdCBhaUZ1bmN0aW9uKHtcbiAgICAgICAgICBwcm9tcHQ6IGBBbmFseXplIHRoZXNlIEplc3QgdGVzdCByZXN1bHRzIGFuZCBzdWdnZXN0IHRlc3QgY292ZXJhZ2UgaW1wcm92ZW1lbnRzOlxuXG4ke0pTT04uc3RyaW5naWZ5KHRlc3RSZXN1bHRzLCBudWxsLCAyKX1cblxuVGVzdCBwYXR0ZXJuczogJHtmaWxlUGF0dGVybnMuam9pbignLCAnKX1cblxuUGxlYXNlIHByb3ZpZGU6XG4xLiBBbmFseXNpcyBvZiBjdXJyZW50IGNvdmVyYWdlIGdhcHNcbjIuIFN1Z2dlc3Rpb25zIGZvciBpbXByb3ZpbmcgdGVzdCBjYXNlc1xuMy4gUmVjb21tZW5kYXRpb25zIGZvciBhZGRpdGlvbmFsIGludGVncmF0aW9uIHRlc3Qgc2NlbmFyaW9zXG40LiBCZXN0IHByYWN0aWNlcyBmb3IgaW5jcmVhc2luZyB0ZXN0IGVmZmVjdGl2ZW5lc3NgLFxuICAgICAgICAgIHRhc2s6ICdvcHRpbWl6ZScsXG4gICAgICAgICAgY29udGV4dDogdHJ1ZSxcbiAgICAgICAgICBxdWlldFxuICAgICAgICB9KTtcblxuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoJ0FJIHRlc3QgYW5hbHlzaXMgY29tcGxldGUnKTtcbiAgICAgIH0gY2F0Y2goYWlFcnJvcikge1xuICAgICAgICBzcGlubmVyLmZhaWwoJ0NvdWxkIG5vdCBnZW5lcmF0ZSBBSSB0ZXN0IGFuYWx5c2lzJyk7XG4gICAgICAgIGlmKCFxdWlldCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FJIGFuYWx5c2lzIGVycm9yOicsIGFpRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FsbGJhY2soMCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENoZWNrIGZvciB1bml0IHRlc3QgZXJyb3JzIGFuZC9vciBjb3ZlcmFnZS5gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICBzcGlubmVyLmZhaWwoJ1Rlc3RpbmcgZmFpbGVkIScpO1xuXG4gICAgaWYodXNlRGVidWcpIHtcbiAgICAgIHNwaW5uZXIuc3RhcnQoJ0FJIGlzIGFuYWx5emluZyB0ZXN0IGZhaWx1cmVzLi4uJyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRlc3RSZXN1bHRzID0gcHJvY2Vzc1Rlc3RSZXN1bHRzKHRlbXBPdXRwdXRGaWxlKTtcblxuICAgICAgICBhd2FpdCBhaUZ1bmN0aW9uKHtcbiAgICAgICAgICBwcm9tcHQ6IGBEZWJ1ZyB0aGVzZSBmYWlsZWQgSmVzdCB0ZXN0cyBhbmQgc3VnZ2VzdCBmaXhlczpcblxuJHtKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlLCBudWxsLCAyKX1cblxuVGVzdCByZXN1bHRzOiAke0pTT04uc3RyaW5naWZ5KHRlc3RSZXN1bHRzLCBudWxsLCAyKX1cblxuUGxlYXNlIHByb3ZpZGU6XG4xLiBBbmFseXNpcyBvZiB3aHkgdGhlIHRlc3RzIGFyZSBmYWlsaW5nXG4yLiBTcGVjaWZpYyBzdWdnZXN0aW9ucyB0byBmaXggZWFjaCBmYWlsaW5nIHRlc3RcbjMuIEFueSBwb3RlbnRpYWwgaXNzdWVzIHdpdGggdGVzdCBmaXh0dXJlcyBvciBtb2Nrc1xuNC4gQ29kZSBleGFtcGxlcyBmb3Igc29sdXRpb25zYCxcbiAgICAgICAgICB0YXNrOiAnaGVscCcsXG4gICAgICAgICAgY29udGV4dDogdHJ1ZSxcbiAgICAgICAgICBxdWlldFxuICAgICAgICB9KTtcblxuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoJ0FJIGRlYnVnZ2luZyBhc3Npc3RhbmNlIGNvbXBsZXRlJyk7XG4gICAgICB9IGNhdGNoKGFpRXJyb3IpIHtcbiAgICAgICAgc3Bpbm5lci5mYWlsKCdDb3VsZCBub3QgZ2VuZXJhdGUgQUkgZGVidWdnaW5nIGFzc2lzdGFuY2UnKTtcbiAgICAgICAgaWYoIXF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignQUkgZGVidWdnaW5nIGVycm9yOicsIGFpRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHRlc3Q7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsb0JBQW1CO0FBQzNCLFNBQVEsUUFBUSxnQkFBZTtBQUMvQixTQUFRLFdBQVcsbUJBQWtCO0FBQ3JDLFNBQVEsV0FBVTtBQUVsQixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLHdCQUF1QjtBQUMvQixTQUFRLFdBQVU7QUFDbEIsU0FBUSxrQkFBaUI7QUFtRGxCLE1BQU0sc0JBQXNCLENBQUMsb0JBQXVDO0FBQ3pFLFFBQU0sa0JBQWtCLENBQUMsZUFBZSxlQUFlLG9CQUFvQjtBQUUzRSxNQUFHLENBQUMsaUJBQWlCO0FBQ25CLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxDQUFDLGVBQWU7QUFDekI7QUFFQSxNQUFNLDJCQUEyQixNQUFnQjtBQUMvQyxRQUFNLGNBQWMsU0FBUyw0QkFBNEI7QUFBQSxJQUN2RCxLQUFLLFFBQVEsSUFBSTtBQUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface UpdateOptions {
|
|
2
|
+
readonly cliName?: string;
|
|
3
|
+
readonly interactive?: boolean;
|
|
4
|
+
readonly packageManager?: string;
|
|
5
|
+
readonly quiet?: boolean;
|
|
6
|
+
readonly registry?: string;
|
|
7
|
+
}
|
|
8
|
+
export type UpdateCallback = typeof process.exit;
|
|
9
|
+
export declare const update: (cmd: UpdateOptions, callback?: UpdateCallback) => Promise<number>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -11,31 +11,90 @@ const update = async (cmd, callback = process.exit) => {
|
|
|
11
11
|
const { packageManager: configPackageManager } = LexConfig.config;
|
|
12
12
|
const packageManager = cmdPackageManager || configPackageManager || "npm";
|
|
13
13
|
const isNpm = packageManager === "npm";
|
|
14
|
-
const updateApp = isNpm ? "npx" : "yarn";
|
|
15
14
|
const dirName = new URL(".", import.meta.url).pathname;
|
|
16
15
|
const dirPath = pathResolve(dirName, "../..");
|
|
17
|
-
const updateOptions = isNpm ? [
|
|
18
|
-
"npm-check-updates",
|
|
19
|
-
"--concurrency",
|
|
20
|
-
"10",
|
|
21
|
-
"--packageManager",
|
|
22
|
-
packageManager,
|
|
23
|
-
"--pre",
|
|
24
|
-
"0",
|
|
25
|
-
"--target",
|
|
26
|
-
"latest",
|
|
27
|
-
...cmd.interactive ? ["--interactive"] : [],
|
|
28
|
-
"--upgrade"
|
|
29
|
-
] : [cmd.interactive ? "upgrade-interactive" : "upgrade", "--latest"];
|
|
30
|
-
if (registry) {
|
|
31
|
-
updateOptions.push("--registry", registry);
|
|
32
|
-
}
|
|
33
16
|
try {
|
|
34
|
-
await execa(updateApp, updateOptions, {
|
|
35
|
-
encoding: "utf8",
|
|
36
|
-
stdio: "inherit"
|
|
37
|
-
});
|
|
38
17
|
if (isNpm) {
|
|
18
|
+
let ncuCommand;
|
|
19
|
+
let ncuArgs;
|
|
20
|
+
try {
|
|
21
|
+
ncuCommand = "npx";
|
|
22
|
+
ncuArgs = [
|
|
23
|
+
"npm-check-updates",
|
|
24
|
+
"--concurrency",
|
|
25
|
+
"10",
|
|
26
|
+
"--packageManager",
|
|
27
|
+
packageManager,
|
|
28
|
+
"--pre",
|
|
29
|
+
"0",
|
|
30
|
+
"--target",
|
|
31
|
+
"latest",
|
|
32
|
+
...cmd.interactive ? ["--interactive"] : [],
|
|
33
|
+
"--upgrade"
|
|
34
|
+
];
|
|
35
|
+
if (registry) {
|
|
36
|
+
ncuArgs.push("--registry", registry);
|
|
37
|
+
}
|
|
38
|
+
await execa(ncuCommand, ncuArgs, {
|
|
39
|
+
encoding: "utf8",
|
|
40
|
+
stdio: "inherit"
|
|
41
|
+
});
|
|
42
|
+
} catch (npxError) {
|
|
43
|
+
try {
|
|
44
|
+
ncuCommand = "npm-check-updates";
|
|
45
|
+
ncuArgs = [
|
|
46
|
+
"--concurrency",
|
|
47
|
+
"10",
|
|
48
|
+
"--packageManager",
|
|
49
|
+
packageManager,
|
|
50
|
+
"--pre",
|
|
51
|
+
"0",
|
|
52
|
+
"--target",
|
|
53
|
+
"latest",
|
|
54
|
+
...cmd.interactive ? ["--interactive"] : [],
|
|
55
|
+
"--upgrade"
|
|
56
|
+
];
|
|
57
|
+
if (registry) {
|
|
58
|
+
ncuArgs.push("--registry", registry);
|
|
59
|
+
}
|
|
60
|
+
await execa(ncuCommand, ncuArgs, {
|
|
61
|
+
encoding: "utf8",
|
|
62
|
+
stdio: "inherit"
|
|
63
|
+
});
|
|
64
|
+
} catch (ncuError) {
|
|
65
|
+
log("npm-check-updates not found. Installing it globally...", "info", quiet);
|
|
66
|
+
try {
|
|
67
|
+
await execa("npm", ["install", "-g", "npm-check-updates"], {
|
|
68
|
+
encoding: "utf8",
|
|
69
|
+
stdio: "inherit"
|
|
70
|
+
});
|
|
71
|
+
ncuCommand = "npm-check-updates";
|
|
72
|
+
ncuArgs = [
|
|
73
|
+
"--concurrency",
|
|
74
|
+
"10",
|
|
75
|
+
"--packageManager",
|
|
76
|
+
packageManager,
|
|
77
|
+
"--pre",
|
|
78
|
+
"0",
|
|
79
|
+
"--target",
|
|
80
|
+
"latest",
|
|
81
|
+
...cmd.interactive ? ["--interactive"] : [],
|
|
82
|
+
"--upgrade"
|
|
83
|
+
];
|
|
84
|
+
if (registry) {
|
|
85
|
+
ncuArgs.push("--registry", registry);
|
|
86
|
+
}
|
|
87
|
+
await execa(ncuCommand, ncuArgs, {
|
|
88
|
+
encoding: "utf8",
|
|
89
|
+
stdio: "inherit"
|
|
90
|
+
});
|
|
91
|
+
} catch (installError) {
|
|
92
|
+
log(`Failed to install or use npm-check-updates: ${installError.message}`, "error", quiet);
|
|
93
|
+
log("Please install npm-check-updates manually: npm install -g npm-check-updates", "info", quiet);
|
|
94
|
+
throw installError;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
39
98
|
await execa("npm", ["i", "--force"], {
|
|
40
99
|
encoding: "utf8",
|
|
41
100
|
stdio: "inherit"
|
|
@@ -44,6 +103,16 @@ const update = async (cmd, callback = process.exit) => {
|
|
|
44
103
|
encoding: "utf8",
|
|
45
104
|
stdio: "inherit"
|
|
46
105
|
});
|
|
106
|
+
} else {
|
|
107
|
+
const updateApp = "yarn";
|
|
108
|
+
const updateOptions = [cmd.interactive ? "upgrade-interactive" : "upgrade", "--latest"];
|
|
109
|
+
if (registry) {
|
|
110
|
+
updateOptions.push("--registry", registry);
|
|
111
|
+
}
|
|
112
|
+
await execa(updateApp, updateOptions, {
|
|
113
|
+
encoding: "utf8",
|
|
114
|
+
stdio: "inherit"
|
|
115
|
+
});
|
|
47
116
|
}
|
|
48
117
|
spinner.succeed("Successfully updated packages!");
|
|
49
118
|
callback(0);
|
|
@@ -51,7 +120,7 @@ const update = async (cmd, callback = process.exit) => {
|
|
|
51
120
|
} catch (error) {
|
|
52
121
|
log(`
|
|
53
122
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
54
|
-
spinner.fail("Failed to
|
|
123
|
+
spinner.fail("Failed to update packages.");
|
|
55
124
|
callback(1);
|
|
56
125
|
return 1;
|
|
57
126
|
}
|
|
@@ -59,4 +128,4 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
59
128
|
export {
|
|
60
129
|
update
|
|
61
130
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3VwZGF0ZS91cGRhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3Jlc29sdmUgYXMgcGF0aFJlc29sdmV9IGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Bpbm5lcn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi8uLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9wdGlvbnMge1xuICByZWFkb25seSBjbGlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBpbnRlcmFjdGl2ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJlZ2lzdHJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBVcGRhdGVDYWxsYmFjayA9IHR5cGVvZiBwcm9jZXNzLmV4aXQ7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGUgPSBhc3luYyAoY21kOiBVcGRhdGVPcHRpb25zLCBjYWxsYmFjazogVXBkYXRlQ2FsbGJhY2sgPSBwcm9jZXNzLmV4aXQpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBwYWNrYWdlTWFuYWdlcjogY21kUGFja2FnZU1hbmFnZXIsIHF1aWV0LCByZWdpc3RyeX0gPSBjbWQ7XG5cbiAgbG9nKGAke2NsaU5hbWV9IHVwZGF0aW5nIHBhY2thZ2VzLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGNvbnN0IHtwYWNrYWdlTWFuYWdlcjogY29uZmlnUGFja2FnZU1hbmFnZXJ9ID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgY29uc3QgcGFja2FnZU1hbmFnZXI6IHN0cmluZyA9IGNtZFBhY2thZ2VNYW5hZ2VyIHx8IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyIHx8ICducG0nO1xuICBjb25zdCBpc05wbTogYm9vbGVhbiA9IHBhY2thZ2VNYW5hZ2VyID09PSAnbnBtJztcbiAgY29uc3QgZGlyTmFtZSA9IG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpLnBhdGhuYW1lO1xuICBjb25zdCBkaXJQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4nKTtcblxuICB0cnkge1xuICAgIGlmKGlzTnBtKSB7XG4gICAgICAvLyBUcnkgdG8gdXNlIG5wbS1jaGVjay11cGRhdGVzIHdpdGggZGlmZmVyZW50IGFwcHJvYWNoZXNcbiAgICAgIGxldCBuY3VDb21tYW5kOiBzdHJpbmc7XG4gICAgICBsZXQgbmN1QXJnczogc3RyaW5nW107XG5cbiAgICAgIC8vIEZpcnN0IHRyeTogVXNlIG5weCB3aXRoIG5wbS1jaGVjay11cGRhdGVzXG4gICAgICB0cnkge1xuICAgICAgICBuY3VDb21tYW5kID0gJ25weCc7XG4gICAgICAgIG5jdUFyZ3MgPSBbXG4gICAgICAgICAgJ25wbS1jaGVjay11cGRhdGVzJyxcbiAgICAgICAgICAnLS1jb25jdXJyZW5jeScsICcxMCcsXG4gICAgICAgICAgJy0tcGFja2FnZU1hbmFnZXInLCBwYWNrYWdlTWFuYWdlcixcbiAgICAgICAgICAnLS1wcmUnLCAnMCcsXG4gICAgICAgICAgJy0tdGFyZ2V0JywgJ2xhdGVzdCcsXG4gICAgICAgICAgLi4uKGNtZC5pbnRlcmFjdGl2ZSA/IFsnLS1pbnRlcmFjdGl2ZSddIDogW10pLFxuICAgICAgICAgICctLXVwZ3JhZGUnXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYocmVnaXN0cnkpIHtcbiAgICAgICAgICBuY3VBcmdzLnB1c2goJy0tcmVnaXN0cnknLCByZWdpc3RyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBleGVjYShuY3VDb21tYW5kLCBuY3VBcmdzLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaChucHhFcnJvcikge1xuICAgICAgICAvLyBTZWNvbmQgdHJ5OiBVc2UgbnBtLWNoZWNrLXVwZGF0ZXMgZGlyZWN0bHkgKGlmIGluc3RhbGxlZCBnbG9iYWxseSlcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBuY3VDb21tYW5kID0gJ25wbS1jaGVjay11cGRhdGVzJztcbiAgICAgICAgICBuY3VBcmdzID0gW1xuICAgICAgICAgICAgJy0tY29uY3VycmVuY3knLCAnMTAnLFxuICAgICAgICAgICAgJy0tcGFja2FnZU1hbmFnZXInLCBwYWNrYWdlTWFuYWdlcixcbiAgICAgICAgICAgICctLXByZScsICcwJyxcbiAgICAgICAgICAgICctLXRhcmdldCcsICdsYXRlc3QnLFxuICAgICAgICAgICAgLi4uKGNtZC5pbnRlcmFjdGl2ZSA/IFsnLS1pbnRlcmFjdGl2ZSddIDogW10pLFxuICAgICAgICAgICAgJy0tdXBncmFkZSdcbiAgICAgICAgICBdO1xuXG4gICAgICAgICAgaWYocmVnaXN0cnkpIHtcbiAgICAgICAgICAgIG5jdUFyZ3MucHVzaCgnLS1yZWdpc3RyeScsIHJlZ2lzdHJ5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhd2FpdCBleGVjYShuY3VDb21tYW5kLCBuY3VBcmdzLCB7XG4gICAgICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoKG5jdUVycm9yKSB7XG4gICAgICAgICAgLy8gVGhpcmQgdHJ5OiBJbnN0YWxsIG5wbS1jaGVjay11cGRhdGVzIGdsb2JhbGx5IGFuZCB1c2UgaXRcbiAgICAgICAgICBsb2coJ25wbS1jaGVjay11cGRhdGVzIG5vdCBmb3VuZC4gSW5zdGFsbGluZyBpdCBnbG9iYWxseS4uLicsICdpbmZvJywgcXVpZXQpO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGV4ZWNhKCducG0nLCBbJ2luc3RhbGwnLCAnLWcnLCAnbnBtLWNoZWNrLXVwZGF0ZXMnXSwge1xuICAgICAgICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmN1Q29tbWFuZCA9ICducG0tY2hlY2stdXBkYXRlcyc7XG4gICAgICAgICAgICBuY3VBcmdzID0gW1xuICAgICAgICAgICAgICAnLS1jb25jdXJyZW5jeScsICcxMCcsXG4gICAgICAgICAgICAgICctLXBhY2thZ2VNYW5hZ2VyJywgcGFja2FnZU1hbmFnZXIsXG4gICAgICAgICAgICAgICctLXByZScsICcwJyxcbiAgICAgICAgICAgICAgJy0tdGFyZ2V0JywgJ2xhdGVzdCcsXG4gICAgICAgICAgICAgIC4uLihjbWQuaW50ZXJhY3RpdmUgPyBbJy0taW50ZXJhY3RpdmUnXSA6IFtdKSxcbiAgICAgICAgICAgICAgJy0tdXBncmFkZSdcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIGlmKHJlZ2lzdHJ5KSB7XG4gICAgICAgICAgICAgIG5jdUFyZ3MucHVzaCgnLS1yZWdpc3RyeScsIHJlZ2lzdHJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgZXhlY2EobmN1Q29tbWFuZCwgbmN1QXJncywge1xuICAgICAgICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGNhdGNoKGluc3RhbGxFcnJvcikge1xuICAgICAgICAgICAgbG9nKGBGYWlsZWQgdG8gaW5zdGFsbCBvciB1c2UgbnBtLWNoZWNrLXVwZGF0ZXM6ICR7aW5zdGFsbEVycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICAgICAgbG9nKCdQbGVhc2UgaW5zdGFsbCBucG0tY2hlY2stdXBkYXRlcyBtYW51YWxseTogbnBtIGluc3RhbGwgLWcgbnBtLWNoZWNrLXVwZGF0ZXMnLCAnaW5mbycsIHF1aWV0KTtcbiAgICAgICAgICAgIHRocm93IGluc3RhbGxFcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWZ0ZXIgc3VjY2Vzc2Z1bCB1cGRhdGUsIHJ1biBucG0gaW5zdGFsbCBhbmQgYXVkaXQgZml4XG4gICAgICBhd2FpdCBleGVjYSgnbnBtJywgWydpJywgJy0tZm9yY2UnXSwge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZXhlY2EoJ25wbScsIFsnYXVkaXQnLCAnZml4J10sIHtcbiAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZSB5YXJuXG4gICAgICBjb25zdCB1cGRhdGVBcHAgPSAneWFybic7XG4gICAgICBjb25zdCB1cGRhdGVPcHRpb25zOiBzdHJpbmdbXSA9IFtjbWQuaW50ZXJhY3RpdmUgPyAndXBncmFkZS1pbnRlcmFjdGl2ZScgOiAndXBncmFkZScsICctLWxhdGVzdCddO1xuXG4gICAgICBpZihyZWdpc3RyeSkge1xuICAgICAgICB1cGRhdGVPcHRpb25zLnB1c2goJy0tcmVnaXN0cnknLCByZWdpc3RyeSk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGV4ZWNhKHVwZGF0ZUFwcCwgdXBkYXRlT3B0aW9ucywge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSB1cGRhdGVkIHBhY2thZ2VzIScpO1xuXG4gICAgY2FsbGJhY2soMCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byB1cGRhdGUgcGFja2FnZXMuJyk7XG5cbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufTsiXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGFBQVk7QUFDcEIsU0FBUSxXQUFXLG1CQUFrQjtBQUVyQyxTQUFRLGlCQUFnQjtBQUN4QixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLFdBQVU7QUFZWCxNQUFNLFNBQVMsT0FBTyxLQUFvQixXQUEyQixRQUFRLFNBQTBCO0FBQzVHLFFBQU0sRUFBQyxVQUFVLE9BQU8sZ0JBQWdCLG1CQUFtQixPQUFPLFNBQVEsSUFBSTtBQUU5RSxNQUFJLEdBQUcsT0FBTyx5QkFBeUIsUUFBUSxLQUFLO0FBRXBELFFBQU0sVUFBVSxjQUFjLEtBQUs7QUFFbkMsUUFBTSxVQUFVLFlBQVksR0FBRztBQUUvQixRQUFNLEVBQUMsZ0JBQWdCLHFCQUFvQixJQUFJLFVBQVU7QUFDekQsUUFBTSxpQkFBeUIscUJBQXFCLHdCQUF3QjtBQUM1RSxRQUFNLFFBQWlCLG1CQUFtQjtBQUMxQyxRQUFNLFVBQVUsSUFBSSxJQUFJLEtBQUssWUFBWSxHQUFHLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface UpgradeOptions {
|
|
2
|
+
readonly cliName?: string;
|
|
3
|
+
readonly cliPackage?: string;
|
|
4
|
+
readonly quiet?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type UpgradeCallback = typeof process.exit;
|
|
7
|
+
export declare const upgrade: (cmd: UpgradeOptions, callback?: UpgradeCallback) => Promise<number>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const parseVersion: (packageVersion: string) => string;
|
|
2
|
+
export declare const packages: {
|
|
3
|
+
esbuild: string;
|
|
4
|
+
jest: string;
|
|
5
|
+
lex: any;
|
|
6
|
+
typescript: string;
|
|
7
|
+
webpack: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const jsonVersions: (lexPackages: any) => {};
|
|
10
|
+
export interface VersionsCmd {
|
|
11
|
+
readonly json?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const versions: (cmd: VersionsCmd, callback: (status: number) => void) => Promise<number>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
import type { LexConfigType } from './LexConfig.js';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export { LexConfig, defaultConfigValues } from './LexConfig.js';
|
|
8
|
+
export declare const Config: {
|
|
9
|
+
create: (config: LexConfigType) => LexConfigType;
|
|
10
|
+
};
|
|
11
|
+
export * from './utils/aiService.js';
|
|
12
|
+
export * from './utils/app.js';
|
|
13
|
+
export * from './utils/file.js';
|
|
14
|
+
export * from './utils/log.js';
|
|
15
|
+
export * from './commands/ai/ai.js';
|
|
16
|
+
export * from './commands/build/build.js';
|
|
17
|
+
export * from './commands/clean/clean.js';
|
|
18
|
+
export * from './commands/compile/compile.js';
|
|
19
|
+
export * from './commands/config/config.js';
|
|
20
|
+
export * from './commands/copy/copy.js';
|
|
21
|
+
export * from './commands/create/create.js';
|
|
22
|
+
export * from './commands/dev/dev.js';
|
|
23
|
+
export * from './commands/init/init.js';
|
|
24
|
+
export * from './commands/link/link.js';
|
|
25
|
+
export * from './commands/lint/lint.js';
|
|
26
|
+
export * from './commands/migrate/migrate.js';
|
|
27
|
+
export * from './commands/publish/publish.js';
|
|
28
|
+
export * from './commands/test/test.js';
|
|
29
|
+
export * from './commands/update/update.js';
|
|
30
|
+
export * from './commands/upgrade/upgrade.js';
|
|
31
|
+
export * from './commands/versions/versions.js';
|
package/dist/lex.d.ts
ADDED
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AIConfig } from '../LexConfig.js';
|
|
2
|
+
export declare const callCursorAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
3
|
+
export declare const callOpenAIAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
4
|
+
export declare const callAnthropicAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
5
|
+
export declare const callCopilotAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
6
|
+
export declare const promptForAIProvider: (quiet?: boolean) => Promise<"cursor" | "copilot" | "openai" | "anthropic" | "none">;
|
|
7
|
+
export declare const promptForAPIKey: (provider: string, quiet?: boolean) => Promise<string>;
|
|
8
|
+
export declare const getAIService: (provider: string, options: AIConfig) => (prompt: string, options: AIConfig) => Promise<string>;
|
|
9
|
+
export declare const callAIService: (prompt: string, quiet?: boolean) => Promise<string>;
|