@liflig/cdk 2.13.1 → 2.14.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.
@@ -4,7 +4,6 @@ exports.DatabaseAlarms = void 0;
4
4
  const constructs = require("constructs");
5
5
  const cdk = require("aws-cdk-lib");
6
6
  const cloudwatch = require("aws-cdk-lib/aws-cloudwatch");
7
- const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
8
7
  // Based on https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#earning-CPU-credits
9
8
  const cpuCreditBalanceByInstanceType = {
10
9
  "t2.nano": 72,
@@ -72,7 +71,6 @@ class DatabaseAlarms extends constructs.Construct {
72
71
  metricName: "CPUCreditBalance",
73
72
  namespace: "AWS/RDS",
74
73
  statistic: "Minimum",
75
- unit: aws_cloudwatch_1.Unit.COUNT,
76
74
  period: cdk.Duration.minutes(5),
77
75
  dimensionsMap: {
78
76
  DBInstanceIdentifier: this.databaseInstanceIdentifier,
@@ -103,7 +101,6 @@ class DatabaseAlarms extends constructs.Construct {
103
101
  metricName: "FreeStorageSpace",
104
102
  namespace: "AWS/RDS",
105
103
  statistic: "Minimum",
106
- unit: aws_cloudwatch_1.Unit.GIGABYTES,
107
104
  period: cdk.Duration.minutes(5),
108
105
  dimensionsMap: {
109
106
  DBInstanceIdentifier: this.databaseInstanceIdentifier,
@@ -112,7 +109,7 @@ class DatabaseAlarms extends constructs.Construct {
112
109
  alarmDescription: `Low storage space available on RDS database '${this.databaseInstanceIdentifier}'.`,
113
110
  comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_THRESHOLD,
114
111
  evaluationPeriods: 1,
115
- threshold: (_c = (_b = (_a = props === null || props === void 0 ? void 0 : props.lowStorageSpaceAlarm) === null || _a === void 0 ? void 0 : _a.threshold) === null || _b === void 0 ? void 0 : _b.toGibibytes()) !== null && _c !== void 0 ? _c : this.allocatedStorage.toGibibytes() * 0.25,
112
+ threshold: (_c = (_b = (_a = props === null || props === void 0 ? void 0 : props.lowStorageSpaceAlarm) === null || _a === void 0 ? void 0 : _a.threshold) === null || _b === void 0 ? void 0 : _b.toBytes()) !== null && _c !== void 0 ? _c : this.allocatedStorage.toBytes() * 0.25,
116
113
  treatMissingData: cloudwatch.TreatMissingData.IGNORE,
117
114
  });
118
115
  if ((_e = (_d = props === null || props === void 0 ? void 0 : props.lowStorageSpaceAlarm) === null || _d === void 0 ? void 0 : _d.enabled) !== null && _e !== void 0 ? _e : true) {
@@ -123,7 +120,6 @@ class DatabaseAlarms extends constructs.Construct {
123
120
  metricName: "FreeStorageSpace",
124
121
  namespace: "AWS/RDS",
125
122
  statistic: "Minimum",
126
- unit: aws_cloudwatch_1.Unit.GIGABYTES,
127
123
  period: cdk.Duration.minutes(5),
128
124
  dimensionsMap: {
129
125
  DBInstanceIdentifier: this.databaseInstanceIdentifier,
@@ -132,7 +128,7 @@ class DatabaseAlarms extends constructs.Construct {
132
128
  alarmDescription: `Critically low storage space available on RDS database '${this.databaseInstanceIdentifier}'.`,
133
129
  comparisonOperator: cloudwatch.ComparisonOperator.LESS_THAN_THRESHOLD,
134
130
  evaluationPeriods: 1,
135
- threshold: (_k = (_j = (_h = props === null || props === void 0 ? void 0 : props.criticallyLowStorageSpaceAlarm) === null || _h === void 0 ? void 0 : _h.threshold) === null || _j === void 0 ? void 0 : _j.toGibibytes()) !== null && _k !== void 0 ? _k : this.allocatedStorage.toGibibytes() * 0.05,
131
+ threshold: (_k = (_j = (_h = props === null || props === void 0 ? void 0 : props.criticallyLowStorageSpaceAlarm) === null || _h === void 0 ? void 0 : _h.threshold) === null || _j === void 0 ? void 0 : _j.toBytes()) !== null && _k !== void 0 ? _k : this.allocatedStorage.toBytes() * 0.05,
136
132
  treatMissingData: cloudwatch.TreatMissingData.IGNORE,
137
133
  });
138
134
  if ((_m = (_l = props === null || props === void 0 ? void 0 : props.criticallyLowStorageSpaceAlarm) === null || _l === void 0 ? void 0 : _l.enabled) !== null && _m !== void 0 ? _m : true) {
@@ -172,4 +168,4 @@ class DatabaseAlarms extends constructs.Construct {
172
168
  }
173
169
  }
174
170
  exports.DatabaseAlarms = DatabaseAlarms;
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UtYWxhcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsYXJtcy9kYXRhYmFzZS1hbGFybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLG1DQUFrQztBQUNsQyx5REFBd0Q7QUFFeEQsK0RBQWlEO0FBWWpELDRIQUE0SDtBQUM1SCxNQUFNLDhCQUE4QixHQUVoQztJQUNGLFNBQVMsRUFBRSxFQUFFO0lBQ2IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLE1BQU07SUFDcEIsU0FBUyxFQUFFLEdBQUc7SUFDZCxVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxHQUFHO0lBQ2pCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUc7SUFDakIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUk7Q0FDcEIsQ0FBQTtBQUVELE1BQWEsY0FBZSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBTXRELFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTBCO1FBRTFCLEtBQUssQ0FBQyxL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LENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRCxhQUFhLEVBQUU7Z0JBQ2Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDBCQUEwQjthQUN0RDtTQUNGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQzFDLGdCQUFnQixFQUFFLGlCQUFpQixJQUFJLENBQUMsMEJBQTBCLCtDQUErQztZQUNqSCxrQkFBa0IsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ3hFLGlCQUFpQixFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGlCQUFpQixtQ0FBSSxDQUFDO1lBQ2hELFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLG1DQUFJLEVBQUU7WUFDakMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU07U0FDckQsQ0FBQyxDQUFBO1FBQ0YsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLG1DQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNsRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pELENBQUM7Q0FDRjtBQW5QRCx3Q0FtUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIlxuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCJcbmltcG9ydCB7IFVuaXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIlxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQWxhcm1zUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBhY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gIGluc3RhbmNlSWRlbnRpZmllcjogc3RyaW5nXG4gIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZVxuICBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxufVxuXG4vLyBCYXNlZCBvbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvYnVyc3RhYmxlLWNyZWRpdHMtYmFzZWxpbmUtY29uY2VwdHMuaHRtbCNlYXJuaW5nLUNQVS1jcmVkaXRzXG5jb25zdCBjcHVDcmVkaXRCYWxhbmNlQnlJbnN0YW5jZVR5cGU6IHtcbiAgW2luc3RhbmNlVHlwZTogc3RyaW5nXTogbnVtYmVyXG59ID0ge1xuICBcInQyLm5hbm9cIjogNzIsXG4gIFwidDIubWljcm9cIjogMTQ0LFxuICBcInQyLnNtYWxsXCI6IDI4OCxcbiAgXCJ0Mi5tZWRpdW1cIjogNTc2LFxuICBcInQyLmxhcmdlXCI6IDg2NCxcbiAgXCJ0Mi54bGFyZ2VcIjogMTI5NixcbiAgXCJ0Mi4yeGxhcmdlXCI6IDE5NTguNCxcbiAgXCJ0My5uYW5vXCI6IDE0NCxcbiAgXCJ0My5taWNyb1wiOiAyODgsXG4gIFwidDMuc21hbGxcIjogNTc2LFxuICBcInQzLm1lZGl1bVwiOiA1NzYsXG4gIFwidDMubGFyZ2VcIjogODY0LFxuICBcInQzLnhsYXJnZVwiOiAyMzA0LFxuICBcInQzLjJ4bGFyZ2VcIjogNDYwOCxcbiAgXCJ0M2EubmFub1wiOiAxNDQsXG4gIFwidDNhLm1pY3JvXCI6IDI4OCxcbiAgXCJ0M2Euc21hbGxcIjogNTc2LFxuICBcInQzYS5tZWRpdW1cIjogNTc2LFxuICBcInQzYS5sYXJnZVwiOiA4NjQsXG4gIFwidDNhLnhsYXJnZVwiOiAyMzA0LFxuICBcInQzYS4yeGxhcmdlXCI6IDQ2MDgsXG4gIFwidDRnLm5hbm9cIjogMTQ0LFxuICBcInQ0Zy5taWNyb1wiOiAyODgsXG4gIFwidDRnLnNtYWxsXCI6IDU3NixcbiAgXCJ0NGcubWVkaXVtXCI6IDU3NixcbiAgXCJ0NGcubGFyZ2VcIjogODY0LFxuICBcInQ0Zy54bGFyZ2VcIjogMjMwNCxcbiAgXCJ0NGcuMnhsYXJnZVwiOiA0NjA4LFxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2VBbGFybXMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmdcbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGVcbiAgcHJpdmF0ZSByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBEYXRhYmFzZUFsYXJtc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLmFjdGlvbiA9IHByb3BzLmFjdGlvblxuICAgIHRoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXIgPSBwcm9wcy5pbnN0YW5jZUlkZW50aWZpZXJcbiAgICB0aGlzLmluc3RhbmNlVHlwZSA9IHByb3BzLmluc3RhbmNlVHlwZVxuICAgIHRoaXMuYWxsb2NhdGVkU3RvcmFnZSA9IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2VcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGEgQ2xvdWRXYXRjaCBBbGFybSB0aGF0IHRyaWdnZXJzIGlmIHRoZSBDUFUgY3JlZGl0IGJhbGFuY2UgZm9yXG4gICAqIGEgYnVyc3RhYmxlIGluc3RhbmNlIGJyZWFjaCBhIGNlcnRhaW4gdGhyZXNob2xkLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIGFsYXJtIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgYnVyc3RhYmxlIGluc3RhbmNlcywgYW5kIGEgYmFsYW5jZSBvZiAwIGNyZWRpdHMgd2lsbCBvbmx5IGhhdmUgcGVyZm9ybWFuY2VcbiAgICogaW1wbGljYXRpb25zIGZvciBUMiBpbnN0YW5jZXMuIFQzIGFuZCBUNGcgaW5zdGFuY2VzIHdpbGwgaW5zdGVhZCBjb3N0IG1vcmUgZm9yIHByb2xvbmdlZCBoaWdoIENQVSB1dGlsaXphdGlvbiBhZnRlclxuICAgKiB0aGUgYmFsYW5jZSBpcyBkZXBsZXRlZC5cbiAgICovXG4gIGFkZENwdUNyZWRpdHNBbGFybShcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBhbiBhbGFybS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IENvbmZpZ3VyZWQgd2l0aCBzYW5lIGRlZmF1bHRzLlxuICAgICAqL1xuICAgIHByb3BzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBBbiBhY3Rpb24gdG8gdXNlIGZvciBDbG91ZFdhdGNoIGFsYXJtIHN0YXRlIGNoYW5nZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb25cbiAgICAgICAqL1xuICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIC8qKlxuICAgICAgICogVGhlIENsb3VkV2F0Y2ggQWxhcm0gd2lsbCBjaGFuZ2UgaXRzIHN0YXRlIHRvIEFMQVJNIGlmIHRoZSBudW1iZXIgb2YgQ1BVIGNyZWRpdHMgZHJvcHMgYmVsb3cgdGhpcyB0aHJlc2hvbGQuXG4gICAgICAgKlxuICAgICAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9idXJzdGFibGUtY3JlZGl0cy1iYXNlbGluZS1jb25jZXB0cy5odG1sI2Vhcm5pbmctQ1BVLWNyZWRpdHMgZm9yIGFuIG92ZXJ2aWV3IG9mIG1heGltdW0gQ1BVIGNyZWRpdHMgZm9yIHZhcmlvdXMgaW5zdGFuY2UgdHlwZXMuXG4gICAgICAgKlxuICAgICAgICogQGRlZmF1bHQgMTAlIG9mIHRoZSBtYXhpbXVtIGVhcm5lZCBDUFUgY3JlZGl0cyBmb3IgdGhlIGluc3RhbmNlIHR5cGUuXG4gICAgICAgKi9cbiAgICAgIHRocmVzaG9sZD86IG51bWJlclxuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICFbXCJ0Mi5cIiwgXCJ0My5cIiwgXCJ0NGcuXCJdLnNvbWUoKHMpID0+XG4gICAgICAgIHRoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCkuc3RhcnRzV2l0aChzKSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDUFUgY3JlZGl0cyBhcmUgb25seSByZWxldmFudCBmb3IgYnVyc3RhYmxlIGluc3RhbmNlIHR5cGVzLlwiLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRUaHJlc2hvbGQgPVxuICAgICAgY3B1Q3JlZGl0QmFsYW5jZUJ5SW5zdGFuY2VUeXBlW3RoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCldICogMC4xXG4gICAgY29uc3QgdGhyZXNob2xkID0gcHJvcHM/LnRocmVzaG9sZCA/PyBkZWZhdWx0VGhyZXNob2xkXG4gICAgaWYgKCF0aHJlc2hvbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE5vIHRocmVzaG9sZCBzdXBwbGllZCwgYW5kIHVuYWJsZSB0byBkZXRlcm1pbmUgYSBkZWZhdWx0IHZhbHVlIGZvciBpbnN0YW5jZSB0eXBlICcke3RoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCl9J2AsXG4gICAgICApXG4gICAgfVxuICAgIG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkNQVUNyZWRpdEJhbGFuY2VcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiTWluaW11bVwiLFxuICAgICAgdW5pdDogVW5pdC5DT1VOVCxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIERCSW5zdGFuY2VJZGVudGlmaWVyOiB0aGlzLmRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICB9KVxuICAgICAgLmNyZWF0ZUFsYXJtKHRoaXMsIFwiQ3JlZGl0c0FsYXJtXCIsIHtcbiAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYExlc3MgdGhhbiAke3RocmVzaG9sZH0gQ1BVIGNyZWRpdHMgcmVtYWluaW5nIGZvciBSRFMgZGF0YWJhc2UgJyR7XG4gICAgICAgICAgdGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllclxuICAgICAgICB9Jy4gJHtcbiAgICAgICAgICB0aGlzLmluc3RhbmNlVHlwZS50b1N0cmluZygpLnN0YXJ0c1dpdGgoXCJ0Mi5cIilcbiAgICAgICAgICAgID8gXCJJZiB0aGlzIHJlYWNoZXMgMCwgdGhlIGluc3RhbmNlIHdpbGwgYmUgbGltaXRlZCB0byBhIGJhc2VsaW5lIENQVSB1dGlsaXphdGlvbi5cIlxuICAgICAgICAgICAgOiBcIklmIHRoZSBiYWxhbmNlIGlzIGRlcGxldGVkLCBBV1MgYWRkcyBhZGRpdGlvbmFsIGNoYXJnZXMuXCJcbiAgICAgICAgfS5gLFxuICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgICB0aHJlc2hvbGQ6IHRocmVzaG9sZCxcbiAgICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICAgIH0pXG4gICAgICAuYWRkQWxhcm1BY3Rpb24odGhpcy5hY3Rpb24pXG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCB0d28gQ2xvdWRXYXRjaCBBbGFybXMgZm9yIG1vbml0b3JpbmcgZGlzayBzdG9yYWdlIHNwYWNlOlxuICAgKiAxKSBvbmUgdGhhdCB0cmlnZ2VycyBpZiB0aGUgYXZhaWxhYmxlIGRpc2sgc3RvcmFnZSBzcGFjZSBpcyBsb3cuXG4gICAqIDIpIG9uZSB0aGF0IHRyaWdnZXJzIGlmIHRoZSBhdmFpbGFibGUgZGlzayBzdG9yYWdlIHNwYWNlIGlzIGNyaXRjYWxseSBsb3cuXG4gICAqXG4gICAqIFlvdSBtYXkgd2FudCB0byB1c2UgZGlmZmVyZW50IGFsYXJtIGFjdGlvbnMgZm9yIHRoZSB0d28gYWxhcm1zLCBlLmcuLCBvbmUgY2FuIGJlXG4gICAqIGNhdGVnb3JpemVkIGFzIGEgXCJ3YXJuaW5nXCIsIHdoaWxlIHRoZSBvdGhlciBvbmUgY2FuIGJlIGNvbnNpZGVyZWQgYW4gXCJhbGFybVwiLlxuICAgKi9cbiAgYWRkU3RvcmFnZVNwYWNlQWxhcm1zKHByb3BzPzoge1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgbG93U3RvcmFnZVNwYWNlQWxhcm0/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogQW4gYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYWN0aW9uXG4gICAgICAgKi9cbiAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDI1JSBvZiB0aGUgYWxsb2NhdGVkIHN0b3JhZ2UuXG4gICAgICAgKi9cbiAgICAgIHRocmVzaG9sZD86IGNkay5TaXplXG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCA1JSBvZiB0aGUgYWxsb2NhdGVkIHN0b3JhZ2UuXG4gICAgICAgKi9cbiAgICAgIHRocmVzaG9sZD86IGNkay5TaXplXG4gICAgfVxuICB9KTogdm9pZCB7XG4gICAgY29uc3QgbG93U3RvcmFnZVNwYWNlQWxhcm0gPSBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZTogXCJGcmVlU3RvcmFnZVNwYWNlXCIsXG4gICAgICBuYW1lc3BhY2U6IFwiQVdTL1JEU1wiLFxuICAgICAgc3RhdGlzdGljOiBcIk1pbmltdW1cIixcbiAgICAgIHVuaXQ6IFVuaXQuR0lHQUJZVEVTLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgREJJbnN0YW5jZUlkZW50aWZpZXI6IHRoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiTG93U3RvcmFnZVNwYWNlQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYExvdyBzdG9yYWdlIHNwYWNlIGF2YWlsYWJsZSBvbiBSRFMgZGF0YWJhc2UgJyR7dGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcn0nLmAsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgIHRocmVzaG9sZDpcbiAgICAgICAgcHJvcHM/Lmxvd1N0b3JhZ2VTcGFjZUFsYXJtPy50aHJlc2hvbGQ/LnRvR2liaWJ5dGVzKCkgPz9cbiAgICAgICAgdGhpcy5hbGxvY2F0ZWRTdG9yYWdlLnRvR2liaWJ5dGVzKCkgKiAwLjI1LFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGlmIChwcm9wcz8ubG93U3RvcmFnZVNwYWNlQWxhcm0/LmVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgbG93U3RvcmFnZVNwYWNlQWxhcm0uYWRkQWxhcm1BY3Rpb24oXG4gICAgICAgIHByb3BzPy5sb3dTdG9yYWdlU3BhY2VBbGFybT8uYWN0aW9uIHx8IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgICAgbG93U3RvcmFnZVNwYWNlQWxhcm0uYWRkT2tBY3Rpb24oXG4gICAgICAgIHByb3BzPy5sb3dTdG9yYWdlU3BhY2VBbGFybT8uYWN0aW9uIHx8IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkZyZWVTdG9yYWdlU3BhY2VcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiTWluaW11bVwiLFxuICAgICAgdW5pdDogVW5pdC5HSUdBQllURVMsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBEQkluc3RhbmNlSWRlbnRpZmllcjogdGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIH0sXG4gICAgfSkuY3JlYXRlQWxhcm0odGhpcywgXCJDcml0aWNhbGx5TG93U3RvcmFnZVNwYWNlQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYENyaXRpY2FsbHkgbG93IHN0b3JhZ2Ugc3BhY2UgYXZhaWxhYmxlIG9uIFJEUyBkYXRhYmFzZSAnJHt0aGlzLmRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyfScuYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuTEVTU19USEFOX1RIUkVTSE9MRCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgdGhyZXNob2xkOlxuICAgICAgICBwcm9wcz8uY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPy50aHJlc2hvbGQ/LnRvR2liaWJ5dGVzKCkgPz9cbiAgICAgICAgdGhpcy5hbGxvY2F0ZWRTdG9yYWdlLnRvR2liaWJ5dGVzKCkgKiAwLjA1LFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGlmIChwcm9wcz8uY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIGNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybS5hZGRBbGFybUFjdGlvbihcbiAgICAgICAgcHJvcHM/LmNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybT8uYWN0aW9uIHx8IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgICAgY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcz8uY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPy5hY3Rpb24gfHwgdGhpcy5hY3Rpb24sXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgYSBDbG91ZFdhdGNoIEFsYXJtIHRoYXQgdHJpZ2dlcnMgaWYgdGhlIGF2ZXJhZ2UgQ1BVIHV0aWxpemF0aW9uIGZvclxuICAgKiB0aGUgUkRTIGluc3RhbmNlIGV4Y2VlZHMgYSBnaXZlbiB0aHJlc2hvbGQuXG4gICAqL1xuICBhZGRDcHVVdGlsaXphdGlvbkFsYXJtKFxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgcHJvcHM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdGhyZXNob2xkIGRlZmluZWQgYXMgYSBwZXJjZW50YWdlIHRoYXQgZGV0ZXJtaW5lcyBpZiBDUFUgdXRpbGl6YXRpb24gc2hvdWxkIHRyaWdnZXIgYW4gYWxhcm0gb3Igbm90LlxuICAgICAgICogQGRlZmF1bHQgODBcbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDVcbiAgICAgICAqL1xuICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgMiBtaW51dGVzXG4gICAgICAgKi9cbiAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGFsYXJtID0gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWU6IFwiQ1BVVXRpbGl6YXRpb25cIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiQXZlcmFnZVwiLFxuICAgICAgcGVyaW9kOiBwcm9wcz8ucGVyaW9kID8/IGNkay5EdXJhdGlvbi5taW51dGVzKDIpLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBEQkluc3RhbmNlSWRlbnRpZmllcjogdGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIH0sXG4gICAgfSkuY3JlYXRlQWxhcm0odGhpcywgXCJDcHVVdGlsaXphdGlvbkFsYXJtXCIsIHtcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBSRFMgZGF0YWJhc2UgJyR7dGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcn0nIGhhcyBhIGhpZ2hlciB0aGFuIGV4cGVjdGVkIENQVSB1dGlsaXphdGlvbi5gLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IHByb3BzPy5ldmFsdWF0aW9uUGVyaW9kcyA/PyA1LFxuICAgICAgdGhyZXNob2xkOiBwcm9wcz8udGhyZXNob2xkID8/IDgwLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGFsYXJtLmFkZEFsYXJtQWN0aW9uKHByb3BzPy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24pXG4gICAgYWxhcm0uYWRkT2tBY3Rpb24ocHJvcHM/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbilcbiAgfVxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UtYWxhcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsYXJtcy9kYXRhYmFzZS1hbGFybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLG1DQUFrQztBQUNsQyx5REFBd0Q7QUFheEQsNEhBQTRIO0FBQzVILE1BQU0sOEJBQThCLEdBRWhDO0lBQ0YsU0FBUyxFQUFFLEVBQUU7SUFDYixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsTUFBTTtJQUNwQixTQUFTLEVBQUUsR0FBRztJQUNkLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUc7SUFDakIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixZQUFZLEVBQUUsR0FBRztJQUNqQixXQUFXLEVBQUUsR0FBRztJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtDQUNwQixDQUFBO0FBRUQsTUFBYSxjQUFlLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFNdEQsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBMEI7UUFFMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFF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QUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDMUMsZ0JBQWdCLEVBQUUsaUJBQWlCLElBQUksQ0FBQywwQkFBMEIsK0NBQStDO1lBQ2pILGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7WUFDeEUsaUJBQWlCLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLG1DQUFJLENBQUM7WUFDaEQsU0FBUyxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsbUNBQUksRUFBRTtZQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTTtTQUNyRCxDQUFDLENBQUE7UUFDRixLQUFLLENBQUMsY0FBYyxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2xELEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSxtQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakQsQ0FBQztDQUNGO0FBaFBELHdDQWdQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQWxhcm1zUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBhY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gIGluc3RhbmNlSWRlbnRpZmllcjogc3RyaW5nXG4gIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZVxuICBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxufVxuXG4vLyBCYXNlZCBvbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvYnVyc3RhYmxlLWNyZWRpdHMtYmFzZWxpbmUtY29uY2VwdHMuaHRtbCNlYXJuaW5nLUNQVS1jcmVkaXRzXG5jb25zdCBjcHVDcmVkaXRCYWxhbmNlQnlJbnN0YW5jZVR5cGU6IHtcbiAgW2luc3RhbmNlVHlwZTogc3RyaW5nXTogbnVtYmVyXG59ID0ge1xuICBcInQyLm5hbm9cIjogNzIsXG4gIFwidDIubWljcm9cIjogMTQ0LFxuICBcInQyLnNtYWxsXCI6IDI4OCxcbiAgXCJ0Mi5tZWRpdW1cIjogNTc2LFxuICBcInQyLmxhcmdlXCI6IDg2NCxcbiAgXCJ0Mi54bGFyZ2VcIjogMTI5NixcbiAgXCJ0Mi4yeGxhcmdlXCI6IDE5NTguNCxcbiAgXCJ0My5uYW5vXCI6IDE0NCxcbiAgXCJ0My5taWNyb1wiOiAyODgsXG4gIFwidDMuc21hbGxcIjogNTc2LFxuICBcInQzLm1lZGl1bVwiOiA1NzYsXG4gIFwidDMubGFyZ2VcIjogODY0LFxuICBcInQzLnhsYXJnZVwiOiAyMzA0LFxuICBcInQzLjJ4bGFyZ2VcIjogNDYwOCxcbiAgXCJ0M2EubmFub1wiOiAxNDQsXG4gIFwidDNhLm1pY3JvXCI6IDI4OCxcbiAgXCJ0M2Euc21hbGxcIjogNTc2LFxuICBcInQzYS5tZWRpdW1cIjogNTc2LFxuICBcInQzYS5sYXJnZVwiOiA4NjQsXG4gIFwidDNhLnhsYXJnZVwiOiAyMzA0LFxuICBcInQzYS4yeGxhcmdlXCI6IDQ2MDgsXG4gIFwidDRnLm5hbm9cIjogMTQ0LFxuICBcInQ0Zy5taWNyb1wiOiAyODgsXG4gIFwidDRnLnNtYWxsXCI6IDU3NixcbiAgXCJ0NGcubWVkaXVtXCI6IDU3NixcbiAgXCJ0NGcubGFyZ2VcIjogODY0LFxuICBcInQ0Zy54bGFyZ2VcIjogMjMwNCxcbiAgXCJ0NGcuMnhsYXJnZVwiOiA0NjA4LFxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2VBbGFybXMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmdcbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGVcbiAgcHJpdmF0ZSByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBEYXRhYmFzZUFsYXJtc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLmFjdGlvbiA9IHByb3BzLmFjdGlvblxuICAgIHRoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXIgPSBwcm9wcy5pbnN0YW5jZUlkZW50aWZpZXJcbiAgICB0aGlzLmluc3RhbmNlVHlwZSA9IHByb3BzLmluc3RhbmNlVHlwZVxuICAgIHRoaXMuYWxsb2NhdGVkU3RvcmFnZSA9IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2VcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGEgQ2xvdWRXYXRjaCBBbGFybSB0aGF0IHRyaWdnZXJzIGlmIHRoZSBDUFUgY3JlZGl0IGJhbGFuY2UgZm9yXG4gICAqIGEgYnVyc3RhYmxlIGluc3RhbmNlIGJyZWFjaCBhIGNlcnRhaW4gdGhyZXNob2xkLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIGFsYXJtIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgYnVyc3RhYmxlIGluc3RhbmNlcywgYW5kIGEgYmFsYW5jZSBvZiAwIGNyZWRpdHMgd2lsbCBvbmx5IGhhdmUgcGVyZm9ybWFuY2VcbiAgICogaW1wbGljYXRpb25zIGZvciBUMiBpbnN0YW5jZXMuIFQzIGFuZCBUNGcgaW5zdGFuY2VzIHdpbGwgaW5zdGVhZCBjb3N0IG1vcmUgZm9yIHByb2xvbmdlZCBoaWdoIENQVSB1dGlsaXphdGlvbiBhZnRlclxuICAgKiB0aGUgYmFsYW5jZSBpcyBkZXBsZXRlZC5cbiAgICovXG4gIGFkZENwdUNyZWRpdHNBbGFybShcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBhbiBhbGFybS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IENvbmZpZ3VyZWQgd2l0aCBzYW5lIGRlZmF1bHRzLlxuICAgICAqL1xuICAgIHByb3BzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBBbiBhY3Rpb24gdG8gdXNlIGZvciBDbG91ZFdhdGNoIGFsYXJtIHN0YXRlIGNoYW5nZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb25cbiAgICAgICAqL1xuICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIC8qKlxuICAgICAgICogVGhlIENsb3VkV2F0Y2ggQWxhcm0gd2lsbCBjaGFuZ2UgaXRzIHN0YXRlIHRvIEFMQVJNIGlmIHRoZSBudW1iZXIgb2YgQ1BVIGNyZWRpdHMgZHJvcHMgYmVsb3cgdGhpcyB0aHJlc2hvbGQuXG4gICAgICAgKlxuICAgICAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9idXJzdGFibGUtY3JlZGl0cy1iYXNlbGluZS1jb25jZXB0cy5odG1sI2Vhcm5pbmctQ1BVLWNyZWRpdHMgZm9yIGFuIG92ZXJ2aWV3IG9mIG1heGltdW0gQ1BVIGNyZWRpdHMgZm9yIHZhcmlvdXMgaW5zdGFuY2UgdHlwZXMuXG4gICAgICAgKlxuICAgICAgICogQGRlZmF1bHQgMTAlIG9mIHRoZSBtYXhpbXVtIGVhcm5lZCBDUFUgY3JlZGl0cyBmb3IgdGhlIGluc3RhbmNlIHR5cGUuXG4gICAgICAgKi9cbiAgICAgIHRocmVzaG9sZD86IG51bWJlclxuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICFbXCJ0Mi5cIiwgXCJ0My5cIiwgXCJ0NGcuXCJdLnNvbWUoKHMpID0+XG4gICAgICAgIHRoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCkuc3RhcnRzV2l0aChzKSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDUFUgY3JlZGl0cyBhcmUgb25seSByZWxldmFudCBmb3IgYnVyc3RhYmxlIGluc3RhbmNlIHR5cGVzLlwiLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRUaHJlc2hvbGQgPVxuICAgICAgY3B1Q3JlZGl0QmFsYW5jZUJ5SW5zdGFuY2VUeXBlW3RoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCldICogMC4xXG4gICAgY29uc3QgdGhyZXNob2xkID0gcHJvcHM/LnRocmVzaG9sZCA/PyBkZWZhdWx0VGhyZXNob2xkXG4gICAgaWYgKCF0aHJlc2hvbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE5vIHRocmVzaG9sZCBzdXBwbGllZCwgYW5kIHVuYWJsZSB0byBkZXRlcm1pbmUgYSBkZWZhdWx0IHZhbHVlIGZvciBpbnN0YW5jZSB0eXBlICcke3RoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCl9J2AsXG4gICAgICApXG4gICAgfVxuICAgIG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkNQVUNyZWRpdEJhbGFuY2VcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiTWluaW11bVwiLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgREJJbnN0YW5jZUlkZW50aWZpZXI6IHRoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAuY3JlYXRlQWxhcm0odGhpcywgXCJDcmVkaXRzQWxhcm1cIiwge1xuICAgICAgICBhbGFybURlc2NyaXB0aW9uOiBgTGVzcyB0aGFuICR7dGhyZXNob2xkfSBDUFUgY3JlZGl0cyByZW1haW5pbmcgZm9yIFJEUyBkYXRhYmFzZSAnJHtcbiAgICAgICAgICB0aGlzLmRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyXG4gICAgICAgIH0nLiAke1xuICAgICAgICAgIHRoaXMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCkuc3RhcnRzV2l0aChcInQyLlwiKVxuICAgICAgICAgICAgPyBcIklmIHRoaXMgcmVhY2hlcyAwLCB0aGUgaW5zdGFuY2Ugd2lsbCBiZSBsaW1pdGVkIHRvIGEgYmFzZWxpbmUgQ1BVIHV0aWxpemF0aW9uLlwiXG4gICAgICAgICAgICA6IFwiSWYgdGhlIGJhbGFuY2UgaXMgZGVwbGV0ZWQsIEFXUyBhZGRzIGFkZGl0aW9uYWwgY2hhcmdlcy5cIlxuICAgICAgICB9LmAsXG4gICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuTEVTU19USEFOX1RIUkVTSE9MRCxcbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICAgIHRocmVzaG9sZDogdGhyZXNob2xkLFxuICAgICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuSUdOT1JFLFxuICAgICAgfSlcbiAgICAgIC5hZGRBbGFybUFjdGlvbih0aGlzLmFjdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIHR3byBDbG91ZFdhdGNoIEFsYXJtcyBmb3IgbW9uaXRvcmluZyBkaXNrIHN0b3JhZ2Ugc3BhY2U6XG4gICAqIDEpIG9uZSB0aGF0IHRyaWdnZXJzIGlmIHRoZSBhdmFpbGFibGUgZGlzayBzdG9yYWdlIHNwYWNlIGlzIGxvdy5cbiAgICogMikgb25lIHRoYXQgdHJpZ2dlcnMgaWYgdGhlIGF2YWlsYWJsZSBkaXNrIHN0b3JhZ2Ugc3BhY2UgaXMgY3JpdGNhbGx5IGxvdy5cbiAgICpcbiAgICogWW91IG1heSB3YW50IHRvIHVzZSBkaWZmZXJlbnQgYWxhcm0gYWN0aW9ucyBmb3IgdGhlIHR3byBhbGFybXMsIGUuZy4sIG9uZSBjYW4gYmVcbiAgICogY2F0ZWdvcml6ZWQgYXMgYSBcIndhcm5pbmdcIiwgd2hpbGUgdGhlIG90aGVyIG9uZSBjYW4gYmUgY29uc2lkZXJlZCBhbiBcImFsYXJtXCIuXG4gICAqL1xuICBhZGRTdG9yYWdlU3BhY2VBbGFybXMocHJvcHM/OiB7XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYW4gYWxhcm0uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBDb25maWd1cmVkIHdpdGggc2FuZSBkZWZhdWx0cy5cbiAgICAgKi9cbiAgICBsb3dTdG9yYWdlU3BhY2VBbGFybT86IHtcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAgICovXG4gICAgICBlbmFibGVkPzogYm9vbGVhblxuICAgICAgLyoqXG4gICAgICAgKiBBbiBhY3Rpb24gdG8gdXNlIGZvciBDbG91ZFdhdGNoIGFsYXJtIHN0YXRlIGNoYW5nZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb25cbiAgICAgICAqL1xuICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgMjUlIG9mIHRoZSBhbGxvY2F0ZWQgc3RvcmFnZS5cbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogY2RrLlNpemVcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYW4gYWxhcm0uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBDb25maWd1cmVkIHdpdGggc2FuZSBkZWZhdWx0cy5cbiAgICAgKi9cbiAgICBjcml0aWNhbGx5TG93U3RvcmFnZVNwYWNlQWxhcm0/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogQW4gYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYWN0aW9uXG4gICAgICAgKi9cbiAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDUlIG9mIHRoZSBhbGxvY2F0ZWQgc3RvcmFnZS5cbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogY2RrLlNpemVcbiAgICB9XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBsb3dTdG9yYWdlU3BhY2VBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkZyZWVTdG9yYWdlU3BhY2VcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiTWluaW11bVwiLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgREJJbnN0YW5jZUlkZW50aWZpZXI6IHRoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiTG93U3RvcmFnZVNwYWNlQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYExvdyBzdG9yYWdlIHNwYWNlIGF2YWlsYWJsZSBvbiBSRFMgZGF0YWJhc2UgJyR7dGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcn0nLmAsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgIHRocmVzaG9sZDpcbiAgICAgICAgcHJvcHM/Lmxvd1N0b3JhZ2VTcGFjZUFsYXJtPy50aHJlc2hvbGQ/LnRvQnl0ZXMoKSA/P1xuICAgICAgICB0aGlzLmFsbG9jYXRlZFN0b3JhZ2UudG9CeXRlcygpICogMC4yNSxcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IGNsb3Vkd2F0Y2guVHJlYXRNaXNzaW5nRGF0YS5JR05PUkUsXG4gICAgfSlcbiAgICBpZiAocHJvcHM/Lmxvd1N0b3JhZ2VTcGFjZUFsYXJtPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIGxvd1N0b3JhZ2VTcGFjZUFsYXJtLmFkZEFsYXJtQWN0aW9uKFxuICAgICAgICBwcm9wcz8ubG93U3RvcmFnZVNwYWNlQWxhcm0/LmFjdGlvbiB8fCB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICAgIGxvd1N0b3JhZ2VTcGFjZUFsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcz8ubG93U3RvcmFnZVNwYWNlQWxhcm0/LmFjdGlvbiB8fCB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCBjcml0aWNhbGx5TG93U3RvcmFnZVNwYWNlQWxhcm0gPSBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZTogXCJGcmVlU3RvcmFnZVNwYWNlXCIsXG4gICAgICBuYW1lc3BhY2U6IFwiQVdTL1JEU1wiLFxuICAgICAgc3RhdGlzdGljOiBcIk1pbmltdW1cIixcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIERCSW5zdGFuY2VJZGVudGlmaWVyOiB0aGlzLmRhdGFiYXNlSW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybSh0aGlzLCBcIkNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybVwiLCB7XG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgQ3JpdGljYWxseSBsb3cgc3RvcmFnZSBzcGFjZSBhdmFpbGFibGUgb24gUkRTIGRhdGFiYXNlICcke3RoaXMuZGF0YWJhc2VJbnN0YW5jZUlkZW50aWZpZXJ9Jy5gLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICB0aHJlc2hvbGQ6XG4gICAgICAgIHByb3BzPy5jcml0aWNhbGx5TG93U3RvcmFnZVNwYWNlQWxhcm0/LnRocmVzaG9sZD8udG9CeXRlcygpID8/XG4gICAgICAgIHRoaXMuYWxsb2NhdGVkU3RvcmFnZS50b0J5dGVzKCkgKiAwLjA1LFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGlmIChwcm9wcz8uY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIGNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybS5hZGRBbGFybUFjdGlvbihcbiAgICAgICAgcHJvcHM/LmNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybT8uYWN0aW9uIHx8IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgICAgY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcz8uY3JpdGljYWxseUxvd1N0b3JhZ2VTcGFjZUFsYXJtPy5hY3Rpb24gfHwgdGhpcy5hY3Rpb24sXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgYSBDbG91ZFdhdGNoIEFsYXJtIHRoYXQgdHJpZ2dlcnMgaWYgdGhlIGF2ZXJhZ2UgQ1BVIHV0aWxpemF0aW9uIGZvclxuICAgKiB0aGUgUkRTIGluc3RhbmNlIGV4Y2VlZHMgYSBnaXZlbiB0aHJlc2hvbGQuXG4gICAqL1xuICBhZGRDcHVVdGlsaXphdGlvbkFsYXJtKFxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgcHJvcHM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdGhyZXNob2xkIGRlZmluZWQgYXMgYSBwZXJjZW50YWdlIHRoYXQgZGV0ZXJtaW5lcyBpZiBDUFUgdXRpbGl6YXRpb24gc2hvdWxkIHRyaWdnZXIgYW4gYWxhcm0gb3Igbm90LlxuICAgICAgICogQGRlZmF1bHQgODBcbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDVcbiAgICAgICAqL1xuICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgMiBtaW51dGVzXG4gICAgICAgKi9cbiAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGFsYXJtID0gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWU6IFwiQ1BVVXRpbGl6YXRpb25cIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvUkRTXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiQXZlcmFnZVwiLFxuICAgICAgcGVyaW9kOiBwcm9wcz8ucGVyaW9kID8/IGNkay5EdXJhdGlvbi5taW51dGVzKDIpLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBEQkluc3RhbmNlSWRlbnRpZmllcjogdGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIH0sXG4gICAgfSkuY3JlYXRlQWxhcm0odGhpcywgXCJDcHVVdGlsaXphdGlvbkFsYXJtXCIsIHtcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBSRFMgZGF0YWJhc2UgJyR7dGhpcy5kYXRhYmFzZUluc3RhbmNlSWRlbnRpZmllcn0nIGhhcyBhIGhpZ2hlciB0aGFuIGV4cGVjdGVkIENQVSB1dGlsaXphdGlvbi5gLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IHByb3BzPy5ldmFsdWF0aW9uUGVyaW9kcyA/PyA1LFxuICAgICAgdGhyZXNob2xkOiBwcm9wcz8udGhyZXNob2xkID8/IDgwLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGFsYXJtLmFkZEFsYXJtQWN0aW9uKHByb3BzPy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24pXG4gICAgYWxhcm0uYWRkT2tBY3Rpb24ocHJvcHM/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbilcbiAgfVxufVxuIl19
@@ -60,7 +60,7 @@ class ServiceAlarms extends constructs.Construct {
60
60
  * 3) one that triggers if there are no healthy targets or if the load balancer fails to connect to targets.
61
61
  */
62
62
  addTargetGroupAlarms(props) {
63
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19;
63
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21;
64
64
  const targetConnectionErrorAlarm = new cloudwatch.Metric({
65
65
  metricName: "TargetConnectionErrorCount",
66
66
  namespace: "AWS/ApplicationELB",
@@ -127,23 +127,22 @@ class ServiceAlarms extends constructs.Construct {
127
127
  namespace: "AWS/ApplicationELB",
128
128
  statistic: "p95",
129
129
  period: (_7 = (_6 = props.targetResponseTimeAlarm) === null || _6 === void 0 ? void 0 : _6.period) !== null && _7 !== void 0 ? _7 : cdk.Duration.minutes(5),
130
- unit: cloudwatch.Unit.MILLISECONDS,
131
130
  dimensionsMap: {
132
131
  LoadBalancer: props.loadBalancerFullName,
133
132
  TargetGroup: props.targetGroupFullName,
134
133
  },
135
134
  }).createAlarm(this, "TargetResponseTimeAlarm", {
136
- alarmDescription: (_9 = (_8 = props.targetResponseTimeAlarm) === null || _8 === void 0 ? void 0 : _8.description) !== null && _9 !== void 0 ? _9 : `5% of responses from ECS service '${this.serviceName}' are taking longer than expected.`,
135
+ alarmDescription: (_9 = (_8 = props.targetResponseTimeAlarm) === null || _8 === void 0 ? void 0 : _8.description) !== null && _9 !== void 0 ? _9 : `5% of responses from ECS service '${this.serviceName}' are taking longer than the expected duration of ${((_11 = (_10 = props.targetResponseTimeAlarm) === null || _10 === void 0 ? void 0 : _10.threshold) !== null && _11 !== void 0 ? _11 : cdk.Duration.millis(500)).toMilliseconds()} ms.`,
137
136
  comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
138
- evaluationPeriods: (_11 = (_10 = props.targetResponseTimeAlarm) === null || _10 === void 0 ? void 0 : _10.evaluationPeriods) !== null && _11 !== void 0 ? _11 : 1,
139
- threshold: ((_13 = (_12 = props.targetResponseTimeAlarm) === null || _12 === void 0 ? void 0 : _12.threshold) !== null && _13 !== void 0 ? _13 : cdk.Duration.millis(500)).toMilliseconds(),
137
+ evaluationPeriods: (_13 = (_12 = props.targetResponseTimeAlarm) === null || _12 === void 0 ? void 0 : _12.evaluationPeriods) !== null && _13 !== void 0 ? _13 : 1,
138
+ threshold: ((_15 = (_14 = props.targetResponseTimeAlarm) === null || _14 === void 0 ? void 0 : _14.threshold) !== null && _15 !== void 0 ? _15 : cdk.Duration.millis(500)).toSeconds({ integral: false }),
140
139
  treatMissingData: cloudwatch.TreatMissingData.IGNORE,
141
140
  });
142
- if ((_15 = (_14 = props.targetResponseTimeAlarm) === null || _14 === void 0 ? void 0 : _14.enabled) !== null && _15 !== void 0 ? _15 : true) {
143
- targetResponseTimeAlarm.addAlarmAction((_17 = (_16 = props.targetResponseTimeAlarm) === null || _16 === void 0 ? void 0 : _16.action) !== null && _17 !== void 0 ? _17 : this.action);
144
- targetResponseTimeAlarm.addOkAction((_19 = (_18 = props.targetResponseTimeAlarm) === null || _18 === void 0 ? void 0 : _18.action) !== null && _19 !== void 0 ? _19 : this.action);
141
+ if ((_17 = (_16 = props.targetResponseTimeAlarm) === null || _16 === void 0 ? void 0 : _16.enabled) !== null && _17 !== void 0 ? _17 : true) {
142
+ targetResponseTimeAlarm.addAlarmAction((_19 = (_18 = props.targetResponseTimeAlarm) === null || _18 === void 0 ? void 0 : _18.action) !== null && _19 !== void 0 ? _19 : this.action);
143
+ targetResponseTimeAlarm.addOkAction((_21 = (_20 = props.targetResponseTimeAlarm) === null || _20 === void 0 ? void 0 : _20.action) !== null && _21 !== void 0 ? _21 : this.action);
145
144
  }
146
145
  }
147
146
  }
148
147
  exports.ServiceAlarms = ServiceAlarms;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hbGFybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zL3NlcnZpY2UtYWxhcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUNsQyx5REFBd0Q7QUFDeEQsNkNBQTRDO0FBQzVDLHlDQUF3QztBQWF4Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxhQUFjLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFJckQsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBeUI7UUFFekIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsS0FZakI7O1FBQ0MsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDdEQsbUJBQW1CLEVBQ25CO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztZQUN2RCwyREFBMkQ7WUFDM0QsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVztZQUM1QixzQkFBc0I7WUFDdEIsMkJBQTJCLEVBQzNCLEdBQUcsRUFDSCx1QkFBdUIsQ0FDeEIsQ0FDRjtZQUNELFVBQVUsRUFBRSxRQUFRO1lBQ3BCLGVBQWUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMs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Q0EwU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCJcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCJcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VBbGFybXNQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgYWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEVDUyBzZXJ2aWNlLlxuICAgKi9cbiAgc2VydmljZU5hbWU6IHN0cmluZ1xufVxuXG4vKipcbiAqIFZhcmlvdXMgYWxhcm1zIGFuZCBtb25pdG9yaW5nLlxuICpcbiAqIEJ5IGl0c2VsZiBubyBhbGFybXMgaXMgY3JlYXRlZC4gVXNlIHRoZSBtZXRob2RzIGF2YWlsYWJsZVxuICogdG8gYWRkIGFsYXJtcy5cbiAqXG4gKiBTZWUgU2xhY2tBbGFybSBjb25zdHJ1Y3QgZm9yIFNOUyBBY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQWxhcm1zIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFNlcnZpY2VBbGFybXNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5hY3Rpb24gPSBwcm9wcy5hY3Rpb25cbiAgICB0aGlzLnNlcnZpY2VOYW1lID0gcHJvcHMuc2VydmljZU5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgbG9ncyBzdG9yZWQgYXMgSlNPTiwgbW9uaXRvciBsb2cgZW50cmllcyBsb2dnZWRcbiAgICogd2l0aCBsZXZlbCBFUlJPUiBvciBoaWdoZXIsIGFzIHdlbGwgYXMgYW55IHJlcXVlc3RzXG4gICAqIHRoYXQgY2F1c2VzIDUwMCBmb3IgbG9nZ2luZyB3aXRoIGxpZmxpZy1sb2dnaW5nLlxuICAgKi9cbiAgYWRkSnNvbkVycm9yQWxhcm0ocHJvcHM6IHtcbiAgICBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXBcbiAgICBhbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogU2V0IHRvIGBmYWxzZWAgdG8gc3RvcCB0aGUgYWxhcm0gZnJvbSBzZW5kaW5nIE9LIGV2ZW50cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICogKi9cbiAgICBlbmFibGVPa0FjdGlvbj86IGJvb2xlYW5cbiAgICAvKipcbiAgICAgKiBBbiBhY3Rpb24gdG8gdXNlIGZvciBDbG91ZFdhdGNoIGFsYXJtIHN0YXRlIGNoYW5nZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb25cbiAgICAgKi9cbiAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICB9KTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JNZXRyaWNGaWx0ZXIgPSBwcm9wcy5sb2dHcm91cC5hZGRNZXRyaWNGaWx0ZXIoXG4gICAgICBcIkVycm9yTWV0cmljRmlsdGVyXCIsXG4gICAgICB7XG4gICAgICAgIGZpbHRlclBhdHRlcm46IGxvZ3MuRmlsdGVyUGF0dGVybi5hbnkoXG4gICAgICAgICAgbG9ncy5GaWx0ZXJQYXR0ZXJuLnN0cmluZ1ZhbHVlKFwiJC5sZXZlbFwiLCBcIj1cIiwgXCJFUlJPUlwiKSxcbiAgICAgICAgICAvLyBGQVRBTCBjb3ZlcnMgc29tZSBhcHBsaWNhdGlvbnMgd2UgcnVuIHRoYXQgdXNlcyBsb2c0aiBvclxuICAgICAgICAgIC8vIG90aGVyIGxpYnJhcmllcy4gSXQgaXMgbm90IGV4aXN0ZW50IGluIHNsZjRqLlxuICAgICAgICAgIGxvZ3MuRmlsdGVyUGF0dGVybi5zdHJpbmdWYWx1ZShcIiQubGV2ZWxcIiwgXCI9XCIsIFwiRkFUQUxcIiksXG4gICAgICAgICAgbG9ncy5GaWx0ZXJQYXR0ZXJuLnN0cmluZ1ZhbHVlKFxuICAgICAgICAgICAgLy8gRm9yIGxpZmxpZy1sb2dnaW5nLlxuICAgICAgICAgICAgXCIkLnJlcXVlc3RJbmZvLnN0YXR1cy5jb2RlXCIsXG4gICAgICAgICAgICBcIj1cIixcbiAgICAgICAgICAgIFwiSU5URVJOQUxfU0VSVkVSX0VSUk9SXCIsXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWV0cmljTmFtZTogXCJFcnJvcnNcIixcbiAgICAgICAgbWV0cmljTmFtZXNwYWNlOiBgc3RhY2svJHtjZGsuU3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS8ke1xuICAgICAgICAgIHRoaXMuc2VydmljZU5hbWVcbiAgICAgICAgfS9FcnJvcnNgLFxuICAgICAgfSxcbiAgICApXG5cbiAgICBjb25zdCBlcnJvckFsYXJtID0gZXJyb3JNZXRyaWNGaWx0ZXJcbiAgICAgIC5tZXRyaWMoKVxuICAgICAgLndpdGgoe1xuICAgICAgICBzdGF0aXN0aWM6IFwiU3VtXCIsXG4gICAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgfSlcbiAgICAgIC5jcmVhdGVBbGFybSh0aGlzLCBcIkVycm9yTG9nQWxhcm1cIiwge1xuICAgICAgICBhbGFybURlc2NyaXB0aW9uOlxuICAgICAgICAgIHByb3BzLmFsYXJtRGVzY3JpcHRpb24gPz8gYCR7dGhpcy5zZXJ2aWNlTmFtZX0gbG9nZ2VkIGFuIGVycm9yYCxcbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLk5PVF9CUkVBQ0hJTkcsXG4gICAgICB9KVxuXG4gICAgZXJyb3JBbGFybS5hZGRBbGFybUFjdGlvbihwcm9wcy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24pXG4gICAgaWYgKHByb3BzLmVuYWJsZU9rQWN0aW9uID8/IHRydWUpIHtcbiAgICAgIGVycm9yQWxhcm0uYWRkT2tBY3Rpb24ocHJvcHMuYWN0aW9uID8/IHRoaXMuYWN0aW9uKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIHRocmVlIENsb3VkV2F0Y2ggQWxhcm1zIGZvciBtb25pdG9yaW5nIGFuIEVDUyBzZXJ2aWNlIGJlaGluZCBhIHRhcmdldCBncm91cDpcbiAgICogMSkgb25lIHRoYXQgdHJpZ2dlcnMgaWYgdGhlIHRhcmdldCBpcyByZXNwb25kaW5nIHdpdGggdG9vIG1hbnkgNXh4IGVycm9ycy5cbiAgICogMikgb25lIHRoYXQgdHJpZ2dlcnMgaWYgdGhlIDk1JSBwZXJjZW50aWxlIG9mIHJlc3BvbnNlIHRpbWVzIGZyb20gdGhlIHRhcmdldCBpcyB0b28gaGlnaC5cbiAgICogMykgb25lIHRoYXQgdHJpZ2dlcnMgaWYgdGhlcmUgYXJlIG5vIGhlYWx0aHkgdGFyZ2V0cyBvciBpZiB0aGUgbG9hZCBiYWxhbmNlciBmYWlscyB0byBjb25uZWN0IHRvIHRhcmdldHMuXG4gICAqL1xuICBhZGRUYXJnZXRHcm91cEFsYXJtcyhwcm9wczoge1xuICAgIC8qKlxuICAgICAqIFRoZSBmdWxsIG5hbWUgb2YgdGhlIHRhcmdldCBncm91cC5cbiAgICAgKi9cbiAgICB0YXJnZXRHcm91cEZ1bGxOYW1lOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBUaGUgZnVsbCBuYW1lIG9mIHRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyLlxuICAgICAqL1xuICAgIGxvYWRCYWxhbmNlckZ1bGxOYW1lOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBhIGNvbXBvc2l0ZSBhbGFybS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IENvbmZpZ3VyZWQgd2l0aCBzYW5lIGRlZmF1bHRzLlxuICAgICAqL1xuICAgIHRhcmdldEhlYWx0aEFsYXJtPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCA2MCBzZWNvbmRzXG4gICAgICAgKi9cbiAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCAxXG4gICAgICAgKi9cbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDFcbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogbnVtYmVyXG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBhbiBhbGFybS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IENvbmZpZ3VyZWQgd2l0aCBzYW5lIGRlZmF1bHRzLlxuICAgICAqL1xuICAgIHRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCA2MCBzZWNvbmRzXG4gICAgICAgKi9cbiAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCAzXG4gICAgICAgKi9cbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDEwXG4gICAgICAgKi9cbiAgICAgIHRocmVzaG9sZD86IG51bWJlclxuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYW4gYWxhcm0uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBDb25maWd1cmVkIHdpdGggc2FuZSBkZWZhdWx0cy5cbiAgICAgKi9cbiAgICB0YXJnZXRSZXNwb25zZVRpbWVBbGFybT86IHtcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAgICovXG4gICAgICBlbmFibGVkPzogYm9vbGVhblxuICAgICAgLyoqXG4gICAgICAgKiBBbiBhY3Rpb24gdG8gdXNlIGZvciBDbG91ZFdhdGNoIGFsYXJtIHN0YXRlIGNoYW5nZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBhY3Rpb25cbiAgICAgICAqL1xuICAgICAgYWN0aW9uPzogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgNSBtaW51dGVzXG4gICAgICAgKi9cbiAgICAgIHBlcmlvZD86IGNkay5EdXJhdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCAxXG4gICAgICAgKi9cbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDUwMCBtaWxsaXNlY29uZHNcbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogY2RrLkR1cmF0aW9uXG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgIH1cbiAgfSk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldENvbm5lY3Rpb25FcnJvckFsYXJtID0gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWU6IFwiVGFyZ2V0Q29ubmVjdGlvbkVycm9yQ291bnRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvQXBwbGljYXRpb25FTEJcIixcbiAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgIHBlcmlvZDogcHJvcHMudGFyZ2V0SGVhbHRoQWxhcm0/LnBlcmlvZCA/PyBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIFRhcmdldEdyb3VwOiBwcm9wcy50YXJnZXRHcm91cEZ1bGxOYW1lLFxuICAgICAgICBMb2FkQmFsYW5jZXI6IHByb3BzLmxvYWRCYWxhbmNlckZ1bGxOYW1lLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybSh0aGlzLCBcIkNvbm5lY3Rpb25BbGFybVwiLCB7XG4gICAgICBhY3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBMb2FkIGJhbGFuY2VyIGlzIGZhaWxpbmcgdG8gY29ubmVjdCB0byB0YXJnZXQocykgaW4gRUNTIHNlcnZpY2UgJyR7dGhpcy5zZXJ2aWNlTmFtZX0nLmAsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogcHJvcHMudGFyZ2V0SGVhbHRoQWxhcm0/LmV2YWx1YXRpb25QZXJpb2RzID8/IDEsXG4gICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICB9KVxuXG4gICAgY29uc3QgaGVhbHRoQWxhcm0gPSBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZTogXCJIZWFsdGh5SG9zdENvdW50XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiQVdTL0FwcGxpY2F0aW9uRUxCXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiTWluaW11bVwiLFxuICAgICAgcGVyaW9kOiBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8ucGVyaW9kID8/IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiSGVhbHRoQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYFRoZXJlIGFyZSBubyBoZWFsdGh5IHRhcmdldChzKSBpbiBFQ1Mgc2VydmljZSAnJHt0aGlzLnNlcnZpY2VOYW1lfScuYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuTEVTU19USEFOX1RIUkVTSE9MRCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8uZXZhbHVhdGlvblBlcmlvZHMgPz8gMSxcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IGNsb3Vkd2F0Y2guVHJlYXRNaXNzaW5nRGF0YS5CUkVBQ0hJTkcsXG4gICAgfSlcblxuICAgIGNvbnN0IHRhcmdldEhlYWx0aEFsYXJtID0gbmV3IGNsb3Vkd2F0Y2guQ29tcG9zaXRlQWxhcm0oXG4gICAgICB0aGlzLFxuICAgICAgXCJUYXJnZXRIZWFsdGhBbGFybVwiLFxuICAgICAge1xuICAgICAgICBhbGFybVJ1bGU6IGNkay5hd3NfY2xvdWR3YXRjaC5BbGFybVJ1bGUuYW55T2YoXG4gICAgICAgICAgY2RrLmF3c19jbG91ZHdhdGNoLkFsYXJtUnVsZS5mcm9tQWxhcm0oXG4gICAgICAgICAgICB0YXJnZXRDb25uZWN0aW9uRXJyb3JBbGFybSxcbiAgICAgICAgICAgIGNsb3Vkd2F0Y2guQWxhcm1TdGF0ZS5BTEFSTSxcbiAgICAgICAgICApLFxuICAgICAgICAgIGNkay5hd3NfY2xvdWR3YXRjaC5BbGFybVJ1bGUuZnJvbUFsYXJtKFxuICAgICAgICAgICAgaGVhbHRoQWxhcm0sXG4gICAgICAgICAgICBjbG91ZHdhdGNoLkFsYXJtU3RhdGUuQUxBUk0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgICBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8uZGVzY3JpcHRpb24gPz9cbiAgICAgICAgICBgVGhlIGxvYWQgYmFsYW5jZXIgaXMgZWl0aGVyIHJlY2VpdmluZyBiYWQgaGVhbHRoIGNoZWNrcyBmcm9tIG9yIGlzIHVuYWJsZSB0byBjb25uZWN0IHRvIHRhcmdldChzKSBpbiBFQ1Mgc2VydmljZSAnJHt0aGlzLnNlcnZpY2VOYW1lfSdgLFxuICAgICAgICBhY3Rpb25zRW5hYmxlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIClcbiAgICBpZiAocHJvcHMudGFyZ2V0SGVhbHRoQWxhcm0/LmVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgdGFyZ2V0SGVhbHRoQWxhcm0uYWRkQWxhcm1BY3Rpb24oXG4gICAgICAgIHByb3BzLnRhcmdldEhlYWx0aEFsYXJtPy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24sXG4gICAgICApXG4gICAgICB0YXJnZXRIZWFsdGhBbGFybS5hZGRPa0FjdGlvbihcbiAgICAgICAgcHJvcHMudGFyZ2V0SGVhbHRoQWxhcm0/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCB0b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkhUVFBDb2RlX1RhcmdldF81WFhfQ291bnRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvQXBwbGljYXRpb25FTEJcIixcbiAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgIHBlcmlvZDpcbiAgICAgICAgcHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LnBlcmlvZCA/P1xuICAgICAgICBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIFRhcmdldEdyb3VwOiBwcm9wcy50YXJnZXRHcm91cEZ1bGxOYW1lLFxuICAgICAgICBMb2FkQmFsYW5jZXI6IHByb3BzLmxvYWRCYWxhbmNlckZ1bGxOYW1lLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybSh0aGlzLCBcIkFsYlRhcmdldHM1eHhBbGFybVwiLCB7XG4gICAgICBhY3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246XG4gICAgICAgIHByb3BzLnRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtPy5kZXNjcmlwdGlvbiA/P1xuICAgICAgICBgTG9hZCBiYWxhbmNlciByZWNlaXZlZCB0b28gbWFueSA1WFggcmVzcG9uc2VzIGZyb20gdGFyZ2V0KHMpIGluIEVDUyBzZXJ2aWNlICcke3RoaXMuc2VydmljZU5hbWV9Jy5gLFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6XG4gICAgICAgIHByb3BzLnRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtPy5ldmFsdWF0aW9uUGVyaW9kcyA/PyAzLFxuICAgICAgdGhyZXNob2xkOiBwcm9wcy50b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybT8udGhyZXNob2xkID8/IDEwLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLk5PVF9CUkVBQ0hJTkcsXG4gICAgfSlcbiAgICBpZiAocHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LmVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgdG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0uYWRkQWxhcm1BY3Rpb24oXG4gICAgICAgIHByb3BzLnRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtPy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24sXG4gICAgICApXG4gICAgICB0b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybS5hZGRPa0FjdGlvbihcbiAgICAgICAgcHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRSZXNwb25zZVRpbWVBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIlRhcmdldFJlc3BvbnNlVGltZVwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9BcHBsaWNhdGlvbkVMQlwiLFxuICAgICAgc3RhdGlzdGljOiBcInA5NVwiLFxuICAgICAgcGVyaW9kOiBwcm9wcy50YXJnZXRSZXNwb25zZVRpbWVBbGFybT8ucGVyaW9kID8/IGNkay5EdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgdW5pdDogY2xvdWR3YXRjaC5Vbml0Lk1JTExJU0VDT05EUyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgTG9hZEJhbGFuY2VyOiBwcm9wcy5sb2FkQmFsYW5jZXJGdWxsTmFtZSxcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiVGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgcHJvcHMudGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm0/LmRlc2NyaXB0aW9uID8/XG4gICAgICAgIGA1JSBvZiByZXNwb25zZXMgZnJvbSBFQ1Mgc2VydmljZSAnJHt0aGlzLnNlcnZpY2VOYW1lfScgYXJlIHRha2luZyBsb25nZXIgdGhhbiBleHBlY3RlZC5gLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy5ldmFsdWF0aW9uUGVyaW9kcyA/PyAxLFxuICAgICAgdGhyZXNob2xkOiAoXG4gICAgICAgIHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy50aHJlc2hvbGQgPz8gY2RrLkR1cmF0aW9uLm1pbGxpcyg1MDApXG4gICAgICApLnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuSUdOT1JFLFxuICAgIH0pXG4gICAgaWYgKHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHRhcmdldFJlc3BvbnNlVGltZUFsYXJtLmFkZEFsYXJtQWN0aW9uKFxuICAgICAgICBwcm9wcy50YXJnZXRSZXNwb25zZVRpbWVBbGFybT8uYWN0aW9uID8/IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgICAgdGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm0uYWRkT2tBY3Rpb24oXG4gICAgICAgIHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24sXG4gICAgICApXG4gICAgfVxuICB9XG59XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hbGFybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zL3NlcnZpY2UtYWxhcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUNsQyx5REFBd0Q7QUFDeEQsNkNBQTRDO0FBQzVDLHlDQUF3QztBQWF4Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxhQUFjLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFJckQsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBeUI7UUFFekIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsS0FZakI7O1FBQ0MsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDdEQsbUJBQW1CLEVBQ25CO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztZQUN2RCwyREFBMkQ7WUFDM0QsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVztZQUM1QixzQkFBc0I7WUFDdEIsMkJBQTJCLEVBQzNCLEdBQUcsRUFDSCx1QkFBdUIsQ0FDeEIsQ0FDRjtZQUNELFVBQVUsRUFBRSxRQUFRO1lBQ3BCLGVBQWUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFDcEQsSUFBSSxDQUFDLFdBQ1AsU0FBUztTQUNWLENBQ0YsQ0FBQTtRQUVELE1BQU0sVUFBVSxHQUFHLGlCQUFpQjthQUNqQyxNQUFNLEVBQUU7YUFDUixJQUFJLENBQUM7WUFDSixTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ2pDLENBQUM7YUFDRCxXQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNsQyxnQkFBZ0IsRUFDZCxNQUFBLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxrQkFBa0I7WUFDakUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixTQUFTLEVBQUUsQ0FBQztZQUNaLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO1NBQzVELENBQUMsQ0FBQTtRQUVKLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBQSxLQUFLLENBQUMsTUFBTSxtQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdEQsSUFBSSxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUksRUFBRTtZQUNoQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQUEsS0FBSyxDQUFDLE1BQU0sbUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3BEO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsS0E2RnBCOztRQUNDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3ZELFVBQVUsRUFBRSw0QkFBNEI7WUFDeEMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsTUFBQSxNQUFBLEtBQUssQ0FBQyxpQkFBaUIsMENBQUUsTUFBTSxtQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkUsYUFBYSxFQUFFO2dCQUNiLFdBQVcsRUFBRSxLQUFLLENBQUMsbUJBQW1CO2dCQUN0QyxZQUFZLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUN6QztTQUNGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3RDLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGdCQUFnQixFQUFFLG9FQUFvRSxJQUFJLENBQUMsV0FBVyxJQUFJO1lBQzFHLGlCQUFpQixFQUFFLE1BQUEsTUFBQSxLQUFLLENBQUMsaUJBQWlCLDBDQUFFLGlCQUFpQixtQ0FBSSxDQUFDO1lBQ2xFLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGFBQWE7U0FDNUQsQ0FBQyxDQUFBO1FBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsTUFBQSxNQUFBLEtBQUssQ0FBQyxpQkFBaUIsMENBQUUsTUFBTSxtQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkUsYUFBYSxFQUFFO2dCQUNiLFdBQVcsRUFBRSxLQUFLLENBQUMsbUJBQW1CO2dCQUN0QyxZQUFZLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUN6QztTQUNGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNsQyxnQkFBZ0IsRUFBRSxrREFBa0QsSUFBSSxDQUFDLFdBQVcsSUFBSTtZQUN4RixrQkFBa0IsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CO1lBQ3JFLGlCQUFpQixFQUFFLE1BQUEsTUFBQSxLQUFLLENBQUMsaUJBQWlCLDBDQUFFLGlCQUFpQixtQ0FBSSxDQUFDO1lBQ2xFLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7U0FDeEQsQ0FBQyxDQUFBO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQ3JELElBQUksRUFDSixtQkFBbUIsRUFDbkI7WUFDRSxTQUFTLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUMzQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3BDLDBCQUEwQixFQUMxQixVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDNUIsRUFDRCxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3BDLFdBQVcsRUFDWCxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDNUIsQ0FDRjtZQUNELGdCQUFnQixFQUNkLE1BQUEsTUFBQSxLQUFLLENBQUMsaUJBQWlCLDBDQUFFLFdBQVcsbUNBQ3BDLHFIQUFxSCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQzFJLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQ0YsQ0FBQTtRQUNELElBQUksTUFBQSxNQUFBLEtBQUssQ0FBQyxpQkFBaUIsMENBQUUsT0FBTyxtQ0FBSSxJQUFJLEVBQUU7WUFDNUMsaUJBQWlCLENBQUMsY0FBYyxDQUM5QixNQUFBLE1BQUEsS0FBSyxDQUFDLGlCQUFpQiwwQ0FBRSxNQUFNLG1DQUFJLElBQUksQ0FBQyxNQUFNLENBQy9DLENBQUE7WUFDRCxpQkFBaUIsQ0FBQyxXQUFXLENBQzNCLE1BQUEsTUFBQSxLQUFLLENBQUMsaUJBQWlCLDBDQUFFLE1BQU0sbUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FDL0MsQ0FBQTtTQUNGO1FBRUQsTUFBTSxtQ0FBbUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDaEUsVUFBVSxFQUFFLDJCQUEyQjtZQUN2QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE1BQU0sRUFDSixNQUFBLE1BQUEsS0FBSyxDQUFDLG1DQUFtQywwQ0FBRSxNQUFNLG1DQUNqRCxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUIsYUFBYSxFQUFFO2dCQUNiLFdBQVcsRUFBRSxLQUFLLENBQUMsbUJBQW1CO2dCQUN0QyxZQUFZLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUN6QztTQUNGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3pDLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGdCQUFnQixFQUNkLE1BQUEsTUFBQSxLQUFLLENBQUMsbUNBQW1DLDBDQUFFLFdBQVcsbUNBQ3RELGdGQUFnRixJQUFJLENBQUMsV0FBVyxJQUFJO1lBQ3RHLGlCQUFpQixFQUNmLE1BQUEsTUFBQSxLQUFLLENBQUMsbUNBQW1DLDBDQUFFLGlCQUFpQixtQ0FBSSxDQUFDO1lBQ25FLFNBQVMsRUFBRSxNQUFBLE1BQUEsS0FBSyxDQUFDLG1DQUFtQywwQ0FBRSxTQUFTLG1DQUFJLEVBQUU7WUFDckUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGFBQWE7U0FDNUQsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxNQUFBLE1BQUEsS0FBSyxDQUFDLG1DQUFtQywwQ0FBRSxPQUFPLG1DQUFJLElBQUksRUFBRTtZQUM5RCxtQ0FBbUMsQ0FBQyxjQUFjLENBQ2hELE1BQUEsTUFBQSxLQUFLLENBQUMsbUNBQW1DLDBDQUFFLE1BQU0sbUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FDakUsQ0FBQTtZQUNELG1DQUFtQyxDQUFDLFdBQVcsQ0FDN0MsTUFBQSxNQUFBLEtBQUssQ0FBQyxtQ0FBbUMsMENBQUUsTUFBTSxtQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUNqRSxDQUFBO1NBQ0Y7UUFFRCxNQUFNLHVCQUF1QixHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNwRCxVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLE1BQUEsTUFBQSxLQUFLLENBQUMsdUJBQXVCLDBDQUFFLE1BQU0sbUNBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLGFBQWEsRUFBRTtnQkFDYixZQUFZLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDeEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7YUFDdkM7U0FDRixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUM5QyxnQkFBZ0IsRUFDZCxNQUFBLE1BQUEsS0FBSyxDQUFDLHVCQUF1QiwwQ0FBRSxXQUFXLG1DQUMxQyxxQ0FDRSxJQUFJLENBQUMsV0FDUCxxREFBcUQsQ0FDbkQsT0FBQSxPQUFBLEtBQUssQ0FBQyx1QkFBdUIsNENBQUUsU0FBUyxxQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDckUsQ0FBQyxjQUFjLEVBQUUsTUFBTTtZQUMxQixrQkFBa0IsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ3hFLGlCQUFpQixFQUFFLE9BQUEsT0FBQSxLQUFLLENBQUMsdUJBQXVCLDRDQUFFLGlCQUFpQixxQ0FBSSxDQUFDO1lBQ3hFLFNBQVMsRUFBRSxDQUNULE9BQUEsT0FBQSxLQUFLLENBQUMsdUJBQXVCLDRDQUFFLFNBQVMscUNBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQ3JFLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2hDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNO1NBQ3JELENBQUMsQ0FBQTtRQUNGLElBQUksT0FBQSxPQUFBLEtBQUssQ0FBQyx1QkFBdUIsNENBQUUsT0FBTyxxQ0FBSSxJQUFJLEVBQUU7WUFDbEQsdUJBQXVCLENBQUMsY0FBYyxDQUNwQyxPQUFBLE9BQUEsS0FBSyxDQUFDLHVCQUF1Qiw0Q0FBRSxNQUFNLHFDQUFJLElBQUksQ0FBQyxNQUFNLENBQ3JELENBQUE7WUFDRCx1QkFBdUIsQ0FBQyxXQUFXLENBQ2pDLE9BQUEsT0FBQSxLQUFLLENBQUMsdUJBQXVCLDRDQUFFLE1BQU0scUNBQUksSUFBSSxDQUFDLE1BQU0sQ0FDckQsQ0FBQTtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBN1NELHNDQTZTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIlxuaW1wb3J0ICogYXMgbG9ncyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIlxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUFsYXJtc1Byb3BzIGV4dGVuZHMgY2RrLlN0YWNrUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBhY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRUNTIHNlcnZpY2UuXG4gICAqL1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogVmFyaW91cyBhbGFybXMgYW5kIG1vbml0b3JpbmcuXG4gKlxuICogQnkgaXRzZWxmIG5vIGFsYXJtcyBpcyBjcmVhdGVkLiBVc2UgdGhlIG1ldGhvZHMgYXZhaWxhYmxlXG4gKiB0byBhZGQgYWxhcm1zLlxuICpcbiAqIFNlZSBTbGFja0FsYXJtIGNvbnN0cnVjdCBmb3IgU05TIEFjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VBbGFybXMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU2VydmljZUFsYXJtc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLmFjdGlvbiA9IHByb3BzLmFjdGlvblxuICAgIHRoaXMuc2VydmljZU5hbWUgPSBwcm9wcy5zZXJ2aWNlTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEZvciBsb2dzIHN0b3JlZCBhcyBKU09OLCBtb25pdG9yIGxvZyBlbnRyaWVzIGxvZ2dlZFxuICAgKiB3aXRoIGxldmVsIEVSUk9SIG9yIGhpZ2hlciwgYXMgd2VsbCBhcyBhbnkgcmVxdWVzdHNcbiAgICogdGhhdCBjYXVzZXMgNTAwIGZvciBsb2dnaW5nIHdpdGggbGlmbGlnLWxvZ2dpbmcuXG4gICAqL1xuICBhZGRKc29uRXJyb3JBbGFybShwcm9wczoge1xuICAgIGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cFxuICAgIGFsYXJtRGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBTZXQgdG8gYGZhbHNlYCB0byBzdG9wIHRoZSBhbGFybSBmcm9tIHNlbmRpbmcgT0sgZXZlbnRzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiAqL1xuICAgIGVuYWJsZU9rQWN0aW9uPzogYm9vbGVhblxuICAgIC8qKlxuICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAqL1xuICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvck1ldHJpY0ZpbHRlciA9IHByb3BzLmxvZ0dyb3VwLmFkZE1ldHJpY0ZpbHRlcihcbiAgICAgIFwiRXJyb3JNZXRyaWNGaWx0ZXJcIixcbiAgICAgIHtcbiAgICAgICAgZmlsdGVyUGF0dGVybjogbG9ncy5GaWx0ZXJQYXR0ZXJuLmFueShcbiAgICAgICAgICBsb2dzLkZpbHRlclBhdHRlcm4uc3RyaW5nVmFsdWUoXCIkLmxldmVsXCIsIFwiPVwiLCBcIkVSUk9SXCIpLFxuICAgICAgICAgIC8vIEZBVEFMIGNvdmVycyBzb21lIGFwcGxpY2F0aW9ucyB3ZSBydW4gdGhhdCB1c2VzIGxvZzRqIG9yXG4gICAgICAgICAgLy8gb3RoZXIgbGlicmFyaWVzLiBJdCBpcyBub3QgZXhpc3RlbnQgaW4gc2xmNGouXG4gICAgICAgICAgbG9ncy5GaWx0ZXJQYXR0ZXJuLnN0cmluZ1ZhbHVlKFwiJC5sZXZlbFwiLCBcIj1cIiwgXCJGQVRBTFwiKSxcbiAgICAgICAgICBsb2dzLkZpbHRlclBhdHRlcm4uc3RyaW5nVmFsdWUoXG4gICAgICAgICAgICAvLyBGb3IgbGlmbGlnLWxvZ2dpbmcuXG4gICAgICAgICAgICBcIiQucmVxdWVzdEluZm8uc3RhdHVzLmNvZGVcIixcbiAgICAgICAgICAgIFwiPVwiLFxuICAgICAgICAgICAgXCJJTlRFUk5BTF9TRVJWRVJfRVJST1JcIixcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBtZXRyaWNOYW1lOiBcIkVycm9yc1wiLFxuICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IGBzdGFjay8ke2Nkay5TdGFjay5vZih0aGlzKS5zdGFja05hbWV9LyR7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZVxuICAgICAgICB9L0Vycm9yc2AsXG4gICAgICB9LFxuICAgIClcblxuICAgIGNvbnN0IGVycm9yQWxhcm0gPSBlcnJvck1ldHJpY0ZpbHRlclxuICAgICAgLm1ldHJpYygpXG4gICAgICAud2l0aCh7XG4gICAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB9KVxuICAgICAgLmNyZWF0ZUFsYXJtKHRoaXMsIFwiRXJyb3JMb2dBbGFybVwiLCB7XG4gICAgICAgIGFsYXJtRGVzY3JpcHRpb246XG4gICAgICAgICAgcHJvcHMuYWxhcm1EZXNjcmlwdGlvbiA/PyBgJHt0aGlzLnNlcnZpY2VOYW1lfSBsb2dnZWQgYW4gZXJyb3JgLFxuICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICAgIH0pXG5cbiAgICBlcnJvckFsYXJtLmFkZEFsYXJtQWN0aW9uKHByb3BzLmFjdGlvbiA/PyB0aGlzLmFjdGlvbilcbiAgICBpZiAocHJvcHMuZW5hYmxlT2tBY3Rpb24gPz8gdHJ1ZSkge1xuICAgICAgZXJyb3JBbGFybS5hZGRPa0FjdGlvbihwcm9wcy5hY3Rpb24gPz8gdGhpcy5hY3Rpb24pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhyZWUgQ2xvdWRXYXRjaCBBbGFybXMgZm9yIG1vbml0b3JpbmcgYW4gRUNTIHNlcnZpY2UgYmVoaW5kIGEgdGFyZ2V0IGdyb3VwOlxuICAgKiAxKSBvbmUgdGhhdCB0cmlnZ2VycyBpZiB0aGUgdGFyZ2V0IGlzIHJlc3BvbmRpbmcgd2l0aCB0b28gbWFueSA1eHggZXJyb3JzLlxuICAgKiAyKSBvbmUgdGhhdCB0cmlnZ2VycyBpZiB0aGUgOTUlIHBlcmNlbnRpbGUgb2YgcmVzcG9uc2UgdGltZXMgZnJvbSB0aGUgdGFyZ2V0IGlzIHRvbyBoaWdoLlxuICAgKiAzKSBvbmUgdGhhdCB0cmlnZ2VycyBpZiB0aGVyZSBhcmUgbm8gaGVhbHRoeSB0YXJnZXRzIG9yIGlmIHRoZSBsb2FkIGJhbGFuY2VyIGZhaWxzIHRvIGNvbm5lY3QgdG8gdGFyZ2V0cy5cbiAgICovXG4gIGFkZFRhcmdldEdyb3VwQWxhcm1zKHByb3BzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgdGFyZ2V0IGdyb3VwLlxuICAgICAqL1xuICAgIHRhcmdldEdyb3VwRnVsbE5hbWU6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIFRoZSBmdWxsIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXIuXG4gICAgICovXG4gICAgbG9hZEJhbGFuY2VyRnVsbE5hbWU6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGEgY29tcG9zaXRlIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgdGFyZ2V0SGVhbHRoQWxhcm0/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogQW4gYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYWN0aW9uXG4gICAgICAgKi9cbiAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDYwIHNlY29uZHNcbiAgICAgICAqL1xuICAgICAgcGVyaW9kPzogY2RrLkR1cmF0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDFcbiAgICAgICAqL1xuICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgMVxuICAgICAgICovXG4gICAgICB0aHJlc2hvbGQ/OiBudW1iZXJcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIGFsYXJtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgQ29uZmlndXJlZCB3aXRoIHNhbmUgZGVmYXVsdHMuXG4gICAgICovXG4gICAgdG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogQW4gYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYWN0aW9uXG4gICAgICAgKi9cbiAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDYwIHNlY29uZHNcbiAgICAgICAqL1xuICAgICAgcGVyaW9kPzogY2RrLkR1cmF0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDNcbiAgICAgICAqL1xuICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgMTBcbiAgICAgICAqL1xuICAgICAgdGhyZXNob2xkPzogbnVtYmVyXG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBhbiBhbGFybS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IENvbmZpZ3VyZWQgd2l0aCBzYW5lIGRlZmF1bHRzLlxuICAgICAqL1xuICAgIHRhcmdldFJlc3BvbnNlVGltZUFsYXJtPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIEFuIGFjdGlvbiB0byB1c2UgZm9yIENsb3VkV2F0Y2ggYWxhcm0gc3RhdGUgY2hhbmdlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGFjdGlvblxuICAgICAgICovXG4gICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVmYXVsdCA1IG1pbnV0ZXNcbiAgICAgICAqL1xuICAgICAgcGVyaW9kPzogY2RrLkR1cmF0aW9uXG4gICAgICAvKipcbiAgICAgICAqIEBkZWZhdWx0IDFcbiAgICAgICAqL1xuICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogQGRlZmF1bHQgNTAwIG1pbGxpc2Vjb25kc1xuICAgICAgICovXG4gICAgICB0aHJlc2hvbGQ/OiBjZGsuRHVyYXRpb25cbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgfVxuICB9KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0Q29ubmVjdGlvbkVycm9yQWxhcm0gPSBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZTogXCJUYXJnZXRDb25uZWN0aW9uRXJyb3JDb3VudFwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9BcHBsaWNhdGlvbkVMQlwiLFxuICAgICAgc3RhdGlzdGljOiBcIlN1bVwiLFxuICAgICAgcGVyaW9kOiBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8ucGVyaW9kID8/IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiQ29ubmVjdGlvbkFsYXJtXCIsIHtcbiAgICAgIGFjdGlvbnNFbmFibGVkOiB0cnVlLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYExvYWQgYmFsYW5jZXIgaXMgZmFpbGluZyB0byBjb25uZWN0IHRvIHRhcmdldChzKSBpbiBFQ1Mgc2VydmljZSAnJHt0aGlzLnNlcnZpY2VOYW1lfScuYCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8uZXZhbHVhdGlvblBlcmlvZHMgPz8gMSxcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IGNsb3Vkd2F0Y2guVHJlYXRNaXNzaW5nRGF0YS5OT1RfQlJFQUNISU5HLFxuICAgIH0pXG5cbiAgICBjb25zdCBoZWFsdGhBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkhlYWx0aHlIb3N0Q291bnRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvQXBwbGljYXRpb25FTEJcIixcbiAgICAgIHN0YXRpc3RpYzogXCJNaW5pbXVtXCIsXG4gICAgICBwZXJpb2Q6IHByb3BzLnRhcmdldEhlYWx0aEFsYXJtPy5wZXJpb2QgPz8gY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBUYXJnZXRHcm91cDogcHJvcHMudGFyZ2V0R3JvdXBGdWxsTmFtZSxcbiAgICAgICAgTG9hZEJhbGFuY2VyOiBwcm9wcy5sb2FkQmFsYW5jZXJGdWxsTmFtZSxcbiAgICAgIH0sXG4gICAgfSkuY3JlYXRlQWxhcm0odGhpcywgXCJIZWFsdGhBbGFybVwiLCB7XG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgVGhlcmUgYXJlIG5vIGhlYWx0aHkgdGFyZ2V0KHMpIGluIEVDUyBzZXJ2aWNlICcke3RoaXMuc2VydmljZU5hbWV9Jy5gLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IHByb3BzLnRhcmdldEhlYWx0aEFsYXJtPy5ldmFsdWF0aW9uUGVyaW9kcyA/PyAxLFxuICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLkJSRUFDSElORyxcbiAgICB9KVxuXG4gICAgY29uc3QgdGFyZ2V0SGVhbHRoQWxhcm0gPSBuZXcgY2xvdWR3YXRjaC5Db21wb3NpdGVBbGFybShcbiAgICAgIHRoaXMsXG4gICAgICBcIlRhcmdldEhlYWx0aEFsYXJtXCIsXG4gICAgICB7XG4gICAgICAgIGFsYXJtUnVsZTogY2RrLmF3c19jbG91ZHdhdGNoLkFsYXJtUnVsZS5hbnlPZihcbiAgICAgICAgICBjZGsuYXdzX2Nsb3Vkd2F0Y2guQWxhcm1SdWxlLmZyb21BbGFybShcbiAgICAgICAgICAgIHRhcmdldENvbm5lY3Rpb25FcnJvckFsYXJtLFxuICAgICAgICAgICAgY2xvdWR3YXRjaC5BbGFybVN0YXRlLkFMQVJNLFxuICAgICAgICAgICksXG4gICAgICAgICAgY2RrLmF3c19jbG91ZHdhdGNoLkFsYXJtUnVsZS5mcm9tQWxhcm0oXG4gICAgICAgICAgICBoZWFsdGhBbGFybSxcbiAgICAgICAgICAgIGNsb3Vkd2F0Y2guQWxhcm1TdGF0ZS5BTEFSTSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBhbGFybURlc2NyaXB0aW9uOlxuICAgICAgICAgIHByb3BzLnRhcmdldEhlYWx0aEFsYXJtPy5kZXNjcmlwdGlvbiA/P1xuICAgICAgICAgIGBUaGUgbG9hZCBiYWxhbmNlciBpcyBlaXRoZXIgcmVjZWl2aW5nIGJhZCBoZWFsdGggY2hlY2tzIGZyb20gb3IgaXMgdW5hYmxlIHRvIGNvbm5lY3QgdG8gdGFyZ2V0KHMpIGluIEVDUyBzZXJ2aWNlICcke3RoaXMuc2VydmljZU5hbWV9J2AsXG4gICAgICAgIGFjdGlvbnNFbmFibGVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKVxuICAgIGlmIChwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICB0YXJnZXRIZWFsdGhBbGFybS5hZGRBbGFybUFjdGlvbihcbiAgICAgICAgcHJvcHMudGFyZ2V0SGVhbHRoQWxhcm0/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICAgIHRhcmdldEhlYWx0aEFsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcy50YXJnZXRIZWFsdGhBbGFybT8uYWN0aW9uID8/IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IHRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtID0gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWU6IFwiSFRUUENvZGVfVGFyZ2V0XzVYWF9Db3VudFwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9BcHBsaWNhdGlvbkVMQlwiLFxuICAgICAgc3RhdGlzdGljOiBcIlN1bVwiLFxuICAgICAgcGVyaW9kOlxuICAgICAgICBwcm9wcy50b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybT8ucGVyaW9kID8/XG4gICAgICAgIGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiQWxiVGFyZ2V0czV4eEFsYXJtXCIsIHtcbiAgICAgIGFjdGlvbnNFbmFibGVkOiB0cnVlLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgcHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LmRlc2NyaXB0aW9uID8/XG4gICAgICAgIGBMb2FkIGJhbGFuY2VyIHJlY2VpdmVkIHRvbyBtYW55IDVYWCByZXNwb25zZXMgZnJvbSB0YXJnZXQocykgaW4gRUNTIHNlcnZpY2UgJyR7dGhpcy5zZXJ2aWNlTmFtZX0nLmAsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczpcbiAgICAgICAgcHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LmV2YWx1YXRpb25QZXJpb2RzID8/IDMsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLnRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtPy50aHJlc2hvbGQgPz8gMTAsXG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICB9KVxuICAgIGlmIChwcm9wcy50b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybT8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICB0b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybS5hZGRBbGFybUFjdGlvbihcbiAgICAgICAgcHJvcHMudG9vTWFueTV4eFJlc3BvbnNlc0Zyb21UYXJnZXRzQWxhcm0/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICAgIHRvb01hbnk1eHhSZXNwb25zZXNGcm9tVGFyZ2V0c0FsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcy50b29NYW55NXh4UmVzcG9uc2VzRnJvbVRhcmdldHNBbGFybT8uYWN0aW9uID8/IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldFJlc3BvbnNlVGltZUFsYXJtID0gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWU6IFwiVGFyZ2V0UmVzcG9uc2VUaW1lXCIsXG4gICAgICBuYW1lc3BhY2U6IFwiQVdTL0FwcGxpY2F0aW9uRUxCXCIsXG4gICAgICBzdGF0aXN0aWM6IFwicDk1XCIsXG4gICAgICBwZXJpb2Q6IHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy5wZXJpb2QgPz8gY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICAgIFRhcmdldEdyb3VwOiBwcm9wcy50YXJnZXRHcm91cEZ1bGxOYW1lLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybSh0aGlzLCBcIlRhcmdldFJlc3BvbnNlVGltZUFsYXJtXCIsIHtcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246XG4gICAgICAgIHByb3BzLnRhcmdldFJlc3BvbnNlVGltZUFsYXJtPy5kZXNjcmlwdGlvbiA/P1xuICAgICAgICBgNSUgb2YgcmVzcG9uc2VzIGZyb20gRUNTIHNlcnZpY2UgJyR7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZVxuICAgICAgICB9JyBhcmUgdGFraW5nIGxvbmdlciB0aGFuIHRoZSBleHBlY3RlZCBkdXJhdGlvbiBvZiAkeyhcbiAgICAgICAgICBwcm9wcy50YXJnZXRSZXNwb25zZVRpbWVBbGFybT8udGhyZXNob2xkID8/IGNkay5EdXJhdGlvbi5taWxsaXMoNTAwKVxuICAgICAgICApLnRvTWlsbGlzZWNvbmRzKCl9IG1zLmAsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogcHJvcHMudGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm0/LmV2YWx1YXRpb25QZXJpb2RzID8/IDEsXG4gICAgICB0aHJlc2hvbGQ6IChcbiAgICAgICAgcHJvcHMudGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm0/LnRocmVzaG9sZCA/PyBjZGsuRHVyYXRpb24ubWlsbGlzKDUwMClcbiAgICAgICkudG9TZWNvbmRzKHsgaW50ZWdyYWw6IGZhbHNlIH0pLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogY2xvdWR3YXRjaC5UcmVhdE1pc3NpbmdEYXRhLklHTk9SRSxcbiAgICB9KVxuICAgIGlmIChwcm9wcy50YXJnZXRSZXNwb25zZVRpbWVBbGFybT8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICB0YXJnZXRSZXNwb25zZVRpbWVBbGFybS5hZGRBbGFybUFjdGlvbihcbiAgICAgICAgcHJvcHMudGFyZ2V0UmVzcG9uc2VUaW1lQWxhcm0/LmFjdGlvbiA/PyB0aGlzLmFjdGlvbixcbiAgICAgIClcbiAgICAgIHRhcmdldFJlc3BvbnNlVGltZUFsYXJtLmFkZE9rQWN0aW9uKFxuICAgICAgICBwcm9wcy50YXJnZXRSZXNwb25zZVRpbWVBbGFybT8uYWN0aW9uID8/IHRoaXMuYWN0aW9uLFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liflig/cdk",
3
- "version": "2.13.1",
3
+ "version": "2.14.0",
4
4
  "description": "CDK library for Liflig",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,27 +35,27 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@aws-cdk/assert": "2.68.0",
38
- "@commitlint/cli": "17.6.3",
39
- "@commitlint/config-conventional": "17.6.3",
40
- "@types/aws-lambda": "8.10.115",
41
- "@types/jest": "29.5.1",
42
- "@types/node": "18.16.4",
43
- "@typescript-eslint/eslint-plugin": "5.59.2",
44
- "@typescript-eslint/parser": "5.59.2",
45
- "aws-cdk": "2.77.0",
46
- "aws-cdk-lib": "2.77.0",
47
- "constructs": "10.2.16",
48
- "eslint": "8.39.0",
38
+ "@commitlint/cli": "17.6.5",
39
+ "@commitlint/config-conventional": "17.6.5",
40
+ "@types/aws-lambda": "8.10.119",
41
+ "@types/jest": "29.5.2",
42
+ "@types/node": "18.16.18",
43
+ "@typescript-eslint/eslint-plugin": "5.59.11",
44
+ "@typescript-eslint/parser": "5.59.11",
45
+ "aws-cdk": "2.82.0",
46
+ "aws-cdk-lib": "2.82.0",
47
+ "constructs": "10.2.52",
48
+ "eslint": "8.43.0",
49
49
  "eslint-config-prettier": "8.8.0",
50
50
  "eslint-plugin-prettier": "4.2.1",
51
51
  "husky": "8.0.3",
52
52
  "jest": "29.5.0",
53
53
  "jest-cdk-snapshot": "2.0.1",
54
54
  "prettier": "2.8.8",
55
- "semantic-release": "21.0.2",
55
+ "semantic-release": "21.0.5",
56
56
  "ts-jest": "29.1.0",
57
57
  "ts-node": "10.9.1",
58
- "typescript": "5.0.4"
58
+ "typescript": "5.1.3"
59
59
  },
60
60
  "dependencies": {
61
61
  "@capraconsulting/webapp-deploy-lambda": "2.1.2",