truemark-cdk-lib 0.0.13 → 0.0.14
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ObservedQueueAlarms = exports.QueueAlarmCategory = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
4
5
|
const cdk_monitoring_constructs_1 = require("cdk-monitoring-constructs");
|
|
5
6
|
const constructs_1 = require("constructs");
|
|
6
7
|
const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
|
|
@@ -49,7 +50,8 @@ class QueueAlarmFacade {
|
|
|
49
50
|
return {
|
|
50
51
|
[this.props.prop]: (_a = this.props.threshold) !== null && _a !== void 0 ? _a : this.props.defaultThreshold,
|
|
51
52
|
actionsEnabled: true,
|
|
52
|
-
actionOverride: new aws_monitoring_1.StandardAlarmActionsStrategy({ actions: this.actions })
|
|
53
|
+
actionOverride: new aws_monitoring_1.StandardAlarmActionsStrategy({ actions: this.actions }),
|
|
54
|
+
alarmNameOverride: this.props.alarmNameOverride
|
|
53
55
|
};
|
|
54
56
|
}
|
|
55
57
|
return undefined;
|
|
@@ -71,58 +73,62 @@ class ObservedQueueAlarms extends constructs_1.Construct {
|
|
|
71
73
|
this.props = props;
|
|
72
74
|
this.criticalAlarms = [];
|
|
73
75
|
this.warningAlarms = [];
|
|
76
|
+
const alarmNamePrefix = aws_cdk_lib_1.Names.uniqueId(props.queue);
|
|
77
|
+
// const alarmNamePrefix = props.queue.node.path.replace(/\//g, "-");
|
|
74
78
|
this.monitoringFacade = (_a = props.monitoringFacade) !== null && _a !== void 0 ? _a : new cdk_monitoring_constructs_1.MonitoringFacade(this, 'MonitoringFacade', {
|
|
75
79
|
metricFactoryDefaults: {},
|
|
76
80
|
alarmFactoryDefaults: {
|
|
77
81
|
actionsEnabled: true,
|
|
78
|
-
alarmNamePrefix
|
|
82
|
+
alarmNamePrefix
|
|
83
|
+
// alarmNamePrefix: props.queue.node.path.replace(/\//g, "-")
|
|
79
84
|
},
|
|
80
85
|
dashboardFactory: props.dashboardFactory
|
|
81
86
|
});
|
|
82
87
|
if (props.queue.deadLetterQueue === undefined) {
|
|
83
88
|
this.monitoringFacade.monitorSqsQueue({
|
|
84
89
|
queue: props.queue,
|
|
85
|
-
addQueueMinSizeAlarm: this.toRecord('minSize', 'minMessageCount'),
|
|
86
|
-
addQueueMaxSizeAlarm: this.toRecord('maxSize', 'maxMessageCount'),
|
|
87
|
-
addQueueMaxMessageAgeAlarm: this.toRecord('maxAgeInSeconds', 'maxAgeInSeconds', 15),
|
|
88
|
-
addQueueMaxTimeToDrainMessagesAlarm: this.toRecord('maxTimeToDrain', 'maxTimeToDrain'),
|
|
89
|
-
addQueueMinIncomingMessagesAlarm: this.toRecord('minIncoming', 'minIncomingMessagesCount'),
|
|
90
|
-
addQueueMaxIncomingMessagesAlarm: this.toRecord('maxIncoming', 'maxIncomingMessagesCount')
|
|
90
|
+
addQueueMinSizeAlarm: this.toRecord(alarmNamePrefix + '-MinSize', 'minSize', 'minMessageCount'),
|
|
91
|
+
addQueueMaxSizeAlarm: this.toRecord(alarmNamePrefix + '-MaxSize', 'maxSize', 'maxMessageCount'),
|
|
92
|
+
addQueueMaxMessageAgeAlarm: this.toRecord(alarmNamePrefix + '-MaxAge', 'maxAgeInSeconds', 'maxAgeInSeconds', 15),
|
|
93
|
+
addQueueMaxTimeToDrainMessagesAlarm: this.toRecord(alarmNamePrefix + '-MaxTimeToDrain', 'maxTimeToDrain', 'maxTimeToDrain'),
|
|
94
|
+
addQueueMinIncomingMessagesAlarm: this.toRecord(alarmNamePrefix + '-MinIncoming', 'minIncoming', 'minIncomingMessagesCount'),
|
|
95
|
+
addQueueMaxIncomingMessagesAlarm: this.toRecord(alarmNamePrefix + '-MaxIncoming', 'maxIncoming', 'maxIncomingMessagesCount')
|
|
91
96
|
});
|
|
92
97
|
}
|
|
93
98
|
else {
|
|
94
99
|
this.monitoringFacade.monitorSqsQueueWithDlq({
|
|
95
100
|
queue: props.queue,
|
|
96
101
|
deadLetterQueue: props.queue.deadLetterQueue.queue,
|
|
97
|
-
addQueueMinSizeAlarm: this.toRecord('minSize', 'minMessageCount'),
|
|
98
|
-
addQueueMaxSizeAlarm: this.toRecord('maxSize', 'maxMessageCount'),
|
|
99
|
-
addQueueMaxMessageAgeAlarm: this.toRecord('maxAgeInSeconds', 'maxAgeInSeconds', 15),
|
|
100
|
-
addQueueMaxTimeToDrainMessagesAlarm: this.toRecord('maxTimeToDrain', 'maxTimeToDrain'),
|
|
101
|
-
addQueueMinIncomingMessagesAlarm: this.toRecord('minIncoming', 'minIncomingMessagesCount'),
|
|
102
|
-
addQueueMaxIncomingMessagesAlarm: this.toRecord('maxIncoming', 'maxIncomingMessagesCount'),
|
|
103
|
-
addDeadLetterQueueMaxSizeAlarm: this.toRecord('deadLetterQueueMaxSize', 'maxMessageCount', 0),
|
|
104
|
-
addDeadLetterQueueMaxMessageAgeAlarm: this.toRecord('deadLetterQueueMaxAgeInSeconds', 'maxAgeInSeconds'),
|
|
105
|
-
addDeadLetterQueueMaxIncomingMessagesAlarm: this.toRecord('deadLetterQueueMaxIncoming', 'maxIncomingMessagesCount'),
|
|
102
|
+
addQueueMinSizeAlarm: this.toRecord(alarmNamePrefix + '-MinSize', 'minSize', 'minMessageCount'),
|
|
103
|
+
addQueueMaxSizeAlarm: this.toRecord(alarmNamePrefix + '-MaxSize', 'maxSize', 'maxMessageCount'),
|
|
104
|
+
addQueueMaxMessageAgeAlarm: this.toRecord(alarmNamePrefix + '-MaxAge', 'maxAgeInSeconds', 'maxAgeInSeconds', 15),
|
|
105
|
+
addQueueMaxTimeToDrainMessagesAlarm: this.toRecord(alarmNamePrefix + '-MaxTimeToDrain', 'maxTimeToDrain', 'maxTimeToDrain'),
|
|
106
|
+
addQueueMinIncomingMessagesAlarm: this.toRecord(alarmNamePrefix + '-MinIncoming', 'minIncoming', 'minIncomingMessagesCount'),
|
|
107
|
+
addQueueMaxIncomingMessagesAlarm: this.toRecord(alarmNamePrefix + '-MaxIncoming', 'maxIncoming', 'maxIncomingMessagesCount'),
|
|
108
|
+
addDeadLetterQueueMaxSizeAlarm: this.toRecord(alarmNamePrefix + '-DeadLetterMaxSize', 'deadLetterQueueMaxSize', 'maxMessageCount', 0),
|
|
109
|
+
addDeadLetterQueueMaxMessageAgeAlarm: this.toRecord(alarmNamePrefix + '-DeadLetterMaxAge', 'deadLetterQueueMaxAgeInSeconds', 'maxAgeInSeconds'),
|
|
110
|
+
addDeadLetterQueueMaxIncomingMessagesAlarm: this.toRecord(alarmNamePrefix + '-DeadLetterMaxIncoming', 'deadLetterQueueMaxIncoming', 'maxIncomingMessagesCount'),
|
|
106
111
|
addDeadLetterQueueToSummaryDashboard: true
|
|
107
112
|
});
|
|
108
113
|
this.addAlarm(QueueAlarmCategory.Critical, ...this.monitoringFacade.createdAlarmsWithDisambiguator(QueueAlarmCategory.Critical).map((awa) => awa.alarm));
|
|
109
114
|
this.addAlarm(QueueAlarmCategory.Warning, ...this.monitoringFacade.createdAlarmsWithDisambiguator(QueueAlarmCategory.Warning).map((awa) => awa.alarm));
|
|
110
115
|
}
|
|
111
116
|
}
|
|
112
|
-
addRecordValue(record, category, sprop, tprop, defaultThreshold) {
|
|
117
|
+
addRecordValue(record, category, alarmNameOverride, sprop, tprop, defaultThreshold) {
|
|
113
118
|
const fprops = getQueueAlarmCategoryProps(this.props, category);
|
|
114
119
|
new QueueAlarmFacade({
|
|
115
120
|
prop: tprop,
|
|
116
121
|
threshold: fprops === null || fprops === void 0 ? void 0 : fprops[sprop],
|
|
117
122
|
defaultThreshold,
|
|
118
123
|
topics: fprops === null || fprops === void 0 ? void 0 : fprops.notifyTopics,
|
|
119
|
-
actions: fprops === null || fprops === void 0 ? void 0 : fprops.notifyActions
|
|
124
|
+
actions: fprops === null || fprops === void 0 ? void 0 : fprops.notifyActions,
|
|
125
|
+
alarmNameOverride: alarmNameOverride + "-" + category
|
|
120
126
|
}).addCustomAlarmThreshold(category, record);
|
|
121
127
|
}
|
|
122
|
-
toRecord(sprop, tprop, defaultThreshold) {
|
|
128
|
+
toRecord(alarmNameOverride, sprop, tprop, defaultThreshold) {
|
|
123
129
|
const record = {};
|
|
124
|
-
this.addRecordValue(record, QueueAlarmCategory.Critical, sprop, tprop, defaultThreshold);
|
|
125
|
-
this.addRecordValue(record, QueueAlarmCategory.Warning, sprop, tprop, defaultThreshold);
|
|
130
|
+
this.addRecordValue(record, QueueAlarmCategory.Critical, alarmNameOverride, sprop, tprop, defaultThreshold);
|
|
131
|
+
this.addRecordValue(record, QueueAlarmCategory.Warning, alarmNameOverride, sprop, tprop, defaultThreshold);
|
|
126
132
|
return Object.keys(record).length > 0 ? record : undefined;
|
|
127
133
|
}
|
|
128
134
|
addAlarm(category, ...alarm) {
|
|
@@ -131,4 +137,4 @@ class ObservedQueueAlarms extends constructs_1.Construct {
|
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
139
|
exports.ObservedQueueAlarms = ObservedQueueAlarms;
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZWQtcXVldWUtYWxhcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib2JzZXJ2ZWQtcXVldWUtYWxhcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHlFQUEyRDtBQVMzRCwyQ0FBcUM7QUFDckMsK0VBQTZEO0FBQzdELHlEQUFrRTtBQStGbEU7Ozs7O0dBS0c7QUFDSCxTQUFTLDBCQUEwQixDQUFDLEtBQXNCLEVBQUUsUUFBNEI7SUFDdEYsTUFBTSxLQUFLLEdBQTBCLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUMxRyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxPQUF3QixFQUFFLE1BQWlCO0lBQ2pFLE1BQU0sUUFBUSxHQUFtQixFQUFFLENBQUE7SUFDbkMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtJQUNwRCxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksa0NBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO0lBQ2hFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7R0FFRztBQUNILElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFHN0I7QUFhRDs7R0FFRztBQUNILE1BQU0sZ0JBQWdCO0lBTXBCLFlBQVksS0FBNEI7UUFD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QUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFFTyxRQUFRLENBQUMsUUFBNEIsRUFBRSxHQUFHLEtBQWM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxLQUFLLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNoRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztDQStDRjtBQTNGRCxrREEyRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0R1cmF0aW9uLCBOYW1lcywgU3RhY2t9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtJVG9waWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zXCI7XG5pbXBvcnQge0FsYXJtLCBJQWxhcm1BY3Rpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtNb25pdG9yaW5nRmFjYWRlfSBmcm9tIFwiY2RrLW1vbml0b3JpbmctY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tQWxhcm1UaHJlc2hvbGQsXG4gIElEYXNoYm9hcmRGYWN0b3J5LCBNYXhJbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQsXG4gIE1heE1lc3NhZ2VBZ2VUaHJlc2hvbGQsXG4gIE1heE1lc3NhZ2VDb3VudFRocmVzaG9sZCwgTWF4VGltZVRvRHJhaW5UaHJlc2hvbGQsIE1pbkluY29taW5nTWVzc2FnZXNDb3VudFRocmVzaG9sZCxcbiAgTWluTWVzc2FnZUNvdW50VGhyZXNob2xkXG59IGZyb20gXCJjZGstbW9uaXRvcmluZy1jb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1F1ZXVlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNxc1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1Nuc0FjdGlvbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoLWFjdGlvbnNcIjtcbmltcG9ydCB7U3RhbmRhcmRBbGFybUFjdGlvbnNTdHJhdGVneX0gZnJvbSBcIi4uLy4uL2F3cy1tb25pdG9yaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVldWVBbGFybUNhdGVnb3J5UHJvcHMge1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIG51bWJlciBvZiBtZXNzYWdlcyB2aXNpYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWluU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgbWVzc2FnZXMgdmlzaWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gYXBwcm94aW1hdGUgYWdlIG9mIHRoZSBvbGRlc3QgbWVzc2FnZSBpbiB0aGUgcXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1IGZvciBjcml0aWNhbCBhbGFybVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QWdlSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHRpbWUgdG8gZHJhaW4gdGhlIHF1ZXVlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4VGltZVRvRHJhaW4/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogTWluaW11bSBudW1iZXIgb2YgaW5jb21pbmcgbWVzc2FnZXMuXG4gICAqL1xuICByZWFkb25seSBtaW5JbmNvbWluZz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgaW5jb21pbmcgbWVzc2FnZXMuXG4gICAqL1xuICByZWFkb25seSBtYXhJbmNvbWluZz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgdmlzaWJsZSBtZXNzYWdlcyBpbiB0aGUgZGVhZC1sZXR0ZXIgcXVldWVcbiAgICpcbiAgICogQGRlZmF1bHQgMCBmb3IgY3JpdGljYWwgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZU1heFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWdlIG9mIHRoZSBvbGRlc3QgbWVzc2FnZXMgaW4gdGhlIGRlYWQtbGV0dGVyIHF1ZXVlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVNYXhBZ2VJblNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIGluY29taW5nIG1lc3NhZ2VzIGluIHRoZSBkZWFkLWxldHRlciBxdWV1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlTWF4SW5jb21pbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRvcGljcyB0byBzZW5kIGFsYXJtIG5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmeVRvcGljcz86IFtJVG9waWNdO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25zIHRvIHNlbmQgYWxhcm0gbm90aWZpY2F0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZ5QWN0aW9ucz86IFtJQWxhcm1BY3Rpb25dO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlQWxhcm1Qcm9wcyB7XG5cbiAgLyoqXG4gICAqIEFsYXJtIHRocmVzaG9sZHMgZm9yIGNyaXRpY2FsIGFsYXJtcy5cbiAgICpcbiAgICogSWYgbm8gcHJvcGVydGllcyBhcmUgcHJvdmlkZWQsIGEgc2V0IG9mIGRlZmF1bHQgYWxhcm1zIGFyZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGljYWxBbGFybVByb3BzPzogUXVldWVBbGFybUNhdGVnb3J5UHJvcHM7XG5cbiAgLyoqXG4gICAqIEFsYXJtIHRocmVzaG9sZCBmb3Igd2FybmluZyBhbGFybXMuXG4gICAqXG4gICAqIElmIG5vIHByb3BlcnRpZXMgYXJlIHByb3ZpZGVkLCBhIHNldCBvZiBkZWZhdWx0IGFsYXJtcyBhcmUgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdBbGFybVByb3BzPzogUXVldWVBbGFybUNhdGVnb3J5UHJvcHM7XG5cbiAgLyoqXG4gICAqIE1haW4gZW50cnkgcG9pbnQgZm9yIG1vbml0b3JpbmcuXG4gICAqXG4gICAqIElmIG5vIHZhbHVlIGlzIHByb3ZpZGVkLCBhIGRlZmF1bHQgZmFjYWRlIHdpbGwgYmUgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU/OiBNb25pdG9yaW5nRmFjYWRlXG5cbiAgLyoqXG4gICAqIFRoZSBEYXNoYm9hcmRGYWN0b3J5IHRvIHVzZSB3aGVuIGdlbmVyYXRpbmcgQ2xvdWRXYXRjaCBkYXNoYm9hcmRzLlxuICAgKlxuICAgKiBJZiBub3QgZGVmaW5lZCwgZGFzaGJvYXJkcyBhcmUgbm90IGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRhc2hib2FyZEZhY3Rvcnk/OiBJRGFzaGJvYXJkRmFjdG9yeTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGNyaXRpY2FsIG9yIHdhcm5pbmcgcHJvcGVydGllcyBmcm9tIFF1ZXVlQWxhcm1Qcm9wcyBkeW5hbWljYWxseS5cbiAqXG4gKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgaG9sZGluZyB0aGUgdmFsdWVzXG4gKiBAcGFyYW0gY2F0ZWdvcnkgdGhlIGFsYXJtIGNhdGVnb3J5XG4gKi9cbmZ1bmN0aW9uIGdldFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzKHByb3BzOiBRdWV1ZUFsYXJtUHJvcHMsIGNhdGVnb3J5OiBRdWV1ZUFsYXJtQ2F0ZWdvcnkpOiBRdWV1ZUFsYXJtQ2F0ZWdvcnlQcm9wcyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGZwcm9wOiBrZXlvZiBRdWV1ZUFsYXJtUHJvcHMgPSBjYXRlZ29yeSA9PT0gJ0NyaXRpY2FsJyA/ICdjcml0aWNhbEFsYXJtUHJvcHMnIDogJ3dhcm5pbmdBbGFybVByb3BzJztcbiAgcmV0dXJuIHByb3BzW2Zwcm9wXTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY29tYmluZSBhbiBhcnJheSBpZiBJQWxhcm1BY3Rpb24gYW5kIElUb3BpYyBvYmplY3RzIGludG8gYSBzaW5nbGUgSUFsYXJtQWN0aW9uIGFycmF5LlxuICpcbiAqIEBwYXJhbSBhY3Rpb25zIHRoZSBhY3Rpb25zXG4gKiBAcGFyYW0gdG9waWNzIHRoZSB0b3BpY3NcbiAqL1xuZnVuY3Rpb24gY29tYmluZUFjdGlvbnMoYWN0aW9ucz86IElBbGFybUFjdGlvbltdLCB0b3BpY3M/OiBJVG9waWNbXSk6IElBbGFybUFjdGlvbltdIHtcbiAgY29uc3QgY29tYmluZWQ6IElBbGFybUFjdGlvbltdID0gW11cbiAgYWN0aW9ucz8uZm9yRWFjaCgoYWN0aW9uKSA9PiBjb21iaW5lZC5wdXNoKGFjdGlvbikpO1xuICB0b3BpY3M/LmZvckVhY2goKHRvcGljKSA9PiBjb21iaW5lZC5wdXNoKG5ldyBTbnNBY3Rpb24odG9waWMpKSk7XG4gIHJldHVybiBjb21iaW5lZDtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGRpc2FtYmlndWF0ZSB3YXJuaW5nIGFuZCBjcml0aWNhbCBhbGFybXMuXG4gKi9cbmV4cG9ydCBlbnVtIFF1ZXVlQWxhcm1DYXRlZ29yeSB7XG4gIENyaXRpY2FsID0gJ0NyaXRpY2FsJyxcbiAgV2FybmluZyA9ICdXYXJuaW5nJ1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFF1ZXVlQWxhcm1GYWNhZGUuXG4gKi9cbmludGVyZmFjZSBRdWV1ZUFsYXJtRmFjYWRlUHJvcHMge1xuICBwcm9wOiBzdHJpbmc7XG4gIHRocmVzaG9sZD86IG51bWJlciB8IER1cmF0aW9uO1xuICBkZWZhdWx0VGhyZXNob2xkPzogbnVtYmVyIHwgRHVyYXRpb247XG4gIHRvcGljcz86IElUb3BpY1tdO1xuICBhY3Rpb25zPzogSUFsYXJtQWN0aW9uW107XG59XG5cbi8qKlxuICogSW50ZXJuYWwgY2xhc3MgdG8gYXNzaXN0IGluIGdlbmVyYXRpbmcgQ3VzdG9tZUFsYXJtVGhyZXNob2xkIGluc3RhbmNlcy5cbiAqL1xuY2xhc3MgUXVldWVBbGFybUZhY2FkZSB7XG5cbiAgcmVhZG9ubHkgYWN0aW9uczogSUFsYXJtQWN0aW9uW107XG5cbiAgcHJpdmF0ZSBwcm9wczogUXVldWVBbGFybUZhY2FkZVByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBRdWV1ZUFsYXJtRmFjYWRlUHJvcHMpIHtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5hY3Rpb25zID0gY29tYmluZUFjdGlvbnMocHJvcHMuYWN0aW9ucywgcHJvcHMudG9waWNzKTtcbiAgfVxuXG4gIHRvQ3VzdG9tQWxhcm1UaHJlc2hvbGQoKTogQ3VzdG9tQWxhcm1UaHJlc2hvbGQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRocmVzaG9sZCAhPT0gdW5kZWZpbmVkIHx8IHRoaXMucHJvcHMuZGVmYXVsdFRocmVzaG9sZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbdGhpcy5wcm9wcy5wcm9wXTogdGhpcy5wcm9wcy50aHJlc2hvbGQ/P3RoaXMucHJvcHMuZGVmYXVsdFRocmVzaG9sZCxcbiAgICAgICAgYWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIGFjdGlvbk92ZXJyaWRlOiBuZXcgU3RhbmRhcmRBbGFybUFjdGlvbnNTdHJhdGVneSh7YWN0aW9uczogdGhpcy5hY3Rpb25zfSlcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhZGRDdXN0b21BbGFybVRocmVzaG9sZChjYXRlZ29yeTogUXVldWVBbGFybUNhdGVnb3J5LCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsQ3VzdG9tQWxhcm1UaHJlc2hvbGQ+KSB7XG4gICAgY29uc3QgYyA9IHRoaXMudG9DdXN0b21BbGFybVRocmVzaG9sZCgpO1xuICAgIGlmIChjICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlY29yZFtjYXRlZ29yeV0gPSBjO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIE9ic2VydmVkUXVldWVBbGFybXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZlZFF1ZXVlQWxhcm1zUHJvcHMgZXh0ZW5kcyBRdWV1ZUFsYXJtUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgcXVldWUgdG8gb2JzZXJ2ZS5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlOiBRdWV1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIENsb3VkV2F0Y2ggYWxhcm1zIGZvciBRdWV1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBPYnNlcnZlZFF1ZXVlQWxhcm1zIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAvKipcbiAgICogVGhlIE1vbml0b3JpbmdGYWNhZGUgaW5zdGFuY2UgZWl0aGVyIHBhc3NlZCBpbiBvciBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yaW5nRmFjYWRlOiBNb25pdG9yaW5nRmFjYWRlO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZWQgY3JpdGljYWwgYWxhcm1zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGljYWxBbGFybXM6IEFsYXJtW107XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCB3YXJuaW5nIGFsYXJtcy5cbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdBbGFybXM6IEFsYXJtW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogT2JzZXJ2ZWRRdWV1ZUFsYXJtc1Byb3BzO1xuXG4gIHByaXZhdGUgYWRkUmVjb3JkVmFsdWUocmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21BbGFybVRocmVzaG9sZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6IFF1ZXVlQWxhcm1DYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBzcHJvcDoga2V5b2YgUXVldWVBbGFybUNhdGVnb3J5UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgdHByb3A6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGhyZXNob2xkPzogbnVtYmVyfER1cmF0aW9uKSB7XG4gICAgY29uc3QgZnByb3BzID0gZ2V0UXVldWVBbGFybUNhdGVnb3J5UHJvcHModGhpcy5wcm9wcywgY2F0ZWdvcnkpO1xuICAgIG5ldyBRdWV1ZUFsYXJtRmFjYWRlKHtcbiAgICAgIHByb3A6IHRwcm9wLFxuICAgICAgdGhyZXNob2xkOiBmcHJvcHM/LltzcHJvcF0gYXMgbnVtYmVyIHwgRHVyYXRpb24sXG4gICAgICBkZWZhdWx0VGhyZXNob2xkLFxuICAgICAgdG9waWNzOiBmcHJvcHM/Lm5vdGlmeVRvcGljcyxcbiAgICAgIGFjdGlvbnM6IGZwcm9wcz8ubm90aWZ5QWN0aW9uc1xuICAgIH0pLmFkZEN1c3RvbUFsYXJtVGhyZXNob2xkKGNhdGVnb3J5LCByZWNvcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b1JlY29yZChzcHJvcDoga2V5b2YgUXVldWVBbGFybUNhdGVnb3J5UHJvcHMsIHRwcm9wOiBzdHJpbmcsIGRlZmF1bHRUaHJlc2hvbGQ/OiBudW1iZXJ8RHVyYXRpb24pOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21BbGFybVRocmVzaG9sZD4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgQ3VzdG9tQWxhcm1UaHJlc2hvbGQ+ID0ge307XG4gICAgdGhpcy5hZGRSZWNvcmRWYWx1ZShyZWNvcmQsIFF1ZXVlQWxhcm1DYXRlZ29yeS5Dcml0aWNhbCwgc3Byb3AsIHRwcm9wLCBkZWZhdWx0VGhyZXNob2xkKTtcbiAgICB0aGlzLmFkZFJlY29yZFZhbHVlKHJlY29yZCwgUXVldWVBbGFybUNhdGVnb3J5Lldhcm5pbmcsIHNwcm9wLCB0cHJvcCwgZGVmYXVsdFRocmVzaG9sZCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHJlY29yZCkubGVuZ3RoID4gMCA/IHJlY29yZCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkQWxhcm0oY2F0ZWdvcnk6IFF1ZXVlQWxhcm1DYXRlZ29yeSwgLi4uYWxhcm06IEFsYXJtW10pIHtcbiAgICBjb25zdCBhcnIgPSBjYXRlZ29yeSA9PT0gUXVldWVBbGFybUNhdGVnb3J5LkNyaXRpY2FsID8gdGhpcy5jcml0aWNhbEFsYXJtcyA6IHRoaXMud2FybmluZ0FsYXJtcztcbiAgICBhcnIucHVzaCguLi5hbGFybSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogT2JzZXJ2ZWRRdWV1ZUFsYXJtc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5jcml0aWNhbEFsYXJtcyA9IFtdO1xuICAgIHRoaXMud2FybmluZ0FsYXJtcyA9IFtdO1xuXG4gICAgdGhpcy5tb25pdG9yaW5nRmFjYWRlID0gcHJvcHMubW9uaXRvcmluZ0ZhY2FkZT8/bmV3IE1vbml0b3JpbmdGYWNhZGUodGhpcywgJ01vbml0b3JpbmdGYWNhZGUnLCB7XG4gICAgICBtZXRyaWNGYWN0b3J5RGVmYXVsdHM6IHt9LFxuICAgICAgYWxhcm1GYWN0b3J5RGVmYXVsdHM6IHtcbiAgICAgICAgYWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIGFsYXJtTmFtZVByZWZpeDogcHJvcHMucXVldWUubm9kZS5wYXRoLnJlcGxhY2UoL1xcLy9nLCBcIi1cIilcbiAgICAgIH0sXG4gICAgICBkYXNoYm9hcmRGYWN0b3J5OiBwcm9wcy5kYXNoYm9hcmRGYWN0b3J5XG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucXVldWUuZGVhZExldHRlclF1ZXVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZS5tb25pdG9yU3FzUXVldWUoe1xuICAgICAgICBxdWV1ZTogcHJvcHMucXVldWUsXG4gICAgICAgIGFkZFF1ZXVlTWluU2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtaW5TaXplJywgJ21pbk1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1pbk1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4U2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtYXhTaXplJywgJ21heE1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4TWVzc2FnZUFnZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtYXhBZ2VJblNlY29uZHMnLCAnbWF4QWdlSW5TZWNvbmRzJywgMTUpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VBZ2VUaHJlc2hvbGQ+LFxuICAgICAgICBhZGRRdWV1ZU1heFRpbWVUb0RyYWluTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZCgnbWF4VGltZVRvRHJhaW4nLCAnbWF4VGltZVRvRHJhaW4nKSBhcyBSZWNvcmQ8c3RyaW5nLCBNYXhUaW1lVG9EcmFpblRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWluSW5jb21pbmdNZXNzYWdlc0FsYXJtOiB0aGlzLnRvUmVjb3JkKCdtaW5JbmNvbWluZycsICdtaW5JbmNvbWluZ01lc3NhZ2VzQ291bnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCBNaW5JbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQ+LFxuICAgICAgICBhZGRRdWV1ZU1heEluY29taW5nTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZCgnbWF4SW5jb21pbmcnLCAnbWF4SW5jb21pbmdNZXNzYWdlc0NvdW50JykgIGFzIFJlY29yZDxzdHJpbmcsIE1heEluY29taW5nTWVzc2FnZXNDb3VudFRocmVzaG9sZD5cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vbml0b3JpbmdGYWNhZGUubW9uaXRvclNxc1F1ZXVlV2l0aERscSh7XG4gICAgICAgIHF1ZXVlOiBwcm9wcy5xdWV1ZSxcbiAgICAgICAgZGVhZExldHRlclF1ZXVlOiBwcm9wcy5xdWV1ZS5kZWFkTGV0dGVyUXVldWUucXVldWUsXG4gICAgICAgIGFkZFF1ZXVlTWluU2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtaW5TaXplJywgJ21pbk1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1pbk1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4U2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtYXhTaXplJywgJ21heE1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4TWVzc2FnZUFnZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdtYXhBZ2VJblNlY29uZHMnLCAnbWF4QWdlSW5TZWNvbmRzJywgMTUpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VBZ2VUaHJlc2hvbGQ+LFxuICAgICAgICBhZGRRdWV1ZU1heFRpbWVUb0RyYWluTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZCgnbWF4VGltZVRvRHJhaW4nLCAnbWF4VGltZVRvRHJhaW4nKSBhcyBSZWNvcmQ8c3RyaW5nLCBNYXhUaW1lVG9EcmFpblRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWluSW5jb21pbmdNZXNzYWdlc0FsYXJtOiB0aGlzLnRvUmVjb3JkKCdtaW5JbmNvbWluZycsICdtaW5JbmNvbWluZ01lc3NhZ2VzQ291bnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCBNaW5JbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQ+LFxuICAgICAgICBhZGRRdWV1ZU1heEluY29taW5nTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZCgnbWF4SW5jb21pbmcnLCAnbWF4SW5jb21pbmdNZXNzYWdlc0NvdW50JykgYXMgUmVjb3JkPHN0cmluZywgTWF4SW5jb21pbmdNZXNzYWdlc0NvdW50VGhyZXNob2xkPixcbiAgICAgICAgYWRkRGVhZExldHRlclF1ZXVlTWF4U2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKCdkZWFkTGV0dGVyUXVldWVNYXhTaXplJywgJ21heE1lc3NhZ2VDb3VudCcsIDApIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZERlYWRMZXR0ZXJRdWV1ZU1heE1lc3NhZ2VBZ2VBbGFybTogdGhpcy50b1JlY29yZCgnZGVhZExldHRlclF1ZXVlTWF4QWdlSW5TZWNvbmRzJywgJ21heEFnZUluU2Vjb25kcycpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VBZ2VUaHJlc2hvbGQ+LFxuICAgICAgICBhZGREZWFkTGV0dGVyUXVldWVNYXhJbmNvbWluZ01lc3NhZ2VzQWxhcm06IHRoaXMudG9SZWNvcmQoJ2RlYWRMZXR0ZXJRdWV1ZU1heEluY29taW5nJywgJ21heEluY29taW5nTWVzc2FnZXNDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1heEluY29taW5nTWVzc2FnZXNDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZERlYWRMZXR0ZXJRdWV1ZVRvU3VtbWFyeURhc2hib2FyZDogdHJ1ZVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWRkQWxhcm0oUXVldWVBbGFybUNhdGVnb3J5LkNyaXRpY2FsLCAuLi50aGlzLm1vbml0b3JpbmdGYWNhZGUuY3JlYXRlZEFsYXJtc1dpdGhEaXNhbWJpZ3VhdG9yKFF1ZXVlQWxhcm1DYXRlZ29yeS5Dcml0aWNhbCkubWFwKChhd2EpID0+IGF3YS5hbGFybSkpO1xuICAgICAgdGhpcy5hZGRBbGFybShRdWV1ZUFsYXJtQ2F0ZWdvcnkuV2FybmluZywgLi4udGhpcy5tb25pdG9yaW5nRmFjYWRlLmNyZWF0ZWRBbGFybXNXaXRoRGlzYW1iaWd1YXRvcihRdWV1ZUFsYXJtQ2F0ZWdvcnkuV2FybmluZykubWFwKChhd2EpID0+IGF3YS5hbGFybSkpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZWQtcXVldWUtYWxhcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib2JzZXJ2ZWQtcXVldWUtYWxhcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFtRDtBQUduRCx5RUFBMkQ7QUFTM0QsMkNBQXFDO0FBQ3JDLCtFQUE2RDtBQUM3RCx5REFBa0U7QUErRmxFOzs7OztHQUtHO0FBQ0gsU0FBUywwQkFBMEIsQ0FBQyxLQUFzQixFQUFFLFFBQTRCO0lBQ3RGLE1BQU0sS0FBSyxHQUEwQixRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7SUFDMUcsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxjQUFjLENBQUMsT0FBd0IsRUFBRSxNQUFpQjtJQUNqRSxNQUFNLFFBQVEsR0FBbUIsRUFBRSxDQUFBO0lBQ25DLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDcEQsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGtDQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtJQUNoRSxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBRzdCO0FBY0Q7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQjtJQU1wQixZ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QUM5QixpQkFBaUIsRUFBRSxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsUUFBUTtTQUN0RCxDQUFDLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxRQUFRLENBQUMsaUJBQXlCLEVBQUUsS0FBb0MsRUFBRSxLQUFhLEVBQUUsZ0JBQWtDO1FBQ2pJLE1BQU0sTUFBTSxHQUF5QyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFFBQTRCLEVBQUUsR0FBRyxLQUFjO1FBQzlELE1BQU0sR0FBRyxHQUFHLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDaEcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Q0FtREY7QUFqR0Qsa0RBaUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbiwgTmFtZXMsIFN0YWNrfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7SVRvcGljfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNuc1wiO1xuaW1wb3J0IHtBbGFybSwgSUFsYXJtQWN0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7TW9uaXRvcmluZ0ZhY2FkZX0gZnJvbSBcImNkay1tb25pdG9yaW5nLWNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEN1c3RvbUFsYXJtVGhyZXNob2xkLFxuICBJRGFzaGJvYXJkRmFjdG9yeSwgTWF4SW5jb21pbmdNZXNzYWdlc0NvdW50VGhyZXNob2xkLFxuICBNYXhNZXNzYWdlQWdlVGhyZXNob2xkLFxuICBNYXhNZXNzYWdlQ291bnRUaHJlc2hvbGQsIE1heFRpbWVUb0RyYWluVGhyZXNob2xkLCBNaW5JbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQsXG4gIE1pbk1lc3NhZ2VDb3VudFRocmVzaG9sZFxufSBmcm9tIFwiY2RrLW1vbml0b3JpbmctY29uc3RydWN0c1wiO1xuaW1wb3J0IHtRdWV1ZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zcXNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtTbnNBY3Rpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaC1hY3Rpb25zXCI7XG5pbXBvcnQge1N0YW5kYXJkQWxhcm1BY3Rpb25zU3RyYXRlZ3l9IGZyb20gXCIuLi8uLi9hd3MtbW9uaXRvcmluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzIHtcblxuICAvKipcbiAgICogTWluaW11bSBudW1iZXIgb2YgbWVzc2FnZXMgdmlzaWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IG1pblNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIG1lc3NhZ2VzIHZpc2libGUuXG4gICAqL1xuICByZWFkb25seSBtYXhTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFwcHJveGltYXRlIGFnZSBvZiB0aGUgb2xkZXN0IG1lc3NhZ2UgaW4gdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNSBmb3IgY3JpdGljYWwgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IG1heEFnZUluU2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSB0aW1lIHRvIGRyYWluIHRoZSBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heFRpbWVUb0RyYWluPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gbnVtYmVyIG9mIGluY29taW5nIG1lc3NhZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWluSW5jb21pbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIGluY29taW5nIG1lc3NhZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4SW5jb21pbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHZpc2libGUgbWVzc2FnZXMgaW4gdGhlIGRlYWQtbGV0dGVyIHF1ZXVlXG4gICAqXG4gICAqIEBkZWZhdWx0IDAgZm9yIGNyaXRpY2FsIGFsYXJtXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVNYXhTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFnZSBvZiB0aGUgb2xkZXN0IG1lc3NhZ2VzIGluIHRoZSBkZWFkLWxldHRlciBxdWV1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlTWF4QWdlSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBpbmNvbWluZyBtZXNzYWdlcyBpbiB0aGUgZGVhZC1sZXR0ZXIgcXVldWVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZU1heEluY29taW5nPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUb3BpY3MgdG8gc2VuZCBhbGFybSBub3RpZmljYXRpb25zXG4gICAqL1xuICByZWFkb25seSBub3RpZnlUb3BpY3M/OiBbSVRvcGljXTtcblxuICAvKipcbiAgICogQWN0aW9ucyB0byBzZW5kIGFsYXJtIG5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmeUFjdGlvbnM/OiBbSUFsYXJtQWN0aW9uXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZUFsYXJtUHJvcHMge1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aHJlc2hvbGRzIGZvciBjcml0aWNhbCBhbGFybXMuXG4gICAqXG4gICAqIElmIG5vIHByb3BlcnRpZXMgYXJlIHByb3ZpZGVkLCBhIHNldCBvZiBkZWZhdWx0IGFsYXJtcyBhcmUgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRpY2FsQWxhcm1Qcm9wcz86IFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aHJlc2hvbGQgZm9yIHdhcm5pbmcgYWxhcm1zLlxuICAgKlxuICAgKiBJZiBubyBwcm9wZXJ0aWVzIGFyZSBwcm92aWRlZCwgYSBzZXQgb2YgZGVmYXVsdCBhbGFybXMgYXJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nQWxhcm1Qcm9wcz86IFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzO1xuXG4gIC8qKlxuICAgKiBNYWluIGVudHJ5IHBvaW50IGZvciBtb25pdG9yaW5nLlxuICAgKlxuICAgKiBJZiBubyB2YWx1ZSBpcyBwcm92aWRlZCwgYSBkZWZhdWx0IGZhY2FkZSB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yaW5nRmFjYWRlPzogTW9uaXRvcmluZ0ZhY2FkZVxuXG4gIC8qKlxuICAgKiBUaGUgRGFzaGJvYXJkRmFjdG9yeSB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIENsb3VkV2F0Y2ggZGFzaGJvYXJkcy5cbiAgICpcbiAgICogSWYgbm90IGRlZmluZWQsIGRhc2hib2FyZHMgYXJlIG5vdCBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBkYXNoYm9hcmRGYWN0b3J5PzogSURhc2hib2FyZEZhY3Rvcnk7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgY29ycmVjdCBjcml0aWNhbCBvciB3YXJuaW5nIHByb3BlcnRpZXMgZnJvbSBRdWV1ZUFsYXJtUHJvcHMgZHluYW1pY2FsbHkuXG4gKlxuICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIGhvbGRpbmcgdGhlIHZhbHVlc1xuICogQHBhcmFtIGNhdGVnb3J5IHRoZSBhbGFybSBjYXRlZ29yeVxuICovXG5mdW5jdGlvbiBnZXRRdWV1ZUFsYXJtQ2F0ZWdvcnlQcm9wcyhwcm9wczogUXVldWVBbGFybVByb3BzLCBjYXRlZ29yeTogUXVldWVBbGFybUNhdGVnb3J5KTogUXVldWVBbGFybUNhdGVnb3J5UHJvcHMgfCB1bmRlZmluZWQge1xuICBjb25zdCBmcHJvcDoga2V5b2YgUXVldWVBbGFybVByb3BzID0gY2F0ZWdvcnkgPT09ICdDcml0aWNhbCcgPyAnY3JpdGljYWxBbGFybVByb3BzJyA6ICd3YXJuaW5nQWxhcm1Qcm9wcyc7XG4gIHJldHVybiBwcm9wc1tmcHJvcF07XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbWJpbmUgYW4gYXJyYXkgaWYgSUFsYXJtQWN0aW9uIGFuZCBJVG9waWMgb2JqZWN0cyBpbnRvIGEgc2luZ2xlIElBbGFybUFjdGlvbiBhcnJheS5cbiAqXG4gKiBAcGFyYW0gYWN0aW9ucyB0aGUgYWN0aW9uc1xuICogQHBhcmFtIHRvcGljcyB0aGUgdG9waWNzXG4gKi9cbmZ1bmN0aW9uIGNvbWJpbmVBY3Rpb25zKGFjdGlvbnM/OiBJQWxhcm1BY3Rpb25bXSwgdG9waWNzPzogSVRvcGljW10pOiBJQWxhcm1BY3Rpb25bXSB7XG4gIGNvbnN0IGNvbWJpbmVkOiBJQWxhcm1BY3Rpb25bXSA9IFtdXG4gIGFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gY29tYmluZWQucHVzaChhY3Rpb24pKTtcbiAgdG9waWNzPy5mb3JFYWNoKCh0b3BpYykgPT4gY29tYmluZWQucHVzaChuZXcgU25zQWN0aW9uKHRvcGljKSkpO1xuICByZXR1cm4gY29tYmluZWQ7XG59XG5cbi8qKlxuICogVXNlZCB0byBkaXNhbWJpZ3VhdGUgd2FybmluZyBhbmQgY3JpdGljYWwgYWxhcm1zLlxuICovXG5leHBvcnQgZW51bSBRdWV1ZUFsYXJtQ2F0ZWdvcnkge1xuICBDcml0aWNhbCA9ICdDcml0aWNhbCcsXG4gIFdhcm5pbmcgPSAnV2FybmluZydcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBRdWV1ZUFsYXJtRmFjYWRlLlxuICovXG5pbnRlcmZhY2UgUXVldWVBbGFybUZhY2FkZVByb3BzIHtcbiAgcHJvcDogc3RyaW5nO1xuICB0aHJlc2hvbGQ/OiBudW1iZXIgfCBEdXJhdGlvbjtcbiAgZGVmYXVsdFRocmVzaG9sZD86IG51bWJlciB8IER1cmF0aW9uO1xuICB0b3BpY3M/OiBJVG9waWNbXTtcbiAgYWN0aW9ucz86IElBbGFybUFjdGlvbltdO1xuICBhbGFybU5hbWVPdmVycmlkZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVybmFsIGNsYXNzIHRvIGFzc2lzdCBpbiBnZW5lcmF0aW5nIEN1c3RvbWVBbGFybVRocmVzaG9sZCBpbnN0YW5jZXMuXG4gKi9cbmNsYXNzIFF1ZXVlQWxhcm1GYWNhZGUge1xuXG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBbGFybUFjdGlvbltdO1xuXG4gIHByaXZhdGUgcHJvcHM6IFF1ZXVlQWxhcm1GYWNhZGVQcm9wcztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogUXVldWVBbGFybUZhY2FkZVByb3BzKSB7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuYWN0aW9ucyA9IGNvbWJpbmVBY3Rpb25zKHByb3BzLmFjdGlvbnMsIHByb3BzLnRvcGljcyk7XG4gIH1cblxuICB0b0N1c3RvbUFsYXJtVGhyZXNob2xkKCk6IEN1c3RvbUFsYXJtVGhyZXNob2xkIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50aHJlc2hvbGQgIT09IHVuZGVmaW5lZCB8fCB0aGlzLnByb3BzLmRlZmF1bHRUaHJlc2hvbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW3RoaXMucHJvcHMucHJvcF06IHRoaXMucHJvcHMudGhyZXNob2xkPz90aGlzLnByb3BzLmRlZmF1bHRUaHJlc2hvbGQsXG4gICAgICAgIGFjdGlvbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICBhY3Rpb25PdmVycmlkZTogbmV3IFN0YW5kYXJkQWxhcm1BY3Rpb25zU3RyYXRlZ3koe2FjdGlvbnM6IHRoaXMuYWN0aW9uc30pLFxuICAgICAgICBhbGFybU5hbWVPdmVycmlkZTogdGhpcy5wcm9wcy5hbGFybU5hbWVPdmVycmlkZVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFkZEN1c3RvbUFsYXJtVGhyZXNob2xkKGNhdGVnb3J5OiBRdWV1ZUFsYXJtQ2F0ZWdvcnksIHJlY29yZDogUmVjb3JkPHN0cmluZyxDdXN0b21BbGFybVRocmVzaG9sZD4pIHtcbiAgICBjb25zdCBjID0gdGhpcy50b0N1c3RvbUFsYXJtVGhyZXNob2xkKCk7XG4gICAgaWYgKGMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVjb3JkW2NhdGVnb3J5XSA9IGM7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgT2JzZXJ2ZWRRdWV1ZUFsYXJtc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmVkUXVldWVBbGFybXNQcm9wcyBleHRlbmRzIFF1ZXVlQWxhcm1Qcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBxdWV1ZSB0byBvYnNlcnZlLlxuICAgKi9cbiAgcmVhZG9ubHkgcXVldWU6IFF1ZXVlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgQ2xvdWRXYXRjaCBhbGFybXMgZm9yIFF1ZXVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9ic2VydmVkUXVldWVBbGFybXMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBUaGUgTW9uaXRvcmluZ0ZhY2FkZSBpbnN0YW5jZSBlaXRoZXIgcGFzc2VkIGluIG9yIGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU6IE1vbml0b3JpbmdGYWNhZGU7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBjcml0aWNhbCBhbGFybXMuXG4gICAqL1xuICByZWFkb25seSBjcml0aWNhbEFsYXJtczogQWxhcm1bXTtcblxuICAvKipcbiAgICogR2VuZXJhdGVkIHdhcm5pbmcgYWxhcm1zLlxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ0FsYXJtczogQWxhcm1bXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBPYnNlcnZlZFF1ZXVlQWxhcm1zUHJvcHM7XG5cbiAgcHJpdmF0ZSBhZGRSZWNvcmRWYWx1ZShyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUFsYXJtVGhyZXNob2xkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeTogUXVldWVBbGFybUNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgIGFsYXJtTmFtZU92ZXJyaWRlOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgc3Byb3A6IGtleW9mIFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgIHRwcm9wOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFRocmVzaG9sZD86IG51bWJlcnxEdXJhdGlvbikge1xuICAgIGNvbnN0IGZwcm9wcyA9IGdldFF1ZXVlQWxhcm1DYXRlZ29yeVByb3BzKHRoaXMucHJvcHMsIGNhdGVnb3J5KTtcbiAgICBuZXcgUXVldWVBbGFybUZhY2FkZSh7XG4gICAgICBwcm9wOiB0cHJvcCxcbiAgICAgIHRocmVzaG9sZDogZnByb3BzPy5bc3Byb3BdIGFzIG51bWJlciB8IER1cmF0aW9uLFxuICAgICAgZGVmYXVsdFRocmVzaG9sZCxcbiAgICAgIHRvcGljczogZnByb3BzPy5ub3RpZnlUb3BpY3MsXG4gICAgICBhY3Rpb25zOiBmcHJvcHM/Lm5vdGlmeUFjdGlvbnMsXG4gICAgICBhbGFybU5hbWVPdmVycmlkZTogYWxhcm1OYW1lT3ZlcnJpZGUgKyBcIi1cIiArIGNhdGVnb3J5XG4gICAgfSkuYWRkQ3VzdG9tQWxhcm1UaHJlc2hvbGQoY2F0ZWdvcnksIHJlY29yZCk7XG4gIH1cblxuICBwcml2YXRlIHRvUmVjb3JkKGFsYXJtTmFtZU92ZXJyaWRlOiBzdHJpbmcsIHNwcm9wOiBrZXlvZiBRdWV1ZUFsYXJtQ2F0ZWdvcnlQcm9wcywgdHByb3A6IHN0cmluZywgZGVmYXVsdFRocmVzaG9sZD86IG51bWJlcnxEdXJhdGlvbik6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUFsYXJtVGhyZXNob2xkPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21BbGFybVRocmVzaG9sZD4gPSB7fTtcbiAgICB0aGlzLmFkZFJlY29yZFZhbHVlKHJlY29yZCwgUXVldWVBbGFybUNhdGVnb3J5LkNyaXRpY2FsLCBhbGFybU5hbWVPdmVycmlkZSwgc3Byb3AsIHRwcm9wLCBkZWZhdWx0VGhyZXNob2xkKTtcbiAgICB0aGlzLmFkZFJlY29yZFZhbHVlKHJlY29yZCwgUXVldWVBbGFybUNhdGVnb3J5Lldhcm5pbmcsIGFsYXJtTmFtZU92ZXJyaWRlLCBzcHJvcCwgdHByb3AsIGRlZmF1bHRUaHJlc2hvbGQpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhyZWNvcmQpLmxlbmd0aCA+IDAgPyByZWNvcmQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGFkZEFsYXJtKGNhdGVnb3J5OiBRdWV1ZUFsYXJtQ2F0ZWdvcnksIC4uLmFsYXJtOiBBbGFybVtdKSB7XG4gICAgY29uc3QgYXJyID0gY2F0ZWdvcnkgPT09IFF1ZXVlQWxhcm1DYXRlZ29yeS5Dcml0aWNhbCA/IHRoaXMuY3JpdGljYWxBbGFybXMgOiB0aGlzLndhcm5pbmdBbGFybXM7XG4gICAgYXJyLnB1c2goLi4uYWxhcm0pO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE9ic2VydmVkUXVldWVBbGFybXNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuY3JpdGljYWxBbGFybXMgPSBbXTtcbiAgICB0aGlzLndhcm5pbmdBbGFybXMgPSBbXTtcblxuICAgIGNvbnN0IGFsYXJtTmFtZVByZWZpeCA9IE5hbWVzLnVuaXF1ZUlkKHByb3BzLnF1ZXVlKTtcbiAgICAvLyBjb25zdCBhbGFybU5hbWVQcmVmaXggPSAgcHJvcHMucXVldWUubm9kZS5wYXRoLnJlcGxhY2UoL1xcLy9nLCBcIi1cIik7XG5cbiAgICB0aGlzLm1vbml0b3JpbmdGYWNhZGUgPSBwcm9wcy5tb25pdG9yaW5nRmFjYWRlPz9uZXcgTW9uaXRvcmluZ0ZhY2FkZSh0aGlzLCAnTW9uaXRvcmluZ0ZhY2FkZScsIHtcbiAgICAgIG1ldHJpY0ZhY3RvcnlEZWZhdWx0czoge30sXG4gICAgICBhbGFybUZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICBhY3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgYWxhcm1OYW1lUHJlZml4XG4gICAgICAgIC8vIGFsYXJtTmFtZVByZWZpeDogcHJvcHMucXVldWUubm9kZS5wYXRoLnJlcGxhY2UoL1xcLy9nLCBcIi1cIilcbiAgICAgIH0sXG4gICAgICBkYXNoYm9hcmRGYWN0b3J5OiBwcm9wcy5kYXNoYm9hcmRGYWN0b3J5XG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucXVldWUuZGVhZExldHRlclF1ZXVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZS5tb25pdG9yU3FzUXVldWUoe1xuICAgICAgICBxdWV1ZTogcHJvcHMucXVldWUsXG4gICAgICAgIGFkZFF1ZXVlTWluU2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctTWluU2l6ZScsICdtaW5TaXplJywgJ21pbk1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1pbk1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4U2l6ZUFsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctTWF4U2l6ZScsICdtYXhTaXplJywgJ21heE1lc3NhZ2VDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1heE1lc3NhZ2VDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4TWVzc2FnZUFnZUFsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctTWF4QWdlJywgJ21heEFnZUluU2Vjb25kcycsICdtYXhBZ2VJblNlY29uZHMnLCAxNSkgYXMgUmVjb3JkPHN0cmluZywgTWF4TWVzc2FnZUFnZVRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWF4VGltZVRvRHJhaW5NZXNzYWdlc0FsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctTWF4VGltZVRvRHJhaW4nLCAnbWF4VGltZVRvRHJhaW4nLCAnbWF4VGltZVRvRHJhaW4nKSBhcyBSZWNvcmQ8c3RyaW5nLCBNYXhUaW1lVG9EcmFpblRocmVzaG9sZD4sXG4gICAgICAgIGFkZFF1ZXVlTWluSW5jb21pbmdNZXNzYWdlc0FsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctTWluSW5jb21pbmcnLCAnbWluSW5jb21pbmcnLCAnbWluSW5jb21pbmdNZXNzYWdlc0NvdW50JykgYXMgUmVjb3JkPHN0cmluZywgTWluSW5jb21pbmdNZXNzYWdlc0NvdW50VGhyZXNob2xkPixcbiAgICAgICAgYWRkUXVldWVNYXhJbmNvbWluZ01lc3NhZ2VzQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NYXhJbmNvbWluZycsICdtYXhJbmNvbWluZycsICdtYXhJbmNvbWluZ01lc3NhZ2VzQ291bnQnKSAgYXMgUmVjb3JkPHN0cmluZywgTWF4SW5jb21pbmdNZXNzYWdlc0NvdW50VGhyZXNob2xkPlxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZS5tb25pdG9yU3FzUXVldWVXaXRoRGxxKHtcbiAgICAgICAgcXVldWU6IHByb3BzLnF1ZXVlLFxuICAgICAgICBkZWFkTGV0dGVyUXVldWU6IHByb3BzLnF1ZXVlLmRlYWRMZXR0ZXJRdWV1ZS5xdWV1ZSxcbiAgICAgICAgYWRkUXVldWVNaW5TaXplQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NaW5TaXplJywgJ21pblNpemUnLCAnbWluTWVzc2FnZUNvdW50JykgYXMgUmVjb3JkPHN0cmluZywgTWluTWVzc2FnZUNvdW50VGhyZXNob2xkPixcbiAgICAgICAgYWRkUXVldWVNYXhTaXplQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NYXhTaXplJywgJ21heFNpemUnLCAnbWF4TWVzc2FnZUNvdW50JykgYXMgUmVjb3JkPHN0cmluZywgTWF4TWVzc2FnZUNvdW50VGhyZXNob2xkPixcbiAgICAgICAgYWRkUXVldWVNYXhNZXNzYWdlQWdlQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NYXhBZ2UnLCAnbWF4QWdlSW5TZWNvbmRzJywgJ21heEFnZUluU2Vjb25kcycsIDE1KSBhcyBSZWNvcmQ8c3RyaW5nLCBNYXhNZXNzYWdlQWdlVGhyZXNob2xkPixcbiAgICAgICAgYWRkUXVldWVNYXhUaW1lVG9EcmFpbk1lc3NhZ2VzQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NYXhUaW1lVG9EcmFpbicsICdtYXhUaW1lVG9EcmFpbicsICdtYXhUaW1lVG9EcmFpbicpIGFzIFJlY29yZDxzdHJpbmcsIE1heFRpbWVUb0RyYWluVGhyZXNob2xkPixcbiAgICAgICAgYWRkUXVldWVNaW5JbmNvbWluZ01lc3NhZ2VzQWxhcm06IHRoaXMudG9SZWNvcmQoYWxhcm1OYW1lUHJlZml4ICsgJy1NaW5JbmNvbWluZycsICdtaW5JbmNvbWluZycsICdtaW5JbmNvbWluZ01lc3NhZ2VzQ291bnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCBNaW5JbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQ+LFxuICAgICAgICBhZGRRdWV1ZU1heEluY29taW5nTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZChhbGFybU5hbWVQcmVmaXggKyAnLU1heEluY29taW5nJywgJ21heEluY29taW5nJywgJ21heEluY29taW5nTWVzc2FnZXNDb3VudCcpIGFzIFJlY29yZDxzdHJpbmcsIE1heEluY29taW5nTWVzc2FnZXNDb3VudFRocmVzaG9sZD4sXG4gICAgICAgIGFkZERlYWRMZXR0ZXJRdWV1ZU1heFNpemVBbGFybTogdGhpcy50b1JlY29yZChhbGFybU5hbWVQcmVmaXggKyAnLURlYWRMZXR0ZXJNYXhTaXplJywgJ2RlYWRMZXR0ZXJRdWV1ZU1heFNpemUnLCAnbWF4TWVzc2FnZUNvdW50JywgMCkgYXMgUmVjb3JkPHN0cmluZywgTWF4TWVzc2FnZUNvdW50VGhyZXNob2xkPixcbiAgICAgICAgYWRkRGVhZExldHRlclF1ZXVlTWF4TWVzc2FnZUFnZUFsYXJtOiB0aGlzLnRvUmVjb3JkKGFsYXJtTmFtZVByZWZpeCArICctRGVhZExldHRlck1heEFnZScsICdkZWFkTGV0dGVyUXVldWVNYXhBZ2VJblNlY29uZHMnLCAnbWF4QWdlSW5TZWNvbmRzJykgYXMgUmVjb3JkPHN0cmluZywgTWF4TWVzc2FnZUFnZVRocmVzaG9sZD4sXG4gICAgICAgIGFkZERlYWRMZXR0ZXJRdWV1ZU1heEluY29taW5nTWVzc2FnZXNBbGFybTogdGhpcy50b1JlY29yZChhbGFybU5hbWVQcmVmaXggKyAnLURlYWRMZXR0ZXJNYXhJbmNvbWluZycsICdkZWFkTGV0dGVyUXVldWVNYXhJbmNvbWluZycsICdtYXhJbmNvbWluZ01lc3NhZ2VzQ291bnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCBNYXhJbmNvbWluZ01lc3NhZ2VzQ291bnRUaHJlc2hvbGQ+LFxuICAgICAgICBhZGREZWFkTGV0dGVyUXVldWVUb1N1bW1hcnlEYXNoYm9hcmQ6IHRydWVcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFkZEFsYXJtKFF1ZXVlQWxhcm1DYXRlZ29yeS5Dcml0aWNhbCwgLi4udGhpcy5tb25pdG9yaW5nRmFjYWRlLmNyZWF0ZWRBbGFybXNXaXRoRGlzYW1iaWd1YXRvcihRdWV1ZUFsYXJtQ2F0ZWdvcnkuQ3JpdGljYWwpLm1hcCgoYXdhKSA9PiBhd2EuYWxhcm0pKTtcbiAgICAgIHRoaXMuYWRkQWxhcm0oUXVldWVBbGFybUNhdGVnb3J5Lldhcm5pbmcsIC4uLnRoaXMubW9uaXRvcmluZ0ZhY2FkZS5jcmVhdGVkQWxhcm1zV2l0aERpc2FtYmlndWF0b3IoUXVldWVBbGFybUNhdGVnb3J5Lldhcm5pbmcpLm1hcCgoYXdhKSA9PiBhd2EuYWxhcm0pKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"@aws-cdk/aws-synthetics-alpha": "^2.18.0-alpha.0",
|
|
44
44
|
"cdk-monitoring-constructs": "^1.6.4"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "f7d7643dda0391cd7bbb1dff3d2c8fef37dda7fa"
|
|
47
47
|
}
|