cdk8s 2.65.1 → 2.66.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/.jsii +12 -12
- package/lib/api-object.js +1 -1
- package/lib/app.js +34 -18
- package/lib/chart.js +1 -1
- package/lib/cron.js +1 -1
- package/lib/dependency.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/helm.js +1 -1
- package/lib/include.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/lazy.js +1 -1
- package/lib/metadata.js +1 -1
- package/lib/names.js +1 -1
- package/lib/resolve.js +3 -3
- package/lib/size.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -900,7 +900,7 @@
|
|
|
900
900
|
},
|
|
901
901
|
"locationInModule": {
|
|
902
902
|
"filename": "src/app.ts",
|
|
903
|
-
"line":
|
|
903
|
+
"line": 169
|
|
904
904
|
},
|
|
905
905
|
"parameters": [
|
|
906
906
|
{
|
|
@@ -918,7 +918,7 @@
|
|
|
918
918
|
"kind": "class",
|
|
919
919
|
"locationInModule": {
|
|
920
920
|
"filename": "src/app.ts",
|
|
921
|
-
"line":
|
|
921
|
+
"line": 87
|
|
922
922
|
},
|
|
923
923
|
"methods": [
|
|
924
924
|
{
|
|
@@ -927,7 +927,7 @@
|
|
|
927
927
|
},
|
|
928
928
|
"locationInModule": {
|
|
929
929
|
"filename": "src/app.ts",
|
|
930
|
-
"line":
|
|
930
|
+
"line": 119
|
|
931
931
|
},
|
|
932
932
|
"name": "of",
|
|
933
933
|
"parameters": [
|
|
@@ -952,7 +952,7 @@
|
|
|
952
952
|
},
|
|
953
953
|
"locationInModule": {
|
|
954
954
|
"filename": "src/app.ts",
|
|
955
|
-
"line":
|
|
955
|
+
"line": 182
|
|
956
956
|
},
|
|
957
957
|
"name": "synth"
|
|
958
958
|
},
|
|
@@ -964,7 +964,7 @@
|
|
|
964
964
|
},
|
|
965
965
|
"locationInModule": {
|
|
966
966
|
"filename": "src/app.ts",
|
|
967
|
-
"line":
|
|
967
|
+
"line": 269
|
|
968
968
|
},
|
|
969
969
|
"name": "synthYaml",
|
|
970
970
|
"returns": {
|
|
@@ -984,7 +984,7 @@
|
|
|
984
984
|
"immutable": true,
|
|
985
985
|
"locationInModule": {
|
|
986
986
|
"filename": "src/app.ts",
|
|
987
|
-
"line":
|
|
987
|
+
"line": 158
|
|
988
988
|
},
|
|
989
989
|
"name": "charts",
|
|
990
990
|
"type": {
|
|
@@ -1004,7 +1004,7 @@
|
|
|
1004
1004
|
"immutable": true,
|
|
1005
1005
|
"locationInModule": {
|
|
1006
1006
|
"filename": "src/app.ts",
|
|
1007
|
-
"line":
|
|
1007
|
+
"line": 134
|
|
1008
1008
|
},
|
|
1009
1009
|
"name": "outdir",
|
|
1010
1010
|
"type": {
|
|
@@ -1020,7 +1020,7 @@
|
|
|
1020
1020
|
"immutable": true,
|
|
1021
1021
|
"locationInModule": {
|
|
1022
1022
|
"filename": "src/app.ts",
|
|
1023
|
-
"line":
|
|
1023
|
+
"line": 140
|
|
1024
1024
|
},
|
|
1025
1025
|
"name": "outputFileExtension",
|
|
1026
1026
|
"type": {
|
|
@@ -1036,7 +1036,7 @@
|
|
|
1036
1036
|
"immutable": true,
|
|
1037
1037
|
"locationInModule": {
|
|
1038
1038
|
"filename": "src/app.ts",
|
|
1039
|
-
"line":
|
|
1039
|
+
"line": 151
|
|
1040
1040
|
},
|
|
1041
1041
|
"name": "resolvers",
|
|
1042
1042
|
"type": {
|
|
@@ -1057,7 +1057,7 @@
|
|
|
1057
1057
|
"immutable": true,
|
|
1058
1058
|
"locationInModule": {
|
|
1059
1059
|
"filename": "src/app.ts",
|
|
1060
|
-
"line":
|
|
1060
|
+
"line": 145
|
|
1061
1061
|
},
|
|
1062
1062
|
"name": "yamlOutputType",
|
|
1063
1063
|
"type": {
|
|
@@ -4387,6 +4387,6 @@
|
|
|
4387
4387
|
"symbolId": "src/app:YamlOutputType"
|
|
4388
4388
|
}
|
|
4389
4389
|
},
|
|
4390
|
-
"version": "2.
|
|
4391
|
-
"fingerprint": "
|
|
4390
|
+
"version": "2.66.0",
|
|
4391
|
+
"fingerprint": "ntHFSLIYLfNqSsthLdk+I03SEwD1ETLKI2d9N1sJ4sw="
|
|
4392
4392
|
}
|
package/lib/api-object.js
CHANGED
|
@@ -127,7 +127,7 @@ class ApiObject extends constructs_1.Construct {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
exports.ApiObject = ApiObject;
|
|
130
|
-
ApiObject[_a] = { fqn: "cdk8s.ApiObject", version: "2.
|
|
130
|
+
ApiObject[_a] = { fqn: "cdk8s.ApiObject", version: "2.66.0" };
|
|
131
131
|
function parseApiGroup(apiVersion) {
|
|
132
132
|
const v = apiVersion.split('/');
|
|
133
133
|
// no group means "core"
|
package/lib/app.js
CHANGED
|
@@ -24,6 +24,19 @@ var YamlOutputType;
|
|
|
24
24
|
/** Each chart in its own folder and each resource in its own file */
|
|
25
25
|
YamlOutputType[YamlOutputType["FOLDER_PER_CHART_FILE_PER_RESOURCE"] = 3] = "FOLDER_PER_CHART_FILE_PER_RESOURCE";
|
|
26
26
|
})(YamlOutputType || (exports.YamlOutputType = YamlOutputType = {}));
|
|
27
|
+
class SynthRequestCache {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.nodeChildrenCache = new Map();
|
|
30
|
+
}
|
|
31
|
+
findAll(node) {
|
|
32
|
+
if (this.nodeChildrenCache.has(node)) {
|
|
33
|
+
return this.nodeChildrenCache.get(node);
|
|
34
|
+
}
|
|
35
|
+
const children = node.findAll();
|
|
36
|
+
this.nodeChildrenCache.set(node, children);
|
|
37
|
+
return children;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
27
40
|
/**
|
|
28
41
|
* Represents a cdk8s application.
|
|
29
42
|
*/
|
|
@@ -43,13 +56,14 @@ class App extends constructs_1.Construct {
|
|
|
43
56
|
*/
|
|
44
57
|
static _synthChart(chart) {
|
|
45
58
|
const app = App.of(chart);
|
|
59
|
+
const cache = new SynthRequestCache();
|
|
46
60
|
// we must prepare the entire app before synthesizing the chart
|
|
47
61
|
// because the dependency inference happens on the app level.
|
|
48
|
-
resolveDependencies(app);
|
|
62
|
+
resolveDependencies(app, cache);
|
|
49
63
|
// validate the app since we want to call onValidate of the relevant constructs.
|
|
50
64
|
// note this will also call onValidate on constructs from possibly different charts,
|
|
51
65
|
// but thats ok too since we no longer treat constructs as a self-contained synthesis unit.
|
|
52
|
-
validate(app);
|
|
66
|
+
validate(app, cache);
|
|
53
67
|
return chartToKube(chart).map(obj => obj.toJson());
|
|
54
68
|
}
|
|
55
69
|
static of(c) {
|
|
@@ -86,12 +100,13 @@ class App extends constructs_1.Construct {
|
|
|
86
100
|
*/
|
|
87
101
|
synth() {
|
|
88
102
|
fs.mkdirSync(this.outdir, { recursive: true });
|
|
103
|
+
const cache = new SynthRequestCache();
|
|
89
104
|
// Since we plan on removing the distributed synth mechanism, we no longer call `Node.synthesize`, but rather simply implement
|
|
90
105
|
// the necessary operations. We do however want to preserve the distributed validation.
|
|
91
|
-
validate(this);
|
|
106
|
+
validate(this, cache);
|
|
92
107
|
// this is kind of sucky, eventually I would like the DependencyGraph
|
|
93
108
|
// to be able to answer this question.
|
|
94
|
-
const hasDependantCharts = resolveDependencies(this);
|
|
109
|
+
const hasDependantCharts = resolveDependencies(this, cache);
|
|
95
110
|
const charts = this.charts;
|
|
96
111
|
switch (this.yamlOutputType) {
|
|
97
112
|
case YamlOutputType.FILE_PER_APP:
|
|
@@ -154,8 +169,9 @@ class App extends constructs_1.Construct {
|
|
|
154
169
|
* @returns A string with all YAML objects across all charts in this app.
|
|
155
170
|
*/
|
|
156
171
|
synthYaml() {
|
|
157
|
-
|
|
158
|
-
|
|
172
|
+
const cache = new SynthRequestCache();
|
|
173
|
+
resolveDependencies(this, cache);
|
|
174
|
+
validate(this, cache);
|
|
159
175
|
const charts = this.charts;
|
|
160
176
|
const docs = [];
|
|
161
177
|
for (const chart of charts) {
|
|
@@ -176,10 +192,10 @@ class App extends constructs_1.Construct {
|
|
|
176
192
|
}
|
|
177
193
|
exports.App = App;
|
|
178
194
|
_a = JSII_RTTI_SYMBOL_1;
|
|
179
|
-
App[_a] = { fqn: "cdk8s.App", version: "2.
|
|
180
|
-
function validate(app) {
|
|
195
|
+
App[_a] = { fqn: "cdk8s.App", version: "2.66.0" };
|
|
196
|
+
function validate(app, cache) {
|
|
181
197
|
const errors = [];
|
|
182
|
-
for (const child of app.node
|
|
198
|
+
for (const child of cache.findAll(app.node)) {
|
|
183
199
|
const childErrors = child.node.validate();
|
|
184
200
|
for (const error of childErrors) {
|
|
185
201
|
errors.push(`[${child.node.path}] ${error}`);
|
|
@@ -189,26 +205,26 @@ function validate(app) {
|
|
|
189
205
|
throw new Error(`Validation failed with the following errors:\n ${errors.join('\n ')}`);
|
|
190
206
|
}
|
|
191
207
|
}
|
|
192
|
-
function buildDependencies(app) {
|
|
208
|
+
function buildDependencies(app, cache) {
|
|
193
209
|
const deps = [];
|
|
194
|
-
for (const child of app.node
|
|
210
|
+
for (const child of cache.findAll(app.node)) {
|
|
195
211
|
for (const dep of child.node.dependencies) {
|
|
196
212
|
deps.push({ source: child, target: dep });
|
|
197
213
|
}
|
|
198
214
|
}
|
|
199
215
|
return deps;
|
|
200
216
|
}
|
|
201
|
-
function resolveDependencies(app) {
|
|
217
|
+
function resolveDependencies(app, cache) {
|
|
202
218
|
let hasDependantCharts = false;
|
|
203
219
|
// create an explicit chart dependency from nested chart relationships
|
|
204
|
-
for (const parentChart of app.node
|
|
220
|
+
for (const parentChart of cache.findAll(app.node).filter(x => x instanceof chart_1.Chart)) {
|
|
205
221
|
for (const childChart of parentChart.node.children.filter(x => x instanceof chart_1.Chart)) {
|
|
206
222
|
parentChart.node.addDependency(childChart);
|
|
207
223
|
hasDependantCharts = true;
|
|
208
224
|
}
|
|
209
225
|
}
|
|
210
226
|
// create an explicit chart dependency from implicit construct dependencies
|
|
211
|
-
for (const dep of buildDependencies(app)) {
|
|
227
|
+
for (const dep of buildDependencies(app, cache)) {
|
|
212
228
|
const sourceChart = chart_1.Chart.of(dep.source);
|
|
213
229
|
const targetChart = chart_1.Chart.of(dep.target);
|
|
214
230
|
if (sourceChart !== targetChart) {
|
|
@@ -217,11 +233,11 @@ function resolveDependencies(app) {
|
|
|
217
233
|
}
|
|
218
234
|
}
|
|
219
235
|
// create explicit api object dependencies from implicit construct dependencies
|
|
220
|
-
for (const dep of buildDependencies(app)) {
|
|
236
|
+
for (const dep of buildDependencies(app, cache)) {
|
|
221
237
|
const sourceChart = chart_1.Chart.of(dep.source);
|
|
222
238
|
const targetChart = chart_1.Chart.of(dep.target);
|
|
223
|
-
const targetApiObjects = dep.target.node
|
|
224
|
-
const sourceApiObjects = dep.source.node
|
|
239
|
+
const targetApiObjects = cache.findAll(dep.target.node).filter(c => c instanceof api_object_1.ApiObject).filter(x => chart_1.Chart.of(x) === targetChart);
|
|
240
|
+
const sourceApiObjects = cache.findAll(dep.source.node).filter(c => c instanceof api_object_1.ApiObject).filter(x => chart_1.Chart.of(x) === sourceChart);
|
|
225
241
|
for (const target of targetApiObjects) {
|
|
226
242
|
for (const source of sourceApiObjects) {
|
|
227
243
|
if (target !== source) {
|
|
@@ -274,4 +290,4 @@ class IndexedChartFolderNamer extends SimpleChartFolderNamer {
|
|
|
274
290
|
return name;
|
|
275
291
|
}
|
|
276
292
|
}
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsMkNBQW1EO0FBQ25ELDZDQUF5QztBQUN6QyxtQ0FBZ0M7QUFDaEMsNkNBQStDO0FBQy9DLG1DQUFnQztBQUNoQyx1Q0FBMkU7QUFDM0UsaUNBQThCO0FBRTlCLGtEQUFrRDtBQUNsRCxJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdURBQXVEO0lBQ3ZELG1FQUFZLENBQUE7SUFDWix1REFBdUQ7SUFDdkQsdUVBQWMsQ0FBQTtJQUNkLDhDQUE4QztJQUM5Qyw2RUFBaUIsQ0FBQTtJQUNqQixxRUFBcUU7SUFDckUsK0dBQWtDLENBQUE7QUFDcEMsQ0FBQyxFQVRXLGNBQWMsOEJBQWQsY0FBYyxRQVN6QjtBQWlERDs7R0FFRztBQUNILE1BQWEsR0FBSSxTQUFRLHNCQUFTO0lBQ2hDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBWTtRQUVwQyxNQUFNLEdBQUcsR0FBUSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLCtEQUErRDtRQUMvRCw2REFBNkQ7UUFDN0QsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekIsZ0ZBQWdGO1FBQ2hGLG9GQUFvRjtRQUNwRiwyRkFBMkY7UUFDM0YsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBYTtRQUU1QixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUzQixJQUFJLENBQUMsS0FB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QUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sc0JBQXNCO0lBQzFCO0lBQ0EsQ0FBQztJQUVNLElBQUksQ0FBQyxLQUFZO1FBQ3RCLE9BQU8sYUFBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLHVCQUF3QixTQUFRLHNCQUFzQjtJQUUxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRkYsVUFBSyxHQUFXLENBQUMsQ0FBQztJQUcxQixDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQVk7UUFDdEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSAnLi9jaGFydCc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5R3JhcGggfSBmcm9tICcuL2RlcGVuZGVuY3knO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcbmltcG9ydCB7IElSZXNvbHZlciwgSW1wbGljaXRUb2tlblJlc29sdmVyLCBMYXp5UmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmUnO1xuaW1wb3J0IHsgWWFtbCB9IGZyb20gJy4veWFtbCc7XG5cbi8qKiBUaGUgbWV0aG9kIHRvIGRpdmlkZSBZQU1MIG91dHB1dCBpbnRvIGZpbGVzICovXG5leHBvcnQgZW51bSBZYW1sT3V0cHV0VHlwZSB7XG4gIC8qKiBBbGwgcmVzb3VyY2VzIGFyZSBvdXRwdXQgaW50byBhIHNpbmdsZSBZQU1MIGZpbGUgKi9cbiAgRklMRV9QRVJfQVBQLFxuICAvKiogUmVzb3VyY2VzIGFyZSBzcGxpdCBpbnRvIHNlcGVyYXRlIGZpbGVzIGJ5IGNoYXJ0ICovXG4gIEZJTEVfUEVSX0NIQVJULFxuICAvKiogRWFjaCByZXNvdXJjZSBpcyBvdXRwdXQgdG8gaXRzIG93biBmaWxlICovXG4gIEZJTEVfUEVSX1JFU09VUkNFLFxuICAvKiogRWFjaCBjaGFydCBpbiBpdHMgb3duIGZvbGRlciBhbmQgZWFjaCByZXNvdXJjZSBpbiBpdHMgb3duIGZpbGUgKi9cbiAgRk9MREVSX1BFUl9DSEFSVF9GSUxFX1BFUl9SRVNPVVJDRSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHRvIG91dHB1dCBLdWJlcm5ldGVzIG1hbmlmZXN0cy5cbiAgICpcbiAgICogSWYgeW91IHN5bnRoZXNpemUgeW91ciBhcHBsaWNhdGlvbiB1c2luZyBgY2RrOHMgc3ludGhgLCB5b3UgbXVzdFxuICAgKiBhbHNvIHBhc3MgdGhpcyB2YWx1ZSB0byB0aGUgQ0xJIHVzaW5nIHRoZSBgLS1vdXRwdXRgIG9wdGlvbiBvclxuICAgKiB0aGUgYG91dHB1dGAgcHJvcGVydHkgaW4gdGhlIGBjZGs4cy55YW1sYCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqIE90aGVyd2lzZSwgdGhlIENMSSB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvdXRwdXQgZGlyZWN0b3J5LFxuICAgKiBhbmQgc3ludGhlc2lzIHdpbGwgZmFpbC5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgYW5kIHRlc3RpbmcgdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIENESzhTX09VVERJUiBpZiBkZWZpbmVkLCBvdGhlcndpc2UgXCJkaXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqICBUaGUgZmlsZSBleHRlbnNpb24gdG8gdXNlIGZvciByZW5kZXJlZCBZQU1MIGZpbGVzXG4gICAqIEBkZWZhdWx0IC5rOHMueWFtbFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0RmlsZUV4dGVuc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqICBIb3cgdG8gZGl2aWRlIHRoZSBZQU1MIG91dHB1dCBpbnRvIGZpbGVzXG4gICAqIEBkZWZhdWx0IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUXG4gICAqL1xuICByZWFkb25seSB5YW1sT3V0cHV0VHlwZT86IFlhbWxPdXRwdXRUeXBlO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byB0cnVlLCB0aGUgb3V0cHV0IGRpcmVjdG9yeSB3aWxsIGNvbnRhaW4gYSBgY29uc3RydWN0LW1ldGFkYXRhLmpzb25gIGZpbGVcbiAgICogdGhhdCBob2xkcyBjb25zdHJ1Y3QgcmVsYXRlZCBtZXRhZGF0YSBvbiBldmVyeSByZXNvdXJjZSBpbiB0aGUgYXBwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkQ29uc3RydWN0TWV0YWRhdGE/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgcmVzb2x2ZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSBwcm9wZXJ0eSB2YWx1ZXMgYmVmb3JlXG4gICAqIHRoZXkgYXJlIHdyaXR0ZW4gdG8gdGhlIG1hbmlmZXN0IGZpbGUuIFdoZW4gbXVsdGlwbGUgcmVzb2x2ZXJzIGFyZSBwYXNzZWQsXG4gICAqIHRoZXkgYXJlIGludm9rZWQgYnkgb3JkZXIgaW4gdGhlIGxpc3QsIGFuZCBvbmx5IHRoZSBmaXJzdCBvbmUgdGhhdCBhcHBsaWVzXG4gICAqIChlLmcgY2FsbHMgYGNvbnRleHQucmVwbGFjZVZhbHVlYCkgaXMgaW52b2tlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2NkazhzLmlvL2RvY3MvbGF0ZXN0L2Jhc2ljcy9hcHAvI3Jlc29sdmVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlc29sdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmVycz86IElSZXNvbHZlcltdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjZGs4cyBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBTeW50aGVzaXplIGEgc2luZ2xlIGNoYXJ0LlxuICAgKlxuICAgKiBFYWNoIGVsZW1lbnQgcmV0dXJuZWQgaW4gdGhlIHJlc3VsdGluZyBhcnJheSByZXByZXNlbnRzIGEgZGlmZmVyZW50IEFwaU9iamVjdFxuICAgKiBpbiB0aGUgc2NvcGUgb2YgdGhlIGNoYXJ0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIHJldHVybmVkIGFycmF5IG9yZGVyIGlzIGltcG9ydGFudC4gSXQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgdmFyaW91cyBkZXBlbmRlbmNpZXMgYmV0d2VlblxuICAgKiB0aGUgY29uc3RydWN0cyBpbiB0aGUgY2hhcnQsIHdoZXJlIHRoZSBmaXJzdCBlbGVtZW50IGlzIHRoZSBvbmUgd2l0aG91dCBkZXBlbmRlbmNpZXMsIGFuZCBzbyBvbi4uLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKU09OIG9iamVjdHMuXG4gICAqIEBwYXJhbSBjaGFydCB0aGUgY2hhcnQgdG8gc3ludGhlc2l6ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIF9zeW50aENoYXJ0KGNoYXJ0OiBDaGFydCk6IGFueVtdIHtcblxuICAgIGNvbnN0IGFwcDogQXBwID0gQXBwLm9mKGNoYXJ0KTtcblxuICAgIC8vIHdlIG11c3QgcHJlcGFyZSB0aGUgZW50aXJlIGFwcCBiZWZvcmUgc3ludGhlc2l6aW5nIHRoZSBjaGFydFxuICAgIC8vIGJlY2F1c2UgdGhlIGRlcGVuZGVuY3kgaW5mZXJlbmNlIGhhcHBlbnMgb24gdGhlIGFwcCBsZXZlbC5cbiAgICByZXNvbHZlRGVwZW5kZW5jaWVzKGFwcCk7XG5cbiAgICAvLyB2YWxpZGF0ZSB0aGUgYXBwIHNpbmNlIHdlIHdhbnQgdG8gY2FsbCBvblZhbGlkYXRlIG9mIHRoZSByZWxldmFudCBjb25zdHJ1Y3RzLlxuICAgIC8vIG5vdGUgdGhpcyB3aWxsIGFsc28gY2FsbCBvblZhbGlkYXRlIG9uIGNvbnN0cnVjdHMgZnJvbSBwb3NzaWJseSBkaWZmZXJlbnQgY2hhcnRzLFxuICAgIC8vIGJ1dCB0aGF0cyBvayB0b28gc2luY2Ugd2Ugbm8gbG9uZ2VyIHRyZWF0IGNvbnN0cnVjdHMgYXMgYSBzZWxmLWNvbnRhaW5lZCBzeW50aGVzaXMgdW5pdC5cbiAgICB2YWxpZGF0ZShhcHApO1xuXG4gICAgcmV0dXJuIGNoYXJ0VG9LdWJlKGNoYXJ0KS5tYXAob2JqID0+IG9iai50b0pzb24oKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9mKGM6IElDb25zdHJ1Y3QpOiBBcHAge1xuXG4gICAgY29uc3Qgc2NvcGUgPSBjLm5vZGUuc2NvcGU7XG5cbiAgICBpZiAoIXNjb3BlKSB7XG4gICAgICAvLyB0aGUgYXBwIGlzIHRoZSBvbmx5IGNvbnN0cnVjdCB3aXRob3V0IGEgc2NvcGUuXG4gICAgICByZXR1cm4gYyBhcyBBcHA7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFwcC5vZihzY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG91dHB1dCBkaXJlY3RvcnkgaW50byB3aGljaCBtYW5pZmVzdHMgd2lsbCBiZSBzeW50aGVzaXplZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogIFRoZSBmaWxlIGV4dGVuc2lvbiB0byB1c2UgZm9yIHJlbmRlcmVkIFlBTUwgZmlsZXNcbiAgICogQGRlZmF1bHQgLms4cy55YW1sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RmlsZUV4dGVuc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBIb3cgdG8gZGl2aWRlIHRoZSBZQU1MIG91dHB1dCBpbnRvIGZpbGVzXG4gICAqIEBkZWZhdWx0IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgeWFtbE91dHB1dFR5cGU6IFlhbWxPdXRwdXRUeXBlO1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlcnMgdXNlZCBieSB0aGlzIGFwcC4gVGhpcyBpbmNsdWRlcyBib3RoIGN1c3RvbSByZXNvbHZlcnNcbiAgICogcGFzc2VkIGJ5IHRoZSBgcmVzb2x2ZXJzYCBwcm9wZXJ0eSwgYXMgd2VsbCBhcyBidWlsdC1pbiByZXNvbHZlcnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x2ZXJzOiBJUmVzb2x2ZXJbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlY29yZENvbnN0cnVjdE1ldGFkYXRhOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCB0aGUgY2hhcnRzIGluIHRoaXMgYXBwLCBzb3J0ZWQgdG9wb2xvZ2ljYWxseS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hhcnRzKCk6IENoYXJ0W10ge1xuICAgIGNvbnN0IGlzQ2hhcnQgPSAoeDogSUNvbnN0cnVjdCk6IHggaXMgQ2hhcnQgPT4geCBpbnN0YW5jZW9mIENoYXJ0O1xuICAgIHJldHVybiBuZXcgRGVwZW5kZW5jeUdyYXBoKHRoaXMubm9kZSlcbiAgICAgIC50b3BvbG9neSgpXG4gICAgICAuZmlsdGVyKGlzQ2hhcnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYW4gYXBwXG4gICAqIEBwYXJhbSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBBcHBQcm9wcyA9IHsgfSkge1xuICAgIHN1cGVyKHVuZGVmaW5lZCBhcyBhbnksICcnKTtcbiAgICB0aGlzLm91dGRpciA9IHByb3BzLm91dGRpciA/PyBwcm9jZXNzLmVudi5DREs4U19PVVRESVIgPz8gJ2Rpc3QnO1xuICAgIHRoaXMub3V0cHV0RmlsZUV4dGVuc2lvbiA9IHByb3BzLm91dHB1dEZpbGVFeHRlbnNpb24gPz8gJy5rOHMueWFtbCc7XG4gICAgdGhpcy55YW1sT3V0cHV0VHlwZSA9IHByb3BzLnlhbWxPdXRwdXRUeXBlID8/IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUO1xuICAgIHRoaXMucmVzb2x2ZXJzID0gWy4uLihwcm9wcy5yZXNvbHZlcnMgPz8gW10pLCBuZXcgTGF6eVJlc29sdmVyKCksIG5ldyBJbXBsaWNpdFRva2VuUmVzb2x2ZXIoKV07XG4gICAgdGhpcy5yZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YSA9IHByb3BzLnJlY29yZENvbnN0cnVjdE1ldGFkYXRhID8/IChwcm9jZXNzLmVudi5DREs4U19SRUNPUkRfQ09OU1RSVUNUX01FVEFEQVRBID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2UpO1xuXG4gIH1cblxuICAvKipcbiAgICogU3ludGhlc2l6ZXMgYWxsIG1hbmlmZXN0cyB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeVxuICAgKi9cbiAgcHVibGljIHN5bnRoKCk6IHZvaWQge1xuXG4gICAgZnMubWtkaXJTeW5jKHRoaXMub3V0ZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIFNpbmNlIHdlIHBsYW4gb24gcmVtb3ZpbmcgdGhlIGRpc3RyaWJ1dGVkIHN5bnRoIG1lY2hhbmlzbSwgd2Ugbm8gbG9uZ2VyIGNhbGwgYE5vZGUuc3ludGhlc2l6ZWAsIGJ1dCByYXRoZXIgc2ltcGx5IGltcGxlbWVudFxuICAgIC8vIHRoZSBuZWNlc3Nhcnkgb3BlcmF0aW9ucy4gV2UgZG8gaG93ZXZlciB3YW50IHRvIHByZXNlcnZlIHRoZSBkaXN0cmlidXRlZCB2YWxpZGF0aW9uLlxuICAgIHZhbGlkYXRlKHRoaXMpO1xuXG4gICAgLy8gdGhpcyBpcyBraW5kIG9mIHN1Y2t5LCBldmVudHVhbGx5IEkgd291bGQgbGlrZSB0aGUgRGVwZW5kZW5jeUdyYXBoXG4gICAgLy8gdG8gYmUgYWJsZSB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbi5cbiAgICBjb25zdCBoYXNEZXBlbmRhbnRDaGFydHMgPSByZXNvbHZlRGVwZW5kZW5jaWVzKHRoaXMpO1xuICAgIGNvbnN0IGNoYXJ0cyA9IHRoaXMuY2hhcnRzO1xuXG4gICAgc3dpdGNoICh0aGlzLnlhbWxPdXRwdXRUeXBlKSB7XG4gICAgICBjYXNlIFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0FQUDpcbiAgICAgICAgbGV0IGFwaU9iamVjdHNMaXN0OiBBcGlPYmplY3RbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICAgICAgYXBpT2JqZWN0c0xpc3QucHVzaCguLi5PYmplY3QudmFsdWVzKGNoYXJ0LnRvSnNvbigpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBZYW1sLnNhdmUoXG4gICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5vdXRkaXIsIGBhcHAke3RoaXMub3V0cHV0RmlsZUV4dGVuc2lvbn1gKSwgLy8gVGhlcmUgaXMgbm8gXCJhcHAgbmFtZVwiLCBzbyB3ZSBqdXN0IGhhcmRjb2RlIHRoZSBmaWxlIG5hbWVcbiAgICAgICAgICAgIGFwaU9iamVjdHNMaXN0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9DSEFSVDpcbiAgICAgICAgY29uc3QgbmFtZXI6IENoYXJ0TmFtZXIgPSBoYXNEZXBlbmRhbnRDaGFydHMgPyBuZXcgSW5kZXhlZENoYXJ0TmFtZXIoKSA6IG5ldyBTaW1wbGVDaGFydE5hbWVyKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICAgICAgY29uc3QgY2hhcnROYW1lID0gbmFtZXIubmFtZShjaGFydCk7XG4gICAgICAgICAgY29uc3Qgb2JqZWN0cyA9IE9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpO1xuICAgICAgICAgIFlhbWwuc2F2ZShwYXRoLmpvaW4odGhpcy5vdXRkaXIsIGNoYXJ0TmFtZSt0aGlzLm91dHB1dEZpbGVFeHRlbnNpb24pLCBvYmplY3RzKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9SRVNPVVJDRTpcbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBjb25zdCBhcGlPYmplY3RzID0gT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSk7XG5cbiAgICAgICAgICBhcGlPYmplY3RzLmZvckVhY2goKGFwaU9iamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCEoYXBpT2JqZWN0ID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7YCR7YXBpT2JqZWN0LmtpbmR9LiR7YXBpT2JqZWN0Lm1ldGFkYXRhLm5hbWV9YFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpfWA7XG4gICAgICAgICAgICAgIFlhbWwuc2F2ZShwYXRoLmpvaW4odGhpcy5vdXRkaXIsIGZpbGVOYW1lK3RoaXMub3V0cHV0RmlsZUV4dGVuc2lvbiksIFthcGlPYmplY3RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBZYW1sT3V0cHV0VHlwZS5GT0xERVJfUEVSX0NIQVJUX0ZJTEVfUEVSX1JFU09VUkNFOlxuICAgICAgICBjb25zdCBmb2xkZXJOYW1lcjogQ2hhcnROYW1lciA9IGhhc0RlcGVuZGFudENoYXJ0cyA/IG5ldyBJbmRleGVkQ2hhcnRGb2xkZXJOYW1lcigpIDogbmV3IFNpbXBsZUNoYXJ0Rm9sZGVyTmFtZXIoKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBjb25zdCBjaGFydE5hbWUgPSBmb2xkZXJOYW1lci5uYW1lKGNoYXJ0KTtcbiAgICAgICAgICBjb25zdCBhcGlPYmplY3RzID0gY2hhcnRUb0t1YmUoY2hhcnQpO1xuICAgICAgICAgIGNvbnN0IGZ1bGxPdXREaXIgPSBwYXRoLmpvaW4odGhpcy5vdXRkaXIsIGNoYXJ0TmFtZSk7XG4gICAgICAgICAgZnMubWtkaXJTeW5jKGZ1bGxPdXREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgYXBpT2JqZWN0cy5mb3JFYWNoKChhcGlPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghKGFwaU9iamVjdCA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke2Ake2FwaU9iamVjdC5raW5kfS4ke2FwaU9iamVjdC5tZXRhZGF0YS5uYW1lfWBcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvW14wLTlhLXpBLVotXy5dL2csICcnKX1gO1xuICAgICAgICAgICAgICBZYW1sLnNhdmUocGF0aC5qb2luKGZ1bGxPdXREaXIsIGZpbGVOYW1lK3RoaXMub3V0cHV0RmlsZUV4dGVuc2lvbiksIFthcGlPYmplY3QudG9Kc29uKCldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVjb3JkQ29uc3RydWN0TWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IGFsbE9iamVjdHMgPSB0aGlzLmNoYXJ0cy5mbGF0TWFwKGNoYXJ0VG9LdWJlKTtcbiAgICAgIHRoaXMud3JpdGVDb25zdHJ1Y3RNZXRhZGF0YShhbGxPYmplY3RzKTtcbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW50aGVzaXplcyB0aGUgYXBwIGludG8gYSBZQU1MIHN0cmluZy5cbiAgICpcbiAgICogQHJldHVybnMgQSBzdHJpbmcgd2l0aCBhbGwgWUFNTCBvYmplY3RzIGFjcm9zcyBhbGwgY2hhcnRzIGluIHRoaXMgYXBwLlxuICAgKi9cbiAgcHVibGljIHN5bnRoWWFtbCgpOiBzdHJpbmcge1xuXG4gICAgcmVzb2x2ZURlcGVuZGVuY2llcyh0aGlzKTtcblxuICAgIHZhbGlkYXRlKHRoaXMpO1xuXG4gICAgY29uc3QgY2hhcnRzID0gdGhpcy5jaGFydHM7XG4gICAgY29uc3QgZG9jczogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICBkb2NzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBZYW1sLnN0cmluZ2lmeSguLi5kb2NzKTtcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDb25zdHJ1Y3RNZXRhZGF0YShhcGlPYmplY3RzOiBBcGlPYmplY3RbXSkge1xuICAgIGNvbnN0IHJlc291cmNlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgYXBpT2JqZWN0IG9mIGFwaU9iamVjdHMpIHtcbiAgICAgIHJlc291cmNlc1thcGlPYmplY3QubmFtZV0gPSB7IHBhdGg6IGFwaU9iamVjdC5ub2RlLnBhdGggfTtcbiAgICB9XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4odGhpcy5vdXRkaXIsICdjb25zdHJ1Y3QtbWV0YWRhdGEuanNvbicpLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgcmVzb3VyY2VzOiByZXNvdXJjZXMsXG4gICAgfSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlKGFwcDogQXBwKSB7XG4gIGNvbnN0IGVycm9ycyA9IFtdO1xuICBmb3IgKGNvbnN0IGNoaWxkIG9mIGFwcC5ub2RlLmZpbmRBbGwoKSkge1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gY2hpbGQubm9kZS52YWxpZGF0ZSgpO1xuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgY2hpbGRFcnJvcnMpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBbJHtjaGlsZC5ub2RlLnBhdGh9XSAke2Vycm9yfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVmFsaWRhdGlvbiBmYWlsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yczpcXG4gICR7ZXJyb3JzLmpvaW4oJ1xcbiAgJyl9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYnVpbGREZXBlbmRlbmNpZXMoYXBwOiBBcHApIHtcblxuICBjb25zdCBkZXBzID0gW107XG4gIGZvciAoY29uc3QgY2hpbGQgb2YgYXBwLm5vZGUuZmluZEFsbCgpKSB7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgY2hpbGQubm9kZS5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIGRlcHMucHVzaCh7IHNvdXJjZTogY2hpbGQsIHRhcmdldDogZGVwIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXBzO1xuXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVEZXBlbmRlbmNpZXMoYXBwOiBBcHApIHtcblxuICBsZXQgaGFzRGVwZW5kYW50Q2hhcnRzID0gZmFsc2U7XG5cbiAgLy8gY3JlYXRlIGFuIGV4cGxpY2l0IGNoYXJ0IGRlcGVuZGVuY3kgZnJvbSBuZXN0ZWQgY2hhcnQgcmVsYXRpb25zaGlwc1xuICBmb3IgKGNvbnN0IHBhcmVudENoYXJ0IG9mIGFwcC5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgQ2hhcnQpKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZENoYXJ0IG9mIHBhcmVudENoYXJ0Lm5vZGUuY2hpbGRyZW4uZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIENoYXJ0KSkge1xuICAgICAgcGFyZW50Q2hhcnQubm9kZS5hZGREZXBlbmRlbmN5KGNoaWxkQ2hhcnQpO1xuICAgICAgaGFzRGVwZW5kYW50Q2hhcnRzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBjcmVhdGUgYW4gZXhwbGljaXQgY2hhcnQgZGVwZW5kZW5jeSBmcm9tIGltcGxpY2l0IGNvbnN0cnVjdCBkZXBlbmRlbmNpZXNcbiAgZm9yIChjb25zdCBkZXAgb2YgYnVpbGREZXBlbmRlbmNpZXMoYXBwKSkge1xuXG4gICAgY29uc3Qgc291cmNlQ2hhcnQgPSBDaGFydC5vZihkZXAuc291cmNlKTtcbiAgICBjb25zdCB0YXJnZXRDaGFydCA9IENoYXJ0Lm9mKGRlcC50YXJnZXQpO1xuXG4gICAgaWYgKHNvdXJjZUNoYXJ0ICE9PSB0YXJnZXRDaGFydCkge1xuICAgICAgc291cmNlQ2hhcnQubm9kZS5hZGREZXBlbmRlbmN5KHRhcmdldENoYXJ0KTtcbiAgICAgIGhhc0RlcGVuZGFudENoYXJ0cyA9IHRydWU7XG4gICAgfVxuXG4gIH1cblxuICAvLyBjcmVhdGUgZXhwbGljaXQgYXBpIG9iamVjdCBkZXBlbmRlbmNpZXMgZnJvbSBpbXBsaWNpdCBjb25zdHJ1Y3QgZGVwZW5kZW5jaWVzXG4gIGZvciAoY29uc3QgZGVwIG9mIGJ1aWxkRGVwZW5kZW5jaWVzKGFwcCkpIHtcblxuICAgIGNvbnN0IHNvdXJjZUNoYXJ0ID0gQ2hhcnQub2YoZGVwLnNvdXJjZSk7XG4gICAgY29uc3QgdGFyZ2V0Q2hhcnQgPSBDaGFydC5vZihkZXAudGFyZ2V0KTtcblxuICAgIGNvbnN0IHRhcmdldEFwaU9iamVjdHMgPSBkZXAudGFyZ2V0Lm5vZGUuZmluZEFsbCgpLmZpbHRlcihjID0+IGMgaW5zdGFuY2VvZiBBcGlPYmplY3QpLmZpbHRlcih4ID0+IENoYXJ0Lm9mKHgpID09PSB0YXJnZXRDaGFydCk7XG4gICAgY29uc3Qgc291cmNlQXBpT2JqZWN0cyA9IGRlcC5zb3VyY2Uubm9kZS5maW5kQWxsKCkuZmlsdGVyKGMgPT4gYyBpbnN0YW5jZW9mIEFwaU9iamVjdCkuZmlsdGVyKHggPT4gQ2hhcnQub2YoeCkgPT09IHNvdXJjZUNoYXJ0KTtcblxuICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHRhcmdldEFwaU9iamVjdHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc291cmNlIG9mIHNvdXJjZUFwaU9iamVjdHMpIHtcbiAgICAgICAgaWYgKHRhcmdldCAhPT0gc291cmNlKSB7XG4gICAgICAgICAgc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSh0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGhhc0RlcGVuZGFudENoYXJ0cztcblxufVxuXG5mdW5jdGlvbiBjaGFydFRvS3ViZShjaGFydDogQ2hhcnQpIHtcbiAgcmV0dXJuIG5ldyBEZXBlbmRlbmN5R3JhcGgoY2hhcnQubm9kZSkudG9wb2xvZ3koKVxuICAgIC5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgQXBpT2JqZWN0KVxuICAgIC5maWx0ZXIoeCA9PiBDaGFydC5vZih4KSA9PT0gY2hhcnQpIC8vIGluY2x1ZGUgYW4gb2JqZWN0IG9ubHkgaW4gaXRzIGNsb3Nlc3QgcGFyZW50IGNoYXJ0XG4gICAgLm1hcCh4ID0+ICh4IGFzIEFwaU9iamVjdCkpO1xufVxuXG5pbnRlcmZhY2UgQ2hhcnROYW1lciB7XG4gIG5hbWUoY2hhcnQ6IENoYXJ0KTogc3RyaW5nO1xufVxuXG5jbGFzcyBTaW1wbGVDaGFydE5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgcHVibGljIG5hbWUoY2hhcnQ6IENoYXJ0KSB7XG4gICAgcmV0dXJuIGAke05hbWVzLnRvRG5zTGFiZWwoY2hhcnQpfWA7XG4gIH1cbn1cblxuY2xhc3MgSW5kZXhlZENoYXJ0TmFtZXIgZXh0ZW5kcyBTaW1wbGVDaGFydE5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIHByaXZhdGUgaW5kZXg6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmFtZShjaGFydDogQ2hhcnQpIHtcbiAgICBjb25zdCBuYW1lID0gYCR7dGhpcy5pbmRleC50b1N0cmluZygpLnBhZFN0YXJ0KDQsICcwJyl9LSR7c3VwZXIubmFtZShjaGFydCl9YDtcbiAgICB0aGlzLmluZGV4Kys7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cbn1cblxuY2xhc3MgU2ltcGxlQ2hhcnRGb2xkZXJOYW1lciBpbXBsZW1lbnRzIENoYXJ0TmFtZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIHJldHVybiBOYW1lcy50b0Ruc0xhYmVsKGNoYXJ0KTtcbiAgfVxufVxuXG5jbGFzcyBJbmRleGVkQ2hhcnRGb2xkZXJOYW1lciBleHRlbmRzIFNpbXBsZUNoYXJ0Rm9sZGVyTmFtZXIgaW1wbGVtZW50cyBDaGFydE5hbWVyIHtcbiAgcHJpdmF0ZSBpbmRleDogbnVtYmVyID0gMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIGNvbnN0IG5hbWUgPSBgJHt0aGlzLmluZGV4LnRvU3RyaW5nKCkucGFkU3RhcnQoNCwgJzAnKX0tJHtzdXBlci5uYW1lKGNoYXJ0KX1gO1xuICAgIHRoaXMuaW5kZXgrKztcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxufSJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsMkNBQXlEO0FBQ3pELDZDQUF5QztBQUN6QyxtQ0FBZ0M7QUFDaEMsNkNBQStDO0FBQy9DLG1DQUFnQztBQUNoQyx1Q0FBMkU7QUFDM0UsaUNBQThCO0FBRTlCLGtEQUFrRDtBQUNsRCxJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdURBQXVEO0lBQ3ZELG1FQUFZLENBQUE7SUFDWix1REFBdUQ7SUFDdkQsdUVBQWMsQ0FBQTtJQUNkLDhDQUE4QztJQUM5Qyw2RUFBaUIsQ0FBQTtJQUNqQixxRUFBcUU7SUFDckUsK0dBQWtDLENBQUE7QUFDcEMsQ0FBQyxFQVRXLGNBQWMsOEJBQWQsY0FBYyxRQVN6QjtBQWlERCxNQUFNLGlCQUFpQjtJQUF2QjtRQUNTLHNCQUFpQixHQUE0QixJQUFJLEdBQUcsRUFBc0IsQ0FBQztJQVdwRixDQUFDO0lBVFEsT0FBTyxDQUFDLElBQVU7UUFDdkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztTQUMxQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQWEsR0FBSSxTQUFRLHNCQUFTO0lBQ2hDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBWTtRQUVwQyxNQUFNLEdBQUcsR0FBUSxHQUFHLENBQUMs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Q0FBQyxLQUFZO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJy4vYXBpLW9iamVjdCc7XG5pbXBvcnQgeyBDaGFydCB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgRGVwZW5kZW5jeUdyYXBoIH0gZnJvbSAnLi9kZXBlbmRlbmN5JztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnLi9uYW1lcyc7XG5pbXBvcnQgeyBJUmVzb2x2ZXIsIEltcGxpY2l0VG9rZW5SZXNvbHZlciwgTGF6eVJlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlJztcbmltcG9ydCB7IFlhbWwgfSBmcm9tICcuL3lhbWwnO1xuXG4vKiogVGhlIG1ldGhvZCB0byBkaXZpZGUgWUFNTCBvdXRwdXQgaW50byBmaWxlcyAqL1xuZXhwb3J0IGVudW0gWWFtbE91dHB1dFR5cGUge1xuICAvKiogQWxsIHJlc291cmNlcyBhcmUgb3V0cHV0IGludG8gYSBzaW5nbGUgWUFNTCBmaWxlICovXG4gIEZJTEVfUEVSX0FQUCxcbiAgLyoqIFJlc291cmNlcyBhcmUgc3BsaXQgaW50byBzZXBlcmF0ZSBmaWxlcyBieSBjaGFydCAqL1xuICBGSUxFX1BFUl9DSEFSVCxcbiAgLyoqIEVhY2ggcmVzb3VyY2UgaXMgb3V0cHV0IHRvIGl0cyBvd24gZmlsZSAqL1xuICBGSUxFX1BFUl9SRVNPVVJDRSxcbiAgLyoqIEVhY2ggY2hhcnQgaW4gaXRzIG93biBmb2xkZXIgYW5kIGVhY2ggcmVzb3VyY2UgaW4gaXRzIG93biBmaWxlICovXG4gIEZPTERFUl9QRVJfQ0hBUlRfRklMRV9QRVJfUkVTT1VSQ0UsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0byBvdXRwdXQgS3ViZXJuZXRlcyBtYW5pZmVzdHMuXG4gICAqXG4gICAqIElmIHlvdSBzeW50aGVzaXplIHlvdXIgYXBwbGljYXRpb24gdXNpbmcgYGNkazhzIHN5bnRoYCwgeW91IG11c3RcbiAgICogYWxzbyBwYXNzIHRoaXMgdmFsdWUgdG8gdGhlIENMSSB1c2luZyB0aGUgYC0tb3V0cHV0YCBvcHRpb24gb3JcbiAgICogdGhlIGBvdXRwdXRgIHByb3BlcnR5IGluIHRoZSBgY2RrOHMueWFtbGAgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKiBPdGhlcndpc2UsIHRoZSBDTEkgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3V0cHV0IGRpcmVjdG9yeSxcbiAgICogYW5kIHN5bnRoZXNpcyB3aWxsIGZhaWwuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgaW50ZW5kZWQgZm9yIGludGVybmFsIGFuZCB0ZXN0aW5nIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBDREs4U19PVVRESVIgaWYgZGVmaW5lZCwgb3RoZXJ3aXNlIFwiZGlzdFwiXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgVGhlIGZpbGUgZXh0ZW5zaW9uIHRvIHVzZSBmb3IgcmVuZGVyZWQgWUFNTCBmaWxlc1xuICAgKiBAZGVmYXVsdCAuazhzLnlhbWxcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dEZpbGVFeHRlbnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgSG93IHRvIGRpdmlkZSB0aGUgWUFNTCBvdXRwdXQgaW50byBmaWxlc1xuICAgKiBAZGVmYXVsdCBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9DSEFSVFxuICAgKi9cbiAgcmVhZG9ubHkgeWFtbE91dHB1dFR5cGU/OiBZYW1sT3V0cHV0VHlwZTtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIG91dHB1dCBkaXJlY3Rvcnkgd2lsbCBjb250YWluIGEgYGNvbnN0cnVjdC1tZXRhZGF0YS5qc29uYCBmaWxlXG4gICAqIHRoYXQgaG9sZHMgY29uc3RydWN0IHJlbGF0ZWQgbWV0YWRhdGEgb24gZXZlcnkgcmVzb3VyY2UgaW4gdGhlIGFwcC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlY29yZENvbnN0cnVjdE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJlc29sdmVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgcHJvcGVydHkgdmFsdWVzIGJlZm9yZVxuICAgKiB0aGV5IGFyZSB3cml0dGVuIHRvIHRoZSBtYW5pZmVzdCBmaWxlLiBXaGVuIG11bHRpcGxlIHJlc29sdmVycyBhcmUgcGFzc2VkLFxuICAgKiB0aGV5IGFyZSBpbnZva2VkIGJ5IG9yZGVyIGluIHRoZSBsaXN0LCBhbmQgb25seSB0aGUgZmlyc3Qgb25lIHRoYXQgYXBwbGllc1xuICAgKiAoZS5nIGNhbGxzIGBjb250ZXh0LnJlcGxhY2VWYWx1ZWApIGlzIGludm9rZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9jZGs4cy5pby9kb2NzL2xhdGVzdC9iYXNpY3MvYXBwLyNyZXNvbHZlcnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXNvbHZlcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlcnM/OiBJUmVzb2x2ZXJbXTtcbn1cblxuY2xhc3MgU3ludGhSZXF1ZXN0Q2FjaGUge1xuICBwdWJsaWMgbm9kZUNoaWxkcmVuQ2FjaGU6IE1hcDxOb2RlLCBJQ29uc3RydWN0W10+ID0gbmV3IE1hcDxOb2RlLCBJQ29uc3RydWN0W10+KCk7XG5cbiAgcHVibGljIGZpbmRBbGwobm9kZTogTm9kZSk6IElDb25zdHJ1Y3RbXSB7XG4gICAgaWYgKHRoaXMubm9kZUNoaWxkcmVuQ2FjaGUuaGFzKG5vZGUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW5DYWNoZS5nZXQobm9kZSkhO1xuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5maW5kQWxsKCk7XG4gICAgdGhpcy5ub2RlQ2hpbGRyZW5DYWNoZS5zZXQobm9kZSwgY2hpbGRyZW4pO1xuICAgIHJldHVybiBjaGlsZHJlbjtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjZGs4cyBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBTeW50aGVzaXplIGEgc2luZ2xlIGNoYXJ0LlxuICAgKlxuICAgKiBFYWNoIGVsZW1lbnQgcmV0dXJuZWQgaW4gdGhlIHJlc3VsdGluZyBhcnJheSByZXByZXNlbnRzIGEgZGlmZmVyZW50IEFwaU9iamVjdFxuICAgKiBpbiB0aGUgc2NvcGUgb2YgdGhlIGNoYXJ0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIHJldHVybmVkIGFycmF5IG9yZGVyIGlzIGltcG9ydGFudC4gSXQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgdmFyaW91cyBkZXBlbmRlbmNpZXMgYmV0d2VlblxuICAgKiB0aGUgY29uc3RydWN0cyBpbiB0aGUgY2hhcnQsIHdoZXJlIHRoZSBmaXJzdCBlbGVtZW50IGlzIHRoZSBvbmUgd2l0aG91dCBkZXBlbmRlbmNpZXMsIGFuZCBzbyBvbi4uLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKU09OIG9iamVjdHMuXG4gICAqIEBwYXJhbSBjaGFydCB0aGUgY2hhcnQgdG8gc3ludGhlc2l6ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIF9zeW50aENoYXJ0KGNoYXJ0OiBDaGFydCk6IGFueVtdIHtcblxuICAgIGNvbnN0IGFwcDogQXBwID0gQXBwLm9mKGNoYXJ0KTtcblxuICAgIGNvbnN0IGNhY2hlID0gbmV3IFN5bnRoUmVxdWVzdENhY2hlKCk7XG5cbiAgICAvLyB3ZSBtdXN0IHByZXBhcmUgdGhlIGVudGlyZSBhcHAgYmVmb3JlIHN5bnRoZXNpemluZyB0aGUgY2hhcnRcbiAgICAvLyBiZWNhdXNlIHRoZSBkZXBlbmRlbmN5IGluZmVyZW5jZSBoYXBwZW5zIG9uIHRoZSBhcHAgbGV2ZWwuXG4gICAgcmVzb2x2ZURlcGVuZGVuY2llcyhhcHAsIGNhY2hlKTtcblxuICAgIC8vIHZhbGlkYXRlIHRoZSBhcHAgc2luY2Ugd2Ugd2FudCB0byBjYWxsIG9uVmFsaWRhdGUgb2YgdGhlIHJlbGV2YW50IGNvbnN0cnVjdHMuXG4gICAgLy8gbm90ZSB0aGlzIHdpbGwgYWxzbyBjYWxsIG9uVmFsaWRhdGUgb24gY29uc3RydWN0cyBmcm9tIHBvc3NpYmx5IGRpZmZlcmVudCBjaGFydHMsXG4gICAgLy8gYnV0IHRoYXRzIG9rIHRvbyBzaW5jZSB3ZSBubyBsb25nZXIgdHJlYXQgY29uc3RydWN0cyBhcyBhIHNlbGYtY29udGFpbmVkIHN5bnRoZXNpcyB1bml0LlxuICAgIHZhbGlkYXRlKGFwcCwgY2FjaGUpO1xuXG4gICAgcmV0dXJuIGNoYXJ0VG9LdWJlKGNoYXJ0KS5tYXAob2JqID0+IG9iai50b0pzb24oKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9mKGM6IElDb25zdHJ1Y3QpOiBBcHAge1xuXG4gICAgY29uc3Qgc2NvcGUgPSBjLm5vZGUuc2NvcGU7XG5cbiAgICBpZiAoIXNjb3BlKSB7XG4gICAgICAvLyB0aGUgYXBwIGlzIHRoZSBvbmx5IGNvbnN0cnVjdCB3aXRob3V0IGEgc2NvcGUuXG4gICAgICByZXR1cm4gYyBhcyBBcHA7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFwcC5vZihzY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG91dHB1dCBkaXJlY3RvcnkgaW50byB3aGljaCBtYW5pZmVzdHMgd2lsbCBiZSBzeW50aGVzaXplZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogIFRoZSBmaWxlIGV4dGVuc2lvbiB0byB1c2UgZm9yIHJlbmRlcmVkIFlBTUwgZmlsZXNcbiAgICogQGRlZmF1bHQgLms4cy55YW1sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RmlsZUV4dGVuc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBIb3cgdG8gZGl2aWRlIHRoZSBZQU1MIG91dHB1dCBpbnRvIGZpbGVzXG4gICAqIEBkZWZhdWx0IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgeWFtbE91dHB1dFR5cGU6IFlhbWxPdXRwdXRUeXBlO1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlcnMgdXNlZCBieSB0aGlzIGFwcC4gVGhpcyBpbmNsdWRlcyBib3RoIGN1c3RvbSByZXNvbHZlcnNcbiAgICogcGFzc2VkIGJ5IHRoZSBgcmVzb2x2ZXJzYCBwcm9wZXJ0eSwgYXMgd2VsbCBhcyBidWlsdC1pbiByZXNvbHZlcnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x2ZXJzOiBJUmVzb2x2ZXJbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlY29yZENvbnN0cnVjdE1ldGFkYXRhOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCB0aGUgY2hhcnRzIGluIHRoaXMgYXBwLCBzb3J0ZWQgdG9wb2xvZ2ljYWxseS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hhcnRzKCk6IENoYXJ0W10ge1xuICAgIGNvbnN0IGlzQ2hhcnQgPSAoeDogSUNvbnN0cnVjdCk6IHggaXMgQ2hhcnQgPT4geCBpbnN0YW5jZW9mIENoYXJ0O1xuICAgIHJldHVybiBuZXcgRGVwZW5kZW5jeUdyYXBoKHRoaXMubm9kZSlcbiAgICAgIC50b3BvbG9neSgpXG4gICAgICAuZmlsdGVyKGlzQ2hhcnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYW4gYXBwXG4gICAqIEBwYXJhbSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBBcHBQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIodW5kZWZpbmVkIGFzIGFueSwgJycpO1xuICAgIHRoaXMub3V0ZGlyID0gcHJvcHMub3V0ZGlyID8/IHByb2Nlc3MuZW52LkNESzhTX09VVERJUiA/PyAnZGlzdCc7XG4gICAgdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uID0gcHJvcHMub3V0cHV0RmlsZUV4dGVuc2lvbiA/PyAnLms4cy55YW1sJztcbiAgICB0aGlzLnlhbWxPdXRwdXRUeXBlID0gcHJvcHMueWFtbE91dHB1dFR5cGUgPz8gWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQ0hBUlQ7XG4gICAgdGhpcy5yZXNvbHZlcnMgPSBbLi4uKHByb3BzLnJlc29sdmVycyA/PyBbXSksIG5ldyBMYXp5UmVzb2x2ZXIoKSwgbmV3IEltcGxpY2l0VG9rZW5SZXNvbHZlcigpXTtcbiAgICB0aGlzLnJlY29yZENvbnN0cnVjdE1ldGFkYXRhID0gcHJvcHMucmVjb3JkQ29uc3RydWN0TWV0YWRhdGEgPz8gKHByb2Nlc3MuZW52LkNESzhTX1JFQ09SRF9DT05TVFJVQ1RfTUVUQURBVEEgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW50aGVzaXplcyBhbGwgbWFuaWZlc3RzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3ludGgoKTogdm9pZCB7XG5cbiAgICBmcy5ta2RpclN5bmModGhpcy5vdXRkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgY2FjaGUgPSBuZXcgU3ludGhSZXF1ZXN0Q2FjaGUoKTtcblxuICAgIC8vIFNpbmNlIHdlIHBsYW4gb24gcmVtb3ZpbmcgdGhlIGRpc3RyaWJ1dGVkIHN5bnRoIG1lY2hhbmlzbSwgd2Ugbm8gbG9uZ2VyIGNhbGwgYE5vZGUuc3ludGhlc2l6ZWAsIGJ1dCByYXRoZXIgc2ltcGx5IGltcGxlbWVudFxuICAgIC8vIHRoZSBuZWNlc3Nhcnkgb3BlcmF0aW9ucy4gV2UgZG8gaG93ZXZlciB3YW50IHRvIHByZXNlcnZlIHRoZSBkaXN0cmlidXRlZCB2YWxpZGF0aW9uLlxuICAgIHZhbGlkYXRlKHRoaXMsIGNhY2hlKTtcblxuICAgIC8vIHRoaXMgaXMga2luZCBvZiBzdWNreSwgZXZlbnR1YWxseSBJIHdvdWxkIGxpa2UgdGhlIERlcGVuZGVuY3lHcmFwaFxuICAgIC8vIHRvIGJlIGFibGUgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24uXG4gICAgY29uc3QgaGFzRGVwZW5kYW50Q2hhcnRzID0gcmVzb2x2ZURlcGVuZGVuY2llcyh0aGlzLCBjYWNoZSk7XG4gICAgY29uc3QgY2hhcnRzID0gdGhpcy5jaGFydHM7XG5cbiAgICBzd2l0Y2ggKHRoaXMueWFtbE91dHB1dFR5cGUpIHtcbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQVBQOlxuICAgICAgICBsZXQgYXBpT2JqZWN0c0xpc3Q6IEFwaU9iamVjdFtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBhcGlPYmplY3RzTGlzdC5wdXNoKC4uLk9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIFlhbWwuc2F2ZShcbiAgICAgICAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgYGFwcCR7dGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9ufWApLCAvLyBUaGVyZSBpcyBubyBcImFwcCBuYW1lXCIsIHNvIHdlIGp1c3QgaGFyZGNvZGUgdGhlIGZpbGUgbmFtZVxuICAgICAgICAgICAgYXBpT2JqZWN0c0xpc3QpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUOlxuICAgICAgICBjb25zdCBuYW1lcjogQ2hhcnROYW1lciA9IGhhc0RlcGVuZGFudENoYXJ0cyA/IG5ldyBJbmRleGVkQ2hhcnROYW1lcigpIDogbmV3IFNpbXBsZUNoYXJ0TmFtZXIoKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBjb25zdCBjaGFydE5hbWUgPSBuYW1lci5uYW1lKGNoYXJ0KTtcbiAgICAgICAgICBjb25zdCBvYmplY3RzID0gT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSk7XG4gICAgICAgICAgWWFtbC5zYXZlKHBhdGguam9pbih0aGlzLm91dGRpciwgY2hhcnROYW1lICsgdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uKSwgb2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfUkVTT1VSQ0U6XG4gICAgICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICAgICAgY29uc3QgYXBpT2JqZWN0cyA9IE9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpO1xuXG4gICAgICAgICAgYXBpT2JqZWN0cy5mb3JFYWNoKChhcGlPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghKGFwaU9iamVjdCA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke2Ake2FwaU9iamVjdC5raW5kfS4ke2FwaU9iamVjdC5tZXRhZGF0YS5uYW1lfWBcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvW14wLTlhLXpBLVotXy5dL2csICcnKX1gO1xuICAgICAgICAgICAgICBZYW1sLnNhdmUocGF0aC5qb2luKHRoaXMub3V0ZGlyLCBmaWxlTmFtZSArIHRoaXMub3V0cHV0RmlsZUV4dGVuc2lvbiksIFthcGlPYmplY3RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBZYW1sT3V0cHV0VHlwZS5GT0xERVJfUEVSX0NIQVJUX0ZJTEVfUEVSX1JFU09VUkNFOlxuICAgICAgICBjb25zdCBmb2xkZXJOYW1lcjogQ2hhcnROYW1lciA9IGhhc0RlcGVuZGFudENoYXJ0cyA/IG5ldyBJbmRleGVkQ2hhcnRGb2xkZXJOYW1lcigpIDogbmV3IFNpbXBsZUNoYXJ0Rm9sZGVyTmFtZXIoKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBjb25zdCBjaGFydE5hbWUgPSBmb2xkZXJOYW1lci5uYW1lKGNoYXJ0KTtcbiAgICAgICAgICBjb25zdCBhcGlPYmplY3RzID0gY2hhcnRUb0t1YmUoY2hhcnQpO1xuICAgICAgICAgIGNvbnN0IGZ1bGxPdXREaXIgPSBwYXRoLmpvaW4odGhpcy5vdXRkaXIsIGNoYXJ0TmFtZSk7XG4gICAgICAgICAgZnMubWtkaXJTeW5jKGZ1bGxPdXREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgYXBpT2JqZWN0cy5mb3JFYWNoKChhcGlPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghKGFwaU9iamVjdCA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke2Ake2FwaU9iamVjdC5raW5kfS4ke2FwaU9iamVjdC5tZXRhZGF0YS5uYW1lfWBcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvW14wLTlhLXpBLVotXy5dL2csICcnKX1gO1xuICAgICAgICAgICAgICBZYW1sLnNhdmUocGF0aC5qb2luKGZ1bGxPdXREaXIsIGZpbGVOYW1lICsgdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uKSwgW2FwaU9iamVjdC50b0pzb24oKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YSkge1xuICAgICAgY29uc3QgYWxsT2JqZWN0cyA9IHRoaXMuY2hhcnRzLmZsYXRNYXAoY2hhcnRUb0t1YmUpO1xuICAgICAgdGhpcy53cml0ZUNvbnN0cnVjdE1ldGFkYXRhKGFsbE9iamVjdHMpO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRoZXNpemVzIHRoZSBhcHAgaW50byBhIFlBTUwgc3RyaW5nLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHN0cmluZyB3aXRoIGFsbCBZQU1MIG9iamVjdHMgYWNyb3NzIGFsbCBjaGFydHMgaW4gdGhpcyBhcHAuXG4gICAqL1xuICBwdWJsaWMgc3ludGhZYW1sKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2FjaGUgPSBuZXcgU3ludGhSZXF1ZXN0Q2FjaGUoKTtcblxuICAgIHJlc29sdmVEZXBlbmRlbmNpZXModGhpcywgY2FjaGUpO1xuXG4gICAgdmFsaWRhdGUodGhpcywgY2FjaGUpO1xuXG4gICAgY29uc3QgY2hhcnRzID0gdGhpcy5jaGFydHM7XG4gICAgY29uc3QgZG9jczogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICBkb2NzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBZYW1sLnN0cmluZ2lmeSguLi5kb2NzKTtcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDb25zdHJ1Y3RNZXRhZGF0YShhcGlPYmplY3RzOiBBcGlPYmplY3RbXSkge1xuICAgIGNvbnN0IHJlc291cmNlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgYXBpT2JqZWN0IG9mIGFwaU9iamVjdHMpIHtcbiAgICAgIHJlc291cmNlc1thcGlPYmplY3QubmFtZV0gPSB7IHBhdGg6IGFwaU9iamVjdC5ub2RlLnBhdGggfTtcbiAgICB9XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4odGhpcy5vdXRkaXIsICdjb25zdHJ1Y3QtbWV0YWRhdGEuanNvbicpLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgcmVzb3VyY2VzOiByZXNvdXJjZXMsXG4gICAgfSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlKGFwcDogQXBwLCBjYWNoZTogU3ludGhSZXF1ZXN0Q2FjaGUpIHtcbiAgY29uc3QgZXJyb3JzID0gW107XG4gIGZvciAoY29uc3QgY2hpbGQgb2YgY2FjaGUuZmluZEFsbChhcHAubm9kZSkpIHtcbiAgICBjb25zdCBjaGlsZEVycm9ycyA9IGNoaWxkLm5vZGUudmFsaWRhdGUoKTtcbiAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGNoaWxkRXJyb3JzKSB7XG4gICAgICBlcnJvcnMucHVzaChgWyR7Y2hpbGQubm9kZS5wYXRofV0gJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbGlkYXRpb24gZmFpbGVkIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcnM6XFxuICAke2Vycm9ycy5qb2luKCdcXG4gICcpfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkRGVwZW5kZW5jaWVzKGFwcDogQXBwLCBjYWNoZTogU3ludGhSZXF1ZXN0Q2FjaGUpIHtcblxuICBjb25zdCBkZXBzID0gW107XG4gIGZvciAoY29uc3QgY2hpbGQgb2YgY2FjaGUuZmluZEFsbChhcHAubm9kZSkpIHtcbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBjaGlsZC5ub2RlLmRlcGVuZGVuY2llcykge1xuICAgICAgZGVwcy5wdXNoKHsgc291cmNlOiBjaGlsZCwgdGFyZ2V0OiBkZXAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcHM7XG5cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlcGVuZGVuY2llcyhhcHA6IEFwcCwgY2FjaGU6IFN5bnRoUmVxdWVzdENhY2hlKSB7XG5cbiAgbGV0IGhhc0RlcGVuZGFudENoYXJ0cyA9IGZhbHNlO1xuXG4gIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBjaGFydCBkZXBlbmRlbmN5IGZyb20gbmVzdGVkIGNoYXJ0IHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBwYXJlbnRDaGFydCBvZiBjYWNoZS5maW5kQWxsKGFwcC5ub2RlKS5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgQ2hhcnQpKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZENoYXJ0IG9mIHBhcmVudENoYXJ0Lm5vZGUuY2hpbGRyZW4uZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIENoYXJ0KSkge1xuICAgICAgcGFyZW50Q2hhcnQubm9kZS5hZGREZXBlbmRlbmN5KGNoaWxkQ2hhcnQpO1xuICAgICAgaGFzRGVwZW5kYW50Q2hhcnRzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBjcmVhdGUgYW4gZXhwbGljaXQgY2hhcnQgZGVwZW5kZW5jeSBmcm9tIGltcGxpY2l0IGNvbnN0cnVjdCBkZXBlbmRlbmNpZXNcbiAgZm9yIChjb25zdCBkZXAgb2YgYnVpbGREZXBlbmRlbmNpZXMoYXBwLCBjYWNoZSkpIHtcblxuICAgIGNvbnN0IHNvdXJjZUNoYXJ0ID0gQ2hhcnQub2YoZGVwLnNvdXJjZSk7XG4gICAgY29uc3QgdGFyZ2V0Q2hhcnQgPSBDaGFydC5vZihkZXAudGFyZ2V0KTtcblxuICAgIGlmIChzb3VyY2VDaGFydCAhPT0gdGFyZ2V0Q2hhcnQpIHtcbiAgICAgIHNvdXJjZUNoYXJ0Lm5vZGUuYWRkRGVwZW5kZW5jeSh0YXJnZXRDaGFydCk7XG4gICAgICBoYXNEZXBlbmRhbnRDaGFydHMgPSB0cnVlO1xuICAgIH1cblxuICB9XG5cbiAgLy8gY3JlYXRlIGV4cGxpY2l0IGFwaSBvYmplY3QgZGVwZW5kZW5jaWVzIGZyb20gaW1wbGljaXQgY29uc3RydWN0IGRlcGVuZGVuY2llc1xuICBmb3IgKGNvbnN0IGRlcCBvZiBidWlsZERlcGVuZGVuY2llcyhhcHAsIGNhY2hlKSkge1xuXG4gICAgY29uc3Qgc291cmNlQ2hhcnQgPSBDaGFydC5vZihkZXAuc291cmNlKTtcbiAgICBjb25zdCB0YXJnZXRDaGFydCA9IENoYXJ0Lm9mKGRlcC50YXJnZXQpO1xuXG4gICAgY29uc3QgdGFyZ2V0QXBpT2JqZWN0cyA9IGNhY2hlLmZpbmRBbGwoZGVwLnRhcmdldC5ub2RlKS5maWx0ZXIoYyA9PiBjIGluc3RhbmNlb2YgQXBpT2JqZWN0KS5maWx0ZXIoeCA9PiBDaGFydC5vZih4KSA9PT0gdGFyZ2V0Q2hhcnQpO1xuICAgIGNvbnN0IHNvdXJjZUFwaU9iamVjdHMgPSBjYWNoZS5maW5kQWxsKGRlcC5zb3VyY2Uubm9kZSkuZmlsdGVyKGMgPT4gYyBpbnN0YW5jZW9mIEFwaU9iamVjdCkuZmlsdGVyKHggPT4gQ2hhcnQub2YoeCkgPT09IHNvdXJjZUNoYXJ0KTtcblxuICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHRhcmdldEFwaU9iamVjdHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc291cmNlIG9mIHNvdXJjZUFwaU9iamVjdHMpIHtcbiAgICAgICAgaWYgKHRhcmdldCAhPT0gc291cmNlKSB7XG4gICAgICAgICAgc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSh0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGhhc0RlcGVuZGFudENoYXJ0cztcblxufVxuXG5mdW5jdGlvbiBjaGFydFRvS3ViZShjaGFydDogQ2hhcnQpIHtcbiAgcmV0dXJuIG5ldyBEZXBlbmRlbmN5R3JhcGgoY2hhcnQubm9kZSkudG9wb2xvZ3koKVxuICAgIC5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgQXBpT2JqZWN0KVxuICAgIC5maWx0ZXIoeCA9PiBDaGFydC5vZih4KSA9PT0gY2hhcnQpIC8vIGluY2x1ZGUgYW4gb2JqZWN0IG9ubHkgaW4gaXRzIGNsb3Nlc3QgcGFyZW50IGNoYXJ0XG4gICAgLm1hcCh4ID0+ICh4IGFzIEFwaU9iamVjdCkpO1xufVxuXG5pbnRlcmZhY2UgQ2hhcnROYW1lciB7XG4gIG5hbWUoY2hhcnQ6IENoYXJ0KTogc3RyaW5nO1xufVxuXG5jbGFzcyBTaW1wbGVDaGFydE5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgcHVibGljIG5hbWUoY2hhcnQ6IENoYXJ0KSB7XG4gICAgcmV0dXJuIGAke05hbWVzLnRvRG5zTGFiZWwoY2hhcnQpfWA7XG4gIH1cbn1cblxuY2xhc3MgSW5kZXhlZENoYXJ0TmFtZXIgZXh0ZW5kcyBTaW1wbGVDaGFydE5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIHByaXZhdGUgaW5kZXg6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmFtZShjaGFydDogQ2hhcnQpIHtcbiAgICBjb25zdCBuYW1lID0gYCR7dGhpcy5pbmRleC50b1N0cmluZygpLnBhZFN0YXJ0KDQsICcwJyl9LSR7c3VwZXIubmFtZShjaGFydCl9YDtcbiAgICB0aGlzLmluZGV4Kys7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cbn1cblxuY2xhc3MgU2ltcGxlQ2hhcnRGb2xkZXJOYW1lciBpbXBsZW1lbnRzIENoYXJ0TmFtZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIHJldHVybiBOYW1lcy50b0Ruc0xhYmVsKGNoYXJ0KTtcbiAgfVxufVxuXG5jbGFzcyBJbmRleGVkQ2hhcnRGb2xkZXJOYW1lciBleHRlbmRzIFNpbXBsZUNoYXJ0Rm9sZGVyTmFtZXIgaW1wbGVtZW50cyBDaGFydE5hbWVyIHtcbiAgcHJpdmF0ZSBpbmRleDogbnVtYmVyID0gMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIGNvbnN0IG5hbWUgPSBgJHt0aGlzLmluZGV4LnRvU3RyaW5nKCkucGFkU3RhcnQoNCwgJzAnKX0tJHtzdXBlci5uYW1lKGNoYXJ0KX1gO1xuICAgIHRoaXMuaW5kZXgrKztcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxufVxuIl19
|
package/lib/chart.js
CHANGED
|
@@ -99,5 +99,5 @@ class Chart extends constructs_1.Construct {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
exports.Chart = Chart;
|
|
102
|
-
Chart[_a] = { fqn: "cdk8s.Chart", version: "2.
|
|
102
|
+
Chart[_a] = { fqn: "cdk8s.Chart", version: "2.66.0" };
|
|
103
103
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBbUQ7QUFFbkQsK0JBQTRCO0FBQzVCLG1DQUFnQztBQUVoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQy9DLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQTZCMUIsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFDbEM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBTTtRQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQywyQkFBQyxNQUFNLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBVTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBYTtRQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBa0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFpQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFvQixFQUFHO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxLQUFLLENBQUM7UUFFM0UsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0ksa0JBQWtCLENBQUMsU0FBb0I7UUFDNUMsT0FBTyxhQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUNqQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCO1lBQzdDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxHQUFHLFlBQTBCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLFNBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7QUFqSEgsc0JBa0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICcuL2FwaS1vYmplY3QnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnLi9hcHAnO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcblxuY29uc3QgQ0hBUlRfU1lNQk9MID0gU3ltYm9sLmZvcignY2RrOHMuQ2hhcnQnKTtcbmNvbnN0IENST05KT0IgPSAnQ3JvbkpvYic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBuYW1lc3BhY2UgZm9yIGFsbCBvYmplY3RzIGRlZmluZWQgaW4gdGhpcyBjaGFydCAoZGlyZWN0bHkgb3JcbiAgICogaW5kaXJlY3RseSkuIFRoaXMgbmFtZXNwYWNlIHdpbGwgb25seSBhcHBseSB0byBvYmplY3RzIHRoYXQgZG9uJ3QgaGF2ZSBhXG4gICAqIGBuYW1lc3BhY2VgIGV4cGxpY2l0bHkgZGVmaW5lZCBmb3IgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuYW1lc3BhY2UgaXMgc3ludGhlc2l6ZWQgKHVzdWFsbHkgdGhpcyBpbXBsaWVzIFwiZGVmYXVsdFwiKVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbHMgdG8gYXBwbHkgdG8gYWxsIHJlc291cmNlcyBpbiB0aGlzIGNoYXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1vbiBsYWJlbHNcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0b2dlbmVyYXRlZCByZXNvdXJjZSBuYW1lIGJ5IGRlZmF1bHQgaXMgc3VmZml4ZWQgd2l0aCBhIHN0YWJsZSBoYXNoXG4gICAqIG9mIHRoZSBjb25zdHJ1Y3QgcGF0aC4gU2V0dGluZyB0aGlzIHByb3BlcnR5IHRvIHRydWUgZHJvcHMgdGhlIGhhc2ggc3VmZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc291cmNlTmFtZUhhc2hlcz86IGJvb2xlYW47XG5cbn1cblxuZXhwb3J0IGNsYXNzIENoYXJ0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgYSBDaGFydC5cbiAgICpcbiAgICogV2UgZG8gYXR0cmlidXRlIGRldGVjdGlvbiBzaW5jZSB3ZSBjYW4ndCByZWxpYWJseSB1c2UgJ2luc3RhbmNlb2YnLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NoYXJ0KHg6IGFueSk6IHggaXMgQ2hhcnQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZih4KSA9PT0gJ29iamVjdCcgJiYgQ0hBUlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50cyBgaW5zdGFuY2VvZiBDaGFydGAgdXNpbmcgdGhlIG1vcmUgcmVsaWFibGUgYENoYXJ0LmlzQ2hhcnRgIHN0YXRpYyBtZXRob2RcbiAgICpcbiAgICogQHBhcmFtIG8gVGhlIG9iamVjdCB0byBjaGVja1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyBbU3ltYm9sLmhhc0luc3RhbmNlXShvOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIENoYXJ0LmlzQ2hhcnQobyk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGNoYXJ0IGluIHdoaWNoIGEgbm9kZSBpcyBkZWZpbmVkLlxuICAgKiBAcGFyYW0gYyBhIGNvbnN0cnVjdCBub2RlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGM6IElDb25zdHJ1Y3QpOiBDaGFydCB7XG4gICAgaWYgKENoYXJ0LmlzQ2hhcnQoYykpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudCA9IGMubm9kZS5zY29wZSBhcyBDb25zdHJ1Y3Q7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IGZpbmQgYSBwYXJlbnQgY2hhcnQgKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENoYXJ0Lm9mKHBhcmVudCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgbmFtZXNwYWNlIGZvciBhbGwgb2JqZWN0cyBpbiB0aGlzIGNoYXJ0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2hhcnQtbGV2ZWwgbGFiZWxzLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgcmVzb3VyY2UgbmFtZXMgaW4gdGhlIGNoYXJ0IGhhdmUgdGhlIHN1ZmZpeGVkIGhhc2guXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlUmVzb3VyY2VOYW1lSGFzaGVzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2hhcnRQcm9wcyA9IHsgfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBwcm9wcy5uYW1lc3BhY2U7XG4gICAgdGhpcy5fbGFiZWxzID0gcHJvcHMubGFiZWxzID8/IHt9O1xuICAgIHRoaXMuX2Rpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXMgPSBwcm9wcy5kaXNhYmxlUmVzb3VyY2VOYW1lSGFzaGVzID8/IGZhbHNlO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIENIQVJUX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYWJlbHMgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoaXMgY2hhcnQuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gaW1tdXRhYmxlIGNvcHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxhYmVscygpOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fbGFiZWxzIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgYXBwLXVuaXF1ZSBuYW1lIGZvciBhbiBvYmplY3QgZ2l2ZW4gaXQncyBjb25zdHJ1Y3Qgbm9kZSBwYXRoLlxuICAgKlxuICAgKiBEaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMgbWF5IGhhdmUgZGlmZmVyZW50IGNvbnN0cmFpbnRzIG9uIG5hbWVzXG4gICAqIChgbWV0YWRhdGEubmFtZWApLiBUaGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgbmFtZSBnZW5lcmF0b3Igd2FzXG4gICAqIGNvbXBhdGlibGUgd2l0aCBETlNfU1VCRE9NQUlOIGJ1dCBub3Qgd2l0aCBETlNfTEFCRUwuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBgRGVwbG95bWVudGAgbmFtZXMgbXVzdCBjb21wbHkgd2l0aCBETlNfU1VCRE9NQUlOIHdoaWxlXG4gICAqIGBTZXJ2aWNlYCBuYW1lcyBtdXN0IGNvbXBseSB3aXRoIEROU19MQUJFTC5cbiAgICpcbiAgICogU2luY2UgdGhlcmUgaXMgbm8gZm9ybWFsIHNwZWNpZmljYXRpb24gZm9yIHRoaXMsIHRoZSBkZWZhdWx0IG5hbWVcbiAgICogZ2VuZXJhdGlvbiBzY2hlbWUgZm9yIGt1YmVybmV0ZXMgb2JqZWN0cyBpbiBjZGs4cyB3YXMgY2hhbmdlZCB0byBETlNfTEFCRUwsXG4gICAqIHNpbmNlIGl04oCZcyB0aGUgY29tbW9uIGRlbm9taW5hdG9yIGZvciBhbGwga3ViZXJuZXRlcyByZXNvdXJjZXNcbiAgICogKHN1cHBvc2VkbHkpLlxuICAgKlxuICAgKiBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGlmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBvYmplY3QgbmFtZXMgYXQgdGhlXG4gICAqIGNoYXJ0IGxldmVsLlxuICAgKlxuICAgKiBAcGFyYW0gYXBpT2JqZWN0IFRoZSBBUEkgb2JqZWN0IHRvIGdlbmVyYXRlIGEgbmFtZSBmb3IuXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVPYmplY3ROYW1lKGFwaU9iamVjdDogQXBpT2JqZWN0KSB7XG4gICAgcmV0dXJuIE5hbWVzLnRvRG5zTGFiZWwoYXBpT2JqZWN0LCB7XG4gICAgICBpbmNsdWRlSGFzaDogIXRoaXMuX2Rpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXMsXG4gICAgICBtYXhMZW46IGFwaU9iamVjdC5raW5kID09IENST05KT0IgPyA1MiA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBkZXBlbmRlbmN5IGJldHdlZW4gdGhpcyBDaGFydCBhbmQgb3RoZXIgY29uc3RydWN0cy5cbiAgICogVGhlc2UgY2FuIGJlIG90aGVyIEFwaU9iamVjdHMsIENoYXJ0cywgb3IgY3VzdG9tLlxuICAgKlxuICAgKiBAcGFyYW0gZGVwZW5kZW5jaWVzIHRoZSBkZXBlbmRlbmNpZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koLi4uZGVwZW5kZW5jaWVzOiBJQ29uc3RydWN0W10pIHtcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeSguLi5kZXBlbmRlbmNpZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhpcyBjaGFydCB0byBhIHNldCBvZiBLdWJlcm5ldGVzIEpTT04gcmVzb3VyY2VzLlxuICAgKiBAcmV0dXJucyBhcnJheSBvZiByZXNvdXJjZSBtYW5pZmVzdHNcbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogYW55W10ge1xuICAgIHJldHVybiBBcHAuX3N5bnRoQ2hhcnQodGhpcyk7XG4gIH1cbn1cblxuIl19
|
package/lib/cron.js
CHANGED
package/lib/dependency.js
CHANGED
|
@@ -75,7 +75,7 @@ class DependencyGraph {
|
|
|
75
75
|
}
|
|
76
76
|
exports.DependencyGraph = DependencyGraph;
|
|
77
77
|
_a = JSII_RTTI_SYMBOL_1;
|
|
78
|
-
DependencyGraph[_a] = { fqn: "cdk8s.DependencyGraph", version: "2.
|
|
78
|
+
DependencyGraph[_a] = { fqn: "cdk8s.DependencyGraph", version: "2.66.0" };
|
|
79
79
|
/**
|
|
80
80
|
* Represents a vertex in the graph.
|
|
81
81
|
*
|
|
@@ -168,5 +168,5 @@ class DependencyVertex {
|
|
|
168
168
|
}
|
|
169
169
|
exports.DependencyVertex = DependencyVertex;
|
|
170
170
|
_b = JSII_RTTI_SYMBOL_1;
|
|
171
|
-
DependencyVertex[_b] = { fqn: "cdk8s.DependencyVertex", version: "2.
|
|
171
|
+
DependencyVertex[_b] = { fqn: "cdk8s.DependencyVertex", version: "2.66.0" };
|
|
172
172
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0E7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxlQUFlO0lBSTFCLFlBQVksSUFBVTtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUU1QyxNQUFNLEtBQUssR0FBcUMsRUFBRSxDQUFDO1FBRW5ELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM5QixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDZDtRQUVELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUMzQztTQUNGO1FBRUQscUNBQXFDO1FBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBRXRCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLDZEQUE2RDtnQkFDN0QsMkZBQTJGO2dCQUMzRixzQ0FBc0M7Z0JBQ3RDLFNBQVM7YUFDVjtZQUVELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU1QyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBRXZDO1FBRUQsbUJBQW1CO1FBQ25CLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDMUIsaURBQWlEO2dCQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQztTQUNGO0lBRUgsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7QUF6RUgsMENBMEVDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFNM0IsWUFBWSxRQUFnQyxTQUFTO1FBSHBDLGNBQVMsR0FBMEIsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFDL0QsYUFBUSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUc3RSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBRWIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQXVCLEVBQUUsQ0FBQztRQUV4QyxTQUFTLEtBQUssQ0FBQyxDQUFtQjtZQUNoQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNWO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZDtRQUNILENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO0lBRTFELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUFDLEdBQXFCO1FBRW5DLE1BQU0sS0FBSyxHQUF1QixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdkg7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBcUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFxQjtRQUVyQyxNQUFNLEtBQUssR0FBdUIsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFDO1FBRWIsU0FBUyxLQUFLLENBQUMsQ0FBbUI7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRTtvQkFDYixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNkLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNiO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFFZixDQUFDO0lBRUgsQ0FBQzs7QUF4R0gsNENBeUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVwZW5kZW5jeSBncmFwaCBmb3IgYSBnaXZlbiBOb2RlLlxuICpcbiAqIFRoaXMgZ3JhcGggaW5jbHVkZXMgdGhlIGRlcGVuZGVuY3kgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGFsbCBub2RlcyBpbiB0aGVcbiAqIG5vZGUgKGNvbnN0cnVjdCkgc3ViLXRyZWUgd2hvJ3Mgcm9vdCBpcyB0aGlzIE5vZGUuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbWVhbnMgdGhhdCBsb25lbHkgbm9kZXMgKG5vIGRlcGVuZGVuY2llcyBhbmQgbm8gZGVwZW5kYW50cykgYXJlIGFsc28gaW5jbHVkZWQgaW4gdGhpcyBncmFwaCBhc1xuICogY2hpbGRsZXNzIGNoaWxkcmVuIG9mIHRoZSByb290IG5vZGUgb2YgdGhlIGdyYXBoLlxuICpcbiAqIFRoZSBncmFwaCBkb2VzIG5vdCBpbmNsdWRlIGNyb3NzLXNjb3BlIGRlcGVuZGVuY2llcy4gVGhhdCBpcywgaWYgYSBjaGlsZCBvbiB0aGUgY3VycmVudCBzY29wZSBkZXBlbmRzIG9uIGEgbm9kZVxuICogZnJvbSBhIGRpZmZlcmVudCBzY29wZSwgdGhhdCByZWxhdGlvbnNoaXAgaXMgbm90IHJlcHJlc2VudGVkIGluIHRoaXMgZ3JhcGguXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUdyYXBoIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3N0ZXJQYXJlbnQ6IERlcGVuZGVuY3lWZXJ0ZXg7XG5cbiAgY29uc3RydWN0b3Iobm9kZTogTm9kZSkge1xuXG4gICAgdGhpcy5fZm9zdGVyUGFyZW50ID0gbmV3IERlcGVuZGVuY3lWZXJ0ZXgoKTtcblxuICAgIGNvbnN0IG5vZGVzOiBSZWNvcmQ8c3RyaW5nLCBEZXBlbmRlbmN5VmVydGV4PiA9IHt9O1xuXG4gICAgZnVuY3Rpb24gcHV0VmVydGV4KGNvbnN0cnVjdDogSUNvbnN0cnVjdCkge1xuICAgICAgbm9kZXNbY29uc3RydWN0Lm5vZGUucGF0aF0gPSBuZXcgRGVwZW5kZW5jeVZlcnRleChjb25zdHJ1Y3QpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFZlcnRleChjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBEZXBlbmRlbmN5VmVydGV4IHtcbiAgICAgIHJldHVybiBub2Rlc1tjb25zdHJ1Y3Qubm9kZS5wYXRoXTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgYWxsIHZlcnRpY2VzIG9mIHRoZSBncmFwaC5cbiAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZS5maW5kQWxsKCkpIHtcbiAgICAgIHB1dFZlcnRleChuKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBzID0gW107XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmZpbmRBbGwoKSkge1xuICAgICAgZm9yIChjb25zdCBkZXAgb2YgY2hpbGQubm9kZS5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgZGVwcy5wdXNoKHsgc291cmNlOiBjaGlsZCwgdGFyZ2V0OiBkZXAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGFsbCB0aGUgZWRnZXMgb2YgdGhlIGdyYXBoLlxuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcblxuICAgICAgaWYgKCFnZXRWZXJ0ZXgoZGVwLnRhcmdldCkpIHtcbiAgICAgICAgLy8gZG9udCBjcm9zcyBzY29wZSBib3VuZGFyaWVzLlxuICAgICAgICAvLyBzaW5jZSBjaGFydHMgb25seSByZW5kZXJzIGl0cyBvd24gY2hpbGRyZW4sIHRoaXMgaXMgb2sgYW5kXG4gICAgICAgIC8vIGhhcyB0aGUgYmVuZWZpdCBvZiBzaW1wbGlmeWluZyB0aGUgZ3JhcGguIHdlIHNob3VsZCByZWNvbnNpZGVyIHRoaXMgYmVoYXZpb3Igd2hlbiBtb3ZpbmdcbiAgICAgICAgLy8gdG8gYSBtb3JlIGdlbmVyYWwgcHVycG9zZSB1c2UtY2FzZS5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZURlcE5vZGUgPSBnZXRWZXJ0ZXgoZGVwLnNvdXJjZSk7XG4gICAgICBjb25zdCB0YXJnZXREZXBOb2RlID0gZ2V0VmVydGV4KGRlcC50YXJnZXQpO1xuXG4gICAgICBzb3VyY2VEZXBOb2RlLmFkZENoaWxkKHRhcmdldERlcE5vZGUpO1xuXG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHRoZSByb290LlxuICAgIGZvciAoY29uc3QgbiBvZiBPYmplY3QudmFsdWVzKG5vZGVzKSkge1xuICAgICAgaWYgKG4uaW5ib3VuZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gb3JwaGFucyBhcmUgZGVwZW5kZW5jeSByb290cy4gbGV0cyBhZG9wdCB0aGVtIVxuICAgICAgICB0aGlzLl9mb3N0ZXJQYXJlbnQuYWRkQ2hpbGQobik7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm9vdCBvZiB0aGUgZ3JhcGguXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIHZlcnRleCB3aWxsIGFsd2F5cyBoYXZlIGBudWxsYCBhcyBpdHMgYC52YWx1ZWAgc2luY2UgaXQgaXMgYW4gYXJ0aWZpY2FsIHJvb3RcbiAgICogdGhhdCBiaW5kcyBhbGwgdGhlIGNvbm5lY3RlZCBzcGFjZXMgb2YgdGhlIGdyYXBoLlxuICAgKi9cbiAgcHVibGljIGdldCByb290KCk6IERlcGVuZGVuY3lWZXJ0ZXgge1xuICAgIHJldHVybiB0aGlzLl9mb3N0ZXJQYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQHNlZSBWZXJ0ZXgudG9wb2xvZ3koKVxuICAgKi9cbiAgcHVibGljIHRvcG9sb2d5KCk6IElDb25zdHJ1Y3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvc3RlclBhcmVudC50b3BvbG9neSgpO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHZlcnRleCBpbiB0aGUgZ3JhcGguXG4gKlxuICogVGhlIHZhbHVlIG9mIGVhY2ggdmVydGV4IGlzIGFuIGBJQ29uc3RydWN0YCB0aGF0IGlzIGFjY2Vzc2libGUgdmlhIHRoZSBgLnZhbHVlYCBnZXR0ZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5VmVydGV4IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGRyZW46IFNldDxEZXBlbmRlbmN5VmVydGV4PiA9IG5ldyBTZXQ8RGVwZW5kZW5jeVZlcnRleD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50czogU2V0PERlcGVuZGVuY3lWZXJ0ZXg+ID0gbmV3IFNldDxEZXBlbmRlbmN5VmVydGV4PigpO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBJQ29uc3RydWN0IHRoaXMgZ3JhcGggdmVydGV4IHJlcHJlc2VudHMuXG4gICAqXG4gICAqIGBudWxsYCBpbiBjYXNlIHRoaXMgaXMgdGhlIHJvb3Qgb2YgdGhlIGdyYXBoLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2hpbGRyZW4gb2YgdGhlIHZlcnRleCAoaS5lIGRlcGVuZGVuY2llcylcbiAgICovXG4gIHB1YmxpYyBnZXQgb3V0Ym91bmQoKTogQXJyYXk8RGVwZW5kZW5jeVZlcnRleD4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2NoaWxkcmVuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwYXJlbnRzIG9mIHRoZSB2ZXJ0ZXggKGkuZSBkZXBlbmRhbnRzKVxuICAgKi9cbiAgcHVibGljIGdldCBpbmJvdW5kKCk6IEFycmF5PERlcGVuZGVuY3lWZXJ0ZXg+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9wYXJlbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdG9wb2xvZ2ljYWxseSBzb3J0ZWQgYXJyYXkgb2YgdGhlIGNvbnN0cnVjdHMgaW4gdGhlIHN1Yi1ncmFwaC5cbiAgICovXG4gIHB1YmxpYyB0b3BvbG9neSgpOiBJQ29uc3RydWN0W10ge1xuXG4gICAgY29uc3QgZm91bmQgPSBuZXcgU2V0PERlcGVuZGVuY3lWZXJ0ZXg+KCk7XG4gICAgY29uc3QgdG9wb2xvZ3k6IERlcGVuZGVuY3lWZXJ0ZXhbXSA9IFtdO1xuXG4gICAgZnVuY3Rpb24gdmlzaXQobjogRGVwZW5kZW5jeVZlcnRleCkge1xuICAgICAgZm9yIChjb25zdCBjIG9mIG4ub3V0Ym91bmQpIHtcbiAgICAgICAgdmlzaXQoYyk7XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kLmhhcyhuKSkge1xuICAgICAgICB0b3BvbG9neS5wdXNoKG4pO1xuICAgICAgICBmb3VuZC5hZGQobik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmlzaXQodGhpcyk7XG5cbiAgICByZXR1cm4gdG9wb2xvZ3kuZmlsdGVyKGQgPT4gZC52YWx1ZSkubWFwKGQgPT4gZC52YWx1ZSEpO1xuXG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHZlcnRleCBhcyBhIGRlcGVuZGVuY3kgb2YgdGhlIGN1cnJlbnQgbm9kZS5cbiAgICogQWxzbyB1cGRhdGVzIHRoZSBwYXJlbnRzIG9mIGBkZXBgLCBzbyB0aGF0IGl0IGNvbnRhaW5zIHRoaXMgbm9kZSBhcyBhIHBhcmVudC5cbiAgICpcbiAgICogVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIGluIGNhc2UgaXQgY3JlYXRlcyBhIGN5Y2xlIGluIHRoZSBncmFwaC5cbiAgICpcbiAgICogQHBhcmFtIGRlcCBUaGUgZGVwZW5kZW5jeVxuICAgKi9cbiAgcHVibGljIGFkZENoaWxkKGRlcDogRGVwZW5kZW5jeVZlcnRleCkge1xuXG4gICAgY29uc3QgY3ljbGU6IERlcGVuZGVuY3lWZXJ0ZXhbXSA9IGRlcC5maW5kUm91dGUodGhpcyk7XG4gICAgaWYgKGN5Y2xlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY3ljbGUucHVzaChkZXApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXBlbmRlbmN5IGN5Y2xlIGRldGVjdGVkOiAke2N5Y2xlLmZpbHRlcihkID0+IGQudmFsdWUpLm1hcChkID0+IGQudmFsdWUhLm5vZGUucGF0aCkuam9pbignID0+ICcpfWApO1xuICAgIH1cblxuICAgIHRoaXMuX2NoaWxkcmVuLmFkZChkZXApO1xuICAgIGRlcC5hZGRQYXJlbnQodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIGFkZFBhcmVudChkZXA6IERlcGVuZGVuY3lWZXJ0ZXgpIHtcbiAgICB0aGlzLl9wYXJlbnRzLmFkZChkZXApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUm91dGUoZHN0OiBEZXBlbmRlbmN5VmVydGV4KTogRGVwZW5kZW5jeVZlcnRleFtdIHtcblxuICAgIGNvbnN0IHJvdXRlOiBEZXBlbmRlbmN5VmVydGV4W10gPSBbXTtcbiAgICB2aXNpdCh0aGlzKTtcbiAgICByZXR1cm4gcm91dGU7XG5cbiAgICBmdW5jdGlvbiB2aXNpdChuOiBEZXBlbmRlbmN5VmVydGV4KTogYm9vbGVhbiB7XG4gICAgICByb3V0ZS5wdXNoKG4pO1xuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICBmb3IgKGNvbnN0IGMgb2Ygbi5vdXRib3VuZCkge1xuICAgICAgICBpZiAoYyA9PT0gZHN0KSB7XG4gICAgICAgICAgcm91dGUucHVzaChjKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3VuZCA9IHZpc2l0KGMpO1xuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICByb3V0ZS5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3VuZDtcblxuICAgIH1cblxuICB9XG59XG4iXX0=
|
package/lib/duration.js
CHANGED
|
@@ -198,7 +198,7 @@ class Duration {
|
|
|
198
198
|
}
|
|
199
199
|
exports.Duration = Duration;
|
|
200
200
|
_a = JSII_RTTI_SYMBOL_1;
|
|
201
|
-
Duration[_a] = { fqn: "cdk8s.Duration", version: "2.
|
|
201
|
+
Duration[_a] = { fqn: "cdk8s.Duration", version: "2.66.0" };
|
|
202
202
|
class TimeUnit {
|
|
203
203
|
constructor(label, inMillis) {
|
|
204
204
|
this.label = label;
|
package/lib/helm.js
CHANGED
|
@@ -54,7 +54,7 @@ class Helm extends include_1.Include {
|
|
|
54
54
|
}
|
|
55
55
|
exports.Helm = Helm;
|
|
56
56
|
_a = JSII_RTTI_SYMBOL_1;
|
|
57
|
-
Helm[_a] = { fqn: "cdk8s.Helm", version: "2.
|
|
57
|
+
Helm[_a] = { fqn: "cdk8s.Helm", version: "2.66.0" };
|
|
58
58
|
function renderTemplate(workdir, prog, args) {
|
|
59
59
|
const helm = _child_process_1._child_process.spawnSync(prog, args, {
|
|
60
60
|
maxBuffer: MAX_HELM_BUFFER,
|
package/lib/include.js
CHANGED
|
@@ -34,5 +34,5 @@ class Include extends constructs_1.Construct {
|
|
|
34
34
|
}
|
|
35
35
|
exports.Include = Include;
|
|
36
36
|
_a = JSII_RTTI_SYMBOL_1;
|
|
37
|
-
Include[_a] = { fqn: "cdk8s.Include", version: "2.
|
|
37
|
+
Include[_a] = { fqn: "cdk8s.Include", version: "2.66.0" };
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmNsdWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDZDQUF5QztBQUN6QyxpQ0FBOEI7QUFXOUI7Ozs7OztHQU1HO0FBQ0gsTUFBYSxPQUFRLFNBQVEsc0JBQVM7SUFDcEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUV6RCx3Q0FBd0M7WUFDeEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxzQkFBUyxDQUFnQixDQUFDO0lBQy9FLENBQUM7O0FBckJILDBCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IFlhbWwgfSBmcm9tICcuL3lhbWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluY2x1ZGVQcm9wcyB7XG4gIC8qKlxuICAgKiBMb2NhbCBmaWxlIHBhdGggb3IgVVJMIHdoaWNoIGluY2x1ZGVzIGEgS3ViZXJuZXRlcyBZQU1MIG1hbmlmZXN0LlxuICAgKlxuICAgKiBAZXhhbXBsZSBteW1hbmlmZXN0LnlhbWxcbiAgICovXG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIGEgWUFNTCBtYW5pZmVzdCBmcm9tIGEgZmlsZSBvciBhIFVSTCBhbmQgZGVmaW5lcyBhbGwgcmVzb3VyY2VzIGFzIEFQSVxuICogb2JqZWN0cyB3aXRoaW4gdGhlIGRlZmluZWQgc2NvcGUuXG4gKlxuICogVGhlIG5hbWVzIChgbWV0YWRhdGEubmFtZWApIG9mIGltcG9ydGVkIHJlc291cmNlcyB3aWxsIGJlIHByZXNlcnZlZCBhcy1pc1xuICogZnJvbSB0aGUgbWFuaWZlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmNsdWRlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluY2x1ZGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBvYmplY3RzID0gWWFtbC5sb2FkKHByb3BzLnVybCk7XG5cbiAgICBsZXQgb3JkZXIgPSAwO1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9iamVjdHMpIHtcbiAgICAgIGNvbnN0IG9iam5hbWUgPSBvYmoubWV0YWRhdGE/Lm5hbWUgPz8gYG9iamVjdCR7b3JkZXIrK31gO1xuXG4gICAgICAvLyByZW5kZXIgYW4gaWQ6IG5hbWVbLWtpbmRdWy1uYW1lc3BhY2VdXG4gICAgICBjb25zdCBvYmppZCA9IFtvYmpuYW1lLCBvYmoua2luZD8udG9Mb3dlckNhc2UoKSwgb2JqLm1ldGFkYXRhPy5uYW1lc3BhY2VdLmZpbHRlcih4ID0+IHgpLmpvaW4oJy0nKTtcbiAgICAgIG5ldyBBcGlPYmplY3QodGhpcywgb2JqaWQsIG9iaik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHRoZSBpbmNsdWRlZCBBUEkgb2JqZWN0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXBpT2JqZWN0cygpOiBBcGlPYmplY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZS5jaGlsZHJlbi5maWx0ZXIobyA9PiBvIGluc3RhbmNlb2YgQXBpT2JqZWN0KSBhcyBBcGlPYmplY3RbXTtcbiAgfVxufVxuIl19
|
package/lib/json-patch.js
CHANGED
|
@@ -87,5 +87,5 @@ class JsonPatch {
|
|
|
87
87
|
}
|
|
88
88
|
exports.JsonPatch = JsonPatch;
|
|
89
89
|
_a = JSII_RTTI_SYMBOL_1;
|
|
90
|
-
JsonPatch[_a] = { fqn: "cdk8s.JsonPatch", version: "2.
|
|
90
|
+
JsonPatch[_a] = { fqn: "cdk8s.JsonPatch", version: "2.66.0" };
|
|
91
91
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQW1FO0FBRW5FOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSxTQUFTO0lBQ3BCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFhLEVBQUUsR0FBRyxHQUFnQjtRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDRCQUFVLEVBQUMsUUFBUSxFQUFFLElBQUEsMkJBQVMsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBVSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBGOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFVLElBQUksT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpHOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLEtBQVUsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkcsWUFBcUMsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNJLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzs7QUFwRUgsOEJBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHlQYXRjaCwgZGVlcENsb25lLCBPcGVyYXRpb24gfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xuXG4vKipcbiAqIFV0aWxpdHkgZm9yIGFwcGx5aW5nIFJGQy02OTAyIEpTT04tUGF0Y2ggdG8gYSBkb2N1bWVudC5cbiAqXG4gKiBVc2UgdGhlIHRoZSBgSnNvblBhdGNoLmFwcGx5KGRvYywgLi4ub3BzKWAgZnVuY3Rpb24gdG8gYXBwbHkgYSBzZXQgb2ZcbiAqIG9wZXJhdGlvbnMgdG8gYSBKU09OIGRvY3VtZW50IGFuZCByZXR1cm4gdGhlIHJlc3VsdC5cbiAqXG4gKiBPcGVyYXRpb25zIGNhbiBiZSBjcmVhdGVkIHVzaW5nIHRoZSBmYWN0b3J5IG1ldGhvZHMgYEpzb25QYXRjaC5hZGQoKWAsXG4gKiBgSnNvblBhdGNoLnJlbW92ZSgpYCwgZXRjLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICpjb25zdCBvdXRwdXQgPSBKc29uUGF0Y2guYXBwbHkoaW5wdXQsXG4gKiAgSnNvblBhdGNoLnJlcGxhY2UoJy93b3JsZC9oaS90aGVyZScsICdnb29kYnllJyksXG4gKiAgSnNvblBhdGNoLmFkZCgnL3dvcmxkL2Zvby8nLCAnYm9vbScpLFxuICogIEpzb25QYXRjaC5yZW1vdmUoJy9oZWxsbycpKTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uUGF0Y2gge1xuICAvKipcbiAgICogQXBwbGllcyBhIHNldCBvZiBKU09OLVBhdGNoIChSRkMtNjkwMikgb3BlcmF0aW9ucyB0byBgZG9jdW1lbnRgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBkb2N1bWVudCBUaGUgZG9jdW1lbnQgdG8gcGF0Y2hcbiAgICogQHBhcmFtIG9wcyBUaGUgb3BlcmF0aW9ucyB0byBhcHBseVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IGRvY3VtZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcGx5KGRvY3VtZW50OiBhbnksIC4uLm9wczogSnNvblBhdGNoW10pOiBhbnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGFwcGx5UGF0Y2goZG9jdW1lbnQsIGRlZXBDbG9uZShvcHMubWFwKG8gPT4gby5fdG9Kc29uKCkpKSk7XG4gICAgcmV0dXJuIHJlc3VsdC5uZXdEb2N1bWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdmFsdWUgdG8gYW4gb2JqZWN0IG9yIGluc2VydHMgaXQgaW50byBhbiBhcnJheS4gSW4gdGhlIGNhc2Ugb2YgYW5cbiAgICogYXJyYXksIHRoZSB2YWx1ZSBpcyBpbnNlcnRlZCBiZWZvcmUgdGhlIGdpdmVuIGluZGV4LiBUaGUgLSBjaGFyYWN0ZXIgY2FuIGJlXG4gICAqIHVzZWQgaW5zdGVhZCBvZiBhbiBpbmRleCB0byBpbnNlcnQgYXQgdGhlIGVuZCBvZiBhbiBhcnJheS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmFkZCgnL2Jpc2N1aXRzLzEnLCB7IFwibmFtZVwiOiBcIkdpbmdlciBOdXRcIiB9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGQocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdhZGQnLCBwYXRoLCB2YWx1ZSB9KTsgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgdmFsdWUgZnJvbSBhbiBvYmplY3Qgb3IgYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cycpXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cy8wJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlKHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAncmVtb3ZlJywgcGF0aCB9KTsgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhIHZhbHVlLiBFcXVpdmFsZW50IHRvIGEg4oCccmVtb3Zl4oCdIGZvbGxvd2VkIGJ5IGFuIOKAnGFkZOKAnS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLnJlcGxhY2UoJy9iaXNjdWl0cy8wL25hbWUnLCAnQ2hvY29sYXRlIERpZ2VzdGl2ZScpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlcGxhY2UocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdyZXBsYWNlJywgcGF0aCwgdmFsdWUgfSk7IH1cblxuICAvKipcbiAgICogQ29waWVzIGEgdmFsdWUgZnJvbSBvbmUgbG9jYXRpb24gdG8gYW5vdGhlciB3aXRoaW4gdGhlIEpTT04gZG9jdW1lbnQuIEJvdGhcbiAgICogZnJvbSBhbmQgcGF0aCBhcmUgSlNPTiBQb2ludGVycy5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmNvcHkoJy9iaXNjdWl0cy8wJywgJy9iZXN0X2Jpc2N1aXQnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KGZyb206IHN0cmluZywgcGF0aDogc3RyaW5nKSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdjb3B5JywgZnJvbSwgcGF0aCB9KTsgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIHRoZSBvdGhlci4gQm90aCBmcm9tIGFuZCBwYXRoIGFyZSBKU09OIFBvaW50ZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gubW92ZSgnL2Jpc2N1aXRzJywgJy9jb29raWVzJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW92ZShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAnbW92ZScsIGZyb20sIHBhdGggfSk7IH1cblxuICAvKipcbiAgICogVGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIHNldCBpbiB0aGUgZG9jdW1lbnQuIElmIHRoZSB0ZXN0IGZhaWxzLFxuICAgKiB0aGVuIHRoZSBwYXRjaCBhcyBhIHdob2xlIHNob3VsZCBub3QgYXBwbHkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC50ZXN0KCcvYmVzdF9iaXNjdWl0L25hbWUnLCAnQ2hvY28gTGVpYm5peicpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3QocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICd0ZXN0JywgcGF0aCwgdmFsdWUgfSk7IH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3BlcmF0aW9uOiBPcGVyYXRpb24pIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhpcyBKU09OIHBhdGNoIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3RvSnNvbigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbjtcbiAgfVxufSJdfQ==
|
package/lib/lazy.js
CHANGED
|
@@ -16,5 +16,5 @@ class Lazy {
|
|
|
16
16
|
}
|
|
17
17
|
exports.Lazy = Lazy;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
Lazy[_a] = { fqn: "cdk8s.Lazy", version: "2.
|
|
19
|
+
Lazy[_a] = { fqn: "cdk8s.Lazy", version: "2.66.0" };
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXp5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsTUFBYSxJQUFJO0lBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFzQjtRQUN0QyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBbUIsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBcUMsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztJQUFHLENBQUM7SUFFeEQsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztBQVRILG9CQVVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhenkge1xuICBwdWJsaWMgc3RhdGljIGFueShwcm9kdWNlcjogSUFueVByb2R1Y2VyKTogYW55IHtcbiAgICByZXR1cm4gbmV3IExhenkocHJvZHVjZXIpIGFzIHVua25vd24gYXMgYW55O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb2R1Y2VyOiBJQW55UHJvZHVjZXIpIHt9XG5cbiAgcHVibGljIHByb2R1Y2UoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wcm9kdWNlci5wcm9kdWNlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQW55UHJvZHVjZXIge1xuICBwcm9kdWNlKCk6IGFueTtcbn1cblxuXG4iXX0=
|
package/lib/metadata.js
CHANGED
|
@@ -88,5 +88,5 @@ class ApiObjectMetadataDefinition {
|
|
|
88
88
|
}
|
|
89
89
|
exports.ApiObjectMetadataDefinition = ApiObjectMetadataDefinition;
|
|
90
90
|
_a = JSII_RTTI_SYMBOL_1;
|
|
91
|
-
ApiObjectMetadataDefinition[_a] = { fqn: "cdk8s.ApiObjectMetadataDefinition", version: "2.
|
|
91
|
+
ApiObjectMetadataDefinition[_a] = { fqn: "cdk8s.ApiObjectMetadataDefinition", version: "2.66.0" };
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFFeEMsdUNBQW9DO0FBbUhwQzs7R0FFRztBQUNILE1BQWEsMkJBQTJCO0lBOEN0QyxZQUFZLE9BQTJDO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRyxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFHLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25GLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDO1FBRXJDLCtFQUErRTtRQUMvRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLEdBQUcsVUFBb0I7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEtBQXFCO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFhLEVBQUMsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckcsT0FBTyxRQUFRLENBQUMsSUFBQSxpQkFBTyxFQUFDLEVBQUUsRUFBRTtZQUMxQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3JDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7O0FBaklILGtFQWtJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNhbml0aXplVmFsdWUgfSBmcm9tICcuL191dGlsJztcbmltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJy4vYXBpLW9iamVjdCc7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAnLi9yZXNvbHZlJztcblxuLyoqXG4gKiBNZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBvYmplY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT2JqZWN0TWV0YWRhdGEge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSwgbmFtZXNwYWNlLWdsb2JhbCwgbmFtZSBvZiB0aGlzIG9iamVjdCBpbnNpZGUgdGhlIEt1YmVybmV0ZXNcbiAgICogY2x1c3Rlci5cbiAgICpcbiAgICogTm9ybWFsbHksIHlvdSBzaG91bGRuJ3Qgc3BlY2lmeSBuYW1lcyBmb3Igb2JqZWN0cyBhbmQgbGV0IHRoZSBDREsgZ2VuZXJhdGVcbiAgICogYSBuYW1lIGZvciB5b3UgdGhhdCBpcyBhcHBsaWNhdGlvbi11bmlxdWUuIFRoZSBuYW1lcyBDREsgZ2VuZXJhdGVzIGFyZVxuICAgKiBjb21wb3NlZCBmcm9tIHRoZSBjb25zdHJ1Y3QgcGF0aCBjb21wb25lbnRzLCBzZXBhcmF0ZWQgYnkgZG90cyBhbmQgYSBzdWZmaXhcbiAgICogdGhhdCBpcyBiYXNlZCBvbiBhIGhhc2ggb2YgdGhlIGVudGlyZSBwYXRoLCB0byBlbnN1cmUgdW5pcXVlbmVzcy5cbiAgICpcbiAgICogWW91IGNhbiBzdXBwbHkgY3VzdG9tIG5hbWUgYWxsb2NhdGlvbiBsb2dpYyBieSBvdmVycmlkaW5nIHRoZVxuICAgKiBgY2hhcnQuZ2VuZXJhdGVPYmplY3ROYW1lYCBtZXRob2QuXG4gICAqXG4gICAqIElmIHlvdSB1c2UgYW4gZXhwbGljaXQgbmFtZSBoZXJlLCBiZWFyIGluIG1pbmQgdGhhdCB0aGlzIHJlZHVjZXMgdGhlXG4gICAqIGNvbXBvc2FiaWxpdHkgb2YgeW91ciBjb25zdHJ1Y3QgYmVjYXVzZSBpdCB3b24ndCBiZSBwb3NzaWJsZSB0byBpbmNsdWRlXG4gICAqIG1vcmUgdGhhbiBvbmUgaW5zdGFuY2UgaW4gYW55IGFwcC4gVGhlcmVmb3JlIGl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0b1xuICAgKiBsZWF2ZSB0aGlzIHVuc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFuIGFwcC11bmlxdWUgbmFtZSBnZW5lcmF0ZWQgYnkgdGhlIGNoYXJ0XG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyBpcyBhbiB1bnN0cnVjdHVyZWQga2V5IHZhbHVlIG1hcCBzdG9yZWQgd2l0aCBhIHJlc291cmNlIHRoYXQgbWF5IGJlIHNldCBieSBleHRlcm5hbCB0b29scyB0byBzdG9yZSBhbmQgcmV0cmlldmUgYXJiaXRyYXJ5IG1ldGFkYXRhLiBUaGV5IGFyZSBub3QgcXVlcnlhYmxlIGFuZCBzaG91bGQgYmVcbiAgICogcHJlc2VydmVkIHdoZW4gbW9kaWZ5aW5nIG9iamVjdHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cDovL2t1YmVybmV0ZXMuaW8vZG9jcy91c2VyLWd1aWRlL2Fubm90YXRpb25zXG4gICAqIEBkZWZhdWx0IC0gTm8gYW5ub3RhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBhbm5vdGF0aW9ucz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIE1hcCBvZiBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3JnYW5pemUgYW5kIGNhdGVnb3JpemUgKHNjb3BlIGFuZCBzZWxlY3QpIG9iamVjdHMuXG4gICAqIE1heSBtYXRjaCBzZWxlY3RvcnMgb2YgcmVwbGljYXRpb24gY29udHJvbGxlcnMgYW5kIHNlcnZpY2VzLlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdXNlci1ndWlkZS9sYWJlbHNcbiAgICogQGRlZmF1bHQgLSBObyBsYWJlbHMuXG4gICAqL1xuICByZWFkb25seSBsYWJlbHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgZGVmaW5lcyB0aGUgc3BhY2Ugd2l0aGluIGVhY2ggbmFtZSBtdXN0IGJlIHVuaXF1ZS4gQW4gZW1wdHkgbmFtZXNwYWNlIGlzIGVxdWl2YWxlbnQgdG8gdGhlIFwiZGVmYXVsdFwiIG5hbWVzcGFjZSwgYnV0IFwiZGVmYXVsdFwiIGlzIHRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24uXG4gICAqIE5vdCBhbGwgb2JqZWN0cyBhcmUgcmVxdWlyZWQgdG8gYmUgc2NvcGVkIHRvIGEgbmFtZXNwYWNlIC0gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGQgZm9yIHRob3NlIG9iamVjdHMgd2lsbCBiZSBlbXB0eS4gTXVzdCBiZSBhIEROU19MQUJFTC4gQ2Fubm90IGJlIHVwZGF0ZWQuIE1vcmUgaW5mbzogaHR0cDovL2t1YmVybmV0ZXMuaW8vZG9jcy91c2VyLWd1aWRlL25hbWVzcGFjZXNcbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkICh3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSAnZGVmYXVsdCcgbmFtZXNwYWNlKVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2VkIGtleXMgdGhhdCB0ZWxsIEt1YmVybmV0ZXMgdG8gd2FpdCB1bnRpbCBzcGVjaWZpYyBjb25kaXRpb25zIGFyZVxuICAgKiBtZXQgYmVmb3JlIGl0IGZ1bGx5IGRlbGV0ZXMgcmVzb3VyY2VzIG1hcmtlZCBmb3IgZGVsZXRpb24uXG4gICAqXG4gICAqIE11c3QgYmUgZW1wdHkgYmVmb3JlIHRoZSBvYmplY3QgaXMgZGVsZXRlZCBmcm9tIHRoZSByZWdpc3RyeS4gRWFjaCBlbnRyeSBpc1xuICAgKiBhbiBpZGVudGlmaWVyIGZvciB0aGUgcmVzcG9uc2libGUgY29tcG9uZW50IHRoYXQgd2lsbCByZW1vdmUgdGhlIGVudHJ5IGZyb21cbiAgICogdGhlIGxpc3QuIElmIHRoZSBkZWxldGlvblRpbWVzdGFtcCBvZiB0aGUgb2JqZWN0IGlzIG5vbi1uaWwsIGVudHJpZXMgaW5cbiAgICogdGhpcyBsaXN0IGNhbiBvbmx5IGJlIHJlbW92ZWQuIEZpbmFsaXplcnMgbWF5IGJlIHByb2Nlc3NlZCBhbmQgcmVtb3ZlZCBpblxuICAgKiBhbnkgb3JkZXIuICBPcmRlciBpcyBOT1QgZW5mb3JjZWQgYmVjYXVzZSBpdCBpbnRyb2R1Y2VzIHNpZ25pZmljYW50IHJpc2sgb2ZcbiAgICogc3R1Y2sgZmluYWxpemVycy4gZmluYWxpemVycyBpcyBhIHNoYXJlZCBmaWVsZCwgYW55IGFjdG9yIHdpdGggcGVybWlzc2lvblxuICAgKiBjYW4gcmVvcmRlciBpdC4gSWYgdGhlIGZpbmFsaXplciBsaXN0IGlzIHByb2Nlc3NlZCBpbiBvcmRlciwgdGhlbiB0aGlzIGNhblxuICAgKiBsZWFkIHRvIGEgc2l0dWF0aW9uIGluIHdoaWNoIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIHRoZSBmaXJzdFxuICAgKiBmaW5hbGl6ZXIgaW4gdGhlIGxpc3QgaXMgd2FpdGluZyBmb3IgYSBzaWduYWwgKGZpZWxkIHZhbHVlLCBleHRlcm5hbFxuICAgKiBzeXN0ZW0sIG9yIG90aGVyKSBwcm9kdWNlZCBieSBhIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgYSBmaW5hbGl6ZXIgbGF0ZXJcbiAgICogaW4gdGhlIGxpc3QsIHJlc3VsdGluZyBpbiBhIGRlYWRsb2NrLiBXaXRob3V0IGVuZm9yY2VkIG9yZGVyaW5nIGZpbmFsaXplcnNcbiAgICogYXJlIGZyZWUgdG8gb3JkZXIgYW1vbmdzdCB0aGVtc2VsdmVzIGFuZCBhcmUgbm90IHZ1bG5lcmFibGUgdG8gb3JkZXJpbmdcbiAgICogY2hhbmdlcyBpbiB0aGUgbGlzdC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy93b3JraW5nLXdpdGgtb2JqZWN0cy9maW5hbGl6ZXJzL1xuICAgKiBAZGVmYXVsdCAtIE5vIGZpbmFsaXplcnMuXG4gICAqL1xuICByZWFkb25seSBmaW5hbGl6ZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygb2JqZWN0cyBkZXBlbmRlZCBieSB0aGlzIG9iamVjdC4gSWYgQUxMIG9iamVjdHMgaW4gdGhlIGxpc3QgaGF2ZVxuICAgKiBiZWVuIGRlbGV0ZWQsIHRoaXMgb2JqZWN0IHdpbGwgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQuIElmIHRoaXMgb2JqZWN0IGlzXG4gICAqIG1hbmFnZWQgYnkgYSBjb250cm9sbGVyLCB0aGVuIGFuIGVudHJ5IGluIHRoaXMgbGlzdCB3aWxsIHBvaW50IHRvIHRoaXNcbiAgICogY29udHJvbGxlciwgd2l0aCB0aGUgY29udHJvbGxlciBmaWVsZCBzZXQgdG8gdHJ1ZS4gVGhlcmUgY2Fubm90IGJlIG1vcmVcbiAgICogdGhhbiBvbmUgbWFuYWdpbmcgY29udHJvbGxlci5cbiAgICpcbiAgICogS3ViZXJuZXRlcyBzZXRzIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGF1dG9tYXRpY2FsbHkgZm9yIG9iamVjdHMgdGhhdCBhcmVcbiAgICogZGVwZW5kZW50cyBvZiBvdGhlciBvYmplY3RzIGxpa2UgUmVwbGljYVNldHMsIERhZW1vblNldHMsIERlcGxveW1lbnRzLCBKb2JzXG4gICAqIGFuZCBDcm9uSm9icywgYW5kIFJlcGxpY2F0aW9uQ29udHJvbGxlcnMuIFlvdSBjYW4gYWxzbyBjb25maWd1cmUgdGhlc2VcbiAgICogcmVsYXRpb25zaGlwcyBtYW51YWxseSBieSBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZC4gSG93ZXZlciwgeW91XG4gICAqIHVzdWFsbHkgZG9uJ3QgbmVlZCB0byBhbmQgY2FuIGFsbG93IEt1YmVybmV0ZXMgdG8gYXV0b21hdGljYWxseSBtYW5hZ2UgdGhlXG4gICAqIHJlbGF0aW9uc2hpcHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvb3duZXJzLWRlcGVuZGVudHMvXG4gICAqIEBkZWZhdWx0IC0gYXV0b21hdGljYWxseSBzZXQgYnkgS3ViZXJuZXRlc1xuICAgKi9cbiAgcmVhZG9ubHkgb3duZXJSZWZlcmVuY2VzPzogT3duZXJSZWZlcmVuY2VbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSBhdHRyaWJ1dGVzLlxuICAgKiBAanNpaSBpZ25vcmVcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2RrOHMtdGVhbS9jZGs4cy1jb3JlL2lzc3Vlcy8xMjk3XG4gICAqL1xuICByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEFwaU9iamVjdE1ldGFkYXRhRGVmaW5pdGlvbmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT2JqZWN0TWV0YWRhdGFEZWZpbml0aW9uT3B0aW9ucyBleHRlbmRzIEFwaU9iamVjdE1ldGFkYXRhIHtcblxuICAvKipcbiAgICogV2hpY2ggQXBpT2JqZWN0IGluc3RhbmNlIGlzIHRoZSBtZXRhZGF0YSBhdHRhY2hlZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IGFwaU9iamVjdDogQXBpT2JqZWN0O1xuXG59XG5cbi8qKlxuICogT2JqZWN0IG1ldGFkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgQXBpT2JqZWN0TWV0YWRhdGFEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBUEkgb2JqZWN0LlxuICAgKlxuICAgKiBJZiBhIG5hbWUgaXMgc3BlY2lmaWVkIGluIGBtZXRhZGF0YS5uYW1lYCB0aGlzIHdpbGwgYmUgdGhlIG5hbWUgcmV0dXJuZWQuXG4gICAqIE90aGVyd2lzZSwgYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkIGJ5IGNhbGxpbmdcbiAgICogYENoYXJ0Lm9mKHRoaXMpLmdlbmVyYXRlZE9iamVjdE5hbWUodGhpcylgLCB3aGljaCBieSBkZWZhdWx0IHVzZXMgdGhlXG4gICAqIGNvbnN0cnVjdCBwYXRoIHRvIGdlbmVyYXRlIGEgRE5TLWNvbXBhdGlibGUgbmFtZSBmb3IgdGhlIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QncyBuYW1lc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBsYWJlbHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9iamVjdC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYW5ub3RhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBmaW5hbGl6ZXJzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3duZXIgcmVmZXJlbmNlcyBzZXQgZm9yIHRoaXMgb2JqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBvd25lclJlZmVyZW5jZXM6IE93bmVyUmVmZXJlbmNlW107XG5cbiAgLyoqXG4gICAqIFRoZSBBcGlPYmplY3QgdGhpcyBtZXRhZGF0YSBpcyBhdHRhY2hlZCB0by5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpT2JqZWN0OiBBcGlPYmplY3Q7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgbWV0YWRhdGEgYXR0cmlidXRlcyBwYXNzZWQgdGhyb3VnaCBgb3B0aW9uc2AuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hZGRpdGlvbmFsQXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBcGlPYmplY3RNZXRhZGF0YURlZmluaXRpb25PcHRpb25zKSB7XG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIHRoaXMubGFiZWxzID0geyAuLi5vcHRpb25zLmxhYmVscyB9ID8/IHsgfTtcbiAgICB0aGlzLmFubm90YXRpb25zID0geyAuLi5vcHRpb25zLmFubm90YXRpb25zIH0gPz8geyB9O1xuICAgIHRoaXMubmFtZXNwYWNlID0gb3B0aW9ucy5uYW1lc3BhY2U7XG4gICAgdGhpcy5maW5hbGl6ZXJzID0gb3B0aW9ucy5maW5hbGl6ZXJzID8gWy4uLm9wdGlvbnMuZmluYWxpemVyc10gOiBbXTtcbiAgICB0aGlzLm93bmVyUmVmZXJlbmNlcyA9IG9wdGlvbnMub3duZXJSZWZlcmVuY2VzID8gWy4uLm9wdGlvbnMub3duZXJSZWZlcmVuY2VzXSA6IFtdO1xuICAgIHRoaXMuYXBpT2JqZWN0ID0gb3B0aW9ucy5hcGlPYmplY3Q7XG4gICAgdGhpcy5fYWRkaXRpb25hbEF0dHJpYnV0ZXMgPSBvcHRpb25zO1xuXG4gICAgLy8gb3RoZXJ3aXNlIGFwaU9iamVjdCBpcyBwYXNzZWQgdG8gdGhlIHJlc29sdmluZyBsb2dpYywgd2hpY2ggZXhwZWN0YWRseSBmYWlsc1xuICAgIGRlbGV0ZSB0aGlzLl9hZGRpdGlvbmFsQXR0cmlidXRlcy5hcGlPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbGFiZWwuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWRkTGFiZWwoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhYmVsc1trZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSB2YWx1ZSBvZiBhIGxhYmVsIG9yIHVuZGVmaW5lZFxuICAgKiBAcGFyYW0ga2V5IHRoZSBsYWJlbFxuICAgKi9cbiAgcHVibGljIGdldExhYmVsKGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHNba2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gYW5ub3RhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhZGRBbm5vdGF0aW9uKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uc1trZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG9uZSBvciBtb3JlIGZpbmFsaXplcnMuXG4gICAqXG4gICAqIEBwYXJhbSBmaW5hbGl6ZXJzIHRoZSBmaW5hbGl6ZXJzXG4gICAqL1xuICBwdWJsaWMgYWRkRmluYWxpemVycyguLi5maW5hbGl6ZXJzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZmluYWxpemVycy5wdXNoKC4uLmZpbmFsaXplcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvd25lci5cbiAgICpcbiAgICogQHBhcmFtIG93bmVyIHRoZSBvd25lclxuICAgKi9cbiAgcHVibGljIGFkZE93bmVyUmVmZXJlbmNlKG93bmVyOiBPd25lclJlZmVyZW5jZSkge1xuICAgIHRoaXMub3duZXJSZWZlcmVuY2VzLnB1c2gob3duZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gYXJiaXRyYXJ5IGtleS92YWx1ZSB0byB0aGUgb2JqZWN0IG1ldGFkYXRhLlxuICAgKiBAcGFyYW0ga2V5IE1ldGFkYXRhIGtleVxuICAgKiBAcGFyYW0gdmFsdWUgTWV0YWRhdGEgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9hZGRpdGlvbmFsQXR0cmlidXRlc1trZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU3ludGhlc2l6ZXMgYSBrOHMgT2JqZWN0TWV0YSBmb3IgdGhpcyBtZXRhZGF0YSBzZXQuXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCkge1xuICAgIGNvbnN0IHNhbml0aXplID0gKHg6IGFueSkgPT4gc2FuaXRpemVWYWx1ZSh4LCB7IGZpbHRlckVtcHR5QXJyYXlzOiB0cnVlLCBmaWx0ZXJFbXB0eU9iamVjdHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHNhbml0aXplKHJlc29sdmUoW10sIHtcbiAgICAgIC4uLnRoaXMuX2FkZGl0aW9uYWxBdHRyaWJ1dGVzLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgbmFtZXNwYWNlOiB0aGlzLm5hbWVzcGFjZSxcbiAgICAgIGFubm90YXRpb25zOiB0aGlzLmFubm90YXRpb25zLFxuICAgICAgZmluYWxpemVyczogdGhpcy5maW5hbGl6ZXJzLFxuICAgICAgb3duZXJSZWZlcmVuY2VzOiB0aGlzLm93bmVyUmVmZXJlbmNlcyxcbiAgICAgIGxhYmVsczogdGhpcy5sYWJlbHMsXG4gICAgfSwgdGhpcy5hcGlPYmplY3QpKTtcbiAgfVxufVxuXG4vKipcbiAqIE93bmVyUmVmZXJlbmNlIGNvbnRhaW5zIGVub3VnaCBpbmZvcm1hdGlvbiB0byBsZXQgeW91IGlkZW50aWZ5IGFuIG93bmluZ1xuICogb2JqZWN0LiBBbiBvd25pbmcgb2JqZWN0IG11c3QgYmUgaW4gdGhlIHNhbWUgbmFtZXNwYWNlIGFzIHRoZSBkZXBlbmRlbnQsIG9yXG4gKiBiZSBjbHVzdGVyLXNjb3BlZCwgc28gdGhlcmUgaXMgbm8gbmFtZXNwYWNlIGZpZWxkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE93bmVyUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIEFQSSB2ZXJzaW9uIG9mIHRoZSByZWZlcmVudC5cbiAgICovXG4gIHJlYWRvbmx5IGFwaVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgQU5EIGlmIHRoZSBvd25lciBoYXMgdGhlIFwiZm9yZWdyb3VuZERlbGV0aW9uXCIgZmluYWxpemVyLCB0aGVuIHRoZVxuICAgKiBvd25lciBjYW5ub3QgYmUgZGVsZXRlZCBmcm9tIHRoZSBrZXktdmFsdWUgc3RvcmUgdW50aWwgdGhpcyByZWZlcmVuY2UgaXNcbiAgICogcmVtb3ZlZC4gRGVmYXVsdHMgdG8gZmFsc2UuIFRvIHNldCB0aGlzIGZpZWxkLCBhIHVzZXIgbmVlZHMgXCJkZWxldGVcIlxuICAgKiBwZXJtaXNzaW9uIG9mIHRoZSBvd25lciwgb3RoZXJ3aXNlIDQyMiAoVW5wcm9jZXNzYWJsZSBFbnRpdHkpIHdpbGwgYmVcbiAgICogcmV0dXJuZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlLiBUbyBzZXQgdGhpcyBmaWVsZCwgYSB1c2VyIG5lZWRzIFwiZGVsZXRlXCIgcGVybWlzc2lvbiBvZiB0aGVcbiAgICogb3duZXIsIG90aGVyd2lzZSA0MjIgKFVucHJvY2Vzc2FibGUgRW50aXR5KSB3aWxsIGJlIHJldHVybmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYmxvY2tPd25lckRlbGV0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhpcyByZWZlcmVuY2UgcG9pbnRzIHRvIHRoZSBtYW5hZ2luZyBjb250cm9sbGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udHJvbGxlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEtpbmQgb2YgdGhlIHJlZmVyZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzXG4gICAqL1xuICByZWFkb25seSBraW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHJlZmVyZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdXNlci1ndWlkZS9pZGVudGlmaWVycyNuYW1lc1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVSUQgb2YgdGhlIHJlZmVyZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvdXNlci1ndWlkZS9pZGVudGlmaWVycyN1aWRzXG4gICAqL1xuICByZWFkb25seSB1aWQ6IHN0cmluZztcblxufVxuIl19
|
package/lib/names.js
CHANGED
|
@@ -120,7 +120,7 @@ class Names {
|
|
|
120
120
|
}
|
|
121
121
|
exports.Names = Names;
|
|
122
122
|
_a = JSII_RTTI_SYMBOL_1;
|
|
123
|
-
Names[_a] = { fqn: "cdk8s.Names", version: "2.
|
|
123
|
+
Names[_a] = { fqn: "cdk8s.Names", version: "2.66.0" };
|
|
124
124
|
function omitDuplicates(value, index, components) {
|
|
125
125
|
return value !== components[index - 1];
|
|
126
126
|
}
|
package/lib/resolve.js
CHANGED
|
@@ -41,7 +41,7 @@ class ResolutionContext {
|
|
|
41
41
|
}
|
|
42
42
|
exports.ResolutionContext = ResolutionContext;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
ResolutionContext[_a] = { fqn: "cdk8s.ResolutionContext", version: "2.
|
|
44
|
+
ResolutionContext[_a] = { fqn: "cdk8s.ResolutionContext", version: "2.66.0" };
|
|
45
45
|
/**
|
|
46
46
|
* Resolvers instanecs of `Lazy`.
|
|
47
47
|
*/
|
|
@@ -55,7 +55,7 @@ class LazyResolver {
|
|
|
55
55
|
}
|
|
56
56
|
exports.LazyResolver = LazyResolver;
|
|
57
57
|
_b = JSII_RTTI_SYMBOL_1;
|
|
58
|
-
LazyResolver[_b] = { fqn: "cdk8s.LazyResolver", version: "2.
|
|
58
|
+
LazyResolver[_b] = { fqn: "cdk8s.LazyResolver", version: "2.66.0" };
|
|
59
59
|
/**
|
|
60
60
|
* Resolves implicit tokens.
|
|
61
61
|
*/
|
|
@@ -69,7 +69,7 @@ class ImplicitTokenResolver {
|
|
|
69
69
|
}
|
|
70
70
|
exports.ImplicitTokenResolver = ImplicitTokenResolver;
|
|
71
71
|
_c = JSII_RTTI_SYMBOL_1;
|
|
72
|
-
ImplicitTokenResolver[_c] = { fqn: "cdk8s.ImplicitTokenResolver", version: "2.
|
|
72
|
+
ImplicitTokenResolver[_c] = { fqn: "cdk8s.ImplicitTokenResolver", version: "2.66.0" };
|
|
73
73
|
/**
|
|
74
74
|
* Resolves any value attached to a specific ApiObject.
|
|
75
75
|
*/
|
package/lib/size.js
CHANGED
package/lib/testing.js
CHANGED
|
@@ -45,5 +45,5 @@ class Testing {
|
|
|
45
45
|
}
|
|
46
46
|
exports.Testing = Testing;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
Testing[_a] = { fqn: "cdk8s.Testing", version: "2.
|
|
48
|
+
Testing[_a] = { fqn: "cdk8s.Testing", version: "2.66.0" };
|
|
49
49
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsK0JBQXNDO0FBQ3RDLG1DQUFnQztBQUVoQzs7R0FFRztBQUNILE1BQWEsT0FBTztJQUNsQjs7O09BR0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQWdCO1FBQ2hDLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO2FBQU07WUFDTCxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxJQUFJLFNBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLGFBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFZO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUI7UUFDRSxPQUFPO0lBQ1QsQ0FBQzs7QUFoQ0gsMEJBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFwcCwgQXBwUHJvcHMgfSBmcm9tICcuL2FwcCc7XG5pbXBvcnQgeyBDaGFydCB9IGZyb20gJy4vY2hhcnQnO1xuXG4vKipcbiAqIFRlc3RpbmcgdXRpbGl0aWVzIGZvciBjZGs4cyBhcHBsaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXN0aW5nIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYW4gYXBwIGZvciB0ZXN0aW5nIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKiAtIE91dHB1dCBkaXJlY3RvcnkgaXMgYSB0ZW1wIGRpci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXBwKHByb3BzPzogQXBwUHJvcHMpIHtcbiAgICBsZXQgb3V0ZGlyOiBzdHJpbmc7XG4gICAgaWYgKHByb3BzKSB7XG4gICAgICBvdXRkaXIgPSBwcm9wcy5vdXRkaXIgPz8gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrOHMub3V0ZGlyLicpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrOHMub3V0ZGlyLicpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBBcHAoeyBvdXRkaXIsIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgQ2hhcnQgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGVzdHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2hhcnQoKSB7XG4gICAgcmV0dXJuIG5ldyBDaGFydCh0aGlzLmFwcCgpLCAndGVzdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEt1YmVybmV0ZXMgbWFuaWZlc3Qgc3ludGhlc2l6ZWQgZnJvbSB0aGlzIGNoYXJ0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzeW50aChjaGFydDogQ2hhcnQpOiBhbnlbXSB7XG4gICAgcmV0dXJuIGNoYXJ0LnRvSnNvbigpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICByZXR1cm47XG4gIH1cbn1cbiJdfQ==
|
package/lib/yaml.js
CHANGED
|
@@ -98,7 +98,7 @@ class Yaml {
|
|
|
98
98
|
}
|
|
99
99
|
exports.Yaml = Yaml;
|
|
100
100
|
_a = JSII_RTTI_SYMBOL_1;
|
|
101
|
-
Yaml[_a] = { fqn: "cdk8s.Yaml", version: "2.
|
|
101
|
+
Yaml[_a] = { fqn: "cdk8s.Yaml", version: "2.66.0" };
|
|
102
102
|
/**
|
|
103
103
|
* Loads a url (or file) and returns the contents.
|
|
104
104
|
* This method spawns a child process in order to perform an http call synchronously.
|