@nlabs/lex 1.39.1 → 1.42.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/.eslintrc +1 -0
- package/.vscode/settings.json +1 -1
- package/babel.config.json +13 -0
- package/dist/LexConfig.js +30 -26
- package/dist/commands/build.js +96 -49
- package/dist/commands/bulid.test.js +314 -5
- package/dist/commands/clean.js +4 -4
- package/dist/commands/clean.test.js +63 -0
- package/dist/commands/compile.js +32 -40
- package/dist/commands/compile.test.js +93 -0
- package/dist/commands/config.js +2 -2
- package/dist/commands/copy.js +1 -1
- package/dist/commands/create.js +4 -4
- package/dist/commands/dev.js +7 -7
- package/dist/commands/init.js +13 -13
- package/dist/commands/link.js +3 -3
- package/dist/commands/lint.js +50 -36
- package/dist/commands/migrate.js +4 -4
- package/dist/commands/publish.js +7 -7
- package/dist/commands/test.js +9 -9
- package/dist/commands/update.js +10 -10
- package/dist/commands/upgrade.js +7 -7
- package/dist/commands/versions.js +8 -9
- package/dist/commands/versions.test.js +49 -0
- package/dist/create/changelog.js +1 -1
- package/dist/lex.js +16 -16
- package/dist/lint.js +8 -0
- package/dist/utils/app.js +1 -1
- package/dist/utils/file.js +4 -4
- package/jest.config.cjs +55 -0
- package/jest.config.lex.js +27 -28
- package/jest.setup.ts +3 -0
- package/package.json +83 -78
- package/resolver.cjs +86 -0
- package/test/javascript.js +6 -0
- package/test/typescript.ts +6 -0
- package/tsconfig.build.json +1 -1
- package/tsconfig.json +1 -1
- package/tsconfig.template.json +7 -9
- package/webpack.config.js +81 -68
- package/dist/resolver.js +0 -70
- package/jest.config.js +0 -14
- package/jest.setup.js +0 -3
package/dist/commands/upgrade.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import compareVersions from "compare-versions";
|
|
1
|
+
import { compareVersions } from "compare-versions";
|
|
2
2
|
import { execa } from "execa";
|
|
3
3
|
import latestVersion from "latest-version";
|
|
4
4
|
import packageJson from "../../package.json" assert { type: "json" };
|
|
@@ -6,11 +6,11 @@ import { LexConfig } from "../LexConfig.js";
|
|
|
6
6
|
import { createSpinner } from "../utils/app.js";
|
|
7
7
|
import { log } from "../utils/log.js";
|
|
8
8
|
import { parseVersion } from "./versions.js";
|
|
9
|
-
const upgrade = (cmd, callback = process.exit) => {
|
|
9
|
+
const upgrade = async (cmd, callback = process.exit) => {
|
|
10
10
|
const { cliName = "Lex", cliPackage = "@nlabs/lex", quiet } = cmd;
|
|
11
11
|
log(`Upgrading ${cliName}...`, "info", quiet);
|
|
12
12
|
const spinner = createSpinner(quiet);
|
|
13
|
-
LexConfig.parseConfig(cmd);
|
|
13
|
+
await LexConfig.parseConfig(cmd);
|
|
14
14
|
return latestVersion("@nlabs/lex").then(async (latest) => {
|
|
15
15
|
const current = parseVersion(packageJson.version);
|
|
16
16
|
const versionDiff = compareVersions(latest, current);
|
|
@@ -24,7 +24,7 @@ Currently up-to-date. Version ${latest} is the latest.`, "note", quiet);
|
|
|
24
24
|
Currently out of date. Upgrading from version ${current} to ${latest}...`, "note", quiet);
|
|
25
25
|
const upgradeOptions = ["install", "-g", `${cliPackage}@latest`];
|
|
26
26
|
await execa("npm", upgradeOptions, {
|
|
27
|
-
encoding: "
|
|
27
|
+
encoding: "utf8",
|
|
28
28
|
stdio: "inherit"
|
|
29
29
|
});
|
|
30
30
|
spinner.succeed(`Successfully updated ${cliName}!`);
|
|
@@ -34,11 +34,11 @@ Currently out of date. Upgrading from version ${current} to ${latest}...`, "note
|
|
|
34
34
|
log(`
|
|
35
35
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
36
36
|
spinner.fail("Failed to updated packages.");
|
|
37
|
-
callback(
|
|
38
|
-
return
|
|
37
|
+
callback(1);
|
|
38
|
+
return 1;
|
|
39
39
|
});
|
|
40
40
|
};
|
|
41
41
|
export {
|
|
42
42
|
upgrade
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL3VwZ3JhZGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2NvbXBhcmVWZXJzaW9uc30gZnJvbSAnY29tcGFyZS12ZXJzaW9ucyc7XG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQgbGF0ZXN0VmVyc2lvbiBmcm9tICdsYXRlc3QtdmVyc2lvbic7XG5cbmltcG9ydCBwYWNrYWdlSnNvbiBmcm9tICcuLi8uLi9wYWNrYWdlLmpzb24nIGFzc2VydCB7dHlwZTogJ2pzb24nfTtcbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5pbXBvcnQge3BhcnNlVmVyc2lvbn0gZnJvbSAnLi92ZXJzaW9ucy5qcyc7XG5cbmV4cG9ydCBjb25zdCB1cGdyYWRlID0gYXN5bmMgKGNtZDogYW55LCBjYWxsYmFjazogYW55ID0gcHJvY2Vzcy5leGl0KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgY2xpUGFja2FnZSA9ICdAbmxhYnMvbGV4JywgcXVpZXR9ID0gY21kO1xuXG4gIC8vIERpc3BsYXkgc3RhdHVzXG4gIGxvZyhgVXBncmFkaW5nICR7Y2xpTmFtZX0uLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBHZXQgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgYXdhaXQgTGV4Q29uZmlnLnBhcnNlQ29uZmlnKGNtZCk7XG5cbiAgcmV0dXJuIGxhdGVzdFZlcnNpb24oJ0BubGFicy9sZXgnKVxuICAgIC50aGVuKGFzeW5jIChsYXRlc3Q6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY3VycmVudDogc3RyaW5nID0gcGFyc2VWZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24pO1xuICAgICAgY29uc3QgdmVyc2lvbkRpZmY6IG51bWJlciA9IGNvbXBhcmVWZXJzaW9ucyhsYXRlc3QsIGN1cnJlbnQpO1xuXG4gICAgICBpZih2ZXJzaW9uRGlmZiA9PT0gMCkge1xuICAgICAgICBsb2coYFxcbkN1cnJlbnRseSB1cC10by1kYXRlLiBWZXJzaW9uICR7bGF0ZXN0fSBpcyB0aGUgbGF0ZXN0LmAsICdub3RlJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygwKTtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGxvZyhgXFxuQ3VycmVudGx5IG91dCBvZiBkYXRlLiBVcGdyYWRpbmcgZnJvbSB2ZXJzaW9uICR7Y3VycmVudH0gdG8gJHtsYXRlc3R9Li4uYCwgJ25vdGUnLCBxdWlldCk7XG5cbiAgICAgIGNvbnN0IHVwZ3JhZGVPcHRpb25zOiBzdHJpbmdbXSA9IFsnaW5zdGFsbCcsICctZycsIGAke2NsaVBhY2thZ2V9QGxhdGVzdGBdO1xuXG4gICAgICBhd2FpdCBleGVjYSgnbnBtJywgdXBncmFkZU9wdGlvbnMsIHtcbiAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFN0b3AgbG9hZGVyXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSB1cGRhdGVkICR7Y2xpTmFtZX0hYCk7XG5cbiAgICAgIC8vIFN0b3AgcHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMCk7XG4gICAgICByZXR1cm4gMDtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIHVwZGF0ZWQgcGFja2FnZXMuJyk7XG5cbiAgICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLHVCQUFzQjtBQUM5QixTQUFRLGFBQVk7QUFDcEIsT0FBTyxtQkFBbUI7QUFFMUIsT0FBTyxpQkFBaUIscUJBQXFCLE9BQU8sRUFBQyxNQUFNLE9BQU07QUFDakUsU0FBUSxpQkFBZ0I7QUFDeEIsU0FBUSxxQkFBb0I7QUFDNUIsU0FBUSxXQUFVO0FBQ2xCLFNBQVEsb0JBQW1CO0FBRXBCLE1BQU0sVUFBVSxPQUFPLEtBQVUsV0FBZ0IsUUFBUSxTQUEwQjtBQUN4RixRQUFNLEVBQUMsVUFBVSxPQUFPLGFBQWEsY0FBYyxNQUFLLElBQUk7QUFHNUQsTUFBSSxhQUFhLE9BQU8sT0FBTyxRQUFRLEtBQUs7QUFHNUMsUUFBTSxVQUFVLGNBQWMsS0FBSztBQUduQyxRQUFNLFVBQVUsWUFBWSxHQUFHO0FBRS9CLFNBQU8sY0FBYyxZQUFZLEVBQzlCLEtBQUssT0FBTyxXQUFtQjtBQUM5QixVQUFNLFVBQWtCLGFBQWEsWUFBWSxPQUFPO0FBQ3hELFVBQU0sY0FBc0IsZ0JBQWdCLFFBQVEsT0FBTztBQUUzRCxRQUFHLGdCQUFnQixHQUFHO0FBQ3BCLFVBQUk7QUFBQSxnQ0FBbUMsTUFBTSxtQkFBbUIsUUFBUSxLQUFLO0FBQzdFLGVBQVMsQ0FBQztBQUNWLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSTtBQUFBLGdEQUFtRCxPQUFPLE9BQU8sTUFBTSxPQUFPLFFBQVEsS0FBSztBQUUvRixVQUFNLGlCQUEyQixDQUFDLFdBQVcsTUFBTSxHQUFHLFVBQVUsU0FBUztBQUV6RSxVQUFNLE1BQU0sT0FBTyxnQkFBZ0I7QUFBQSxNQUNqQyxVQUFVO0FBQUEsTUFDVixPQUFPO0FBQUEsSUFDVCxDQUFDO0FBR0QsWUFBUSxRQUFRLHdCQUF3QixPQUFPLEdBQUc7QUFHbEQsYUFBUyxDQUFDO0FBQ1YsV0FBTztBQUFBLEVBQ1QsQ0FBQyxFQUNBLE1BQU0sQ0FBQyxVQUFVO0FBRWhCLFFBQUk7QUFBQSxFQUFLLE9BQU8sV0FBVyxNQUFNLE9BQU8sSUFBSSxTQUFTLEtBQUs7QUFHMUQsWUFBUSxLQUFLLDZCQUE2QjtBQUcxQyxhQUFTLENBQUM7QUFDVixXQUFPO0FBQUEsRUFDVCxDQUFDO0FBQ0w7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import packageJson from "../../package.json" assert { type: "json" };
|
|
2
2
|
import { log } from "../utils/log.js";
|
|
3
|
-
const parseVersion = (packageVersion
|
|
3
|
+
const parseVersion = (packageVersion) => packageVersion?.replace(/\^/g, "");
|
|
4
4
|
const packages = {
|
|
5
5
|
esbuild: parseVersion(packageJson.dependencies.esbuild),
|
|
6
6
|
jest: parseVersion(packageJson.dependencies.jest),
|
|
@@ -8,16 +8,13 @@ const packages = {
|
|
|
8
8
|
typescript: parseVersion(packageJson.dependencies.typescript),
|
|
9
9
|
webpack: parseVersion(packageJson.dependencies.webpack)
|
|
10
10
|
};
|
|
11
|
-
const jsonVersions = () => Object.keys(
|
|
11
|
+
const jsonVersions = (lexPackages) => Object.keys(lexPackages).reduce((list, key) => {
|
|
12
12
|
list[key] = packages[key];
|
|
13
13
|
return list;
|
|
14
14
|
}, {});
|
|
15
|
-
const versions = (cmd, callback
|
|
15
|
+
const versions = (cmd, callback) => {
|
|
16
16
|
if (cmd.json) {
|
|
17
|
-
console.log(JSON.stringify(
|
|
18
|
-
list[key] = packages[key];
|
|
19
|
-
return list;
|
|
20
|
-
}, {})));
|
|
17
|
+
console.log(JSON.stringify(jsonVersions(packages)));
|
|
21
18
|
} else {
|
|
22
19
|
log("Versions:", "info", false);
|
|
23
20
|
log(` Lex: ${packages.lex}`, "info", false);
|
|
@@ -27,7 +24,9 @@ const versions = (cmd, callback = () => 0) => {
|
|
|
27
24
|
log(` Typescript: ${packages.typescript}`, "info", false);
|
|
28
25
|
log(` Webpack: ${packages.webpack}`, "info", false);
|
|
29
26
|
}
|
|
30
|
-
callback
|
|
27
|
+
if (callback) {
|
|
28
|
+
callback(0);
|
|
29
|
+
}
|
|
31
30
|
return Promise.resolve(0);
|
|
32
31
|
};
|
|
33
32
|
export {
|
|
@@ -36,4 +35,4 @@ export {
|
|
|
36
35
|
parseVersion,
|
|
37
36
|
versions
|
|
38
37
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL3ZlcnNpb25zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHBhY2thZ2VKc29uIGZyb20gJy4uLy4uL3BhY2thZ2UuanNvbicgYXNzZXJ0IHt0eXBlOidqc29uJ307XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlVmVyc2lvbiA9IChwYWNrYWdlVmVyc2lvbjogc3RyaW5nKTogc3RyaW5nID0+IHBhY2thZ2VWZXJzaW9uPy5yZXBsYWNlKC9cXF4vZywgJycpO1xuXG5leHBvcnQgY29uc3QgcGFja2FnZXMgPSB7XG4gIGVzYnVpbGQ6IHBhcnNlVmVyc2lvbihwYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMuZXNidWlsZCksXG4gIGplc3Q6IHBhcnNlVmVyc2lvbihwYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMuamVzdCksXG4gIGxleDogcGFja2FnZUpzb24udmVyc2lvbixcbiAgdHlwZXNjcmlwdDogcGFyc2VWZXJzaW9uKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcy50eXBlc2NyaXB0KSxcbiAgd2VicGFjazogcGFyc2VWZXJzaW9uKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcy53ZWJwYWNrKVxufTtcblxuZXhwb3J0IGNvbnN0IGpzb25WZXJzaW9ucyA9IChsZXhQYWNrYWdlcykgPT4gT2JqZWN0LmtleXMobGV4UGFja2FnZXMpLnJlZHVjZSgobGlzdCwga2V5KSA9PiB7XG4gIGxpc3Rba2V5XSA9IHBhY2thZ2VzW2tleV07XG4gIHJldHVybiBsaXN0O1xufSwge30pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNpb25zQ21kIHtcbiAgcmVhZG9ubHkganNvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCB2ZXJzaW9ucyA9IChjbWQ6IFZlcnNpb25zQ21kLCBjYWxsYmFjazogKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgaWYoY21kLmpzb24pIHtcbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uVmVyc2lvbnMocGFja2FnZXMpKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdWZXJzaW9uczonLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coYCAgTGV4OiAke3BhY2thZ2VzLmxleH1gLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coJyAgLS0tLS0tLS0tLScsICdub3RlJywgZmFsc2UpO1xuICAgIGxvZyhgICBFU0J1aWxkOiAke3BhY2thZ2VzLmVzYnVpbGR9YCwgJ2luZm8nLCBmYWxzZSk7XG4gICAgbG9nKGAgIEplc3Q6ICR7cGFja2FnZXMuamVzdH1gLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coYCAgVHlwZXNjcmlwdDogJHtwYWNrYWdlcy50eXBlc2NyaXB0fWAsICdpbmZvJywgZmFsc2UpO1xuICAgIGxvZyhgICBXZWJwYWNrOiAke3BhY2thZ2VzLndlYnBhY2t9YCwgJ2luZm8nLCBmYWxzZSk7XG4gIH1cblxuICBpZihjYWxsYmFjaykge1xuICAgIGNhbGxiYWNrKDApO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFLQSxPQUFPLGlCQUFpQixxQkFBcUIsT0FBTyxFQUFDLE1BQUssT0FBTTtBQUNoRSxTQUFRLFdBQVU7QUFFWCxNQUFNLGVBQWUsQ0FBQyxtQkFBbUMsZ0JBQWdCLFFBQVEsT0FBTyxFQUFFO0FBRTFGLE1BQU0sV0FBVztBQUFBLEVBQ3RCLFNBQVMsYUFBYSxZQUFZLGFBQWEsT0FBTztBQUFBLEVBQ3RELE1BQU0sYUFBYSxZQUFZLGFBQWEsSUFBSTtBQUFBLEVBQ2hELEtBQUssWUFBWTtBQUFBLEVBQ2pCLFlBQVksYUFBYSxZQUFZLGFBQWEsVUFBVTtBQUFBLEVBQzVELFNBQVMsYUFBYSxZQUFZLGFBQWEsT0FBTztBQUN4RDtBQUVPLE1BQU0sZUFBZSxDQUFDLGdCQUFnQixPQUFPLEtBQUssV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLFFBQVE7QUFDMUYsT0FBSyxHQUFHLElBQUksU0FBUyxHQUFHO0FBQ3hCLFNBQU87QUFDVCxHQUFHLENBQUMsQ0FBQztBQU1FLE1BQU0sV0FBVyxDQUFDLEtBQWtCLGFBQXdEO0FBQ2pHLE1BQUcsSUFBSSxNQUFNO0FBQ1gsWUFBUSxJQUFJLEtBQUssVUFBVSxhQUFhLFFBQVEsQ0FBQyxDQUFDO0FBQUEsRUFDcEQsT0FBTztBQUNMLFFBQUksYUFBYSxRQUFRLEtBQUs7QUFDOUIsUUFBSSxVQUFVLFNBQVMsR0FBRyxJQUFJLFFBQVEsS0FBSztBQUMzQyxRQUFJLGdCQUFnQixRQUFRLEtBQUs7QUFDakMsUUFBSSxjQUFjLFNBQVMsT0FBTyxJQUFJLFFBQVEsS0FBSztBQUNuRCxRQUFJLFdBQVcsU0FBUyxJQUFJLElBQUksUUFBUSxLQUFLO0FBQzdDLFFBQUksaUJBQWlCLFNBQVMsVUFBVSxJQUFJLFFBQVEsS0FBSztBQUN6RCxRQUFJLGNBQWMsU0FBUyxPQUFPLElBQUksUUFBUSxLQUFLO0FBQUEsRUFDckQ7QUFFQSxNQUFHLFVBQVU7QUFDWCxhQUFTLENBQUM7QUFBQSxFQUNaO0FBRUEsU0FBTyxRQUFRLFFBQVEsQ0FBQztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsonVersions, packages, parseVersion, versions } from "./versions.js";
|
|
2
|
+
import { log } from "../utils/log.js";
|
|
3
|
+
jest.mock("../utils/log", () => ({
|
|
4
|
+
log: jest.fn()
|
|
5
|
+
}));
|
|
6
|
+
describe("versions", () => {
|
|
7
|
+
let oldConsole;
|
|
8
|
+
beforeAll(() => {
|
|
9
|
+
oldConsole = { ...console };
|
|
10
|
+
console = {
|
|
11
|
+
...oldConsole,
|
|
12
|
+
debug: jest.fn(),
|
|
13
|
+
error: jest.fn(),
|
|
14
|
+
log: jest.fn(),
|
|
15
|
+
warn: jest.fn()
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
afterAll(() => {
|
|
19
|
+
console = { ...oldConsole };
|
|
20
|
+
jest.resetAllMocks();
|
|
21
|
+
});
|
|
22
|
+
it("should log correct versions", async () => {
|
|
23
|
+
const callback = jest.fn();
|
|
24
|
+
const status = await versions({ json: false }, callback);
|
|
25
|
+
expect(status).toBe(0);
|
|
26
|
+
expect(callback).toHaveBeenCalledWith(0);
|
|
27
|
+
expect(log).toHaveBeenCalledWith("Versions:", "info", false);
|
|
28
|
+
});
|
|
29
|
+
it("should display correct versions in json format", async () => {
|
|
30
|
+
const callback = jest.fn();
|
|
31
|
+
const status = await versions({ json: true }, callback);
|
|
32
|
+
expect(status).toBe(0);
|
|
33
|
+
expect(callback).toHaveBeenCalledWith(0);
|
|
34
|
+
expect(log).toHaveBeenCalledWith("Versions:", "info", false);
|
|
35
|
+
});
|
|
36
|
+
describe("jsonVersions", () => {
|
|
37
|
+
it("should get package versions", async () => {
|
|
38
|
+
const packageVersions = jsonVersions(packages);
|
|
39
|
+
expect(packageVersions).toEqual(packages);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe("parseVersion", () => {
|
|
43
|
+
it("should parse version", async () => {
|
|
44
|
+
const version = parseVersion("^1.5.0");
|
|
45
|
+
expect(version).toEqual("1.5.0");
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL3ZlcnNpb25zLnRlc3QudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7anNvblZlcnNpb25zLCBwYWNrYWdlcywgcGFyc2VWZXJzaW9uLCB2ZXJzaW9uc30gZnJvbSAnLi92ZXJzaW9ucy5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuamVzdC5tb2NrKCcuLi91dGlscy9sb2cnLCAoKSA9PiAoe1xuICBsb2c6IGplc3QuZm4oKVxufSkpO1xuXG5kZXNjcmliZSgndmVyc2lvbnMnLCAoKSA9PiB7XG4gIGxldCBvbGRDb25zb2xlO1xuXG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgb2xkQ29uc29sZSA9IHsuLi5jb25zb2xlfTtcbiAgICBjb25zb2xlID0ge1xuICAgICAgLi4ub2xkQ29uc29sZSxcbiAgICAgIGRlYnVnOiBqZXN0LmZuKCksXG4gICAgICBlcnJvcjogamVzdC5mbigpLFxuICAgICAgbG9nOiBqZXN0LmZuKCksXG4gICAgICB3YXJuOiBqZXN0LmZuKClcbiAgICB9O1xuICB9KTtcblxuICBhZnRlckFsbCgoKSA9PiB7XG4gICAgY29uc29sZSA9IHsuLi5vbGRDb25zb2xlfTtcbiAgICBqZXN0LnJlc2V0QWxsTW9ja3MoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBsb2cgY29ycmVjdCB2ZXJzaW9ucycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjYWxsYmFjayA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBzdGF0dXM6IG51bWJlciA9IGF3YWl0IHZlcnNpb25zKHtqc29uOiBmYWxzZX0sIGNhbGxiYWNrKTtcbiAgICBleHBlY3Qoc3RhdHVzKS50b0JlKDApO1xuICAgIGV4cGVjdChjYWxsYmFjaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoMCk7XG4gICAgZXhwZWN0KGxvZykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1ZlcnNpb25zOicsICdpbmZvJywgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGRpc3BsYXkgY29ycmVjdCB2ZXJzaW9ucyBpbiBqc29uIGZvcm1hdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjYWxsYmFjayA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBzdGF0dXM6IG51bWJlciA9IGF3YWl0IHZlcnNpb25zKHtqc29uOiB0cnVlfSwgY2FsbGJhY2spO1xuICAgIGV4cGVjdChzdGF0dXMpLnRvQmUoMCk7XG4gICAgZXhwZWN0KGNhbGxiYWNrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgwKTtcbiAgICBleHBlY3QobG9nKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnVmVyc2lvbnM6JywgJ2luZm8nLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdqc29uVmVyc2lvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBnZXQgcGFja2FnZSB2ZXJzaW9ucycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBhY2thZ2VWZXJzaW9ucyA9IGpzb25WZXJzaW9ucyhwYWNrYWdlcyk7XG4gICAgICBleHBlY3QocGFja2FnZVZlcnNpb25zKS50b0VxdWFsKHBhY2thZ2VzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3BhcnNlVmVyc2lvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBhcnNlIHZlcnNpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJzaW9uID0gcGFyc2VWZXJzaW9uKCdeMS41LjAnKTtcbiAgICAgIGV4cGVjdCh2ZXJzaW9uKS50b0VxdWFsKCcxLjUuMCcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUSxjQUFjLFVBQVUsY0FBYyxnQkFBZTtBQUM3RCxTQUFRLFdBQVU7QUFFbEIsS0FBSyxLQUFLLGdCQUFnQixPQUFPO0FBQUEsRUFDL0IsS0FBSyxLQUFLLEdBQUc7QUFDZixFQUFFO0FBRUYsU0FBUyxZQUFZLE1BQU07QUFDekIsTUFBSTtBQUVKLFlBQVUsTUFBTTtBQUNkLGlCQUFhLEVBQUMsR0FBRyxRQUFPO0FBQ3hCLGNBQVU7QUFBQSxNQUNSLEdBQUc7QUFBQSxNQUNILE9BQU8sS0FBSyxHQUFHO0FBQUEsTUFDZixPQUFPLEtBQUssR0FBRztBQUFBLE1BQ2YsS0FBSyxLQUFLLEdBQUc7QUFBQSxNQUNiLE1BQU0sS0FBSyxHQUFHO0FBQUEsSUFDaEI7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLE1BQU07QUFDYixjQUFVLEVBQUMsR0FBRyxXQUFVO0FBQ3hCLFNBQUssY0FBYztBQUFBLEVBQ3JCLENBQUM7QUFFRCxLQUFHLCtCQUErQixZQUFZO0FBQzVDLFVBQU0sV0FBVyxLQUFLLEdBQUc7QUFDekIsVUFBTSxTQUFpQixNQUFNLFNBQVMsRUFBQyxNQUFNLE1BQUssR0FBRyxRQUFRO0FBQzdELFdBQU8sTUFBTSxFQUFFLEtBQUssQ0FBQztBQUNyQixXQUFPLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQztBQUN2QyxXQUFPLEdBQUcsRUFBRSxxQkFBcUIsYUFBYSxRQUFRLEtBQUs7QUFBQSxFQUM3RCxDQUFDO0FBRUQsS0FBRyxrREFBa0QsWUFBWTtBQUMvRCxVQUFNLFdBQVcsS0FBSyxHQUFHO0FBQ3pCLFVBQU0sU0FBaUIsTUFBTSxTQUFTLEVBQUMsTUFBTSxLQUFJLEdBQUcsUUFBUTtBQUM1RCxXQUFPLE1BQU0sRUFBRSxLQUFLLENBQUM7QUFDckIsV0FBTyxRQUFRLEVBQUUscUJBQXFCLENBQUM7QUFDdkMsV0FBTyxHQUFHLEVBQUUscUJBQXFCLGFBQWEsUUFBUSxLQUFLO0FBQUEsRUFDN0QsQ0FBQztBQUVELFdBQVMsZ0JBQWdCLE1BQU07QUFDN0IsT0FBRywrQkFBK0IsWUFBWTtBQUM1QyxZQUFNLGtCQUFrQixhQUFhLFFBQVE7QUFDN0MsYUFBTyxlQUFlLEVBQUUsUUFBUSxRQUFRO0FBQUEsSUFDMUMsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUVELFdBQVMsZ0JBQWdCLE1BQU07QUFDN0IsT0FBRyx3QkFBd0IsWUFBWTtBQUNyQyxZQUFNLFVBQVUsYUFBYSxRQUFRO0FBQ3JDLGFBQU8sT0FBTyxFQUFFLFFBQVEsT0FBTztBQUFBLElBQ2pDLENBQUM7QUFBQSxFQUNILENBQUM7QUFDSCxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/create/changelog.js
CHANGED
|
@@ -125,4 +125,4 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
125
125
|
export {
|
|
126
126
|
createChangelog
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NyZWF0ZS9jaGFuZ2Vsb2cudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3dyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBjYXBpdGFsaXplIGZyb20gJ2xvZGFzaC9jYXBpdGFsaXplLmpzJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5LmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UuanMnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHtqb2luIGFzIHBhdGhKb2lufSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDaGFuZ2Vsb2cgPSBhc3luYyAoe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSA9ICdjaGFuZ2Vsb2cudG1wLm1kJywgcXVpZXR9KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gQ29uZmlndXJlIGdpdCBjbGkgb3B0aW9uc1xuICBjb25zdCBnaXRPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAnbG9nJyxcbiAgICAnLTMnLFxuICAgICctLXByZXR0eT1mb3JtYXQ6e1wiYXV0aG9yTmFtZVwiOiBcIiVhblwiLCBcImF1dGhvckVtYWlsXCI6IFwiJWFlXCIsIFwiaGFzaFNob3J0XCI6IFwiJWhcIiwgXCJoYXNoRnVsbFwiOiBcIiVIXCIsIFwidGFnXCI6IFwiJURcIiwgXCJkYXRlXCI6ICVjdCwgXCJzdWJqZWN0XCI6IFwiJXNcIixcImNvbW1lbnRzXCI6IFwiJWJcIn1bbGV4X2JyZWFrXSdcbiAgXTtcblxuICAvLyBSdW4gZ2l0XG4gIHRyeSB7XG4gICAgY29uc3QgZ2l0ID0gYXdhaXQgZXhlY2EoJ2dpdCcsIGdpdE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0Zi04J30pO1xuXG4gICAgY29uc3Qge3N0ZG91dH0gPSBnaXQ7XG4gICAgY29uc3QgZW50cmllczogc3RyaW5nW10gPSBzdGRvdXQuc3BsaXQoJ1tsZXhfYnJlYWtdJykuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgIGNvbnN0IGdpdEpzb24gPSBKU09OLnBhcnNlKFxuICAgICAgKGBbJHtlbnRyaWVzLmpvaW4oJywnKX1dYCkucmVwbGFjZSgvXCJbXlwiXSooPzpcIlwiW15cIl0qKSpcIi9nLCAobWF0Y2gpID0+IG1hdGNoLnJlcGxhY2UoL1xcbi9nLCAnW2xleF9icmVha10nKSlcbiAgICApO1xuICAgIGNvbnN0IGNvbW1pdENvbnRlbnQgPSB7fTtcbiAgICBsZXQgdmVyc2lvbjogc3RyaW5nID0gJ1VucmVsZWFzZWQnO1xuXG4gICAgZ2l0SnNvbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCB7Y29tbWVudHMsIGF1dGhvckVtYWlsLCBhdXRob3JOYW1lLCBkYXRlLCBoYXNoRnVsbCwgaGFzaFNob3J0LCB0YWd9ID0gaXRlbTtcbiAgICAgIGNvbnN0IGZvcm1hdERhdGU6IHN0cmluZyA9IERhdGVUaW1lLmZyb21NaWxsaXMoZGF0ZSkudG9Gb3JtYXQoJ0RERCcpO1xuXG4gICAgICBpZighaXNFbXB0eSh0YWcpKSB7XG4gICAgICAgIGNvbnN0IHJlZnMgPSB0YWcuc3BsaXQoJywgJyk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRWZXJzaW9uOiBzdHJpbmcgPSByZWZzLnJlZHVjZSgocmVmOiBzdHJpbmcsIHRhZ0l0ZW06IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCB1cGRhdGVkUmVmOiBzdHJpbmcgPSByZWY7XG5cbiAgICAgICAgICBpZih1cGRhdGVkUmVmID09PSAnJyAmJiB0YWdJdGVtLmluY2x1ZGVzKCd0YWc6IHYnKSkge1xuICAgICAgICAgICAgdXBkYXRlZFJlZiA9IHRhZ0l0ZW0ucmVwbGFjZSgndGFnOiB2JywgJycpLnRyaW0oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFJlZjtcbiAgICAgICAgfSwgJycpO1xuXG4gICAgICAgIGlmKCFpc0VtcHR5KHVwZGF0ZWRWZXJzaW9uKSkge1xuICAgICAgICAgIHZlcnNpb24gPSB1cGRhdGVkVmVyc2lvbjtcbiAgICAgICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0ge2RhdGU6IGZvcm1hdERhdGUsIHZlcnNpb246IHVwZGF0ZWRWZXJzaW9ufTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighY29tbWl0Q29udGVudFt2ZXJzaW9uXSkge1xuICAgICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0ge2xpc3Q6IHt9fTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3ViamVjdExpbmVzOiBzdHJpbmdbXSA9IGNvbW1lbnRzLnNwbGl0KCdbbGV4X2JyZWFrXScpO1xuICAgICAgY29uc3QgdG9waWNzID0ge307XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wbHVzcGx1c1xuICAgICAgZm9yKGxldCBpZHg6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gc3ViamVjdExpbmVzLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgICAgICBjb25zdCBuZXh0TGluZTogc3RyaW5nID0gc3ViamVjdExpbmVzW2lkeF07XG4gICAgICAgIGNvbnN0IGZvcm1hdExpbmU6IHN0cmluZyA9IG5leHRMaW5lLnRyaW0oKTtcbiAgICAgICAgY29uc3QgaGVhZGVyUGF0dGVybjogUmVnRXhwID0gL14oXFx3KikoPzpcXCgoW1xcd1xcJFxcLlxcLVxcKiBdKilcXCkpP1xcOiAoLiopJC87XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmb3JtYXRMaW5lLm1hdGNoKGhlYWRlclBhdHRlcm4pO1xuXG4gICAgICAgIGlmKG1hdGNoZXMpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVHlwZTogc3RyaW5nID0gY2FwaXRhbGl6ZShtYXRjaGVzWzFdKTtcbiAgICAgICAgICBjb25zdCBpdGVtU2NvcGU6IHN0cmluZyA9IG1hdGNoZXNbMl07XG4gICAgICAgICAgY29uc3QgaXRlbURldGFpbHM6IHN0cmluZyA9IG1hdGNoZXNbM107XG4gICAgICAgICAgY29uc3QgZGV0YWlscyA9IHtcbiAgICAgICAgICAgIGF1dGhvckVtYWlsLFxuICAgICAgICAgICAgYXV0aG9yTmFtZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGl0ZW1EZXRhaWxzLFxuICAgICAgICAgICAgaGFzaEZ1bGwsXG4gICAgICAgICAgICBoYXNoU2hvcnQsXG4gICAgICAgICAgICB0eXBlOiBpdGVtVHlwZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZighdG9waWNzW2l0ZW1TY29wZV0pIHtcbiAgICAgICAgICAgIHRvcGljc1tpdGVtU2NvcGVdID0ge1tpdGVtVHlwZV06IFtkZXRhaWxzXX07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvcGljc1tpdGVtU2NvcGVdW2l0ZW1UeXBlXS5wdXNoKGRldGFpbHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0gbWVyZ2UoY29tbWl0Q29udGVudFt2ZXJzaW9uXSwge2xpc3Q6IHRvcGljc30pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9ybWF0TG9nOiBzdHJpbmcgPSBPYmplY3Qua2V5cyhjb21taXRDb250ZW50KS5yZWR1Y2UoKGNvbnRlbnQ6IHN0cmluZywgdmVyc2lvbktleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB7ZGF0ZSwgbGlzdCA9IHt9LCB2ZXJzaW9ufSA9IGNvbW1pdENvbnRlbnRbdmVyc2lvbktleV07XG4gICAgICBjb25zdCBmb3JtYXRTY29wZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMobGlzdCk7XG4gICAgICBsZXQgdXBkYXRlZENvbnRlbnQ6IHN0cmluZyA9IGNvbnRlbnQ7XG5cbiAgICAgIGNvbnN0IHZlcnNpb25MYWJlbDogc3RyaW5nID0gdmVyc2lvbiA/IHZlcnNpb24gOiAnVW5yZWxlYXNlZCc7XG4gICAgICBjb25zdCBoZWFkZXJMYWJlbHM6IHN0cmluZ1tdID0gW3ZlcnNpb25MYWJlbF07XG4gICAgICBpZihkYXRlKSB7XG4gICAgICAgIGhlYWRlckxhYmVscy5wdXNoKGAoJHtkYXRlfSlgKTtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYFxcbiMjICR7aGVhZGVyTGFiZWxzLmpvaW4oJyAnKX1cXG5gO1xuXG4gICAgICBmb3JtYXRTY29wZXMuZm9yRWFjaCgoc2NvcGVOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYFxcbiMjIyAke3Njb3BlTmFtZX1cXG5cXG5gO1xuXG4gICAgICAgIC8vIEdldCB0aGUgdG9waWMgbmFtZVxuICAgICAgICBjb25zdCBpdGVtTGlzdCA9IGxpc3Rbc2NvcGVOYW1lXTtcbiAgICAgICAgY29uc3QgaXRlbU5hbWVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGl0ZW1MaXN0KTtcblxuICAgICAgICBpdGVtTmFtZXMuZm9yRWFjaCgoaXRlbU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHVwZGF0ZWRDb250ZW50ICs9IGAqICR7aXRlbU5hbWV9XFxuYDtcblxuICAgICAgICAgIGl0ZW1MaXN0W2l0ZW1OYW1lXS5mb3JFYWNoKChjaGFuZ2VzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7YXV0aG9yRW1haWwsIGF1dGhvck5hbWUsIGRldGFpbHMsIGhhc2hGdWxsLCBoYXNoU2hvcnR9ID0gY2hhbmdlcztcbiAgICAgICAgICAgIGNvbnN0IHtnaXRVcmx9ID0gY29uZmlnO1xuICAgICAgICAgICAgbGV0IGhhc2g6IHN0cmluZyA9IGAjJHtoYXNoU2hvcnR9YDtcblxuICAgICAgICAgICAgaWYoIWlzRW1wdHkoZ2l0VXJsKSkge1xuICAgICAgICAgICAgICBsZXQgY29tbWl0UGF0aDogc3RyaW5nID0gJ2NvbW1pdHMnO1xuXG4gICAgICAgICAgICAgIGlmKGdpdFVybC5pbmNsdWRlcygnZ2l0aHViLmNvbScpKSB7XG4gICAgICAgICAgICAgICAgY29tbWl0UGF0aCA9ICdjb21taXQnO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaGFzaCA9IGBbIyR7aGFzaFNob3J0fV0oJHtnaXRVcmx9LyR7Y29tbWl0UGF0aH0vJHtoYXNoRnVsbH0pYDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYCAgKiAke2RldGFpbHN9IChbJHthdXRob3JOYW1lfV0obWFpbHRvOiR7YXV0aG9yRW1haWx9KSBpbiAke2hhc2h9KVxcbmA7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB1cGRhdGVkQ29udGVudDtcbiAgICB9LCAnIyBDaGFuZ2VzXFxuJyk7XG5cbiAgICBjb25zdCBsb2dGaWxlOiBzdHJpbmcgPSBwYXRoSm9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXRGaWxlKTtcbiAgICB3cml0ZUZpbGVTeW5jKGxvZ0ZpbGUsIGZvcm1hdExvZyk7XG4gICAgc3Bpbm5lci5zdWNjZWVkKCdHaXQgY2hhbmdlIGxvZyBjb21wbGV0ZSEnKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgZ2VuZXJhdGluZyBjaGFuZ2UgbG9nIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLHFCQUFvQjtBQUM1QixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGFBQWE7QUFDcEIsT0FBTyxXQUFXO0FBQ2xCLFNBQVEsZ0JBQWU7QUFDdkIsU0FBUSxRQUFRLGdCQUFlO0FBRS9CLFNBQVEscUJBQW9CO0FBQzVCLFNBQVEsV0FBVTtBQUVYLE1BQU0sa0JBQWtCLE9BQU8sRUFBQyxTQUFTLFFBQVEsYUFBYSxvQkFBb0IsTUFBSyxNQUF1QjtBQUVuSCxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBR25DLFFBQU0sYUFBdUI7QUFBQSxJQUMzQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUdBLE1BQUk7QUFDRixVQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sWUFBWSxFQUFDLFVBQVUsUUFBTyxDQUFDO0FBRTlELFVBQU0sRUFBQyxPQUFNLElBQUk7QUFDakIsVUFBTSxVQUFvQixPQUFPLE1BQU0sYUFBYSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJO0FBQzdFLFVBQU0sVUFBVSxLQUFLO0FBQUEsTUFDbEIsSUFBSSxRQUFRLEtBQUssR0FBRyxLQUFNLFFBQVEsd0JBQXdCLENBQUMsVUFBVSxNQUFNLFFBQVEsT0FBTyxhQUFhLENBQUM7QUFBQSxJQUMzRztBQUNBLFVBQU0sZ0JBQWdCLENBQUM7QUFDdkIsUUFBSSxVQUFrQjtBQUV0QixZQUFRLFFBQVEsQ0FBQyxTQUFTO0FBQ3hCLFlBQU0sRUFBQyxVQUFVLGFBQWEsWUFB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
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NyZWF0ZS9jaGFuZ2Vsb2cudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3dyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBjYXBpdGFsaXplIGZyb20gJ2xvZGFzaC9jYXBpdGFsaXplLmpzJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5LmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UuanMnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHtqb2luIGFzIHBhdGhKb2lufSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDaGFuZ2Vsb2cgPSBhc3luYyAoe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSA9ICdjaGFuZ2Vsb2cudG1wLm1kJywgcXVpZXR9KTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gQ29uZmlndXJlIGdpdCBjbGkgb3B0aW9uc1xuICBjb25zdCBnaXRPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAnbG9nJyxcbiAgICAnLTMnLFxuICAgICctLXByZXR0eT1mb3JtYXQ6e1wiYXV0aG9yTmFtZVwiOiBcIiVhblwiLCBcImF1dGhvckVtYWlsXCI6IFwiJWFlXCIsIFwiaGFzaFNob3J0XCI6IFwiJWhcIiwgXCJoYXNoRnVsbFwiOiBcIiVIXCIsIFwidGFnXCI6IFwiJURcIiwgXCJkYXRlXCI6ICVjdCwgXCJzdWJqZWN0XCI6IFwiJXNcIixcImNvbW1lbnRzXCI6IFwiJWJcIn1bbGV4X2JyZWFrXSdcbiAgXTtcblxuICAvLyBSdW4gZ2l0XG4gIHRyeSB7XG4gICAgY29uc3QgZ2l0ID0gYXdhaXQgZXhlY2EoJ2dpdCcsIGdpdE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0Zi04J30pO1xuXG4gICAgY29uc3Qge3N0ZG91dH0gPSBnaXQ7XG4gICAgY29uc3QgZW50cmllczogc3RyaW5nW10gPSBzdGRvdXQuc3BsaXQoJ1tsZXhfYnJlYWtdJykuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgIGNvbnN0IGdpdEpzb24gPSBKU09OLnBhcnNlKFxuICAgICAgKGBbJHtlbnRyaWVzLmpvaW4oJywnKX1dYCkucmVwbGFjZSgvXCJbXlwiXSooPzpcIlwiW15cIl0qKSpcIi9nLCAobWF0Y2gpID0+IG1hdGNoLnJlcGxhY2UoL1xcbi9nLCAnW2xleF9icmVha10nKSlcbiAgICApO1xuICAgIGNvbnN0IGNvbW1pdENvbnRlbnQgPSB7fTtcbiAgICBsZXQgdmVyc2lvbjogc3RyaW5nID0gJ1VucmVsZWFzZWQnO1xuXG4gICAgZ2l0SnNvbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCB7Y29tbWVudHMsIGF1dGhvckVtYWlsLCBhdXRob3JOYW1lLCBkYXRlLCBoYXNoRnVsbCwgaGFzaFNob3J0LCB0YWd9ID0gaXRlbTtcbiAgICAgIGNvbnN0IGZvcm1hdERhdGU6IHN0cmluZyA9IERhdGVUaW1lLmZyb21NaWxsaXMoZGF0ZSkudG9Gb3JtYXQoJ0RERCcpO1xuXG4gICAgICBpZighaXNFbXB0eSh0YWcpKSB7XG4gICAgICAgIGNvbnN0IHJlZnMgPSB0YWcuc3BsaXQoJywgJyk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRWZXJzaW9uOiBzdHJpbmcgPSByZWZzLnJlZHVjZSgocmVmOiBzdHJpbmcsIHRhZ0l0ZW06IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCB1cGRhdGVkUmVmOiBzdHJpbmcgPSByZWY7XG5cbiAgICAgICAgICBpZih1cGRhdGVkUmVmID09PSAnJyAmJiB0YWdJdGVtLmluY2x1ZGVzKCd0YWc6IHYnKSkge1xuICAgICAgICAgICAgdXBkYXRlZFJlZiA9IHRhZ0l0ZW0ucmVwbGFjZSgndGFnOiB2JywgJycpLnRyaW0oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFJlZjtcbiAgICAgICAgfSwgJycpO1xuXG4gICAgICAgIGlmKCFpc0VtcHR5KHVwZGF0ZWRWZXJzaW9uKSkge1xuICAgICAgICAgIHZlcnNpb24gPSB1cGRhdGVkVmVyc2lvbjtcbiAgICAgICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0ge2RhdGU6IGZvcm1hdERhdGUsIHZlcnNpb246IHVwZGF0ZWRWZXJzaW9ufTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighY29tbWl0Q29udGVudFt2ZXJzaW9uXSkge1xuICAgICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0ge2xpc3Q6IHt9fTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3ViamVjdExpbmVzOiBzdHJpbmdbXSA9IGNvbW1lbnRzLnNwbGl0KCdbbGV4X2JyZWFrXScpO1xuICAgICAgY29uc3QgdG9waWNzID0ge307XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wbHVzcGx1c1xuICAgICAgZm9yKGxldCBpZHg6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gc3ViamVjdExpbmVzLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgICAgICBjb25zdCBuZXh0TGluZTogc3RyaW5nID0gc3ViamVjdExpbmVzW2lkeF07XG4gICAgICAgIGNvbnN0IGZvcm1hdExpbmU6IHN0cmluZyA9IG5leHRMaW5lLnRyaW0oKTtcbiAgICAgICAgY29uc3QgaGVhZGVyUGF0dGVybjogUmVnRXhwID0gL14oXFx3KikoPzpcXCgoW1xcd1xcJFxcLlxcLVxcKiBdKilcXCkpP1xcOiAoLiopJC87XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmb3JtYXRMaW5lLm1hdGNoKGhlYWRlclBhdHRlcm4pO1xuXG4gICAgICAgIGlmKG1hdGNoZXMpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVHlwZTogc3RyaW5nID0gY2FwaXRhbGl6ZShtYXRjaGVzWzFdKTtcbiAgICAgICAgICBjb25zdCBpdGVtU2NvcGU6IHN0cmluZyA9IG1hdGNoZXNbMl07XG4gICAgICAgICAgY29uc3QgaXRlbURldGFpbHM6IHN0cmluZyA9IG1hdGNoZXNbM107XG4gICAgICAgICAgY29uc3QgZGV0YWlscyA9IHtcbiAgICAgICAgICAgIGF1dGhvckVtYWlsLFxuICAgICAgICAgICAgYXV0aG9yTmFtZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGl0ZW1EZXRhaWxzLFxuICAgICAgICAgICAgaGFzaEZ1bGwsXG4gICAgICAgICAgICBoYXNoU2hvcnQsXG4gICAgICAgICAgICB0eXBlOiBpdGVtVHlwZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZighdG9waWNzW2l0ZW1TY29wZV0pIHtcbiAgICAgICAgICAgIHRvcGljc1tpdGVtU2NvcGVdID0ge1tpdGVtVHlwZV06IFtkZXRhaWxzXX07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvcGljc1tpdGVtU2NvcGVdW2l0ZW1UeXBlXS5wdXNoKGRldGFpbHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb21taXRDb250ZW50W3ZlcnNpb25dID0gbWVyZ2UoY29tbWl0Q29udGVudFt2ZXJzaW9uXSwge2xpc3Q6IHRvcGljc30pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9ybWF0TG9nOiBzdHJpbmcgPSBPYmplY3Qua2V5cyhjb21taXRDb250ZW50KS5yZWR1Y2UoKGNvbnRlbnQ6IHN0cmluZywgdmVyc2lvbktleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB7ZGF0ZSwgbGlzdCA9IHt9LCB2ZXJzaW9ufSA9IGNvbW1pdENvbnRlbnRbdmVyc2lvbktleV07XG4gICAgICBjb25zdCBmb3JtYXRTY29wZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMobGlzdCk7XG4gICAgICBsZXQgdXBkYXRlZENvbnRlbnQ6IHN0cmluZyA9IGNvbnRlbnQ7XG5cbiAgICAgIGNvbnN0IHZlcnNpb25MYWJlbDogc3RyaW5nID0gdmVyc2lvbiA/IHZlcnNpb24gOiAnVW5yZWxlYXNlZCc7XG4gICAgICBjb25zdCBoZWFkZXJMYWJlbHM6IHN0cmluZ1tdID0gW3ZlcnNpb25MYWJlbF07XG4gICAgICBpZihkYXRlKSB7XG4gICAgICAgIGhlYWRlckxhYmVscy5wdXNoKGAoJHtkYXRlfSlgKTtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYFxcbiMjICR7aGVhZGVyTGFiZWxzLmpvaW4oJyAnKX1cXG5gO1xuXG4gICAgICBmb3JtYXRTY29wZXMuZm9yRWFjaCgoc2NvcGVOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYFxcbiMjIyAke3Njb3BlTmFtZX1cXG5cXG5gO1xuXG4gICAgICAgIC8vIEdldCB0aGUgdG9waWMgbmFtZVxuICAgICAgICBjb25zdCBpdGVtTGlzdCA9IGxpc3Rbc2NvcGVOYW1lXTtcbiAgICAgICAgY29uc3QgaXRlbU5hbWVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGl0ZW1MaXN0KTtcblxuICAgICAgICBpdGVtTmFtZXMuZm9yRWFjaCgoaXRlbU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHVwZGF0ZWRDb250ZW50ICs9IGAqICR7aXRlbU5hbWV9XFxuYDtcblxuICAgICAgICAgIGl0ZW1MaXN0W2l0ZW1OYW1lXS5mb3JFYWNoKChjaGFuZ2VzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7YXV0aG9yRW1haWwsIGF1dGhvck5hbWUsIGRldGFpbHMsIGhhc2hGdWxsLCBoYXNoU2hvcnR9ID0gY2hhbmdlcztcbiAgICAgICAgICAgIGNvbnN0IHtnaXRVcmx9ID0gY29uZmlnO1xuICAgICAgICAgICAgbGV0IGhhc2g6IHN0cmluZyA9IGAjJHtoYXNoU2hvcnR9YDtcblxuICAgICAgICAgICAgaWYoIWlzRW1wdHkoZ2l0VXJsKSkge1xuICAgICAgICAgICAgICBsZXQgY29tbWl0UGF0aDogc3RyaW5nID0gJ2NvbW1pdHMnO1xuXG4gICAgICAgICAgICAgIGlmKGdpdFVybC5pbmNsdWRlcygnZ2l0aHViLmNvbScpKSB7XG4gICAgICAgICAgICAgICAgY29tbWl0UGF0aCA9ICdjb21taXQnO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaGFzaCA9IGBbIyR7aGFzaFNob3J0fV0oJHtnaXRVcmx9LyR7Y29tbWl0UGF0aH0vJHtoYXNoRnVsbH0pYDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYCAgKiAke2RldGFpbHN9IChbJHthdXRob3JOYW1lfV0obWFpbHRvOiR7YXV0aG9yRW1haWx9KSBpbiAke2hhc2h9KVxcbmA7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB1cGRhdGVkQ29udGVudDtcbiAgICB9LCAnIyBDaGFuZ2VzXFxuJyk7XG5cbiAgICBjb25zdCBsb2dGaWxlOiBzdHJpbmcgPSBwYXRoSm9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXRGaWxlKTtcbiAgICB3cml0ZUZpbGVTeW5jKGxvZ0ZpbGUsIGZvcm1hdExvZyk7XG4gICAgc3Bpbm5lci5zdWNjZWVkKCdHaXQgY2hhbmdlIGxvZyBjb21wbGV0ZSEnKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgZ2VuZXJhdGluZyBjaGFuZ2UgbG9nIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLHFCQUFvQjtBQUM1QixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGFBQWE7QUFDcEIsT0FBTyxXQUFXO0FBQ2xCLFNBQVEsZ0JBQWU7QUFDdkIsU0FBUSxRQUFRLGdCQUFlO0FBRS9CLFNBQVEscUJBQW9CO0FBQzVCLFNBQVEsV0FBVTtBQUVYLE1BQU0sa0JBQWtCLE9BQU8sRUFBQyxTQUFTLFFBQVEsYUFBYSxvQkFBb0IsTUFBSyxNQUF1QjtBQUVuSCxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBR25DLFFBQU0sYUFBdUI7QUFBQSxJQUMzQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUdBLE1BQUk7QUFDRixVQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sWUFBWSxFQUFDLFVBQVUsUUFBTyxDQUFDO0FBRTlELFVBQU0sRUFBQyxPQUFNLElBQUk7QUFDakIsVUFBTSxVQUFvQixPQUFPLE1BQU0sYUFBYSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJO0FBQzdFLFVBQU0sVUFBVSxLQUFLO0FBQUEsTUFDbEIsSUFBSSxRQUFRLEtBQUssR0FBRyxDQUFDLElBQUssUUFBUSx3QkFBd0IsQ0FBQyxVQUFVLE1BQU0sUUFBUSxPQUFPLGFBQWEsQ0FBQztBQUFBLElBQzNHO0FBQ0EsVUFBTSxnQkFBZ0IsQ0FBQztBQUN2QixRQUFJLFVBQWtCO0FBRXRCLFlBQVEsUUFBUSxDQUFDLFNBQVM7QUFDeEIsWUFBTSxFQUFDLFVBQVUsYUFB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
|
package/dist/lex.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { program } from "commander";
|
|
2
|
+
import { Option, program } from "commander";
|
|
3
3
|
import packageJson from "../package.json" assert { type: "json" };
|
|
4
4
|
import { build } from "./commands/build.js";
|
|
5
5
|
import { clean } from "./commands/clean.js";
|
|
@@ -16,35 +16,35 @@ import { test } from "./commands/test.js";
|
|
|
16
16
|
import { update } from "./commands/update.js";
|
|
17
17
|
import { upgrade } from "./commands/upgrade.js";
|
|
18
18
|
import { versions } from "./commands/versions.js";
|
|
19
|
-
program.command("build").option("-
|
|
19
|
+
program.command("build").option("--analyze", "It invokes webpack-bundle-analyzer plugin to get bundle information.", false).addOption(new Option("--bundler <name>", 'Bundler to use ("webpack" or "esbuild"). Default: "webpack".').choices(["webpack", "esbuild"]).default("webpack")).option("--config <path>", "Custom Webpack configuration file path (ie. webpack.config.js).").option("--config-name <value...>", "Name of the configuration to use.").option("--define-process-env-node-env <value>", "Sets process.env.NODE_ENV to the specified value. (Currently an alias for `--node-env`)").option("--devtool <value>", "A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).").option("--disable-interpret", "Disable interpret for loading the config file.", false).option("--entry <value...>", "A module that is loaded upon startup. Only the last one is exported.").option("--env <value>", "Environment passed to the configuration when it is a function.").option("--fail-on-warnings", "Stop webpack-cli process with non-zero exit code on warnings from webpack", false).option("--json <value>", "Prints result as JSON or store it in a file.").option("--lexConfig <path>", "Lex configuration file path (lex.config.js).").option("--merge", 'Merge two or more configurations using "webpack-merge".', false).addOption(new Option("--mode <type>", 'Webpack mode ("production" or "development"). Default: "development".').choices(["development", "production"]).default("development")).option("--name <value>", "Name of the configuration. Used when loading multiple configurations.").option("--no-devtool", 'Negative "devtool" option.', false).option("--no-stats", 'Negative "stats" option.', false).option("--no-target", 'Negative "target" option.', false).option("--no-watch", 'Negative "watch" option.', false).option("--no-watch-options-stdin", 'Negative "watch-options-stdin" option.', false).option("--node-env <value>", "Sets process.env.NODE_ENV to the specified value.").option("--output-path <value>", "The output directory as **absolute path** (required).").option("--quiet", "No Lex notifications printed in the console.", false).option("--remove", "Removes all files from the output directory before compiling.", false).option("--sourcePath <path>", "Source path").option("--stats <value>", "Stats options object or preset name.").option("--static", "Creates static HTML files when building app.", false).option("--target <value>", "Environment to build for. Environment to build for. An array of environments to build for all of them when possible.").option("--typescript", "Transpile as Typescript.", false).option("--variables <name>", `Environment variables to set in "process.env". (ie. "{NODE_ENV: 'production'}").`).option("--watch", "Watch for changes.", false).option("--watch-options-stdin", "Stop watching when stdin stream has ended.", false).action((cmd) => build(cmd, process.exit).then(() => {
|
|
20
20
|
}));
|
|
21
|
-
program.command("clean").option("
|
|
21
|
+
program.command("clean").option("--quiet", "No Lex notifications printed in the console.").option("--snapshots", 'Remove all "__snapshots__" directories.').action((cmd) => clean(cmd, process.exit).then(() => {
|
|
22
22
|
}));
|
|
23
|
-
program.command("config <type>").option("
|
|
23
|
+
program.command("config <type>").option("--quiet", "No Lex notifications printed in the console.").option("--json <path>", "Save output to json file.").action((type, cmd) => config(type, cmd, process.exit).then(() => {
|
|
24
24
|
}));
|
|
25
|
-
program.command("compile").option("
|
|
25
|
+
program.command("compile").option("--config <path>", "Transpiler configuration file path (ie. tsconfig.json).").option("--environment <name>", 'Target environment. "node" or "web". Default: "node".').option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--outputPath <path>", "Output path").option("--remove", "Removes all files from the output directory before compiling.").option("--sourcePath <path>", "Source path").option("--typescript", "Transpile as Typescript.").option("--quiet", "No Lex notifications printed in the console.").option("--watch", "Watches for changes and compiles.").action((cmd) => compile(cmd, process.exit).then(() => {
|
|
26
26
|
}));
|
|
27
|
-
program.command("create <type>").option("
|
|
27
|
+
program.command("create <type>").option("--outputFile <path>", "Output filename.").option("--outputName <name>", "Output name.").option("--quiet", "No Lex notifications printed in the console.").option("--typescript", "Create Typescript version.").action((type, cmd) => create(type, cmd, process.exit).then(() => {
|
|
28
28
|
}));
|
|
29
|
-
program.command("dev").option("
|
|
29
|
+
program.command("dev").option("--bundleAnalyzer", "Run bundle analyzer.").option("--config <path>", "Custom Webpack configuration file path (ie. webpack.config.js).").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--open", "Automatically open dev server in a new browser window.").option("--outputPath <path>", "Output path").option("--quiet", "No Lex notifications printed in the console.").option("--remove", "Removes all files from the output directory before compiling.").option("--sourcePath <path>", "Source path").option("--typescript", "Transpile as Typescript.").option("--variables <name>", `Environment variables to set in "process.env". (ie. "{NODE_ENV: 'development'}").`).option("--watch", "Watch for changes.").action((cmd) => dev(cmd, process.exit).then(() => {
|
|
30
30
|
}));
|
|
31
|
-
program.command("init <appName> [packageName]").option("
|
|
31
|
+
program.command("init <appName> [packageName]").option("--install", "Install dependencies.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").option("--typescript", "Use a Typescript based app.").action((appName, packageName, cmd) => init(appName, packageName, cmd, process.exit).then(() => {
|
|
32
32
|
}));
|
|
33
|
-
program.command("linked").option("
|
|
33
|
+
program.command("linked").option("--quiet", "No Lex notifications printed in the console.").action((cmd) => linked(cmd, process.exit).then(() => {
|
|
34
34
|
}));
|
|
35
|
-
program.command("lint").option("--cache", "Only check changed files. Default: false.").option("--cache-location <path>", "Path to the cache file or directory.").option("--color", "Force enabling of color.").option("--config <path>", "Use this configuration, overriding .eslintrc.* config options if present.").option("--debug", "Output debugging information.").option("--env-info", "Output execution environment information. Default: false.").option("--env <name>", "Specify environments.").option("--ext <type>", "Specify JavaScript file extensions. Default: .js.").option("--fix", "Automatically fix problems.").option("--fix-dry-run", "Automatically fix problems without saving the changes to the file system.").option("--fix-type <type>", "Specify the types of fixes to apply (problem, suggestion, layout).").option("--format <name>", "Use a specific output format. Default: stylish.").option("--global <variables>", "Define global variables.").option("--ignore-path <path>", "Specify path of ignore file.").option("--ignore-pattern <pattern>", "Pattern of files to ignore (in addition to those in .eslintignore).").option("--init", "Run config initialization wizard. Default: false.").option("--max-warnings <num>", "Number of warnings to trigger nonzero exit code. Default: -1.").option("--no-color", "Force disabling of color.").option("--no-eslintrc", "Disable use of configuration from .eslintrc.*.").option("--no-ignore", "Disable use of ignore files and patterns.").option("--no-inline-config", "Prevent comments from changing config or rules.").option("--output-file <path>", "Specify file to write report to.").option("--parser <name>", "Specify the parser to be used.").option("--parser-options <options>", "Specify parser options.").option("--plugin <plugins>", "Specify plugins.").option("--print-config <path>", "Print the configuration for the given file.").option("
|
|
35
|
+
program.command("lint").option("--cache", "Only check changed files. Default: false.", false).option("--cache-location <path>", "Path to the cache file or directory.").option("--color", "Force enabling of color.", false).option("--config <path>", "Use this configuration, overriding .eslintrc.* config options if present.").option("--debug", "Output debugging information.", false).option("--env-info", "Output execution environment information. Default: false.", false).option("--env <name>", "Specify environments.").option("--ext <type>", "Specify JavaScript file extensions. Default: .js.").option("--fix", "Automatically fix problems.", false).option("--fix-dry-run", "Automatically fix problems without saving the changes to the file system.", false).option("--fix-type <type>", "Specify the types of fixes to apply (problem, suggestion, layout).").option("--format <name>", "Use a specific output format. Default: stylish.").option("--global <variables>", "Define global variables.").option("--ignore-path <path>", "Specify path of ignore file.").option("--ignore-pattern <pattern>", "Pattern of files to ignore (in addition to those in .eslintignore).").option("--init", "Run config initialization wizard. Default: false.", false).option("--max-warnings <num>", "Number of warnings to trigger nonzero exit code. Default: -1.").option("--no-color", "Force disabling of color.", false).option("--no-eslintrc", "Disable use of configuration from .eslintrc.*.", false).option("--no-ignore", "Disable use of ignore files and patterns.", false).option("--no-inline-config", "Prevent comments from changing config or rules.", false).option("--output-file <path>", "Specify file to write report to.").option("--parser <name>", "Specify the parser to be used.").option("--parser-options <options>", "Specify parser options.").option("--plugin <plugins>", "Specify plugins.").option("--print-config <path>", "Print the configuration for the given file.").option("--quiet", "No Lex notifications printed in the console.", false).option("--report-unused-disable-directives", "Adds reported errors for unused eslint-disable directives.", false).option("--resolve-plugins-relative-to <path>", "A folder where plugins should be resolved from.").option("--rule <path>", "Specify rules.").option("--rulesdir <path>", "Use additional rules from this directory.").option("--stdin", "Lint code provided on <STDIN> - Default: false.", false).option("--stdin-filename <name>", "Specify filename to process STDIN as.").action((cmd) => lint(cmd, process.exit).then(() => {
|
|
36
36
|
}));
|
|
37
37
|
program.command("migrate").option("-q, --quiet", "No Lex notifications printed in the console.").action((cmd) => migrate(cmd, process.exit).then(() => {
|
|
38
38
|
}));
|
|
39
|
-
program.command("publish").
|
|
39
|
+
program.command("publish").addOption(new Option("--bump <type>", 'Increments the version. Types include: major, minor, patch, beta, alpha, rc. Default: "patch".').choices(["major", "minor", "patch", "beta", "alpha", "rc"]).default("patch")).option("--new-version <versionNumber>", "Publish as a specific version.").option("--otp <code>", "Provide a two-factor code.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--private", "Publishes the module as restricted.").option("--quiet", "No Lex notifications printed in the console.").option("--tag <tag>", "Registers the published package with the given tag.").action((cmd) => publish(cmd, process.exit).then(() => {
|
|
40
40
|
}));
|
|
41
|
-
program.command("test").option("
|
|
41
|
+
program.command("test").option("--bail", "Exit the test suite immediately upon the first failing test suite.").option("--changedFilesWithAncestor", "Runs tests related to the current changes and the changes made in the last commit.").option("--changedSince", "Runs tests related the changes since the provided branch.").option("--ci", "When this option is provided, Jest will assume it is running in a CI environment.").option("--clearCache", "Clear Jest cache.").option("--collectCoverageFrom <glob>", "A glob pattern relative to matching the files that coverage info needs to be collected from.").option("--colors", "Forces test results output highlighting even if stdout is not a TTY.").option("--config <path>", "Custom Jest configuration file path (ie. jest.config.js).").option("--debug", "Print debugging info about your Jest config.").option("--detectOpenHandles", "Attempt to collect and print open handles preventing Jest from exiting cleanly").option("--environment <name>", 'Target environment. "node" or "web". Default: "node".').option("--env", "The test environment used for all tests. This can point to any file or node module. Examples: jsdom, node or path/to/my-environment.js.").option("--errorOnDeprecated", "Make calling deprecated APIs throw helpful error messages.").option("--expand", "Use this flag to show full diffs and errors instead of a patch.").option("--forceExit", "Force Jest to exit after all tests have completed running.").option("--json", "Prints the test results in JSON.").option("--lastCommit", "Run all tests affected by file changes in the last commit made.").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--listTests", "Lists all tests as JSON that Jest will run given the arguments, and exits.").option("--logHeapUsage", "Logs the heap usage after every test.").option("--maxWorkers <num>", "Specifies the maximum number of workers the worker-pool will spawn for running tests. ").option("--noStackTrace", "Disables stack trace in test results output.").option("--notify", "Activates notifications for test results.").option("--onlyChanged", "un based on which files have changed in the current repository. ").option("--outputFile <filename>", "Write test results to a file when the --json option is also specified.").option("--passWithNoTests", "Allows the test suite to pass when no files are found.").option("--quiet", "No Lex notifications printed in the console.").option("--runInBand", "Run all tests serially in the current process, rather than creating a worker pool of child processes that run tests.").option("--setup <path>", "Jest setup file path.").option("--showConfig", "Print your Jest config and then exits.").option("--silent", "Prevent tests from printing messages through the console.").option("--testLocationInResults", "Adds a location field to test results.").option("--testNamePattern <regex>", "Run only tests with a name that matches the regex. ").option("--testPathPattern <regex>", "A regexp pattern string that is matched against all tests paths before executing the test.").option("--typescript", "Transpile as Typescript.").option("--update", 'Update snapshots. Runs "jest --updateSnapshots"').option("--useStderr", "Divert all output to stderr.").option("--verbose", "Display individual test results with the test suite hierarchy.").option("--watch <path>", "Watch files for changes and rerun tests related to changed files.").option("--watchAll", "Watch files for changes and rerun all tests when something changes.").action((cmd) => test(cmd, process.exit).then(() => {
|
|
42
42
|
}));
|
|
43
|
-
program.command("update").option("
|
|
43
|
+
program.command("update").option("--interactive", "Choose which packages to update.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").option("--registry", "Add a custom registry url.").action((cmd) => update(cmd, process.exit).then(() => {
|
|
44
44
|
}));
|
|
45
|
-
program.command("upgrade").
|
|
45
|
+
program.command("upgrade").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").action((cmd) => upgrade(cmd, process.exit).then(() => {
|
|
46
46
|
}));
|
|
47
|
-
program.command("versions").option("
|
|
47
|
+
program.command("versions").option("--json", "Print the version as a JSON object.").action((cmd) => versions(cmd, process.exit).then(() => {
|
|
48
48
|
}));
|
|
49
49
|
program.version(packageJson.version).parse(process.argv);
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7cHJvZ3JhbX0gZnJvbSAnY29tbWFuZGVyJztcblxuaW1wb3J0IHBhY2thZ2VKc29uIGZyb20gJy4uL3BhY2thZ2UuanNvbicgYXNzZXJ0IHt0eXBlOiAnanNvbid9O1xuaW1wb3J0IHtidWlsZH0gZnJvbSAnLi9jb21tYW5kcy9idWlsZC5qcyc7XG5pbXBvcnQge2NsZWFufSBmcm9tICcuL2NvbW1hbmRzL2NsZWFuLmpzJztcbmltcG9ydCB7Y29tcGlsZX0gZnJvbSAnLi9jb21tYW5kcy9jb21waWxlLmpzJztcbmltcG9ydCB7Y29uZmlnfSBmcm9tICcuL2NvbW1hbmRzL2NvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZX0gZnJvbSAnLi9jb21tYW5kcy9jcmVhdGUuanMnO1xuaW1wb3J0IHtkZXZ9IGZyb20gJy4vY29tbWFuZHMvZGV2LmpzJztcbmltcG9ydCB7aW5pdH0gZnJvbSAnLi9jb21tYW5kcy9pbml0LmpzJztcbmltcG9ydCB7bGlua2VkfSBmcm9tICcuL2NvbW1hbmRzL2xpbmsuanMnO1xuaW1wb3J0IHtsaW50fSBmcm9tICcuL2NvbW1hbmRzL2xpbnQuanMnO1xuaW1wb3J0IHttaWdyYXRlfSBmcm9tICcuL2NvbW1hbmRzL21pZ3JhdGUuanMnO1xuaW1wb3J0IHtwdWJsaXNofSBmcm9tICcuL2NvbW1hbmRzL3B1Ymxpc2guanMnO1xuaW1wb3J0IHt0ZXN0fSBmcm9tICcuL2NvbW1hbmRzL3Rlc3QuanMnO1xuaW1wb3J0IHt1cGRhdGV9IGZyb20gJy4vY29tbWFuZHMvdXBkYXRlLmpzJztcbmltcG9ydCB7dXBncmFkZX0gZnJvbSAnLi9jb21tYW5kcy91cGdyYWRlLmpzJztcbmltcG9ydCB7dmVyc2lvbnN9IGZyb20gJy4vY29tbWFuZHMvdmVyc2lvbnMuanMnO1xuXG4vLyBDb21tYW5kc1xucHJvZ3JhbS5jb21tYW5kKCdidWlsZCcpXG4gIC5vcHRpb24oJy1jLCAtLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIFdlYnBhY2sgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiB3ZWJwYWNrLmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLWwsIC0tbGV4Q29uZmlnIDxwYXRoPicsICdMZXggY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGxleC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy1tLCAtLW1vZGUgPHR5cGU+JywgJ1dlYnBhY2sgbW9kZSAoXCJwcm9kdWN0aW9uXCIgb3IgXCJkZXZlbG9wbWVudFwiKS4gRGVmYXVsdDogXCJkZXZlbG9wbWVudFwiLicsIC9eKGRldmVsb3BtZW50fHByb2R1Y3Rpb24pJC9pLCAnZGV2ZWxvcG1lbnQnKVxuICAub3B0aW9uKCctcSwgLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy1yLCAtLXJlbW92ZScsICdSZW1vdmVzIGFsbCBmaWxlcyBmcm9tIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSBjb21waWxpbmcuJylcbiAgLm9wdGlvbignLXMsIC0tc3RhdGljJywgJ0NyZWF0ZXMgc3RhdGljIEhUTUwgZmlsZXMgd2hlbiBidWlsZGluZyBhcHAuJylcbiAgLm9wdGlvbignLXQsIC0tdHlwZXNjcmlwdCcsICdUcmFuc3BpbGUgYXMgVHlwZXNjcmlwdC4nKVxuICAub3B0aW9uKCctdiwgLS12YXJpYWJsZXMgPG5hbWU+JywgJ0Vudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gXCJwcm9jZXNzLmVudlwiLiAoaWUuIFwie05PREVfRU5WOiBcXCdwcm9kdWN0aW9uXFwnfVwiKS4nKVxuICAub3B0aW9uKCctdywgLS13YXRjaCcsICdXYXRjaCBmb3IgY2hhbmdlcy4nKVxuICAub3B0aW9uKCctLWJ1bmRsZXIgPG5hbWU+JywgJ0J1bmRsZXIgdG8gdXNlIChcIndlYnBhY2tcIiBvciBcImVzYnVpbGRcIikuIERlZmF1bHQ6IFwid2VicGFja1wiLicsIC9eKHdlYnBhY2t8ZXNidWlsZCkkL2ksICd3ZWJwYWNrJylcbiAgLm9wdGlvbignLS1zb3VyY2VQYXRoIDxwYXRoPicsICdTb3VyY2UgcGF0aCcpXG4gIC5vcHRpb24oJy0tb3V0cHV0UGF0aCA8cGF0aD4nLCAnT3V0cHV0IHBhdGgnKVxuICAub3B0aW9uKCctLW91dHB1dENodW5rRmlsZW5hbWUgPGZpbGVuYW1lPicsICdUaGUgb3V0cHV0IGZpbGVuYW1lIGZvciBhZGRpdGlvbmFsIGNodW5rcy4nKVxuICAub3B0aW9uKCctLW91dHB1dEZpbGVuYW1lIDxmaWxlbmFtZT4nLCAnVGhlIG91dHB1dCBmaWxlbmFtZSBvZiB0aGUgYnVuZGxlLiBEZWZhdWx0OiBcIltuYW1lXS5qc1wiLicpXG4gIC5vcHRpb24oJy0tb3V0cHV0SnNvbnBGdW5jdGlvbiA8ZnVuYz4nLCAnVGhlIG5hbWUgb2YgdGhlIEpTT05QIGZ1bmN0aW9uIHVzZWQgZm9yIGNodW5rIGxvYWRpbmcuIERlZmF1bHQ6IFwid2VicGFja0pzb25wXCIuJylcbiAgLm9wdGlvbignLS1vdXRwdXRMaWJyYXJ5IDxsaWJyYXJ5PicsICdFeHBvc2UgdGhlIGV4cG9ydHMgb2YgdGhlIGVudHJ5IHBvaW50IGFzIGxpYnJhcnkuJylcbiAgLm9wdGlvbignLS1vdXRwdXRMaWJyYXJ5VGFyZ2V0IDx0YXJnZXQ+JywgJ1RoZSB0eXBlIGZvciBleHBvc2luZyB0aGUgZXhwb3J0cyBvZiB0aGUgZW50cnkgcG9pbnQgYXMgbGlicmFyeS4gRGVmYXVsdDogXCJ2YXJcIi4nKVxuICAub3B0aW9uKCctLW91dHB1dFBhdGhJbmZvIDxoYXNJbmZvPicsICdUaGUgb3V0cHV0IGZpbGVuYW1lIGZvciBhZGRpdGlvbmFsIGNodW5rcy4gRGVmYXVsdDogZmFsc2UnKVxuICAub3B0aW9uKCctLW91dHB1dFB1YmxpY1BhdGggPHBhdGg+JywgJ1RoZSBwdWJsaWMgcGF0aCBmb3IgdGhlIGFzc2V0cy4gRGVmYXVsdDogXCIvXCInKVxuICAub3B0aW9uKCctLW91dHB1dFNvdXJjZU1hcEZpbGVuYW1lIDxmaWxlbmFtZT4nLCAnVGhlIG91dHB1dCBmaWxlbmFtZSBmb3IgdGhlIFNvdXJjZU1hcC4gRGVmYXVsdDogXCJbbmFtZV0ubWFwXCInKVxuICAub3B0aW9uKCctLWJ1aWxkRGVsaW1pdGVyIDxkZWxpbWl0ZXI+JywgJ0Rpc3BsYXkgY3VzdG9tIHRleHQgYWZ0ZXIgYnVpbGQgb3V0cHV0LiBEZWZhdWx0OiBcIj09PSBCdWlsZCBkb25lID09PVwiJylcbiAgLmFjdGlvbigoY21kKSA9PiBidWlsZChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2NsZWFuJylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctcywgLS1zbmFwc2hvdHMnLCAnUmVtb3ZlIGFsbCBcIl9fc25hcHNob3RzX19cIiBkaXJlY3Rvcmllcy4nKVxuICAuYWN0aW9uKChjbWQpID0+IGNsZWFuKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnY29uZmlnIDx0eXBlPicpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1qc29uIDxwYXRoPicsICdTYXZlIG91dHB1dCB0byBqc29uIGZpbGUuJylcbiAgLmFjdGlvbigodHlwZSwgY21kKSA9PiBjb25maWcodHlwZSwgY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdjb21waWxlJylcbiAgLm9wdGlvbignLWMsIC0tY29uZmlnIDxwYXRoPicsICdUcmFuc3BpbGVyIGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gLmZsb3djb25maWcgb3IgdHNjb25maWcuanNvbikuJylcbiAgLm9wdGlvbignLWUsIC0tZW52aXJvbm1lbnQgPG5hbWU+JywgJ1RhcmdldCBlbnZpcm9ubWVudC4gXCJub2RlXCIgb3IgXCJ3ZWJcIi4gRGVmYXVsdDogXCJub2RlXCIuJylcbiAgLm9wdGlvbignLWwsIC0tbGV4Q29uZmlnIDxwYXRoPicsICdDdXN0b20gTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gbGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLXIsIC0tcmVtb3ZlJywgJ1JlbW92ZXMgYWxsIGZpbGVzIGZyb20gdGhlIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIGNvbXBpbGluZy4nKVxuICAub3B0aW9uKCctdCwgLS10eXBlc2NyaXB0JywgJ1RyYW5zcGlsZSBhcyBUeXBlc2NyaXB0LicpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLXcsIC0td2F0Y2gnLCAnV2F0Y2hlcyBmb3IgY2hhbmdlcyBhbmQgY29tcGlsZXMuJylcbiAgLm9wdGlvbignLS1zb3VyY2VQYXRoIDxwYXRoPicsICdTb3VyY2UgcGF0aCcpXG4gIC5vcHRpb24oJy0tb3V0cHV0UGF0aCA8cGF0aD4nLCAnT3V0cHV0IHBhdGgnKVxuICAuYWN0aW9uKChjbWQpID0+IGNvbXBpbGUoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdjcmVhdGUgPHR5cGU+JylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctdCwgLS10eXBlc2NyaXB0JywgJ0NyZWF0ZSBUeXBlc2NyaXB0IHZlcnNpb24uJylcbiAgLm9wdGlvbignLS1vdXRwdXRGaWxlIDxwYXRoPicsICdPdXRwdXQgZmlsZW5hbWUuJylcbiAgLm9wdGlvbignLS1vdXRwdXROYW1lIDxuYW1lPicsICdPdXRwdXQgbmFtZS4nKVxuICAuYWN0aW9uKCh0eXBlLCBjbWQpID0+IGNyZWF0ZSh0eXBlLCBjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2RldicpXG4gIC5vcHRpb24oJy1jLCAtLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIFdlYnBhY2sgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiB3ZWJwYWNrLmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLWwsIC0tbGV4Q29uZmlnIDxwYXRoPicsICdDdXN0b20gTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gbGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLW8sIC0tb3BlbicsICdBdXRvbWF0aWNhbGx5IG9wZW4gZGV2IHNlcnZlciBpbiBhIG5ldyBicm93c2VyIHdpbmRvdy4nKVxuICAub3B0aW9uKCctcSwgLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy1yLCAtLXJlbW92ZScsICdSZW1vdmVzIGFsbCBmaWxlcyBmcm9tIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSBjb21waWxpbmcuJylcbiAgLm9wdGlvbignLXQsIC0tdHlwZXNjcmlwdCcsICdUcmFuc3BpbGUgYXMgVHlwZXNjcmlwdC4nKVxuICAub3B0aW9uKCctdiwgLS12YXJpYWJsZXMgPG5hbWU+JywgJ0Vudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gXCJwcm9jZXNzLmVudlwiLiAoaWUuIFwie05PREVfRU5WOiBcXCdkZXZlbG9wbWVudFxcJ31cIikuJylcbiAgLm9wdGlvbignLXcsIC0td2F0Y2gnLCAnV2F0Y2ggZm9yIGNoYW5nZXMuJylcbiAgLm9wdGlvbignLS1idW5kbGVBbmFseXplcicsICdSdW4gYnVuZGxlIGFuYWx5emVyLicpXG4gIC5vcHRpb24oJy0tc291cmNlUGF0aCA8cGF0aD4nLCAnU291cmNlIHBhdGgnKVxuICAub3B0aW9uKCctLW91dHB1dFBhdGggPHBhdGg+JywgJ091dHB1dCBwYXRoJylcbiAgLmFjdGlvbigoY21kKSA9PiBkZXYoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdpbml0IDxhcHBOYW1lPiBbcGFja2FnZU5hbWVdJylcbiAgLm9wdGlvbignLWksIC0taW5zdGFsbCcsICdJbnN0YWxsIGRlcGVuZGVuY2llcy4nKVxuICAub3B0aW9uKCctbSwgLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScsIC9eKG5wbXx5YXJuKSQvaSwgJ25wbScpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLXQsIC0tdHlwZXNjcmlwdCcsICdVc2UgYSBUeXBlc2NyaXB0IGJhc2VkIGFwcC4nKVxuICAuYWN0aW9uKChhcHBOYW1lLCBwYWNrYWdlTmFtZSwgY21kKSA9PiBpbml0KGFwcE5hbWUsIHBhY2thZ2VOYW1lLCBjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2xpbmtlZCcpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLmFjdGlvbigoY21kKSA9PiBsaW5rZWQoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdsaW50JylcbiAgLm9wdGlvbignLS1jYWNoZScsICdPbmx5IGNoZWNrIGNoYW5nZWQgZmlsZXMuIERlZmF1bHQ6IGZhbHNlLicpXG4gIC5vcHRpb24oJy0tY2FjaGUtbG9jYXRpb24gPHBhdGg+JywgJ1BhdGggdG8gdGhlIGNhY2hlIGZpbGUgb3IgZGlyZWN0b3J5LicpXG4gIC5vcHRpb24oJy0tY29sb3InLCAnRm9yY2UgZW5hYmxpbmcgb2YgY29sb3IuJylcbiAgLm9wdGlvbignLS1jb25maWcgPHBhdGg+JywgJ1VzZSB0aGlzIGNvbmZpZ3VyYXRpb24sIG92ZXJyaWRpbmcgLmVzbGludHJjLiogY29uZmlnIG9wdGlvbnMgaWYgcHJlc2VudC4nKVxuICAub3B0aW9uKCctLWRlYnVnJywgJ091dHB1dCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uJylcbiAgLm9wdGlvbignLS1lbnYtaW5mbycsICdPdXRwdXQgZXhlY3V0aW9uIGVudmlyb25tZW50IGluZm9ybWF0aW9uLiBEZWZhdWx0OiBmYWxzZS4nKVxuICAub3B0aW9uKCctLWVudiA8bmFtZT4nLCAnU3BlY2lmeSBlbnZpcm9ubWVudHMuJylcbiAgLm9wdGlvbignLS1leHQgPHR5cGU+JywgJ1NwZWNpZnkgSmF2YVNjcmlwdCBmaWxlIGV4dGVuc2lvbnMuIERlZmF1bHQ6IC5qcy4nKVxuICAub3B0aW9uKCctLWZpeCcsICdBdXRvbWF0aWNhbGx5IGZpeCBwcm9ibGVtcy4nKVxuICAub3B0aW9uKCctLWZpeC1kcnktcnVuJywgJ0F1dG9tYXRpY2FsbHkgZml4IHByb2JsZW1zIHdpdGhvdXQgc2F2aW5nIHRoZSBjaGFuZ2VzIHRvIHRoZSBmaWxlIHN5c3RlbS4nKVxuICAub3B0aW9uKCctLWZpeC10eXBlIDx0eXBlPicsICdTcGVjaWZ5IHRoZSB0eXBlcyBvZiBmaXhlcyB0byBhcHBseSAocHJvYmxlbSwgc3VnZ2VzdGlvbiwgbGF5b3V0KS4nKVxuICAub3B0aW9uKCctLWZvcm1hdCA8bmFtZT4nLCAnVXNlIGEgc3BlY2lmaWMgb3V0cHV0IGZvcm1hdC4gRGVmYXVsdDogc3R5bGlzaC4nKVxuICAub3B0aW9uKCctLWdsb2JhbCA8dmFyaWFibGVzPicsICdEZWZpbmUgZ2xvYmFsIHZhcmlhYmxlcy4nKVxuICAub3B0aW9uKCctLWlnbm9yZS1wYXRoIDxwYXRoPicsICdTcGVjaWZ5IHBhdGggb2YgaWdub3JlIGZpbGUuJylcbiAgLm9wdGlvbignLS1pZ25vcmUtcGF0dGVybiA8cGF0dGVybj4nLCAnUGF0dGVybiBvZiBmaWxlcyB0byBpZ25vcmUgKGluIGFkZGl0aW9uIHRvIHRob3NlIGluIC5lc2xpbnRpZ25vcmUpLicpXG4gIC5vcHRpb24oJy0taW5pdCcsICdSdW4gY29uZmlnIGluaXRpYWxpemF0aW9uIHdpemFyZC4gRGVmYXVsdDogZmFsc2UuJylcbiAgLm9wdGlvbignLS1tYXgtd2FybmluZ3MgPG51bT4nLCAnTnVtYmVyIG9mIHdhcm5pbmdzIHRvIHRyaWdnZXIgbm9uemVybyBleGl0IGNvZGUuIERlZmF1bHQ6IC0xLicpXG4gIC5vcHRpb24oJy0tbm8tY29sb3InLCAnRm9yY2UgZGlzYWJsaW5nIG9mIGNvbG9yLicpXG4gIC5vcHRpb24oJy0tbm8tZXNsaW50cmMnLCAnRGlzYWJsZSB1c2Ugb2YgY29uZmlndXJhdGlvbiBmcm9tIC5lc2xpbnRyYy4qLicpXG4gIC5vcHRpb24oJy0tbm8taWdub3JlJywgJ0Rpc2FibGUgdXNlIG9mIGlnbm9yZSBmaWxlcyBhbmQgcGF0dGVybnMuJylcbiAgLm9wdGlvbignLS1uby1pbmxpbmUtY29uZmlnJywgJ1ByZXZlbnQgY29tbWVudHMgZnJvbSBjaGFuZ2luZyBjb25maWcgb3IgcnVsZXMuJylcbiAgLm9wdGlvbignLS1vdXRwdXQtZmlsZSA8cGF0aD4nLCAnU3BlY2lmeSBmaWxlIHRvIHdyaXRlIHJlcG9ydCB0by4nKVxuICAub3B0aW9uKCctLXBhcnNlciA8bmFtZT4nLCAnU3BlY2lmeSB0aGUgcGFyc2VyIHRvIGJlIHVzZWQuJylcbiAgLm9wdGlvbignLS1wYXJzZXItb3B0aW9ucyA8b3B0aW9ucz4nLCAnU3BlY2lmeSBwYXJzZXIgb3B0aW9ucy4nKVxuICAub3B0aW9uKCctLXBsdWdpbiA8cGx1Z2lucz4nLCAnU3BlY2lmeSBwbHVnaW5zLicpXG4gIC5vcHRpb24oJy0tcHJpbnQtY29uZmlnIDxwYXRoPicsICdQcmludCB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGdpdmVuIGZpbGUuJylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXJlcG9ydC11bnVzZWQtZGlzYWJsZS1kaXJlY3RpdmVzJywgJ0FkZHMgcmVwb3J0ZWQgZXJyb3JzIGZvciB1bnVzZWQgZXNsaW50LWRpc2FibGUgZGlyZWN0aXZlcy4nKVxuICAub3B0aW9uKCctLXJlc29sdmUtcGx1Z2lucy1yZWxhdGl2ZS10byA8cGF0aD4nLCAnQSBmb2xkZXIgd2hlcmUgcGx1Z2lucyBzaG91bGQgYmUgcmVzb2x2ZWQgZnJvbS4nKVxuICAub3B0aW9uKCctLXJ1bGUgPHBhdGg+JywgJ1NwZWNpZnkgcnVsZXMuJylcbiAgLm9wdGlvbignLS1ydWxlc2RpciA8cGF0aD4nLCAnVXNlIGFkZGl0aW9uYWwgcnVsZXMgZnJvbSB0aGlzIGRpcmVjdG9yeS4nKVxuICAub3B0aW9uKCctLXN0ZGluJywgJ0xpbnQgY29kZSBwcm92aWRlZCBvbiA8U1RESU4+IC0gRGVmYXVsdDogZmFsc2UuJylcbiAgLm9wdGlvbignLS1zdGRpbi1maWxlbmFtZSA8bmFtZT4nLCAnU3BlY2lmeSBmaWxlbmFtZSB0byBwcm9jZXNzIFNURElOIGFzLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gbGludChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ21pZ3JhdGUnKVxuICAub3B0aW9uKCctcSwgLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gbWlncmF0ZShjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3B1Ymxpc2gnKVxuICAub3B0aW9uKCctYiwgLS1idW1wIDx0eXBlPicsICdJbmNyZW1lbnRzIHRoZSB2ZXJzaW9uLiBUeXBlcyBpbmNsdWRlOiBtYWpvciwgbWlub3IsIHBhdGNoLCBiZXRhLCBhbHBoYSwgcmMuIERlZmF1bHQ6IFwicGF0Y2hcIi4sICcsIC9eKG1ham9yfG1pbm9yfHBhdGNofGJldGF8YWxwaGF8cmMpJC9pLCAncGF0Y2gnKVxuICAub3B0aW9uKCctbywgLS1vdHAgPGNvZGU+JywgJ1Byb3ZpZGUgYSB0d28tZmFjdG9yIGNvZGUuJylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctcCwgLS1wcml2YXRlJywgJ1B1Ymxpc2hlcyB0aGUgbW9kdWxlIGFzIHJlc3RyaWN0ZWQuJylcbiAgLm9wdGlvbignLW0sIC0tcGFja2FnZS1tYW5hZ2VyIDxtYW5hZ2VyPicsICdXaGljaCBwYWNrYWdlIG1hbmFnZXIgdG8gdXNlLiBEZWZhdWx0OiBucG0nLCAvXihucG18eWFybikkL2ksICducG0nKVxuICAub3B0aW9uKCctdCwgLS10YWcgPHRhZz4nLCAnUmVnaXN0ZXJzIHRoZSBwdWJsaXNoZWQgcGFja2FnZSB3aXRoIHRoZSBnaXZlbiB0YWcuJylcbiAgLm9wdGlvbignLXYsIC0tbmV3LXZlcnNpb24gPHZlcnNpb25OdW1iZXI+JywgJ1B1Ymxpc2ggYXMgYSBzcGVjaWZpYyB2ZXJzaW9uLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gcHVibGlzaChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3Rlc3QnKVxuICAub3B0aW9uKCctYywgLS1jb25maWcgPHBhdGg+JywgJ0N1c3RvbSBKZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gamVzdC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy1kLCAtLWRldGVjdE9wZW5IYW5kbGVzJywgJ0F0dGVtcHQgdG8gY29sbGVjdCBhbmQgcHJpbnQgb3BlbiBoYW5kbGVzIHByZXZlbnRpbmcgSmVzdCBmcm9tIGV4aXRpbmcgY2xlYW5seScpXG4gIC5vcHRpb24oJy1lLCAtLWVudmlyb25tZW50IDxuYW1lPicsICdUYXJnZXQgZW52aXJvbm1lbnQuIFwibm9kZVwiIG9yIFwid2ViXCIuIERlZmF1bHQ6IFwibm9kZVwiLicpXG4gIC5vcHRpb24oJy1sLCAtLWxleENvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIExleCBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAoaWUuIGxleC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLXIsIC0tY2xlYXJDYWNoZScsICdDbGVhciBKZXN0IGNhY2hlLicpXG4gIC5vcHRpb24oJy1zLCAtLXNldHVwIDxwYXRoPicsICdKZXN0IHNldHVwIGZpbGUgcGF0aC4nKVxuICAub3B0aW9uKCctdCwgLS10eXBlc2NyaXB0JywgJ1RyYW5zcGlsZSBhcyBUeXBlc2NyaXB0LicpXG4gIC5vcHRpb24oJy11LCAtLXVwZGF0ZScsICdVcGRhdGUgc25hcHNob3RzLiBSdW5zIFwiamVzdCAtLXVwZGF0ZVNuYXBzaG90c1wiJylcbiAgLm9wdGlvbignLXcsIC0td2F0Y2ggPHBhdGg+JywgJ1dhdGNoIGZpbGVzIGZvciBjaGFuZ2VzIGFuZCByZXJ1biB0ZXN0cyByZWxhdGVkIHRvIGNoYW5nZWQgZmlsZXMuJylcbiAgLm9wdGlvbignLS1iYWlsJywgJ0V4aXQgdGhlIHRlc3Qgc3VpdGUgaW1tZWRpYXRlbHkgdXBvbiB0aGUgZmlyc3QgZmFpbGluZyB0ZXN0IHN1aXRlLicpXG4gIC5vcHRpb24oJy0tY2hhbmdlZEZpbGVzV2l0aEFuY2VzdG9yJywgJ1J1bnMgdGVzdHMgcmVsYXRlZCB0byB0aGUgY3VycmVudCBjaGFuZ2VzIGFuZCB0aGUgY2hhbmdlcyBtYWRlIGluIHRoZSBsYXN0IGNvbW1pdC4nKVxuICAub3B0aW9uKCctLWNoYW5nZWRTaW5jZScsICdSdW5zIHRlc3RzIHJlbGF0ZWQgdGhlIGNoYW5nZXMgc2luY2UgdGhlIHByb3ZpZGVkIGJyYW5jaC4nKVxuICAub3B0aW9uKCctLWNpJywgJ1doZW4gdGhpcyBvcHRpb24gaXMgcHJvdmlkZWQsIEplc3Qgd2lsbCBhc3N1bWUgaXQgaXMgcnVubmluZyBpbiBhIENJIGVudmlyb25tZW50LicpXG4gIC5vcHRpb24oJy0tY29sbGVjdENvdmVyYWdlRnJvbSA8Z2xvYj4nLCAnQSBnbG9iIHBhdHRlcm4gcmVsYXRpdmUgdG8gbWF0Y2hpbmcgdGhlIGZpbGVzIHRoYXQgY292ZXJhZ2UgaW5mbyBuZWVkcyB0byBiZSBjb2xsZWN0ZWQgZnJvbS4nKVxuICAub3B0aW9uKCctLWNvbG9ycycsICdGb3JjZXMgdGVzdCByZXN1bHRzIG91dHB1dCBoaWdobGlnaHRpbmcgZXZlbiBpZiBzdGRvdXQgaXMgbm90IGEgVFRZLicpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnUHJpbnQgZGVidWdnaW5nIGluZm8gYWJvdXQgeW91ciBKZXN0IGNvbmZpZy4nKVxuICAub3B0aW9uKCctLWRldGVjdE9wZW5IYW5kbGVzJywgJ0F0dGVtcHQgdG8gY29sbGVjdCBhbmQgcHJpbnQgb3BlbiBoYW5kbGVzIHByZXZlbnRpbmcgSmVzdCBmcm9tIGV4aXRpbmcgY2xlYW5seS4nKVxuICAub3B0aW9uKCctLWVudicsICdUaGUgdGVzdCBlbnZpcm9ubWVudCB1c2VkIGZvciBhbGwgdGVzdHMuIFRoaXMgY2FuIHBvaW50IHRvIGFueSBmaWxlIG9yIG5vZGUgbW9kdWxlLiBFeGFtcGxlczoganNkb20sIG5vZGUgb3IgcGF0aC90by9teS1lbnZpcm9ubWVudC5qcy4nKVxuICAub3B0aW9uKCctLWVycm9yT25EZXByZWNhdGVkJywgJ01ha2UgY2FsbGluZyBkZXByZWNhdGVkIEFQSXMgdGhyb3cgaGVscGZ1bCBlcnJvciBtZXNzYWdlcy4nKVxuICAub3B0aW9uKCctLWV4cGFuZCcsICdVc2UgdGhpcyBmbGFnIHRvIHNob3cgZnVsbCBkaWZmcyBhbmQgZXJyb3JzIGluc3RlYWQgb2YgYSBwYXRjaC4nKVxuICAub3B0aW9uKCctLWZvcmNlRXhpdCcsICdGb3JjZSBKZXN0IHRvIGV4aXQgYWZ0ZXIgYWxsIHRlc3RzIGhhdmUgY29tcGxldGVkIHJ1bm5pbmcuJylcbiAgLm9wdGlvbignLS1qc29uJywgJ1ByaW50cyB0aGUgdGVzdCByZXN1bHRzIGluIEpTT04uJylcbiAgLm9wdGlvbignLS1sYXN0Q29tbWl0JywgJ1J1biBhbGwgdGVzdHMgYWZmZWN0ZWQgYnkgZmlsZSBjaGFuZ2VzIGluIHRoZSBsYXN0IGNvbW1pdCBtYWRlLicpXG4gIC5vcHRpb24oJy0tbGlzdFRlc3RzJywgJ0xpc3RzIGFsbCB0ZXN0cyBhcyBKU09OIHRoYXQgSmVzdCB3aWxsIHJ1biBnaXZlbiB0aGUgYXJndW1lbnRzLCBhbmQgZXhpdHMuJylcbiAgLm9wdGlvbignLS1sb2dIZWFwVXNhZ2UnLCAnTG9ncyB0aGUgaGVhcCB1c2FnZSBhZnRlciBldmVyeSB0ZXN0LicpXG4gIC5vcHRpb24oJy0tbWF4V29ya2VycyA8bnVtPicsICdTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdvcmtlcnMgdGhlIHdvcmtlci1wb29sIHdpbGwgc3Bhd24gZm9yIHJ1bm5pbmcgdGVzdHMuICcpXG4gIC5vcHRpb24oJy0tbm9TdGFja1RyYWNlJywgJ0Rpc2FibGVzIHN0YWNrIHRyYWNlIGluIHRlc3QgcmVzdWx0cyBvdXRwdXQuJylcbiAgLm9wdGlvbignLS1ub3RpZnknLCAnQWN0aXZhdGVzIG5vdGlmaWNhdGlvbnMgZm9yIHRlc3QgcmVzdWx0cy4nKVxuICAub3B0aW9uKCctLW9ubHlDaGFuZ2VkJywgJ3VuIGJhc2VkIG9uIHdoaWNoIGZpbGVzIGhhdmUgY2hhbmdlZCBpbiB0aGUgY3VycmVudCByZXBvc2l0b3J5LiAnKVxuICAub3B0aW9uKCctLW91dHB1dEZpbGUgPGZpbGVuYW1lPicsICdXcml0ZSB0ZXN0IHJlc3VsdHMgdG8gYSBmaWxlIHdoZW4gdGhlIC0tanNvbiBvcHRpb24gaXMgYWxzbyBzcGVjaWZpZWQuJylcbiAgLm9wdGlvbignLS1wYXNzV2l0aE5vVGVzdHMnLCAnQWxsb3dzIHRoZSB0ZXN0IHN1aXRlIHRvIHBhc3Mgd2hlbiBubyBmaWxlcyBhcmUgZm91bmQuJylcbiAgLm9wdGlvbignLS1ydW5JbkJhbmQnLCAnUnVuIGFsbCB0ZXN0cyBzZXJpYWxseSBpbiB0aGUgY3VycmVudCBwcm9jZXNzLCByYXRoZXIgdGhhbiBjcmVhdGluZyBhIHdvcmtlciBwb29sIG9mIGNoaWxkIHByb2Nlc3NlcyB0aGF0IHJ1biB0ZXN0cy4nKVxuICAub3B0aW9uKCctLXNob3dDb25maWcnLCAnUHJpbnQgeW91ciBKZXN0IGNvbmZpZyBhbmQgdGhlbiBleGl0cy4nKVxuICAub3B0aW9uKCctLXNpbGVudCcsICdQcmV2ZW50IHRlc3RzIGZyb20gcHJpbnRpbmcgbWVzc2FnZXMgdGhyb3VnaCB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXRlc3RMb2NhdGlvbkluUmVzdWx0cycsICdBZGRzIGEgbG9jYXRpb24gZmllbGQgdG8gdGVzdCByZXN1bHRzLicpXG4gIC5vcHRpb24oJy0tdGVzdE5hbWVQYXR0ZXJuIDxyZWdleD4nLCAnUnVuIG9ubHkgdGVzdHMgd2l0aCBhIG5hbWUgdGhhdCBtYXRjaGVzIHRoZSByZWdleC4gJylcbiAgLm9wdGlvbignLS10ZXN0UGF0aFBhdHRlcm4gPHJlZ2V4PicsICdBIHJlZ2V4cCBwYXR0ZXJuIHN0cmluZyB0aGF0IGlzIG1hdGNoZWQgYWdhaW5zdCBhbGwgdGVzdHMgcGF0aHMgYmVmb3JlIGV4ZWN1dGluZyB0aGUgdGVzdC4nKVxuICAub3B0aW9uKCctLXVzZVN0ZGVycicsICdEaXZlcnQgYWxsIG91dHB1dCB0byBzdGRlcnIuJylcbiAgLm9wdGlvbignLS12ZXJib3NlJywgJ0Rpc3BsYXkgaW5kaXZpZHVhbCB0ZXN0IHJlc3VsdHMgd2l0aCB0aGUgdGVzdCBzdWl0ZSBoaWVyYXJjaHkuJylcbiAgLm9wdGlvbignLS13YXRjaEFsbCcsICdXYXRjaCBmaWxlcyBmb3IgY2hhbmdlcyBhbmQgcmVydW4gYWxsIHRlc3RzIHdoZW4gc29tZXRoaW5nIGNoYW5nZXMuJylcbiAgLmFjdGlvbigoY21kKSA9PiB0ZXN0KGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgndXBkYXRlJylcbiAgLm9wdGlvbignLWksIC0taW50ZXJhY3RpdmUnLCAnQ2hvb3NlIHdoaWNoIHBhY2thZ2VzIHRvIHVwZGF0ZS4nKVxuICAub3B0aW9uKCctbSwgLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScsIC9eKG5wbXx5YXJuKSQvaSwgJ25wbScpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1yZWdpc3RyeScsICdBZGQgYSBjdXN0b20gcmVnaXN0cnkgdXJsLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gdXBkYXRlKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgndXBncmFkZScpXG4gIC5vcHRpb24oJy1tLCAtLXBhY2thZ2UtbWFuYWdlciA8bWFuYWdlcj4nLCAnV2hpY2ggcGFja2FnZSBtYW5hZ2VyIHRvIHVzZS4gRGVmYXVsdDogbnBtJywgL14obnBtfHlhcm4pJC9pLCAnbnBtJylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAuYWN0aW9uKChjbWQpID0+IHVwZ3JhZGUoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCd2ZXJzaW9ucycpXG4gIC5vcHRpb24oJy1qLCAtLWpzb24nLCAnUHJpbnQgdGhlIHZlcnNpb24gYXMgYSBKU09OIG9iamVjdC4nKVxuICAuYWN0aW9uKChjbWQpID0+IHZlcnNpb25zKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbi8vIEluaXRpYWxpemVcbnByb2dyYW1cbiAgLnZlcnNpb24ocGFja2FnZUpzb24udmVyc2lvbilcbiAgLnBhcnNlKHByb2Nlc3MuYXJndik7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBS0EsU0FBUSxlQUFjO0FBRXRCLE9BQU8saUJBQWlCLGtCQUFrQixPQUFPLEVBQUMsTUFBTSxPQUFNO0FBQzlELFNBQVEsYUFBWTtBQUNwQixTQUFRLGFBQVk7QUFDcEIsU0FBUSxlQUFjO0FBQ3RCLFNBQVEsY0FBYTtBQUNyQixTQUFRLGNBQWE7QUFDckIsU0FBUSxXQUFVO0FBQ2xCLFNBQVEsWUFBVztBQUNuQixTQUFRLGNBQWE7QUFDckIsU0FBUSxZQUFXO0FBQ25CLFNBQVEsZUFBYztBQUN0QixTQUFRLGVBQWM7QUFDdEIsU0FBUSxZQUFXO0FBQ25CLFNBQVEsY0FBYTtBQUNyQixTQUFRLGVBQWM7QUFDdEIsU0FBUSxnQkFBZTtBQUd2QixRQUFRLFFBQVEsT0FBTyxFQUNwQixPQUFPLHVCQUF1QixpRUFBaUUsRUFDL0YsT0FBTywwQkFBMEIsOENBQThDLEVBQy9FLE9BQU8scUJBQXFCLHlFQUF5RSwrQkFBK0IsYUFBYSxFQUNqSixPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sZ0JBQWdCLCtEQUErRCxFQUN0RixPQUFPLGdCQUFnQiw4Q0FBOEMsRUFDckUsT0FBTyxvQkFBb0IsMEJBQTBCLEVBQ3JELE9BQU8sMEJBQTBCLGtGQUFvRixFQUNySCxPQUFPLGVBQWUsb0JBQW9CLEVBQzFDLE9BQU8sb0JBQW9CLGdFQUFnRSx3QkFBd0IsU0FBUyxFQUM1SCxPQUFPLHVCQUF1QixhQUFhLEVBQzNDLE9BQU8sdUJBQXVCLGFBQWEsRUFDM0MsT0FBTyxvQ0FBb0MsNENBQTRDLEVBQ3ZGLE9BQU8sK0JBQStCLDBEQUEwRCxFQUNoRyxPQUFPLGdDQUFnQyxpRkFBaUYsRUFDeEgsT0FBTyw2QkFBNkIsbURBQW1ELEVBQ3ZGLE9BQU8sa0NBQWtDLGtGQUFrRixFQUMzSCxPQUFPLDhCQUE4QiwyREFBMkQsRUFDaEcsT0FBTyw2QkFBNkIsOENBQThDLEVBQ2xGLE9BQU8sd0NBQXdDLDhEQUE4RCxFQUM3RyxPQUFPLGdDQUFnQyx1RUFBdUUsRUFDOUcsT0FBTyxDQUFDLFFBQVEsTUFBTSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssTUFBTTtBQUFDLENBQUMsQ0FBQztBQUUxRCxRQUFRLFFBQVEsT0FBTyxFQUNwQixPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sbUJBQW1CLHlDQUF5QyxFQUNuRSxPQUFPLENBQUMsUUFBUSxNQUFNLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRTFELFFBQVEsUUFBUSxlQUFlLEVBQzVCLE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxpQkFBaUIsMkJBQTJCLEVBQ25ELE9BQU8sQ0FBQyxNQUFNLFFBQVEsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRXZFLFFBQVEsUUFBUSxTQUFTLEVBQ3RCLE9BQU8sdUJBQXVCLHdFQUF3RSxFQUN0RyxPQUFPLDRCQUE0Qix1REFBdUQsRUFDMUYsT0FBTywwQkFBMEIseURBQXlELEVBQzFGLE9BQU8sZ0JBQWdCLCtEQUErRCxFQUN0RixPQUFPLG9CQUFvQiwwQkFBMEIsRUFDckQsT0FBTyxlQUFlLDhDQUE4QyxFQUNwRSxPQUFPLGVBQWUsbUNBQW1DLEVBQ3pELE9BQU8sdUJBQXVCLGFBQWEsRUFDM0MsT0FBTyx1QkFBdUIsYUFBYSxFQUMzQyxPQUFPLENBQUMsUUFBUSxRQUFRLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRTVELFFBQVEsUUFBUSxlQUFlLEVBQzVCLE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxvQkFBb0IsNEJBQTRCLEVBQ3ZELE9BQU8sdUJBQXVCLGtCQUFrQixFQUNoRCxPQUFPLHVCQUF1QixjQUFjLEVBQzVDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRXZFLFFBQVEsUUFBUSxLQUFLLEVBQ2xCLE9BQU8sdUJBQXVCLGlFQUFpRSxFQUMvRixPQUFPLDBCQUEwQix5REFBeUQsRUFDMUYsT0FBTyxjQUFjLHdEQUF3RCxFQUM3RSxPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sZ0JBQWdCLCtEQUErRCxFQUN0RixPQUFPLG9CQUFvQiwwQkFBMEIsRUFDckQsT0FBTywwQkFBMEIsbUZBQXFGLEVBQ3RILE9BQU8sZUFBZSxvQkFBb0IsRUFDMUMsT0FBTyxvQkFBb0Isc0JBQXNCLEVBQ2pELE9BQU8sdUJBQXVCLGFBQWEsRUFDM0MsT0FBTyx1QkFBdUIsYUFBYSxFQUMzQyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRXhELFFBQVEsUUFBUSw4QkFBOEIsRUFDM0MsT0FBTyxpQkFBaUIsdUJBQXVCLEVBQy9DLE9BQU8sbUNBQW1DLDhDQUE4QyxpQkFBaUIsS0FBSyxFQUM5RyxPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sb0JBQW9CLDZCQUE2QixFQUN4RCxPQUFPLENBQUMsU0FBUyxhQUFhLFFBQVEsS0FBSyxTQUFTLGFBQWEsS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFFckcsUUFBUSxRQUFRLFFBQVEsRUFDckIsT0FBTyxlQUFlLDhDQUE4QyxFQUNwRSxPQUFPLENBQUMsUUFBUSxPQUFPLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRTNELFFBQVEsUUFBUSxNQUFNLEVBQ25CLE9BQU8sV0FBVywyQ0FBMkMsRUFDN0QsT0FBTywyQkFBMkIsc0NBQXNDLEVBQ3hFLE9BQU8sV0FBVywwQkFBMEIsRUFDNUMsT0FBTyxtQkFBbUIsMkVBQTJFLEVBQ3JHLE9BQU8sV0FBVywrQkFBK0IsRUFDakQsT0FBTyxjQUFjLDJEQUEyRCxFQUNoRixPQUFPLGdCQUFnQix1QkFBdUIsRUFDOUMsT0FBTyxnQkFBZ0IsbURBQW1ELEVBQzFFLE9BQU8sU0FBUyw2QkFBNkIsRUFDN0MsT0FBTyxpQkFBaUIsMkVBQTJFLEVBQ25HLE9BQU8scUJBQXFCLG9FQUFvRSxFQUNoRyxPQUFPLG1CQUFtQixpREFBaUQsRUFDM0UsT0FBTyx3QkFBd0IsMEJBQTBCLEVBQ3pELE9BQU8sd0JBQXdCLDhCQUE4QixFQUM3RCxPQUFPLDhCQUE4QixxRUFBcUUsRUFDMUcsT0FBTyxVQUFVLG1EQUFtRCxFQUNwRSxPQUFPLHdCQUF3QiwrREFBK0QsRUFDOUYsT0FBTyxjQUFjLDJCQUEyQixFQUNoRCxPQUFPLGlCQUFpQixnREFBZ0QsRUFDeEUsT0FBTyxlQUFlLDJDQUEyQyxFQUNqRSxPQUFPLHNCQUFzQixpREFBaUQsRUFDOUUsT0FBTyx3QkFBd0Isa0NBQWtDLEVBQ2pFLE9BQU8sbUJBQW1CLGdDQUFnQyxFQUMxRCxPQUFPLDhCQUE4Qix5QkFBeUIsRUFDOUQsT0FBTyxzQkFBc0Isa0JBQWtCLEVBQy9DLE9BQU8seUJBQXlCLDZDQUE2QyxFQUM3RSxPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sc0NBQXNDLDREQUE0RCxFQUN6RyxPQUFPLHdDQUF3QyxpREFBaUQsRUFDaEcsT0FBTyxpQkFBaUIsZ0JBQWdCLEVBQ3hDLE9BQU8scUJBQXFCLDJDQUEyQyxFQUN2RSxPQUFPLFdBQVcsaURBQWlELEVBQ25FLE9BQU8sMkJBQTJCLHVDQUF1QyxFQUN6RSxPQUFPLENBQUMsUUFBUSxLQUFLLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRXpELFFBQVEsUUFBUSxTQUFTLEVBQ3RCLE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxDQUFDLFFBQVEsUUFBUSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssTUFBTTtBQUFDLENBQUMsQ0FBQztBQUU1RCxRQUFRLFFBQVEsU0FBUyxFQUN0QixPQUFPLHFCQUFxQixvR0FBb0csd0NBQXdDLE9BQU8sRUFDL0ssT0FBTyxvQkFBb0IsNEJBQTRCLEVBQ3ZELE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxpQkFBaUIscUNBQXFDLEVBQzdELE9BQU8sbUNBQW1DLDhDQUE4QyxpQkFBaUIsS0FBSyxFQUM5RyxPQUFPLG1CQUFtQixxREFBcUQsRUFDL0UsT0FBTyxxQ0FBcUMsZ0NBQWdDLEVBQzVFLE9BQU8sQ0FBQyxRQUFRLFFBQVEsS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFFNUQsUUFBUSxRQUFRLE1BQU0sRUFDbkIsT0FBTyx1QkFBdUIsMkRBQTJELEVBQ3pGLE9BQU8sMkJBQTJCLGdGQUFnRixFQUNsSCxPQUFPLDRCQUE0Qix1REFBdUQsRUFDMUYsT0FBTywwQkFBMEIseURBQXlELEVBQzFGLE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxvQkFBb0IsbUJBQW1CLEVBQzlDLE9BQU8sc0JBQXNCLHVCQUF1QixFQUNwRCxPQUFPLG9CQUFvQiwwQkFBMEIsRUFDckQsT0FBTyxnQkFBZ0IsaURBQWlELEVBQ3hFLE9BQU8sc0JBQXNCLG1FQUFtRSxFQUNoRyxPQUFPLFVBQVUsb0VBQW9FLEVBQ3JGLE9BQU8sOEJBQThCLG9GQUFvRixFQUN6SCxPQUFPLGtCQUFrQiwyREFBMkQsRUFDcEYsT0FBTyxRQUFRLG1GQUFtRixFQUNsRyxPQUFPLGdDQUFnQyw4RkFBOEYsRUFDckksT0FBTyxZQUFZLHNFQUFzRSxFQUN6RixPQUFPLFdBQVcsOENBQThDLEVBQ2hFLE9BQU8sdUJBQXVCLGlGQUFpRixFQUMvRyxPQUFPLFNBQVMseUlBQXlJLEVBQ3pKLE9BQU8sdUJBQXVCLDREQUE0RCxFQUMxRixPQUFPLFlBQVksaUVBQWlFLEVBQ3BGLE9BQU8sZUFBZSw0REFBNEQsRUFDbEYsT0FBTyxVQUFVLGtDQUFrQyxFQUNuRCxPQUFPLGdCQUFnQixpRUFBaUUsRUFDeEYsT0FBTyxlQUFlLDRFQUE0RSxFQUNsRyxPQUFPLGtCQUFrQix1Q0FBdUMsRUFDaEUsT0FBTyxzQkFBc0Isd0ZBQXdGLEVBQ3JILE9BQU8sa0JBQWtCLDhDQUE4QyxFQUN2RSxPQUFPLFlBQVksMkNBQTJDLEVBQzlELE9BQU8saUJBQWlCLGtFQUFrRSxFQUMxRixPQUFPLDJCQUEyQix3RUFBd0UsRUFDMUcsT0FBTyxxQkFBcUIsd0RBQXdELEVBQ3BGLE9BQU8sZUFBZSxzSEFBc0gsRUFDNUksT0FBTyxnQkFBZ0Isd0NBQXdDLEVBQy9ELE9BQU8sWUFBWSwyREFBMkQsRUFDOUUsT0FBTywyQkFBMkIsd0NBQXdDLEVBQzFFLE9BQU8sNkJBQTZCLHFEQUFxRCxFQUN6RixPQUFPLDZCQUE2Qiw0RkFBNEYsRUFDaEksT0FBTyxlQUFlLDhCQUE4QixFQUNwRCxPQUFPLGFBQWEsZ0VBQWdFLEVBQ3BGLE9BQU8sY0FBYyxxRUFBcUUsRUFDMUYsT0FBTyxDQUFDLFFBQVEsS0FBSyxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssTUFBTTtBQUFDLENBQUMsQ0FBQztBQUV6RCxRQUFRLFFBQVEsUUFBUSxFQUNyQixPQUFPLHFCQUFxQixrQ0FBa0MsRUFDOUQsT0FBTyxtQ0FBbUMsOENBQThDLGlCQUFpQixLQUFLLEVBQzlHLE9BQU8sZUFBZSw4Q0FBOEMsRUFDcEUsT0FBTyxjQUFjLDRCQUE0QixFQUNqRCxPQUFPLENBQUMsUUFBUSxPQUFPLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRTNELFFBQVEsUUFBUSxTQUFTLEVBQ3RCLE9BQU8sbUNBQW1DLDhDQUE4QyxpQkFBaUIsS0FBSyxFQUM5RyxPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sQ0FBQyxRQUFRLFFBQVEsS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFFNUQsUUFBUSxRQUFRLFVBQVUsRUFDdkIsT0FBTyxjQUFjLHFDQUFxQyxFQUMxRCxPQUFPLENBQUMsUUFBUSxTQUFTLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRzdELFFBQ0csUUFBUSxZQUFZLE9BQU8sRUFDM0IsTUFBTSxRQUFRLElBQUk7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7T3B0aW9uLCBwcm9ncmFtfSBmcm9tICdjb21tYW5kZXInO1xuXG5pbXBvcnQgcGFja2FnZUpzb24gZnJvbSAnLi4vcGFja2FnZS5qc29uJyBhc3NlcnQge3R5cGU6ICdqc29uJ307XG5pbXBvcnQge2J1aWxkfSBmcm9tICcuL2NvbW1hbmRzL2J1aWxkLmpzJztcbmltcG9ydCB7Y2xlYW59IGZyb20gJy4vY29tbWFuZHMvY2xlYW4uanMnO1xuaW1wb3J0IHtjb21waWxlfSBmcm9tICcuL2NvbW1hbmRzL2NvbXBpbGUuanMnO1xuaW1wb3J0IHtjb25maWd9IGZyb20gJy4vY29tbWFuZHMvY29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlfSBmcm9tICcuL2NvbW1hbmRzL2NyZWF0ZS5qcyc7XG5pbXBvcnQge2Rldn0gZnJvbSAnLi9jb21tYW5kcy9kZXYuanMnO1xuaW1wb3J0IHtpbml0fSBmcm9tICcuL2NvbW1hbmRzL2luaXQuanMnO1xuaW1wb3J0IHtsaW5rZWR9IGZyb20gJy4vY29tbWFuZHMvbGluay5qcyc7XG5pbXBvcnQge2xpbnR9IGZyb20gJy4vY29tbWFuZHMvbGludC5qcyc7XG5pbXBvcnQge21pZ3JhdGV9IGZyb20gJy4vY29tbWFuZHMvbWlncmF0ZS5qcyc7XG5pbXBvcnQge3B1Ymxpc2h9IGZyb20gJy4vY29tbWFuZHMvcHVibGlzaC5qcyc7XG5pbXBvcnQge3Rlc3R9IGZyb20gJy4vY29tbWFuZHMvdGVzdC5qcyc7XG5pbXBvcnQge3VwZGF0ZX0gZnJvbSAnLi9jb21tYW5kcy91cGRhdGUuanMnO1xuaW1wb3J0IHt1cGdyYWRlfSBmcm9tICcuL2NvbW1hbmRzL3VwZ3JhZGUuanMnO1xuaW1wb3J0IHt2ZXJzaW9uc30gZnJvbSAnLi9jb21tYW5kcy92ZXJzaW9ucy5qcyc7XG5cbi8vIENvbW1hbmRzXG5wcm9ncmFtLmNvbW1hbmQoJ2J1aWxkJylcbiAgLm9wdGlvbignLS1hbmFseXplJywgJ0l0IGludm9rZXMgd2VicGFjay1idW5kbGUtYW5hbHl6ZXIgcGx1Z2luIHRvIGdldCBidW5kbGUgaW5mb3JtYXRpb24uJywgZmFsc2UpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1idW5kbGVyIDxuYW1lPicsICdCdW5kbGVyIHRvIHVzZSAoXCJ3ZWJwYWNrXCIgb3IgXCJlc2J1aWxkXCIpLiBEZWZhdWx0OiBcIndlYnBhY2tcIi4nKS5jaG9pY2VzKFsnd2VicGFjaycsICdlc2J1aWxkJ10pLmRlZmF1bHQoJ3dlYnBhY2snKSlcbiAgLm9wdGlvbignLS1jb25maWcgPHBhdGg+JywgJ0N1c3RvbSBXZWJwYWNrIGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gd2VicGFjay5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy0tY29uZmlnLW5hbWUgPHZhbHVlLi4uPicsICdOYW1lIG9mIHRoZSBjb25maWd1cmF0aW9uIHRvIHVzZS4nKVxuICAub3B0aW9uKCctLWRlZmluZS1wcm9jZXNzLWVudi1ub2RlLWVudiA8dmFsdWU+JywgJ1NldHMgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4gKEN1cnJlbnRseSBhbiBhbGlhcyBmb3IgYC0tbm9kZS1lbnZgKScpXG4gIC5vcHRpb24oJy0tZGV2dG9vbCA8dmFsdWU+JywgJ0EgZGV2ZWxvcGVyIHRvb2wgdG8gZW5oYW5jZSBkZWJ1Z2dpbmcgKGZhbHNlIHwgZXZhbCB8IFtpbmxpbmUtfGhpZGRlbi18ZXZhbC1dW25vc291cmNlcy1dW2NoZWFwLVttb2R1bGUtXV1zb3VyY2UtbWFwKS4nKVxuICAub3B0aW9uKCctLWRpc2FibGUtaW50ZXJwcmV0JywgJ0Rpc2FibGUgaW50ZXJwcmV0IGZvciBsb2FkaW5nIHRoZSBjb25maWcgZmlsZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1lbnRyeSA8dmFsdWUuLi4+JywgJ0EgbW9kdWxlIHRoYXQgaXMgbG9hZGVkIHVwb24gc3RhcnR1cC4gT25seSB0aGUgbGFzdCBvbmUgaXMgZXhwb3J0ZWQuJylcbiAgLm9wdGlvbignLS1lbnYgPHZhbHVlPicsICdFbnZpcm9ubWVudCBwYXNzZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gd2hlbiBpdCBpcyBhIGZ1bmN0aW9uLicpXG4gIC5vcHRpb24oJy0tZmFpbC1vbi13YXJuaW5ncycsICdTdG9wIHdlYnBhY2stY2xpIHByb2Nlc3Mgd2l0aCBub24temVybyBleGl0IGNvZGUgb24gd2FybmluZ3MgZnJvbSB3ZWJwYWNrJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tanNvbiA8dmFsdWU+JywgJ1ByaW50cyByZXN1bHQgYXMgSlNPTiBvciBzdG9yZSBpdCBpbiBhIGZpbGUuJylcbiAgLm9wdGlvbignLS1sZXhDb25maWcgPHBhdGg+JywgJ0xleCBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAobGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1tZXJnZScsICdNZXJnZSB0d28gb3IgbW9yZSBjb25maWd1cmF0aW9ucyB1c2luZyBcIndlYnBhY2stbWVyZ2VcIi4nLCBmYWxzZSlcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLW1vZGUgPHR5cGU+JywgJ1dlYnBhY2sgbW9kZSAoXCJwcm9kdWN0aW9uXCIgb3IgXCJkZXZlbG9wbWVudFwiKS4gRGVmYXVsdDogXCJkZXZlbG9wbWVudFwiLicpLmNob2ljZXMoWydkZXZlbG9wbWVudCcsICdwcm9kdWN0aW9uJ10pLmRlZmF1bHQoJ2RldmVsb3BtZW50JykpXG4gIC5vcHRpb24oJy0tbmFtZSA8dmFsdWU+JywgJ05hbWUgb2YgdGhlIGNvbmZpZ3VyYXRpb24uIFVzZWQgd2hlbiBsb2FkaW5nIG11bHRpcGxlIGNvbmZpZ3VyYXRpb25zLicpXG4gIC5vcHRpb24oJy0tbm8tZGV2dG9vbCcsICdOZWdhdGl2ZSBcImRldnRvb2xcIiBvcHRpb24uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm8tc3RhdHMnLCAnTmVnYXRpdmUgXCJzdGF0c1wiIG9wdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1uby10YXJnZXQnLCAnTmVnYXRpdmUgXCJ0YXJnZXRcIiBvcHRpb24uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm8td2F0Y2gnLCAnTmVnYXRpdmUgXCJ3YXRjaFwiIG9wdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1uby13YXRjaC1vcHRpb25zLXN0ZGluJywgJ05lZ2F0aXZlIFwid2F0Y2gtb3B0aW9ucy1zdGRpblwiIG9wdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1ub2RlLWVudiA8dmFsdWU+JywgJ1NldHMgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4nKVxuICAub3B0aW9uKCctLW91dHB1dC1wYXRoIDx2YWx1ZT4nLCAnVGhlIG91dHB1dCBkaXJlY3RvcnkgYXMgKiphYnNvbHV0ZSBwYXRoKiogKHJlcXVpcmVkKS4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tcmVtb3ZlJywgJ1JlbW92ZXMgYWxsIGZpbGVzIGZyb20gdGhlIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIGNvbXBpbGluZy4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1zb3VyY2VQYXRoIDxwYXRoPicsICdTb3VyY2UgcGF0aCcpXG4gIC5vcHRpb24oJy0tc3RhdHMgPHZhbHVlPicsICdTdGF0cyBvcHRpb25zIG9iamVjdCBvciBwcmVzZXQgbmFtZS4nKVxuICAub3B0aW9uKCctLXN0YXRpYycsICdDcmVhdGVzIHN0YXRpYyBIVE1MIGZpbGVzIHdoZW4gYnVpbGRpbmcgYXBwLicsIGZhbHNlKVxuICAub3B0aW9uKCctLXRhcmdldCA8dmFsdWU+JywgJ0Vudmlyb25tZW50IHRvIGJ1aWxkIGZvci4gRW52aXJvbm1lbnQgdG8gYnVpbGQgZm9yLiBBbiBhcnJheSBvZiBlbnZpcm9ubWVudHMgdG8gYnVpbGQgZm9yIGFsbCBvZiB0aGVtIHdoZW4gcG9zc2libGUuJylcbiAgLm9wdGlvbignLS10eXBlc2NyaXB0JywgJ1RyYW5zcGlsZSBhcyBUeXBlc2NyaXB0LicsIGZhbHNlKVxuICAub3B0aW9uKCctLXZhcmlhYmxlcyA8bmFtZT4nLCAnRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiBcInByb2Nlc3MuZW52XCIuIChpZS4gXCJ7Tk9ERV9FTlY6IFxcJ3Byb2R1Y3Rpb25cXCd9XCIpLicpXG4gIC5vcHRpb24oJy0td2F0Y2gnLCAnV2F0Y2ggZm9yIGNoYW5nZXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0td2F0Y2gtb3B0aW9ucy1zdGRpbicsICdTdG9wIHdhdGNoaW5nIHdoZW4gc3RkaW4gc3RyZWFtIGhhcyBlbmRlZC4nLCBmYWxzZSlcbiAgLmFjdGlvbigoY21kKSA9PiBidWlsZChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2NsZWFuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tc25hcHNob3RzJywgJ1JlbW92ZSBhbGwgXCJfX3NuYXBzaG90c19fXCIgZGlyZWN0b3JpZXMuJylcbiAgLmFjdGlvbigoY21kKSA9PiBjbGVhbihjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2NvbmZpZyA8dHlwZT4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1qc29uIDxwYXRoPicsICdTYXZlIG91dHB1dCB0byBqc29uIGZpbGUuJylcbiAgLmFjdGlvbigodHlwZSwgY21kKSA9PiBjb25maWcodHlwZSwgY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdjb21waWxlJylcbiAgLm9wdGlvbignLS1jb25maWcgPHBhdGg+JywgJ1RyYW5zcGlsZXIgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiB0c2NvbmZpZy5qc29uKS4nKVxuICAub3B0aW9uKCctLWVudmlyb25tZW50IDxuYW1lPicsICdUYXJnZXQgZW52aXJvbm1lbnQuIFwibm9kZVwiIG9yIFwid2ViXCIuIERlZmF1bHQ6IFwibm9kZVwiLicpXG4gIC5vcHRpb24oJy0tbGV4Q29uZmlnIDxwYXRoPicsICdDdXN0b20gTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gbGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1vdXRwdXRQYXRoIDxwYXRoPicsICdPdXRwdXQgcGF0aCcpXG4gIC5vcHRpb24oJy0tcmVtb3ZlJywgJ1JlbW92ZXMgYWxsIGZpbGVzIGZyb20gdGhlIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIGNvbXBpbGluZy4nKVxuICAub3B0aW9uKCctLXNvdXJjZVBhdGggPHBhdGg+JywgJ1NvdXJjZSBwYXRoJylcbiAgLm9wdGlvbignLS10eXBlc2NyaXB0JywgJ1RyYW5zcGlsZSBhcyBUeXBlc2NyaXB0LicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXdhdGNoJywgJ1dhdGNoZXMgZm9yIGNoYW5nZXMgYW5kIGNvbXBpbGVzLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gY29tcGlsZShjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2NyZWF0ZSA8dHlwZT4nKVxuICAub3B0aW9uKCctLW91dHB1dEZpbGUgPHBhdGg+JywgJ091dHB1dCBmaWxlbmFtZS4nKVxuICAub3B0aW9uKCctLW91dHB1dE5hbWUgPG5hbWU+JywgJ091dHB1dCBuYW1lLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXR5cGVzY3JpcHQnLCAnQ3JlYXRlIFR5cGVzY3JpcHQgdmVyc2lvbi4nKVxuICAuYWN0aW9uKCh0eXBlLCBjbWQpID0+IGNyZWF0ZSh0eXBlLCBjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2RldicpXG4gIC5vcHRpb24oJy0tYnVuZGxlQW5hbHl6ZXInLCAnUnVuIGJ1bmRsZSBhbmFseXplci4nKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIFdlYnBhY2sgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiB3ZWJwYWNrLmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1sZXhDb25maWcgPHBhdGg+JywgJ0N1c3RvbSBMZXggY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiBsZXguY29uZmlnLmpzKS4nKVxuICAub3B0aW9uKCctLW9wZW4nLCAnQXV0b21hdGljYWxseSBvcGVuIGRldiBzZXJ2ZXIgaW4gYSBuZXcgYnJvd3NlciB3aW5kb3cuJylcbiAgLm9wdGlvbignLS1vdXRwdXRQYXRoIDxwYXRoPicsICdPdXRwdXQgcGF0aCcpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXJlbW92ZScsICdSZW1vdmVzIGFsbCBmaWxlcyBmcm9tIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSBjb21waWxpbmcuJylcbiAgLm9wdGlvbignLS1zb3VyY2VQYXRoIDxwYXRoPicsICdTb3VyY2UgcGF0aCcpXG4gIC5vcHRpb24oJy0tdHlwZXNjcmlwdCcsICdUcmFuc3BpbGUgYXMgVHlwZXNjcmlwdC4nKVxuICAub3B0aW9uKCctLXZhcmlhYmxlcyA8bmFtZT4nLCAnRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiBcInByb2Nlc3MuZW52XCIuIChpZS4gXCJ7Tk9ERV9FTlY6IFxcJ2RldmVsb3BtZW50XFwnfVwiKS4nKVxuICAub3B0aW9uKCctLXdhdGNoJywgJ1dhdGNoIGZvciBjaGFuZ2VzLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gZGV2KGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnaW5pdCA8YXBwTmFtZT4gW3BhY2thZ2VOYW1lXScpXG4gIC5vcHRpb24oJy0taW5zdGFsbCcsICdJbnN0YWxsIGRlcGVuZGVuY2llcy4nKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tcGFja2FnZS1tYW5hZ2VyIDxtYW5hZ2VyPicsICdXaGljaCBwYWNrYWdlIG1hbmFnZXIgdG8gdXNlLiBEZWZhdWx0OiBucG0nKS5jaG9pY2VzKFsnbnBtJywgJ3lhcm4nXSkuZGVmYXVsdCgnbnBtJykpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXR5cGVzY3JpcHQnLCAnVXNlIGEgVHlwZXNjcmlwdCBiYXNlZCBhcHAuJylcbiAgLmFjdGlvbigoYXBwTmFtZSwgcGFja2FnZU5hbWUsIGNtZCkgPT4gaW5pdChhcHBOYW1lLCBwYWNrYWdlTmFtZSwgY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdsaW5rZWQnKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLmFjdGlvbigoY21kKSA9PiBsaW5rZWQoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdsaW50JylcbiAgLm9wdGlvbignLS1jYWNoZScsICdPbmx5IGNoZWNrIGNoYW5nZWQgZmlsZXMuIERlZmF1bHQ6IGZhbHNlLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWNhY2hlLWxvY2F0aW9uIDxwYXRoPicsICdQYXRoIHRvIHRoZSBjYWNoZSBmaWxlIG9yIGRpcmVjdG9yeS4nKVxuICAub3B0aW9uKCctLWNvbG9yJywgJ0ZvcmNlIGVuYWJsaW5nIG9mIGNvbG9yLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnVXNlIHRoaXMgY29uZmlndXJhdGlvbiwgb3ZlcnJpZGluZyAuZXNsaW50cmMuKiBjb25maWcgb3B0aW9ucyBpZiBwcmVzZW50LicpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnT3V0cHV0IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1lbnYtaW5mbycsICdPdXRwdXQgZXhlY3V0aW9uIGVudmlyb25tZW50IGluZm9ybWF0aW9uLiBEZWZhdWx0OiBmYWxzZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1lbnYgPG5hbWU+JywgJ1NwZWNpZnkgZW52aXJvbm1lbnRzLicpXG4gIC5vcHRpb24oJy0tZXh0IDx0eXBlPicsICdTcGVjaWZ5IEphdmFTY3JpcHQgZmlsZSBleHRlbnNpb25zLiBEZWZhdWx0OiAuanMuJylcbiAgLm9wdGlvbignLS1maXgnLCAnQXV0b21hdGljYWxseSBmaXggcHJvYmxlbXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tZml4LWRyeS1ydW4nLCAnQXV0b21hdGljYWxseSBmaXggcHJvYmxlbXMgd2l0aG91dCBzYXZpbmcgdGhlIGNoYW5nZXMgdG8gdGhlIGZpbGUgc3lzdGVtLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWZpeC10eXBlIDx0eXBlPicsICdTcGVjaWZ5IHRoZSB0eXBlcyBvZiBmaXhlcyB0byBhcHBseSAocHJvYmxlbSwgc3VnZ2VzdGlvbiwgbGF5b3V0KS4nKVxuICAub3B0aW9uKCctLWZvcm1hdCA8bmFtZT4nLCAnVXNlIGEgc3BlY2lmaWMgb3V0cHV0IGZvcm1hdC4gRGVmYXVsdDogc3R5bGlzaC4nKVxuICAub3B0aW9uKCctLWdsb2JhbCA8dmFyaWFibGVzPicsICdEZWZpbmUgZ2xvYmFsIHZhcmlhYmxlcy4nKVxuICAub3B0aW9uKCctLWlnbm9yZS1wYXRoIDxwYXRoPicsICdTcGVjaWZ5IHBhdGggb2YgaWdub3JlIGZpbGUuJylcbiAgLm9wdGlvbignLS1pZ25vcmUtcGF0dGVybiA8cGF0dGVybj4nLCAnUGF0dGVybiBvZiBmaWxlcyB0byBpZ25vcmUgKGluIGFkZGl0aW9uIHRvIHRob3NlIGluIC5lc2xpbnRpZ25vcmUpLicpXG4gIC5vcHRpb24oJy0taW5pdCcsICdSdW4gY29uZmlnIGluaXRpYWxpemF0aW9uIHdpemFyZC4gRGVmYXVsdDogZmFsc2UuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbWF4LXdhcm5pbmdzIDxudW0+JywgJ051bWJlciBvZiB3YXJuaW5ncyB0byB0cmlnZ2VyIG5vbnplcm8gZXhpdCBjb2RlLiBEZWZhdWx0OiAtMS4nKVxuICAub3B0aW9uKCctLW5vLWNvbG9yJywgJ0ZvcmNlIGRpc2FibGluZyBvZiBjb2xvci4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1uby1lc2xpbnRyYycsICdEaXNhYmxlIHVzZSBvZiBjb25maWd1cmF0aW9uIGZyb20gLmVzbGludHJjLiouJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm8taWdub3JlJywgJ0Rpc2FibGUgdXNlIG9mIGlnbm9yZSBmaWxlcyBhbmQgcGF0dGVybnMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm8taW5saW5lLWNvbmZpZycsICdQcmV2ZW50IGNvbW1lbnRzIGZyb20gY2hhbmdpbmcgY29uZmlnIG9yIHJ1bGVzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLW91dHB1dC1maWxlIDxwYXRoPicsICdTcGVjaWZ5IGZpbGUgdG8gd3JpdGUgcmVwb3J0IHRvLicpXG4gIC5vcHRpb24oJy0tcGFyc2VyIDxuYW1lPicsICdTcGVjaWZ5IHRoZSBwYXJzZXIgdG8gYmUgdXNlZC4nKVxuICAub3B0aW9uKCctLXBhcnNlci1vcHRpb25zIDxvcHRpb25zPicsICdTcGVjaWZ5IHBhcnNlciBvcHRpb25zLicpXG4gIC5vcHRpb24oJy0tcGx1Z2luIDxwbHVnaW5zPicsICdTcGVjaWZ5IHBsdWdpbnMuJylcbiAgLm9wdGlvbignLS1wcmludC1jb25maWcgPHBhdGg+JywgJ1ByaW50IHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgZ2l2ZW4gZmlsZS4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tcmVwb3J0LXVudXNlZC1kaXNhYmxlLWRpcmVjdGl2ZXMnLCAnQWRkcyByZXBvcnRlZCBlcnJvcnMgZm9yIHVudXNlZCBlc2xpbnQtZGlzYWJsZSBkaXJlY3RpdmVzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLXJlc29sdmUtcGx1Z2lucy1yZWxhdGl2ZS10byA8cGF0aD4nLCAnQSBmb2xkZXIgd2hlcmUgcGx1Z2lucyBzaG91bGQgYmUgcmVzb2x2ZWQgZnJvbS4nKVxuICAub3B0aW9uKCctLXJ1bGUgPHBhdGg+JywgJ1NwZWNpZnkgcnVsZXMuJylcbiAgLm9wdGlvbignLS1ydWxlc2RpciA8cGF0aD4nLCAnVXNlIGFkZGl0aW9uYWwgcnVsZXMgZnJvbSB0aGlzIGRpcmVjdG9yeS4nKVxuICAub3B0aW9uKCctLXN0ZGluJywgJ0xpbnQgY29kZSBwcm92aWRlZCBvbiA8U1RESU4+IC0gRGVmYXVsdDogZmFsc2UuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tc3RkaW4tZmlsZW5hbWUgPG5hbWU+JywgJ1NwZWNpZnkgZmlsZW5hbWUgdG8gcHJvY2VzcyBTVERJTiBhcy4nKVxuICAuYWN0aW9uKChjbWQpID0+IGxpbnQoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdtaWdyYXRlJylcbiAgLm9wdGlvbignLXEsIC0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAuYWN0aW9uKChjbWQpID0+IG1pZ3JhdGUoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdwdWJsaXNoJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWJ1bXAgPHR5cGU+JywgJ0luY3JlbWVudHMgdGhlIHZlcnNpb24uIFR5cGVzIGluY2x1ZGU6IG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIGFscGhhLCByYy4gRGVmYXVsdDogXCJwYXRjaFwiLicpLmNob2ljZXMoWydtYWpvcicsICdtaW5vcicsICdwYXRjaCcsICdiZXRhJywgJ2FscGhhJywgJ3JjJ10pLmRlZmF1bHQoJ3BhdGNoJykpXG4gIC5vcHRpb24oJy0tbmV3LXZlcnNpb24gPHZlcnNpb25OdW1iZXI+JywgJ1B1Ymxpc2ggYXMgYSBzcGVjaWZpYyB2ZXJzaW9uLicpXG4gIC5vcHRpb24oJy0tb3RwIDxjb2RlPicsICdQcm92aWRlIGEgdHdvLWZhY3RvciBjb2RlLicpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScpLmNob2ljZXMoWyducG0nLCAneWFybiddKS5kZWZhdWx0KCducG0nKSlcbiAgLm9wdGlvbignLS1wcml2YXRlJywgJ1B1Ymxpc2hlcyB0aGUgbW9kdWxlIGFzIHJlc3RyaWN0ZWQuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tdGFnIDx0YWc+JywgJ1JlZ2lzdGVycyB0aGUgcHVibGlzaGVkIHBhY2thZ2Ugd2l0aCB0aGUgZ2l2ZW4gdGFnLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gcHVibGlzaChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3Rlc3QnKVxuICAub3B0aW9uKCctLWJhaWwnLCAnRXhpdCB0aGUgdGVzdCBzdWl0ZSBpbW1lZGlhdGVseSB1cG9uIHRoZSBmaXJzdCBmYWlsaW5nIHRlc3Qgc3VpdGUuJylcbiAgLm9wdGlvbignLS1jaGFuZ2VkRmlsZXNXaXRoQW5jZXN0b3InLCAnUnVucyB0ZXN0cyByZWxhdGVkIHRvIHRoZSBjdXJyZW50IGNoYW5nZXMgYW5kIHRoZSBjaGFuZ2VzIG1hZGUgaW4gdGhlIGxhc3QgY29tbWl0LicpXG4gIC5vcHRpb24oJy0tY2hhbmdlZFNpbmNlJywgJ1J1bnMgdGVzdHMgcmVsYXRlZCB0aGUgY2hhbmdlcyBzaW5jZSB0aGUgcHJvdmlkZWQgYnJhbmNoLicpXG4gIC5vcHRpb24oJy0tY2knLCAnV2hlbiB0aGlzIG9wdGlvbiBpcyBwcm92aWRlZCwgSmVzdCB3aWxsIGFzc3VtZSBpdCBpcyBydW5uaW5nIGluIGEgQ0kgZW52aXJvbm1lbnQuJylcbiAgLm9wdGlvbignLS1jbGVhckNhY2hlJywgJ0NsZWFyIEplc3QgY2FjaGUuJylcbiAgLm9wdGlvbignLS1jb2xsZWN0Q292ZXJhZ2VGcm9tIDxnbG9iPicsICdBIGdsb2IgcGF0dGVybiByZWxhdGl2ZSB0byBtYXRjaGluZyB0aGUgZmlsZXMgdGhhdCBjb3ZlcmFnZSBpbmZvIG5lZWRzIHRvIGJlIGNvbGxlY3RlZCBmcm9tLicpXG4gIC5vcHRpb24oJy0tY29sb3JzJywgJ0ZvcmNlcyB0ZXN0IHJlc3VsdHMgb3V0cHV0IGhpZ2hsaWdodGluZyBldmVuIGlmIHN0ZG91dCBpcyBub3QgYSBUVFkuJylcbiAgLm9wdGlvbignLS1jb25maWcgPHBhdGg+JywgJ0N1c3RvbSBKZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gamVzdC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnUHJpbnQgZGVidWdnaW5nIGluZm8gYWJvdXQgeW91ciBKZXN0IGNvbmZpZy4nKVxuICAub3B0aW9uKCctLWRldGVjdE9wZW5IYW5kbGVzJywgJ0F0dGVtcHQgdG8gY29sbGVjdCBhbmQgcHJpbnQgb3BlbiBoYW5kbGVzIHByZXZlbnRpbmcgSmVzdCBmcm9tIGV4aXRpbmcgY2xlYW5seScpXG4gIC5vcHRpb24oJy0tZW52aXJvbm1lbnQgPG5hbWU+JywgJ1RhcmdldCBlbnZpcm9ubWVudC4gXCJub2RlXCIgb3IgXCJ3ZWJcIi4gRGVmYXVsdDogXCJub2RlXCIuJylcbiAgLm9wdGlvbignLS1lbnYnLCAnVGhlIHRlc3QgZW52aXJvbm1lbnQgdXNlZCBmb3IgYWxsIHRlc3RzLiBUaGlzIGNhbiBwb2ludCB0byBhbnkgZmlsZSBvciBub2RlIG1vZHVsZS4gRXhhbXBsZXM6IGpzZG9tLCBub2RlIG9yIHBhdGgvdG8vbXktZW52aXJvbm1lbnQuanMuJylcbiAgLm9wdGlvbignLS1lcnJvck9uRGVwcmVjYXRlZCcsICdNYWtlIGNhbGxpbmcgZGVwcmVjYXRlZCBBUElzIHRocm93IGhlbHBmdWwgZXJyb3IgbWVzc2FnZXMuJylcbiAgLm9wdGlvbignLS1leHBhbmQnLCAnVXNlIHRoaXMgZmxhZyB0byBzaG93IGZ1bGwgZGlmZnMgYW5kIGVycm9ycyBpbnN0ZWFkIG9mIGEgcGF0Y2guJylcbiAgLm9wdGlvbignLS1mb3JjZUV4aXQnLCAnRm9yY2UgSmVzdCB0byBleGl0IGFmdGVyIGFsbCB0ZXN0cyBoYXZlIGNvbXBsZXRlZCBydW5uaW5nLicpXG4gIC5vcHRpb24oJy0tanNvbicsICdQcmludHMgdGhlIHRlc3QgcmVzdWx0cyBpbiBKU09OLicpXG4gIC5vcHRpb24oJy0tbGFzdENvbW1pdCcsICdSdW4gYWxsIHRlc3RzIGFmZmVjdGVkIGJ5IGZpbGUgY2hhbmdlcyBpbiB0aGUgbGFzdCBjb21taXQgbWFkZS4nKVxuICAub3B0aW9uKCctLWxleENvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIExleCBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAoaWUuIGxleC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy0tbGlzdFRlc3RzJywgJ0xpc3RzIGFsbCB0ZXN0cyBhcyBKU09OIHRoYXQgSmVzdCB3aWxsIHJ1biBnaXZlbiB0aGUgYXJndW1lbnRzLCBhbmQgZXhpdHMuJylcbiAgLm9wdGlvbignLS1sb2dIZWFwVXNhZ2UnLCAnTG9ncyB0aGUgaGVhcCB1c2FnZSBhZnRlciBldmVyeSB0ZXN0LicpXG4gIC5vcHRpb24oJy0tbWF4V29ya2VycyA8bnVtPicsICdTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdvcmtlcnMgdGhlIHdvcmtlci1wb29sIHdpbGwgc3Bhd24gZm9yIHJ1bm5pbmcgdGVzdHMuICcpXG4gIC5vcHRpb24oJy0tbm9TdGFja1RyYWNlJywgJ0Rpc2FibGVzIHN0YWNrIHRyYWNlIGluIHRlc3QgcmVzdWx0cyBvdXRwdXQuJylcbiAgLm9wdGlvbignLS1ub3RpZnknLCAnQWN0aXZhdGVzIG5vdGlmaWNhdGlvbnMgZm9yIHRlc3QgcmVzdWx0cy4nKVxuICAub3B0aW9uKCctLW9ubHlDaGFuZ2VkJywgJ3VuIGJhc2VkIG9uIHdoaWNoIGZpbGVzIGhhdmUgY2hhbmdlZCBpbiB0aGUgY3VycmVudCByZXBvc2l0b3J5LiAnKVxuICAub3B0aW9uKCctLW91dHB1dEZpbGUgPGZpbGVuYW1lPicsICdXcml0ZSB0ZXN0IHJlc3VsdHMgdG8gYSBmaWxlIHdoZW4gdGhlIC0tanNvbiBvcHRpb24gaXMgYWxzbyBzcGVjaWZpZWQuJylcbiAgLm9wdGlvbignLS1wYXNzV2l0aE5vVGVzdHMnLCAnQWxsb3dzIHRoZSB0ZXN0IHN1aXRlIHRvIHBhc3Mgd2hlbiBubyBmaWxlcyBhcmUgZm91bmQuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tcnVuSW5CYW5kJywgJ1J1biBhbGwgdGVzdHMgc2VyaWFsbHkgaW4gdGhlIGN1cnJlbnQgcHJvY2VzcywgcmF0aGVyIHRoYW4gY3JlYXRpbmcgYSB3b3JrZXIgcG9vbCBvZiBjaGlsZCBwcm9jZXNzZXMgdGhhdCBydW4gdGVzdHMuJylcbiAgLm9wdGlvbignLS1zZXR1cCA8cGF0aD4nLCAnSmVzdCBzZXR1cCBmaWxlIHBhdGguJylcbiAgLm9wdGlvbignLS1zaG93Q29uZmlnJywgJ1ByaW50IHlvdXIgSmVzdCBjb25maWcgYW5kIHRoZW4gZXhpdHMuJylcbiAgLm9wdGlvbignLS1zaWxlbnQnLCAnUHJldmVudCB0ZXN0cyBmcm9tIHByaW50aW5nIG1lc3NhZ2VzIHRocm91Z2ggdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS10ZXN0TG9jYXRpb25JblJlc3VsdHMnLCAnQWRkcyBhIGxvY2F0aW9uIGZpZWxkIHRvIHRlc3QgcmVzdWx0cy4nKVxuICAub3B0aW9uKCctLXRlc3ROYW1lUGF0dGVybiA8cmVnZXg+JywgJ1J1biBvbmx5IHRlc3RzIHdpdGggYSBuYW1lIHRoYXQgbWF0Y2hlcyB0aGUgcmVnZXguICcpXG4gIC5vcHRpb24oJy0tdGVzdFBhdGhQYXR0ZXJuIDxyZWdleD4nLCAnQSByZWdleHAgcGF0dGVybiBzdHJpbmcgdGhhdCBpcyBtYXRjaGVkIGFnYWluc3QgYWxsIHRlc3RzIHBhdGhzIGJlZm9yZSBleGVjdXRpbmcgdGhlIHRlc3QuJylcbiAgLm9wdGlvbignLS10eXBlc2NyaXB0JywgJ1RyYW5zcGlsZSBhcyBUeXBlc2NyaXB0LicpXG4gIC5vcHRpb24oJy0tdXBkYXRlJywgJ1VwZGF0ZSBzbmFwc2hvdHMuIFJ1bnMgXCJqZXN0IC0tdXBkYXRlU25hcHNob3RzXCInKVxuICAub3B0aW9uKCctLXVzZVN0ZGVycicsICdEaXZlcnQgYWxsIG91dHB1dCB0byBzdGRlcnIuJylcbiAgLm9wdGlvbignLS12ZXJib3NlJywgJ0Rpc3BsYXkgaW5kaXZpZHVhbCB0ZXN0IHJlc3VsdHMgd2l0aCB0aGUgdGVzdCBzdWl0ZSBoaWVyYXJjaHkuJylcbiAgLm9wdGlvbignLS13YXRjaCA8cGF0aD4nLCAnV2F0Y2ggZmlsZXMgZm9yIGNoYW5nZXMgYW5kIHJlcnVuIHRlc3RzIHJlbGF0ZWQgdG8gY2hhbmdlZCBmaWxlcy4nKVxuICAub3B0aW9uKCctLXdhdGNoQWxsJywgJ1dhdGNoIGZpbGVzIGZvciBjaGFuZ2VzIGFuZCByZXJ1biBhbGwgdGVzdHMgd2hlbiBzb21ldGhpbmcgY2hhbmdlcy4nKVxuICAuYWN0aW9uKChjbWQpID0+IHRlc3QoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCd1cGRhdGUnKVxuICAub3B0aW9uKCctLWludGVyYWN0aXZlJywgJ0Nob29zZSB3aGljaCBwYWNrYWdlcyB0byB1cGRhdGUuJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBhY2thZ2UtbWFuYWdlciA8bWFuYWdlcj4nLCAnV2hpY2ggcGFja2FnZSBtYW5hZ2VyIHRvIHVzZS4gRGVmYXVsdDogbnBtJykuY2hvaWNlcyhbJ25wbScsICd5YXJuJ10pLmRlZmF1bHQoJ25wbScpKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1yZWdpc3RyeScsICdBZGQgYSBjdXN0b20gcmVnaXN0cnkgdXJsLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gdXBkYXRlKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgndXBncmFkZScpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScpLmNob2ljZXMoWyducG0nLCAneWFybiddKS5kZWZhdWx0KCducG0nKSlcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gdXBncmFkZShjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3ZlcnNpb25zJylcbiAgLm9wdGlvbignLS1qc29uJywgJ1ByaW50IHRoZSB2ZXJzaW9uIGFzIGEgSlNPTiBvYmplY3QuJylcbiAgLmFjdGlvbigoY21kKSA9PiB2ZXJzaW9ucyhjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG4vLyBJbml0aWFsaXplXG5wcm9ncmFtXG4gIC52ZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24pXG4gIC5wYXJzZShwcm9jZXNzLmFyZ3YpO1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUtBLFNBQVEsUUFBUSxlQUFjO0FBRTlCLE9BQU8saUJBQWlCLGtCQUFrQixPQUFPLEVBQUMsTUFBTSxPQUFNO0FBQzlELFNBQVEsYUFBWTtBQUNwQixTQUFRLGFBQVk7QUFDcEIsU0FBUSxlQUFjO0FBQ3RCLFNBQVEsY0FBYTtBQUNyQixTQUFRLGNBQWE7QUFDckIsU0FBUSxXQUFVO0FBQ2xCLFNBQVEsWUFBVztBQUNuQixTQUFRLGNBQWE7QUFDckIsU0FBUSxZQUFXO0FBQ25CLFNBQVEsZUFBYztBQUN0QixTQUFRLGVBQWM7QUFDdEIsU0FBUSxZQUFXO0FBQ25CLFNBQVEsY0FBYTtBQUNyQixTQUFRLGVBQWM7QUFDdEIsU0FBUSxnQkFBZTtBQUd2QixRQUFRLFFBQVEsT0FBTyxFQUNwQixPQUFPLGFBQWEsd0VBQXdFLEtBQUssRUFDakcsVUFBVSxJQUFJLE9BQU8sb0JBQW9CLDhEQUE4RCxFQUFFLFFBQVEsQ0FBQyxXQUFXLFNBQVMsQ0FBQyxFQUFFLFFBQVEsU0FBUyxDQUFDLEVBQzNKLE9BQU8sbUJBQW1CLGlFQUFpRSxFQUMzRixPQUFPLDRCQUE0Qixt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RUFBa0UsRUFDMUYsT0FBTywyQkFBMkIsd0VBQXdFLEVBQzFHLE9BQU8scUJBQXFCLHdEQUF3RCxFQUNwRixPQUFPLFdBQVcsOENBQThDLEVBQ2hFLE9BQU8sZUFBZSxzSEFBc0gsRUFDNUksT0FBTyxrQkFBa0IsdUJBQXVCLEVBQ2hELE9BQU8sZ0JBQWdCLHdDQUF3QyxFQUMvRCxPQUFPLFlBQVksMkRBQTJELEVBQzlFLE9BQU8sMkJBQTJCLHdDQUF3QyxFQUMxRSxPQUFPLDZCQUE2QixxREFBcUQsRUFDekYsT0FBTyw2QkFBNkIsNEZBQTRGLEVBQ2hJLE9BQU8sZ0JBQWdCLDBCQUEwQixFQUNqRCxPQUFPLFlBQVksaURBQWlELEVBQ3BFLE9BQU8sZUFBZSw4QkFBOEIsRUFDcEQsT0FBTyxhQUFhLGdFQUFnRSxFQUNwRixPQUFPLGtCQUFrQixtRUFBbUUsRUFDNUYsT0FBTyxjQUFjLHFFQUFxRSxFQUMxRixPQUFPLENBQUMsUUFBUSxLQUFLLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxNQUFNO0FBQUMsQ0FBQyxDQUFDO0FBRXpELFFBQVEsUUFBUSxRQUFRLEVBQ3JCLE9BQU8saUJBQWlCLGtDQUFrQyxFQUMxRCxVQUFVLElBQUksT0FBTywrQkFBK0IsNENBQTRDLEVBQUUsUUFBUSxDQUFDLE9BQU8sTUFBTSxDQUFDLEVBQUUsUUFBUSxLQUFLLENBQUMsRUFDekksT0FBTyxXQUFXLDhDQUE4QyxFQUNoRSxPQUFPLGNBQWMsNEJBQTRCLEVBQ2pELE9BQU8sQ0FBQyxRQUFRLE9BQU8sS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFFM0QsUUFBUSxRQUFRLFNBQVMsRUFDdEIsVUFBVSxJQUFJLE9BQU8sK0JBQStCLDRDQUE0QyxFQUFFLFFBQVEsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLFFBQVEsS0FBSyxDQUFDLEVBQ3pJLE9BQU8sV0FBVyw4Q0FBOEMsRUFDaEUsT0FBTyxDQUFDLFFBQVEsUUFBUSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssTUFBTTtBQUFDLENBQUMsQ0FBQztBQUU1RCxRQUFRLFFBQVEsVUFBVSxFQUN2QixPQUFPLFVBQVUscUNBQXFDLEVBQ3RELE9BQU8sQ0FBQyxRQUFRLFNBQVMsS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFHN0QsUUFDRyxRQUFRLFlBQVksT0FBTyxFQUMzQixNQUFNLFFBQVEsSUFBSTsiLAogICJuYW1lcyI6IFtdCn0K
|
package/dist/lint.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { program } from "commander";
|
|
3
|
+
import packageJson from "../package.json" assert { type: "json" };
|
|
4
|
+
import { lint } from "./commands/lint.js";
|
|
5
|
+
program.option("--cache", "Only check changed files. Default: false.", false).option("--cache-location <path>", "Path to the cache file or directory.").option("--color", "Force enabling of color.", false).option("--config <path>", "Use this configuration, overriding .eslintrc.* config options if present.").option("--debug", "Output debugging information.", false).option("--env-info", "Output execution environment information. Default: false.", false).option("--env <name>", "Specify environments.").option("--ext <type>", "Specify JavaScript file extensions. Default: .js.").option("--fix", "Automatically fix problems.", false).option("--fix-dry-run", "Automatically fix problems without saving the changes to the file system.", false).option("--fix-type <type>", "Specify the types of fixes to apply (problem, suggestion, layout).").option("--format <name>", "Use a specific output format. Default: stylish.").option("--global <variables>", "Define global variables.").option("--ignore-path <path>", "Specify path of ignore file.").option("--ignore-pattern <pattern>", "Pattern of files to ignore (in addition to those in .eslintignore).").option("--init", "Run config initialization wizard. Default: false.", false).option("--max-warnings <num>", "Number of warnings to trigger nonzero exit code. Default: -1.").option("--no-color", "Force disabling of color.", false).option("--no-eslintrc", "Disable use of configuration from .eslintrc.*.", false).option("--no-ignore", "Disable use of ignore files and patterns.", false).option("--no-inline-config", "Prevent comments from changing config or rules.", false).option("--output-file <path>", "Specify file to write report to.").option("--parser <name>", "Specify the parser to be used.").option("--parser-options <options>", "Specify parser options.").option("--plugin <plugins>", "Specify plugins.").option("--print-config <path>", "Print the configuration for the given file.").option("--quiet", "No Lex notifications printed in the console.", false).option("--report-unused-disable-directives", "Adds reported errors for unused eslint-disable directives.", false).option("--resolve-plugins-relative-to <path>", "A folder where plugins should be resolved from.").option("--rule <path>", "Specify rules.").option("--rulesdir <path>", "Use additional rules from this directory.").option("--stdin", "Lint code provided on <STDIN> - Default: false.", false).option("--stdin-filename <name>", "Specify filename to process STDIN as.").action((cmd) => lint(cmd, process.exit).then(() => {
|
|
6
|
+
}));
|
|
7
|
+
program.version(packageJson.version).parse(process.argv);
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xpbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIzLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3Byb2dyYW19IGZyb20gJ2NvbW1hbmRlcic7XG5cbmltcG9ydCBwYWNrYWdlSnNvbiBmcm9tICcuLi9wYWNrYWdlLmpzb24nIGFzc2VydCB7dHlwZTogJ2pzb24nfTtcbmltcG9ydCB7bGludH0gZnJvbSAnLi9jb21tYW5kcy9saW50LmpzJztcblxucHJvZ3JhbVxuICAub3B0aW9uKCctLWNhY2hlJywgJ09ubHkgY2hlY2sgY2hhbmdlZCBmaWxlcy4gRGVmYXVsdDogZmFsc2UuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tY2FjaGUtbG9jYXRpb24gPHBhdGg+JywgJ1BhdGggdG8gdGhlIGNhY2hlIGZpbGUgb3IgZGlyZWN0b3J5LicpXG4gIC5vcHRpb24oJy0tY29sb3InLCAnRm9yY2UgZW5hYmxpbmcgb2YgY29sb3IuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tY29uZmlnIDxwYXRoPicsICdVc2UgdGhpcyBjb25maWd1cmF0aW9uLCBvdmVycmlkaW5nIC5lc2xpbnRyYy4qIGNvbmZpZyBvcHRpb25zIGlmIHByZXNlbnQuJylcbiAgLm9wdGlvbignLS1kZWJ1ZycsICdPdXRwdXQgZGVidWdnaW5nIGluZm9ybWF0aW9uLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWVudi1pbmZvJywgJ091dHB1dCBleGVjdXRpb24gZW52aXJvbm1lbnQgaW5mb3JtYXRpb24uIERlZmF1bHQ6IGZhbHNlLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWVudiA8bmFtZT4nLCAnU3BlY2lmeSBlbnZpcm9ubWVudHMuJylcbiAgLm9wdGlvbignLS1leHQgPHR5cGU+JywgJ1NwZWNpZnkgSmF2YVNjcmlwdCBmaWxlIGV4dGVuc2lvbnMuIERlZmF1bHQ6IC5qcy4nKVxuICAub3B0aW9uKCctLWZpeCcsICdBdXRvbWF0aWNhbGx5IGZpeCBwcm9ibGVtcy4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1maXgtZHJ5LXJ1bicsICdBdXRvbWF0aWNhbGx5IGZpeCBwcm9ibGVtcyB3aXRob3V0IHNhdmluZyB0aGUgY2hhbmdlcyB0byB0aGUgZmlsZSBzeXN0ZW0uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tZml4LXR5cGUgPHR5cGU+JywgJ1NwZWNpZnkgdGhlIHR5cGVzIG9mIGZpeGVzIHRvIGFwcGx5IChwcm9ibGVtLCBzdWdnZXN0aW9uLCBsYXlvdXQpLicpXG4gIC5vcHRpb24oJy0tZm9ybWF0IDxuYW1lPicsICdVc2UgYSBzcGVjaWZpYyBvdXRwdXQgZm9ybWF0LiBEZWZhdWx0OiBzdHlsaXNoLicpXG4gIC5vcHRpb24oJy0tZ2xvYmFsIDx2YXJpYWJsZXM+JywgJ0RlZmluZSBnbG9iYWwgdmFyaWFibGVzLicpXG4gIC5vcHRpb24oJy0taWdub3JlLXBhdGggPHBhdGg+JywgJ1NwZWNpZnkgcGF0aCBvZiBpZ25vcmUgZmlsZS4nKVxuICAub3B0aW9uKCctLWlnbm9yZS1wYXR0ZXJuIDxwYXR0ZXJuPicsICdQYXR0ZXJuIG9mIGZpbGVzIHRvIGlnbm9yZSAoaW4gYWRkaXRpb24gdG8gdGhvc2UgaW4gLmVzbGludGlnbm9yZSkuJylcbiAgLm9wdGlvbignLS1pbml0JywgJ1J1biBjb25maWcgaW5pdGlhbGl6YXRpb24gd2l6YXJkLiBEZWZhdWx0OiBmYWxzZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1tYXgtd2FybmluZ3MgPG51bT4nLCAnTnVtYmVyIG9mIHdhcm5pbmdzIHRvIHRyaWdnZXIgbm9uemVybyBleGl0IGNvZGUuIERlZmF1bHQ6IC0xLicpXG4gIC5vcHRpb24oJy0tbm8tY29sb3InLCAnRm9yY2UgZGlzYWJsaW5nIG9mIGNvbG9yLicsIGZhbHNlKVxuICAub3B0aW9uKCctLW5vLWVzbGludHJjJywgJ0Rpc2FibGUgdXNlIG9mIGNvbmZpZ3VyYXRpb24gZnJvbSAuZXNsaW50cmMuKi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1uby1pZ25vcmUnLCAnRGlzYWJsZSB1c2Ugb2YgaWdub3JlIGZpbGVzIGFuZCBwYXR0ZXJucy4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1uby1pbmxpbmUtY29uZmlnJywgJ1ByZXZlbnQgY29tbWVudHMgZnJvbSBjaGFuZ2luZyBjb25maWcgb3IgcnVsZXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tb3V0cHV0LWZpbGUgPHBhdGg+JywgJ1NwZWNpZnkgZmlsZSB0byB3cml0ZSByZXBvcnQgdG8uJylcbiAgLm9wdGlvbignLS1wYXJzZXIgPG5hbWU+JywgJ1NwZWNpZnkgdGhlIHBhcnNlciB0byBiZSB1c2VkLicpXG4gIC5vcHRpb24oJy0tcGFyc2VyLW9wdGlvbnMgPG9wdGlvbnM+JywgJ1NwZWNpZnkgcGFyc2VyIG9wdGlvbnMuJylcbiAgLm9wdGlvbignLS1wbHVnaW4gPHBsdWdpbnM+JywgJ1NwZWNpZnkgcGx1Z2lucy4nKVxuICAub3B0aW9uKCctLXByaW50LWNvbmZpZyA8cGF0aD4nLCAnUHJpbnQgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnaXZlbiBmaWxlLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1yZXBvcnQtdW51c2VkLWRpc2FibGUtZGlyZWN0aXZlcycsICdBZGRzIHJlcG9ydGVkIGVycm9ycyBmb3IgdW51c2VkIGVzbGludC1kaXNhYmxlIGRpcmVjdGl2ZXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tcmVzb2x2ZS1wbHVnaW5zLXJlbGF0aXZlLXRvIDxwYXRoPicsICdBIGZvbGRlciB3aGVyZSBwbHVnaW5zIHNob3VsZCBiZSByZXNvbHZlZCBmcm9tLicpXG4gIC5vcHRpb24oJy0tcnVsZSA8cGF0aD4nLCAnU3BlY2lmeSBydWxlcy4nKVxuICAub3B0aW9uKCctLXJ1bGVzZGlyIDxwYXRoPicsICdVc2UgYWRkaXRpb25hbCBydWxlcyBmcm9tIHRoaXMgZGlyZWN0b3J5LicpXG4gIC5vcHRpb24oJy0tc3RkaW4nLCAnTGludCBjb2RlIHByb3ZpZGVkIG9uIDxTVERJTj4gLSBEZWZhdWx0OiBmYWxzZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1zdGRpbi1maWxlbmFtZSA8bmFtZT4nLCAnU3BlY2lmeSBmaWxlbmFtZSB0byBwcm9jZXNzIFNURElOIGFzLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gbGludChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtXG4gIC52ZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24pXG4gIC5wYXJzZShwcm9jZXNzLmFyZ3YpO1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUtBLFNBQVEsZUFBYztBQUV0QixPQUFPLGlCQUFpQixrQkFBa0IsT0FBTyxFQUFDLE1BQU0sT0FBTTtBQUM5RCxTQUFRLFlBQVc7QUFFbkIsUUFDRyxPQUFPLFdBQVcsNkNBQTZDLEtBQUssRUFDcEUsT0FBTywyQkFBMkIsc0NBQXNDLEVBQ3hFLE9BQU8sV0FBVyw0QkFBNEIsS0FBSyxFQUNuRCxPQUFPLG1CQUFtQiwyRUFBMkUsRUFDckcsT0FBTyxXQUFXLGlDQUFpQyxLQUFLLEVBQ3hELE9BQU8sY0FBYyw2REFBNkQsS0FBSyxFQUN2RixPQUFPLGdCQUFnQix1QkFBdUIsRUFDOUMsT0FBTyxnQkFBZ0IsbURBQW1ELEVBQzFFLE9BQU8sU0FBUywrQkFBK0IsS0FBSyxFQUNwRCxPQUFPLGlCQUFpQiw2RUFBNkUsS0FBSyxFQUMxRyxPQUFPLHFCQUFxQixvRUFBb0UsRUFDaEcsT0FBTyxtQkFBbUIsaURBQWlELEVBQzNFLE9BQU8sd0JBQXdCLDBCQUEwQixFQUN6RCxPQUFPLHdCQUF3Qiw4QkFBOEIsRUFDN0QsT0FBTyw4QkFBOEIscUVBQXFFLEVBQzFHLE9BQU8sVUFBVSxxREFBcUQsS0FBSyxFQUMzRSxPQUFPLHdCQUF3QiwrREFBK0QsRUFDOUYsT0FBTyxjQUFjLDZCQUE2QixLQUFLLEVBQ3ZELE9BQU8saUJBQWlCLGtEQUFrRCxLQUFLLEVBQy9FLE9BQU8sZUFBZSw2Q0FBNkMsS0FBSyxFQUN4RSxPQUFPLHNCQUFzQixtREFBbUQsS0FBSyxFQUNyRixPQUFPLHdCQUF3QixrQ0FBa0MsRUFDakUsT0FBTyxtQkFBbUIsZ0NBQWdDLEVBQzFELE9BQU8sOEJBQThCLHlCQUF5QixFQUM5RCxPQUFPLHNCQUFzQixrQkFBa0IsRUFDL0MsT0FBTyx5QkFBeUIsNkNBQTZDLEVBQzdFLE9BQU8sV0FBVyxnREFBZ0QsS0FBSyxFQUN2RSxPQUFPLHNDQUFzQyw4REFBOEQsS0FBSyxFQUNoSCxPQUFPLHdDQUF3QyxpREFBaUQsRUFDaEcsT0FBTyxpQkFBaUIsZ0JBQWdCLEVBQ3hDLE9BQU8scUJBQXFCLDJDQUEyQyxFQUN2RSxPQUFPLFdBQVcsbURBQW1ELEtBQUssRUFDMUUsT0FBTywyQkFBMkIsdUNBQXVDLEVBQ3pFLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxRQUFRLElBQUksRUFBRSxLQUFLLE1BQU07QUFBQyxDQUFDLENBQUM7QUFFekQsUUFDRyxRQUFRLFlBQVksT0FBTyxFQUMzQixNQUFNLFFBQVEsSUFBSTsiLAogICJuYW1lcyI6IFtdCn0K
|