gitlab-ci-local 4.64.1 → 4.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -11
- package/src/argv.js +7 -3
- package/src/commander.js +2 -2
- package/src/data-expander.js +2 -2
- package/src/executor.js +2 -2
- package/src/git-data.js +2 -2
- package/src/global.js +2 -2
- package/src/handler.js +14 -2
- package/src/index.js +8 -3
- package/src/job.js +39 -9
- package/src/parser-includes.js +2 -2
- package/src/parser.js +2 -2
- package/src/utils.js +101 -7
- package/src/validator.js +2 -2
- package/src/variables-from-files.js +2 -2
package/src/executor.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
1
|
+
import chalk from "chalk-template";
|
|
2
2
|
import assert, { AssertionError } from "assert";
|
|
3
3
|
import pMap from "p-map";
|
|
4
4
|
export class Executor {
|
|
@@ -101,4 +101,4 @@ export class Executor {
|
|
|
101
101
|
return previousToWaitFor;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxNQUFNLEVBQUUsRUFBQyxjQUFjLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFOUMsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBRXpCLE1BQU0sT0FBTyxRQUFRO0lBRWpCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFFLElBQVUsRUFBRSxJQUF3QixFQUFFLE1BQXlCLEVBQUUsaUJBQXdCO1FBQzNHLElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUV6QixHQUFHLENBQUM7WUFDQSxlQUFlLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVGLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLGNBQW1CLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckUsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO1lBQ25HLENBQUM7UUFDTCxDQUFDLFFBQVEsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBRSxJQUF3QixFQUFFLE1BQXlCLEVBQUUsaUJBQWlDLEVBQUUsT0FBaUI7UUFDaEksTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTNCLEtBQUssTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFNLGlCQUFp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QyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM3QixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQge0pvYn0gZnJvbSBcIi4vam9iLmpzXCI7XG5pbXBvcnQgYXNzZXJ0LCB7QXNzZXJ0aW9uRXJyb3J9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7QXJndn0gZnJvbSBcIi4vYXJndi5qc1wiO1xuaW1wb3J0IHBNYXAgZnJvbSBcInAtbWFwXCI7XG5cbmV4cG9ydCBjbGFzcyBFeGVjdXRvciB7XG5cbiAgICBzdGF0aWMgYXN5bmMgcnVuTG9vcCAoYXJndjogQXJndiwgam9iczogUmVhZG9ubHlBcnJheTxKb2I+LCBzdGFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdLCBwb3RlbnRpYWxTdGFydGVyczogSm9iW10pIHtcbiAgICAgICAgbGV0IHN0YXJ0Q2FuZGlkYXRlcyA9IFtdO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIHN0YXJ0Q2FuZGlkYXRlcyA9IEV4ZWN1dG9yLmdldFN0YXJ0Q2FuZGlkYXRlcyhqb2JzLCBzdGFnZXMsIHBvdGVudGlhbFN0YXJ0ZXJzLCBhcmd2Lm1hbnVhbCk7XG4gICAgICAgICAgICBpZiAoc3RhcnRDYW5kaWRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZXIgPSBhc3luYyAoc3RhcnRDYW5kaWRhdGU6IEpvYikgPT4gc3RhcnRDYW5kaWRhdGUuc3RhcnQoKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBwTWFwKHN0YXJ0Q2FuZGlkYXRlcywgbWFwcGVyLCB7Y29uY3VycmVuY3k6IGFyZ3YuY29uY3VycmVuY3kgPz8gc3RhcnRDYW5kaWRhdGVzLmxlbmd0aH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlIChzdGFydENhbmRpZGF0ZXMubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFN0YXJ0Q2FuZGlkYXRlcyAoam9iczogUmVhZG9ubHlBcnJheTxKb2I+LCBzdGFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdLCBwb3RlbnRpYWxTdGFydGVyczogcmVhZG9ubHkgSm9iW10sIG1hbnVhbHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0Q2FuZGlkYXRlcyA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3Qgam9iIG9mIFsuLi5uZXcgU2V0PEpvYj4ocG90ZW50aWFsU3RhcnRlcnMpXSkge1xuICAgICAgICAgICAgaWYgKGpvYi5zdGFydGVkKSBjb250aW51ZTtcblxuICAgICAgICAgICAgY29uc3Qgam9ic1RvV2FpdEZvciA9IEV4ZWN1dG9yLmdldFBhc3RUb1dhaXRGb3Ioam9icywgc3RhZ2VzLCBqb2IsIG1hbnVhbHMpO1xuICAgICAgICAgICAgaWYgKEV4ZWN1dG9yLmlzTm90RmluaXNoZWQoam9ic1RvV2FpdEZvcikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChqb2Iud2hlbiA9PT0gXCJvbl9zdWNjZXNzXCIgJiYgRXhlY3V0b3IuaXNQYXN0RmFpbGVkKGpvYnNUb1dhaXRGb3IpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoam9iLndoZW4gPT09IFwibWFudWFsXCIgJiYgRXhlY3V0b3IuaXNQYXN0RmFpbGVkKGpvYnNUb1dhaXRGb3IpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoam9iLndoZW4gPT09IFwib25fZmFpbHVyZVwiICYmICFFeGVjdXRvci5pc1Bhc3RGYWlsZWQoam9ic1RvV2FpdEZvcikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3RhcnRDYW5kaWRhdGVzLnB1c2goam9iKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RhcnRDYW5kaWRhdGVzO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc1Bhc3RGYWlsZWQgKGpvYnNUb1dhaXRGb3I6IFJlYWRvbmx5QXJyYXk8Sm9iPikge1xuICAgICAgICBjb25zdCBmYWlsSm9icyA9IGpvYnNUb1dhaXRGb3IuZmlsdGVyKGogPT4ge1xuICAgICAgICAgICAgaWYgKGouYWxsb3dGYWlsdXJlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChqLnByZVNjcmlwdHNFeGl0Q29kZSA/IGoucHJlU2NyaXB0c0V4aXRDb2RlIDogMCkgPiAwO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZhaWxKb2JzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzTm90RmluaXNoZWQgKGpvYnNUb1dhaXRGb3I6IFJlYWRvbmx5QXJyYXk8Sm9iPikge1xuICAgICAgICBjb25zdCBub3RGaW5pc2hlZEpvYnMgPSBqb2JzVG9XYWl0Rm9yLmZpbHRlcihqID0+ICFqLmZpbmlzaGVkKTtcbiAgICAgICAgcmV0dXJuIG5vdEZpbmlzaGVkSm9icy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRGYWlsZWQgKGpvYnM6IFJlYWRvbmx5QXJyYXk8Sm9iPikge1xuICAgICAgICByZXR1cm4gam9icy5maWx0ZXIoaiA9PiBqLmZpbmlzaGVkICYmICFqLmFsbG93RmFpbHVyZSAmJiAoai5wcmVTY3JpcHRzRXhpdENvZGUgPz8gMCkgPiAwKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0UGFzdFRvV2FpdEZvciAoam9iczogUmVhZG9ubHlBcnJheTxKb2I+LCBzdGFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdLCBqb2I6IEpvYiwgbWFudWFsczogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3Qgam9ic1RvV2FpdEZvclNldCA9IG5ldyBTZXQ8Sm9iPigpO1xuICAgICAgICBsZXQgd2FpdEZvckxvb3BBcnJheTogSm9iW10gPSBbam9iXTtcblxuICAgICAgICB3aGlsZSAod2FpdEZvckxvb3BBcnJheS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBsb29wSm9iID0gd2FpdEZvckxvb3BBcnJheS5wb3AoKTtcbiAgICAgICAgICAgIGFzc2VydChsb29wSm9iICE9IG51bGwsIFwiSm9iIG5vdCBmb3VuZCBpbiBnZXRQYXN0VG9XYWl0Rm9yLCBzaG91bGQgYmUgaW1wb3NzaWJsZSFcIik7XG4gICAgICAgICAgICBpZiAobG9vcEpvYi5uZWVkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lZWRlZFRvV2FpdEZvciA9IHRoaXMuZ2V0TmVlZGVkVG9XYWl0Rm9yKGpvYnMsIG1hbnVhbHMsIGxvb3BKb2IpO1xuICAgICAgICAgICAgICAgIHdhaXRGb3JMb29wQXJyYXkucHVzaCguLi5uZWVkZWRUb1dhaXRGb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1RvV2FpdEZvciA9IHRoaXMuZ2V0UHJldmlvdXNUb1dhaXRGb3Ioam9icywgc3RhZ2VzLCBsb29wSm9iKTtcbiAgICAgICAgICAgICAgICB3YWl0Rm9yTG9vcEFycmF5ID0gd2FpdEZvckxvb3BBcnJheS5jb25jYXQocHJldmlvdXNUb1dhaXRGb3IpO1xuICAgICAgICAgICAgICAgIHdhaXRGb3JMb29wQXJyYXkgPSB3YWl0Rm9yTG9vcEFycmF5LmZpbHRlcihqID0+IGoud2hlbiAhPT0gXCJuZXZlclwiKTtcbiAgICAgICAgICAgICAgICB3YWl0Rm9yTG9vcEFycmF5ID0gd2FpdEZvckxvb3BBcnJheS5maWx0ZXIoaiA9PiBqLndoZW4gIT09IFwibWFudWFsXCIgfHwgbWFudWFscy5pbmNsdWRlcyhqLm5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdhaXRGb3JMb29wQXJyYXkuZm9yRWFjaChqID0+IGpvYnNUb1dhaXRGb3JTZXQuYWRkKGopKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLmpvYnNUb1dhaXRGb3JTZXRdO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXROZWVkZWRUb1dhaXRGb3IgKGpvYnM6IFJlYWRvbmx5QXJyYXk8Sm9iPiwgbWFudWFsczogc3RyaW5nW10sIGpvYjogSm9iKSB7XG4gICAgICAgIGNvbnN0IHRvV2FpdEZvciA9IFtdO1xuICAgICAgICBhc3NlcnQoam9iLm5lZWRzICE9IG51bGwsIGNoYWxrYCR7am9iLm5hbWV9Lm5lZWRzIGNhbm5vdCBiZSBudWxsIGluIGdldE5lZWRlZFRvV2FpdEZvcmApO1xuICAgICAgICBmb3IgKGNvbnN0IG5lZWQgb2Ygam9iLm5lZWRzKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlSm9icyA9IGpvYnMuZmlsdGVyKGogPT4gai5iYXNlTmFtZSA9PT0gbmVlZC5qb2IpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBqIG9mIGJhc2VKb2JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGoud2hlbiA9PT0gXCJuZXZlclwiICYmICFuZWVkLm9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBBc3NlcnRpb25FcnJvcih7bWVzc2FnZTogY2hhbGtge2JsdWVCcmlnaHQgJHtqLm5hbWV9fSBpcyB3aGVuOm5ldmVyLCBidXQgaXRzIG5lZWRlZCBieSB7Ymx1ZUJyaWdodCAke2pvYi5uYW1lfX1gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChqLndoZW4gPT09IFwibmV2ZXJcIiAmJiBuZWVkLm9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoai53aGVuID09PSBcIm1hbnVhbFwiICYmICFtYW51YWxzLmluY2x1ZGVzKGoubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKHttZXNzYWdlOiBjaGFsa2B7Ymx1ZUJyaWdodCAke2oubmFtZX19IGlzIHdoZW46bWFudWFsLCBpdHMgbmVlZGVkIGJ5IHtibHVlQnJpZ2h0ICR7am9iLm5hbWV9fSwgYW5kIG5vdCBzcGVjaWZpZWQgaW4gLS1tYW51YWxgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFzc2VydChqb2IubmFtZSAhPT0gai5uYW1lLCBjaGFsa2BUaGlzIEdpdExhYiBDSSBjb25maWd1cmF0aW9uIGlzIGludmFsaWQ6IFRoZSBwaXBlbGluZSBoYXMgY2lyY3VsYXIgZGVwZW5kZW5jaWVzOiBzZWxmLWRlcGVuZGVuY3k6IHtibHVlQnJpZ2h0ICR7bmVlZC5qb2J9fS5gKTtcbiAgICAgICAgICAgICAgICB0b1dhaXRGb3IucHVzaChqKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9XYWl0Rm9yO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRQcmV2aW91c1RvV2FpdEZvciAoam9iczogUmVhZG9ubHlBcnJheTxKb2I+LCBzdGFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdLCBqb2I6IEpvYikge1xuICAgICAgICBjb25zdCBwcmV2aW91c1RvV2FpdEZvcjogSm9iW10gPSBbXTtcbiAgICAgICAgY29uc3Qgc3RhZ2VJbmRleCA9IHN0YWdlcy5pbmRleE9mKGpvYi5zdGFnZSk7XG4gICAgICAgIGNvbnN0IHBhc3RTdGFnZXMgPSBzdGFnZXMuc2xpY2UoMCwgc3RhZ2VJbmRleCk7XG4gICAgICAgIHBhc3RTdGFnZXMuZm9yRWFjaCgocGFzdFN0YWdlKSA9PiB7XG4gICAgICAgICAgICBwcmV2aW91c1RvV2FpdEZvci5wdXNoKC4uLlsuLi5qb2JzLnZhbHVlcygpXS5maWx0ZXIoaiA9PiBqLnN0YWdlID09PSBwYXN0U3RhZ2UpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwcmV2aW91c1RvV2FpdEZvcjtcbiAgICB9XG59XG4iXX0=
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLE1BQU0sRUFBRSxFQUFDLGNBQWMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUU5QyxPQUFPLElBQUksTUFBTSxPQUFPLENBQUM7QUFFekIsTUFBTSxPQUFPLFFBQVE7SUFFakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUUsSUFBVSxFQUFFLElBQXdCLEVBQUUsTUFBeUIsRUFBRSxpQkFBd0I7UUFDM0csSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXpCLEdBQUcsQ0FBQztZQUNBLGVBQWUsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUYsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM3QixNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsY0FBbUIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyRSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7WUFDbkcsQ0FBQztRQUNMLENBQUMsUUFBUSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFFLElBQXdCLEVBQUUsTUFBeUIsRUFBRSxpQkFBaUMsRUFBRSxPQUFpQjtRQUNoSSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFFM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQU0saUJB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QUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzdCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGstdGVtcGxhdGVcIjtcbmltcG9ydCB7Sm9ifSBmcm9tIFwiLi9qb2IuanNcIjtcbmltcG9ydCBhc3NlcnQsIHtBc3NlcnRpb25FcnJvcn0gZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHtBcmd2fSBmcm9tIFwiLi9hcmd2LmpzXCI7XG5pbXBvcnQgcE1hcCBmcm9tIFwicC1tYXBcIjtcblxuZXhwb3J0IGNsYXNzIEV4ZWN1dG9yIHtcblxuICAgIHN0YXRpYyBhc3luYyBydW5Mb29wIChhcmd2OiBBcmd2LCBqb2JzOiBSZWFkb25seUFycmF5PEpvYj4sIHN0YWdlczogcmVhZG9ubHkgc3RyaW5nW10sIHBvdGVudGlhbFN0YXJ0ZXJzOiBKb2JbXSkge1xuICAgICAgICBsZXQgc3RhcnRDYW5kaWRhdGVzID0gW107XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgc3RhcnRDYW5kaWRhdGVzID0gRXhlY3V0b3IuZ2V0U3RhcnRDYW5kaWRhdGVzKGpvYnMsIHN0YWdlcywgcG90ZW50aWFsU3RhcnRlcnMsIGFyZ3YubWFudWFsKTtcbiAgICAgICAgICAgIGlmIChzdGFydENhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBlciA9IGFzeW5jIChzdGFydENhbmRpZGF0ZTogSm9iKSA9PiBzdGFydENhbmRpZGF0ZS5zdGFydCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHBNYXAoc3RhcnRDYW5kaWRhdGVzLCBtYXBwZXIsIHtjb25jdXJyZW5jeTogYXJndi5jb25jdXJyZW5jeSA/PyBzdGFydENhbmRpZGF0ZXMubGVuZ3RofSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gd2hpbGUgKHN0YXJ0Q2FuZGlkYXRlcy5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U3RhcnRDYW5kaWRhdGVzIChqb2JzOiBSZWFkb25seUFycmF5PEpvYj4sIHN0YWdlczogcmVhZG9ubHkgc3RyaW5nW10sIHBvdGVudGlhbFN0YXJ0ZXJzOiByZWFkb25seSBKb2JbXSwgbWFudWFsczogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3Qgc3RhcnRDYW5kaWRhdGVzID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBqb2Igb2YgWy4uLm5ldyBTZXQ8Sm9iPihwb3RlbnRpYWxTdGFydGVycyldKSB7XG4gICAgICAgICAgICBpZiAoam9iLnN0YXJ0ZWQpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBjb25zdCBqb2JzVG9XYWl0Rm9yID0gRXhlY3V0b3IuZ2V0UGFzdFRvV2FpdEZvcihqb2JzLCBzdGFnZXMsIGpvYiwgbWFudWFscyk7XG4gICAgICAgICAgICBpZiAoRXhlY3V0b3IuaXNOb3RGaW5pc2hlZChqb2JzVG9XYWl0Rm9yKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGpvYi53aGVuID09PSBcIm9uX3N1Y2Nlc3NcIiAmJiBFeGVjdXRvci5pc1Bhc3RGYWlsZWQoam9ic1RvV2FpdEZvcikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChqb2Iud2hlbiA9PT0gXCJtYW51YWxcIiAmJiBFeGVjdXRvci5pc1Bhc3RGYWlsZWQoam9ic1RvV2FpdEZvcikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChqb2Iud2hlbiA9PT0gXCJvbl9mYWlsdXJlXCIgJiYgIUV4ZWN1dG9yLmlzUGFzdEZhaWxlZChqb2JzVG9XYWl0Rm9yKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdGFydENhbmRpZGF0ZXMucHVzaChqb2IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGFydENhbmRpZGF0ZXM7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzUGFzdEZhaWxlZCAoam9ic1RvV2FpdEZvcjogUmVhZG9ubHlBcnJheTxKb2I+KSB7XG4gICAgICAgIGNvbnN0IGZhaWxKb2JzID0gam9ic1RvV2FpdEZvci5maWx0ZXIoaiA9PiB7XG4gICAgICAgICAgICBpZiAoai5hbGxvd0ZhaWx1cmUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKGoucHJlU2NyaXB0c0V4aXRDb2RlID8gai5wcmVTY3JpcHRzRXhpdENvZGUgOiAwKSA+IDA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZmFpbEpvYnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNOb3RGaW5pc2hlZCAoam9ic1RvV2FpdEZvcjogUmVhZG9ubHlBcnJheTxKb2I+KSB7XG4gICAgICAgIGNvbnN0IG5vdEZpbmlzaGVkSm9icyA9IGpvYnNUb1dhaXRGb3IuZmlsdGVyKGogPT4gIWouZmluaXNoZWQpO1xuICAgICAgICByZXR1cm4gbm90RmluaXNoZWRKb2JzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldEZhaWxlZCAoam9iczogUmVhZG9ubHlBcnJheTxKb2I+KSB7XG4gICAgICAgIHJldHVybiBqb2JzLmZpbHRlcihqID0+IGouZmluaXNoZWQgJiYgIWouYWxsb3dGYWlsdXJlICYmIChqLnByZVNjcmlwdHNFeGl0Q29kZSA/PyAwKSA+IDApO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRQYXN0VG9XYWl0Rm9yIChqb2JzOiBSZWFkb25seUFycmF5PEpvYj4sIHN0YWdlczogcmVhZG9ubHkgc3RyaW5nW10sIGpvYjogSm9iLCBtYW51YWxzOiBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBqb2JzVG9XYWl0Rm9yU2V0ID0gbmV3IFNldDxKb2I+KCk7XG4gICAgICAgIGxldCB3YWl0Rm9yTG9vcEFycmF5OiBKb2JbXSA9IFtqb2JdO1xuXG4gICAgICAgIHdoaWxlICh3YWl0Rm9yTG9vcEFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxvb3BKb2IgPSB3YWl0Rm9yTG9vcEFycmF5LnBvcCgpO1xuICAgICAgICAgICAgYXNzZXJ0KGxvb3BKb2IgIT0gbnVsbCwgXCJKb2Igbm90IGZvdW5kIGluIGdldFBhc3RUb1dhaXRGb3IsIHNob3VsZCBiZSBpbXBvc3NpYmxlIVwiKTtcbiAgICAgICAgICAgIGlmIChsb29wSm9iLm5lZWRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmVlZGVkVG9XYWl0Rm9yID0gdGhpcy5nZXROZWVkZWRUb1dhaXRGb3Ioam9icywgbWFudWFscywgbG9vcEpvYik7XG4gICAgICAgICAgICAgICAgd2FpdEZvckxvb3BBcnJheS5wdXNoKC4uLm5lZWRlZFRvV2FpdEZvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVG9XYWl0Rm9yID0gdGhpcy5nZXRQcmV2aW91c1RvV2FpdEZvcihqb2JzLCBzdGFnZXMsIGxvb3BKb2IpO1xuICAgICAgICAgICAgICAgIHdhaXRGb3JMb29wQXJyYXkgPSB3YWl0Rm9yTG9vcEFycmF5LmNvbmNhdChwcmV2aW91c1RvV2FpdEZvcik7XG4gICAgICAgICAgICAgICAgd2FpdEZvckxvb3BBcnJheSA9IHdhaXRGb3JMb29wQXJyYXkuZmlsdGVyKGogPT4gai53aGVuICE9PSBcIm5ldmVyXCIpO1xuICAgICAgICAgICAgICAgIHdhaXRGb3JMb29wQXJyYXkgPSB3YWl0Rm9yTG9vcEFycmF5LmZpbHRlcihqID0+IGoud2hlbiAhPT0gXCJtYW51YWxcIiB8fCBtYW51YWxzLmluY2x1ZGVzKGoubmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2FpdEZvckxvb3BBcnJheS5mb3JFYWNoKGogPT4gam9ic1RvV2FpdEZvclNldC5hZGQoaikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbLi4uam9ic1RvV2FpdEZvclNldF07XG4gICAgfVxuXG4gICAgc3RhdGljIGdldE5lZWRlZFRvV2FpdEZvciAoam9iczogUmVhZG9ubHlBcnJheTxKb2I+LCBtYW51YWxzOiBzdHJpbmdbXSwgam9iOiBKb2IpIHtcbiAgICAgICAgY29uc3QgdG9XYWl0Rm9yID0gW107XG4gICAgICAgIGFzc2VydChqb2IubmVlZHMgIT0gbnVsbCwgY2hhbGtgJHtqb2IubmFtZX0ubmVlZHMgY2Fubm90IGJlIG51bGwgaW4gZ2V0TmVlZGVkVG9XYWl0Rm9yYCk7XG4gICAgICAgIGZvciAoY29uc3QgbmVlZCBvZiBqb2IubmVlZHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VKb2JzID0gam9icy5maWx0ZXIoaiA9PiBqLmJhc2VOYW1lID09PSBuZWVkLmpvYik7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGogb2YgYmFzZUpvYnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoai53aGVuID09PSBcIm5ldmVyXCIgJiYgIW5lZWQub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKHttZXNzYWdlOiBjaGFsa2B7Ymx1ZUJyaWdodCAke2oubmFtZX19IGlzIHdoZW46bmV2ZXIsIGJ1dCBpdHMgbmVlZGVkIGJ5IHtibHVlQnJpZ2h0ICR7am9iLm5hbWV9fWB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGoud2hlbiA9PT0gXCJuZXZlclwiICYmIG5lZWQub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChqLndoZW4gPT09IFwibWFudWFsXCIgJiYgIW1hbnVhbHMuaW5jbHVkZXMoai5uYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3Ioe21lc3NhZ2U6IGNoYWxrYHtibHVlQnJpZ2h0ICR7ai5uYW1lfX0gaXMgd2hlbjptYW51YWwsIGl0cyBuZWVkZWQgYnkge2JsdWVCcmlnaHQgJHtqb2IubmFtZX19LCBhbmQgbm90IHNwZWNpZmllZCBpbiAtLW1hbnVhbGB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGpvYi5uYW1lICE9PSBqLm5hbWUsIGNoYWxrYFRoaXMgR2l0TGFiIENJIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZDogVGhlIHBpcGVsaW5lIGhhcyBjaXJjdWxhciBkZXBlbmRlbmNpZXM6IHNlbGYtZGVwZW5kZW5jeToge2JsdWVCcmlnaHQgJHtuZWVkLmpvYn19LmApO1xuICAgICAgICAgICAgICAgIHRvV2FpdEZvci5wdXNoKGopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b1dhaXRGb3I7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFByZXZpb3VzVG9XYWl0Rm9yIChqb2JzOiBSZWFkb25seUFycmF5PEpvYj4sIHN0YWdlczogcmVhZG9ubHkgc3RyaW5nW10sIGpvYjogSm9iKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVG9XYWl0Rm9yOiBKb2JbXSA9IFtdO1xuICAgICAgICBjb25zdCBzdGFnZUluZGV4ID0gc3RhZ2VzLmluZGV4T2Yoam9iLnN0YWdlKTtcbiAgICAgICAgY29uc3QgcGFzdFN0YWdlcyA9IHN0YWdlcy5zbGljZSgwLCBzdGFnZUluZGV4KTtcbiAgICAgICAgcGFzdFN0YWdlcy5mb3JFYWNoKChwYXN0U3RhZ2UpID0+IHtcbiAgICAgICAgICAgIHByZXZpb3VzVG9XYWl0Rm9yLnB1c2goLi4uWy4uLmpvYnMudmFsdWVzKCldLmZpbHRlcihqID0+IGouc3RhZ2UgPT09IHBhc3RTdGFnZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzVG9XYWl0Rm9yO1xuICAgIH1cbn1cbiJdfQ==
|
package/src/git-data.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Utils } from "./utils.js";
|
|
2
2
|
import assert, { AssertionError } from "assert";
|
|
3
|
-
import chalk from "chalk";
|
|
3
|
+
import chalk from "chalk-template";
|
|
4
4
|
export class GitData {
|
|
5
5
|
user = {
|
|
6
6
|
GITLAB_USER_LOGIN: "local",
|
|
@@ -165,4 +165,4 @@ export class GitData {
|
|
|
165
165
|
await Promise.all(promises);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnaXQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sTUFBTSxFQUFFLEVBQUMsY0FBYyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTlDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUkxQixNQUFNLE9BQU8sT0FBTztJQUVBLElBQUksR0FBRztRQUNuQixpQkFBaUIsRUFBRSxPQUFPO1FBQzFCLGlCQUFpQixFQUFFLGtCQUFrQjtRQUNyQyxnQkFBZ0IsRUFBRSxXQUFXO1FBQzdCLGNBQWMsRUFBRSxNQUFNO0tBQ3pCLENBQUM7SUFFYyxRQUFRLEdBQUc7UUFDdkIsT0FBTyxFQUFFLE1BQU07S0FDbEIsQ0FBQztJQUVjLE1BQU0sR0FBRztRQUNyQixNQUFNLEVBQUUsS0FBa0I7UUFDMUIsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7S0FDOUIsQ0FBQztJQUVjLE1BQU0sR0FBRztRQUNyQixRQUFRLEVBQUUsTUFBTTtRQUNoQixHQUFHLEVBQUUsMENBQTBDO1FBQy9DLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHO0tBQzFELENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBRSxHQUFXLEVBQUUsWUFBMEI7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdB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LEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBLHlDQUF5QyxDQUFDLENBQUM7WUFDcEUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUEsYUFBYSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFNUIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXRpbHN9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5pbXBvcnQgYXNzZXJ0LCB7QXNzZXJ0aW9uRXJyb3J9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7V3JpdGVTdHJlYW1zfSBmcm9tIFwiLi93cml0ZS1zdHJlYW1zLmpzXCI7XG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5cbmV4cG9ydCB0eXBlIEdpdFNjaGVtYSA9IFwiZ2l0XCIgfCBcImh0dHBcIiB8IFwiaHR0cHNcIiB8IFwic3NoXCI7XG5cbmV4cG9ydCBjbGFzcyBHaXREYXRhIHtcblxuICAgIHB1YmxpYyByZWFkb25seSB1c2VyID0ge1xuICAgICAgICBHSVRMQUJfVVNFUl9MT0dJTjogXCJsb2NhbFwiLFxuICAgICAgICBHSVRMQUJfVVNFUl9FTUFJTDogXCJsb2NhbEBnaXRsYWIuY29tXCIsXG4gICAgICAgIEdJVExBQl9VU0VSX05BTUU6IFwiQm9iIExvY2FsXCIsXG4gICAgICAgIEdJVExBQl9VU0VSX0lEOiBcIjEwMDBcIixcbiAgICB9O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGJyYW5jaGVzID0ge1xuICAgICAgICBkZWZhdWx0OiBcIm1haW5cIixcbiAgICB9O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbW90ZSA9IHtcbiAgICAgICAgc2NoZW1hOiBcImdpdFwiIGFzIEdpdFNjaGVtYSxcbiAgICAgICAgcG9ydDogXCIyMlwiLFxuICAgICAgICBob3N0OiBcImdpdGxhYi5jb21cIixcbiAgICAgICAgZ3JvdXA6IFwiZmFsbGJhY2suZ3JvdXBcIixcbiAgICAgICAgcHJvamVjdDogXCJmYWxsYmFjay5wcm9qZWN0XCIsXG4gICAgfTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjb21taXQgPSB7XG4gICAgICAgIFJFRl9OQU1FOiBcIm1haW5cIixcbiAgICAgICAgU0hBOiBcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIixcbiAgICAgICAgU0hPUlRfU0hBOiBcIjAwMDAwMDAwXCIsXG4gICAgICAgIFRJTUVTVEFNUDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KFwiLlwiKVswXSArIFwiWlwiLFxuICAgIH07XG5cbiAgICBzdGF0aWMgYXN5bmMgaW5pdCAoY3dkOiBzdHJpbmcsIHdyaXRlU3RyZWFtczogV3JpdGVTdHJlYW1zKTogUHJvbWlzZTxHaXREYXRhPiB7XG4gICAgICAgIGNvbnN0IGdpdERhdGEgPSBuZXcgR2l0RGF0YSgpO1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgICAgICBwcm9taXNlcy5wdXNoKGdpdERhdGEuaW5pdENvbW1pdERhdGEoY3dkLCB3cml0ZVN0cmVhbXMpKTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChnaXREYXRhLmluaXRSZW1vdGVEYXRhKGN3ZCwgd3JpdGVTdHJlYW1zKSk7XG4gICAgICAgIHByb21pc2VzLnB1c2goZ2l0RGF0YS5pbml0VXNlckRhdGEoY3dkLCB3cml0ZVN0cmVhbXMpKTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChnaXREYXRhLmluaXRCcmFuY2hEYXRhKGN3ZCwgd3JpdGVTdHJlYW1zKSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgcmV0dXJuIGdpdERhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBpbml0Q29tbWl0RGF0YSAoY3dkOiBzdHJpbmcsIHdyaXRlU3RyZWFtczogV3JpdGVTdHJlYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG5cbiAgICAgICAgY29uc3QgcmVmTmFtZVByb21pc2UgPSBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJyZXYtcGFyc2VcIiwgXCItLWFiYnJldi1yZWZcIiwgXCJIRUFEXCJdLCBjd2QpO1xuICAgICAgICBwcm9taXNlcy5wdXNoKHJlZk5hbWVQcm9taXNlLnRoZW4oKHtzdGRvdXR9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdC5SRUZfTkFNRSA9IHN0ZG91dC50cmltRW5kKCk7XG4gICAgICAgIH0pKTtcblxuICAgICAgICBjb25zdCBzaGFQcm9taXNlID0gVXRpbHMuc3Bhd24oW1wiZ2l0XCIsIFwicmV2LXBhcnNlXCIsIFwiSEVBRFwiXSwgY3dkKTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChzaGFQcm9taXNlLnRoZW4oKHtzdGRvdXR9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdC5TSEEgPSBzdGRvdXQudHJpbUVuZCgpO1xuICAgICAgICB9KSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyAke2UubWVzc2FnZX19XFxuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVXNpbmcgZmFsbGJhY2sgZ2l0IGNvbW1pdCBkYXRhfVxcbmApO1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBpbml0QnJhbmNoRGF0YSAoY3dkOiBzdHJpbmcsIHdyaXRlU3RyZWFtczogV3JpdGVTdHJlYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7c3Rkb3V0OiBnaXRSZW1vdGVEZWZhdWx0QnJhbmNofSA9IGF3YWl0IFV0aWxzLnNwYXduKFtcImdpdFwiLCBcInN5bWJvbGljLXJlZlwiLCBcIi0tc2hvcnRcIiwgXCJyZWZzL3JlbW90ZXMvb3JpZ2luL0hFQURcIl0sIGN3ZCk7XG4gICAgICAgICAgICB0aGlzLmJyYW5jaGVzLmRlZmF1bHQgPSBnaXRSZW1vdGVEZWZhdWx0QnJhbmNoLnJlcGxhY2UoXCJvcmlnaW4vXCIsIFwiXCIpO1xuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGlmIChlLnN0ZGVyciA9PT0gXCJmYXRhbDogcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRCBpcyBub3QgYSBzeW1ib2xpYyByZWZcIikge1xuICAgICAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyBVbmFibGUgdG8gcmV0cmlldmUgZGVmYXVsdCByZW1vdGUgYnJhbmNoLCBmYWxsaW5nIGJhY2sgdG8gXFxgJHt0aGlzLmJyYW5jaGVzLmRlZmF1bHR9XFxgLiBUaGUgZGVmYXVsdCByZW1vdGUgYnJhbmNoIGNhbiBiZSBzZXQgdmlhIFxcYGdpdCByZW1vdGUgc2V0LWhlYWQgb3JpZ2luIDxkZWZhdWx0X2JyYW5jaD5cXGBcXG59YCk7XG4gICAgICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVW5hYmxlIHRvIHJldHJpZXZlIGRlZmF1bHQgcmVtb3RlIGJyYW5jaCwgZmFsbGluZyBiYWNrIHRvIFxcYCR7dGhpcy5icmFuY2hlcy5kZWZhdWx0fVxcYC5cXG59YCk7XG4gICAgICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGNoYW5nZWRGaWxlcyAoZGVmYXVsdEJyYW5jaDogc3RyaW5nLCBjd2Q6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gVXRpbHMuc3luY1NwYXduKFtcImdpdFwiLCBcImRpZmZcIiwgXCItLW5hbWUtb25seVwiLCBkZWZhdWx0QnJhbmNoXSwgY3dkKS5zdGRvdXQuc3BsaXQoXCJcXG5cIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBpbml0UmVtb3RlRGF0YSAoY3dkOiBzdHJpbmcsIHdyaXRlU3RyZWFtczogV3JpdGVTdHJlYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgZ2l0UmVtb3RlTWF0Y2g7XG4gICAgICAgICAgICBsZXQgZ2l0UmVtb3RlO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAvLyBOT1RFOiBGb3IgcG93ZXIgdXNlciB0aGF0IHdpc2hlcyB0byBjdXN0b21pemUgdGhlIHJlbW90ZSB1cmxcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJyZW1vdGVcIiwgXCJnZXQtdXJsXCIsIFwiZ2NsLW9yaWdpblwiXSwgY3dkKTtcbiAgICAgICAgICAgICAgICBnaXRSZW1vdGUgPSByZXMuc3Rkb3V0O1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgVXRpbHMuc3Bhd24oW1wiZ2l0XCIsIFwicmVtb3RlXCIsIFwiZ2V0LXVybFwiLCBcIm9yaWdpblwiXSwgY3dkKTtcbiAgICAgICAgICAgICAgICBnaXRSZW1vdGUgPSByZXMuc3Rkb3V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUbyBzaW1wbGlmeSB0aGUgcmVnZXguIFN0cmlwcGluZyB0aGUgdHJhaWxpbmcgYC9gIG9yIGAuZ2l0YCBzaW5jZSB0aGV5J3JlIGJvdGggb3B0aW9uYWwuXG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkR2l0UmVtb3RlID0gZ2l0UmVtb3RlXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcLyQvLCBcIlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXC5naXQkLywgXCJcIik7XG5cbiAgICAgICAgICAgIGlmIChub3JtYWxpemVkR2l0UmVtb3RlLnN0YXJ0c1dpdGgoXCJodHRwXCIpKSB7XG4gICAgICAgICAgICAgICAgZ2l0UmVtb3RlTWF0Y2ggPSAvKD88c2NoZW1hPmh0dHBzPyk6XFwvXFwvKD86KFteOl0rKTooW15AXSspQCk/KD88aG9zdD5bXi86XSspOj8oPzxwb3J0PlxcZCspP1xcLyg/PGdyb3VwPlxcUyspXFwvKD88cHJvamVjdD5cXFMrKS8uZXhlYyhub3JtYWxpemVkR2l0UmVtb3RlKTsgLy8gcmVnZXhyLmNvbS83dmU4bFxuICAgICAgICAgICAgICAgIGFzc2VydChnaXRSZW1vdGVNYXRjaD8uZ3JvdXBzICE9IG51bGwsIFwiZ2l0IHJlbW90ZSBnZXQtdXJsIG9yaWdpbiBkaWRuJ3QgcHJvdmlkZSB2YWxpZCBtYXRjaGVzXCIpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHBvcnQgPSBcIjQ0M1wiO1xuICAgICAgICAgICAgICAgIGlmIChnaXRSZW1vdGVNYXRjaC5ncm91cHMuc2NoZW1hID09PSBcImh0dHBzXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9ydCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5wb3J0ID8/IFwiNDQzXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChnaXRSZW1vdGVNYXRjaC5ncm91cHMuc2NoZW1hID09PSBcImh0dHBcIikge1xuICAgICAgICAgICAgICAgICAgICBwb3J0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnBvcnQgPz8gXCI4MFwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5ob3N0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLmhvc3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuZ3JvdXAgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuZ3JvdXA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUucHJvamVjdCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5wcm9qZWN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnNjaGVtYSA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5zY2hlbWEgYXMgR2l0U2NoZW1hO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnBvcnQgPSBwb3J0O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub3JtYWxpemVkR2l0UmVtb3RlLnN0YXJ0c1dpdGgoXCJzc2g6Ly9cIikpIHtcbiAgICAgICAgICAgICAgICBnaXRSZW1vdGVNYXRjaCA9IC8oPzxzY2hlbWE+c3NoKTpcXC9cXC8oXFx3KylAKD88aG9zdD5bXi86XSspOj8oPzxwb3J0PlxcZCspP1xcLyg/PGdyb3VwPlxcUyspXFwvKD88cHJvamVjdD5cXFMrKS8uZXhlYyhub3JtYWxpemVkR2l0UmVtb3RlKTsgLy8gcmVnZXhyLmNvbS83dmpxNFxuICAgICAgICAgICAgICAgIGFzc2VydChnaXRSZW1vdGVNYXRjaD8uZ3JvdXBzICE9IG51bGwsIFwiZ2l0IHJlbW90ZSBnZXQtdXJsIG9yaWdpbiBkaWRuJ3QgcHJvdmlkZSB2YWxpZCBtYXRjaGVzXCIpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuaG9zdCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5ob3N0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLmdyb3VwID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLmdyb3VwO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnByb2plY3QgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMucHJvamVjdDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5zY2hlbWEgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuc2NoZW1hIGFzIEdpdFNjaGVtYTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5wb3J0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnBvcnQgPz8gXCIyMlwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBnaXRSZW1vdGVNYXRjaCA9IC8oPzx1c2VybmFtZT5cXFMrKUAoPzxob3N0PlteOl0rKTooPzxncm91cD5cXFMrKVxcLyg/PHByb2plY3Q+XFxTKykvLmV4ZWMobm9ybWFsaXplZEdpdFJlbW90ZSk7IC8vIHJlZ2V4ci5jb20vN3Zqb3FcbiAgICAgICAgICAgICAgICBhc3NlcnQoZ2l0UmVtb3RlTWF0Y2g/Lmdyb3VwcyAhPSBudWxsLCBcImdpdCByZW1vdGUgZ2V0LXVybCBvcmlnaW4gZGlkbid0IHByb3ZpZGUgdmFsaWQgbWF0Y2hlc1wiKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgVXRpbHMuc3Bhd24oW1wic3NoXCIsIFwiLUdcIiwgYCR7Z2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnVzZXJuYW1lfUAke2dpdFJlbW90ZU1hdGNoLmdyb3Vwcy5ob3N0fWBdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3J0ID0gc3Rkb3V0LnNwbGl0KFwiXFxuXCIpLmZpbHRlcigobGluZSkgPT4gbGluZS5zdGFydHNXaXRoKFwicG9ydCBcIikpWzBdLnNwbGl0KFwiIFwiKVsxXTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5ob3N0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLmhvc3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuZ3JvdXAgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuZ3JvdXA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUucHJvamVjdCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5wcm9qZWN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnNjaGVtYSA9IFwiZ2l0XCI7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUucG9ydCA9IHBvcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikge1xuICAgICAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyAke2UubWVzc2FnZX19XFxuYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93IFVzaW5nIGZhbGxiYWNrIGdpdCByZW1vdGUgZGF0YX1cXG5gKTtcbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyAgICR7ZS5tZXNzYWdlfVxcbn1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGluaXRVc2VyRGF0YSAoY3dkOiBzdHJpbmcsIHdyaXRlU3RyZWFtczogV3JpdGVTdHJlYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG5cbiAgICAgICAgY29uc3QgZ2l0VXNlcm5hbWVQcm9taXNlID0gVXRpbHMuc3Bhd24oW1wiZ2l0XCIsIFwiY29uZmlnXCIsIFwidXNlci5uYW1lXCJdLCBjd2QpLnRoZW4oKHtzdGRvdXR9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXIuR0lUTEFCX1VTRVJfTkFNRSA9IHN0ZG91dC50cmltRW5kKCk7XG4gICAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVXNpbmcgZmFsbGJhY2sgZ2l0IHVzZXIubmFtZX1cXG5gKTtcbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyAgICR7ZS5tZXNzYWdlfVxcbn1gKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHByb21pc2VzLnB1c2goZ2l0VXNlcm5hbWVQcm9taXNlKTtcblxuICAgICAgICBjb25zdCBnaXRFbWFpbFByb21pc2UgPSBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJjb25maWdcIiwgXCJ1c2VyLmVtYWlsXCJdLCBjd2QpLnRoZW4oKHtzdGRvdXR9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbWFpbCA9IHN0ZG91dC50cmltRW5kKCk7XG4gICAgICAgICAgICB0aGlzLnVzZXIuR0lUTEFCX1VTRVJfRU1BSUwgPSBlbWFpbDtcbiAgICAgICAgICAgIHRoaXMudXNlci5HSVRMQUJfVVNFUl9MT0dJTiA9IGVtYWlsLnJlcGxhY2UoL0AuKi8sIFwiXCIpO1xuICAgICAgICB9KS5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93IFVzaW5nIGZhbGxiYWNrIGdpdCB1c2VyLmVtYWlsfVxcbmApO1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICB9KTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChnaXRFbWFpbFByb21pc2UpO1xuXG4gICAgICAgIGNvbnN0IG9zVWlkUHJvbWlzZSA9IFV0aWxzLnNwYXduKFtcImlkXCIsIFwiLXVcIl0sIGN3ZCkudGhlbigoe3N0ZG91dH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlci5HSVRMQUJfVVNFUl9JRCA9IHN0ZG91dC50cmltRW5kKCk7XG4gICAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVXNpbmcgZmFsbGJhY2sgbGludXggdXNlciBpZH1cXG5gKTtcbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyAgICR7ZS5tZXNzYWdlfVxcbn1gKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHByb21pc2VzLnB1c2gob3NVaWRQcm9taXNlKTtcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgfVxufVxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnaXQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sTUFBTSxFQUFFLEVBQUMsY0FBYyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTlDLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBSW5DLE1BQU0sT0FBTyxPQUFPO0lBRUEsSUFBSSxHQUFHO1FBQ25CLGlCQUFpQixFQUFFLE9BQU87UUFDMUIsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLGdCQUFnQixFQUFFLFdBQVc7UUFDN0IsY0FBYyxFQUFFLE1BQU07S0FDekIsQ0FBQztJQUVjLFFBQVEsR0FBRztRQUN2QixPQUFPLEVBQUUsTUFBTTtLQUNsQixDQUFDO0lBRWMsTUFBTSxHQUFHO1FBQ3JCLE1BQU0sRUFBRSxLQUFrQjtRQUMxQixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsT0FBTyxFQUFFLGtCQUFrQjtLQUM5QixDQUFDO0lBRWMsTUFBTSxHQUFHO1FBQ3JCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEdBQUcsRUFBRSwwQ0FBMEM7UUFDL0MsU0FBUyxFQUFFLFVBQVU7UUFDckIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUc7S0FDMUQsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFFLEdBQVcsRUFBRSxZQUEwQjtRQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMs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QUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1gsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUEseUNBQXlDLENBQUMsQ0FBQztZQUNwRSxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQSxhQUFhLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU1QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtVdGlsc30gZnJvbSBcIi4vdXRpbHMuanNcIjtcbmltcG9ydCBhc3NlcnQsIHtBc3NlcnRpb25FcnJvcn0gZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHtXcml0ZVN0cmVhbXN9IGZyb20gXCIuL3dyaXRlLXN0cmVhbXMuanNcIjtcbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGstdGVtcGxhdGVcIjtcblxuZXhwb3J0IHR5cGUgR2l0U2NoZW1hID0gXCJnaXRcIiB8IFwiaHR0cFwiIHwgXCJodHRwc1wiIHwgXCJzc2hcIjtcblxuZXhwb3J0IGNsYXNzIEdpdERhdGEge1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHVzZXIgPSB7XG4gICAgICAgIEdJVExBQl9VU0VSX0xPR0lOOiBcImxvY2FsXCIsXG4gICAgICAgIEdJVExBQl9VU0VSX0VNQUlMOiBcImxvY2FsQGdpdGxhYi5jb21cIixcbiAgICAgICAgR0lUTEFCX1VTRVJfTkFNRTogXCJCb2IgTG9jYWxcIixcbiAgICAgICAgR0lUTEFCX1VTRVJfSUQ6IFwiMTAwMFwiLFxuICAgIH07XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgYnJhbmNoZXMgPSB7XG4gICAgICAgIGRlZmF1bHQ6IFwibWFpblwiLFxuICAgIH07XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVtb3RlID0ge1xuICAgICAgICBzY2hlbWE6IFwiZ2l0XCIgYXMgR2l0U2NoZW1hLFxuICAgICAgICBwb3J0OiBcIjIyXCIsXG4gICAgICAgIGhvc3Q6IFwiZ2l0bGFiLmNvbVwiLFxuICAgICAgICBncm91cDogXCJmYWxsYmFjay5ncm91cFwiLFxuICAgICAgICBwcm9qZWN0OiBcImZhbGxiYWNrLnByb2plY3RcIixcbiAgICB9O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbW1pdCA9IHtcbiAgICAgICAgUkVGX05BTUU6IFwibWFpblwiLFxuICAgICAgICBTSEE6IFwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiLFxuICAgICAgICBTSE9SVF9TSEE6IFwiMDAwMDAwMDBcIixcbiAgICAgICAgVElNRVNUQU1QOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCIuXCIpWzBdICsgXCJaXCIsXG4gICAgfTtcblxuICAgIHN0YXRpYyBhc3luYyBpbml0IChjd2Q6IHN0cmluZywgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMpOiBQcm9taXNlPEdpdERhdGE+IHtcbiAgICAgICAgY29uc3QgZ2l0RGF0YSA9IG5ldyBHaXREYXRhKCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgICAgIHByb21pc2VzLnB1c2goZ2l0RGF0YS5pbml0Q29tbWl0RGF0YShjd2QsIHdyaXRlU3RyZWFtcykpO1xuICAgICAgICBwcm9taXNlcy5wdXNoKGdpdERhdGEuaW5pdFJlbW90ZURhdGEoY3dkLCB3cml0ZVN0cmVhbXMpKTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChnaXREYXRhLmluaXRVc2VyRGF0YShjd2QsIHdyaXRlU3RyZWFtcykpO1xuICAgICAgICBwcm9taXNlcy5wdXNoKGdpdERhdGEuaW5pdEJyYW5jaERhdGEoY3dkLCB3cml0ZVN0cmVhbXMpKTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICByZXR1cm4gZ2l0RGF0YTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGluaXRDb21taXREYXRhIChjd2Q6IHN0cmluZywgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcblxuICAgICAgICBjb25zdCByZWZOYW1lUHJvbWlzZSA9IFV0aWxzLnNwYXduKFtcImdpdFwiLCBcInJldi1wYXJzZVwiLCBcIi0tYWJicmV2LXJlZlwiLCBcIkhFQURcIl0sIGN3ZCk7XG4gICAgICAgIHByb21pc2VzLnB1c2gocmVmTmFtZVByb21pc2UudGhlbigoe3N0ZG91dH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0LlJFRl9OQU1FID0gc3Rkb3V0LnRyaW1FbmQoKTtcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IHNoYVByb21pc2UgPSBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJyZXYtcGFyc2VcIiwgXCJIRUFEXCJdLCBjd2QpO1xuICAgICAgICBwcm9taXNlcy5wdXNoKHNoYVByb21pc2UudGhlbigoe3N0ZG91dH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0LlNIQSA9IHN0ZG91dC50cmltRW5kKCk7XG4gICAgICAgIH0pKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICR7ZS5tZXNzYWdlfX1cXG5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyBVc2luZyBmYWxsYmFjayBnaXQgY29tbWl0IGRhdGF9XFxuYCk7XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgICAke2UubWVzc2FnZX1cXG59YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGluaXRCcmFuY2hEYXRhIChjd2Q6IHN0cmluZywgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHtzdGRvdXQ6IGdpdFJlbW90ZURlZmF1bHRCcmFuY2h9ID0gYXdhaXQgVXRpbHMuc3Bhd24oW1wiZ2l0XCIsIFwic3ltYm9saWMtcmVmXCIsIFwiLS1zaG9ydFwiLCBcInJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRFwiXSwgY3dkKTtcbiAgICAgICAgICAgIHRoaXMuYnJhbmNoZXMuZGVmYXVsdCA9IGdpdFJlbW90ZURlZmF1bHRCcmFuY2gucmVwbGFjZShcIm9yaWdpbi9cIiwgXCJcIik7XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgICAgaWYgKGUuc3RkZXJyID09PSBcImZhdGFsOiByZWYgcmVmcy9yZW1vdGVzL29yaWdpbi9IRUFEIGlzIG5vdCBhIHN5bWJvbGljIHJlZlwiKSB7XG4gICAgICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93IFVuYWJsZSB0byByZXRyaWV2ZSBkZWZhdWx0IHJlbW90ZSBicmFuY2gsIGZhbGxpbmcgYmFjayB0byBcXGAke3RoaXMuYnJhbmNoZXMuZGVmYXVsdH1cXGAuIFRoZSBkZWZhdWx0IHJlbW90ZSBicmFuY2ggY2FuIGJlIHNldCB2aWEgXFxgZ2l0IHJlbW90ZSBzZXQtaGVhZCBvcmlnaW4gPGRlZmF1bHRfYnJhbmNoPlxcYFxcbn1gKTtcbiAgICAgICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgICAke2UubWVzc2FnZX1cXG59YCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyBVbmFibGUgdG8gcmV0cmlldmUgZGVmYXVsdCByZW1vdGUgYnJhbmNoLCBmYWxsaW5nIGJhY2sgdG8gXFxgJHt0aGlzLmJyYW5jaGVzLmRlZmF1bHR9XFxgLlxcbn1gKTtcbiAgICAgICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgICAke2UubWVzc2FnZX1cXG59YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlZEZpbGVzIChkZWZhdWx0QnJhbmNoOiBzdHJpbmcsIGN3ZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBVdGlscy5zeW5jU3Bhd24oW1wiZ2l0XCIsIFwiZGlmZlwiLCBcIi0tbmFtZS1vbmx5XCIsIGRlZmF1bHRCcmFuY2hdLCBjd2QpLnN0ZG91dC5zcGxpdChcIlxcblwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGluaXRSZW1vdGVEYXRhIChjd2Q6IHN0cmluZywgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCBnaXRSZW1vdGVNYXRjaDtcbiAgICAgICAgICAgIGxldCBnaXRSZW1vdGU7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIC8vIE5PVEU6IEZvciBwb3dlciB1c2VyIHRoYXQgd2lzaGVzIHRvIGN1c3RvbWl6ZSB0aGUgcmVtb3RlIHVybFxuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IFV0aWxzLnNwYXduKFtcImdpdFwiLCBcInJlbW90ZVwiLCBcImdldC11cmxcIiwgXCJnY2wtb3JpZ2luXCJdLCBjd2QpO1xuICAgICAgICAgICAgICAgIGdpdFJlbW90ZSA9IHJlcy5zdGRvdXQ7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJyZW1vdGVcIiwgXCJnZXQtdXJsXCIsIFwib3JpZ2luXCJdLCBjd2QpO1xuICAgICAgICAgICAgICAgIGdpdFJlbW90ZSA9IHJlcy5zdGRvdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRvIHNpbXBsaWZ5IHRoZSByZWdleC4gU3RyaXBwaW5nIHRoZSB0cmFpbGluZyBgL2Agb3IgYC5naXRgIHNpbmNlIHRoZXkncmUgYm90aCBvcHRpb25hbC5cbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRHaXRSZW1vdGUgPSBnaXRSZW1vdGVcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvJC8sIFwiXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcLmdpdCQvLCBcIlwiKTtcblxuICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWRHaXRSZW1vdGUuc3RhcnRzV2l0aChcImh0dHBcIikpIHtcbiAgICAgICAgICAgICAgICBnaXRSZW1vdGVNYXRjaCA9IC8oPzxzY2hlbWE+aHR0cHM/KTpcXC9cXC8oPzooW146XSspOihbXkBdKylAKT8oPzxob3N0PlteLzpdKyk6Pyg/PHBvcnQ+XFxkKyk/XFwvKD88Z3JvdXA+XFxTKylcXC8oPzxwcm9qZWN0PlxcUyspLy5leGVjKG5vcm1hbGl6ZWRHaXRSZW1vdGUpOyAvLyByZWdleHIuY29tLzd2ZThsXG4gICAgICAgICAgICAgICAgYXNzZXJ0KGdpdFJlbW90ZU1hdGNoPy5ncm91cHMgIT0gbnVsbCwgXCJnaXQgcmVtb3RlIGdldC11cmwgb3JpZ2luIGRpZG4ndCBwcm92aWRlIHZhbGlkIG1hdGNoZXNcIik7XG5cbiAgICAgICAgICAgICAgICBsZXQgcG9ydCA9IFwiNDQzXCI7XG4gICAgICAgICAgICAgICAgaWYgKGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5zY2hlbWEgPT09IFwiaHR0cHNcIikge1xuICAgICAgICAgICAgICAgICAgICBwb3J0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnBvcnQgPz8gXCI0NDNcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5zY2hlbWEgPT09IFwiaHR0cFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcnQgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMucG9ydCA/PyBcIjgwXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLmhvc3QgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuaG9zdDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5ncm91cCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5ncm91cDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5wcm9qZWN0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnByb2plY3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuc2NoZW1hID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnNjaGVtYSBhcyBHaXRTY2hlbWE7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUucG9ydCA9IHBvcnQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5vcm1hbGl6ZWRHaXRSZW1vdGUuc3RhcnRzV2l0aChcInNzaDovL1wiKSkge1xuICAgICAgICAgICAgICAgIGdpdFJlbW90ZU1hdGNoID0gLyg/PHNjaGVtYT5zc2gpOlxcL1xcLyhcXHcrKUAoPzxob3N0PlteLzpdKyk6Pyg/PHBvcnQ+XFxkKyk/XFwvKD88Z3JvdXA+XFxTKylcXC8oPzxwcm9qZWN0PlxcUyspLy5leGVjKG5vcm1hbGl6ZWRHaXRSZW1vdGUpOyAvLyByZWdleHIuY29tLzd2anE0XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGdpdFJlbW90ZU1hdGNoPy5ncm91cHMgIT0gbnVsbCwgXCJnaXQgcmVtb3RlIGdldC11cmwgb3JpZ2luIGRpZG4ndCBwcm92aWRlIHZhbGlkIG1hdGNoZXNcIik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5ob3N0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLmhvc3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuZ3JvdXAgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuZ3JvdXA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUucHJvamVjdCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5wcm9qZWN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnNjaGVtYSA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5zY2hlbWEgYXMgR2l0U2NoZW1hO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLnBvcnQgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMucG9ydCA/PyBcIjIyXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGdpdFJlbW90ZU1hdGNoID0gLyg/PHVzZXJuYW1lPlxcUyspQCg/PGhvc3Q+W146XSspOig/PGdyb3VwPlxcUyspXFwvKD88cHJvamVjdD5cXFMrKS8uZXhlYyhub3JtYWxpemVkR2l0UmVtb3RlKTsgLy8gcmVnZXhyLmNvbS83dmpvcVxuICAgICAgICAgICAgICAgIGFzc2VydChnaXRSZW1vdGVNYXRjaD8uZ3JvdXBzICE9IG51bGwsIFwiZ2l0IHJlbW90ZSBnZXQtdXJsIG9yaWdpbiBkaWRuJ3QgcHJvdmlkZSB2YWxpZCBtYXRjaGVzXCIpO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCBVdGlscy5zcGF3bihbXCJzc2hcIiwgXCItR1wiLCBgJHtnaXRSZW1vdGVNYXRjaC5ncm91cHMudXNlcm5hbWV9QCR7Z2l0UmVtb3RlTWF0Y2guZ3JvdXBzLmhvc3R9YF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvcnQgPSBzdGRvdXQuc3BsaXQoXCJcXG5cIikuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJwb3J0IFwiKSlbMF0uc3BsaXQoXCIgXCIpWzFdO1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlLmhvc3QgPSBnaXRSZW1vdGVNYXRjaC5ncm91cHMuaG9zdDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5ncm91cCA9IGdpdFJlbW90ZU1hdGNoLmdyb3Vwcy5ncm91cDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5wcm9qZWN0ID0gZ2l0UmVtb3RlTWF0Y2guZ3JvdXBzLnByb2plY3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGUuc2NoZW1hID0gXCJnaXRcIjtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZS5wb3J0ID0gcG9ydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICR7ZS5tZXNzYWdlfX1cXG5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVXNpbmcgZmFsbGJhY2sgZ2l0IHJlbW90ZSBkYXRhfVxcbmApO1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdFVzZXJEYXRhIChjd2Q6IHN0cmluZywgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcblxuICAgICAgICBjb25zdCBnaXRVc2VybmFtZVByb21pc2UgPSBVdGlscy5zcGF3bihbXCJnaXRcIiwgXCJjb25maWdcIiwgXCJ1c2VyLm5hbWVcIl0sIGN3ZCkudGhlbigoe3N0ZG91dH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlci5HSVRMQUJfVVNFUl9OQU1FID0gc3Rkb3V0LnRyaW1FbmQoKTtcbiAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyBVc2luZyBmYWxsYmFjayBnaXQgdXNlci5uYW1lfVxcbmApO1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICB9KTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChnaXRVc2VybmFtZVByb21pc2UpO1xuXG4gICAgICAgIGNvbnN0IGdpdEVtYWlsUHJvbWlzZSA9IFV0aWxzLnNwYXduKFtcImdpdFwiLCBcImNvbmZpZ1wiLCBcInVzZXIuZW1haWxcIl0sIGN3ZCkudGhlbigoe3N0ZG91dH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVtYWlsID0gc3Rkb3V0LnRyaW1FbmQoKTtcbiAgICAgICAgICAgIHRoaXMudXNlci5HSVRMQUJfVVNFUl9FTUFJTCA9IGVtYWlsO1xuICAgICAgICAgICAgdGhpcy51c2VyLkdJVExBQl9VU0VSX0xPR0lOID0gZW1haWwucmVwbGFjZSgvQC4qLywgXCJcIik7XG4gICAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgVXNpbmcgZmFsbGJhY2sgZ2l0IHVzZXIuZW1haWx9XFxuYCk7XG4gICAgICAgICAgICB3cml0ZVN0cmVhbXMuc3RkZXJyKGNoYWxrYHt5ZWxsb3cgICAke2UubWVzc2FnZX1cXG59YCk7XG4gICAgICAgIH0pO1xuICAgICAgICBwcm9taXNlcy5wdXNoKGdpdEVtYWlsUHJvbWlzZSk7XG5cbiAgICAgICAgY29uc3Qgb3NVaWRQcm9taXNlID0gVXRpbHMuc3Bhd24oW1wiaWRcIiwgXCItdVwiXSwgY3dkKS50aGVuKCh7c3Rkb3V0fSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyLkdJVExBQl9VU0VSX0lEID0gc3Rkb3V0LnRyaW1FbmQoKTtcbiAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHdyaXRlU3RyZWFtcy5zdGRlcnIoY2hhbGtge3llbGxvdyBVc2luZyBmYWxsYmFjayBsaW51eCB1c2VyIGlkfVxcbmApO1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7eWVsbG93ICAgJHtlLm1lc3NhZ2V9XFxufWApO1xuICAgICAgICB9KTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChvc1VpZFByb21pc2UpO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICB9XG59XG4iXX0=
|
package/src/global.js
CHANGED
|
@@ -3,7 +3,7 @@ String.prototype.matchRE2JS = function (o) {
|
|
|
3
3
|
const matcher = o.matcher(this.toString());
|
|
4
4
|
while (matcher.find()) {
|
|
5
5
|
const g = matcher.group();
|
|
6
|
-
if (g == "")
|
|
6
|
+
if (g == null || g == "")
|
|
7
7
|
continue;
|
|
8
8
|
results = results ?? [];
|
|
9
9
|
results.push(g);
|
|
@@ -37,4 +37,4 @@ String.prototype.matchAllRE2JS = function (o) {
|
|
|
37
37
|
return iterator();
|
|
38
38
|
};
|
|
39
39
|
export {};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2xvYmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBUTtJQUM1QyxJQUFJLE9BQU8sR0FBb0IsSUFBSSxDQUFDO0lBQ3BDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQUUsU0FBUztRQUNuQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQVE7SUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEMsUUFBUSxDQUFDLENBQUMsUUFBUTtRQUNkLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQW1CLEVBQStCLENBQUM7WUFDOUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBRW5CLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFxQyxDQUFDLEVBQUUsQ0FBQztvQkFDeEYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQzdCLENBQUM7WUFFRCxNQUFNLEtBQUssQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sUUFBUSxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSRTJKU30gZnJvbSBcInJlMmpzXCI7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgU3RyaW5nIHtcbiAgICAgICAgbWF0Y2hSRTJKUyhvOiBSRTJKUyk6IEFycmF5PHN0cmluZz4gfCBudWxsO1xuICAgICAgICBtYXRjaEFsbFJFMkpTKG86IFJFMkpTKTogSXRlcmFibGVJdGVyYXRvcjxSZWdFeHBNYXRjaEFsbD47XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgUmVnRXhwTWF0Y2hBbGwgZXh0ZW5kcyBBcnJheTxzdHJpbmcgfCBudWxsPiB7XG4gICAgaW5kZXg/OiBudW1iZXI7XG4gICAgaW5wdXQ/OiBzdHJpbmc7XG4gICAgZ3JvdXBzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkO1xufVxuXG5TdHJpbmcucHJvdG90eXBlLm1hdGNoUkUySlMgPSBmdW5jdGlvbiAobzogUkUySlMpOiBBcnJheTxzdHJpbmc+IHwgbnVsbCB7XG4gICAgbGV0IHJlc3VsdHM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3QgbWF0Y2hlciA9IG8ubWF0Y2hlcih0aGlzLnRvU3RyaW5nKCkpO1xuICAgIHdoaWxlIChtYXRjaGVyLmZpbmQoKSkge1xuICAgICAgICBjb25zdCBnID0gbWF0Y2hlci5ncm91cCgpO1xuICAgICAgICBpZiAoZyA9PSBudWxsIHx8IGcgPT0gXCJcIikgY29udGludWU7XG4gICAgICAgIHJlc3VsdHMgPSByZXN1bHRzID8/IFtdO1xuICAgICAgICByZXN1bHRzLnB1c2goZyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xufTtcblxuU3RyaW5nLnByb3RvdHlwZS5tYXRjaEFsbFJFMkpTID0gZnVuY3Rpb24gKG86IFJFMkpTKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXMudG9TdHJpbmcoKTtcbiAgICBjb25zdCBtYXRjaGVyID0gby5tYXRjaGVyKHNlbGYpO1xuXG4gICAgZnVuY3Rpb24qIGl0ZXJhdG9yICgpOiBJdGVyYWJsZUl0ZXJhdG9yPFJlZ0V4cE1hdGNoQWxsPiB7XG4gICAgICAgIHdoaWxlIChtYXRjaGVyLmZpbmQoKSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQWxsID0gW10gYXMgdW5rbm93biBhcyBSZWdFeHBNYXRjaEFsbDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IG1hdGNoZXIuZ3JvdXBDb3VudCgpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXRjaC5wdXNoKG1hdGNoZXIuZ3JvdXAoaSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWF0Y2guaW5kZXggPSBtYXRjaGVyLmdyb3Vwc1swXTtcbiAgICAgICAgICAgIG1hdGNoLmlucHV0ID0gc2VsZjtcblxuICAgICAgICAgICAgaWYgKG1hdGNoZXIubmFtZWRHcm91cHMgJiYgT2JqZWN0LmtleXMobWF0Y2hlci5uYW1lZEdyb3VwcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG1hdGNoZXIubmFtZWRHcm91cHMgYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPikpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBzW25hbWVdID0gbWF0Y2hlci5ncm91cCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1hdGNoLmdyb3VwcyA9IGdyb3VwcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbWF0Y2guZ3JvdXBzID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB5aWVsZCBtYXRjaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpdGVyYXRvcigpO1xufTtcbiJdfQ==
|
package/src/handler.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as yaml from "js-yaml";
|
|
2
|
-
import chalk from "chalk";
|
|
2
|
+
import chalk from "chalk-template";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import fs from "fs-extra";
|
|
5
5
|
import yargs from "yargs";
|
|
@@ -68,6 +68,9 @@ export async function handler(args, writeStreams, jobs = [], childPipelineDepth
|
|
|
68
68
|
}
|
|
69
69
|
else if (argv.job.length > 0) {
|
|
70
70
|
assert(argv.stage === null, "You cannot use --stage when starting individual jobs");
|
|
71
|
+
if (argv.registry) {
|
|
72
|
+
await Utils.startDockerRegistry(argv);
|
|
73
|
+
}
|
|
71
74
|
generateGitIgnore(cwd, stateDir);
|
|
72
75
|
const time = process.hrtime();
|
|
73
76
|
if (argv.needs || argv.onlyNeeds) {
|
|
@@ -82,6 +85,9 @@ export async function handler(args, writeStreams, jobs = [], childPipelineDepth
|
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
else if (argv.stage) {
|
|
88
|
+
if (argv.registry) {
|
|
89
|
+
await Utils.startDockerRegistry(argv);
|
|
90
|
+
}
|
|
85
91
|
generateGitIgnore(cwd, stateDir);
|
|
86
92
|
const time = process.hrtime();
|
|
87
93
|
const pipelineIid = await state.getPipelineIid(cwd, stateDir);
|
|
@@ -91,6 +97,9 @@ export async function handler(args, writeStreams, jobs = [], childPipelineDepth
|
|
|
91
97
|
writeStreams.stderr(chalk `{grey pipeline finished} in {grey ${prettyHrtime(process.hrtime(time))}}\n`);
|
|
92
98
|
}
|
|
93
99
|
else {
|
|
100
|
+
if (argv.registry) {
|
|
101
|
+
await Utils.startDockerRegistry(argv);
|
|
102
|
+
}
|
|
94
103
|
generateGitIgnore(cwd, stateDir);
|
|
95
104
|
const time = process.hrtime();
|
|
96
105
|
await state.incrementPipelineIid(cwd, stateDir);
|
|
@@ -102,6 +111,9 @@ export async function handler(args, writeStreams, jobs = [], childPipelineDepth
|
|
|
102
111
|
writeStreams.stderr(chalk `{grey pipeline finished} in {grey ${prettyHrtime(process.hrtime(time))}}\n`);
|
|
103
112
|
}
|
|
104
113
|
writeStreams.flush();
|
|
114
|
+
if (argv.registry) {
|
|
115
|
+
await Utils.stopDockerRegistry(argv.containerExecutable);
|
|
116
|
+
}
|
|
105
117
|
return cleanupJobResources(jobs);
|
|
106
118
|
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsbUJBQW1CLEVBQU0sTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsR0FBRyxJQUFJLFFBQVEsYUFBYSxDQUFDO0lBQzFELE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7SUFDNUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQUUsSUFBUyxFQUFFLFlBQTBCLEVBQUUs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cy15YW1sXCI7XG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHlhcmdzIGZyb20gXCJ5YXJnc1wiO1xuaW1wb3J0IHtDb21tYW5kZXJ9IGZyb20gXCIuL2NvbW1hbmRlci5qc1wiO1xuaW1wb3J0IHtQYXJzZXJ9IGZyb20gXCIuL3BhcnNlci5qc1wiO1xuaW1wb3J0ICogYXMgc3RhdGUgZnJvbSBcIi4vc3RhdGUuanNcIjtcbmltcG9ydCBwcmV0dHlIcnRpbWUgZnJvbSBcInByZXR0eS1ocnRpbWVcIjtcbmltcG9ydCB7V3JpdGVTdHJlYW1zfSBmcm9tIFwiLi93cml0ZS1zdHJlYW1zLmpzXCI7XG5pbXBvcnQge2NsZWFudXBKb2JSZXNvdXJjZXMsIEpvYn0gZnJvbSBcIi4vam9iLmpzXCI7XG5pbXBvcnQge1V0aWxzfSBmcm9tIFwiLi91dGlscy5qc1wiO1xuaW1wb3J0IHtBcmd2fSBmcm9tIFwiLi9hcmd2LmpzXCI7XG5pbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcblxuY29uc3QgZ2VuZXJhdGVHaXRJZ25vcmUgPSAoY3dkOiBzdHJpbmcsIHN0YXRlRGlyOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBnaXRJZ25vcmVGaWxlUGF0aCA9IGAke2N3ZH0vJHtzdGF0ZURpcn0vLmdpdGlnbm9yZWA7XG4gICAgY29uc3QgZ2l0SWdub3JlQ29udGVudCA9IFwiKlxcbiEuZ2l0aWdub3JlXFxuXCI7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGdpdElnbm9yZUZpbGVQYXRoKSkge1xuICAgICAgICBmcy5vdXRwdXRGaWxlU3luYyhnaXRJZ25vcmVGaWxlUGF0aCwgZ2l0SWdub3JlQ29udGVudCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIgKGFyZ3M6IGFueSwgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMsIGpvYnM6IEpvYltdID0gW10sIGNoaWxkUGlwZWxpbmVEZXB0aCA9IDApIHtcbiAgICBhc3NlcnQoY2hpbGRQaXBlbGluZURlcHRoIDw9IDIsIFwiUGFyZW50IGFuZCBjaGlsZCBwaXBlbGluZXMgaGF2ZSBhIG1heGltdW0gZGVwdGggb2YgdHdvIGxldmVscyBvZiBjaGlsZCBwaXBlbGluZXMuXCIpO1xuICAgIGNvbnN0IGFyZ3YgPSBhd2FpdCBBcmd2LmJ1aWxkKHsuLi5hcmdzLCBjaGlsZFBpcGVsaW5lRGVwdGg6IGNoaWxkUGlwZWxpbmVEZXB0aH0sIHdyaXRlU3RyZWFtcyk7XG4gICAgY29uc3QgY3dkID0gYXJndi5jd2Q7XG4gICAgY29uc3Qgc3RhdGVEaXIgPSBhcmd2LnN0YXRlRGlyO1xuICAgIGNvbnN0IGZpbGUgPSBhcmd2LmZpbGU7XG4gICAgbGV0IHBhcnNlcjogUGFyc2VyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoYXJndi5jb21wbGV0aW9uKSB7XG4gICAgICAgIHlhcmdzKHByb2Nlc3MuYXJndi5zbGljZSgyKSkuc2hvd0NvbXBsZXRpb25TY3JpcHQoKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGFzc2VydChmcy5leGlzdHNTeW5jKGAke2N3ZH0vJHtmaWxlfWApLCBgJHtwYXRoLnJlc29sdmUoY3dkKX0vJHtmaWxlfSBjb3VsZCBub3QgYmUgZm91bmRgKTtcblxuICAgIGlmIChhcmd2LnByZXZpZXcpIHtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVJaWQgPSBhd2FpdCBzdGF0ZS5nZXRQaXBlbGluZUlpZChjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgcGFyc2VyID0gYXdhaXQgUGFyc2VyLmNyZWF0ZShhcmd2LCB3cml0ZVN0cmVhbXMsIHBpcGVsaW5lSWlkLCBqb2JzLCBmYWxzZSk7XG4gICAgICAgIGNvbnN0IGdpdGxhYkRhdGEgPSBwYXJzZXIuZ2l0bGFiRGF0YTtcbiAgICAgICAgZm9yIChjb25zdCBqb2JOYW1lIG9mIE9iamVjdC5rZXlzKGdpdGxhYkRhdGEpKSB7XG4gICAgICAgICAgICBpZiAoam9iTmFtZSA9PT0gXCJzdGFnZXNcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGpvYk5hbWUuc3RhcnRzV2l0aChcIi5cIikgfHwgW1wiaW5jbHVkZVwiLCBcImFmdGVyX3NjcmlwdFwiLCBcImJlZm9yZV9zY3JpcHRcIiwgXCJkZWZhdWx0XCJdLmluY2x1ZGVzKGpvYk5hbWUpKSB7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHNpbmNlIHRoZXNlIGFyZSByZWR1bmRhbnQgaW5mbyB3aGljaCBhcmUgYWxyZWFkeSBcImV4dGVuZGVkXCIgaW4gdGhlIGpvYnNcbiAgICAgICAgICAgICAgICBkZWxldGUgZ2l0bGFiRGF0YVtqb2JOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0cmVhbXMuc3Rkb3V0KGAtLS1cXG4ke3lhbWwuZHVtcChnaXRsYWJEYXRhLCB7bGluZVdpZHRoOiAxNjB9KX1gKTtcbiAgICB9IGVsc2UgaWYgKGFyZ3YubGlzdCB8fCBhcmd2Lmxpc3RBbGwpIHtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVJaWQgPSBhd2FpdCBzdGF0ZS5nZXRQaXBlbGluZUlpZChjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgcGFyc2VyID0gYXdhaXQgUGFyc2VyLmNyZWF0ZShhcmd2LCB3cml0ZVN0cmVhbXMsIHBpcGVsaW5lSWlkLCBqb2JzKTtcbiAgICAgICAgQ29tbWFuZGVyLnJ1bkxpc3QocGFyc2VyLCB3cml0ZVN0cmVhbXMsIGFyZ3YubGlzdEFsbCk7XG4gICAgfSBlbHNlIGlmIChhcmd2LnZhbGlkYXRlRGVwZW5kZW5jeUNoYWluKSB7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIENvbW1hbmRlci52YWxpZGF0ZURlcGVuZGVuY3lDaGFpbihwYXJzZXIpO1xuICAgICAgICB3cml0ZVN0cmVhbXMuc3Rkb3V0KGNoYWxrYHtncmVlbiDinJMgQWxsIGpvYiBkZXBlbmRlbmNpZXMgYXJlIHZhbGlkfVxcbmApO1xuICAgIH0gZWxzZSBpZiAoYXJndi5saXN0SnNvbikge1xuICAgICAgICBjb25zdCBwaXBlbGluZUlpZCA9IGF3YWl0IHN0YXRlLmdldFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBwYXJzZXIgPSBhd2FpdCBQYXJzZXIuY3JlYXRlKGFyZ3YsIHdyaXRlU3RyZWFtcywgcGlwZWxpbmVJaWQsIGpvYnMpO1xuICAgICAgICBDb21tYW5kZXIucnVuSnNvbihwYXJzZXIsIHdyaXRlU3RyZWFtcyk7XG4gICAgfSBlbHNlIGlmIChhcmd2Lmxpc3RDc3YgfHwgYXJndi5saXN0Q3N2QWxsKSB7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIENvbW1hbmRlci5ydW5Dc3YocGFyc2VyLCB3cml0ZVN0cmVhbXMsIGFyZ3YubGlzdENzdkFsbCk7XG4gICAgfSBlbHNlIGlmIChhcmd2LmpvYi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFzc2VydChhcmd2LnN0YWdlID09PSBudWxsLCBcIllvdSBjYW5ub3QgdXNlIC0tc3RhZ2Ugd2hlbiBzdGFydGluZyBpbmRpdmlkdWFsIGpvYnNcIik7XG4gICAgICAgIGdlbmVyYXRlR2l0SWdub3JlKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBjb25zdCB0aW1lID0gcHJvY2Vzcy5ocnRpbWUoKTtcbiAgICAgICAgaWYgKGFyZ3YubmVlZHMgfHwgYXJndi5vbmx5TmVlZHMpIHtcbiAgICAgICAgICAgIGF3YWl0IHN0YXRlLmluY3JlbWVudFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIGF3YWl0IFV0aWxzLnJzeW5jVHJhY2tlZEZpbGVzKGN3ZCwgc3RhdGVEaXIsIFwiLmRvY2tlclwiKTtcbiAgICAgICAgYXdhaXQgQ29tbWFuZGVyLnJ1bkpvYnMoYXJndiwgcGFyc2VyLCB3cml0ZVN0cmVhbXMpO1xuICAgICAgICBpZiAoYXJndi5uZWVkcyB8fCBhcmd2Lm9ubHlOZWVkcykge1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJndi5zdGFnZSkge1xuICAgICAgICBnZW5lcmF0ZUdpdElnbm9yZShjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgY29uc3QgdGltZSA9IHByb2Nlc3MuaHJ0aW1lKCk7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIGF3YWl0IFV0aWxzLnJzeW5jVHJhY2tlZEZpbGVzKGN3ZCwgc3RhdGVEaXIsIFwiLmRvY2tlclwiKTtcbiAgICAgICAgYXdhaXQgQ29tbWFuZGVyLnJ1bkpvYnNJblN0YWdlKGFyZ3YsIHBhcnNlciwgd3JpdGVTdHJlYW1zKTtcbiAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBnZW5lcmF0ZUdpdElnbm9yZShjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgY29uc3QgdGltZSA9IHByb2Nlc3MuaHJ0aW1lKCk7XG4gICAgICAgIGF3YWl0IHN0YXRlLmluY3JlbWVudFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBjb25zdCBwaXBlbGluZUlpZCA9IGF3YWl0IHN0YXRlLmdldFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBwYXJzZXIgPSBhd2FpdCBQYXJzZXIuY3JlYXRlKGFyZ3YsIHdyaXRlU3RyZWFtcywgcGlwZWxpbmVJaWQsIGpvYnMpO1xuICAgICAgICBhd2FpdCBVdGlscy5yc3luY1RyYWNrZWRGaWxlcyhjd2QsIHN0YXRlRGlyLCBcIi5kb2NrZXJcIik7XG4gICAgICAgIGF3YWl0IENvbW1hbmRlci5ydW5QaXBlbGluZShhcmd2LCBwYXJzZXIsIHdyaXRlU3RyZWFtcyk7XG4gICAgICAgIGlmIChjaGlsZFBpcGVsaW5lRGVwdGggPT0gMCkgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICB9XG4gICAgd3JpdGVTdHJlYW1zLmZsdXNoKCk7XG5cbiAgICByZXR1cm4gY2xlYW51cEpvYlJlc291cmNlcyhqb2JzKTtcbn1cbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxtQkFBbUIsRUFBTSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ3hELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxHQUFHLElBQUksUUFBUSxhQUFhLENBQUM7SUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztJQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDcEMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBRSxJQUFTLEVBQUUsWUFBMEIsRUFB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QUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hELElBQUksa0JBQWtCLElBQUksQ0FBQztZQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBLHFDQUFxQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXJCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB5YW1sIGZyb20gXCJqcy15YW1sXCI7XG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrLXRlbXBsYXRlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHlhcmdzIGZyb20gXCJ5YXJnc1wiO1xuaW1wb3J0IHtDb21tYW5kZXJ9IGZyb20gXCIuL2NvbW1hbmRlci5qc1wiO1xuaW1wb3J0IHtQYXJzZXJ9IGZyb20gXCIuL3BhcnNlci5qc1wiO1xuaW1wb3J0ICogYXMgc3RhdGUgZnJvbSBcIi4vc3RhdGUuanNcIjtcbmltcG9ydCBwcmV0dHlIcnRpbWUgZnJvbSBcInByZXR0eS1ocnRpbWVcIjtcbmltcG9ydCB7V3JpdGVTdHJlYW1zfSBmcm9tIFwiLi93cml0ZS1zdHJlYW1zLmpzXCI7XG5pbXBvcnQge2NsZWFudXBKb2JSZXNvdXJjZXMsIEpvYn0gZnJvbSBcIi4vam9iLmpzXCI7XG5pbXBvcnQge1V0aWxzfSBmcm9tIFwiLi91dGlscy5qc1wiO1xuaW1wb3J0IHtBcmd2fSBmcm9tIFwiLi9hcmd2LmpzXCI7XG5pbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcblxuY29uc3QgZ2VuZXJhdGVHaXRJZ25vcmUgPSAoY3dkOiBzdHJpbmcsIHN0YXRlRGlyOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBnaXRJZ25vcmVGaWxlUGF0aCA9IGAke2N3ZH0vJHtzdGF0ZURpcn0vLmdpdGlnbm9yZWA7XG4gICAgY29uc3QgZ2l0SWdub3JlQ29udGVudCA9IFwiKlxcbiEuZ2l0aWdub3JlXFxuXCI7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGdpdElnbm9yZUZpbGVQYXRoKSkge1xuICAgICAgICBmcy5vdXRwdXRGaWxlU3luYyhnaXRJZ25vcmVGaWxlUGF0aCwgZ2l0SWdub3JlQ29udGVudCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIgKGFyZ3M6IGFueSwgd3JpdGVTdHJlYW1zOiBXcml0ZVN0cmVhbXMsIGpvYnM6IEpvYltdID0gW10sIGNoaWxkUGlwZWxpbmVEZXB0aCA9IDApIHtcbiAgICBhc3NlcnQoY2hpbGRQaXBlbGluZURlcHRoIDw9IDIsIFwiUGFyZW50IGFuZCBjaGlsZCBwaXBlbGluZXMgaGF2ZSBhIG1heGltdW0gZGVwdGggb2YgdHdvIGxldmVscyBvZiBjaGlsZCBwaXBlbGluZXMuXCIpO1xuICAgIGNvbnN0IGFyZ3YgPSBhd2FpdCBBcmd2LmJ1aWxkKHsuLi5hcmdzLCBjaGlsZFBpcGVsaW5lRGVwdGg6IGNoaWxkUGlwZWxpbmVEZXB0aH0sIHdyaXRlU3RyZWFtcyk7XG4gICAgY29uc3QgY3dkID0gYXJndi5jd2Q7XG4gICAgY29uc3Qgc3RhdGVEaXIgPSBhcmd2LnN0YXRlRGlyO1xuICAgIGNvbnN0IGZpbGUgPSBhcmd2LmZpbGU7XG4gICAgbGV0IHBhcnNlcjogUGFyc2VyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoYXJndi5jb21wbGV0aW9uKSB7XG4gICAgICAgIHlhcmdzKHByb2Nlc3MuYXJndi5zbGljZSgyKSkuc2hvd0NvbXBsZXRpb25TY3JpcHQoKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGFzc2VydChmcy5leGlzdHNTeW5jKGAke2N3ZH0vJHtmaWxlfWApLCBgJHtwYXRoLnJlc29sdmUoY3dkKX0vJHtmaWxlfSBjb3VsZCBub3QgYmUgZm91bmRgKTtcblxuICAgIGlmIChhcmd2LnByZXZpZXcpIHtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVJaWQgPSBhd2FpdCBzdGF0ZS5nZXRQaXBlbGluZUlpZChjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgcGFyc2VyID0gYXdhaXQgUGFyc2VyLmNyZWF0ZShhcmd2LCB3cml0ZVN0cmVhbXMsIHBpcGVsaW5lSWlkLCBqb2JzLCBmYWxzZSk7XG4gICAgICAgIGNvbnN0IGdpdGxhYkRhdGEgPSBwYXJzZXIuZ2l0bGFiRGF0YTtcbiAgICAgICAgZm9yIChjb25zdCBqb2JOYW1lIG9mIE9iamVjdC5rZXlzKGdpdGxhYkRhdGEpKSB7XG4gICAgICAgICAgICBpZiAoam9iTmFtZSA9PT0gXCJzdGFnZXNcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGpvYk5hbWUuc3RhcnRzV2l0aChcIi5cIikgfHwgW1wiaW5jbHVkZVwiLCBcImFmdGVyX3NjcmlwdFwiLCBcImJlZm9yZV9zY3JpcHRcIiwgXCJkZWZhdWx0XCJdLmluY2x1ZGVzKGpvYk5hbWUpKSB7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHNpbmNlIHRoZXNlIGFyZSByZWR1bmRhbnQgaW5mbyB3aGljaCBhcmUgYWxyZWFkeSBcImV4dGVuZGVkXCIgaW4gdGhlIGpvYnNcbiAgICAgICAgICAgICAgICBkZWxldGUgZ2l0bGFiRGF0YVtqb2JOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0cmVhbXMuc3Rkb3V0KGAtLS1cXG4ke3lhbWwuZHVtcChnaXRsYWJEYXRhLCB7bGluZVdpZHRoOiAxNjB9KX1gKTtcbiAgICB9IGVsc2UgaWYgKGFyZ3YubGlzdCB8fCBhcmd2Lmxpc3RBbGwpIHtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVJaWQgPSBhd2FpdCBzdGF0ZS5nZXRQaXBlbGluZUlpZChjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgcGFyc2VyID0gYXdhaXQgUGFyc2VyLmNyZWF0ZShhcmd2LCB3cml0ZVN0cmVhbXMsIHBpcGVsaW5lSWlkLCBqb2JzKTtcbiAgICAgICAgQ29tbWFuZGVyLnJ1bkxpc3QocGFyc2VyLCB3cml0ZVN0cmVhbXMsIGFyZ3YubGlzdEFsbCk7XG4gICAgfSBlbHNlIGlmIChhcmd2LnZhbGlkYXRlRGVwZW5kZW5jeUNoYWluKSB7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIENvbW1hbmRlci52YWxpZGF0ZURlcGVuZGVuY3lDaGFpbihwYXJzZXIpO1xuICAgICAgICB3cml0ZVN0cmVhbXMuc3Rkb3V0KGNoYWxrYHtncmVlbiDinJMgQWxsIGpvYiBkZXBlbmRlbmNpZXMgYXJlIHZhbGlkfVxcbmApO1xuICAgIH0gZWxzZSBpZiAoYXJndi5saXN0SnNvbikge1xuICAgICAgICBjb25zdCBwaXBlbGluZUlpZCA9IGF3YWl0IHN0YXRlLmdldFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBwYXJzZXIgPSBhd2FpdCBQYXJzZXIuY3JlYXRlKGFyZ3YsIHdyaXRlU3RyZWFtcywgcGlwZWxpbmVJaWQsIGpvYnMpO1xuICAgICAgICBDb21tYW5kZXIucnVuSnNvbihwYXJzZXIsIHdyaXRlU3RyZWFtcyk7XG4gICAgfSBlbHNlIGlmIChhcmd2Lmxpc3RDc3YgfHwgYXJndi5saXN0Q3N2QWxsKSB7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIENvbW1hbmRlci5ydW5Dc3YocGFyc2VyLCB3cml0ZVN0cmVhbXMsIGFyZ3YubGlzdENzdkFsbCk7XG4gICAgfSBlbHNlIGlmIChhcmd2LmpvYi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFzc2VydChhcmd2LnN0YWdlID09PSBudWxsLCBcIllvdSBjYW5ub3QgdXNlIC0tc3RhZ2Ugd2hlbiBzdGFydGluZyBpbmRpdmlkdWFsIGpvYnNcIik7XG4gICAgICAgIGlmIChhcmd2LnJlZ2lzdHJ5KSB7XG4gICAgICAgICAgICBhd2FpdCBVdGlscy5zdGFydERvY2tlclJlZ2lzdHJ5KGFyZ3YpO1xuICAgICAgICB9XG4gICAgICAgIGdlbmVyYXRlR2l0SWdub3JlKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBjb25zdCB0aW1lID0gcHJvY2Vzcy5ocnRpbWUoKTtcbiAgICAgICAgaWYgKGFyZ3YubmVlZHMgfHwgYXJndi5vbmx5TmVlZHMpIHtcbiAgICAgICAgICAgIGF3YWl0IHN0YXRlLmluY3JlbWVudFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIGF3YWl0IFV0aWxzLnJzeW5jVHJhY2tlZEZpbGVzKGN3ZCwgc3RhdGVEaXIsIFwiLmRvY2tlclwiKTtcbiAgICAgICAgYXdhaXQgQ29tbWFuZGVyLnJ1bkpvYnMoYXJndiwgcGFyc2VyLCB3cml0ZVN0cmVhbXMpO1xuICAgICAgICBpZiAoYXJndi5uZWVkcyB8fCBhcmd2Lm9ubHlOZWVkcykge1xuICAgICAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJndi5zdGFnZSkge1xuICAgICAgICBpZiAoYXJndi5yZWdpc3RyeSkge1xuICAgICAgICAgICAgYXdhaXQgVXRpbHMuc3RhcnREb2NrZXJSZWdpc3RyeShhcmd2KTtcbiAgICAgICAgfVxuICAgICAgICBnZW5lcmF0ZUdpdElnbm9yZShjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgY29uc3QgdGltZSA9IHByb2Nlc3MuaHJ0aW1lKCk7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lSWlkID0gYXdhaXQgc3RhdGUuZ2V0UGlwZWxpbmVJaWQoY3dkLCBzdGF0ZURpcik7XG4gICAgICAgIHBhcnNlciA9IGF3YWl0IFBhcnNlci5jcmVhdGUoYXJndiwgd3JpdGVTdHJlYW1zLCBwaXBlbGluZUlpZCwgam9icyk7XG4gICAgICAgIGF3YWl0IFV0aWxzLnJzeW5jVHJhY2tlZEZpbGVzKGN3ZCwgc3RhdGVEaXIsIFwiLmRvY2tlclwiKTtcbiAgICAgICAgYXdhaXQgQ29tbWFuZGVyLnJ1bkpvYnNJblN0YWdlKGFyZ3YsIHBhcnNlciwgd3JpdGVTdHJlYW1zKTtcbiAgICAgICAgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoYXJndi5yZWdpc3RyeSkge1xuICAgICAgICAgICAgYXdhaXQgVXRpbHMuc3RhcnREb2NrZXJSZWdpc3RyeShhcmd2KTtcbiAgICAgICAgfVxuICAgICAgICBnZW5lcmF0ZUdpdElnbm9yZShjd2QsIHN0YXRlRGlyKTtcbiAgICAgICAgY29uc3QgdGltZSA9IHByb2Nlc3MuaHJ0aW1lKCk7XG4gICAgICAgIGF3YWl0IHN0YXRlLmluY3JlbWVudFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBjb25zdCBwaXBlbGluZUlpZCA9IGF3YWl0IHN0YXRlLmdldFBpcGVsaW5lSWlkKGN3ZCwgc3RhdGVEaXIpO1xuICAgICAgICBwYXJzZXIgPSBhd2FpdCBQYXJzZXIuY3JlYXRlKGFyZ3YsIHdyaXRlU3RyZWFtcywgcGlwZWxpbmVJaWQsIGpvYnMpO1xuICAgICAgICBhd2FpdCBVdGlscy5yc3luY1RyYWNrZWRGaWxlcyhjd2QsIHN0YXRlRGlyLCBcIi5kb2NrZXJcIik7XG4gICAgICAgIGF3YWl0IENvbW1hbmRlci5ydW5QaXBlbGluZShhcmd2LCBwYXJzZXIsIHdyaXRlU3RyZWFtcyk7XG4gICAgICAgIGlmIChjaGlsZFBpcGVsaW5lRGVwdGggPT0gMCkgd3JpdGVTdHJlYW1zLnN0ZGVycihjaGFsa2B7Z3JleSBwaXBlbGluZSBmaW5pc2hlZH0gaW4ge2dyZXkgJHtwcmV0dHlIcnRpbWUocHJvY2Vzcy5ocnRpbWUodGltZSkpfX1cXG5gKTtcbiAgICB9XG4gICAgd3JpdGVTdHJlYW1zLmZsdXNoKCk7XG5cbiAgICBpZiAoYXJndi5yZWdpc3RyeSkge1xuICAgICAgICBhd2FpdCBVdGlscy5zdG9wRG9ja2VyUmVnaXN0cnkoYXJndi5jb250YWluZXJFeGVjdXRhYmxlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNsZWFudXBKb2JSZXNvdXJjZXMoam9icyk7XG59XG4iXX0=
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import chalk from "chalk";
|
|
2
|
+
import chalk from "chalk-template";
|
|
3
3
|
import yargs from "yargs";
|
|
4
4
|
import { Parser } from "./parser.js";
|
|
5
5
|
import * as state from "./state.js";
|
|
@@ -21,7 +21,7 @@ process.on("SIGUSR2", async () => await cleanupJobResources(jobs));
|
|
|
21
21
|
const yparser = yargs(process.argv.slice(2));
|
|
22
22
|
yparser.parserConfiguration({ "greedy-arrays": false })
|
|
23
23
|
.showHelpOnFail(false)
|
|
24
|
-
.version("4.
|
|
24
|
+
.version("4.65.0")
|
|
25
25
|
.wrap(yparser.terminalWidth?.())
|
|
26
26
|
.command({
|
|
27
27
|
handler: async (argv) => {
|
|
@@ -334,6 +334,11 @@ process.on("SIGUSR2", async () => await cleanupJobResources(jobs));
|
|
|
334
334
|
requiresArg: false,
|
|
335
335
|
default: true,
|
|
336
336
|
description: "Enables color",
|
|
337
|
+
})
|
|
338
|
+
.option("registry", {
|
|
339
|
+
type: "boolean",
|
|
340
|
+
requiresArg: false,
|
|
341
|
+
description: "Start a local docker registry and configure gitlab-ci-local containers to use that by default",
|
|
337
342
|
})
|
|
338
343
|
.completion("completion", false, (current, yargsArgv, completionFilter, done) => {
|
|
339
344
|
try {
|
|
@@ -356,4 +361,4 @@ process.on("SIGUSR2", async () => await cleanupJobResources(jobs));
|
|
|
356
361
|
})
|
|
357
362
|
.parse();
|
|
358
363
|
})();
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFNLG1CQUFtQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE1BQU0sSUFBSSxHQUFVLEVBQUUsQ0FBQztBQUV2QixPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBUyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQ25ELE1BQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVILGdDQUFnQztBQUNoQyxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUVuRSxDQUFDLEdBQUcsRUFBRTtJQUNGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxP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QztJQUVMLENBQUMsQ0FBQztTQUNELEtBQUssRUFBRSxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5pbXBvcnQgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQge1BhcnNlcn0gZnJvbSBcIi4vcGFyc2VyLmpzXCI7XG5pbXBvcnQgKiBhcyBzdGF0ZSBmcm9tIFwiLi9zdGF0ZS5qc1wiO1xuaW1wb3J0IHtXcml0ZVN0cmVhbXNQcm9jZXNzLCBXcml0ZVN0cmVhbXNNb2NrfSBmcm9tIFwiLi93cml0ZS1zdHJlYW1zLmpzXCI7XG5pbXBvcnQge2hhbmRsZXJ9IGZyb20gXCIuL2hhbmRsZXIuanNcIjtcbmltcG9ydCB7RXhlY3V0b3J9IGZyb20gXCIuL2V4ZWN1dG9yLmpzXCI7XG5pbXBvcnQge0FyZ3Z9IGZyb20gXCIuL2FyZ3YuanNcIjtcbmltcG9ydCB7QXNzZXJ0aW9uRXJyb3J9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7Sm9iLCBjbGVhbnVwSm9iUmVzb3VyY2VzfSBmcm9tIFwiLi9qb2IuanNcIjtcbmltcG9ydCB7R2l0bGFiUnVubmVyUHJlc2V0VmFsdWVzfSBmcm9tIFwiLi9naXRsYWItcHJlc2V0LmpzXCI7XG5cbmNvbnN0IGpvYnM6IEpvYltdID0gW107XG5cbnByb2Nlc3Mub24oXCJTSUdJTlRcIiwgYXN5bmMgKF86IHN0cmluZywgY29kZTogbnVtYmVyKSA9PiB7XG4gICAgYXdhaXQgY2xlYW51cEpvYlJlc291cmNlcyhqb2JzKTtcbiAgICBwcm9jZXNzLmV4aXQoY29kZSk7XG59KTtcblxuLy8gR3JhY2VmdWwgc2h1dGRvd24gZm9yIG5vZGVtb25cbnByb2Nlc3Mub24oXCJTSUdVU1IyXCIsIGFzeW5jICgpID0+IGF3YWl0IGNsZWFudXBKb2JSZXNvdXJjZXMoam9icykpO1xuXG4oKCkgPT4ge1xuICAgIGNvbnN0IHlwYXJzZXIgPSB5YXJncyhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpO1xuICAgIHlwYXJzZXIucGFyc2VyQ29uZmlndXJhdGlvbih7XCJncmVlZHktYXJyYXlzXCI6IGZhbHNlfSlcbiAgICAgICAgLnNob3dIZWxwT25GYWlsKGZhbHNlKVxuICAgICAgICAudmVyc2lvbihcIjQuNjQuMVwiKVxuICAgICAgICAud3JhcCh5cGFyc2VyLnRlcm1pbmFsV2lkdGg/LigpKVxuICAgICAgICAuY29tbWFuZCh7XG4gICAgICAgICAgICBoYW5kbGVyOiBhc3luYyAoYXJndikgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGhhbmRsZXIoYXJndiwgbmV3IFdyaXRlU3RyZWFtc1Byb2Nlc3MoKSwgam9icyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZhaWxlZEpvYnMgPSBFeGVjdXRvci5nZXRGYWlsZWQoam9icyk7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdChmYWlsZWRKb2JzLmxlbmd0aCA+IDAgPyAxIDogMCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHtlLm1lc3NhZ2UudHJpbSgpfX1cXG5gKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgQWdncmVnYXRlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuZXJyb3JzLmZvckVhY2goKGFnZ0UpID0+IHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHthZ2dFLnN0YWNrID8/IGFnZ0V9fVxcbmApKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHtlLnN0YWNrID8/IGV9fVxcbmApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsZWFudXBKb2JSZXNvdXJjZXMoam9icyk7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYnVpbGRlcjogKHk6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB5XG4gICAgICAgICAgICAgICAgICAgIC5wb3NpdGlvbmFsKFwiam9iXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWJlOiBcIkpvYm5hbWUncyB0byBleGVjdXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLCAvLyBUeXBlIGhlcmUgaXMgcmVmZXJyaW5nIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgcG9zaXRpb25hbCBhcmdzXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vIGJ5IGRlZmF1bHQgeWFyZ3MncyBwb3NpdGlvbmFsIG9wdGlvbnMgKGFyZ3MpIGNhbiBiZSB1c2VkIGFzIG9wdGlvbnMgKGZsYWdzKSBzbyB0aGlzIGNvZXJjZSBpcyBzb2xlbHkgZm9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsaW5nIHNjZW5hcmlvIHdoZW4gYSBzaW5nbGUgLS1qb2Igb3B0aW9uIGZsYWcgaXMgcGFzc2VkXG4gICAgICAgICAgICAgICAgICAgIC8vIE9uY2UgaHR0cHM6Ly9naXRodWIuY29tL3lhcmdzL3lhcmdzL2lzc3Vlcy8yMTk2IGlzIGltcGxlbWVudGVkLCB3ZSBjYW4gcHJvYmFibHkgcmVtb3ZlIHRoaXNcbiAgICAgICAgICAgICAgICAgICAgLmNvZXJjZShcImpvYlwiLCAoYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgcmV0dXJuIFthcmdzXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcmdzO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21tYW5kOiBcIiQwIFtqb2IuLl1cIixcbiAgICAgICAgICAgIGRlc2NyaWJlOiBcIlJ1bnMgdGhlIGVudGlyZSBwaXBlbGluZSBvciBqb2Inc1wiLFxuICAgICAgICB9KVxuICAgICAgICAudXNhZ2UoXCJGaW5kIG1vcmUgaW5mb3JtYXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2ZpcmVjb3cvZ2l0bGFiLWNpLWxvY2FsLlxcbk5vdGU6IFRvIG5lZ2F0ZSBhbiBvcHRpb24gdXNlICctLW5vLShvcHRpb24pJy5cIilcbiAgICAgICAgLnN0cmljdE9wdGlvbnMoKVxuICAgICAgICAuZW52KFwiR0NMXCIpXG4gICAgICAgIC5vcHRpb24oXCJtYW51YWxcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT25lIG9yIG1vcmUgbWFudWFsIGpvYnMgdG8gcnVuIGR1cmluZyBhIHBpcGVsaW5lXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImxpc3RcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMaXN0IGpvYiBpbmZvcm1hdGlvbiwgd2hlbjpuZXZlciBleGNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1hbGxcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMaXN0IGpvYiBpbmZvcm1hdGlvbiwgd2hlbjpuZXZlciBpbmNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1qc29uXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4ganNvbiBmb3JtYXQsIHdoZW46bmV2ZXIgaW5jbHVkZWRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImxpc3QtY3N2XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4gY3N2IGZvcm1hdCwgd2hlbjpuZXZlciBleGNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1jc3YtYWxsXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4gY3N2IGZvcm1hdCwgd2hlbjpuZXZlciBpbmNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwidmFsaWRhdGUtZGVwZW5kZW5jeS1jaGFpblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlZhbGlkYXRlIHRoYXQgam9icyBuZWVkZWQgb3IgZGVwZW5kZW50IGJ5IGFjdGl2ZSBqb2JzIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zIGFyZSBhbHNvIGFjdGl2ZSB3aXRob3V0IGFjdHVhbGx5IHJ1bm5pbmcgdGhlIGpvYnMuIFVzZXMgZmFpbC1mYXN0IGFwcHJvYWNoIC0gc3RvcHMgYXQgZmlyc3QgdmFsaWRhdGlvbiBlcnJvciBmb3IgYm90aCAnbmVlZHMnIGFuZCAnZGVwZW5kZW5jaWVzJyBrZXl3b3Jkcy4gSWYgdmFsaWRhdGlvbiBmYWlscywgdXNlIC0tbGlzdCBmbGFnIHRvIHNlZSB3aGljaCBqb2JzIHdpbGwgcnVuIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwcmV2aWV3XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJpbnQgWU1MIHdpdGggZGVmYXVsdHMsIGluY2x1ZGVzLCBleHRlbmRzIGFuZCByZWZlcmVuY2UncyBleHBhbmRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY3dkXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQYXRoIHRvIGEgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJ2YXJpYWJsZXMtZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUGF0aCB0byB0aGUgcHJvamVjdCBmaWxlIHZhcmlhYmxlc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0OiBBcmd2LmRlZmF1bHQudmFyaWFibGVzRmlsZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImNvbXBsZXRpb25cIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW5lcmF0ZSB0YWIgY29tcGxldGlvbiBzY3JpcHRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImV2YWx1YXRlLXJ1bGUtY2hhbmdlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdG8gZXZhbHVhdGUgcnVsZTpjaGFuZ2VzLiBJZiBzZXQgdG8gZmFsc2UsIHJ1bGVzOmNoYW5nZXMgd2lsbCBhbHdheXMgZXZhbHVhdGUgdG8gdHJ1ZVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogQXJndi5kZWZhdWx0LmV2YWx1YXRlUnVsZUNoYW5nZXMsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJuZWVkc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1biBuZWVkZWQgam9icywgd2hlbiBleGVjdXRpbmcgc3BlY2lmaWMgam9ic1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwib25seS1uZWVkc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1biBuZWVkZWQgam9icywgZXhjZXB0IHRoZSBzcGVjaWZpZWQgam9icyB0aGVtc2VsdmVzXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJzdGFnZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUnVuIGFsbCBqb2JzIGluIGEgc3BlY2lmaWMgc3RhZ2VcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInZhcmlhYmxlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZCB2YXJpYWJsZSB0byBhbGwgZXhlY3V0ZWQgam9icyAoLS12YXJpYWJsZSBIRUxMTz13b3JsZClcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVuc2V0LXZhcmlhYmxlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlVuc2V0cyBhIHZhcmlhYmxlICgtLXVuc2V0LXZhcmlhYmxlIEhFTExPKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwicmVtb3RlLXZhcmlhYmxlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGZXRjaCB2YXJpYWJsZXMgZmlsZSBmcm9tIHJlbW90ZSBsb2NhdGlvblwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwic3RhdGUtZGlyXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb2NhdGlvbiBvZiB0aGUgLmdpdGxhYi1jaS1sb2NhbCBzdGF0ZSBkaXIsIHJlbGF0aXZlIHRvIGN3ZCwgZWcuIChzeW1mb255Ly5naXRsYWItY2ktbG9jYWwvKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG9jYXRpb24gb2YgdGhlIC5naXRsYWItY2kueW1sLCByZWxhdGl2ZSB0byBjd2QsIGVnLiAoZ2l0bGFiLy5naXRsYWItY2kueW1sKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiaG9tZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG9jYXRpb24gb2YgdGhlIEhPTUUgLmdpdGxhYi1jaS1sb2NhbCBmb2xkZXIgKCRIT01FLy5naXRsYWItY2ktbG9jYWwvdmFyaWFibGVzLnltbClcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInNoZWxsLWlzb2xhdGlvblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVuYWJsZSBhcnRpZmFjdCBpc29sYXRpb24gZm9yIHNoZWxsLWV4ZWN1dG9yIGpvYnNcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImZvcmNlLXNoZWxsLWV4ZWN1dG9yXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRm9yY2VzIGFsbCBqb2JzIHRvIGJlIGV4ZWN1dGVkIHVzaW5nIHRoZSBzaGVsbCBleGVjdXRvci4gKE9ubHkgdXNlIHRoaXMgb3B0aW9uIGZvciB0cnVzdGVkIGpvYilcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInNoZWxsLWV4ZWN1dG9yLW5vLWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2hldGhlciB0byB1c2Ugc2hlbGwgZXhlY3V0b3Igd2hlbiBubyBpbWFnZSBpcyBzcGVjaWZpZWQuXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJkZWZhdWx0LWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGVuIHVzaW5nIC0tc2hlbGwtZXhlY3V0b3Itbm8taW1hZ2U9ZmFsc2Ugd2hpY2ggaW1hZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbnRhaW5lci4gRGVmYXVsdHMgdG8gZG9ja2VyLmlvL3J1Ynk6My4xIGlmIG5vdCBzZXQuXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJ3YWl0LWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGljaCBpbWFnZSB0byBiZSB1c2VkIGZvciB0aGUgd2FpdCBjb250YWluZXIuIERlZmF1bHRzIHRvIGRvY2tlci5pby9zdW1pbmE0Ni93YWl0LWZvci1pdDpsYXRlc3QgaWYgbm90IHNldC5cIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImhlbHBlci1pbWFnZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2hlbiB1c2luZyAtLXNoZWxsLWV4ZWN1dG9yLW5vLWltYWdlPWZhbHNlIHdoaWNoIGltYWdlIHRvIGJlIHVzZWQgZm9yIHRoZSB1dGlscyBjb250YWluZXIuIERlZmF1bHRzIHRvIGRvY2tlci5pby9maXJlY293L2dpdGxhYi1jaS1sb2NhbC11dGlsOmxhdGVzdCBpZiBub3Qgc2V0LlwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibW91bnQtY2FjaGVcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFbmFibGUgZG9ja2VyIG1vdW50IGJhc2VkIGNhY2hpbmdcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVtYXNrXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0cyBkb2NrZXIgdXNlciB0byAwOjBcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVzZXJuc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB1c2VybnMgb3B0aW9uXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwcml2aWxlZ2VkXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB0byBwcml2aWxlZ2VkIG1vZGVcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImRldmljZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBZGQgZGV2aWNlcyB0byBkb2NrZXIgZXhlY3V0b3JcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVsaW1pdFwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB1bGltaXRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcIm5ldHdvcmtcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQWRkIG5ldHdvcmtzIHRvIGRvY2tlciBleGVjdXRvclwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwidm9sdW1lXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZCB2b2x1bWVzIHRvIGRvY2tlciBleGVjdXRvclwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiZXh0cmEtaG9zdFwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBZGQgZXh0cmEgZG9ja2VyIGhvc3QgZW50cmllc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY2EtZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUGF0aCB0byBjdXN0b20gQ0EgY2VydGlmaWNhdGUgZmlsZSB0byBtb3VudCBpbiBjb250YWluZXJzXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwdWxsLXBvbGljeVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGltYWdlIHB1bGwtcG9saWN5IChhbHdheXMgb3IgaWYtbm90LXByZXNlbnQpXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJmZXRjaC1pbmNsdWRlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZldGNoIGFsbCBleHRlcm5hbCBpbmNsdWRlcyBvbmUgbW9yZSB0aW1lXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJtYXhpbXVtLWluY2x1ZGVzXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5jbHVkZXNcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImFydGlmYWN0cy10by1zb3VyY2VcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb3B5IHRoZSBnZW5lcmF0ZWQgYXJ0aWZhY3RzIGludG8gY3dkXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjbGVhbnVwXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUmVtb3ZlIGRvY2tlciByZXNvdXJjZXMgYWZ0ZXIgdGhleSd2ZSBiZWVuIHVzZWRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInF1aWV0XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3VwcHJlc3MgYWxsIGpvYiBvdXRwdXRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInRpbWVzdGFtcHNcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTaG93IHRpbWVzdGFtcHMgYW5kIGpvYiBkdXJhdGlvbiBpbiB0aGUgbG9nc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibWF4LWpvYi1uYW1lLXBhZGRpbmdcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1heGltdW0gcGFkZGluZyBmb3Igam9iIG5hbWUgKHVzZSA8PSAwIGZvciBubyBwYWRkaW5nKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwianNvbi1zY2hlbWEtdmFsaWRhdGlvblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdG8gZW5hYmxlIGpzb24gc2NoZW1hIHZhbGlkYXRpb25cIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImlnbm9yZS1zY2hlbWEtcGF0aHNcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogQXJndi5kZWZhdWx0Lmlnbm9yZVNjaGVtYVBhdGhzLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGpzb24gc2NoZW1hIHBhdGhzIHRoYXQgd2lsbCBiZSBpZ25vcmVkXCIsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJpZ25vcmUtcHJlZGVmaW5lZC12YXJzXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBjb2VyY2U6ICh2KSA9PiB2LnNwbGl0KFwiLFwiKSxcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IEFyZ3YuZGVmYXVsdC5pZ25vcmVQcmVkZWZpbmVkVmFycyxcbiAgICAgICAgICAgIGRlc2NyaWJlOiBcIkNvbW1hLXNlcGVyYXRlZCBsaXN0IG9mIHByZWRlZmluZWQgcGlwZWxpbmUgdmFyaWFibGVzIGZvciB3aGljaCB3YXJuaW5ncyBzaG91bGQgYmUgc3VwcHJlc3NlZFwiLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29uY3VycmVuY3lcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxpbWl0IHRoZSBudW1iZXIgb2Ygam9icyB0aGF0IHJ1biBzaW11bHRhbmVvdXNseVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29udGFpbmVyLWV4ZWN1dGFibGVcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbW1hbmQgdG8gc3RhcnQgdGhlIGNvbnRhaW5lciBlbmdpbmUgKGRvY2tlciBvciBwb2RtYW4pXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjb250YWluZXItbWFjLWFkZHJlc3NcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbnRhaW5lciBNQUMgYWRkcmVzcyAoZS5nLiwgYWE6YmI6Y2M6ZGQ6ZWU6ZmYpXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjb250YWluZXItZW11bGF0ZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUsIHdpdGhvdXQgdGhlIGFyY2hpdGVjdHVyZSwgb2YgYSBnaXRsYWIgaG9zdGVkIHJ1bm5lciB0byBlbXVsYXRlLiBTZWUgaGVyZTogaHR0cHM6Ly9kb2NzLmdpdGxhYi5jb20vZWUvY2kvcnVubmVycy9ob3N0ZWRfcnVubmVycy9saW51eC5odG1sI21hY2hpbmUtdHlwZXMtYXZhaWxhYmxlLWZvci1saW51eC0tLXg4Ni02NFwiLFxuICAgICAgICAgICAgY2hvaWNlczogR2l0bGFiUnVubmVyUHJlc2V0VmFsdWVzLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29sb3JcIiwge1xuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVuYWJsZXMgY29sb3JcIixcbiAgICAgICAgfSlcbiAgICAgICAgLmNvbXBsZXRpb24oXCJjb21wbGV0aW9uXCIsIGZhbHNlLCAoY3VycmVudDogc3RyaW5nLCB5YXJnc0FyZ3Y6IGFueSwgY29tcGxldGlvbkZpbHRlcjogYW55LCBkb25lOiAoY29tcGxldGlvbnM6IHN0cmluZ1tdKSA9PiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuc3RhcnRzV2l0aChcIi1cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkZpbHRlcigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEFyZ3YuYnVpbGQoey4uLnlhcmdzQXJndiwgYXV0b0NvbXBsZXRpbmc6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oYXJndiA9PiBzdGF0ZS5nZXRQaXBlbGluZUlpZChhcmd2LmN3ZCwgYXJndi5zdGF0ZURpcikudGhlbihwaXBlbGluZUlpZCA9PiAoe2FyZ3YsIHBpcGVsaW5lSWlkfSkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHthcmd2LCBwaXBlbGluZUlpZH0pID0+IFBhcnNlci5jcmVhdGUoYXJndiwgbmV3IFdyaXRlU3RyZWFtc01vY2soKSwgcGlwZWxpbmVJaWQsIFtdKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKChwYXJzZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBqb2JOYW1lcyA9IFsuLi5wYXJzZXIuam9icy52YWx1ZXMoKV0uZmlsdGVyKChqKSA9PiBqLndoZW4gIT0gXCJuZXZlclwiKS5tYXAoKGopID0+IGoubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZShqb2JOYW1lcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1wiUGFyc2VyLUZhaWxlZCFcIl07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSlcbiAgICAgICAgLnBhcnNlKCk7XG59KSgpO1xuIl19
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQU0sbUJBQW1CLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFNUQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO0FBRXZCLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFTLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkQsTUFBTSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsZ0NBQWdDO0FBQ2hDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLENBQUMsR0FBRyxFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFD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QUFDO2dCQUNuQixDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ0wsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUVMLENBQUMsQ0FBQztTQUNELEtBQUssRUFBRSxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrLXRlbXBsYXRlXCI7XG5pbXBvcnQgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQge1BhcnNlcn0gZnJvbSBcIi4vcGFyc2VyLmpzXCI7XG5pbXBvcnQgKiBhcyBzdGF0ZSBmcm9tIFwiLi9zdGF0ZS5qc1wiO1xuaW1wb3J0IHtXcml0ZVN0cmVhbXNQcm9jZXNzLCBXcml0ZVN0cmVhbXNNb2NrfSBmcm9tIFwiLi93cml0ZS1zdHJlYW1zLmpzXCI7XG5pbXBvcnQge2hhbmRsZXJ9IGZyb20gXCIuL2hhbmRsZXIuanNcIjtcbmltcG9ydCB7RXhlY3V0b3J9IGZyb20gXCIuL2V4ZWN1dG9yLmpzXCI7XG5pbXBvcnQge0FyZ3Z9IGZyb20gXCIuL2FyZ3YuanNcIjtcbmltcG9ydCB7QXNzZXJ0aW9uRXJyb3J9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7Sm9iLCBjbGVhbnVwSm9iUmVzb3VyY2VzfSBmcm9tIFwiLi9qb2IuanNcIjtcbmltcG9ydCB7R2l0bGFiUnVubmVyUHJlc2V0VmFsdWVzfSBmcm9tIFwiLi9naXRsYWItcHJlc2V0LmpzXCI7XG5cbmNvbnN0IGpvYnM6IEpvYltdID0gW107XG5cbnByb2Nlc3Mub24oXCJTSUdJTlRcIiwgYXN5bmMgKF86IHN0cmluZywgY29kZTogbnVtYmVyKSA9PiB7XG4gICAgYXdhaXQgY2xlYW51cEpvYlJlc291cmNlcyhqb2JzKTtcbiAgICBwcm9jZXNzLmV4aXQoY29kZSk7XG59KTtcblxuLy8gR3JhY2VmdWwgc2h1dGRvd24gZm9yIG5vZGVtb25cbnByb2Nlc3Mub24oXCJTSUdVU1IyXCIsIGFzeW5jICgpID0+IGF3YWl0IGNsZWFudXBKb2JSZXNvdXJjZXMoam9icykpO1xuXG4oKCkgPT4ge1xuICAgIGNvbnN0IHlwYXJzZXIgPSB5YXJncyhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpO1xuICAgIHlwYXJzZXIucGFyc2VyQ29uZmlndXJhdGlvbih7XCJncmVlZHktYXJyYXlzXCI6IGZhbHNlfSlcbiAgICAgICAgLnNob3dIZWxwT25GYWlsKGZhbHNlKVxuICAgICAgICAudmVyc2lvbihcIjQuNjUuMFwiKVxuICAgICAgICAud3JhcCh5cGFyc2VyLnRlcm1pbmFsV2lkdGg/LigpKVxuICAgICAgICAuY29tbWFuZCh7XG4gICAgICAgICAgICBoYW5kbGVyOiBhc3luYyAoYXJndikgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGhhbmRsZXIoYXJndiwgbmV3IFdyaXRlU3RyZWFtc1Byb2Nlc3MoKSwgam9icyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZhaWxlZEpvYnMgPSBFeGVjdXRvci5nZXRGYWlsZWQoam9icyk7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdChmYWlsZWRKb2JzLmxlbmd0aCA+IDAgPyAxIDogMCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHtlLm1lc3NhZ2UudHJpbSgpfX1cXG5gKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgQWdncmVnYXRlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuZXJyb3JzLmZvckVhY2goKGFnZ0UpID0+IHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHthZ2dFLnN0YWNrID8/IGFnZ0V9fVxcbmApKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGNoYWxrYHtyZWQgJHtlLnN0YWNrID8/IGV9fVxcbmApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsZWFudXBKb2JSZXNvdXJjZXMoam9icyk7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYnVpbGRlcjogKHk6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB5XG4gICAgICAgICAgICAgICAgICAgIC5wb3NpdGlvbmFsKFwiam9iXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWJlOiBcIkpvYm5hbWUncyB0byBleGVjdXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLCAvLyBUeXBlIGhlcmUgaXMgcmVmZXJyaW5nIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgcG9zaXRpb25hbCBhcmdzXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vIGJ5IGRlZmF1bHQgeWFyZ3MncyBwb3NpdGlvbmFsIG9wdGlvbnMgKGFyZ3MpIGNhbiBiZSB1c2VkIGFzIG9wdGlvbnMgKGZsYWdzKSBzbyB0aGlzIGNvZXJjZSBpcyBzb2xlbHkgZm9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsaW5nIHNjZW5hcmlvIHdoZW4gYSBzaW5nbGUgLS1qb2Igb3B0aW9uIGZsYWcgaXMgcGFzc2VkXG4gICAgICAgICAgICAgICAgICAgIC8vIE9uY2UgaHR0cHM6Ly9naXRodWIuY29tL3lhcmdzL3lhcmdzL2lzc3Vlcy8yMTk2IGlzIGltcGxlbWVudGVkLCB3ZSBjYW4gcHJvYmFibHkgcmVtb3ZlIHRoaXNcbiAgICAgICAgICAgICAgICAgICAgLmNvZXJjZShcImpvYlwiLCAoYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgcmV0dXJuIFthcmdzXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcmdzO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21tYW5kOiBcIiQwIFtqb2IuLl1cIixcbiAgICAgICAgICAgIGRlc2NyaWJlOiBcIlJ1bnMgdGhlIGVudGlyZSBwaXBlbGluZSBvciBqb2Inc1wiLFxuICAgICAgICB9KVxuICAgICAgICAudXNhZ2UoXCJGaW5kIG1vcmUgaW5mb3JtYXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2ZpcmVjb3cvZ2l0bGFiLWNpLWxvY2FsLlxcbk5vdGU6IFRvIG5lZ2F0ZSBhbiBvcHRpb24gdXNlICctLW5vLShvcHRpb24pJy5cIilcbiAgICAgICAgLnN0cmljdE9wdGlvbnMoKVxuICAgICAgICAuZW52KFwiR0NMXCIpXG4gICAgICAgIC5vcHRpb24oXCJtYW51YWxcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT25lIG9yIG1vcmUgbWFudWFsIGpvYnMgdG8gcnVuIGR1cmluZyBhIHBpcGVsaW5lXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImxpc3RcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMaXN0IGpvYiBpbmZvcm1hdGlvbiwgd2hlbjpuZXZlciBleGNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1hbGxcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMaXN0IGpvYiBpbmZvcm1hdGlvbiwgd2hlbjpuZXZlciBpbmNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1qc29uXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4ganNvbiBmb3JtYXQsIHdoZW46bmV2ZXIgaW5jbHVkZWRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImxpc3QtY3N2XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4gY3N2IGZvcm1hdCwgd2hlbjpuZXZlciBleGNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibGlzdC1jc3YtYWxsXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGlzdCBqb2IgaW5mb3JtYXRpb24gaW4gY3N2IGZvcm1hdCwgd2hlbjpuZXZlciBpbmNsdWRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwidmFsaWRhdGUtZGVwZW5kZW5jeS1jaGFpblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlZhbGlkYXRlIHRoYXQgam9icyBuZWVkZWQgb3IgZGVwZW5kZW50IGJ5IGFjdGl2ZSBqb2JzIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zIGFyZSBhbHNvIGFjdGl2ZSB3aXRob3V0IGFjdHVhbGx5IHJ1bm5pbmcgdGhlIGpvYnMuIFVzZXMgZmFpbC1mYXN0IGFwcHJvYWNoIC0gc3RvcHMgYXQgZmlyc3QgdmFsaWRhdGlvbiBlcnJvciBmb3IgYm90aCAnbmVlZHMnIGFuZCAnZGVwZW5kZW5jaWVzJyBrZXl3b3Jkcy4gSWYgdmFsaWRhdGlvbiBmYWlscywgdXNlIC0tbGlzdCBmbGFnIHRvIHNlZSB3aGljaCBqb2JzIHdpbGwgcnVuIHVuZGVyIHNwZWNpZmllZCBjb25kaXRpb25zXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwcmV2aWV3XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJpbnQgWU1MIHdpdGggZGVmYXVsdHMsIGluY2x1ZGVzLCBleHRlbmRzIGFuZCByZWZlcmVuY2UncyBleHBhbmRlZFwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY3dkXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQYXRoIHRvIGEgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJ2YXJpYWJsZXMtZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUGF0aCB0byB0aGUgcHJvamVjdCBmaWxlIHZhcmlhYmxlc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0OiBBcmd2LmRlZmF1bHQudmFyaWFibGVzRmlsZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImNvbXBsZXRpb25cIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW5lcmF0ZSB0YWIgY29tcGxldGlvbiBzY3JpcHRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImV2YWx1YXRlLXJ1bGUtY2hhbmdlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdG8gZXZhbHVhdGUgcnVsZTpjaGFuZ2VzLiBJZiBzZXQgdG8gZmFsc2UsIHJ1bGVzOmNoYW5nZXMgd2lsbCBhbHdheXMgZXZhbHVhdGUgdG8gdHJ1ZVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogQXJndi5kZWZhdWx0LmV2YWx1YXRlUnVsZUNoYW5nZXMsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJuZWVkc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1biBuZWVkZWQgam9icywgd2hlbiBleGVjdXRpbmcgc3BlY2lmaWMgam9ic1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwib25seS1uZWVkc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1biBuZWVkZWQgam9icywgZXhjZXB0IHRoZSBzcGVjaWZpZWQgam9icyB0aGVtc2VsdmVzXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJzdGFnZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUnVuIGFsbCBqb2JzIGluIGEgc3BlY2lmaWMgc3RhZ2VcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInZhcmlhYmxlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZCB2YXJpYWJsZSB0byBhbGwgZXhlY3V0ZWQgam9icyAoLS12YXJpYWJsZSBIRUxMTz13b3JsZClcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVuc2V0LXZhcmlhYmxlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlVuc2V0cyBhIHZhcmlhYmxlICgtLXVuc2V0LXZhcmlhYmxlIEhFTExPKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwicmVtb3RlLXZhcmlhYmxlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGZXRjaCB2YXJpYWJsZXMgZmlsZSBmcm9tIHJlbW90ZSBsb2NhdGlvblwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwic3RhdGUtZGlyXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb2NhdGlvbiBvZiB0aGUgLmdpdGxhYi1jaS1sb2NhbCBzdGF0ZSBkaXIsIHJlbGF0aXZlIHRvIGN3ZCwgZWcuIChzeW1mb255Ly5naXRsYWItY2ktbG9jYWwvKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG9jYXRpb24gb2YgdGhlIC5naXRsYWItY2kueW1sLCByZWxhdGl2ZSB0byBjd2QsIGVnLiAoZ2l0bGFiLy5naXRsYWItY2kueW1sKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiaG9tZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG9jYXRpb24gb2YgdGhlIEhPTUUgLmdpdGxhYi1jaS1sb2NhbCBmb2xkZXIgKCRIT01FLy5naXRsYWItY2ktbG9jYWwvdmFyaWFibGVzLnltbClcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInNoZWxsLWlzb2xhdGlvblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVuYWJsZSBhcnRpZmFjdCBpc29sYXRpb24gZm9yIHNoZWxsLWV4ZWN1dG9yIGpvYnNcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImZvcmNlLXNoZWxsLWV4ZWN1dG9yXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRm9yY2VzIGFsbCBqb2JzIHRvIGJlIGV4ZWN1dGVkIHVzaW5nIHRoZSBzaGVsbCBleGVjdXRvci4gKE9ubHkgdXNlIHRoaXMgb3B0aW9uIGZvciB0cnVzdGVkIGpvYilcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInNoZWxsLWV4ZWN1dG9yLW5vLWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2hldGhlciB0byB1c2Ugc2hlbGwgZXhlY3V0b3Igd2hlbiBubyBpbWFnZSBpcyBzcGVjaWZpZWQuXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJkZWZhdWx0LWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGVuIHVzaW5nIC0tc2hlbGwtZXhlY3V0b3Itbm8taW1hZ2U9ZmFsc2Ugd2hpY2ggaW1hZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbnRhaW5lci4gRGVmYXVsdHMgdG8gZG9ja2VyLmlvL3J1Ynk6My4xIGlmIG5vdCBzZXQuXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJ3YWl0LWltYWdlXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGljaCBpbWFnZSB0byBiZSB1c2VkIGZvciB0aGUgd2FpdCBjb250YWluZXIuIERlZmF1bHRzIHRvIGRvY2tlci5pby9zdW1pbmE0Ni93YWl0LWZvci1pdDpsYXRlc3QgaWYgbm90IHNldC5cIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImhlbHBlci1pbWFnZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2hlbiB1c2luZyAtLXNoZWxsLWV4ZWN1dG9yLW5vLWltYWdlPWZhbHNlIHdoaWNoIGltYWdlIHRvIGJlIHVzZWQgZm9yIHRoZSB1dGlscyBjb250YWluZXIuIERlZmF1bHRzIHRvIGRvY2tlci5pby9maXJlY293L2dpdGxhYi1jaS1sb2NhbC11dGlsOmxhdGVzdCBpZiBub3Qgc2V0LlwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibW91bnQtY2FjaGVcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFbmFibGUgZG9ja2VyIG1vdW50IGJhc2VkIGNhY2hpbmdcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVtYXNrXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0cyBkb2NrZXIgdXNlciB0byAwOjBcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVzZXJuc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB1c2VybnMgb3B0aW9uXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwcml2aWxlZ2VkXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB0byBwcml2aWxlZ2VkIG1vZGVcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImRldmljZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBZGQgZGV2aWNlcyB0byBkb2NrZXIgZXhlY3V0b3JcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInVsaW1pdFwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGRvY2tlciBleGVjdXRvciB1bGltaXRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcIm5ldHdvcmtcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQWRkIG5ldHdvcmtzIHRvIGRvY2tlciBleGVjdXRvclwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwidm9sdW1lXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZCB2b2x1bWVzIHRvIGRvY2tlciBleGVjdXRvclwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiZXh0cmEtaG9zdFwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBZGQgZXh0cmEgZG9ja2VyIGhvc3QgZW50cmllc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY2EtZmlsZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUGF0aCB0byBjdXN0b20gQ0EgY2VydGlmaWNhdGUgZmlsZSB0byBtb3VudCBpbiBjb250YWluZXJzXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJwdWxsLXBvbGljeVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2V0IGltYWdlIHB1bGwtcG9saWN5IChhbHdheXMgb3IgaWYtbm90LXByZXNlbnQpXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJmZXRjaC1pbmNsdWRlc1wiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZldGNoIGFsbCBleHRlcm5hbCBpbmNsdWRlcyBvbmUgbW9yZSB0aW1lXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJtYXhpbXVtLWluY2x1ZGVzXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5jbHVkZXNcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImFydGlmYWN0cy10by1zb3VyY2VcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb3B5IHRoZSBnZW5lcmF0ZWQgYXJ0aWZhY3RzIGludG8gY3dkXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjbGVhbnVwXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUmVtb3ZlIGRvY2tlciByZXNvdXJjZXMgYWZ0ZXIgdGhleSd2ZSBiZWVuIHVzZWRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInF1aWV0XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3VwcHJlc3MgYWxsIGpvYiBvdXRwdXRcIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInRpbWVzdGFtcHNcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTaG93IHRpbWVzdGFtcHMgYW5kIGpvYiBkdXJhdGlvbiBpbiB0aGUgbG9nc1wiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwibWF4LWpvYi1uYW1lLXBhZGRpbmdcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1heGltdW0gcGFkZGluZyBmb3Igam9iIG5hbWUgKHVzZSA8PSAwIGZvciBubyBwYWRkaW5nKVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwianNvbi1zY2hlbWEtdmFsaWRhdGlvblwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdG8gZW5hYmxlIGpzb24gc2NoZW1hIHZhbGlkYXRpb25cIixcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcImlnbm9yZS1zY2hlbWEtcGF0aHNcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogQXJndi5kZWZhdWx0Lmlnbm9yZVNjaGVtYVBhdGhzLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGpzb24gc2NoZW1hIHBhdGhzIHRoYXQgd2lsbCBiZSBpZ25vcmVkXCIsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJpZ25vcmUtcHJlZGVmaW5lZC12YXJzXCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBjb2VyY2U6ICh2KSA9PiB2LnNwbGl0KFwiLFwiKSxcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IEFyZ3YuZGVmYXVsdC5pZ25vcmVQcmVkZWZpbmVkVmFycyxcbiAgICAgICAgICAgIGRlc2NyaWJlOiBcIkNvbW1hLXNlcGVyYXRlZCBsaXN0IG9mIHByZWRlZmluZWQgcGlwZWxpbmUgdmFyaWFibGVzIGZvciB3aGljaCB3YXJuaW5ncyBzaG91bGQgYmUgc3VwcHJlc3NlZFwiLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29uY3VycmVuY3lcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxpbWl0IHRoZSBudW1iZXIgb2Ygam9icyB0aGF0IHJ1biBzaW11bHRhbmVvdXNseVwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29udGFpbmVyLWV4ZWN1dGFibGVcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbW1hbmQgdG8gc3RhcnQgdGhlIGNvbnRhaW5lciBlbmdpbmUgKGRvY2tlciBvciBwb2RtYW4pXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjb250YWluZXItbWFjLWFkZHJlc3NcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbnRhaW5lciBNQUMgYWRkcmVzcyAoZS5nLiwgYWE6YmI6Y2M6ZGQ6ZWU6ZmYpXCIsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcHRpb24oXCJjb250YWluZXItZW11bGF0ZVwiLCB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUsIHdpdGhvdXQgdGhlIGFyY2hpdGVjdHVyZSwgb2YgYSBnaXRsYWIgaG9zdGVkIHJ1bm5lciB0byBlbXVsYXRlLiBTZWUgaGVyZTogaHR0cHM6Ly9kb2NzLmdpdGxhYi5jb20vZWUvY2kvcnVubmVycy9ob3N0ZWRfcnVubmVycy9saW51eC5odG1sI21hY2hpbmUtdHlwZXMtYXZhaWxhYmxlLWZvci1saW51eC0tLXg4Ni02NFwiLFxuICAgICAgICAgICAgY2hvaWNlczogR2l0bGFiUnVubmVyUHJlc2V0VmFsdWVzLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uKFwiY29sb3JcIiwge1xuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVuYWJsZXMgY29sb3JcIixcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbihcInJlZ2lzdHJ5XCIsIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3RhcnQgYSBsb2NhbCBkb2NrZXIgcmVnaXN0cnkgYW5kIGNvbmZpZ3VyZSBnaXRsYWItY2ktbG9jYWwgY29udGFpbmVycyB0byB1c2UgdGhhdCBieSBkZWZhdWx0XCIsXG4gICAgICAgIH0pXG4gICAgICAgIC5jb21wbGV0aW9uKFwiY29tcGxldGlvblwiLCBmYWxzZSwgKGN1cnJlbnQ6IHN0cmluZywgeWFyZ3NBcmd2OiBhbnksIGNvbXBsZXRpb25GaWx0ZXI6IGFueSwgZG9uZTogKGNvbXBsZXRpb25zOiBzdHJpbmdbXSkgPT4gYW55KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50LnN0YXJ0c1dpdGgoXCItXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25GaWx0ZXIoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBBcmd2LmJ1aWxkKHsuLi55YXJnc0FyZ3YsIGF1dG9Db21wbGV0aW5nOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGFyZ3YgPT4gc3RhdGUuZ2V0UGlwZWxpbmVJaWQoYXJndi5jd2QsIGFyZ3Yuc3RhdGVEaXIpLnRoZW4ocGlwZWxpbmVJaWQgPT4gKHthcmd2LCBwaXBlbGluZUlpZH0pKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCh7YXJndiwgcGlwZWxpbmVJaWR9KSA9PiBQYXJzZXIuY3JlYXRlKGFyZ3YsIG5ldyBXcml0ZVN0cmVhbXNNb2NrKCksIHBpcGVsaW5lSWlkLCBbXSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocGFyc2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgam9iTmFtZXMgPSBbLi4ucGFyc2VyLmpvYnMudmFsdWVzKCldLmZpbHRlcigoaikgPT4gai53aGVuICE9IFwibmV2ZXJcIikubWFwKChqKSA9PiBqLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoam9iTmFtZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcIlBhcnNlci1GYWlsZWQhXCJdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgICAgIC5wYXJzZSgpO1xufSkoKTtcbiJdfQ==
|