jsii-reflect 1.52.1 → 1.55.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/bin/jsii-tree.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
require("@jsii/check-node/run");
|
|
4
|
-
const
|
|
4
|
+
const chalk = require("chalk");
|
|
5
5
|
const yargs = require("yargs");
|
|
6
6
|
const lib_1 = require("../lib");
|
|
7
7
|
async function main() {
|
|
@@ -93,7 +93,7 @@ async function main() {
|
|
|
93
93
|
tst.printTree();
|
|
94
94
|
}
|
|
95
95
|
main().catch((e) => {
|
|
96
|
-
console.log(
|
|
96
|
+
console.log(chalk.red(e));
|
|
97
97
|
process.exit(1);
|
|
98
98
|
});
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsianNpaS10cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0NBQThCO0FBRTlCLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFFL0IsZ0NBQW9EO0FBRXBELEtBQUssVUFBVSxJQUFJOztJQUNqQixNQUFNLE9BQU8sR0FBRyxLQUFLO1NBQ2xCLEtBQUssQ0FDSixnQ0FBZ0MsRUFDaEMsNERBQTRELEVBQzVELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxJQUFJO1NBQ0QsVUFBVSxDQUFDLFdBQVcsRUFBRTtRQUN2QixJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSxzRkFBc0Y7S0FDN0YsQ0FBQztTQUNELFVBQVUsQ0FBQyxZQUFZLEVBQUU7UUFDeEIsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUseUZBQXlGO0tBQ2hHLENBQUMsQ0FDUDtTQUNBLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSx5RUFBeUU7S0FDaEYsQ0FBQztTQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7U0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2hCLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLHNDQUFzQztRQUM1QyxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7U0FDRCxNQUFNLENBQUMsY0FBYyxFQUFFO1FBQ3RCLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSw4Q0FBOEM7UUFDcEQsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDO1NBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7U0FDRCxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3BCLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUscUNBQXFDO1FBQzNDLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztTQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDO1NBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLHFEQUFxRDtRQUMzRCxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7U0FDRCxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3JCLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVWLE1BQU0sT0FBTyxHQUFHLElBQUksZ0JBQVUsRUFBRSxDQUFDO0lBRWpDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtRQUNuQixNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ2pELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtTQUMzQixDQUFDLENBQUM7S0FDSjtJQUVELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixPQUFFLE9BQU8sQ0FBQyxRQUFxQixtQ0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDOUQsQ0FDRixDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQkFBYyxDQUFDLE9BQU8sRUFBRTtRQUN0QyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsR0FBRztRQUNqRCxLQUFLLEVBQ0gsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVc7UUFDeEUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUc7UUFDdkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUc7UUFDL0MsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUc7UUFDN0MsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUc7UUFDL0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ3ZCLENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNsQixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnQGpzaWkvY2hlY2stbm9kZS9ydW4nO1xuXG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IFR5cGVTeXN0ZW0sIFR5cGVTeXN0ZW1UcmVlIH0gZnJvbSAnLi4vbGliJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IHlhcmdzXG4gICAgLnVzYWdlKFxuICAgICAgJyQwIFtKU0lJLUZJTEUgfCBNT0RVTEUtRElSLi4uXScsXG4gICAgICAnUHJpbnRzIGFuIEFTQ0lJIHRyZWUgcmVwcmVzZW50YXRpb24gb2YgYSBqc2lpIHR5cGUgc3lzdGVtLicsXG4gICAgICAoYXJncykgPT5cbiAgICAgICAgYXJnc1xuICAgICAgICAgIC5wb3NpdGlvbmFsKCdKU0lJLUZJTEUnLCB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2M6ICdwYXRoIHRvIGEgLmpzaWkgZmlsZSB0byBsb2FkLCBhbGwgZGVwZW5kZW5jeSAuanNpaSBmaWxlcyBtdXN0IGJlIGV4cGxpY2l0bHkgc3VwcGxpZWQnLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnBvc2l0aW9uYWwoJ01PRFVMRS1ESVInLCB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2M6ICdwYXRoIHRvIGFuIGpzaWkgbnBtIG1vZHVsZSBkaXJlY3RvcnksIGFsbCBqc2lpIGRlcGVuZGVuY2llcyB3aWxsIGJlIGxvYWRlZCB0cmFuc2l0aXZlbHknLFxuICAgICAgICAgIH0pLFxuICAgIClcbiAgICAub3B0aW9uKCdjbG9zdXJlJywge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBhbGlhczogJ2MnLFxuICAgICAgZGVzYzogJ0xvYWQgZGVwZW5kZW5jaWVzIG9mIHBhY2thZ2Ugd2l0aG91dCBhc3N1bWluZyBpdHMgYSBKU0lJIHBhY2thZ2UgaXRzZWxmJyxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2FsbCcsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGFsaWFzOiAnYScsXG4gICAgICBkZXNjOiAnc2hvdyBhbGwgZGV0YWlscycsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2NvbG9ycycsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdlbmFibGUvZGlzYWJsZSBBTlNJIGNvbG9ycyBpbiBvdXRwdXQnLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2RlcGVuZGVuY2llcycsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGFsaWFzOiAnZCcsXG4gICAgICBkZXNjOiAnc2hvdyBhc3NlbWJseSBkZXBlbmRlbmNpZXMnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdpbmhlcml0YW5jZScsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGFsaWFzOiAnaScsXG4gICAgICBkZXNjOiAnc2hvdyBiYXNlIGNsYXNzZXMgYW5kIGltcGxlbWVudGVkIGludGVyZmFjZXMnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdtZW1iZXJzJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgYWxpYXM6ICdtJyxcbiAgICAgIGRlc2M6ICdzaG93IHR5cGUgbWVtYmVycycsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3NpZ25hdHVyZXMnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBhbGlhczogJ3MnLFxuICAgICAgZGVzYzogJ3Nob3cgbWV0aG9kIGFuZCBwcm9wZXJ0eSBzaWduYXR1cmVzJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndHlwZXMnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgZGVzYzogJ3Nob3cgdHlwZXMnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCd2YWxpZGF0ZScsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGFsaWFzOiAnVicsXG4gICAgICBkZXNjOiAnVmFsaWRhdGUgdGhhdCBhc3NlbWJsaWVzIG1hdGNoIHNjaGVtYSB3aGlsZSBsb2FkaW5nJyxcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdzdGFiaWxpdGllcycsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGFsaWFzOiAnUycsXG4gICAgICBkZXNjOiAnU2hvdyBzdGFiaWxpdGllcycsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KS5hcmd2O1xuXG4gIGNvbnN0IHR5cGVzeXMgPSBuZXcgVHlwZVN5c3RlbSgpO1xuXG4gIGlmIChvcHRpb25zLmNsb3N1cmUpIHtcbiAgICBhd2FpdCB0eXBlc3lzLmxvYWROcG1EZXBlbmRlbmNpZXMob3B0aW9ucy5jbG9zdXJlLCB7XG4gICAgICB2YWxpZGF0ZTogb3B0aW9ucy52YWxpZGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICgob3B0aW9ucy5qc2lpRmlsZSBhcyBzdHJpbmdbXSkgPz8gW10pLm1hcCgoZmlsZU9yRGlyZWN0b3J5KSA9PlxuICAgICAgdHlwZXN5cy5sb2FkKGZpbGVPckRpcmVjdG9yeSwgeyB2YWxpZGF0ZTogb3B0aW9ucy52YWxpZGF0ZSB9KSxcbiAgICApLFxuICApO1xuXG4gIGNvbnN0IHRzdCA9IG5ldyBUeXBlU3lzdGVtVHJlZSh0eXBlc3lzLCB7XG4gICAgZGVwZW5kZW5jaWVzOiBvcHRpb25zLmRlcGVuZGVuY2llcyB8fCBvcHRpb25zLmFsbCxcbiAgICB0eXBlczpcbiAgICAgIG9wdGlvbnMudHlwZXMgfHwgb3B0aW9ucy5hbGwgfHwgb3B0aW9ucy5tZW1iZXJzIHx8IG9wdGlvbnMuaW5oZXJpdGFuY2UsXG4gICAgbWVtYmVyczogb3B0aW9ucy5tZW1iZXJzIHx8IG9wdGlvbnMuYWxsLFxuICAgIGluaGVyaXRhbmNlOiBvcHRpb25zLmluaGVyaXRhbmNlIHx8IG9wdGlvbnMuYWxsLFxuICAgIHNpZ25hdHVyZXM6IG9wdGlvbnMuc2lnbmF0dXJlcyB8fCBvcHRpb25zLmFsbCxcbiAgICBzdGFiaWxpdGllczogb3B0aW9ucy5zdGFiaWxpdGllcyB8fCBvcHRpb25zLmFsbCxcbiAgICBjb2xvcnM6IG9wdGlvbnMuY29sb3JzLFxuICB9KTtcblxuICB0c3QucHJpbnRUcmVlKCk7XG59XG5cbm1haW4oKS5jYXRjaCgoZSkgPT4ge1xuICBjb25zb2xlLmxvZyhjaGFsay5yZWQoZSkpO1xuICBwcm9jZXNzLmV4aXQoMSk7XG59KTtcbiJdfQ==
|
package/lib/tree.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeSystemTree = void 0;
|
|
4
4
|
const spec_1 = require("@jsii/spec");
|
|
5
|
-
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
6
|
+
const chalk = require("chalk");
|
|
6
7
|
const oo_ascii_tree_1 = require("oo-ascii-tree");
|
|
7
8
|
const method_1 = require("./method");
|
|
8
9
|
const optional_value_1 = require("./optional-value");
|
|
@@ -33,7 +34,7 @@ class TypeSystemTree extends oo_ascii_tree_1.AsciiTree {
|
|
|
33
34
|
exports.TypeSystemTree = TypeSystemTree;
|
|
34
35
|
class AssemblyNode extends oo_ascii_tree_1.AsciiTree {
|
|
35
36
|
constructor(assembly, options) {
|
|
36
|
-
super(
|
|
37
|
+
super(chalk.green(assembly.name));
|
|
37
38
|
if (options.dependencies && assembly.dependencies.length > 0) {
|
|
38
39
|
const deps = new TitleNode('dependencies');
|
|
39
40
|
this.add(deps);
|
|
@@ -56,7 +57,7 @@ class AssemblyNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
56
57
|
}
|
|
57
58
|
class SubmoduleNode extends oo_ascii_tree_1.AsciiTree {
|
|
58
59
|
constructor(submodule, options) {
|
|
59
|
-
super(
|
|
60
|
+
super(chalk.green(submodule.name));
|
|
60
61
|
const submodules = submodule.submodules;
|
|
61
62
|
if (submodules.length > 0) {
|
|
62
63
|
const title = new TitleNode('submodules');
|
|
@@ -75,7 +76,7 @@ class SubmoduleNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
75
76
|
class MethodNode extends oo_ascii_tree_1.AsciiTree {
|
|
76
77
|
constructor(method, options) {
|
|
77
78
|
const args = method.parameters.map((p) => p.name).join(',');
|
|
78
|
-
super(`${maybeStatic(method)}${method.name}(${args}) ${
|
|
79
|
+
super(`${maybeStatic(method)}${method.name}(${args}) ${chalk.gray('method')}${describeStability(method, options)}`);
|
|
79
80
|
if (options.signatures) {
|
|
80
81
|
if (method.abstract) {
|
|
81
82
|
this.add(new FlagNode('abstract'));
|
|
@@ -103,7 +104,7 @@ class MethodNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
103
104
|
class InitializerNode extends oo_ascii_tree_1.AsciiTree {
|
|
104
105
|
constructor(initializer, options) {
|
|
105
106
|
const args = initializer.parameters.map((p) => p.name).join(',');
|
|
106
|
-
super(`${initializer.name}(${args}) ${
|
|
107
|
+
super(`${initializer.name}(${args}) ${chalk.gray('initializer')}${describeStability(initializer, options)}`);
|
|
107
108
|
if (options.signatures) {
|
|
108
109
|
if (initializer.protected) {
|
|
109
110
|
this.add(new FlagNode('protected'));
|
|
@@ -130,7 +131,7 @@ class ParameterNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
130
131
|
}
|
|
131
132
|
class PropertyNode extends oo_ascii_tree_1.AsciiTree {
|
|
132
133
|
constructor(property, options) {
|
|
133
|
-
super(`${maybeStatic(property)}${property.name} ${
|
|
134
|
+
super(`${maybeStatic(property)}${property.name} ${chalk.gray('property')}${describeStability(property, options)}`);
|
|
134
135
|
if (options.signatures) {
|
|
135
136
|
if (property.abstract) {
|
|
136
137
|
this.add(new FlagNode('abstract'));
|
|
@@ -157,12 +158,12 @@ class OptionalValueNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
157
158
|
if (asPromise) {
|
|
158
159
|
type = `Promise<${type}>`;
|
|
159
160
|
}
|
|
160
|
-
super(`${
|
|
161
|
+
super(`${chalk.underline(name)}: ${type}`);
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
class ClassNode extends oo_ascii_tree_1.AsciiTree {
|
|
164
165
|
constructor(type, options) {
|
|
165
|
-
super(`${
|
|
166
|
+
super(`${chalk.gray('class')} ${chalk.cyan(type.name)}${describeStability(type, options)}`);
|
|
166
167
|
if (options.inheritance && type.base) {
|
|
167
168
|
this.add(new KeyValueNode('base', type.base.name));
|
|
168
169
|
}
|
|
@@ -182,7 +183,7 @@ class ClassNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
182
183
|
}
|
|
183
184
|
class InterfaceNode extends oo_ascii_tree_1.AsciiTree {
|
|
184
185
|
constructor(type, options) {
|
|
185
|
-
super(`${
|
|
186
|
+
super(`${chalk.gray('interface')} ${chalk.cyan(type.name)}${describeStability(type, options)}`);
|
|
186
187
|
if (options.inheritance && type.interfaces.length > 0) {
|
|
187
188
|
const interfaces = new TitleNode('interfaces');
|
|
188
189
|
this.add(interfaces);
|
|
@@ -198,7 +199,7 @@ class InterfaceNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
198
199
|
}
|
|
199
200
|
class EnumNode extends oo_ascii_tree_1.AsciiTree {
|
|
200
201
|
constructor(enumType, options) {
|
|
201
|
-
super(`${
|
|
202
|
+
super(`${chalk.gray('enum')} ${chalk.cyan(enumType.name)}${describeStability(enumType, options)}`);
|
|
202
203
|
if (options.members) {
|
|
203
204
|
enumType.members.forEach((mem) => {
|
|
204
205
|
this.add(new oo_ascii_tree_1.AsciiTree(mem.name + describeStability(mem, options)));
|
|
@@ -213,42 +214,34 @@ class DependencyNode extends oo_ascii_tree_1.AsciiTree {
|
|
|
213
214
|
}
|
|
214
215
|
class TitleNode extends oo_ascii_tree_1.AsciiTree {
|
|
215
216
|
constructor(name, children = []) {
|
|
216
|
-
super(
|
|
217
|
+
super(chalk.underline(name), ...children);
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
class KeyValueNode extends oo_ascii_tree_1.AsciiTree {
|
|
220
221
|
constructor(key, value) {
|
|
221
|
-
super(`${
|
|
222
|
+
super(`${chalk.underline(key)}: ${value}`);
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
class TextNode extends oo_ascii_tree_1.AsciiTree {
|
|
225
226
|
}
|
|
226
227
|
class FlagNode extends oo_ascii_tree_1.AsciiTree {
|
|
227
228
|
constructor(flag) {
|
|
228
|
-
super(
|
|
229
|
+
super(chalk.italic(flag));
|
|
229
230
|
}
|
|
230
231
|
}
|
|
231
232
|
/**
|
|
232
233
|
* Invokes `block` with colors enabled/disabled and reverts to old value afterwards.
|
|
233
234
|
*/
|
|
234
235
|
function withColors(enabled, block) {
|
|
235
|
-
const
|
|
236
|
+
const oldLevel = chalk.level;
|
|
236
237
|
try {
|
|
237
|
-
if (enabled) {
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
colors.disable();
|
|
238
|
+
if (!enabled) {
|
|
239
|
+
chalk.level = 0; // No colors at all
|
|
242
240
|
}
|
|
243
241
|
block();
|
|
244
242
|
}
|
|
245
243
|
finally {
|
|
246
|
-
|
|
247
|
-
colors.enable();
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
colors.disable();
|
|
251
|
-
}
|
|
244
|
+
chalk.level = oldLevel;
|
|
252
245
|
}
|
|
253
246
|
}
|
|
254
247
|
function describeStability(thing, options) {
|
|
@@ -257,13 +250,13 @@ function describeStability(thing, options) {
|
|
|
257
250
|
}
|
|
258
251
|
switch (thing.docs.stability) {
|
|
259
252
|
case spec_1.Stability.Stable:
|
|
260
|
-
return ` (${
|
|
253
|
+
return ` (${chalk.green('stable')})`;
|
|
261
254
|
case spec_1.Stability.External:
|
|
262
|
-
return ` (${
|
|
255
|
+
return ` (${chalk.green('external')})`;
|
|
263
256
|
case spec_1.Stability.Experimental:
|
|
264
|
-
return ` (${
|
|
257
|
+
return ` (${chalk.yellow('experimental')})`;
|
|
265
258
|
case spec_1.Stability.Deprecated:
|
|
266
|
-
return ` (${
|
|
259
|
+
return ` (${chalk.red('deprecated')})`;
|
|
267
260
|
default:
|
|
268
261
|
return '';
|
|
269
262
|
}
|
|
@@ -276,6 +269,6 @@ function maybeStatic(mem) {
|
|
|
276
269
|
if (mem instanceof method_1.Method) {
|
|
277
270
|
isStatic = !!mem.static;
|
|
278
271
|
}
|
|
279
|
-
return isStatic ? `${
|
|
272
|
+
return isStatic ? `${chalk.grey('static')} ` : '';
|
|
280
273
|
}
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQXVDO0FBQ3ZDLHNDQUFzQztBQUN0QyxpREFBMEM7QUFTMUMscUNBQWtDO0FBQ2xDLHFEQUFpRDtBQUVqRCx5Q0FBc0M7QUF1RHRDOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEseUJBQVM7SUFDM0MsWUFBbUIsT0FBbUIsRUFBRSxVQUFpQyxFQUFFO1FBQ3pFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO1FBRUQsTUFBTSxlQUFlLEdBQ25CLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDdkQsVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDL0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvQyxVQUFVLENBQUMsR0FBRyxDQUNaLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUMvRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7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Q0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0tBQ3pCO0lBRUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWJpbGl0eSB9IGZyb20gJ0Bqc2lpL3NwZWMnO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJ2NvbG9ycy9zYWZlJztcbmltcG9ydCB7IEFzY2lpVHJlZSB9IGZyb20gJ29vLWFzY2lpLXRyZWUnO1xuXG5pbXBvcnQgeyBBc3NlbWJseSB9IGZyb20gJy4vYXNzZW1ibHknO1xuaW1wb3J0IHsgQ2xhc3NUeXBlIH0gZnJvbSAnLi9jbGFzcyc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSAnLi9kZXBlbmRlbmN5JztcbmltcG9ydCB7IERvY3VtZW50YWJsZSB9IGZyb20gJy4vZG9jcyc7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBJbml0aWFsaXplciB9IGZyb20gJy4vaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgSW50ZXJmYWNlVHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IE1ldGhvZCB9IGZyb20gJy4vbWV0aG9kJztcbmltcG9ydCB7IE9wdGlvbmFsVmFsdWUgfSBmcm9tICcuL29wdGlvbmFsLXZhbHVlJztcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4vcGFyYW1ldGVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBTdWJtb2R1bGUgfSBmcm9tICcuL3N1Ym1vZHVsZSc7XG5pbXBvcnQgeyBUeXBlU3lzdGVtIH0gZnJvbSAnLi90eXBlLXN5c3RlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN5c3RlbVRyZWVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNob3cgYWxsIGVudGl0eSB0eXBlcyAoc3VwZXJzZWRlcyBvdGhlciBvcHRpb25zKVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2hvd0FsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgdHlwZSBtZW1iZXJzIChtZXRob2RzLCBwcm9wZXJ0aWVzKVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgbWVtYmVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgZGVwZW5kZW5jaWVzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IGluaGVyaXRhbmNlIGluZm9ybWF0aW9uIChiYXNlIGNsYXNzZXMsIGludGVyZmFjZXMpXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpbmhlcml0YW5jZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgdHlwZXNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHR5cGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyBtZXRob2Qgc2lnbmF0dXJlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNpZ25hdHVyZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgd2l0aCBBTlNJIGNvbG9yc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBjb2xvcnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHN0YWJpbGl0aWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzdGFiaWxpdGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVmlzdWFsaXplcyBhIGBUeXBlU3lzdGVtYCBhcyBhbiBBU0NJSSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgVHlwZVN5c3RlbVRyZWUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IodHlwZXN5czogVHlwZVN5c3RlbSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKG9wdGlvbnMuc2hvd0FsbCkge1xuICAgICAgb3B0aW9ucy5kZXBlbmRlbmNpZXMgPSB0cnVlO1xuICAgICAgb3B0aW9ucy5pbmhlcml0YW5jZSA9IHRydWU7XG4gICAgICBvcHRpb25zLm1lbWJlcnMgPSB0cnVlO1xuICAgICAgb3B0aW9ucy5zaWduYXR1cmVzID0gdHJ1ZTtcbiAgICAgIG9wdGlvbnMudHlwZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZFVzZUNvbG9ycyA9XG4gICAgICBvcHRpb25zLmNvbG9ycyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMuY29sb3JzO1xuICAgIHdpdGhDb2xvcnMoc2hvdWxkVXNlQ29sb3JzLCAoKSA9PiB7XG4gICAgICBpZiAodHlwZXN5cy5hc3NlbWJsaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgYXNzZW1ibGllcyA9IG5ldyBUaXRsZU5vZGUoJ2Fzc2VtYmxpZXMnKTtcbiAgICAgICAgYXNzZW1ibGllcy5hZGQoXG4gICAgICAgICAgLi4udHlwZXN5cy5hc3NlbWJsaWVzLm1hcCgoYSkgPT4gbmV3IEFzc2VtYmx5Tm9kZShhLCBvcHRpb25zKSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYWRkKGFzc2VtYmxpZXMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIEFzc2VtYmx5Tm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihhc3NlbWJseTogQXNzZW1ibHksIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucykge1xuICAgIHN1cGVyKGNvbG9ycy5ncmVlbihhc3NlbWJseS5uYW1lKSk7XG5cbiAgICBpZiAob3B0aW9ucy5kZXBlbmRlbmNpZXMgJiYgYXNzZW1ibHkuZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRlcHMgPSBuZXcgVGl0bGVOb2RlKCdkZXBlbmRlbmNpZXMnKTtcbiAgICAgIHRoaXMuYWRkKGRlcHMpO1xuICAgICAgZGVwcy5hZGQoXG4gICAgICAgIC4uLmFzc2VtYmx5LmRlcGVuZGVuY2llcy5tYXAoKGQpID0+IG5ldyBEZXBlbmRlbmN5Tm9kZShkLCBvcHRpb25zKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym1vZHVsZXMgPSBhc3NlbWJseS5zdWJtb2R1bGVzO1xuICAgIGlmIChzdWJtb2R1bGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRpdGxlID0gbmV3IFRpdGxlTm9kZSgnc3VibW9kdWxlcycpO1xuICAgICAgdGhpcy5hZGQodGl0bGUpO1xuICAgICAgdGl0bGUuYWRkKC4uLnN1Ym1vZHVsZXMubWFwKChzKSA9PiBuZXcgU3VibW9kdWxlTm9kZShzLCBvcHRpb25zKSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGVzKSB7XG4gICAgICBjb25zdCB0eXBlcyA9IG5ldyBUaXRsZU5vZGUoJ3R5cGVzJyk7XG4gICAgICB0aGlzLmFkZCh0eXBlcyk7XG4gICAgICB0eXBlcy5hZGQoLi4uYXNzZW1ibHkuY2xhc3Nlcy5tYXAoKGMpID0+IG5ldyBDbGFzc05vZGUoYywgb3B0aW9ucykpKTtcbiAgICAgIHR5cGVzLmFkZChcbiAgICAgICAgLi4uYXNzZW1ibHkuaW50ZXJmYWNlcy5tYXAoKGMpID0+IG5ldyBJbnRlcmZhY2VOb2RlKGMsIG9wdGlvbnMpKSxcbiAgICAgICk7XG4gICAgICB0eXBlcy5hZGQoLi4uYXNzZW1ibHkuZW51bXMubWFwKChjKSA9PiBuZXcgRW51bU5vZGUoYywgb3B0aW9ucykpKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgU3VibW9kdWxlTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdWJtb2R1bGU6IFN1Ym1vZHVsZSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoY29sb3JzLmdyZWVuKHN1Ym1vZHVsZS5uYW1lKSk7XG5cbiAgICBjb25zdCBzdWJtb2R1bGVzID0gc3VibW9kdWxlLnN1Ym1vZHVsZXM7XG4gICAgaWYgKHN1Ym1vZHVsZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdGl0bGUgPSBuZXcgVGl0bGVOb2RlKCdzdWJtb2R1bGVzJyk7XG4gICAgICB0aGlzLmFkZCh0aXRsZSk7XG4gICAgICB0aXRsZS5hZGQoLi4uc3VibW9kdWxlcy5tYXAoKHMpID0+IG5ldyBTdWJtb2R1bGVOb2RlKHMsIG9wdGlvbnMpKSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudHlwZXMpIHtcbiAgICAgIGNvbnN0IHR5cGVzID0gbmV3IFRpdGxlTm9kZSgndHlwZXMnKTtcbiAgICAgIHRoaXMuYWRkKHR5cGVzKTtcbiAgICAgIHR5cGVzLmFkZCguLi5zdWJtb2R1bGUuY2xhc3Nlcy5tYXAoKGMpID0+IG5ldyBDbGFzc05vZGUoYywgb3B0aW9ucykpKTtcbiAgICAgIHR5cGVzLmFkZChcbiAgICAgICAgLi4uc3VibW9kdWxlLmludGVyZmFjZXMubWFwKChpKSA9PiBuZXcgSW50ZXJmYWNlTm9kZShpLCBvcHRpb25zKSksXG4gICAgICApO1xuICAgICAgdHlwZXMuYWRkKC4uLnN1Ym1vZHVsZS5lbnVtcy5tYXAoKGUpID0+IG5ldyBFbnVtTm9kZShlLCBvcHRpb25zKSkpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBNZXRob2ROb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG1ldGhvZDogTWV0aG9kLCBvcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBjb25zdCBhcmdzID0gbWV0aG9kLnBhcmFtZXRlcnMubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oJywnKTtcbiAgICBzdXBlcihcbiAgICAgIGAke21heWJlU3RhdGljKG1ldGhvZCl9JHttZXRob2QubmFtZX0oJHthcmdzfSkgJHtjb2xvcnMuZ3JheShcbiAgICAgICAgJ21ldGhvZCcsXG4gICAgICApfSR7ZGVzY3JpYmVTdGFiaWxpdHkobWV0aG9kLCBvcHRpb25zKX1gLFxuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5zaWduYXR1cmVzKSB7XG4gICAgICBpZiAobWV0aG9kLmFic3RyYWN0KSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnYWJzdHJhY3QnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXRob2QucHJvdGVjdGVkKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgncHJvdGVjdGVkJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0aG9kLnN0YXRpYykge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3N0YXRpYycpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1ldGhvZC52YXJpYWRpYykge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3ZhcmlhZGljJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0aG9kLnBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVGl0bGVOb2RlKCdwYXJhbWV0ZXJzJyk7XG4gICAgICAgIHRoaXMuYWRkKHBhcmFtcyk7XG4gICAgICAgIHBhcmFtcy5hZGQoXG4gICAgICAgICAgLi4ubWV0aG9kLnBhcmFtZXRlcnMubWFwKChwKSA9PiBuZXcgUGFyYW1ldGVyTm9kZShwLCBvcHRpb25zKSksXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkKFxuICAgICAgICBuZXcgT3B0aW9uYWxWYWx1ZU5vZGUoJ3JldHVybnMnLCBtZXRob2QucmV0dXJucywge1xuICAgICAgICAgIGFzUHJvbWlzZTogbWV0aG9kLmFzeW5jLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEluaXRpYWxpemVyTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsaXplcjogSW5pdGlhbGl6ZXIsIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucykge1xuICAgIGNvbnN0IGFyZ3MgPSBpbml0aWFsaXplci5wYXJhbWV0ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5qb2luKCcsJyk7XG4gICAgc3VwZXIoXG4gICAgICBgJHtpbml0aWFsaXplci5uYW1lfSgke2FyZ3N9KSAke2NvbG9ycy5ncmF5KFxuICAgICAgICAnaW5pdGlhbGl6ZXInLFxuICAgICAgKX0ke2Rlc2NyaWJlU3RhYmlsaXR5KGluaXRpYWxpemVyLCBvcHRpb25zKX1gLFxuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5zaWduYXR1cmVzKSB7XG4gICAgICBpZiAoaW5pdGlhbGl6ZXIucHJvdGVjdGVkKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgncHJvdGVjdGVkJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5pdGlhbGl6ZXIudmFyaWFkaWMpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCd2YXJpYWRpYycpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluaXRpYWxpemVyLnBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVGl0bGVOb2RlKCdwYXJhbWV0ZXJzJyk7XG4gICAgICAgIHRoaXMuYWRkKHBhcmFtcyk7XG4gICAgICAgIHBhcmFtcy5hZGQoXG4gICAgICAgICAgLi4uaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5tYXAoKHApID0+IG5ldyBQYXJhbWV0ZXJOb2RlKHAsIG9wdGlvbnMpKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgUGFyYW1ldGVyTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbTogUGFyYW1ldGVyLCBfb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIocGFyYW0ubmFtZSk7XG5cbiAgICB0aGlzLmFkZChuZXcgT3B0aW9uYWxWYWx1ZU5vZGUoJ3R5cGUnLCBwYXJhbSkpO1xuICAgIGlmIChwYXJhbS52YXJpYWRpYykge1xuICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCd2YXJpYWRpYycpKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgUHJvcGVydHlOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BlcnR5OiBQcm9wZXJ0eSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBgJHttYXliZVN0YXRpYyhwcm9wZXJ0eSl9JHtwcm9wZXJ0eS5uYW1lfSAke2NvbG9ycy5ncmF5KFxuICAgICAgICAncHJvcGVydHknLFxuICAgICAgKX0ke2Rlc2NyaWJlU3RhYmlsaXR5KHByb3BlcnR5LCBvcHRpb25zKX1gLFxuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5zaWduYXR1cmVzKSB7XG4gICAgICBpZiAocHJvcGVydHkuYWJzdHJhY3QpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCdhYnN0cmFjdCcpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5LmNvbnN0KSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnY29uc3QnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eS5pbW11dGFibGUpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCdpbW11dGFibGUnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eS5wcm90ZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCdwcm90ZWN0ZWQnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eS5zdGF0aWMpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCdzdGF0aWMnKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkKG5ldyBPcHRpb25hbFZhbHVlTm9kZSgndHlwZScsIHByb3BlcnR5KSk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIE9wdGlvbmFsVmFsdWVOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25hbFZhbHVlOiBPcHRpb25hbFZhbHVlLFxuICAgIHsgYXNQcm9taXNlIH0gPSB7IGFzUHJvbWlzZTogZmFsc2UgfSxcbiAgKSB7XG4gICAgbGV0IHR5cGUgPSBPcHRpb25hbFZhbHVlLmRlc2NyaWJlKG9wdGlvbmFsVmFsdWUpO1xuICAgIGlmIChhc1Byb21pc2UpIHtcbiAgICAgIHR5cGUgPSBgUHJvbWlzZTwke3R5cGV9PmA7XG4gICAgfVxuICAgIHN1cGVyKGAke2NvbG9ycy51bmRlcmxpbmUobmFtZSl9OiAke3R5cGV9YCk7XG4gIH1cbn1cblxuY2xhc3MgQ2xhc3NOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHR5cGU6IENsYXNzVHlwZSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBgJHtjb2xvcnMuZ3JheSgnY2xhc3MnKX0gJHtjb2xvcnMuY3lhbih0eXBlLm5hbWUpfSR7ZGVzY3JpYmVTdGFiaWxpdHkoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApfWAsXG4gICAgKTtcblxuICAgIGlmIChvcHRpb25zLmluaGVyaXRhbmNlICYmIHR5cGUuYmFzZSkge1xuICAgICAgdGhpcy5hZGQobmV3IEtleVZhbHVlTm9kZSgnYmFzZScsIHR5cGUuYmFzZS5uYW1lKSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaW5oZXJpdGFuY2UgJiYgdHlwZS5pbnRlcmZhY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWRkKFxuICAgICAgICBuZXcgS2V5VmFsdWVOb2RlKFxuICAgICAgICAgICdpbnRlcmZhY2VzJyxcbiAgICAgICAgICB0eXBlLmludGVyZmFjZXMubWFwKChpKSA9PiBpLm5hbWUpLmpvaW4oJywnKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWVtYmVycykge1xuICAgICAgY29uc3QgbWVtYmVycyA9IG5ldyBUaXRsZU5vZGUoJ21lbWJlcnMnKTtcbiAgICAgIHRoaXMuYWRkKG1lbWJlcnMpO1xuICAgICAgaWYgKHR5cGUuaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgbWVtYmVycy5hZGQobmV3IEluaXRpYWxpemVyTm9kZSh0eXBlLmluaXRpYWxpemVyLCBvcHRpb25zKSk7XG4gICAgICB9XG4gICAgICBtZW1iZXJzLmFkZCguLi50eXBlLm93bk1ldGhvZHMubWFwKChtKSA9PiBuZXcgTWV0aG9kTm9kZShtLCBvcHRpb25zKSkpO1xuICAgICAgbWVtYmVycy5hZGQoXG4gICAgICAgIC4uLnR5cGUub3duUHJvcGVydGllcy5tYXAoKHApID0+IG5ldyBQcm9wZXJ0eU5vZGUocCwgb3B0aW9ucykpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJmYWNlTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0eXBlOiBJbnRlcmZhY2VUeXBlLCBvcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIGAke2NvbG9ycy5ncmF5KCdpbnRlcmZhY2UnKX0gJHtjb2xvcnMuY3lhbih0eXBlLm5hbWUpfSR7ZGVzY3JpYmVTdGFiaWxpdHkoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApfWAsXG4gICAgKTtcblxuICAgIGlmIChvcHRpb25zLmluaGVyaXRhbmNlICYmIHR5cGUuaW50ZXJmYWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VzID0gbmV3IFRpdGxlTm9kZSgnaW50ZXJmYWNlcycpO1xuICAgICAgdGhpcy5hZGQoaW50ZXJmYWNlcyk7XG4gICAgICBpbnRlcmZhY2VzLmFkZCguLi50eXBlLmludGVyZmFjZXMubWFwKChpKSA9PiBuZXcgVGV4dE5vZGUoaS5uYW1lKSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLm1lbWJlcnMpIHtcbiAgICAgIGNvbnN0IG1lbWJlcnMgPSBuZXcgVGl0bGVOb2RlKCdtZW1iZXJzJyk7XG4gICAgICBtZW1iZXJzLmFkZCguLi50eXBlLm93bk1ldGhvZHMubWFwKChtKSA9PiBuZXcgTWV0aG9kTm9kZShtLCBvcHRpb25zKSkpO1xuICAgICAgbWVtYmVycy5hZGQoXG4gICAgICAgIC4uLnR5cGUub3duUHJvcGVydGllcy5tYXAoKHApID0+IG5ldyBQcm9wZXJ0eU5vZGUocCwgb3B0aW9ucykpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuYWRkKG1lbWJlcnMpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBFbnVtTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihlbnVtVHlwZTogRW51bVR5cGUsIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgYCR7Y29sb3JzLmdyYXkoJ2VudW0nKX0gJHtjb2xvcnMuY3lhbihlbnVtVHlwZS5uYW1lKX0ke2Rlc2NyaWJlU3RhYmlsaXR5KFxuICAgICAgICBlbnVtVHlwZSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICl9YCxcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMubWVtYmVycykge1xuICAgICAgZW51bVR5cGUubWVtYmVycy5mb3JFYWNoKChtZW0pID0+IHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEFzY2lpVHJlZShtZW0ubmFtZSArIGRlc2NyaWJlU3RhYmlsaXR5KG1lbSwgb3B0aW9ucykpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBEZXBlbmRlbmN5Tm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihkZXA6IERlcGVuZGVuY3ksIF9vcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihkZXAuYXNzZW1ibHkubmFtZSk7XG4gIH1cbn1cblxuY2xhc3MgVGl0bGVOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgY2hpbGRyZW46IEFzY2lpVHJlZVtdID0gW10pIHtcbiAgICBzdXBlcihjb2xvcnMudW5kZXJsaW5lKG5hbWUpLCAuLi5jaGlsZHJlbik7XG4gIH1cbn1cblxuY2xhc3MgS2V5VmFsdWVOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgc3VwZXIoYCR7Y29sb3JzLnVuZGVybGluZShrZXkpfTogJHt2YWx1ZX1gKTtcbiAgfVxufVxuXG5jbGFzcyBUZXh0Tm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7fVxuXG5jbGFzcyBGbGFnTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihmbGFnOiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb2xvcnMuaXRhbGljKGZsYWcpKTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZXMgYGJsb2NrYCB3aXRoIGNvbG9ycyBlbmFibGVkL2Rpc2FibGVkIGFuZCByZXZlcnRzIHRvIG9sZCB2YWx1ZSBhZnRlcndhcmRzLlxuICovXG5mdW5jdGlvbiB3aXRoQ29sb3JzKGVuYWJsZWQ6IGJvb2xlYW4sIGJsb2NrOiAoKSA9PiB2b2lkKSB7XG4gIGNvbnN0IG9sZEVuYWJsZWQgPSBjb2xvcnMuZW5hYmxlZDtcbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgY29sb3JzLmVuYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2xvcnMuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIGJsb2NrKCk7XG4gIH0gZmluYWxseSB7XG4gICAgaWYgKG9sZEVuYWJsZWQpIHtcbiAgICAgIGNvbG9ycy5lbmFibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sb3JzLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVTdGFiaWxpdHkoXG4gIHRoaW5nOiBEb2N1bWVudGFibGUsXG4gIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucyxcbikge1xuICBpZiAoIW9wdGlvbnMuc3RhYmlsaXRpZXMgfHwgdGhpbmcuZG9jcy5zdGFiaWxpdHkgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHN3aXRjaCAodGhpbmcuZG9jcy5zdGFiaWxpdHkpIHtcbiAgICBjYXNlIFN0YWJpbGl0eS5TdGFibGU6XG4gICAgICByZXR1cm4gYCAoJHtjb2xvcnMuZ3JlZW4oJ3N0YWJsZScpfSlgO1xuICAgIGNhc2UgU3RhYmlsaXR5LkV4dGVybmFsOlxuICAgICAgcmV0dXJuIGAgKCR7Y29sb3JzLmdyZWVuKCdleHRlcm5hbCcpfSlgO1xuICAgIGNhc2UgU3RhYmlsaXR5LkV4cGVyaW1lbnRhbDpcbiAgICAgIHJldHVybiBgICgke2NvbG9ycy55ZWxsb3coJ2V4cGVyaW1lbnRhbCcpfSlgO1xuICAgIGNhc2UgU3RhYmlsaXR5LkRlcHJlY2F0ZWQ6XG4gICAgICByZXR1cm4gYCAoJHtjb2xvcnMucmVkKCdkZXByZWNhdGVkJyl9KWA7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXliZVN0YXRpYyhtZW06IFByb3BlcnR5IHwgTWV0aG9kKSB7XG4gIGxldCBpc1N0YXRpYztcbiAgaWYgKG1lbSBpbnN0YW5jZW9mIFByb3BlcnR5KSB7XG4gICAgaXNTdGF0aWMgPSAhIW1lbS5zdGF0aWM7XG4gIH1cbiAgaWYgKG1lbSBpbnN0YW5jZW9mIE1ldGhvZCkge1xuICAgIGlzU3RhdGljID0gISFtZW0uc3RhdGljO1xuICB9XG5cbiAgcmV0dXJuIGlzU3RhdGljID8gYCR7Y29sb3JzLmdyZXkoJ3N0YXRpYycpfSBgIDogJyc7XG59XG4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQXVDO0FBQ3ZDLGlFQUFpRTtBQUNqRSwrQkFBZ0M7QUFDaEMsaURBQTBDO0FBUzFDLHFDQUFrQztBQUNsQyxxREFBaUQ7QUFFakQseUNBQXNDO0FBdUR0Qzs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHlCQUFTO0lBQzNDLFlBQW1CLE9BQW1CLEVBQUUsVUFBaUMsRUFBRTtRQUN6RSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM1QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN2QixPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMxQixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELE1BQU0sZUFBZSxHQUNuQixPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3ZELFVBQVUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQy9CLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDL0MsVUFBVSxDQUFDLEdBQUcsQ0FDWixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDL0QsQ0FBQztnQkFDRixJQUFJLENBQUMsR0FBRyxDQUFDLFVB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QUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhYmlsaXR5IH0gZnJvbSAnQGpzaWkvc3BlYyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IGNoYWxrID0gcmVxdWlyZSgnY2hhbGsnKTtcbmltcG9ydCB7IEFzY2lpVHJlZSB9IGZyb20gJ29vLWFzY2lpLXRyZWUnO1xuXG5pbXBvcnQgeyBBc3NlbWJseSB9IGZyb20gJy4vYXNzZW1ibHknO1xuaW1wb3J0IHsgQ2xhc3NUeXBlIH0gZnJvbSAnLi9jbGFzcyc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSAnLi9kZXBlbmRlbmN5JztcbmltcG9ydCB7IERvY3VtZW50YWJsZSB9IGZyb20gJy4vZG9jcyc7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBJbml0aWFsaXplciB9IGZyb20gJy4vaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgSW50ZXJmYWNlVHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IE1ldGhvZCB9IGZyb20gJy4vbWV0aG9kJztcbmltcG9ydCB7IE9wdGlvbmFsVmFsdWUgfSBmcm9tICcuL29wdGlvbmFsLXZhbHVlJztcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4vcGFyYW1ldGVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBTdWJtb2R1bGUgfSBmcm9tICcuL3N1Ym1vZHVsZSc7XG5pbXBvcnQgeyBUeXBlU3lzdGVtIH0gZnJvbSAnLi90eXBlLXN5c3RlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVN5c3RlbVRyZWVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNob3cgYWxsIGVudGl0eSB0eXBlcyAoc3VwZXJzZWRlcyBvdGhlciBvcHRpb25zKVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2hvd0FsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgdHlwZSBtZW1iZXJzIChtZXRob2RzLCBwcm9wZXJ0aWVzKVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgbWVtYmVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgZGVwZW5kZW5jaWVzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IGluaGVyaXRhbmNlIGluZm9ybWF0aW9uIChiYXNlIGNsYXNzZXMsIGludGVyZmFjZXMpXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpbmhlcml0YW5jZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgdHlwZXNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHR5cGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2hvdyBtZXRob2Qgc2lnbmF0dXJlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNpZ25hdHVyZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgd2l0aCBBTlNJIGNvbG9yc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBjb2xvcnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaG93IHN0YWJpbGl0aWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzdGFiaWxpdGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVmlzdWFsaXplcyBhIGBUeXBlU3lzdGVtYCBhcyBhbiBBU0NJSSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgVHlwZVN5c3RlbVRyZWUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IodHlwZXN5czogVHlwZVN5c3RlbSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKG9wdGlvbnMuc2hvd0FsbCkge1xuICAgICAgb3B0aW9ucy5kZXBlbmRlbmNpZXMgPSB0cnVlO1xuICAgICAgb3B0aW9ucy5pbmhlcml0YW5jZSA9IHRydWU7XG4gICAgICBvcHRpb25zLm1lbWJlcnMgPSB0cnVlO1xuICAgICAgb3B0aW9ucy5zaWduYXR1cmVzID0gdHJ1ZTtcbiAgICAgIG9wdGlvbnMudHlwZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZFVzZUNvbG9ycyA9XG4gICAgICBvcHRpb25zLmNvbG9ycyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMuY29sb3JzO1xuICAgIHdpdGhDb2xvcnMoc2hvdWxkVXNlQ29sb3JzLCAoKSA9PiB7XG4gICAgICBpZiAodHlwZXN5cy5hc3NlbWJsaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgYXNzZW1ibGllcyA9IG5ldyBUaXRsZU5vZGUoJ2Fzc2VtYmxpZXMnKTtcbiAgICAgICAgYXNzZW1ibGllcy5hZGQoXG4gICAgICAgICAgLi4udHlwZXN5cy5hc3NlbWJsaWVzLm1hcCgoYSkgPT4gbmV3IEFzc2VtYmx5Tm9kZShhLCBvcHRpb25zKSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYWRkKGFzc2VtYmxpZXMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIEFzc2VtYmx5Tm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihhc3NlbWJseTogQXNzZW1ibHksIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucykge1xuICAgIHN1cGVyKGNoYWxrLmdyZWVuKGFzc2VtYmx5Lm5hbWUpKTtcblxuICAgIGlmIChvcHRpb25zLmRlcGVuZGVuY2llcyAmJiBhc3NlbWJseS5kZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVwcyA9IG5ldyBUaXRsZU5vZGUoJ2RlcGVuZGVuY2llcycpO1xuICAgICAgdGhpcy5hZGQoZGVwcyk7XG4gICAgICBkZXBzLmFkZChcbiAgICAgICAgLi4uYXNzZW1ibHkuZGVwZW5kZW5jaWVzLm1hcCgoZCkgPT4gbmV3IERlcGVuZGVuY3lOb2RlKGQsIG9wdGlvbnMpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3VibW9kdWxlcyA9IGFzc2VtYmx5LnN1Ym1vZHVsZXM7XG4gICAgaWYgKHN1Ym1vZHVsZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdGl0bGUgPSBuZXcgVGl0bGVOb2RlKCdzdWJtb2R1bGVzJyk7XG4gICAgICB0aGlzLmFkZCh0aXRsZSk7XG4gICAgICB0aXRsZS5hZGQoLi4uc3VibW9kdWxlcy5tYXAoKHMpID0+IG5ldyBTdWJtb2R1bGVOb2RlKHMsIG9wdGlvbnMpKSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudHlwZXMpIHtcbiAgICAgIGNvbnN0IHR5cGVzID0gbmV3IFRpdGxlTm9kZSgndHlwZXMnKTtcbiAgICAgIHRoaXMuYWRkKHR5cGVzKTtcbiAgICAgIHR5cGVzLmFkZCguLi5hc3NlbWJseS5jbGFzc2VzLm1hcCgoYykgPT4gbmV3IENsYXNzTm9kZShjLCBvcHRpb25zKSkpO1xuICAgICAgdHlwZXMuYWRkKFxuICAgICAgICAuLi5hc3NlbWJseS5pbnRlcmZhY2VzLm1hcCgoYykgPT4gbmV3IEludGVyZmFjZU5vZGUoYywgb3B0aW9ucykpLFxuICAgICAgKTtcbiAgICAgIHR5cGVzLmFkZCguLi5hc3NlbWJseS5lbnVtcy5tYXAoKGMpID0+IG5ldyBFbnVtTm9kZShjLCBvcHRpb25zKSkpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBTdWJtb2R1bGVOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN1Ym1vZHVsZTogU3VibW9kdWxlLCBvcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihjaGFsay5ncmVlbihzdWJtb2R1bGUubmFtZSkpO1xuXG4gICAgY29uc3Qgc3VibW9kdWxlcyA9IHN1Ym1vZHVsZS5zdWJtb2R1bGVzO1xuICAgIGlmIChzdWJtb2R1bGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRpdGxlID0gbmV3IFRpdGxlTm9kZSgnc3VibW9kdWxlcycpO1xuICAgICAgdGhpcy5hZGQodGl0bGUpO1xuICAgICAgdGl0bGUuYWRkKC4uLnN1Ym1vZHVsZXMubWFwKChzKSA9PiBuZXcgU3VibW9kdWxlTm9kZShzLCBvcHRpb25zKSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGVzKSB7XG4gICAgICBjb25zdCB0eXBlcyA9IG5ldyBUaXRsZU5vZGUoJ3R5cGVzJyk7XG4gICAgICB0aGlzLmFkZCh0eXBlcyk7XG4gICAgICB0eXBlcy5hZGQoLi4uc3VibW9kdWxlLmNsYXNzZXMubWFwKChjKSA9PiBuZXcgQ2xhc3NOb2RlKGMsIG9wdGlvbnMpKSk7XG4gICAgICB0eXBlcy5hZGQoXG4gICAgICAgIC4uLnN1Ym1vZHVsZS5pbnRlcmZhY2VzLm1hcCgoaSkgPT4gbmV3IEludGVyZmFjZU5vZGUoaSwgb3B0aW9ucykpLFxuICAgICAgKTtcbiAgICAgIHR5cGVzLmFkZCguLi5zdWJtb2R1bGUuZW51bXMubWFwKChlKSA9PiBuZXcgRW51bU5vZGUoZSwgb3B0aW9ucykpKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgTWV0aG9kTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXRob2Q6IE1ldGhvZCwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgY29uc3QgYXJncyA9IG1ldGhvZC5wYXJhbWV0ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5qb2luKCcsJyk7XG4gICAgc3VwZXIoXG4gICAgICBgJHttYXliZVN0YXRpYyhtZXRob2QpfSR7bWV0aG9kLm5hbWV9KCR7YXJnc30pICR7Y2hhbGsuZ3JheShcbiAgICAgICAgJ21ldGhvZCcsXG4gICAgICApfSR7ZGVzY3JpYmVTdGFiaWxpdHkobWV0aG9kLCBvcHRpb25zKX1gLFxuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5zaWduYXR1cmVzKSB7XG4gICAgICBpZiAobWV0aG9kLmFic3RyYWN0KSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnYWJzdHJhY3QnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXRob2QucHJvdGVjdGVkKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgncHJvdGVjdGVkJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0aG9kLnN0YXRpYykge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3N0YXRpYycpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1ldGhvZC52YXJpYWRpYykge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3ZhcmlhZGljJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0aG9kLnBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVGl0bGVOb2RlKCdwYXJhbWV0ZXJzJyk7XG4gICAgICAgIHRoaXMuYWRkKHBhcmFtcyk7XG4gICAgICAgIHBhcmFtcy5hZGQoXG4gICAgICAgICAgLi4ubWV0aG9kLnBhcmFtZXRlcnMubWFwKChwKSA9PiBuZXcgUGFyYW1ldGVyTm9kZShwLCBvcHRpb25zKSksXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkKFxuICAgICAgICBuZXcgT3B0aW9uYWxWYWx1ZU5vZGUoJ3JldHVybnMnLCBtZXRob2QucmV0dXJucywge1xuICAgICAgICAgIGFzUHJvbWlzZTogbWV0aG9kLmFzeW5jLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEluaXRpYWxpemVyTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsaXplcjogSW5pdGlhbGl6ZXIsIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucykge1xuICAgIGNvbnN0IGFyZ3MgPSBpbml0aWFsaXplci5wYXJhbWV0ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5qb2luKCcsJyk7XG4gICAgc3VwZXIoXG4gICAgICBgJHtpbml0aWFsaXplci5uYW1lfSgke2FyZ3N9KSAke2NoYWxrLmdyYXkoXG4gICAgICAgICdpbml0aWFsaXplcicsXG4gICAgICApfSR7ZGVzY3JpYmVTdGFiaWxpdHkoaW5pdGlhbGl6ZXIsIG9wdGlvbnMpfWAsXG4gICAgKTtcblxuICAgIGlmIChvcHRpb25zLnNpZ25hdHVyZXMpIHtcbiAgICAgIGlmIChpbml0aWFsaXplci5wcm90ZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEZsYWdOb2RlKCdwcm90ZWN0ZWQnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbml0aWFsaXplci52YXJpYWRpYykge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3ZhcmlhZGljJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBUaXRsZU5vZGUoJ3BhcmFtZXRlcnMnKTtcbiAgICAgICAgdGhpcy5hZGQocGFyYW1zKTtcbiAgICAgICAgcGFyYW1zLmFkZChcbiAgICAgICAgICAuLi5pbml0aWFsaXplci5wYXJhbWV0ZXJzLm1hcCgocCkgPT4gbmV3IFBhcmFtZXRlck5vZGUocCwgb3B0aW9ucykpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBQYXJhbWV0ZXJOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtOiBQYXJhbWV0ZXIsIF9vcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwYXJhbS5uYW1lKTtcblxuICAgIHRoaXMuYWRkKG5ldyBPcHRpb25hbFZhbHVlTm9kZSgndHlwZScsIHBhcmFtKSk7XG4gICAgaWYgKHBhcmFtLnZhcmlhZGljKSB7XG4gICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ3ZhcmlhZGljJykpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBQcm9wZXJ0eU5vZGUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJvcGVydHk6IFByb3BlcnR5LCBvcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIGAke21heWJlU3RhdGljKHByb3BlcnR5KX0ke3Byb3BlcnR5Lm5hbWV9ICR7Y2hhbGsuZ3JheShcbiAgICAgICAgJ3Byb3BlcnR5JyxcbiAgICAgICl9JHtkZXNjcmliZVN0YWJpbGl0eShwcm9wZXJ0eSwgb3B0aW9ucyl9YCxcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMuc2lnbmF0dXJlcykge1xuICAgICAgaWYgKHByb3BlcnR5LmFic3RyYWN0KSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnYWJzdHJhY3QnKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eS5jb25zdCkge1xuICAgICAgICB0aGlzLmFkZChuZXcgRmxhZ05vZGUoJ2NvbnN0JykpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHkuaW1tdXRhYmxlKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnaW1tdXRhYmxlJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHkucHJvdGVjdGVkKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgncHJvdGVjdGVkJykpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHkuc3RhdGljKSB7XG4gICAgICAgIHRoaXMuYWRkKG5ldyBGbGFnTm9kZSgnc3RhdGljJykpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZChuZXcgT3B0aW9uYWxWYWx1ZU5vZGUoJ3R5cGUnLCBwcm9wZXJ0eSkpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBPcHRpb25hbFZhbHVlTm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uYWxWYWx1ZTogT3B0aW9uYWxWYWx1ZSxcbiAgICB7IGFzUHJvbWlzZSB9ID0geyBhc1Byb21pc2U6IGZhbHNlIH0sXG4gICkge1xuICAgIGxldCB0eXBlID0gT3B0aW9uYWxWYWx1ZS5kZXNjcmliZShvcHRpb25hbFZhbHVlKTtcbiAgICBpZiAoYXNQcm9taXNlKSB7XG4gICAgICB0eXBlID0gYFByb21pc2U8JHt0eXBlfT5gO1xuICAgIH1cbiAgICBzdXBlcihgJHtjaGFsay51bmRlcmxpbmUobmFtZSl9OiAke3R5cGV9YCk7XG4gIH1cbn1cblxuY2xhc3MgQ2xhc3NOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHR5cGU6IENsYXNzVHlwZSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBgJHtjaGFsay5ncmF5KCdjbGFzcycpfSAke2NoYWxrLmN5YW4odHlwZS5uYW1lKX0ke2Rlc2NyaWJlU3RhYmlsaXR5KFxuICAgICAgICB0eXBlLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKX1gLFxuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5pbmhlcml0YW5jZSAmJiB0eXBlLmJhc2UpIHtcbiAgICAgIHRoaXMuYWRkKG5ldyBLZXlWYWx1ZU5vZGUoJ2Jhc2UnLCB0eXBlLmJhc2UubmFtZSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluaGVyaXRhbmNlICYmIHR5cGUuaW50ZXJmYWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFkZChcbiAgICAgICAgbmV3IEtleVZhbHVlTm9kZShcbiAgICAgICAgICAnaW50ZXJmYWNlcycsXG4gICAgICAgICAgdHlwZS5pbnRlcmZhY2VzLm1hcCgoaSkgPT4gaS5uYW1lKS5qb2luKCcsJyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLm1lbWJlcnMpIHtcbiAgICAgIGNvbnN0IG1lbWJlcnMgPSBuZXcgVGl0bGVOb2RlKCdtZW1iZXJzJyk7XG4gICAgICB0aGlzLmFkZChtZW1iZXJzKTtcbiAgICAgIGlmICh0eXBlLmluaXRpYWxpemVyKSB7XG4gICAgICAgIG1lbWJlcnMuYWRkKG5ldyBJbml0aWFsaXplck5vZGUodHlwZS5pbml0aWFsaXplciwgb3B0aW9ucykpO1xuICAgICAgfVxuICAgICAgbWVtYmVycy5hZGQoLi4udHlwZS5vd25NZXRob2RzLm1hcCgobSkgPT4gbmV3IE1ldGhvZE5vZGUobSwgb3B0aW9ucykpKTtcbiAgICAgIG1lbWJlcnMuYWRkKFxuICAgICAgICAuLi50eXBlLm93blByb3BlcnRpZXMubWFwKChwKSA9PiBuZXcgUHJvcGVydHlOb2RlKHAsIG9wdGlvbnMpKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEludGVyZmFjZU5vZGUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IodHlwZTogSW50ZXJmYWNlVHlwZSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBgJHtjaGFsay5ncmF5KCdpbnRlcmZhY2UnKX0gJHtjaGFsay5jeWFuKHR5cGUubmFtZSl9JHtkZXNjcmliZVN0YWJpbGl0eShcbiAgICAgICAgdHlwZSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICl9YCxcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMuaW5oZXJpdGFuY2UgJiYgdHlwZS5pbnRlcmZhY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGludGVyZmFjZXMgPSBuZXcgVGl0bGVOb2RlKCdpbnRlcmZhY2VzJyk7XG4gICAgICB0aGlzLmFkZChpbnRlcmZhY2VzKTtcbiAgICAgIGludGVyZmFjZXMuYWRkKC4uLnR5cGUuaW50ZXJmYWNlcy5tYXAoKGkpID0+IG5ldyBUZXh0Tm9kZShpLm5hbWUpKSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWVtYmVycykge1xuICAgICAgY29uc3QgbWVtYmVycyA9IG5ldyBUaXRsZU5vZGUoJ21lbWJlcnMnKTtcbiAgICAgIG1lbWJlcnMuYWRkKC4uLnR5cGUub3duTWV0aG9kcy5tYXAoKG0pID0+IG5ldyBNZXRob2ROb2RlKG0sIG9wdGlvbnMpKSk7XG4gICAgICBtZW1iZXJzLmFkZChcbiAgICAgICAgLi4udHlwZS5vd25Qcm9wZXJ0aWVzLm1hcCgocCkgPT4gbmV3IFByb3BlcnR5Tm9kZShwLCBvcHRpb25zKSksXG4gICAgICApO1xuICAgICAgdGhpcy5hZGQobWVtYmVycyk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEVudW1Ob2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGVudW1UeXBlOiBFbnVtVHlwZSwgb3B0aW9uczogVHlwZVN5c3RlbVRyZWVPcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBgJHtjaGFsay5ncmF5KCdlbnVtJyl9ICR7Y2hhbGsuY3lhbihlbnVtVHlwZS5uYW1lKX0ke2Rlc2NyaWJlU3RhYmlsaXR5KFxuICAgICAgICBlbnVtVHlwZSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICl9YCxcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMubWVtYmVycykge1xuICAgICAgZW51bVR5cGUubWVtYmVycy5mb3JFYWNoKChtZW0pID0+IHtcbiAgICAgICAgdGhpcy5hZGQobmV3IEFzY2lpVHJlZShtZW0ubmFtZSArIGRlc2NyaWJlU3RhYmlsaXR5KG1lbSwgb3B0aW9ucykpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBEZXBlbmRlbmN5Tm9kZSBleHRlbmRzIEFzY2lpVHJlZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihkZXA6IERlcGVuZGVuY3ksIF9vcHRpb25zOiBUeXBlU3lzdGVtVHJlZU9wdGlvbnMpIHtcbiAgICBzdXBlcihkZXAuYXNzZW1ibHkubmFtZSk7XG4gIH1cbn1cblxuY2xhc3MgVGl0bGVOb2RlIGV4dGVuZHMgQXNjaWlUcmVlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgY2hpbGRyZW46IEFzY2lpVHJlZVtdID0gW10pIHtcbiAgICBzdXBlcihjaGFsay51bmRlcmxpbmUobmFtZSksIC4uLmNoaWxkcmVuKTtcbiAgfVxufVxuXG5jbGFzcyBLZXlWYWx1ZU5vZGUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBzdXBlcihgJHtjaGFsay51bmRlcmxpbmUoa2V5KX06ICR7dmFsdWV9YCk7XG4gIH1cbn1cblxuY2xhc3MgVGV4dE5vZGUgZXh0ZW5kcyBBc2NpaVRyZWUge31cblxuY2xhc3MgRmxhZ05vZGUgZXh0ZW5kcyBBc2NpaVRyZWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoZmxhZzogc3RyaW5nKSB7XG4gICAgc3VwZXIoY2hhbGsuaXRhbGljKGZsYWcpKTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZXMgYGJsb2NrYCB3aXRoIGNvbG9ycyBlbmFibGVkL2Rpc2FibGVkIGFuZCByZXZlcnRzIHRvIG9sZCB2YWx1ZSBhZnRlcndhcmRzLlxuICovXG5mdW5jdGlvbiB3aXRoQ29sb3JzKGVuYWJsZWQ6IGJvb2xlYW4sIGJsb2NrOiAoKSA9PiB2b2lkKSB7XG4gIGNvbnN0IG9sZExldmVsID0gY2hhbGsubGV2ZWw7XG4gIHRyeSB7XG4gICAgaWYgKCFlbmFibGVkKSB7XG4gICAgICBjaGFsay5sZXZlbCA9IDA7IC8vIE5vIGNvbG9ycyBhdCBhbGxcbiAgICB9XG5cbiAgICBibG9jaygpO1xuICB9IGZpbmFsbHkge1xuICAgIGNoYWxrLmxldmVsID0gb2xkTGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVTdGFiaWxpdHkoXG4gIHRoaW5nOiBEb2N1bWVudGFibGUsXG4gIG9wdGlvbnM6IFR5cGVTeXN0ZW1UcmVlT3B0aW9ucyxcbikge1xuICBpZiAoIW9wdGlvbnMuc3RhYmlsaXRpZXMgfHwgdGhpbmcuZG9jcy5zdGFiaWxpdHkgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHN3aXRjaCAodGhpbmcuZG9jcy5zdGFiaWxpdHkpIHtcbiAgICBjYXNlIFN0YWJpbGl0eS5TdGFibGU6XG4gICAgICByZXR1cm4gYCAoJHtjaGFsay5ncmVlbignc3RhYmxlJyl9KWA7XG4gICAgY2FzZSBTdGFiaWxpdHkuRXh0ZXJuYWw6XG4gICAgICByZXR1cm4gYCAoJHtjaGFsay5ncmVlbignZXh0ZXJuYWwnKX0pYDtcbiAgICBjYXNlIFN0YWJpbGl0eS5FeHBlcmltZW50YWw6XG4gICAgICByZXR1cm4gYCAoJHtjaGFsay55ZWxsb3coJ2V4cGVyaW1lbnRhbCcpfSlgO1xuICAgIGNhc2UgU3RhYmlsaXR5LkRlcHJlY2F0ZWQ6XG4gICAgICByZXR1cm4gYCAoJHtjaGFsay5yZWQoJ2RlcHJlY2F0ZWQnKX0pYDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1heWJlU3RhdGljKG1lbTogUHJvcGVydHkgfCBNZXRob2QpIHtcbiAgbGV0IGlzU3RhdGljO1xuICBpZiAobWVtIGluc3RhbmNlb2YgUHJvcGVydHkpIHtcbiAgICBpc1N0YXRpYyA9ICEhbWVtLnN0YXRpYztcbiAgfVxuICBpZiAobWVtIGluc3RhbmNlb2YgTWV0aG9kKSB7XG4gICAgaXNTdGF0aWMgPSAhIW1lbS5zdGF0aWM7XG4gIH1cblxuICByZXR1cm4gaXNTdGF0aWMgPyBgJHtjaGFsay5ncmV5KCdzdGF0aWMnKX0gYCA6ICcnO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsii-reflect",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.55.0",
|
|
4
4
|
"description": "strongly-typed reflection library and tools for jsii",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -34,22 +34,22 @@
|
|
|
34
34
|
"package": "package-js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@jsii/check-node": "1.
|
|
38
|
-
"@jsii/spec": "^1.
|
|
39
|
-
"
|
|
37
|
+
"@jsii/check-node": "1.55.0",
|
|
38
|
+
"@jsii/spec": "^1.55.0",
|
|
39
|
+
"chalk": "^4",
|
|
40
40
|
"fs-extra": "^9.1.0",
|
|
41
|
-
"oo-ascii-tree": "^1.
|
|
41
|
+
"oo-ascii-tree": "^1.55.0",
|
|
42
42
|
"yargs": "^16.2.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@scope/jsii-calc-lib": "^1.
|
|
45
|
+
"@scope/jsii-calc-lib": "^1.55.0",
|
|
46
46
|
"@types/fs-extra": "^9.0.13",
|
|
47
|
-
"@types/jest": "^27.
|
|
48
|
-
"@types/node": "^12.20.
|
|
49
|
-
"eslint": "^8.
|
|
50
|
-
"jest": "^27.
|
|
51
|
-
"jsii": "^1.
|
|
52
|
-
"jsii-build-tools": "^1.
|
|
47
|
+
"@types/jest": "^27.4.1",
|
|
48
|
+
"@types/node": "^12.20.46",
|
|
49
|
+
"eslint": "^8.10.0",
|
|
50
|
+
"jest": "^27.5.1",
|
|
51
|
+
"jsii": "^1.55.0",
|
|
52
|
+
"jsii-build-tools": "^1.55.0",
|
|
53
53
|
"jsii-calc": "^3.20.120",
|
|
54
54
|
"prettier": "^2.5.1",
|
|
55
55
|
"typescript": "~3.9.10"
|
|
@@ -718,6 +718,14 @@ exports[`jsii-tree --all 1`] = `
|
|
|
718
718
|
│ │ │ └── returns: void
|
|
719
719
|
│ │ └─┬ methodTwo() method (stable)
|
|
720
720
|
│ │ └── returns: void
|
|
721
|
+
│ ├─┬ class BaseClass (stable)
|
|
722
|
+
│ │ └─┬ members
|
|
723
|
+
│ │ ├── <initializer>() initializer (stable)
|
|
724
|
+
│ │ ├─┬ method() method (stable)
|
|
725
|
+
│ │ │ └── returns: number
|
|
726
|
+
│ │ └─┬ property property (stable)
|
|
727
|
+
│ │ ├── immutable
|
|
728
|
+
│ │ └── type: string
|
|
721
729
|
│ ├─┬ class BaseJsii976 (stable)
|
|
722
730
|
│ │ └─┬ members
|
|
723
731
|
│ │ └── <initializer>() initializer (stable)
|
|
@@ -1252,6 +1260,10 @@ exports[`jsii-tree --all 1`] = `
|
|
|
1252
1260
|
│ │ │ └── type: string
|
|
1253
1261
|
│ │ └─┬ mutableProperty property (stable)
|
|
1254
1262
|
│ │ └── type: Optional<number>
|
|
1263
|
+
│ ├─┬ class FullCombo (stable)
|
|
1264
|
+
│ │ ├── base: BaseClass
|
|
1265
|
+
│ │ ├── interfaces: IIndirectlyImplemented
|
|
1266
|
+
│ │ └── members
|
|
1255
1267
|
│ ├─┬ class GiveMeStructs (stable)
|
|
1256
1268
|
│ │ └─┬ members
|
|
1257
1269
|
│ │ ├── <initializer>() initializer (stable)
|
|
@@ -2612,6 +2624,15 @@ exports[`jsii-tree --all 1`] = `
|
|
|
2612
2624
|
│ │ │ ├── IRandomNumberGenerator
|
|
2613
2625
|
│ │ │ └── IFriendly
|
|
2614
2626
|
│ │ └── members
|
|
2627
|
+
│ ├─┬ interface IIndirectlyImplemented (stable)
|
|
2628
|
+
│ │ └─┬ members
|
|
2629
|
+
│ │ ├─┬ method() method (stable)
|
|
2630
|
+
│ │ │ ├── abstract
|
|
2631
|
+
│ │ │ └── returns: number
|
|
2632
|
+
│ │ └─┬ property property (stable)
|
|
2633
|
+
│ │ ├── abstract
|
|
2634
|
+
│ │ ├── immutable
|
|
2635
|
+
│ │ └── type: string
|
|
2615
2636
|
│ ├─┬ interface IInterfaceImplementedByAbstractClass (stable)
|
|
2616
2637
|
│ │ └─┬ members
|
|
2617
2638
|
│ │ └─┬ propFromInterface property (stable)
|
|
@@ -3416,6 +3437,7 @@ exports[`jsii-tree --inheritance 1`] = `
|
|
|
3416
3437
|
│ │ └── interfaces: IAnonymousImplementationProvider
|
|
3417
3438
|
│ ├── class AsyncVirtualMethods
|
|
3418
3439
|
│ ├── class AugmentableClass
|
|
3440
|
+
│ ├── class BaseClass
|
|
3419
3441
|
│ ├── class BaseJsii976
|
|
3420
3442
|
│ ├─┬ class Bell
|
|
3421
3443
|
│ │ └── interfaces: IBell
|
|
@@ -3463,6 +3485,9 @@ exports[`jsii-tree --inheritance 1`] = `
|
|
|
3463
3485
|
│ ├── class ExperimentalClass
|
|
3464
3486
|
│ ├── class ExportedBaseClass
|
|
3465
3487
|
│ ├── class ExternalClass
|
|
3488
|
+
│ ├─┬ class FullCombo
|
|
3489
|
+
│ │ ├── base: BaseClass
|
|
3490
|
+
│ │ └── interfaces: IIndirectlyImplemented
|
|
3466
3491
|
│ ├── class GiveMeStructs
|
|
3467
3492
|
│ ├── class GreetingAugmenter
|
|
3468
3493
|
│ ├── class ImplementInternalInterface
|
|
@@ -3607,6 +3632,7 @@ exports[`jsii-tree --inheritance 1`] = `
|
|
|
3607
3632
|
│ │ └─┬ interfaces
|
|
3608
3633
|
│ │ ├── IRandomNumberGenerator
|
|
3609
3634
|
│ │ └── IFriendly
|
|
3635
|
+
│ ├── interface IIndirectlyImplemented
|
|
3610
3636
|
│ ├── interface IInterfaceImplementedByAbstractClass
|
|
3611
3637
|
│ ├─┬ interface IInterfaceThatShouldNotBeADataType
|
|
3612
3638
|
│ │ └─┬ interfaces
|
|
@@ -4098,6 +4124,11 @@ exports[`jsii-tree --members 1`] = `
|
|
|
4098
4124
|
│ │ ├── <initializer>() initializer
|
|
4099
4125
|
│ │ ├── methodOne() method
|
|
4100
4126
|
│ │ └── methodTwo() method
|
|
4127
|
+
│ ├─┬ class BaseClass
|
|
4128
|
+
│ │ └─┬ members
|
|
4129
|
+
│ │ ├── <initializer>() initializer
|
|
4130
|
+
│ │ ├── method() method
|
|
4131
|
+
│ │ └── property property
|
|
4101
4132
|
│ ├─┬ class BaseJsii976
|
|
4102
4133
|
│ │ └─┬ members
|
|
4103
4134
|
│ │ └── <initializer>() initializer
|
|
@@ -4312,6 +4343,8 @@ exports[`jsii-tree --members 1`] = `
|
|
|
4312
4343
|
│ │ ├── method() method
|
|
4313
4344
|
│ │ ├── readonlyProperty property
|
|
4314
4345
|
│ │ └── mutableProperty property
|
|
4346
|
+
│ ├─┬ class FullCombo
|
|
4347
|
+
│ │ └── members
|
|
4315
4348
|
│ ├─┬ class GiveMeStructs
|
|
4316
4349
|
│ │ └─┬ members
|
|
4317
4350
|
│ │ ├── <initializer>() initializer
|
|
@@ -4908,6 +4941,10 @@ exports[`jsii-tree --members 1`] = `
|
|
|
4908
4941
|
│ │ └── goodbye() method
|
|
4909
4942
|
│ ├─┬ interface IFriendlyRandomGenerator
|
|
4910
4943
|
│ │ └── members
|
|
4944
|
+
│ ├─┬ interface IIndirectlyImplemented
|
|
4945
|
+
│ │ └─┬ members
|
|
4946
|
+
│ │ ├── method() method
|
|
4947
|
+
│ │ └── property property
|
|
4911
4948
|
│ ├─┬ interface IInterfaceImplementedByAbstractClass
|
|
4912
4949
|
│ │ └─┬ members
|
|
4913
4950
|
│ │ └── propFromInterface property
|
|
@@ -5397,6 +5434,7 @@ exports[`jsii-tree --types 1`] = `
|
|
|
5397
5434
|
│ ├── class AnonymousImplementationProvider
|
|
5398
5435
|
│ ├── class AsyncVirtualMethods
|
|
5399
5436
|
│ ├── class AugmentableClass
|
|
5437
|
+
│ ├── class BaseClass
|
|
5400
5438
|
│ ├── class BaseJsii976
|
|
5401
5439
|
│ ├── class Bell
|
|
5402
5440
|
│ ├── class BinaryOperation
|
|
@@ -5435,6 +5473,7 @@ exports[`jsii-tree --types 1`] = `
|
|
|
5435
5473
|
│ ├── class ExperimentalClass
|
|
5436
5474
|
│ ├── class ExportedBaseClass
|
|
5437
5475
|
│ ├── class ExternalClass
|
|
5476
|
+
│ ├── class FullCombo
|
|
5438
5477
|
│ ├── class GiveMeStructs
|
|
5439
5478
|
│ ├── class GreetingAugmenter
|
|
5440
5479
|
│ ├── class ImplementInternalInterface
|
|
@@ -5543,6 +5582,7 @@ exports[`jsii-tree --types 1`] = `
|
|
|
5543
5582
|
│ ├── interface IExternalInterface
|
|
5544
5583
|
│ ├── interface IFriendlier
|
|
5545
5584
|
│ ├── interface IFriendlyRandomGenerator
|
|
5585
|
+
│ ├── interface IIndirectlyImplemented
|
|
5546
5586
|
│ ├── interface IInterfaceImplementedByAbstractClass
|
|
5547
5587
|
│ ├── interface IInterfaceThatShouldNotBeADataType
|
|
5548
5588
|
│ ├── interface IInterfaceWithInternal
|
|
@@ -868,6 +868,14 @@ exports[`showAll 1`] = `
|
|
|
868
868
|
│ │ │ └── returns: void
|
|
869
869
|
│ │ └─┬ methodTwo() method
|
|
870
870
|
│ │ └── returns: void
|
|
871
|
+
│ ├─┬ class BaseClass
|
|
872
|
+
│ │ └─┬ members
|
|
873
|
+
│ │ ├── <initializer>() initializer
|
|
874
|
+
│ │ ├─┬ method() method
|
|
875
|
+
│ │ │ └── returns: number
|
|
876
|
+
│ │ └─┬ property property
|
|
877
|
+
│ │ ├── immutable
|
|
878
|
+
│ │ └── type: string
|
|
871
879
|
│ ├─┬ class BaseJsii976
|
|
872
880
|
│ │ └─┬ members
|
|
873
881
|
│ │ └── <initializer>() initializer
|
|
@@ -1402,6 +1410,10 @@ exports[`showAll 1`] = `
|
|
|
1402
1410
|
│ │ │ └── type: string
|
|
1403
1411
|
│ │ └─┬ mutableProperty property
|
|
1404
1412
|
│ │ └── type: Optional<number>
|
|
1413
|
+
│ ├─┬ class FullCombo
|
|
1414
|
+
│ │ ├── base: BaseClass
|
|
1415
|
+
│ │ ├── interfaces: IIndirectlyImplemented
|
|
1416
|
+
│ │ └── members
|
|
1405
1417
|
│ ├─┬ class GiveMeStructs
|
|
1406
1418
|
│ │ └─┬ members
|
|
1407
1419
|
│ │ ├── <initializer>() initializer
|
|
@@ -2762,6 +2774,15 @@ exports[`showAll 1`] = `
|
|
|
2762
2774
|
│ │ │ ├── IRandomNumberGenerator
|
|
2763
2775
|
│ │ │ └── IFriendly
|
|
2764
2776
|
│ │ └── members
|
|
2777
|
+
│ ├─┬ interface IIndirectlyImplemented
|
|
2778
|
+
│ │ └─┬ members
|
|
2779
|
+
│ │ ├─┬ method() method
|
|
2780
|
+
│ │ │ ├── abstract
|
|
2781
|
+
│ │ │ └── returns: number
|
|
2782
|
+
│ │ └─┬ property property
|
|
2783
|
+
│ │ ├── abstract
|
|
2784
|
+
│ │ ├── immutable
|
|
2785
|
+
│ │ └── type: string
|
|
2765
2786
|
│ ├─┬ interface IInterfaceImplementedByAbstractClass
|
|
2766
2787
|
│ │ └─┬ members
|
|
2767
2788
|
│ │ └─┬ propFromInterface property
|
|
@@ -3579,6 +3600,7 @@ exports[`types 1`] = `
|
|
|
3579
3600
|
│ ├── class AnonymousImplementationProvider
|
|
3580
3601
|
│ ├── class AsyncVirtualMethods
|
|
3581
3602
|
│ ├── class AugmentableClass
|
|
3603
|
+
│ ├── class BaseClass
|
|
3582
3604
|
│ ├── class BaseJsii976
|
|
3583
3605
|
│ ├── class Bell
|
|
3584
3606
|
│ ├── class BinaryOperation
|
|
@@ -3617,6 +3639,7 @@ exports[`types 1`] = `
|
|
|
3617
3639
|
│ ├── class ExperimentalClass
|
|
3618
3640
|
│ ├── class ExportedBaseClass
|
|
3619
3641
|
│ ├── class ExternalClass
|
|
3642
|
+
│ ├── class FullCombo
|
|
3620
3643
|
│ ├── class GiveMeStructs
|
|
3621
3644
|
│ ├── class GreetingAugmenter
|
|
3622
3645
|
│ ├── class ImplementInternalInterface
|
|
@@ -3725,6 +3748,7 @@ exports[`types 1`] = `
|
|
|
3725
3748
|
│ ├── interface IExternalInterface
|
|
3726
3749
|
│ ├── interface IFriendlier
|
|
3727
3750
|
│ ├── interface IFriendlyRandomGenerator
|
|
3751
|
+
│ ├── interface IIndirectlyImplemented
|
|
3728
3752
|
│ ├── interface IInterfaceImplementedByAbstractClass
|
|
3729
3753
|
│ ├── interface IInterfaceThatShouldNotBeADataType
|
|
3730
3754
|
│ ├── interface IInterfaceWithInternal
|
|
@@ -33,6 +33,7 @@ Array [
|
|
|
33
33
|
"jsii-calc.AnonymousImplementationProvider",
|
|
34
34
|
"jsii-calc.AsyncVirtualMethods",
|
|
35
35
|
"jsii-calc.AugmentableClass",
|
|
36
|
+
"jsii-calc.BaseClass",
|
|
36
37
|
"jsii-calc.BaseJsii976",
|
|
37
38
|
"jsii-calc.Bell",
|
|
38
39
|
"jsii-calc.BinaryOperation",
|
|
@@ -73,6 +74,7 @@ Array [
|
|
|
73
74
|
"jsii-calc.ExperimentalClass",
|
|
74
75
|
"jsii-calc.ExportedBaseClass",
|
|
75
76
|
"jsii-calc.ExternalClass",
|
|
77
|
+
"jsii-calc.FullCombo",
|
|
76
78
|
"jsii-calc.GiveMeStructs",
|
|
77
79
|
"jsii-calc.GreetingAugmenter",
|
|
78
80
|
"jsii-calc.ImplementInternalInterface",
|
package/test/jsii-tree.test.js
CHANGED
|
@@ -15,7 +15,7 @@ async function jsiiTree(...args) {
|
|
|
15
15
|
process.execPath,
|
|
16
16
|
...process.execArgv,
|
|
17
17
|
path.join(__dirname, '..', 'bin', 'jsii-tree'),
|
|
18
|
-
args
|
|
18
|
+
...args,
|
|
19
19
|
'--no-colors',
|
|
20
20
|
path.dirname(require.resolve('jsii-calc/package.json')),
|
|
21
21
|
].join(' ');
|
|
@@ -25,4 +25,4 @@ async function jsiiTree(...args) {
|
|
|
25
25
|
}
|
|
26
26
|
return stdout;
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS10cmVlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqc2lpLXRyZWUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUE4QztBQUM5Qyw2QkFBNkI7QUFDN0IsK0JBQWlDO0FBRWpDLE1BQU0sSUFBSSxHQUFHLGdCQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFdkUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFeEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUM3QixNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFMUQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxDQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFNUQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxDQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFaEUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFL0QsS0FBSyxVQUFVLFFBQVEsQ0FBQyxHQUFHLElBQWM7SUFDdkMsTUFBTSxPQUFPLEdBQUc7UUFDZCxPQUFPLENBQUMsUUFBUTtRQUNoQixHQUFHLE9BQU8sQ0FBQyxRQUFRO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzlDLEdBQUcsSUFBSTtRQUNQLGFBQWE7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUN4RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVaLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0MsSUFBSSxNQUFNLEVBQUU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcblxuY29uc3QgZXhlYyA9IHByb21pc2lmeShjaGlsZFByb2Nlc3MuZXhlYyk7XG5cbnRlc3QoJ2pzaWktdHJlZScsICgpID0+IGV4cGVjdChqc2lpVHJlZSgpKS5yZXNvbHZlcy50b01hdGNoU25hcHNob3QoKSk7XG5cbnRlc3QoJ2pzaWktdHJlZSAtLWFsbCcsICgpID0+XG4gIGV4cGVjdChqc2lpVHJlZSgnLS1hbGwnKSkucmVzb2x2ZXMudG9NYXRjaFNuYXBzaG90KCkpO1xuXG50ZXN0KCdqc2lpLXRyZWUgLS10eXBlcycsICgpID0+XG4gIGV4cGVjdChqc2lpVHJlZSgnLS10eXBlcycpKS5yZXNvbHZlcy50b01hdGNoU25hcHNob3QoKSk7XG5cbnRlc3QoJ2pzaWktdHJlZSAtLW1lbWJlcnMnLCAoKSA9PlxuICBleHBlY3QoanNpaVRyZWUoJy0tbWVtYmVycycpKS5yZXNvbHZlcy50b01hdGNoU25hcHNob3QoKSk7XG5cbnRlc3QoJ2pzaWktdHJlZSAtLWluaGVyaXRhbmNlJywgKCkgPT5cbiAgZXhwZWN0KGpzaWlUcmVlKCctLWluaGVyaXRhbmNlJykpLnJlc29sdmVzLnRvTWF0Y2hTbmFwc2hvdCgpKTtcblxudGVzdCgnanNpaS10cmVlIC0tc2lnbmF0dXJlcycsICgpID0+XG4gIGV4cGVjdChqc2lpVHJlZSgnLS1zaWduYXR1cmVzJykpLnJlc29sdmVzLnRvTWF0Y2hTbmFwc2hvdCgpKTtcblxuYXN5bmMgZnVuY3Rpb24ganNpaVRyZWUoLi4uYXJnczogc3RyaW5nW10pIHtcbiAgY29uc3QgY29tbWFuZCA9IFtcbiAgICBwcm9jZXNzLmV4ZWNQYXRoLFxuICAgIC4uLnByb2Nlc3MuZXhlY0FyZ3YsXG4gICAgcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ2JpbicsICdqc2lpLXRyZWUnKSxcbiAgICAuLi5hcmdzLFxuICAgICctLW5vLWNvbG9ycycsXG4gICAgcGF0aC5kaXJuYW1lKHJlcXVpcmUucmVzb2x2ZSgnanNpaS1jYWxjL3BhY2thZ2UuanNvbicpKSxcbiAgXS5qb2luKCcgJyk7XG5cbiAgY29uc3QgeyBzdGRvdXQsIHN0ZGVyciB9ID0gYXdhaXQgZXhlYyhjb21tYW5kKTtcblxuICBpZiAoc3RkZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihzdGRlcnIpO1xuICB9XG5cbiAgcmV0dXJuIHN0ZG91dDtcbn1cbiJdfQ==
|