@cdktn/cli-core 0.23.3 → 0.23.4
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/LICENSE +355 -0
- package/build/lib/cdktf-config.js +8 -18
- package/build/lib/cdktf-project.js +3 -3
- package/build/lib/cdktf-stack.d.ts +6 -0
- package/build/lib/cdktf-stack.d.ts.map +1 -1
- package/build/lib/cdktf-stack.js +18 -1
- package/build/lib/convert.js +10 -19
- package/build/lib/dependencies/dependency-manager.d.ts.map +1 -1
- package/build/lib/dependencies/dependency-manager.js +8 -18
- package/build/lib/dependencies/package-manager.js +29 -25
- package/build/lib/dependencies/prebuilt-providers.js +16 -25
- package/build/lib/dependencies/registry-api.js +10 -19
- package/build/lib/dependencies/version-constraints.js +11 -20
- package/build/lib/error-reporting.js +13 -22
- package/build/lib/errors.d.ts.map +1 -1
- package/build/lib/execution-logs.js +3 -2
- package/build/lib/get.js +11 -21
- package/build/lib/helpers/stack-helpers.js +9 -8
- package/build/lib/init.js +11 -21
- package/build/lib/installed-binary-check.d.ts +12 -0
- package/build/lib/installed-binary-check.d.ts.map +1 -0
- package/build/lib/installed-binary-check.js +62 -0
- package/build/lib/local-provider-constraints.js +8 -18
- package/build/lib/models/deploy-machine.d.ts +10 -0
- package/build/lib/models/deploy-machine.d.ts.map +1 -1
- package/build/lib/models/deploy-machine.js +49 -14
- package/build/lib/models/interactive-process.js +3 -2
- package/build/lib/models/schema.js +8 -18
- package/build/lib/models/terraform-cli.d.ts.map +1 -1
- package/build/lib/models/terraform-cli.js +11 -21
- package/build/lib/models/terraform.d.ts +1 -0
- package/build/lib/models/terraform.d.ts.map +1 -1
- package/build/lib/models/terraform.js +3 -3
- package/build/lib/output.d.ts.map +1 -1
- package/build/lib/output.js +11 -21
- package/build/lib/provider-add.js +3 -2
- package/build/lib/server/terraform-logs.js +3 -2
- package/build/lib/synth-stack.js +8 -18
- package/build/lib/synth.js +10 -19
- package/build/lib/terraform-json.js +8 -18
- package/build/lib/watch.js +10 -19
- package/package.json +20 -19
- package/templates/csharp/cdktf.json +4 -0
- package/templates/go/cdktf.json +4 -0
- package/templates/java/cdktf.json +4 -0
- package/templates/java/gradlew +0 -0
- package/templates/python/cdktf.json +4 -0
- package/templates/python-pip/cdktf.json +4 -0
- package/templates/typescript/cdktf.json +4 -0
|
@@ -7,14 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.deployMachine = void 0;
|
|
11
|
-
exports.isDeployEvent = isDeployEvent;
|
|
12
|
-
exports.extractVariableNameFromPrompt = extractVariableNameFromPrompt;
|
|
13
|
-
exports.bufferUnterminatedLines = bufferUnterminatedLines;
|
|
14
|
-
exports.handleLineReceived = handleLineReceived;
|
|
15
|
-
exports.terraformPtyService = terraformPtyService;
|
|
16
|
-
exports.createAndStartDeployService = createAndStartDeployService;
|
|
17
|
-
exports.createAndStartDestroyService = createAndStartDestroyService;
|
|
10
|
+
exports.createAndStartDestroyService = exports.createAndStartDeployService = exports.terraformPtyService = exports.deployMachine = exports.handleLineReceived = exports.bufferUnterminatedLines = exports.extractVariableNameFromPrompt = exports.isMissingVariablePrompt = exports.isDeployEvent = void 0;
|
|
18
11
|
const xstate_1 = require("xstate");
|
|
19
12
|
const commons_1 = require("@cdktn/commons");
|
|
20
13
|
const errors_1 = require("../errors");
|
|
@@ -24,15 +17,43 @@ const interactive_process_1 = require("./interactive-process");
|
|
|
24
17
|
function isDeployEvent(event, type) {
|
|
25
18
|
return event.type === type;
|
|
26
19
|
}
|
|
20
|
+
exports.isDeployEvent = isDeployEvent;
|
|
21
|
+
/**
|
|
22
|
+
* Terraform's interactive prompt for a missing variable looks like:
|
|
23
|
+
*
|
|
24
|
+
* var.<name>
|
|
25
|
+
* Enter a value:
|
|
26
|
+
*
|
|
27
|
+
* The variable name appears on its own line, prefixed with "var." (optionally
|
|
28
|
+
* indented). We match this precisely so we don't mistake terraform error output
|
|
29
|
+
* that merely references a variable (e.g. "92: mirror = var.mirror" from an
|
|
30
|
+
* "Unsupported argument" error) for an actual prompt. Terraform variable names
|
|
31
|
+
* start with a letter or underscore and may contain letters, digits,
|
|
32
|
+
* underscores and dashes. (#265)
|
|
33
|
+
*/
|
|
34
|
+
const VARIABLE_PROMPT_REGEX = /^\s*var\.([A-Za-z_][A-Za-z0-9_-]*)\s*$/;
|
|
35
|
+
/**
|
|
36
|
+
* Returns true if any line in the given (ANSI-stripped) output is terraform's
|
|
37
|
+
* interactive prompt for a missing variable.
|
|
38
|
+
*/
|
|
39
|
+
function isMissingVariablePrompt(noColorLine) {
|
|
40
|
+
return noColorLine
|
|
41
|
+
.split("\n")
|
|
42
|
+
.some((line) => VARIABLE_PROMPT_REGEX.test(line));
|
|
43
|
+
}
|
|
44
|
+
exports.isMissingVariablePrompt = isMissingVariablePrompt;
|
|
27
45
|
function extractVariableNameFromPrompt(line) {
|
|
28
46
|
const noColorLine = (0, strip_ansi_1.default)(line);
|
|
29
47
|
const lines = noColorLine.split("\n");
|
|
30
|
-
const
|
|
31
|
-
|
|
48
|
+
const match = lines
|
|
49
|
+
.map((l) => l.match(VARIABLE_PROMPT_REGEX))
|
|
50
|
+
.find((m) => m !== null);
|
|
51
|
+
if (!match) {
|
|
32
52
|
throw commons_1.Errors.Internal(`Could not find variable name in prompt: ${line}. This is most likely a bug in cdktn. Please report it at http://cdktn.io/issues`);
|
|
33
53
|
}
|
|
34
|
-
return
|
|
54
|
+
return match[1];
|
|
35
55
|
}
|
|
56
|
+
exports.extractVariableNameFromPrompt = extractVariableNameFromPrompt;
|
|
36
57
|
// used to only send completed lines (= with a newline at the end of them) to our logic (#2827)
|
|
37
58
|
function bufferUnterminatedLines(handler) {
|
|
38
59
|
let buffer = "";
|
|
@@ -49,6 +70,7 @@ function bufferUnterminatedLines(handler) {
|
|
|
49
70
|
bufferedReceiverFunction.getBuffer = () => buffer;
|
|
50
71
|
return bufferedReceiverFunction;
|
|
51
72
|
}
|
|
73
|
+
exports.bufferUnterminatedLines = bufferUnterminatedLines;
|
|
52
74
|
function handleLineReceived(send) {
|
|
53
75
|
return (output) => {
|
|
54
76
|
let hideOutput = false;
|
|
@@ -67,7 +89,7 @@ function handleLineReceived(send) {
|
|
|
67
89
|
send({ type: "OUTPUT_RECEIVED", output });
|
|
68
90
|
send({ type: "REQUEST_APPROVAL" });
|
|
69
91
|
}
|
|
70
|
-
else if (noColorLine
|
|
92
|
+
else if (isMissingVariablePrompt(noColorLine)) {
|
|
71
93
|
hideOutput = true;
|
|
72
94
|
const variableName = extractVariableNameFromPrompt(output);
|
|
73
95
|
send({
|
|
@@ -96,6 +118,7 @@ function handleLineReceived(send) {
|
|
|
96
118
|
}
|
|
97
119
|
};
|
|
98
120
|
}
|
|
121
|
+
exports.handleLineReceived = handleLineReceived;
|
|
99
122
|
exports.deployMachine = (0, xstate_1.createMachine)({
|
|
100
123
|
predictableActionArguments: true,
|
|
101
124
|
context: {},
|
|
@@ -114,7 +137,7 @@ exports.deployMachine = (0, xstate_1.createMachine)({
|
|
|
114
137
|
},
|
|
115
138
|
on: {
|
|
116
139
|
EXITED: "exited",
|
|
117
|
-
STOP: "
|
|
140
|
+
STOP: ".stopping", // wait for terraform to exit, don't stop immediately (see the "stopping" state)
|
|
118
141
|
},
|
|
119
142
|
initial: "processing",
|
|
120
143
|
states: {
|
|
@@ -178,6 +201,15 @@ exports.deployMachine = (0, xstate_1.createMachine)({
|
|
|
178
201
|
},
|
|
179
202
|
},
|
|
180
203
|
},
|
|
204
|
+
// On STOP, wait for terraform's own EXITED before reaching the final "stopped" state, so the run only
|
|
205
|
+
// resolves once it has exited and released its lock. Don't re-signal it — it already got the interrupt via
|
|
206
|
+
// the process group, and a second signal aborts its graceful shutdown.
|
|
207
|
+
stopping: {
|
|
208
|
+
entry: (0, xstate_1.assign)({ cancelled: true }),
|
|
209
|
+
on: {
|
|
210
|
+
EXITED: "#root.stopped",
|
|
211
|
+
},
|
|
212
|
+
},
|
|
181
213
|
},
|
|
182
214
|
},
|
|
183
215
|
exited: { type: "final" },
|
|
@@ -217,6 +249,7 @@ function terraformPtyService(_context, event, spawn = interactive_process_1.spaw
|
|
|
217
249
|
};
|
|
218
250
|
};
|
|
219
251
|
}
|
|
252
|
+
exports.terraformPtyService = terraformPtyService;
|
|
220
253
|
function createAndStartDeployService(options) {
|
|
221
254
|
var _a, _b;
|
|
222
255
|
const service = (0, xstate_1.interpret)(exports.deployMachine);
|
|
@@ -249,6 +282,7 @@ function createAndStartDeployService(options) {
|
|
|
249
282
|
service.send({ type: "START", pty: config });
|
|
250
283
|
return service;
|
|
251
284
|
}
|
|
285
|
+
exports.createAndStartDeployService = createAndStartDeployService;
|
|
252
286
|
function createAndStartDestroyService(options) {
|
|
253
287
|
var _a, _b;
|
|
254
288
|
const service = (0, xstate_1.interpret)(exports.deployMachine);
|
|
@@ -280,4 +314,5 @@ function createAndStartDestroyService(options) {
|
|
|
280
314
|
service.send({ type: "START", pty: config });
|
|
281
315
|
return service;
|
|
282
316
|
}
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUE4Q0gsc0NBS0M7QUFnQ0Qsc0VBVUM7QUFZRCwwREFrQkM7QUFFRCxnREFvREM7QUFzSEQsa0RBeUNDO0FBRUQsa0VBbURDO0FBRUQsb0VBa0RDO0FBdmJELG1DQVFnQjtBQUNoQiw0Q0FBZ0Q7QUFDaEQsc0NBQTRDO0FBQzVDLDREQUFtQztBQUNuQywyQkFBeUI7QUFDekIsK0RBRytCO0FBNEIvQixTQUFnQixhQUFhLENBQzNCLEtBQWtCLEVBQ2xCLElBQXFCO0lBRXJCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7QUFDN0IsQ0FBQztBQWdDRCxTQUFnQiw2QkFBNkIsQ0FBQyxJQUFZO0lBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsMkNBQTJDLElBQUksa0ZBQWtGLENBQ2xJLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFXRCwrRkFBK0Y7QUFDL0YsU0FBZ0IsdUJBQXVCLENBQ3JDLE9BQWlDO0lBRWpDLElBQUksTUFB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QUNqQyxJQUFJO1FBQ0osT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBZ0MsRUFBRSwwREFBMEQ7U0FDMUc7S0FDRixDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFN0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtcbiAgY3JlYXRlTWFjaGluZSxcbiAgc2VuZCxcbiAgaW50ZXJwcmV0LFxuICBFdmVudE9iamVjdCxcbiAgYXNzaWduLFxuICBTZW5kZXIsXG4gIFJlY2VpdmVyLFxufSBmcm9tIFwieHN0YXRlXCI7XG5pbXBvcnQgeyBFcnJvcnMsIGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgbWlzc2luZ1ZhcmlhYmxlIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHN0cmlwQW5zaSBmcm9tIFwic3RyaXAtYW5zaVwiO1xuaW1wb3J0IHsgRU9MIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQge1xuICBzcGF3bkludGVyYWN0aXZlLFxuICBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnLFxufSBmcm9tIFwiLi9pbnRlcmFjdGl2ZS1wcm9jZXNzXCI7XG5cbmludGVyZmFjZSBEZXBsb3lDb250ZXh0IHtcbiAgZXhpdENvZGU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUZXJyYWZvcm0gd2lsbCBleGl0IHdpdGggMSBpZiBpdCB3YXMgY2FuY2VsbGVkLCBidXQgd2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZVxuICAgKi9cbiAgY2FuY2VsbGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRGVwbG95RXZlbnQgPVxuICB8IHsgdHlwZTogXCJTVEFSVFwiOyBwdHk6IEludGVyYWN0aXZlU3Bhd25Db25maWcgfVxuICB8IHsgdHlwZTogXCJTVE9QXCIgfVxuICB8IHsgdHlwZTogXCJTRU5EX0xJTkVcIjsgaW5wdXQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiOyBvdXRwdXQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVEX0VYVEVSTkFMTFlcIiB9IC8vIGUuZy4gdmlhIFRGQyBVSSBvciBBUElcbiAgfCB7IHR5cGU6IFwiUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJRERFTl9FWFRFUk5BTExZXCIgfVxuICB8IHsgdHlwZTogXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIgfVxuICB8IHsgdHlwZTogXCJPVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVKRUNUX09WRVJSSURFXCIgfVxuICB8IHsgdHlwZTogXCJSRVFVRVNUX0FQUFJPVkFMXCIgfVxuICB8IHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCI7IHZhcmlhYmxlTmFtZTogc3RyaW5nIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiQVBQUk9WRVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVKRUNUXCIgfVxuICB8IHsgdHlwZTogXCJFWElURURcIjsgZXhpdENvZGU6IG51bWJlciB9O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXBsb3lFdmVudDxEZXBsb3lFdmVudFR5cGUgZXh0ZW5kcyBEZXBsb3lFdmVudFtcInR5cGVcIl0+KFxuICBldmVudDogRXZlbnRPYmplY3QsXG4gIHR5cGU6IERlcGxveUV2ZW50VHlwZSxcbik6IGV2ZW50IGlzIERlcGxveUV2ZW50ICYgeyB0eXBlOiBEZXBsb3lFdmVudFR5cGUgfSB7XG4gIHJldHVybiBldmVudC50eXBlID09PSB0eXBlO1xufVxuXG5leHBvcnQgdHlwZSBEZXBsb3lTdGF0ZSA9XG4gIHwge1xuICAgICAgdmFsdWU6IFwiaWRsZVwiO1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IFwicnVubmluZ1wiO1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IHsgcnVubmluZzogXCJwcm9jZXNzaW5nXCIgfTtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwiYXdhaXRpbmdfYXBwcm92YWxcIiB9O1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IHsgcnVubmluZzogXCJhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZVwiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogXCJleGl0ZWRcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQgJiB7IGV4aXRDb2RlOiBudW1iZXIgfTtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IFwic3RvcHBlZFwiO1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFZhcmlhYmxlTmFtZUZyb21Qcm9tcHQobGluZTogc3RyaW5nKSB7XG4gIGNvbnN0IG5vQ29sb3JMaW5lID0gc3RyaXBBbnNpKGxpbmUpO1xuICBjb25zdCBsaW5lcyA9IG5vQ29sb3JMaW5lLnNwbGl0KFwiXFxuXCIpO1xuICBjb25zdCBsaW5lV2l0aFZhciA9IGxpbmVzLmZpbmQoKGxpbmUpID0+IGxpbmUuaW5jbHVkZXMoXCJ2YXIuXCIpKTtcbiAgaWYgKCFsaW5lV2l0aFZhcikge1xuICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgIGBDb3VsZCBub3QgZmluZCB2YXJpYWJsZSBuYW1lIGluIHByb21wdDogJHtsaW5lfS4gVGhpcyBpcyBtb3N0IGxpa2VseSBhIGJ1ZyBpbiBjZGt0bi4gUGxlYXNlIHJlcG9ydCBpdCBhdCBodHRwOi8vY2RrdG4uaW8vaXNzdWVzYCxcbiAgICApO1xuICB9XG4gIHJldHVybiBsaW5lV2l0aFZhci5zcGxpdChcInZhci5cIilbMV0udHJpbSgpO1xufVxuXG5pbnRlcmZhY2UgQnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uIHtcbiAgKG91dHB1dDogc3RyaW5nKTogdm9pZDtcbiAgLyoqXG4gICAqIHVzZWQgdG8gZ2V0IHRoZSBsYXN0IGJ1ZmZlciB3aGVuIHRoZSBQVFkgZXhpdHMgdG8gbG9nIGEgZGVidWcgbWVzc2FnZSBpZiB0aGVyZSdzIG91dHB1dCBsZWZ0IGluIHRoZXJlXG4gICAqIChtaWdodCBoZWxwIGRlYnVnZ2luZyBvbiBXaW5kb3dzIGlmIEVPTCBmcm9tIE5vZGVqcyBkb2Vzbid0IHdvcmsgaW4gV1NMKVxuICAgKi9cbiAgZ2V0QnVmZmVyOiAoKSA9PiBzdHJpbmc7XG59XG5cbi8vIHVzZWQgdG8gb25seSBzZW5kIGNvbXBsZXRlZCBsaW5lcyAoPSB3aXRoIGEgbmV3bGluZSBhdCB0aGUgZW5kIG9mIHRoZW0pIHRvIG91ciBsb2dpYyAoIzI4MjcpXG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVW50ZXJtaW5hdGVkTGluZXMoXG4gIGhhbmRsZXI6IChvdXRwdXQ6IHN0cmluZykgPT4gdm9pZCxcbik6IEJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbiB7XG4gIGxldCBidWZmZXIgPSBcIlwiO1xuICBmdW5jdGlvbiBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ob3V0cHV0OiBzdHJpbmcpIHtcbiAgICBidWZmZXIgKz0gb3V0cHV0O1xuICAgIGNvbnN0IGxpbmVzID0gYnVmZmVyLnNwbGl0KC9bXFxuXFxyXSsvKTtcblxuICAgIC8vIGlmIHRoZSBzdHJpbmcgZW5kcyB3aXRoIFxcbiB0aGlzIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nXG4gICAgLy8gZWxzZSBpdCB3aWxsIGNvbnRhaW4gYW4gXCJ1bmZpbmlzaGVkXCIgbGluZVxuICAgIC8vIHRoZSBmYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaXMgdG8gbWFrZSBUUyBoYXBweSBhbmQgc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgIGJ1ZmZlciA9IGxpbmVzLnBvcCgpIHx8IFwiXCI7XG5cbiAgICBpZiAobGluZXMubGVuZ3RoID4gMCkgaGFuZGxlcihsaW5lcy5qb2luKEVPTCkgKyBFT0wpO1xuICB9XG4gIGJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbi5nZXRCdWZmZXIgPSAoKSA9PiBidWZmZXI7XG5cbiAgcmV0dXJuIGJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUxpbmVSZWNlaXZlZChzZW5kOiAoZXZlbnQ6IERlcGxveUV2ZW50KSA9PiB2b2lkKSB7XG4gIHJldHVybiAob3V0cHV0OiBzdHJpbmcpID0+IHtcbiAgICBsZXQgaGlkZU91dHB1dCA9IGZhbHNlO1xuICAgIGNvbnN0IG5vQ29sb3JMaW5lID0gc3RyaXBBbnNpKG91dHB1dCk7XG5cbiAgICAvLyBwb3NzaWJsZSBldmVudHMgYmFzZWQgb24gbGluZVxuICAgIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcImFwcHJvdmVkIHVzaW5nIHRoZSBVSSBvciBBUElcIikpIHtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIkFQUFJPVkVEX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiZGlzY2FyZGVkIHVzaW5nIHRoZSBVSSBvciBBUElcIikpIHtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbm9Db2xvckxpbmUuaW5jbHVkZXMoXCJEbyB5b3Ugd2FudCB0byBwZXJmb3JtIHRoZXNlIGFjdGlvbnNcIikgfHxcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRG8geW91IHJlYWxseSB3YW50IHRvIGRlc3Ryb3kgYWxsIHJlc291cmNlcz9cIikgfHxcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFxuICAgICAgICBcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZXN0cm95IGFsbCByZXNvdXJjZXMgaW4gd29ya3NwYWNlXCIsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLCBvdXRwdXQgfSk7XG4gICAgICBzZW5kKHsgdHlwZTogXCJSRVFVRVNUX0FQUFJPVkFMXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcInZhci5cIikpIHtcbiAgICAgIGhpZGVPdXRwdXQgPSB0cnVlO1xuXG4gICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBleHRyYWN0VmFyaWFibGVOYW1lRnJvbVByb21wdChvdXRwdXQpO1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFwiT1VUUFVUX1JFQ0VJVkVEXCIsXG4gICAgICAgIG91dHB1dDogbWlzc2luZ1ZhcmlhYmxlKHZhcmlhYmxlTmFtZSksXG4gICAgICB9KTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIlZBUklBQkxFX01JU1NJTkdcIiwgdmFyaWFibGVOYW1lIH0pO1xuICAgIH0gZWxzZSBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJFbnRlciBhIHZhbHVlOlwiKSkge1xuICAgICAgLy8gVGhpcyBjb21lcyBhbG9uZyB3aXRoIGFib3ZlIGJsb2NrLCBidXQgaXMgYSBzZXBhcmF0ZSBsaW5lXG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbm9Db2xvckxpbmUuaW5jbHVkZXMoXG4gICAgICAgIFwiRG8geW91IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIHNvZnQgZmFpbGVkIHBvbGljeSBjaGVjaz9cIixcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGhpZGVPdXRwdXQgPSB0cnVlO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiT1VUUFVUX1JFQ0VJVkVEXCIsIG91dHB1dCB9KTtcblxuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERVwiIH0pO1xuICAgIH0gZWxzZSBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJvdmVycmlkZGVuIHVzaW5nIHRoZSBVSSBvciBBUElcIikpIHtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9WRVJSSURERU5fRVhURVJOQUxMWVwiIH0pO1xuICAgIH1cblxuICAgIGlmICghaGlkZU91dHB1dCkge1xuICAgICAgc2VuZCh7XG4gICAgICAgIHR5cGU6IFwiT1VUUFVUX1JFQ0VJVkVEXCIsXG4gICAgICAgIG91dHB1dCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlcGxveU1hY2hpbmUgPSBjcmVhdGVNYWNoaW5lPFxuICBEZXBsb3lDb250ZXh0LFxuICBEZXBsb3lFdmVudCxcbiAgRGVwbG95U3RhdGVcbj4oXG4gIHtcbiAgICBwcmVkaWN0YWJsZUFjdGlvbkFyZ3VtZW50czogdHJ1ZSxcbiAgICBjb250ZXh0OiB7fSxcbiAgICBpbml0aWFsOiBcImlkbGVcIixcbiAgICBpZDogXCJyb290XCIsXG4gICAgc3RhdGVzOiB7XG4gICAgICBpZGxlOiB7XG4gICAgICAgIG9uOiB7XG4gICAgICAgICAgU1RBUlQ6IHsgdGFyZ2V0OiBcInJ1bm5pbmdcIiB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJ1bm5pbmc6IHtcbiAgICAgICAgaW52b2tlOiB7XG4gICAgICAgICAgaWQ6IFwicHR5XCIsXG4gICAgICAgICAgc3JjOiBcInJ1blRlcnJhZm9ybUluUHR5XCIsXG4gICAgICAgIH0sXG4gICAgICAgIG9uOiB7XG4gICAgICAgICAgRVhJVEVEOiBcImV4aXRlZFwiLFxuICAgICAgICAgIFNUT1A6IFwic3RvcHBlZFwiLFxuICAgICAgICB9LFxuICAgICAgICBpbml0aWFsOiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgc3RhdGVzOiB7XG4gICAgICAgICAgLy8gVE9ETzogd2hhdCBlbHNlIG1pZ2h0IFRGIENMSSBiZSBhc2tpbmc/IENhbiB3ZSBkZXRlY3QgYW55IHF1ZXN0aW9uIGZyb20gdGhlIFRGIENMSSB0byBzaG93IGEgZ29vZCBlcnJvcj9cbiAgICAgICAgICBwcm9jZXNzaW5nOiB7XG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBSRVFVRVNUX0FQUFJPVkFMOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIsXG4gICAgICAgICAgICAgIFJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREU6IFwiYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGVcIixcbiAgICAgICAgICAgICAgVkFSSUFCTEVfTUlTU0lORzoge1xuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoeyB0eXBlOiBcIkVYSVRFRFwiLCBleGl0Q29kZTogMSB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhd2FpdGluZ19hcHByb3ZhbDoge1xuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgQVBQUk9WRURfRVhURVJOQUxMWTogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIFJFSkVDVEVEX0VYVEVSTkFMTFk6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3QuZXhpdGVkXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogYXNzaWduPFxuICAgICAgICAgICAgICAgICAgRGVwbG95Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gICAgICAgICAgICAgICAgPih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgQVBQUk9WRToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogc2VuZChcbiAgICAgICAgICAgICAgICAgIHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwieWVzXCIgfSxcbiAgICAgICAgICAgICAgICAgIHsgdG86IFwicHR5XCIgfSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBSRUpFQ1Q6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgIHNlbmQoeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJub1wiIH0sIHsgdG86IFwicHR5XCIgfSksXG4gICAgICAgICAgICAgICAgICBhc3NpZ248RGVwbG95Q29udGV4dCwgRGVwbG95RXZlbnQgJiB7IHR5cGU6IFwiUkVKRUNUXCIgfT4oe1xuICAgICAgICAgICAgICAgICAgICBjYW5jZWxsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF3YWl0aW5nX3NlbnRpbmVsX292ZXJyaWRlOiB7XG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBPVkVSUklEREVOX0VYVEVSTkFMTFk6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICBPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcIiNyb290LmV4aXRlZFwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbjxcbiAgICAgICAgICAgICAgICAgIERlcGxveUNvbnRleHQsXG4gICAgICAgICAgICAgICAgICBEZXBsb3lFdmVudCAmIHsgdHlwZTogXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIgfVxuICAgICAgICAgICAgICAgID4oeyBjYW5jZWxsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrLCBiZWNhdXNlIHRoZSBleHRlcm5hbCBkaXNjYXJkIG1lc3NhZ2VcbiAgICAgICAgICAgICAgLy8gcG9zdGVkIGJ5IFRlcnJhZm9ybSBVSSBpcyB0aGUgc2FtZSBhcyBkdXJpbmcgYXBwbHkuIFNvLCB3ZSBjYXB0dXJlIHRoYXRcbiAgICAgICAgICAgICAgLy8gYW5kIGVtaXQgb3VyIG93biBldmVudCB0byBtYWtlIGl0IG1vcmUgc3BlY2lmaWMuXG4gICAgICAgICAgICAgIFJFSkVDVEVEX0VYVEVSTkFMTFk6IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kKHsgdHlwZTogXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE9WRVJSSURFOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kKFxuICAgICAgICAgICAgICAgICAgeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJvdmVycmlkZVwiIH0sXG4gICAgICAgICAgICAgICAgICB7IHRvOiBcInB0eVwiIH0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgUkVKRUNUX09WRVJSSURFOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICBzZW5kKHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwibm9cIiB9LCB7IHRvOiBcInB0eVwiIH0pLFxuICAgICAgICAgICAgICAgICAgYXNzaWduPFxuICAgICAgICAgICAgICAgICAgICBEZXBsb3lDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICBEZXBsb3lFdmVudCAmIHsgdHlwZTogXCJSRUpFQ1RfT1ZFUlJJREVcIiB9XG4gICAgICAgICAgICAgICAgICA+KHtcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGl0ZWQ6IHsgdHlwZTogXCJmaW5hbFwiIH0sXG4gICAgICBzdG9wcGVkOiB7IHR5cGU6IFwiZmluYWxcIiB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBzZXJ2aWNlczoge1xuICAgICAgcnVuVGVycmFmb3JtSW5QdHk6IChjb250ZXh0LCBldmVudCkgPT5cbiAgICAgICAgdGVycmFmb3JtUHR5U2VydmljZShjb250ZXh0LCBldmVudCwgc3Bhd25JbnRlcmFjdGl2ZSksXG4gICAgfSxcbiAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJyYWZvcm1QdHlTZXJ2aWNlKFxuICBfY29udGV4dDogRGVwbG95Q29udGV4dCxcbiAgZXZlbnQ6IERlcGxveUV2ZW50LFxuICBzcGF3biA9IHNwYXduSW50ZXJhY3RpdmUsXG4pOiAoc2VuZDogU2VuZGVyPERlcGxveUV2ZW50Piwgb25SZWNlaXZlOiBSZWNlaXZlcjxEZXBsb3lFdmVudD4pID0+IHZvaWQge1xuICByZXR1cm4gKHNlbmQ6IFNlbmRlcjxEZXBsb3lFdmVudD4sIG9uUmVjZWl2ZTogUmVjZWl2ZXI8RGVwbG95RXZlbnQ+KSA9PiB7XG4gICAgaWYgKGV2ZW50LnR5cGUgIT09IFwiU1RBUlRcIikge1xuICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICBgVGVycmFmb3JtIENMSSBpbnZvY2F0aW9uIHN0YXRlIG1hY2hpbmU6IFVuZXhwZWN0ZWQgZXZlbnQgY2F1c2VkIHRyYW5zaXRpb24gdG8gdGhlIHJ1bm5pbmcgc3RhdGU6ICR7ZXZlbnQudHlwZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb21tdW5pY2F0aW9uIGZyb20gdGhlIHB0eSB0byB0aGUgY2FsbGVyXG4gICAgY29uc3QgcmVjZWl2ZXIgPSBidWZmZXJVbnRlcm1pbmF0ZWRMaW5lcyhoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZCkpO1xuICAgIGNvbnN0IHsgZXhpdENvZGUsIGFjdGlvbnMgfSA9IHNwYXduKGV2ZW50LnB0eSwgKGRhdGEpID0+IHtcbiAgICAgIHJlY2VpdmVyKGRhdGEpO1xuICAgIH0pO1xuXG4gICAgLy8gQ29tbXVuaWNhdGlvbiBmcm9tIHRoZSBjYWxsZXIgdG8gdGhlIHB0eVxuICAgIG9uUmVjZWl2ZSgoZXZlbnQ6IERlcGxveUV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJTRU5EX0xJTkVcIikge1xuICAgICAgICBhY3Rpb25zLndyaXRlTGluZShldmVudC5pbnB1dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleGl0Q29kZS50aGVuKChleGl0Q29kZSkgPT4ge1xuICAgICAgY29uc3QgbGFzdEJ1ZmZlciA9IHJlY2VpdmVyLmdldEJ1ZmZlcigpO1xuICAgICAgaWYgKGxhc3RCdWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFRlcnJhZm9ybSBDTEkgZXhpdGVkIGJ1dCB0aGUgbGFzdCBvdXRwdXR0ZWQgbGluZSB3YXMgbm90IHRlcm1pbmF0ZWQgd2l0aCBhIG5ld2xpbmUgYW5kIGhlbmNlIGlzIHN0aWxsIGluIHRoZSBidWZmZXIgYW5kIHdhc24ndCBwcmludGVkOiBcIiR7bGFzdEJ1ZmZlcn1cImAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIkVYSVRFRFwiLCBleGl0Q29kZSB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBsb2dnZXIudHJhY2UoXCJUZXJyYWZvcm0gQ0xJIHN0YXRlIG1hY2hpbmU6IGNsZWFuaW5nIHVwIHB0eVwiKTtcbiAgICAgIGFjdGlvbnMuc3RvcCgpO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlcGxveVNlcnZpY2Uob3B0aW9uczoge1xuICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gIHBhcmFsbGVsaXNtOiBudW1iZXI7XG4gIGV4dHJhT3B0aW9uczogc3RyaW5nW107XG4gIHRlcnJhZm9ybUJpbmFyeU5hbWU6IHN0cmluZztcbiAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICBub0NvbG9yPzogYm9vbGVhbjtcbiAgd29ya2Rpcjogc3RyaW5nO1xuICB2YXJzPzogc3RyaW5nW107XG4gIHZhckZpbGVzPzogc3RyaW5nW107XG59KSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBpbnRlcnByZXQoZGVwbG95TWFjaGluZSk7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJhcHBseVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5yZWZyZXNoT25seSA/IFtcIi1yZWZyZXNoLW9ubHlcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMubm9Db2xvciA/IFtcIi1uby1jb2xvclwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5wYXJhbGxlbGlzbSA+IC0xXG4gICAgICA/IFtgLXBhcmFsbGVsaXNtPSR7b3B0aW9ucy5wYXJhbGxlbGlzbX1gXVxuICAgICAgOiBbXSksXG4gIF07XG5cbiAgb3B0aW9ucy52YXJzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyPSR7dn1gKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy52YXJGaWxlcz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhci1maWxlPSR7dn1gKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBFeGVjdXRpbmcgJHtvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWV9ICR7YXJncy5qb2luKFwiIFwiKX0gaW4gJHtcbiAgICAgIG9wdGlvbnMud29ya2RpclxuICAgIH1gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZzogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyA9IHtcbiAgICBmaWxlOiBvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgYXJncyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBjd2Q6IG9wdGlvbnMud29ya2RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgLy8gVE9ETzogbWFrZSB0aGlzIGV4cGxpY2l0IGFuZCBtb3ZlIHRvIGNhbGxlciBvciB3aGF0ZXZlclxuICAgIH0sXG4gIH07XG5cbiAgc2VydmljZS5zZW5kKHsgdHlwZTogXCJTVEFSVFwiLCBwdHk6IGNvbmZpZyB9KTtcblxuICByZXR1cm4gc2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFuZFN0YXJ0RGVzdHJveVNlcnZpY2Uob3B0aW9uczoge1xuICBwYXJhbGxlbGlzbTogbnVtYmVyO1xuICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gIGF1dG9BcHByb3ZlPzogYm9vbGVhbjtcbiAgbm9Db2xvcj86IGJvb2xlYW47XG4gIHdvcmtkaXI6IHN0cmluZztcbiAgdmFycz86IHN0cmluZ1tdO1xuICB2YXJGaWxlcz86IHN0cmluZ1tdO1xufSkge1xuICBjb25zdCBzZXJ2aWNlID0gaW50ZXJwcmV0KGRlcGxveU1hY2hpbmUpO1xuXG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJkZXN0cm95XCIsXG4gICAgLi4uKG9wdGlvbnMuYXV0b0FwcHJvdmUgPyBbXCItYXV0by1hcHByb3ZlXCJdIDogW10pLFxuICAgIC8vIFwiLWlucHV0PWZhbHNlXCIsIHdlIGNhbid0IHVzZSB0aGlzIGFueW1vcmUgYnV0IFRPRE86IHdlIG5lZWQgdG8gZGV0ZWN0IFRGIENMSSBhc2tpbmcgZm9yIG1pc3NpbmcgaW5wdXRzIGFuZCBlaXRoZXIgYWxsb3cgcGFzc2luZyB0aGVtIG9yIHN0b3AgdGhlcmUgYW5kIGZhaWxcblxuICAgIC4uLm9wdGlvbnMuZXh0cmFPcHRpb25zLFxuICAgIC4uLihvcHRpb25zLm5vQ29sb3IgPyBbXCItbm8tY29sb3JcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMucGFyYWxsZWxpc20gPiAtMVxuICAgICAgPyBbYC1wYXJhbGxlbGlzbT0ke29wdGlvbnMucGFyYWxsZWxpc219YF1cbiAgICAgIDogW10pLFxuICBdO1xuXG4gIG9wdGlvbnMudmFycz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhcj0ke3Z9YCk7XG4gIH0pO1xuXG4gIG9wdGlvbnMudmFyRmlsZXM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXItZmlsZT0ke3Z9YCk7XG4gIH0pO1xuXG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgRXhlY3V0aW5nICR7b3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lfSAke2FyZ3Muam9pbihcIiBcIil9IGluICR7XG4gICAgICBvcHRpb25zLndvcmtkaXJcbiAgICB9YCxcbiAgKTtcblxuICBjb25zdCBjb25maWc6IEludGVyYWN0aXZlU3Bhd25Db25maWcgPSB7XG4gICAgZmlsZTogb3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgIGFyZ3MsXG4gICAgb3B0aW9uczoge1xuICAgICAgY3dkOiBvcHRpb25zLndvcmtkaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIC8vIFRPRE86IG1ha2UgdGhpcyBleHBsaWNpdCBhbmQgbW92ZSB0byBjYWxsZXIgb3Igd2hhdGV2ZXJcbiAgICB9LFxuICB9O1xuXG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=
|
|
317
|
+
exports.createAndStartDestroyService = createAndStartDestroyService;
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUFFSCxtQ0FRZ0I7QUFDaEIsNENBQWdEO0FBQ2hELHNDQUE0QztBQUM1Qyw0REFBbUM7QUFDbkMsMkJBQXlCO0FBQ3pCLCtEQUcrQjtBQTRCL0IsU0FBZ0IsYUFBYSxDQUMzQixLQUFrQixFQUNsQixJQUFxQjtJQUVyQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQzdCLENBQUM7QUFMRCxzQ0FLQztBQW9DRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLHdDQUF3QyxDQUFDO0FBRXZFOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLFdBQW1CO0lBQ3pELE9BQU8sV0FBVztTQUNmLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFKRCwwREFJQztBQUVELFNBQWdCLDZCQUE2QixDQUFDLElBQVk7SUFDeEQsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUMxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQXlCLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFD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QUFPLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQUEsT0FBTyxDQUFDLFFBQVEsMENBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FDVixhQUFhLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUN4RCxPQUFPLENBQUMsT0FDVixFQUFFLENBQ0gsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUEyQjtRQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJO1FBQ0osT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBZ0MsRUFBRSwwREFBMEQ7U0FDMUc7S0FDRixDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFN0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQWxERCxvRUFrREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7XG4gIGNyZWF0ZU1hY2hpbmUsXG4gIHNlbmQsXG4gIGludGVycHJldCxcbiAgRXZlbnRPYmplY3QsXG4gIGFzc2lnbixcbiAgU2VuZGVyLFxuICBSZWNlaXZlcixcbn0gZnJvbSBcInhzdGF0ZVwiO1xuaW1wb3J0IHsgRXJyb3JzLCBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IG1pc3NpbmdWYXJpYWJsZSB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcbmltcG9ydCB7IEVPTCB9IGZyb20gXCJvc1wiO1xuaW1wb3J0IHtcbiAgc3Bhd25JbnRlcmFjdGl2ZSxcbiAgSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyxcbn0gZnJvbSBcIi4vaW50ZXJhY3RpdmUtcHJvY2Vzc1wiO1xuXG5pbnRlcmZhY2UgRGVwbG95Q29udGV4dCB7XG4gIGV4aXRDb2RlPzogbnVtYmVyO1xuICAvKipcbiAgICogVGVycmFmb3JtIHdpbGwgZXhpdCB3aXRoIDEgaWYgaXQgd2FzIGNhbmNlbGxlZCwgYnV0IHdlIGRvbid0IHdhbnQgdG8gZmFpbCBpbiB0aGF0IGNhc2VcbiAgICovXG4gIGNhbmNlbGxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERlcGxveUV2ZW50ID1cbiAgfCB7IHR5cGU6IFwiU1RBUlRcIjsgcHR5OiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIH1cbiAgfCB7IHR5cGU6IFwiU1RPUFwiIH1cbiAgfCB7IHR5cGU6IFwiU0VORF9MSU5FXCI7IGlucHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIjsgb3V0cHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSAvLyBlLmcuIHZpYSBURkMgVUkgb3IgQVBJXG4gIHwgeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gIHwgeyB0eXBlOiBcIk9WRVJSSURERU5fRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH1cbiAgfCB7IHR5cGU6IFwiVkFSSUFCTEVfTUlTU0lOR1wiOyB2YXJpYWJsZU5hbWU6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVFwiIH1cbiAgfCB7IHR5cGU6IFwiRVhJVEVEXCI7IGV4aXRDb2RlOiBudW1iZXIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVwbG95RXZlbnQ8RGVwbG95RXZlbnRUeXBlIGV4dGVuZHMgRGVwbG95RXZlbnRbXCJ0eXBlXCJdPihcbiAgZXZlbnQ6IEV2ZW50T2JqZWN0LFxuICB0eXBlOiBEZXBsb3lFdmVudFR5cGUsXG4pOiBldmVudCBpcyBEZXBsb3lFdmVudCAmIHsgdHlwZTogRGVwbG95RXZlbnRUeXBlIH0ge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gdHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgRGVwbG95U3RhdGUgPVxuICB8IHtcbiAgICAgIHZhbHVlOiBcImlkbGVcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiBcInJ1bm5pbmdcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwicHJvY2Vzc2luZ1wiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogeyBydW5uaW5nOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIgfTtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwiYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGVcIiB9O1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IHsgcnVubmluZzogXCJzdG9wcGluZ1wiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogXCJleGl0ZWRcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQgJiB7IGV4aXRDb2RlOiBudW1iZXIgfTtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IFwic3RvcHBlZFwiO1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9O1xuXG4vKipcbiAqIFRlcnJhZm9ybSdzIGludGVyYWN0aXZlIHByb21wdCBmb3IgYSBtaXNzaW5nIHZhcmlhYmxlIGxvb2tzIGxpa2U6XG4gKlxuICogICB2YXIuPG5hbWU+XG4gKiAgICAgRW50ZXIgYSB2YWx1ZTpcbiAqXG4gKiBUaGUgdmFyaWFibGUgbmFtZSBhcHBlYXJzIG9uIGl0cyBvd24gbGluZSwgcHJlZml4ZWQgd2l0aCBcInZhci5cIiAob3B0aW9uYWxseVxuICogaW5kZW50ZWQpLiBXZSBtYXRjaCB0aGlzIHByZWNpc2VseSBzbyB3ZSBkb24ndCBtaXN0YWtlIHRlcnJhZm9ybSBlcnJvciBvdXRwdXRcbiAqIHRoYXQgbWVyZWx5IHJlZmVyZW5jZXMgYSB2YXJpYWJsZSAoZS5nLiBcIjkyOiAgIG1pcnJvciA9IHZhci5taXJyb3JcIiBmcm9tIGFuXG4gKiBcIlVuc3VwcG9ydGVkIGFyZ3VtZW50XCIgZXJyb3IpIGZvciBhbiBhY3R1YWwgcHJvbXB0LiBUZXJyYWZvcm0gdmFyaWFibGUgbmFtZXNcbiAqIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZSBhbmQgbWF5IGNvbnRhaW4gbGV0dGVycywgZGlnaXRzLFxuICogdW5kZXJzY29yZXMgYW5kIGRhc2hlcy4gKCMyNjUpXG4gKi9cbmNvbnN0IFZBUklBQkxFX1BST01QVF9SRUdFWCA9IC9eXFxzKnZhclxcLihbQS1aYS16X11bQS1aYS16MC05Xy1dKilcXHMqJC87XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGFueSBsaW5lIGluIHRoZSBnaXZlbiAoQU5TSS1zdHJpcHBlZCkgb3V0cHV0IGlzIHRlcnJhZm9ybSdzXG4gKiBpbnRlcmFjdGl2ZSBwcm9tcHQgZm9yIGEgbWlzc2luZyB2YXJpYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWlzc2luZ1ZhcmlhYmxlUHJvbXB0KG5vQ29sb3JMaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vQ29sb3JMaW5lXG4gICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgLnNvbWUoKGxpbmUpID0+IFZBUklBQkxFX1BST01QVF9SRUdFWC50ZXN0KGxpbmUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYXJpYWJsZU5hbWVGcm9tUHJvbXB0KGxpbmU6IHN0cmluZykge1xuICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShsaW5lKTtcbiAgY29uc3QgbGluZXMgPSBub0NvbG9yTGluZS5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbWF0Y2ggPSBsaW5lc1xuICAgIC5tYXAoKGwpID0+IGwubWF0Y2goVkFSSUFCTEVfUFJPTVBUX1JFR0VYKSlcbiAgICAuZmluZCgobSk6IG0gaXMgUmVnRXhwTWF0Y2hBcnJheSA9PiBtICE9PSBudWxsKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgIGBDb3VsZCBub3QgZmluZCB2YXJpYWJsZSBuYW1lIGluIHByb21wdDogJHtsaW5lfS4gVGhpcyBpcyBtb3N0IGxpa2VseSBhIGJ1ZyBpbiBjZGt0bi4gUGxlYXNlIHJlcG9ydCBpdCBhdCBodHRwOi8vY2RrdG4uaW8vaXNzdWVzYCxcbiAgICApO1xuICB9XG4gIHJldHVybiBtYXRjaFsxXTtcbn1cblxuaW50ZXJmYWNlIEJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbiB7XG4gIChvdXRwdXQ6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKlxuICAgKiB1c2VkIHRvIGdldCB0aGUgbGFzdCBidWZmZXIgd2hlbiB0aGUgUFRZIGV4aXRzIHRvIGxvZyBhIGRlYnVnIG1lc3NhZ2UgaWYgdGhlcmUncyBvdXRwdXQgbGVmdCBpbiB0aGVyZVxuICAgKiAobWlnaHQgaGVscCBkZWJ1Z2dpbmcgb24gV2luZG93cyBpZiBFT0wgZnJvbSBOb2RlanMgZG9lc24ndCB3b3JrIGluIFdTTClcbiAgICovXG4gIGdldEJ1ZmZlcjogKCkgPT4gc3RyaW5nO1xufVxuXG4vLyB1c2VkIHRvIG9ubHkgc2VuZCBjb21wbGV0ZWQgbGluZXMgKD0gd2l0aCBhIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiB0aGVtKSB0byBvdXIgbG9naWMgKCMyODI3KVxuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclVudGVybWluYXRlZExpbmVzKFxuICBoYW5kbGVyOiAob3V0cHV0OiBzdHJpbmcpID0+IHZvaWQsXG4pOiBCdWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ge1xuICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgZnVuY3Rpb24gYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uKG91dHB1dDogc3RyaW5nKSB7XG4gICAgYnVmZmVyICs9IG91dHB1dDtcbiAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgvW1xcblxccl0rLyk7XG5cbiAgICAvLyBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCBcXG4gdGhpcyB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZ1xuICAgIC8vIGVsc2UgaXQgd2lsbCBjb250YWluIGFuIFwidW5maW5pc2hlZFwiIGxpbmVcbiAgICAvLyB0aGUgZmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlzIHRvIG1ha2UgVFMgaGFwcHkgYW5kIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCBcIlwiO1xuXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDApIGhhbmRsZXIobGluZXMuam9pbihFT0wpICsgRU9MKTtcbiAgfVxuICBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24uZ2V0QnVmZmVyID0gKCkgPT4gYnVmZmVyO1xuXG4gIHJldHVybiBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZDogKGV2ZW50OiBEZXBsb3lFdmVudCkgPT4gdm9pZCkge1xuICByZXR1cm4gKG91dHB1dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGhpZGVPdXRwdXQgPSBmYWxzZTtcbiAgICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShvdXRwdXQpO1xuXG4gICAgLy8gcG9zc2libGUgZXZlbnRzIGJhc2VkIG9uIGxpbmVcbiAgICBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJhcHByb3ZlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcImRpc2NhcmRlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJSRUpFQ1RFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRG8geW91IHdhbnQgdG8gcGVyZm9ybSB0aGVzZSBhY3Rpb25zXCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZXN0cm95IGFsbCByZXNvdXJjZXM/XCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcbiAgICAgICAgXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVzdHJveSBhbGwgcmVzb3VyY2VzIGluIHdvcmtzcGFjZVwiLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIiwgb3V0cHV0IH0pO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNNaXNzaW5nVmFyaWFibGVQcm9tcHQobm9Db2xvckxpbmUpKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcblxuICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gZXh0cmFjdFZhcmlhYmxlTmFtZUZyb21Qcm9tcHQob3V0cHV0KTtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQ6IG1pc3NpbmdWYXJpYWJsZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgfSk7XG4gICAgICBzZW5kKHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCIsIHZhcmlhYmxlTmFtZSB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRW50ZXIgYSB2YWx1ZTpcIikpIHtcbiAgICAgIC8vIFRoaXMgY29tZXMgYWxvbmcgd2l0aCBhYm92ZSBibG9jaywgYnV0IGlzIGEgc2VwYXJhdGUgbGluZVxuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBzb2Z0IGZhaWxlZCBwb2xpY3kgY2hlY2s/XCIsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLCBvdXRwdXQgfSk7XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwib3ZlcnJpZGRlbiB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVkVSUklEREVOX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWhpZGVPdXRwdXQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBkZXBsb3lNYWNoaW5lID0gY3JlYXRlTWFjaGluZTxcbiAgRGVwbG95Q29udGV4dCxcbiAgRGVwbG95RXZlbnQsXG4gIERlcGxveVN0YXRlXG4+KFxuICB7XG4gICAgcHJlZGljdGFibGVBY3Rpb25Bcmd1bWVudHM6IHRydWUsXG4gICAgY29udGV4dDoge30sXG4gICAgaW5pdGlhbDogXCJpZGxlXCIsXG4gICAgaWQ6IFwicm9vdFwiLFxuICAgIHN0YXRlczoge1xuICAgICAgaWRsZToge1xuICAgICAgICBvbjoge1xuICAgICAgICAgIFNUQVJUOiB7IHRhcmdldDogXCJydW5uaW5nXCIgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBydW5uaW5nOiB7XG4gICAgICAgIGludm9rZToge1xuICAgICAgICAgIGlkOiBcInB0eVwiLFxuICAgICAgICAgIHNyYzogXCJydW5UZXJyYWZvcm1JblB0eVwiLFxuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIEVYSVRFRDogXCJleGl0ZWRcIixcbiAgICAgICAgICBTVE9QOiBcIi5zdG9wcGluZ1wiLCAvLyB3YWl0IGZvciB0ZXJyYWZvcm0gdG8gZXhpdCwgZG9uJ3Qgc3RvcCBpbW1lZGlhdGVseSAoc2VlIHRoZSBcInN0b3BwaW5nXCIgc3RhdGUpXG4gICAgICAgIH0sXG4gICAgICAgIGluaXRpYWw6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICBzdGF0ZXM6IHtcbiAgICAgICAgICAvLyBUT0RPOiB3aGF0IGVsc2UgbWlnaHQgVEYgQ0xJIGJlIGFza2luZz8gQ2FuIHdlIGRldGVjdCBhbnkgcXVlc3Rpb24gZnJvbSB0aGUgVEYgQ0xJIHRvIHNob3cgYSBnb29kIGVycm9yP1xuICAgICAgICAgIHByb2Nlc3Npbmc6IHtcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIFJFUVVFU1RfQVBQUk9WQUw6IFwiYXdhaXRpbmdfYXBwcm92YWxcIixcbiAgICAgICAgICAgICAgUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERTogXCJhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZVwiLFxuICAgICAgICAgICAgICBWQVJJQUJMRV9NSVNTSU5HOiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uczogc2VuZCh7IHR5cGU6IFwiRVhJVEVEXCIsIGV4aXRDb2RlOiAxIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF3YWl0aW5nX2FwcHJvdmFsOiB7XG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBBUFBST1ZFRF9FWFRFUk5BTExZOiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCIjcm9vdC5leGl0ZWRcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBhc3NpZ248XG4gICAgICAgICAgICAgICAgICBEZXBsb3lDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgRGVwbG95RXZlbnQgJiB7IHR5cGU6IFwiUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgICAgICAgICAgICAgICA+KHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBBUFBST1ZFOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kKFxuICAgICAgICAgICAgICAgICAgeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJ5ZXNcIiB9LFxuICAgICAgICAgICAgICAgICAgeyB0bzogXCJwdHlcIiB9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFJFSkVDVDoge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgc2VuZCh7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm5vXCIgfSwgeyB0bzogXCJwdHlcIiB9KSxcbiAgICAgICAgICAgICAgICAgIGFzc2lnbjxEZXBsb3lDb250ZXh0LCBEZXBsb3lFdmVudCAmIHsgdHlwZTogXCJSRUpFQ1RcIiB9Pih7XG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGU6IHtcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIE9WRVJSSURERU5fRVhURVJOQUxMWTogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIE9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFk6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3QuZXhpdGVkXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogYXNzaWduPFxuICAgICAgICAgICAgICAgICAgRGVwbG95Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIk9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gICAgICAgICAgICAgICAgPih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2ssIGJlY2F1c2UgdGhlIGV4dGVybmFsIGRpc2NhcmQgbWVzc2FnZVxuICAgICAgICAgICAgICAvLyBwb3N0ZWQgYnkgVGVycmFmb3JtIFVJIGlzIHRoZSBzYW1lIGFzIGR1cmluZyBhcHBseS4gU28sIHdlIGNhcHR1cmUgdGhhdFxuICAgICAgICAgICAgICAvLyBhbmQgZW1pdCBvdXIgb3duIGV2ZW50IHRvIG1ha2UgaXQgbW9yZSBzcGVjaWZpYy5cbiAgICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoeyB0eXBlOiBcIk9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFlcIiB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoXG4gICAgICAgICAgICAgICAgICB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm92ZXJyaWRlXCIgfSxcbiAgICAgICAgICAgICAgICAgIHsgdG86IFwicHR5XCIgfSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBSRUpFQ1RfT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgIHNlbmQoeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJub1wiIH0sIHsgdG86IFwicHR5XCIgfSksXG4gICAgICAgICAgICAgICAgICBhc3NpZ248XG4gICAgICAgICAgICAgICAgICAgIERlcGxveUNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgICAgICAgICAgICAgICAgID4oe1xuICAgICAgICAgICAgICAgICAgICBjYW5jZWxsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE9uIFNUT1AsIHdhaXQgZm9yIHRlcnJhZm9ybSdzIG93biBFWElURUQgYmVmb3JlIHJlYWNoaW5nIHRoZSBmaW5hbCBcInN0b3BwZWRcIiBzdGF0ZSwgc28gdGhlIHJ1biBvbmx5XG4gICAgICAgICAgLy8gcmVzb2x2ZXMgb25jZSBpdCBoYXMgZXhpdGVkIGFuZCByZWxlYXNlZCBpdHMgbG9jay4gRG9uJ3QgcmUtc2lnbmFsIGl0IOKAlCBpdCBhbHJlYWR5IGdvdCB0aGUgaW50ZXJydXB0IHZpYVxuICAgICAgICAgIC8vIHRoZSBwcm9jZXNzIGdyb3VwLCBhbmQgYSBzZWNvbmQgc2lnbmFsIGFib3J0cyBpdHMgZ3JhY2VmdWwgc2h1dGRvd24uXG4gICAgICAgICAgc3RvcHBpbmc6IHtcbiAgICAgICAgICAgIGVudHJ5OiBhc3NpZ248RGVwbG95Q29udGV4dCwgRGVwbG95RXZlbnQ+KHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgRVhJVEVEOiBcIiNyb290LnN0b3BwZWRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGl0ZWQ6IHsgdHlwZTogXCJmaW5hbFwiIH0sXG4gICAgICBzdG9wcGVkOiB7IHR5cGU6IFwiZmluYWxcIiB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBzZXJ2aWNlczoge1xuICAgICAgcnVuVGVycmFmb3JtSW5QdHk6IChjb250ZXh0LCBldmVudCkgPT5cbiAgICAgICAgdGVycmFmb3JtUHR5U2VydmljZShjb250ZXh0LCBldmVudCwgc3Bhd25JbnRlcmFjdGl2ZSksXG4gICAgfSxcbiAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJyYWZvcm1QdHlTZXJ2aWNlKFxuICBfY29udGV4dDogRGVwbG95Q29udGV4dCxcbiAgZXZlbnQ6IERlcGxveUV2ZW50LFxuICBzcGF3biA9IHNwYXduSW50ZXJhY3RpdmUsXG4pOiAoc2VuZDogU2VuZGVyPERlcGxveUV2ZW50Piwgb25SZWNlaXZlOiBSZWNlaXZlcjxEZXBsb3lFdmVudD4pID0+IHZvaWQge1xuICByZXR1cm4gKHNlbmQ6IFNlbmRlcjxEZXBsb3lFdmVudD4sIG9uUmVjZWl2ZTogUmVjZWl2ZXI8RGVwbG95RXZlbnQ+KSA9PiB7XG4gICAgaWYgKGV2ZW50LnR5cGUgIT09IFwiU1RBUlRcIikge1xuICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICBgVGVycmFmb3JtIENMSSBpbnZvY2F0aW9uIHN0YXRlIG1hY2hpbmU6IFVuZXhwZWN0ZWQgZXZlbnQgY2F1c2VkIHRyYW5zaXRpb24gdG8gdGhlIHJ1bm5pbmcgc3RhdGU6ICR7ZXZlbnQudHlwZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb21tdW5pY2F0aW9uIGZyb20gdGhlIHB0eSB0byB0aGUgY2FsbGVyXG4gICAgY29uc3QgcmVjZWl2ZXIgPSBidWZmZXJVbnRlcm1pbmF0ZWRMaW5lcyhoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZCkpO1xuICAgIGNvbnN0IHsgZXhpdENvZGUsIGFjdGlvbnMgfSA9IHNwYXduKGV2ZW50LnB0eSwgKGRhdGEpID0+IHtcbiAgICAgIHJlY2VpdmVyKGRhdGEpO1xuICAgIH0pO1xuXG4gICAgLy8gQ29tbXVuaWNhdGlvbiBmcm9tIHRoZSBjYWxsZXIgdG8gdGhlIHB0eVxuICAgIG9uUmVjZWl2ZSgoZXZlbnQ6IERlcGxveUV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJTRU5EX0xJTkVcIikge1xuICAgICAgICBhY3Rpb25zLndyaXRlTGluZShldmVudC5pbnB1dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleGl0Q29kZS50aGVuKChleGl0Q29kZSkgPT4ge1xuICAgICAgY29uc3QgbGFzdEJ1ZmZlciA9IHJlY2VpdmVyLmdldEJ1ZmZlcigpO1xuICAgICAgaWYgKGxhc3RCdWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFRlcnJhZm9ybSBDTEkgZXhpdGVkIGJ1dCB0aGUgbGFzdCBvdXRwdXR0ZWQgbGluZSB3YXMgbm90IHRlcm1pbmF0ZWQgd2l0aCBhIG5ld2xpbmUgYW5kIGhlbmNlIGlzIHN0aWxsIGluIHRoZSBidWZmZXIgYW5kIHdhc24ndCBwcmludGVkOiBcIiR7bGFzdEJ1ZmZlcn1cImAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIkVYSVRFRFwiLCBleGl0Q29kZSB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBsb2dnZXIudHJhY2UoXCJUZXJyYWZvcm0gQ0xJIHN0YXRlIG1hY2hpbmU6IGNsZWFuaW5nIHVwIHB0eVwiKTtcbiAgICAgIGFjdGlvbnMuc3RvcCgpO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlcGxveVNlcnZpY2Uob3B0aW9uczoge1xuICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gIHBhcmFsbGVsaXNtOiBudW1iZXI7XG4gIGV4dHJhT3B0aW9uczogc3RyaW5nW107XG4gIHRlcnJhZm9ybUJpbmFyeU5hbWU6IHN0cmluZztcbiAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICBub0NvbG9yPzogYm9vbGVhbjtcbiAgd29ya2Rpcjogc3RyaW5nO1xuICB2YXJzPzogc3RyaW5nW107XG4gIHZhckZpbGVzPzogc3RyaW5nW107XG59KSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBpbnRlcnByZXQoZGVwbG95TWFjaGluZSk7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJhcHBseVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5yZWZyZXNoT25seSA/IFtcIi1yZWZyZXNoLW9ubHlcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMubm9Db2xvciA/IFtcIi1uby1jb2xvclwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5wYXJhbGxlbGlzbSA+IC0xXG4gICAgICA/IFtgLXBhcmFsbGVsaXNtPSR7b3B0aW9ucy5wYXJhbGxlbGlzbX1gXVxuICAgICAgOiBbXSksXG4gIF07XG5cbiAgb3B0aW9ucy52YXJzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyPSR7dn1gKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy52YXJGaWxlcz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhci1maWxlPSR7dn1gKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBFeGVjdXRpbmcgJHtvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWV9ICR7YXJncy5qb2luKFwiIFwiKX0gaW4gJHtcbiAgICAgIG9wdGlvbnMud29ya2RpclxuICAgIH1gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZzogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyA9IHtcbiAgICBmaWxlOiBvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgYXJncyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBjd2Q6IG9wdGlvbnMud29ya2RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgLy8gVE9ETzogbWFrZSB0aGlzIGV4cGxpY2l0IGFuZCBtb3ZlIHRvIGNhbGxlciBvciB3aGF0ZXZlclxuICAgIH0sXG4gIH07XG5cbiAgc2VydmljZS5zZW5kKHsgdHlwZTogXCJTVEFSVFwiLCBwdHk6IGNvbmZpZyB9KTtcblxuICByZXR1cm4gc2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFuZFN0YXJ0RGVzdHJveVNlcnZpY2Uob3B0aW9uczoge1xuICBwYXJhbGxlbGlzbTogbnVtYmVyO1xuICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gIGF1dG9BcHByb3ZlPzogYm9vbGVhbjtcbiAgbm9Db2xvcj86IGJvb2xlYW47XG4gIHdvcmtkaXI6IHN0cmluZztcbiAgdmFycz86IHN0cmluZ1tdO1xuICB2YXJGaWxlcz86IHN0cmluZ1tdO1xufSkge1xuICBjb25zdCBzZXJ2aWNlID0gaW50ZXJwcmV0KGRlcGxveU1hY2hpbmUpO1xuXG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJkZXN0cm95XCIsXG4gICAgLi4uKG9wdGlvbnMuYXV0b0FwcHJvdmUgPyBbXCItYXV0by1hcHByb3ZlXCJdIDogW10pLFxuICAgIC8vIFwiLWlucHV0PWZhbHNlXCIsIHdlIGNhbid0IHVzZSB0aGlzIGFueW1vcmUgYnV0IFRPRE86IHdlIG5lZWQgdG8gZGV0ZWN0IFRGIENMSSBhc2tpbmcgZm9yIG1pc3NpbmcgaW5wdXRzIGFuZCBlaXRoZXIgYWxsb3cgcGFzc2luZyB0aGVtIG9yIHN0b3AgdGhlcmUgYW5kIGZhaWxcblxuICAgIC4uLm9wdGlvbnMuZXh0cmFPcHRpb25zLFxuICAgIC4uLihvcHRpb25zLm5vQ29sb3IgPyBbXCItbm8tY29sb3JcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMucGFyYWxsZWxpc20gPiAtMVxuICAgICAgPyBbYC1wYXJhbGxlbGlzbT0ke29wdGlvbnMucGFyYWxsZWxpc219YF1cbiAgICAgIDogW10pLFxuICBdO1xuXG4gIG9wdGlvbnMudmFycz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhcj0ke3Z9YCk7XG4gIH0pO1xuXG4gIG9wdGlvbnMudmFyRmlsZXM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXItZmlsZT0ke3Z9YCk7XG4gIH0pO1xuXG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgRXhlY3V0aW5nICR7b3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lfSAke2FyZ3Muam9pbihcIiBcIil9IGluICR7XG4gICAgICBvcHRpb25zLndvcmtkaXJcbiAgICB9YCxcbiAgKTtcblxuICBjb25zdCBjb25maWc6IEludGVyYWN0aXZlU3Bhd25Db25maWcgPSB7XG4gICAgZmlsZTogb3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgIGFyZ3MsXG4gICAgb3B0aW9uczoge1xuICAgICAgY3dkOiBvcHRpb25zLndvcmtkaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIC8vIFRPRE86IG1ha2UgdGhpcyBleHBsaWNpdCBhbmQgbW92ZSB0byBjYWxsZXIgb3Igd2hhdGV2ZXJcbiAgICB9LFxuICB9O1xuXG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=
|
|
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.spawnInteractive =
|
|
10
|
+
exports.spawnInteractive = void 0;
|
|
11
11
|
const cross_spawn_1 = require("cross-spawn");
|
|
12
12
|
const commons_1 = require("@cdktn/commons");
|
|
13
13
|
const os_1 = __importDefault(require("os"));
|
|
@@ -56,4 +56,5 @@ function spawnInteractive(config, onData) {
|
|
|
56
56
|
});
|
|
57
57
|
return { exitCode, actions };
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
exports.spawnInteractive = spawnInteractive;
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtcHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL2ludGVyYWN0aXZlLXByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7O0FBRUgsNkNBQW9DO0FBQ3BDLDRDQUF3QztBQUN4Qyw0Q0FBb0I7QUFvQnBCOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsTUFBOEIsRUFDOUIsTUFBOEI7O0lBRTlCLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFekIsNERBQTREO0lBQzVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBRXZCLGdCQUFNLENBQUMsS0FBSyxDQUNWLDhCQUE4QixJQUFJLFVBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FDekQsYUFBYSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ3ZDLENBQUM7SUFFRixNQUFNLENBQUMsR0FBRyxJQUFBLG1CQUFLLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVyQyxNQUFNLE9BQU8sR0FBOEI7UUFDekMsS0FBSyxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFOztZQUMxQixnQkFBTSxDQUFDLEtBQUssQ0FDVixxQ0FBcUMsSUFBSSxVQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELE1BQU0sUUFBUSxFQUFFLENBQ2pCLENBQUM7WUFDRixNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFOztZQUM5QixnQkFBTSxDQUFDLEtBQUssQ0FDVixvREFBb0QsSUFBSSxVQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELE1BQU0sUUFBUSxFQUFFLENBQ2pCLENBQUM7WUFDRixNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxZQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUNULGdCQUFNLENBQUMsS0FBSyxDQUNWLDBCQUEwQixJQUFJLFVBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FDekQsR0FBRyxDQUNKLENBQUM7WUFDRixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWCxDQUFDO0tBQ0YsQ0FBQztJQUVGLE1BQUEsQ0FBQyxDQUFDLE1BQU0sMENBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQUEsQ0FBQyxDQUFDLE1BQU0sMENBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUMvQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZixnQkFBTSxDQUFDLEtBQUssQ0FDVixpQkFBaUIsSUFBSSxVQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQ3pELHNCQUFzQixRQUFRLEVBQUUsQ0FDakMsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQW5FRCw0Q0FtRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcImNyb3NzLXNwYXduXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCBvcyBmcm9tIFwib3NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIHtcbiAgZmlsZTogUGFyYW1ldGVyczx0eXBlb2Ygc3Bhd24+WzBdO1xuICBhcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBzcGF3bj5bMV07XG4gIG9wdGlvbnM6IFBhcmFtZXRlcnM8dHlwZW9mIHNwYXduPlsyXSAmIHsgY3dkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zIHtcbiAgd3JpdGU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICB3cml0ZUxpbmU6IChyZXNwb25zZTogc3RyaW5nKSA9PiB2b2lkO1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlUHJvY2VzcyB7XG4gIC8vIEFsd2F5cyByZXNvbHZlcywgcmV0dXJucyB0aGUgZXhpdCBjb2RlIG9mIHRoZSBwcm9jZXNzXG4gIGV4aXRDb2RlOiBQcm9taXNlPG51bWJlcj47XG4gIGFjdGlvbnM6IEludGVyYWN0aXZlUHJvY2Vzc0FjdGlvbnM7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBjaGlsZF9wcm9jZXNzLnNwYXduIHRoYXQgaGFuZGxlcyB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgZGlmZmVyZW5jZXNcbiAqIGFuZCBwcm92aWRlIGFuIGludHVpdGl2ZSBBUEkgZm9yIGJpZGlyZWN0aW9uYWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZVxuICogc3Bhd25lZCBwcm9jZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3Bhd25JbnRlcmFjdGl2ZShcbiAgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnLFxuICBvbkRhdGE6IChkYXRhOiBzdHJpbmcpID0+IHZvaWQsXG4pOiBJbnRlcmFjdGl2ZVByb2Nlc3Mge1xuICBjb25zdCB7IGFyZ3MsIG9wdGlvbnMgfSA9IGNvbmZpZztcbiAgY29uc3QgZmlsZSA9IGNvbmZpZy5maWxlO1xuXG4gIC8vIElucHV0IGFuZCBvdXRwdXQgaXMgcHJvY2Vzc2VkIGFuZCBtb2RpZmllZCBieSB0aGUgY2FsbGVyLlxuICBvcHRpb25zLnN0ZGlvID0gXCJwaXBlXCI7XG5cbiAgbG9nZ2VyLnRyYWNlKFxuICAgIGBTcGF3bmluZyBwcm9jZXNzIHdpdGggZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgIH0sIG9wdGlvbnM9JHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gLFxuICApO1xuXG4gIGNvbnN0IHAgPSBzcGF3bihmaWxlLCBhcmdzLCBvcHRpb25zKTtcblxuICBjb25zdCBhY3Rpb25zOiBJbnRlcmFjdGl2ZVByb2Nlc3NBY3Rpb25zID0ge1xuICAgIHdyaXRlOiAocmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgICAgbG9nZ2VyLnRyYWNlKFxuICAgICAgICBgU2VuZGluZyByZXNwb25zZSB0byBwcm9jZXNzIChmaWxlPSR7ZmlsZX0sIGFyZ3M9JHtcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICB9KTogJHtyZXNwb25zZX1gLFxuICAgICAgKTtcbiAgICAgIHAuc3RkaW4/LndyaXRlKHJlc3BvbnNlKTtcbiAgICB9LFxuICAgIHdyaXRlTGluZTogKHJlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYFNlbmRpbmcgcmVzcG9uc2UgKHdpdGggbmV3bGluZSkgdG8gcHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgQXJyYXkuaXNBcnJheShhcmdzKSA/IGBbJHthcmdzLmpvaW4oXCIsIFwiKX1dYCA6IGBcIiR7YXJnc31cImBcbiAgICAgICAgfSk6ICR7cmVzcG9uc2V9YCxcbiAgICAgICk7XG4gICAgICBwLnN0ZGluPy53cml0ZShgJHtyZXNwb25zZX0ke29zLkVPTH1gKTtcbiAgICB9LFxuICAgIHN0b3A6ICgpID0+IHtcbiAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgYEFib3J0aW5nIHByb2Nlc3MgKGZpbGU9JHtmaWxlfSwgYXJncz0ke1xuICAgICAgICAgIEFycmF5LmlzQXJyYXkoYXJncykgPyBgWyR7YXJncy5qb2luKFwiLCBcIil9XWAgOiBgXCIke2FyZ3N9XCJgXG4gICAgICAgIH0pYCxcbiAgICAgICk7XG4gICAgICBwLmtpbGwoKTtcbiAgICB9LFxuICB9O1xuXG4gIHAuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIHAuc3RkZXJyPy5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICBvbkRhdGEoY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSk7XG4gIH0pO1xuXG4gIGNvbnN0IGV4aXRDb2RlID0gbmV3IFByb21pc2U8bnVtYmVyPigocmVzb2x2ZSkgPT4ge1xuICAgIHAub25jZShcImNsb3NlXCIsIChjb2RlOiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgUHJvY2VzcyAoZmlsZT0ke2ZpbGV9LCBhcmdzPSR7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYFske2FyZ3Muam9pbihcIiwgXCIpfV1gIDogYFwiJHthcmdzfVwiYFxuICAgICAgICAgIH0pIGV4aXRlZCB3aXRoIGNvZGUgJHtleGl0Q29kZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShjb2RlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgZXhpdENvZGUsIGFjdGlvbnMgfTtcbn1cbiJdfQ==
|
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
26
|
exports.schema = void 0;
|
|
37
27
|
// Copyright (c) HashiCorp, Inc
|
|
@@ -188,4 +178,4 @@ exports.schema = z.union([
|
|
|
188
178
|
refreshComplete,
|
|
189
179
|
logMessage,
|
|
190
180
|
]);
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2RlbHMvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsdUNBQXlCO0FBRXpCLCtGQUErRjtBQUMvRixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDNUIsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDekIsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDekIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDL0MsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQztLQUNsQixNQUFNLENBQUM7SUFDTixRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDckIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDekIsQ0FBQztLQUNELFNBQVMsRUFBRSxDQUFDO0FBRWYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FB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Q0FBQyxLQUFLLENBQUM7SUFDNUIsT0FBTztJQUNQLGFBQWE7SUFDYixhQUFhO0lBQ2IsT0FBTztJQUNQLFVBQVU7SUFDVixhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7SUFDVixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGVBQWU7SUFDZixVQUFVO0NBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHogZnJvbSBcInpvZFwiO1xuXG4vLyBTY2hlbWFzIGZyb20gaHR0cHM6Ly93d3cudGVycmFmb3JtLmlvL2RvY3MvaW50ZXJuYWxzL21hY2hpbmUtcmVhZGFibGUtdWkuaHRtbCNjaGFuZ2Vfc3VtbWFyeVxuY29uc3QgcmVzb3VyY2UgPSB6Lm9iamVjdCh7XG4gIGFkZHI6IHouc3RyaW5nKCksXG4gIG1vZHVsZTogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2U6IHouc3RyaW5nKCksXG4gIGltcGxpZWRfcHJvdmlkZXI6IHouc3RyaW5nKCksXG4gIHJlc291cmNlX3R5cGU6IHouc3RyaW5nKCksXG4gIHJlc291cmNlX25hbWU6IHouc3RyaW5nKCksXG4gIHJlc291cmNlX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLm51bGxhYmxlKCksXG59KTtcbmNvbnN0IGJhc2VNZXNzYWdlID0gelxuICAub2JqZWN0KHtcbiAgICBcIkBsZXZlbFwiOiB6LmVudW0oW1wiaW5mb1wiLCBcImVycm9yXCIsIFwid2FyblwiXSksXG4gICAgXCJAbWVzc2FnZVwiOiB6LnN0cmluZygpLFxuICAgIFwiQG1vZHVsZVwiOiB6LnN0cmluZygpLFxuICAgIFwiQHRpbWVzdGFtcFwiOiB6LnN0cmluZygpLFxuICB9KVxuICAubm9uc3RyaWN0KCk7XG5cbmNvbnN0IGFjdGlvbiA9IHouZW51bShbXCJub29wXCIsIFwiY3JlYXRlXCIsIFwicmVhZFwiLCBcInVwZGF0ZVwiLCBcImRlbGV0ZVwiXSk7XG5jb25zdCBjaGFuZ2UgPSB6Lm9iamVjdCh7XG4gIHJlc291cmNlLFxuICBhY3Rpb24sXG59KTtcbmNvbnN0IHJlcGxhY2VDaGFuZ2UgPSBjaGFuZ2UuZXh0ZW5kKHtcbiAgYWN0aW9uOiB6LmxpdGVyYWwoXCJyZXBsYWNlXCIpLFxuICByZWFzb246IHouZW51bShbXCJ0YWludGVkXCIsIFwicmVxdWVzdGVkXCIsIFwiY2Fubm90X3VwZGF0ZVwiXSksXG59KTtcbmNvbnN0IHBsYW5uZWRDaGFuZ2UgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwbGFubmVkX2NoYW5nZVwiKSxcbiAgY2hhbmdlOiB6LnVuaW9uKFtyZXBsYWNlQ2hhbmdlLCBjaGFuZ2VdKSxcbn0pO1xuXG5jb25zdCB2ZXJzaW9uID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwidmVyc2lvblwiKSxcbn0pO1xuXG5jb25zdCBjaGFuZ2VTdW1tYXJ5ID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiY2hhbmdlX3N1bW1hcnlcIiksXG4gIGNoYW5nZXM6IHoub2JqZWN0KHtcbiAgICBhZGQ6IHoubnVtYmVyKCksXG4gICAgY2hhbmdlOiB6Lm51bWJlcigpLFxuICAgIHJlbW92ZTogei5udW1iZXIoKSxcbiAgICBvcGVyYXRpb246IHouZW51bShbXCJwbGFuXCIsIFwiYXBwbHlcIiwgXCJkZXBsb3lcIl0pLFxuICB9KSxcbn0pO1xuXG5jb25zdCBvdXRwdXRzID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwib3V0cHV0c1wiKSxcbiAgb3V0cHV0czogei5yZWNvcmQoXG4gICAgei5vYmplY3Qoe1xuICAgICAgc2Vuc2l0aXZlOiB6LmJvb2xlYW4oKSxcbiAgICAgIHR5cGU6IHouc3RyaW5nKCksXG4gICAgICB2YWx1ZTogei5zdHJpbmcoKSxcbiAgICB9KSxcbiAgKSxcbn0pO1xuXG5jb25zdCBhcHBseVN0YXJ0ID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfc3RhcnRcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBhY3Rpb24sXG4gICAgaWRfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaWRfdmFsdWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG59KTtcblxuY29uc3QgYXBwbHlQcm9ncmVzcyA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImFwcGx5X3Byb2dyZXNzXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgYWN0aW9uLFxuICAgIGVsYXBzZWRfc2Vjb25kczogei5udW1iZXIoKSxcbiAgfSksXG59KTtcblxuY29uc3QgYXBwbHlDb21wbGV0ZSA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImFwcGx5X2NvbXBsZXRlXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgYWN0aW9uLFxuICAgIGlkX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGlkX3ZhbHVlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZWxhcHNlZF9zZWNvbmRzOiB6Lm51bWJlcigpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBhcHBseUVycm9yID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfZXJyb3JlZFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGFjdGlvbixcbiAgICBlbGFwc2VkX3NlY29uZHM6IHoubnVtYmVyKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvblN0YXJ0ID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicHJvdmlzaW9uX3N0YXJ0XCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgcHJvdmlzaW9uZXI6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvblByb2dyZXNzID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicHJvdmlzaW9uX3Byb2dyZXNzXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgcHJvdmlzaW9uZXI6IHouc3RyaW5nKCksXG4gICAgb3V0cHV0OiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBwcm92aXNpb25Db21wbGV0ZSA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInByb3Zpc2lvbl9jb21wbGV0ZVwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIHByb3Zpc2lvbmVyOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBwcm92aXNpb25FcnJvcmVkID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicHJvdmlzaW9uX2Vycm9yZWRcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBwcm92aXNpb25lcjogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcmVmcmVzaFN0YXJ0ID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicmVmcmVzaF9zdGFydFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGlkX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGlkX3ZhbHVlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHJlZnJlc2hDb21wbGV0ZSA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInJlZnJlc2hfY29tcGxldGVcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBpZF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpZF92YWx1ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBsb2dNZXNzYWdlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwibG9nXCIpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBzY2hlbWEgPSB6LnVuaW9uKFtcbiAgdmVyc2lvbixcbiAgcGxhbm5lZENoYW5nZSxcbiAgY2hhbmdlU3VtbWFyeSxcbiAgb3V0cHV0cyxcbiAgYXBwbHlTdGFydCxcbiAgYXBwbHlQcm9ncmVzcyxcbiAgYXBwbHlDb21wbGV0ZSxcbiAgYXBwbHlFcnJvcixcbiAgcHJvdmlzaW9uU3RhcnQsXG4gIHByb3Zpc2lvblByb2dyZXNzLFxuICBwcm92aXNpb25Db21wbGV0ZSxcbiAgcHJvdmlzaW9uRXJyb3JlZCxcbiAgcmVmcmVzaFN0YXJ0LFxuICByZWZyZXNoQ29tcGxldGUsXG4gIGxvZ01lc3NhZ2UsXG5dKTtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSB6LmluZmVyPHR5cGVvZiBhY3Rpb24+O1xuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2RlbHMvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsK0ZBQStGO0FBQy9GLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM1QixhQUFhLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN6QixhQUFhLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN6QixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQyxDQUFDLENBQUM7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDO0tBQ2xCLE1BQU0sQ0FBQztJQUNOLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNyQixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN6QixDQUFDO0tBQ0QsU0FBUyxFQUFFLENBQUM7QUFFZixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QixRQUFRO0lBQ1IsTUFBTTtDQUNQLENBQUMsQ0FBQztBQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztDQUMxRCxDQUFDLENBQUM7QUFDSCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQzNCLENBQUMsQ0FBQztBQUVILE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNsQixTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDL0MsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzFCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNmLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUN0QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUNsQixDQUFDLENBQ0g7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNO1FBQ04sTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsTUFBTTtRQUNOLGVBQWUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzVCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUMvQixlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUM1QixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFDaEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsTUFBTTtRQUNOLGVBQWUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzVCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3hCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7SUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDdkIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7S0FDbkIsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUN4QixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3hCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3RDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztJQUNoQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Q0FDdkIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1QixPQUFPO0lBQ1AsYUFBYTtJQUNiLGFBQWE7SUFDYixPQUFPO0lBQ1AsVUFBVTtJQUNWLGFBQWE7SUFDYixhQUFhO0lBQ2IsVUFBVTtJQUNWLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osZUFBZTtJQUNmLFVBQVU7Q0FDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgeiBmcm9tIFwiem9kXCI7XG5cbi8vIFNjaGVtYXMgZnJvbSBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9pbnRlcm5hbHMvbWFjaGluZS1yZWFkYWJsZS11aS5odG1sI2NoYW5nZV9zdW1tYXJ5XG5jb25zdCByZXNvdXJjZSA9IHoub2JqZWN0KHtcbiAgYWRkcjogei5zdHJpbmcoKSxcbiAgbW9kdWxlOiB6LnN0cmluZygpLFxuICByZXNvdXJjZTogei5zdHJpbmcoKSxcbiAgaW1wbGllZF9wcm92aWRlcjogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2VfdHlwZTogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2VfbmFtZTogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2Vfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbn0pO1xuY29uc3QgYmFzZU1lc3NhZ2UgPSB6XG4gIC5vYmplY3Qoe1xuICAgIFwiQGxldmVsXCI6IHouZW51bShbXCJpbmZvXCIsIFwiZXJyb3JcIiwgXCJ3YXJuXCJdKSxcbiAgICBcIkBtZXNzYWdlXCI6IHouc3RyaW5nKCksXG4gICAgXCJAbW9kdWxlXCI6IHouc3RyaW5nKCksXG4gICAgXCJAdGltZXN0YW1wXCI6IHouc3RyaW5nKCksXG4gIH0pXG4gIC5ub25zdHJpY3QoKTtcblxuY29uc3QgYWN0aW9uID0gei5lbnVtKFtcIm5vb3BcIiwgXCJjcmVhdGVcIiwgXCJyZWFkXCIsIFwidXBkYXRlXCIsIFwiZGVsZXRlXCJdKTtcbmNvbnN0IGNoYW5nZSA9IHoub2JqZWN0KHtcbiAgcmVzb3VyY2UsXG4gIGFjdGlvbixcbn0pO1xuY29uc3QgcmVwbGFjZUNoYW5nZSA9IGNoYW5nZS5leHRlbmQoe1xuICBhY3Rpb246IHoubGl0ZXJhbChcInJlcGxhY2VcIiksXG4gIHJlYXNvbjogei5lbnVtKFtcInRhaW50ZWRcIiwgXCJyZXF1ZXN0ZWRcIiwgXCJjYW5ub3RfdXBkYXRlXCJdKSxcbn0pO1xuY29uc3QgcGxhbm5lZENoYW5nZSA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInBsYW5uZWRfY2hhbmdlXCIpLFxuICBjaGFuZ2U6IHoudW5pb24oW3JlcGxhY2VDaGFuZ2UsIGNoYW5nZV0pLFxufSk7XG5cbmNvbnN0IHZlcnNpb24gPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJ2ZXJzaW9uXCIpLFxufSk7XG5cbmNvbnN0IGNoYW5nZVN1bW1hcnkgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJjaGFuZ2Vfc3VtbWFyeVwiKSxcbiAgY2hhbmdlczogei5vYmplY3Qoe1xuICAgIGFkZDogei5udW1iZXIoKSxcbiAgICBjaGFuZ2U6IHoubnVtYmVyKCksXG4gICAgcmVtb3ZlOiB6Lm51bWJlcigpLFxuICAgIG9wZXJhdGlvbjogei5lbnVtKFtcInBsYW5cIiwgXCJhcHBseVwiLCBcImRlcGxveVwiXSksXG4gIH0pLFxufSk7XG5cbmNvbnN0IG91dHB1dHMgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJvdXRwdXRzXCIpLFxuICBvdXRwdXRzOiB6LnJlY29yZChcbiAgICB6Lm9iamVjdCh7XG4gICAgICBzZW5zaXRpdmU6IHouYm9vbGVhbigpLFxuICAgICAgdHlwZTogei5zdHJpbmcoKSxcbiAgICAgIHZhbHVlOiB6LnN0cmluZygpLFxuICAgIH0pLFxuICApLFxufSk7XG5cbmNvbnN0IGFwcGx5U3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhcHBseV9zdGFydFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGFjdGlvbixcbiAgICBpZF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpZF92YWx1ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBhcHBseVByb2dyZXNzID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfcHJvZ3Jlc3NcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBhY3Rpb24sXG4gICAgZWxhcHNlZF9zZWNvbmRzOiB6Lm51bWJlcigpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBhcHBseUNvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfY29tcGxldGVcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBhY3Rpb24sXG4gICAgaWRfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaWRfdmFsdWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBlbGFwc2VkX3NlY29uZHM6IHoubnVtYmVyKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IGFwcGx5RXJyb3IgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhcHBseV9lcnJvcmVkXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgYWN0aW9uLFxuICAgIGVsYXBzZWRfc2Vjb25kczogei5udW1iZXIoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcHJvdmlzaW9uU3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fc3RhcnRcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBwcm92aXNpb25lcjogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcHJvdmlzaW9uUHJvZ3Jlc3MgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fcHJvZ3Jlc3NcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBwcm92aXNpb25lcjogei5zdHJpbmcoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvbkNvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicHJvdmlzaW9uX2NvbXBsZXRlXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgcHJvdmlzaW9uZXI6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvbkVycm9yZWQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fZXJyb3JlZFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIHByb3Zpc2lvbmVyOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuXG5jb25zdCByZWZyZXNoU3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJyZWZyZXNoX3N0YXJ0XCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgaWRfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaWRfdmFsdWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcmVmcmVzaENvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicmVmcmVzaF9jb21wbGV0ZVwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGlkX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGlkX3ZhbHVlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IGxvZ01lc3NhZ2UgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJsb2dcIiksXG59KTtcblxuZXhwb3J0IGNvbnN0IHNjaGVtYSA9IHoudW5pb24oW1xuICB2ZXJzaW9uLFxuICBwbGFubmVkQ2hhbmdlLFxuICBjaGFuZ2VTdW1tYXJ5LFxuICBvdXRwdXRzLFxuICBhcHBseVN0YXJ0LFxuICBhcHBseVByb2dyZXNzLFxuICBhcHBseUNvbXBsZXRlLFxuICBhcHBseUVycm9yLFxuICBwcm92aXNpb25TdGFydCxcbiAgcHJvdmlzaW9uUHJvZ3Jlc3MsXG4gIHByb3Zpc2lvbkNvbXBsZXRlLFxuICBwcm92aXNpb25FcnJvcmVkLFxuICByZWZyZXNoU3RhcnQsXG4gIHJlZnJlc2hDb21wbGV0ZSxcbiAgbG9nTWVzc2FnZSxcbl0pO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IHouaW5mZXI8dHlwZW9mIGFjdGlvbj47XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terraform-cli.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform-cli.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,gBACX,SAAQ,qBACR,YAAW,aAAa;aAGN,QAAQ,EAAE,MAAM;aAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAD5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAI/C;AAED,uBAAe,oBAAoB;IACjC,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,oBAAoB,CAAC;AAkCvD,qBAAa,YAAa,YAAW,SAAS;IAY1C,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,gBAAgB;IAZzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGkB;gBAGxB,WAAW,EAAE,WAAW,EACzB,KAAK,EAAE,gBAAgB,EACvC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"terraform-cli.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform-cli.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,gBACX,SAAQ,qBACR,YAAW,aAAa;aAGN,QAAQ,EAAE,MAAM;aAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAD5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAI/C;AAED,uBAAe,oBAAoB;IACjC,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,oBAAoB,CAAC;AAkCvD,qBAAa,YAAa,YAAW,SAAS;IAY1C,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,gBAAgB;IAZzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGkB;gBAGxB,WAAW,EAAE,WAAW,EACzB,KAAK,EAAE,gBAAgB,EACvC,yBAAyB,YAAY,MAAM,YAAY,YAAY,EAAE,eACzD,MAAM,2BAAuB;IAe9B,IAAI,CAAC,IAAI,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjB,OAAO,KAAK,YAAY,GAQvB;IAED,OAAO,KAAK,UAAU,GAMrB;IAEY,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DJ,MAAM,CACjB,EACE,WAAmB,EACnB,WAAmB,EACnB,OAAe,EACf,WAAgB,EAChB,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBrB,OAAO,CAClB,EACE,WAAmB,EACnB,WAAgB,EAChB,OAAe,EACf,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;YAepB,aAAa;IA+Fd,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqB1B,MAAM,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAwBrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B,KAAK;CAGnB;AAED,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mCAAmC,CAAC,UAAU,EAAE,MAAM,iBAK3E"}
|