awscdk-construct-mediaconnect-flow 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +45 -13
- package/API.md +22 -0
- package/lib/LiveFeedFromFile.d.ts +2 -0
- package/lib/LiveFeedFromFile.js +8 -4
- package/package.json +4 -4
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"aws-cdk-lib": "^2.203.1",
|
|
11
|
-
"awscdk-construct-medialive-channel": "^0.0.
|
|
11
|
+
"awscdk-construct-medialive-channel": "^0.0.9",
|
|
12
12
|
"constructs": "^10.0.5"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -4116,6 +4116,22 @@
|
|
|
4116
4116
|
"primitive": "number"
|
|
4117
4117
|
}
|
|
4118
4118
|
},
|
|
4119
|
+
{
|
|
4120
|
+
"abstract": true,
|
|
4121
|
+
"docs": {
|
|
4122
|
+
"stability": "stable"
|
|
4123
|
+
},
|
|
4124
|
+
"immutable": true,
|
|
4125
|
+
"locationInModule": {
|
|
4126
|
+
"filename": "src/LiveFeedFromFile.ts",
|
|
4127
|
+
"line": 35
|
|
4128
|
+
},
|
|
4129
|
+
"name": "height",
|
|
4130
|
+
"optional": true,
|
|
4131
|
+
"type": {
|
|
4132
|
+
"primitive": "number"
|
|
4133
|
+
}
|
|
4134
|
+
},
|
|
4119
4135
|
{
|
|
4120
4136
|
"abstract": true,
|
|
4121
4137
|
"docs": {
|
|
@@ -4147,6 +4163,22 @@
|
|
|
4147
4163
|
"type": {
|
|
4148
4164
|
"primitive": "string"
|
|
4149
4165
|
}
|
|
4166
|
+
},
|
|
4167
|
+
{
|
|
4168
|
+
"abstract": true,
|
|
4169
|
+
"docs": {
|
|
4170
|
+
"stability": "stable"
|
|
4171
|
+
},
|
|
4172
|
+
"immutable": true,
|
|
4173
|
+
"locationInModule": {
|
|
4174
|
+
"filename": "src/LiveFeedFromFile.ts",
|
|
4175
|
+
"line": 34
|
|
4176
|
+
},
|
|
4177
|
+
"name": "width",
|
|
4178
|
+
"optional": true,
|
|
4179
|
+
"type": {
|
|
4180
|
+
"primitive": "number"
|
|
4181
|
+
}
|
|
4150
4182
|
}
|
|
4151
4183
|
],
|
|
4152
4184
|
"symbolId": "src/LiveFeedFromFile:EncoderSettings"
|
|
@@ -4212,7 +4244,7 @@
|
|
|
4212
4244
|
},
|
|
4213
4245
|
"locationInModule": {
|
|
4214
4246
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4215
|
-
"line":
|
|
4247
|
+
"line": 54
|
|
4216
4248
|
},
|
|
4217
4249
|
"parameters": [
|
|
4218
4250
|
{
|
|
@@ -4238,7 +4270,7 @@
|
|
|
4238
4270
|
"kind": "class",
|
|
4239
4271
|
"locationInModule": {
|
|
4240
4272
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4241
|
-
"line":
|
|
4273
|
+
"line": 50
|
|
4242
4274
|
},
|
|
4243
4275
|
"name": "LiveFeedFromFile",
|
|
4244
4276
|
"properties": [
|
|
@@ -4249,7 +4281,7 @@
|
|
|
4249
4281
|
"immutable": true,
|
|
4250
4282
|
"locationInModule": {
|
|
4251
4283
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4252
|
-
"line":
|
|
4284
|
+
"line": 51
|
|
4253
4285
|
},
|
|
4254
4286
|
"name": "flow",
|
|
4255
4287
|
"type": {
|
|
@@ -4263,7 +4295,7 @@
|
|
|
4263
4295
|
"immutable": true,
|
|
4264
4296
|
"locationInModule": {
|
|
4265
4297
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4266
|
-
"line":
|
|
4298
|
+
"line": 52
|
|
4267
4299
|
},
|
|
4268
4300
|
"name": "vpc",
|
|
4269
4301
|
"optional": true,
|
|
@@ -4284,7 +4316,7 @@
|
|
|
4284
4316
|
"kind": "interface",
|
|
4285
4317
|
"locationInModule": {
|
|
4286
4318
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4287
|
-
"line":
|
|
4319
|
+
"line": 38
|
|
4288
4320
|
},
|
|
4289
4321
|
"name": "LiveFeedFromFileProps",
|
|
4290
4322
|
"properties": [
|
|
@@ -4296,7 +4328,7 @@
|
|
|
4296
4328
|
"immutable": true,
|
|
4297
4329
|
"locationInModule": {
|
|
4298
4330
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4299
|
-
"line":
|
|
4331
|
+
"line": 39
|
|
4300
4332
|
},
|
|
4301
4333
|
"name": "file",
|
|
4302
4334
|
"type": {
|
|
@@ -4311,7 +4343,7 @@
|
|
|
4311
4343
|
"immutable": true,
|
|
4312
4344
|
"locationInModule": {
|
|
4313
4345
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4314
|
-
"line":
|
|
4346
|
+
"line": 43
|
|
4315
4347
|
},
|
|
4316
4348
|
"name": "autoStart",
|
|
4317
4349
|
"optional": true,
|
|
@@ -4327,7 +4359,7 @@
|
|
|
4327
4359
|
"immutable": true,
|
|
4328
4360
|
"locationInModule": {
|
|
4329
4361
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4330
|
-
"line":
|
|
4362
|
+
"line": 40
|
|
4331
4363
|
},
|
|
4332
4364
|
"name": "encoderSpec",
|
|
4333
4365
|
"optional": true,
|
|
@@ -4343,7 +4375,7 @@
|
|
|
4343
4375
|
"immutable": true,
|
|
4344
4376
|
"locationInModule": {
|
|
4345
4377
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4346
|
-
"line":
|
|
4378
|
+
"line": 41
|
|
4347
4379
|
},
|
|
4348
4380
|
"name": "source",
|
|
4349
4381
|
"optional": true,
|
|
@@ -4359,7 +4391,7 @@
|
|
|
4359
4391
|
"immutable": true,
|
|
4360
4392
|
"locationInModule": {
|
|
4361
4393
|
"filename": "src/LiveFeedFromFile.ts",
|
|
4362
|
-
"line":
|
|
4394
|
+
"line": 42
|
|
4363
4395
|
},
|
|
4364
4396
|
"name": "vpcConfig",
|
|
4365
4397
|
"optional": true,
|
|
@@ -4498,6 +4530,6 @@
|
|
|
4498
4530
|
"symbolId": "src/LiveFeedFromFile:VpcConfig"
|
|
4499
4531
|
}
|
|
4500
4532
|
},
|
|
4501
|
-
"version": "0.0.
|
|
4502
|
-
"fingerprint": "
|
|
4533
|
+
"version": "0.0.5",
|
|
4534
|
+
"fingerprint": "lm4KUq7yE7NFMsw05iHpG7CQh+flibDyMpbbrl8y39A="
|
|
4503
4535
|
}
|
package/API.md
CHANGED
|
@@ -156,8 +156,10 @@ const encoderSettings: EncoderSettings = { ... }
|
|
|
156
156
|
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.framerateDenominator">framerateDenominator</a></code> | <code>number</code> | *No description.* |
|
|
157
157
|
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.framerateNumerator">framerateNumerator</a></code> | <code>number</code> | *No description.* |
|
|
158
158
|
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.gopLengthInSeconds">gopLengthInSeconds</a></code> | <code>number</code> | *No description.* |
|
|
159
|
+
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.height">height</a></code> | <code>number</code> | *No description.* |
|
|
159
160
|
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.scanType">scanType</a></code> | <code>string</code> | *No description.* |
|
|
160
161
|
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.timecodeBurninPrefix">timecodeBurninPrefix</a></code> | <code>string</code> | *No description.* |
|
|
162
|
+
| <code><a href="#awscdk-construct-mediaconnect-flow.EncoderSettings.property.width">width</a></code> | <code>number</code> | *No description.* |
|
|
161
163
|
|
|
162
164
|
---
|
|
163
165
|
|
|
@@ -191,6 +193,16 @@ public readonly gopLengthInSeconds: number;
|
|
|
191
193
|
|
|
192
194
|
---
|
|
193
195
|
|
|
196
|
+
##### `height`<sup>Optional</sup> <a name="height" id="awscdk-construct-mediaconnect-flow.EncoderSettings.property.height"></a>
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
public readonly height: number;
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- *Type:* number
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
194
206
|
##### `scanType`<sup>Optional</sup> <a name="scanType" id="awscdk-construct-mediaconnect-flow.EncoderSettings.property.scanType"></a>
|
|
195
207
|
|
|
196
208
|
```typescript
|
|
@@ -211,6 +223,16 @@ public readonly timecodeBurninPrefix: string;
|
|
|
211
223
|
|
|
212
224
|
---
|
|
213
225
|
|
|
226
|
+
##### `width`<sup>Optional</sup> <a name="width" id="awscdk-construct-mediaconnect-flow.EncoderSettings.property.width"></a>
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
public readonly width: number;
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
- *Type:* number
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
214
236
|
### FileSpec <a name="FileSpec" id="awscdk-construct-mediaconnect-flow.FileSpec"></a>
|
|
215
237
|
|
|
216
238
|
#### Initializer <a name="Initializer" id="awscdk-construct-mediaconnect-flow.FileSpec.Initializer"></a>
|
|
@@ -21,6 +21,8 @@ export interface EncoderSettings {
|
|
|
21
21
|
readonly framerateNumerator?: number;
|
|
22
22
|
readonly framerateDenominator?: number;
|
|
23
23
|
readonly scanType?: 'PROGRESSIVE' | 'INTERLACED';
|
|
24
|
+
readonly width?: number;
|
|
25
|
+
readonly height?: number;
|
|
24
26
|
}
|
|
25
27
|
export interface LiveFeedFromFileProps {
|
|
26
28
|
readonly file: FileSpec;
|
package/lib/LiveFeedFromFile.js
CHANGED
|
@@ -22,9 +22,11 @@ class LiveFeedFromFile extends constructs_1.Construct {
|
|
|
22
22
|
const { file, encoderSpec = {
|
|
23
23
|
gopLengthInSeconds: 2,
|
|
24
24
|
timecodeBurninPrefix: 'Ch',
|
|
25
|
-
framerateNumerator:
|
|
26
|
-
framerateDenominator:
|
|
25
|
+
framerateNumerator: 30,
|
|
26
|
+
framerateDenominator: 1,
|
|
27
27
|
scanType: 'PROGRESSIVE',
|
|
28
|
+
width: 1920,
|
|
29
|
+
height: 1080,
|
|
28
30
|
}, source = {
|
|
29
31
|
protocol: 'SRT',
|
|
30
32
|
type: 'STANDARD-SOURCE',
|
|
@@ -174,6 +176,8 @@ class LiveFeedFromFile extends constructs_1.Construct {
|
|
|
174
176
|
framerateNumerator: encoderSpec.framerateNumerator,
|
|
175
177
|
framerateDenominator: encoderSpec.framerateDenominator,
|
|
176
178
|
scanType: encoderSpec.scanType,
|
|
179
|
+
width: encoderSpec.width,
|
|
180
|
+
height: encoderSpec.height,
|
|
177
181
|
},
|
|
178
182
|
vpc: source.type === 'VPC-SOURCE' && vpc ? {
|
|
179
183
|
publicAddressAllocationIds: [eip.attrAllocationId],
|
|
@@ -190,7 +194,7 @@ class LiveFeedFromFile extends constructs_1.Construct {
|
|
|
190
194
|
}
|
|
191
195
|
exports.LiveFeedFromFile = LiveFeedFromFile;
|
|
192
196
|
_a = JSII_RTTI_SYMBOL_1;
|
|
193
|
-
LiveFeedFromFile[_a] = { fqn: "awscdk-construct-mediaconnect-flow.LiveFeedFromFile", version: "0.0.
|
|
197
|
+
LiveFeedFromFile[_a] = { fqn: "awscdk-construct-mediaconnect-flow.LiveFeedFromFile", version: "0.0.5" };
|
|
194
198
|
function createNdiDiscoveryServer(scope, vpc) {
|
|
195
199
|
const description = 'Allow NDI Discovery Service';
|
|
196
200
|
const sg = new ec2.SecurityGroup(scope, 'NDISecurityGroup', {
|
|
@@ -307,4 +311,4 @@ function startFlow(scope, id, flowArn) {
|
|
|
307
311
|
});
|
|
308
312
|
return new Date();
|
|
309
313
|
}
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUZlZWRGcm9tRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaXZlRmVlZEZyb21GaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUE0VkEsOEJBNkJDOztBQXpYRCxpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbUVBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCxtRUFBOEc7QUFDOUcsMkZBQTZFO0FBQzdFLDJDQUF1QztBQW1DdkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDakMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUU5QyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBSTdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQ0osSUFBSSxFQUNKLFdBQVcsR0FBRztZQUNaLGtCQUFrQixFQUFFLENBQUM7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsUUFBUSxFQUFFLGFBQWE7U0FDeEIsRUFDRCxNQUFNLEdBQUc7WUFDUCxRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxpQkFBaUI7U0FDeEIsRUFDRCxTQUFTLEVBQ1QsU0FBUyxHQUFHLElBQUksR0FDakIsR0FBRyxLQUFLLENBQUM7UUFFVixNQUFNLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ3JCLFFBQVEsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixLQUFLLEtBQUs7b0JBQ1IsT0FBTyxLQUFLLENBQUM7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QUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ25FLGlDQUFpQztZQUNqQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO1NBQ25DO1FBQ0QseUdBQXlHO1FBQ3pHLE1BQU0sRUFBRSwwQ0FBdUIsQ0FBQyxZQUFZLENBQUM7WUFDM0MsU0FBUyxFQUFFLDBDQUF1QixDQUFDLFlBQVk7U0FDaEQsQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ2ZuRmxvdyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0ICogYXMgYXNtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5pbXBvcnQgeyBBd3NDdXN0b21SZXNvdXJjZSwgQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3ksIFBoeXNpY2FsUmVzb3VyY2VJZCB9IGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgTWVkaWFMaXZlLCBzdGFydENoYW5uZWwgfSBmcm9tICdhd3NjZGstY29uc3RydWN0LW1lZGlhbGl2ZS1jaGFubmVsJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVTcGVjIHtcbiAgcmVhZG9ubHkgdHlwZT86ICdNUDRfRklMRScgfCAnVFNfRklMRSc7IC8vIFR5cGUgb2YgdGhlIGlucHV0IGZpbGVcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7IC8vIFMzIFVSTCBvZiB0aGUgaW5wdXQgZmlsZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVTb3VyY2VTcGVjIHtcbiAgcmVhZG9ubHkgcHJvdG9jb2w6ICdSVFAnIHwgJ1JUUC1GRUMnIHwgJ1NSVCc7IC8vIFByb3RvY29sIG9mIHRoZSBsaXZlIHNvdXJjZVxuICByZWFkb25seSB0eXBlOiAnU1RBTkRBUkQtU09VUkNFJyB8ICdWUEMtU09VUkNFJzsgLy8gVHlwZSBvZiB0aGUgbGl2ZSBzb3VyY2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWcGNDb25maWcge1xuICByZWFkb25seSBwcm9wczogZWMyLlZwY1Byb3BzO1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lPzogc3RyaW5nO1xuICByZWFkb25seSBzdWJuZXRJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZW5hYmxlTkRJPzogYm9vbGVhbjsgLy8gU2V0dGluZ3MgZm9yIE5ESSBvdXRwdXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmNvZGVyU2V0dGluZ3Mge1xuICByZWFkb25seSBnb3BMZW5ndGhJblNlY29uZHM/OiBudW1iZXI7IC8vIFRoZSBsZW5ndGggb2YgdGhlIEdPUCBpbiBzZWNvbmRzLlxuICByZWFkb25seSB0aW1lY29kZUJ1cm5pblByZWZpeD86IHN0cmluZzsgLy8gVGhlIHByZWZpeCBmb3IgdGhlIHRpbWVjb2RlIGJ1cm4taW4uXG4gIHJlYWRvbmx5IGZyYW1lcmF0ZU51bWVyYXRvcj86IG51bWJlcjsgLy8gVGhlIG51bWVyYXRvciBmb3IgdGhlIGZyYW1lcmF0ZS5cbiAgcmVhZG9ubHkgZnJhbWVyYXRlRGVub21pbmF0b3I/OiBudW1iZXI7IC8vIFRoZSBkZW5vbWluYXRvciBmb3IgdGhlIGZyYW1lcmF0ZS5cbiAgcmVhZG9ubHkgc2NhblR5cGU/OiAnUFJPR1JFU1NJVkUnIHwgJ0lOVEVSTEFDRUQnOyAvLyBUaGUgc2NhbiB0eXBlLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVGZWVkRnJvbUZpbGVQcm9wcyB7XG4gIHJlYWRvbmx5IGZpbGU6IEZpbGVTcGVjOyAvLyBGaWxlIHNwZWNpZmljYXRpb25cbiAgcmVhZG9ubHkgZW5jb2RlclNwZWM/OiBFbmNvZGVyU2V0dGluZ3M7IC8vIE9wdGlvbmFsIGVuY29kZXIgc2V0dGluZ3MgZm9yIE1lZGlhTGl2ZVxuICByZWFkb25seSBzb3VyY2U/OiBMaXZlU291cmNlU3BlYzsgLy8gT3B0aW9uYWwgbGl2ZSBzb3VyY2Ugc3BlY2lmaWNhdGlvblxuICByZWFkb25seSB2cGNDb25maWc/OiBWcGNDb25maWc7IC8vIFNldHRpbmdzIGZvciBWUEMuIFJlcXVpcmVkIHdoZW4gdGhlIHNvdXJjZSB0eXBlIGlzIFZQQy1TT1VSQ0UgYW5kL29yIFZQQyBvdXRwdXRzIHdpbGwgYmUgYWRkZWQgdG8gdGhpcyBmbG93LlxuICByZWFkb25seSBhdXRvU3RhcnQ/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgc3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsIGFuZCBNZWRpYUNvbm5lY3QgZmxvd1xufVxuXG5jb25zdCBzb3VyY2VJbmdlc3RQb3J0ID0gNTAwMDtcbmNvbnN0IGRpc2NvdmVyeVNlcnZlclBvcnQgPSA1OTU5O1xuY29uc3QgVlBDX0lOVEVSRkFDRV9OQU1FID0gJ3ZwY0ludGVyZmFjZU5hbWUnO1xuXG5leHBvcnQgY2xhc3MgTGl2ZUZlZWRGcm9tRmlsZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBmbG93OiBDZm5GbG93O1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExpdmVGZWVkRnJvbUZpbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBmaWxlLFxuICAgICAgZW5jb2RlclNwZWMgPSB7XG4gICAgICAgIGdvcExlbmd0aEluU2Vjb25kczogMixcbiAgICAgICAgdGltZWNvZGVCdXJuaW5QcmVmaXg6ICdDaCcsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogMzAwMDAsXG4gICAgICAgIGZyYW1lcmF0ZURlbm9taW5hdG9yOiAxMDAxLFxuICAgICAgICBzY2FuVHlwZTogJ1BST0dSRVNTSVZFJyxcbiAgICAgIH0sXG4gICAgICBzb3VyY2UgPSB7XG4gICAgICAgIHByb3RvY29sOiAnU1JUJyxcbiAgICAgICAgdHlwZTogJ1NUQU5EQVJELVNPVVJDRScsXG4gICAgICB9LFxuICAgICAgdnBjQ29uZmlnLFxuICAgICAgYXV0b1N0YXJ0ID0gdHJ1ZSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCB1dWlkID0gYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gO1xuICAgIGNvbnN0IHByb3RvY29sID0gKCgpID0+IHtcbiAgICAgIHN3aXRjaCAoc291cmNlLnByb3RvY29sKSB7XG4gICAgICAgIGNhc2UgJ1JUUCc6XG4gICAgICAgICAgcmV0dXJuICdydHAnO1xuICAgICAgICBjYXNlICdSVFAtRkVDJzpcbiAgICAgICAgICByZXR1cm4gJ3J0cC1mZWMnO1xuICAgICAgICBjYXNlICdTUlQnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnc3J0LWxpc3RlbmVyJztcbiAgICAgIH1cbiAgICB9KSgpO1xuXG4gICAgLy8gQ3JlYXRlIGEgVlBDXG4gICAgY29uc3QgdnBjID0gdnBjQ29uZmlnID8gbmV3IGVjMi5WcGModGhpcywgJ1ZQQycsIHZwY0NvbmZpZy5wcm9wcykgOiB1bmRlZmluZWQ7XG4gICAgdnBjICYmIHZwYy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBBbGxvY2F0ZSBhbiBFbGFzdGljIElQIGZvciB0aGUgVlBDIGludGVyZmFjZVxuICAgIGNvbnN0IGVpcCA9IHZwYyA/IG5ldyBlYzIuQ2ZuRUlQKHRoaXMsICdFSVAnLCB7XG4gICAgICBkb21haW46ICd2cGMnLCAvLyBFbnN1cmUgdGhlIEVJUCBpcyBhbGxvY2F0ZWQgaW4gdGhlIFZQQ1xuICAgIH0pIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gQ3JlYXRlIGEgc2VjdXJpdHkgZ3JvdXAgdG8gYWxsb3cgcHVzaCBpbnB1dFxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gJ0FsbG93IFB1c2ggaW5wdXQgZnJvbSBNZWRpYUxpdmUnO1xuICAgIGNvbnN0IHNnID0gdnBjID8gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdTZWN1cml0eUdyb3VwJywge1xuICAgICAgdnBjLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pOiB1bmRlZmluZWQ7XG4gICAgc2cgJiYgc2cuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgIHNnICYmIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgZWMyLlBvcnQudWRwKHNvdXJjZUluZ2VzdFBvcnQpLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgKTtcblxuICAgIC8vIENyZWF0ZSBhbiBOREkgZGlzY292ZXJ5IHNlcnZlclxuICAgIGxldCBuZGlDb25maWc6IENmbkZsb3cuTmRpQ29uZmlnUHJvcGVydHkgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHZwYyAmJiB2cGNDb25maWc/LmVuYWJsZU5ESSkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBjcmVhdGVOZGlEaXNjb3ZlcnlTZXJ2ZXIodGhpcywgdnBjKTtcbiAgICAgIG5kaUNvbmZpZyA9IHtcbiAgICAgICAgbmRpRGlzY292ZXJ5U2VydmVyczogW3tcbiAgICAgICAgICBkaXNjb3ZlcnlTZXJ2ZXJBZGRyZXNzOiBpbnN0YW5jZS5pbnN0YW5jZVByaXZhdGVJcCwgLy8gVXNlIHRoZSBwcml2YXRlIElQIG9mIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZlclxuICAgICAgICAgIHZwY0ludGVyZmFjZUFkYXB0ZXI6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgICBkaXNjb3ZlcnlTZXJ2ZXJQb3J0LFxuICAgICAgICB9XSxcbiAgICAgICAgbmRpU3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgIH07XG4gICAgICBzZyAmJiBzZy5hZGRJbmdyZXNzUnVsZShcbiAgICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgICBlYzIuUG9ydC50Y3BSYW5nZSg1OTYxLCA2NTUzNSksXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzZWNyZXRcbiAgICBjb25zdCByYW5kb21zdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgtOCk7XG4gICAgY29uc3Qgc291cmNlUGFzc3dvcmQgPSBuZXcgYXNtLlNlY3JldCh0aGlzLCAnU291cmNlUGFzc3dvcmQnLCB7XG4gICAgICBzZWNyZXROYW1lOiBgc2VjcmV0LSR7dXVpZH1gLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHsgcGFzc3dvcmQ6IHJhbmRvbXN0cmluZyB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6ICdwYXNzd29yZCcsXG4gICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGFuIElBTSByb2xlIGZvciBNZWRpYUNvbm5lY3QgdG8gYWNjZXNzIHRoZSBWUENcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdNZWRpYUNvbm5lY3RSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ21lZGlhY29ubmVjdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBwb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRSZXNvdXJjZVBvbGljeScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpMaXN0U2VjcmV0VmVyc2lvbklkcycsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25WUENGdWxsQWNjZXNzJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGEgTWVkaWFDb25uZWN0IGZsb3dcbiAgICBjb25zdCBmbG93ID0gbmV3IENmbkZsb3codGhpcywgJ015Q2ZuRmxvdycsIHtcbiAgICAgIG5hbWU6IGBsY3AtZGVtby0ke3V1aWR9YCxcbiAgICAgIHNvdXJjZToge1xuICAgICAgICBuYW1lOiBgbGNwLWRlbW8tc291cmNlLSR7dXVpZH1gLFxuICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgLy8gbWF4TGF0ZW5jeTogMjAwMCxcbiAgICAgICAgLy8gbWluTGF0ZW5jeTogMTAwMCxcbiAgICAgICAgLy8gdnBjSW50ZXJmYWNlTmFtZTogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICB3aGl0ZWxpc3RDaWRyOiBzb3VyY2UudHlwZSA9PT0gJ1NUQU5EQVJELVNPVVJDRScgPyAnMC4wLjAuMC8wJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVjcnlwdGlvbjoge1xuICAgICAgICAgIC8vIGFsZ29yaXRobTogJ2FlczEyOCcsXG4gICAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICAgIHNlY3JldEFybjogc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuLFxuICAgICAgICB9LFxuICAgICAgICAvLyBzb3VyY2VJbmdlc3RQb3J0OiBgJHtzb3VyY2VJbmdlc3RQb3J0fWAsXG4gICAgICAgIHZwY0ludGVyZmFjZU5hbWU6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgPyBWUENfSU5URVJGQUNFX05BTUUgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdnBjQ29uZmlnPy5hdmFpbGFiaWxpdHlab25lID8/IHZwYz8uYXZhaWxhYmlsaXR5Wm9uZXNbMF0sXG4gICAgICBmbG93U2l6ZTogdnBjQ29uZmlnPy5lbmFibGVOREkgPyAnTEFSR0UnIDogJ01FRElVTScsXG4gICAgICBuZGlDb25maWcsXG4gICAgICBzb3VyY2VNb25pdG9yaW5nQ29uZmlnOiB7XG4gICAgICAgIHRodW1ibmFpbFN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgIGNvbnRlbnRRdWFsaXR5QW5hbHlzaXNTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfSxcbiAgICAgIHZwY0ludGVyZmFjZXM6IHZwYyA/IFt7XG4gICAgICAgIG5hbWU6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBbc2chLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICAgIHN1Ym5ldElkOiB2cGNDb25maWc/LnN1Ym5ldElkID8/IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICAgIH1dIDogW10sXG4gICAgfSk7XG4gICAgZmxvdy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBTdGFydCB0aGUgTWVkaWFDb25uZWN0IEZsb3dcbiAgICBhdXRvU3RhcnQgJiYgc3RhcnRGbG93KHRoaXMsICdTdGFydE1lZGlhQ29ubmVjdEZsb3cnLCBmbG93LmF0dHJGbG93QXJuKTtcblxuICAgIC8vIENyZWF0ZSBNZWRpYUxpdmUgY2hhbm5lbFxuICAgIGNvbnN0IGVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZXM6IFt7IHVybDogZmlsZS51cmwucmVwbGFjZSgnczM6Ly8nLCAnczNzc2w6Ly8nKSwgdHlwZTogZmlsZS50eXBlID8/ICdNUDRfRklMRScgfV0sXG4gICAgICBkZXN0aW5hdGlvbnM6IFt7XG4gICAgICAgIGlkOiAnU1JUJyxcbiAgICAgICAgc3J0U2V0dGluZ3M6IFt7XG4gICAgICAgICAgdXJsOiBgc3J0Oi8vJHtmbG93LmF0dHJTb3VyY2VJbmdlc3RJcH06JHtmbG93LmF0dHJTb3VyY2VTb3VyY2VJbmdlc3RQb3J0fWAsIC8vIFVzZSB0aGUgTWVkaWFDb25uZWN0IEZsb3cgVVJMXG4gICAgICAgICAgZW5jcnlwdGlvblBhc3NwaHJhc2VTZWNyZXRBcm46IHNvdXJjZVBhc3N3b3JkLnNlY3JldEFybixcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICAgIGNoYW5uZWxDbGFzczogJ1NJTkdMRV9QSVBFTElORScsXG4gICAgICBlbmNvZGVyU3BlYzoge1xuICAgICAgICBvdXRwdXRHcm91cFNldHRpbmdzTGlzdDogW3tcbiAgICAgICAgICBzcnRHcm91cFNldHRpbmdzOiB7XG4gICAgICAgICAgICBpbnB1dExvc3NBY3Rpb246ICdEUk9QX1RTJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgICAgb3V0cHV0U2V0dGluZ3NMaXN0OiBbe1xuICAgICAgICAgIC8vIEFkZCB2YWxpZCBPdXRwdXRTZXR0aW5nc1Byb3BlcnR5IGZpZWxkcyBoZXJlIGlmIG5lZWRlZFxuICAgICAgICAgIHNydE91dHB1dFNldHRpbmdzOiB7XG4gICAgICAgICAgICBsYXRlbmN5OiAyMDAwLCAvLyBMYXRlbmN5IGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgICAgICAgZGVzdGluYXRpb25SZWZJZDogJ1NSVCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6ICdBRVMxMjgnLCAvLyBFbmNyeXB0aW9uIHR5cGVcbiAgICAgICAgICAgIGNvbnRhaW5lclNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG0yVHNTZXR0aW5nczoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgICBnb3BMZW5ndGhJblNlY29uZHM6IGVuY29kZXJTcGVjLmdvcExlbmd0aEluU2Vjb25kcyA/PyAyLFxuICAgICAgICB0aW1lY29kZUJ1cm5pblByZWZpeDogZW5jb2RlclNwZWMudGltZWNvZGVCdXJuaW5QcmVmaXgsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlTnVtZXJhdG9yLFxuICAgICAgICBmcmFtZXJhdGVEZW5vbWluYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlRGVub21pbmF0b3IsXG4gICAgICAgIHNjYW5UeXBlOiBlbmNvZGVyU3BlYy5zY2FuVHlwZSxcbiAgICAgIH0sXG4gICAgICB2cGM6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgJiYgdnBjID8ge1xuICAgICAgICBwdWJsaWNBZGRyZXNzQWxsb2NhdGlvbklkczogW2VpcCEuYXR0ckFsbG9jYXRpb25JZF0sXG4gICAgICAgIHN1Ym5ldElkczogW3ZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtzZyEuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWNyZXQ6IHNvdXJjZVBhc3N3b3JkLFxuICAgIH0pO1xuXG4gICAgLy8gU3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsXG4gICAgYXV0b1N0YXJ0ICYmIHN0YXJ0Q2hhbm5lbCh0aGlzLCAnU3RhcnRNZWRpYUxpdmVDaGFubmVsJywgZW1sLmNoYW5uZWwucmVmKTtcblxuICAgIHRoaXMuZmxvdyA9IGZsb3c7XG4gICAgdGhpcy52cGMgPSB2cGM7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlTmRpRGlzY292ZXJ5U2VydmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHZwYzogZWMyLklWcGMpOiBlYzIuSW5zdGFuY2Uge1xuICBjb25zdCBkZXNjcmlwdGlvbiA9ICdBbGxvdyBOREkgRGlzY292ZXJ5IFNlcnZpY2UnO1xuICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cChzY29wZSwgJ05ESVNlY3VyaXR5R3JvdXAnLCB7XG4gICAgdnBjLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gIH0pO1xuICBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgIGVjMi5QZWVyLmFueUlwdjQoKSxcbiAgICBlYzIuUG9ydC50Y3AoZGlzY292ZXJ5U2VydmVyUG9ydCksXG4gICAgZGVzY3JpcHRpb24sXG4gICk7XG4gIGNvbnN0IGluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZShzY29wZSwgJ0luc3RhbmNlJywge1xuICAgIHZwYyxcbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMywgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTyksXG4gICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMygpLFxuICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgIHNlY3VyaXR5R3JvdXA6IHNnLFxuICB9KTtcbiAgaW5zdGFuY2UuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAvLyBHZXQgdGhlIENsb3VkRm9ybWF0aW9uIGxvZ2ljYWwgSUQgZm9yIHRoZSBpbnN0YW5jZVxuICBjb25zdCBjZm5JbnN0YW5jZSA9IGluc3RhbmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZTtcbiAgY29uc3QgbG9naWNhbElkID0gY2ZuSW5zdGFuY2UubG9naWNhbElkO1xuICBpbnN0YW5jZS5hcHBseUNsb3VkRm9ybWF0aW9uSW5pdChlYzIuQ2xvdWRGb3JtYXRpb25Jbml0LmZyb21Db25maWdTZXRzKHtcbiAgICBjb25maWdTZXRzOiB7XG4gICAgICAvLyBBcHBsaWVzIHRoZSBjb25maWdzIGJlbG93IGluIHRoaXMgb3JkZXJcbiAgICAgIGRlZmF1bHQ6IFsnY29uZmlnSW5zdGFuY2UnLCAnZmluYWxpemUnXSxcbiAgICB9LFxuICAgIGNvbmZpZ3M6IHtcbiAgICAgIGNvbmZpZ0luc3RhbmNlOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBOREkgRGlzY292ZXJ5IFNlcnZpY2Ugc2NyaXB0XG4gICAgICAgIGVjMi5Jbml0RmlsZS5mcm9tU3RyaW5nKFxuICAgICAgICAgICcvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyxcbiAgICAgICAgICBgW1VuaXRdXG4gICAgICAgICAgRGVzY3JpcHRpb249TkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgICAgXG4gICAgICAgICAgW1NlcnZpY2VdXG4gICAgICAgICAgRXhlY1N0YXJ0UHJlPS9iaW4vc2xlZXAgMzBcbiAgICAgICAgICBVc2VyPWVjMi11c2VyXG4gICAgICAgICAgV29ya2luZ0RpcmVjdG9yeT0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudVxuICAgICAgICAgIEV4ZWNTdGFydD0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudS9uZGktZGlzY292ZXJ5LXNlcnZlclxuICAgICAgICAgIFJlc3RhcnQ9YWx3YXlzXG5cbiAgICAgICAgICBbSW5zdGFsbF1cbiAgICAgICAgICBXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldFxuICAgICAgICBgKSxcbiAgICAgICAgLy8gTkRJIERpc2NvdmVyeSBTZXJ2ZXIgSW5zdGFsbGF0aW9uIHNjcmlwdFxuICAgICAgICBlYzIuSW5pdEZpbGUuZnJvbVN0cmluZyhcbiAgICAgICAgICAnL3RtcC9pbnN0YWxsLW5kaS1kaXNjb3Zlcnkuc2gnLFxuICAgICAgICAgIGAjIS9iaW4vYmFzaCAteGVcbiAgICAgICAgICBjZCAvaG9tZS9lYzItdXNlclxuXG4gICAgICAgICAgI0luc3RhbGwgdXBkYXRlc1xuICAgICAgICAgIHl1bSB1cGRhdGUgLXlcblxuICAgICAgICAgICNEb3dubG9hZCB0aGUgTkRJIExpbnV4IFNESyBhbmQgZXh0cmFjdCBpdCBhbmQgcnVuIHRoZSBpbnN0YWxsIHNjcmlwdFxuICAgICAgICAgIHdnZXQgaHR0cHM6Ly9kb3dubG9hZHMubmRpLnR2L1NESy9ORElfU0RLX0xpbnV4L0luc3RhbGxfTkRJX1NES192Nl9MaW51eC50YXIuZ3pcbiAgICAgICAgICB0YXIgLXh6ZiBJbnN0YWxsX05ESV9TREtfdjZfTGludXgudGFyLmd6XG4gICAgICAgICAgeWVzIHwgc3VkbyAuL0luc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuXG4gICAgICAgICAgI0NsZWFuIHVwIGFuZCBwcmVwYXJlIGRpcmVjdG9yaWVzXG4gICAgICAgICAgcm0gLWYgSW5zdGFsbF9ORElfU0RLX3Y2X0xpbnV4LnRhci5nelxuICAgICAgICAgIHJtIC1mIEluc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuICAgICAgICAgIGNwIC1yICdOREkgU0RLIGZvciBMaW51eCcvKiAuL1xuICAgICAgICAgIHJtIC1yICdOREkgU0RLIGZvciBMaW51eCcvXG4gICAgICAgIGApLFxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZpY2VcbiAgICAgICAgZWMyLkluaXRDb21tYW5kLnNoZWxsQ29tbWFuZCgnc3VkbyBiYXNoIC90bXAvaW5zdGFsbC1uZGktZGlzY292ZXJ5LnNoJyksXG4gICAgICAgIC8vIFJ1biB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoJ3N1ZG8gc3lzdGVtY3RsIGVuYWJsZSAvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyksXG4gICAgICBdKSxcbiAgICAgIGZpbmFsaXplOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBTdGFydCB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoXG4gICAgICAgICAgY2RrLkZuLnN1YignL29wdC9hd3MvYmluL2Nmbi1zaWduYWwgLWUgJD8gLS1zdGFjayAke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSAke1Jlc291cmNlfSAtLXJlZ2lvbiAke1JlZ2lvbn0nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTdGFja05hbWU6IGNkay5Bd3MuU1RBQ0tfTkFNRSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IGxvZ2ljYWxJZCxcbiAgICAgICAgICAgICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgfSxcbiAgfSkpO1xuICBpbnN0YW5jZS5hZGRVc2VyRGF0YShjZGsuRm4uc3ViKGBcbiAgICAjIS9iaW4vYmFzaCAteGVcbiAgICB5dW0gaW5zdGFsbCAteSBhd3MtY2ZuLWJvb3RzdHJhcFxuICAgIHN1ZG8gL29wdC9hd3MvYmluL2Nmbi1pbml0IC0tY29uZmlnc2V0cyBkZWZhdWx0IC12IC0tc3RhY2sgXFwke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSBcXCR7UmVzb3VyY2V9IC0tcmVnaW9uIFxcJHtSZWdpb259XG4gICAgc3VkbyByZWJvb3RcbiAgYCwge1xuICAgIFN0YWNrTmFtZTogY2RrLkF3cy5TVEFDS19OQU1FLFxuICAgIFJlc291cmNlOiBsb2dpY2FsSWQsXG4gICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgfSkpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEZsb3coc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZmxvd0Fybjogc3RyaW5nKTogRGF0ZSB7XG4gIC8vIFN0YXJ0IGNoYW5uZWxcbiAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCBpZCwge1xuICAgIG9uQ3JlYXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0YXJ0RmxvdycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIEZsb3dBcm46IGZsb3dBcm4sXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gKSxcbiAgICAgIC8vIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZzogJyonLFxuICAgICAgb3V0cHV0UGF0aHM6IFsnRmxvd0FybicsICdTdGF0dXMnXSxcbiAgICB9LFxuICAgIG9uRGVsZXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0b3BGbG93JyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRmxvd0FybjogZmxvd0FybixcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWApLFxuICAgICAgLy8gaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nOiAnKicsXG4gICAgICBvdXRwdXRQYXRoczogWydGbG93QXJuJywgJ1N0YXR1cyddLFxuICAgIH0sXG4gICAgLy9XaWxsIGlnbm9yZSBhbnkgcmVzb3VyY2UgYW5kIHVzZSB0aGUgYXNzdW1lZFJvbGVBcm4gYXMgcmVzb3VyY2UgYW5kICdzdHM6QXNzdW1lUm9sZScgZm9yIHNlcnZpY2U6YWN0aW9uXG4gICAgcG9saWN5OiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgfSksXG4gIH0pO1xuICByZXR1cm4gbmV3IERhdGUoKTtcbn1cbiJdfQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUZlZWRGcm9tRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaXZlRmVlZEZyb21GaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFrV0EsOEJBNkJDOztBQS9YRCxpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbUVBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCxtRUFBOEc7QUFDOUcsMkZBQTZFO0FBQzdFLDJDQUF1QztBQXFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDakMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUU5QyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBSTdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQ0osSUFBSSxFQUNKLFdBQVcsR0FBRztZQUNaLGtCQUFrQixFQUFFLENBQUM7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtTQUNiLEVBQ0QsTUFBTSxHQUFHO1lBQ1AsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCLEVBQ0QsU0FBUyxFQUNULFNBQVMsR0FBRyxJQUFJLEdBQ2pCLEdBQUcsS0FBSyxDQUFDO1FBRVYsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNyQixRQUFRLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FB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QUFFLGNBQWM7WUFDdkIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1lBQ0Qsa0JBQWtCLEVBQUUscUNBQWtCLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDbkUsaUNBQWlDO1lBQ2pDLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7U0FDbkM7UUFDRCx5R0FBeUc7UUFDekcsTUFBTSxFQUFFLDBDQUF1QixDQUFDLFlBQVksQ0FBQztZQUMzQyxTQUFTLEVBQUUsMENBQXVCLENBQUMsWUFBWTtTQUNoRCxDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDZm5GbG93IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgKiBhcyBhc20gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlLCBBd3NDdXN0b21SZXNvdXJjZVBvbGljeSwgUGh5c2ljYWxSZXNvdXJjZUlkIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBNZWRpYUxpdmUsIHN0YXJ0Q2hhbm5lbCB9IGZyb20gJ2F3c2Nkay1jb25zdHJ1Y3QtbWVkaWFsaXZlLWNoYW5uZWwnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVNwZWMge1xuICByZWFkb25seSB0eXBlPzogJ01QNF9GSUxFJyB8ICdUU19GSUxFJzsgLy8gVHlwZSBvZiB0aGUgaW5wdXQgZmlsZVxuICByZWFkb25seSB1cmw6IHN0cmluZzsgLy8gUzMgVVJMIG9mIHRoZSBpbnB1dCBmaWxlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGl2ZVNvdXJjZVNwZWMge1xuICByZWFkb25seSBwcm90b2NvbDogJ1JUUCcgfCAnUlRQLUZFQycgfCAnU1JUJzsgLy8gUHJvdG9jb2wgb2YgdGhlIGxpdmUgc291cmNlXG4gIHJlYWRvbmx5IHR5cGU6ICdTVEFOREFSRC1TT1VSQ0UnIHwgJ1ZQQy1TT1VSQ0UnOyAvLyBUeXBlIG9mIHRoZSBsaXZlIHNvdXJjZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZyB7XG4gIHJlYWRvbmx5IHByb3BzOiBlYzIuVnBjUHJvcHM7XG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1Ym5ldElkPzogc3RyaW5nO1xuICByZWFkb25seSBlbmFibGVOREk/OiBib29sZWFuOyAvLyBTZXR0aW5ncyBmb3IgTkRJIG91dHB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVuY29kZXJTZXR0aW5ncyB7XG4gIHJlYWRvbmx5IGdvcExlbmd0aEluU2Vjb25kcz86IG51bWJlcjsgLy8gVGhlIGxlbmd0aCBvZiB0aGUgR09QIGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IHRpbWVjb2RlQnVybmluUHJlZml4Pzogc3RyaW5nOyAvLyBUaGUgcHJlZml4IGZvciB0aGUgdGltZWNvZGUgYnVybi1pbi5cbiAgcmVhZG9ubHkgZnJhbWVyYXRlTnVtZXJhdG9yPzogbnVtYmVyOyAvLyBUaGUgbnVtZXJhdG9yIGZvciB0aGUgZnJhbWVyYXRlLlxuICByZWFkb25seSBmcmFtZXJhdGVEZW5vbWluYXRvcj86IG51bWJlcjsgLy8gVGhlIGRlbm9taW5hdG9yIGZvciB0aGUgZnJhbWVyYXRlLlxuICByZWFkb25seSBzY2FuVHlwZT86ICdQUk9HUkVTU0lWRScgfCAnSU5URVJMQUNFRCc7IC8vIFRoZSBzY2FuIHR5cGUuXG4gIHJlYWRvbmx5IHdpZHRoPzogbnVtYmVyOyAvLyBUaGUgd2lkdGggb2YgdGhlIHZpZGVvLlxuICByZWFkb25seSBoZWlnaHQ/OiBudW1iZXI7IC8vIFRoZSBoZWlnaHQgb2YgdGhlIHZpZGVvLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVGZWVkRnJvbUZpbGVQcm9wcyB7XG4gIHJlYWRvbmx5IGZpbGU6IEZpbGVTcGVjOyAvLyBGaWxlIHNwZWNpZmljYXRpb25cbiAgcmVhZG9ubHkgZW5jb2RlclNwZWM/OiBFbmNvZGVyU2V0dGluZ3M7IC8vIE9wdGlvbmFsIGVuY29kZXIgc2V0dGluZ3MgZm9yIE1lZGlhTGl2ZVxuICByZWFkb25seSBzb3VyY2U/OiBMaXZlU291cmNlU3BlYzsgLy8gT3B0aW9uYWwgbGl2ZSBzb3VyY2Ugc3BlY2lmaWNhdGlvblxuICByZWFkb25seSB2cGNDb25maWc/OiBWcGNDb25maWc7IC8vIFNldHRpbmdzIGZvciBWUEMuIFJlcXVpcmVkIHdoZW4gdGhlIHNvdXJjZSB0eXBlIGlzIFZQQy1TT1VSQ0UgYW5kL29yIFZQQyBvdXRwdXRzIHdpbGwgYmUgYWRkZWQgdG8gdGhpcyBmbG93LlxuICByZWFkb25seSBhdXRvU3RhcnQ/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgc3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsIGFuZCBNZWRpYUNvbm5lY3QgZmxvd1xufVxuXG5jb25zdCBzb3VyY2VJbmdlc3RQb3J0ID0gNTAwMDtcbmNvbnN0IGRpc2NvdmVyeVNlcnZlclBvcnQgPSA1OTU5O1xuY29uc3QgVlBDX0lOVEVSRkFDRV9OQU1FID0gJ3ZwY0ludGVyZmFjZU5hbWUnO1xuXG5leHBvcnQgY2xhc3MgTGl2ZUZlZWRGcm9tRmlsZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBmbG93OiBDZm5GbG93O1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExpdmVGZWVkRnJvbUZpbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBmaWxlLFxuICAgICAgZW5jb2RlclNwZWMgPSB7XG4gICAgICAgIGdvcExlbmd0aEluU2Vjb25kczogMixcbiAgICAgICAgdGltZWNvZGVCdXJuaW5QcmVmaXg6ICdDaCcsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogMzAsXG4gICAgICAgIGZyYW1lcmF0ZURlbm9taW5hdG9yOiAxLFxuICAgICAgICBzY2FuVHlwZTogJ1BST0dSRVNTSVZFJyxcbiAgICAgICAgd2lkdGg6IDE5MjAsXG4gICAgICAgIGhlaWdodDogMTA4MCxcbiAgICAgIH0sXG4gICAgICBzb3VyY2UgPSB7XG4gICAgICAgIHByb3RvY29sOiAnU1JUJyxcbiAgICAgICAgdHlwZTogJ1NUQU5EQVJELVNPVVJDRScsXG4gICAgICB9LFxuICAgICAgdnBjQ29uZmlnLFxuICAgICAgYXV0b1N0YXJ0ID0gdHJ1ZSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCB1dWlkID0gYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gO1xuICAgIGNvbnN0IHByb3RvY29sID0gKCgpID0+IHtcbiAgICAgIHN3aXRjaCAoc291cmNlLnByb3RvY29sKSB7XG4gICAgICAgIGNhc2UgJ1JUUCc6XG4gICAgICAgICAgcmV0dXJuICdydHAnO1xuICAgICAgICBjYXNlICdSVFAtRkVDJzpcbiAgICAgICAgICByZXR1cm4gJ3J0cC1mZWMnO1xuICAgICAgICBjYXNlICdTUlQnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnc3J0LWxpc3RlbmVyJztcbiAgICAgIH1cbiAgICB9KSgpO1xuXG4gICAgLy8gQ3JlYXRlIGEgVlBDXG4gICAgY29uc3QgdnBjID0gdnBjQ29uZmlnID8gbmV3IGVjMi5WcGModGhpcywgJ1ZQQycsIHZwY0NvbmZpZy5wcm9wcykgOiB1bmRlZmluZWQ7XG4gICAgdnBjICYmIHZwYy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBBbGxvY2F0ZSBhbiBFbGFzdGljIElQIGZvciB0aGUgVlBDIGludGVyZmFjZVxuICAgIGNvbnN0IGVpcCA9IHZwYyA/IG5ldyBlYzIuQ2ZuRUlQKHRoaXMsICdFSVAnLCB7XG4gICAgICBkb21haW46ICd2cGMnLCAvLyBFbnN1cmUgdGhlIEVJUCBpcyBhbGxvY2F0ZWQgaW4gdGhlIFZQQ1xuICAgIH0pIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gQ3JlYXRlIGEgc2VjdXJpdHkgZ3JvdXAgdG8gYWxsb3cgcHVzaCBpbnB1dFxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gJ0FsbG93IFB1c2ggaW5wdXQgZnJvbSBNZWRpYUxpdmUnO1xuICAgIGNvbnN0IHNnID0gdnBjID8gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdTZWN1cml0eUdyb3VwJywge1xuICAgICAgdnBjLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pOiB1bmRlZmluZWQ7XG4gICAgc2cgJiYgc2cuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgIHNnICYmIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgZWMyLlBvcnQudWRwKHNvdXJjZUluZ2VzdFBvcnQpLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgKTtcblxuICAgIC8vIENyZWF0ZSBhbiBOREkgZGlzY292ZXJ5IHNlcnZlclxuICAgIGxldCBuZGlDb25maWc6IENmbkZsb3cuTmRpQ29uZmlnUHJvcGVydHkgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHZwYyAmJiB2cGNDb25maWc/LmVuYWJsZU5ESSkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBjcmVhdGVOZGlEaXNjb3ZlcnlTZXJ2ZXIodGhpcywgdnBjKTtcbiAgICAgIG5kaUNvbmZpZyA9IHtcbiAgICAgICAgbmRpRGlzY292ZXJ5U2VydmVyczogW3tcbiAgICAgICAgICBkaXNjb3ZlcnlTZXJ2ZXJBZGRyZXNzOiBpbnN0YW5jZS5pbnN0YW5jZVByaXZhdGVJcCwgLy8gVXNlIHRoZSBwcml2YXRlIElQIG9mIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZlclxuICAgICAgICAgIHZwY0ludGVyZmFjZUFkYXB0ZXI6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgICBkaXNjb3ZlcnlTZXJ2ZXJQb3J0LFxuICAgICAgICB9XSxcbiAgICAgICAgbmRpU3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgIH07XG4gICAgICBzZyAmJiBzZy5hZGRJbmdyZXNzUnVsZShcbiAgICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgICBlYzIuUG9ydC50Y3BSYW5nZSg1OTYxLCA2NTUzNSksXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzZWNyZXRcbiAgICBjb25zdCByYW5kb21zdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgtOCk7XG4gICAgY29uc3Qgc291cmNlUGFzc3dvcmQgPSBuZXcgYXNtLlNlY3JldCh0aGlzLCAnU291cmNlUGFzc3dvcmQnLCB7XG4gICAgICBzZWNyZXROYW1lOiBgc2VjcmV0LSR7dXVpZH1gLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHsgcGFzc3dvcmQ6IHJhbmRvbXN0cmluZyB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6ICdwYXNzd29yZCcsXG4gICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGFuIElBTSByb2xlIGZvciBNZWRpYUNvbm5lY3QgdG8gYWNjZXNzIHRoZSBWUENcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdNZWRpYUNvbm5lY3RSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ21lZGlhY29ubmVjdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBwb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRSZXNvdXJjZVBvbGljeScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpMaXN0U2VjcmV0VmVyc2lvbklkcycsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25WUENGdWxsQWNjZXNzJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGEgTWVkaWFDb25uZWN0IGZsb3dcbiAgICBjb25zdCBmbG93ID0gbmV3IENmbkZsb3codGhpcywgJ015Q2ZuRmxvdycsIHtcbiAgICAgIG5hbWU6IGBsY3AtZGVtby0ke3V1aWR9YCxcbiAgICAgIHNvdXJjZToge1xuICAgICAgICBuYW1lOiBgbGNwLWRlbW8tc291cmNlLSR7dXVpZH1gLFxuICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgLy8gbWF4TGF0ZW5jeTogMjAwMCxcbiAgICAgICAgLy8gbWluTGF0ZW5jeTogMTAwMCxcbiAgICAgICAgLy8gdnBjSW50ZXJmYWNlTmFtZTogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICB3aGl0ZWxpc3RDaWRyOiBzb3VyY2UudHlwZSA9PT0gJ1NUQU5EQVJELVNPVVJDRScgPyAnMC4wLjAuMC8wJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVjcnlwdGlvbjoge1xuICAgICAgICAgIC8vIGFsZ29yaXRobTogJ2FlczEyOCcsXG4gICAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICAgIHNlY3JldEFybjogc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuLFxuICAgICAgICB9LFxuICAgICAgICAvLyBzb3VyY2VJbmdlc3RQb3J0OiBgJHtzb3VyY2VJbmdlc3RQb3J0fWAsXG4gICAgICAgIHZwY0ludGVyZmFjZU5hbWU6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgPyBWUENfSU5URVJGQUNFX05BTUUgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdnBjQ29uZmlnPy5hdmFpbGFiaWxpdHlab25lID8/IHZwYz8uYXZhaWxhYmlsaXR5Wm9uZXNbMF0sXG4gICAgICBmbG93U2l6ZTogdnBjQ29uZmlnPy5lbmFibGVOREkgPyAnTEFSR0UnIDogJ01FRElVTScsXG4gICAgICBuZGlDb25maWcsXG4gICAgICBzb3VyY2VNb25pdG9yaW5nQ29uZmlnOiB7XG4gICAgICAgIHRodW1ibmFpbFN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgIGNvbnRlbnRRdWFsaXR5QW5hbHlzaXNTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfSxcbiAgICAgIHZwY0ludGVyZmFjZXM6IHZwYyA/IFt7XG4gICAgICAgIG5hbWU6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBbc2chLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICAgIHN1Ym5ldElkOiB2cGNDb25maWc/LnN1Ym5ldElkID8/IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICAgIH1dIDogW10sXG4gICAgfSk7XG4gICAgZmxvdy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBTdGFydCB0aGUgTWVkaWFDb25uZWN0IEZsb3dcbiAgICBhdXRvU3RhcnQgJiYgc3RhcnRGbG93KHRoaXMsICdTdGFydE1lZGlhQ29ubmVjdEZsb3cnLCBmbG93LmF0dHJGbG93QXJuKTtcblxuICAgIC8vIENyZWF0ZSBNZWRpYUxpdmUgY2hhbm5lbFxuICAgIGNvbnN0IGVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZXM6IFt7IHVybDogZmlsZS51cmwucmVwbGFjZSgnczM6Ly8nLCAnczNzc2w6Ly8nKSwgdHlwZTogZmlsZS50eXBlID8/ICdNUDRfRklMRScgfV0sXG4gICAgICBkZXN0aW5hdGlvbnM6IFt7XG4gICAgICAgIGlkOiAnU1JUJyxcbiAgICAgICAgc3J0U2V0dGluZ3M6IFt7XG4gICAgICAgICAgdXJsOiBgc3J0Oi8vJHtmbG93LmF0dHJTb3VyY2VJbmdlc3RJcH06JHtmbG93LmF0dHJTb3VyY2VTb3VyY2VJbmdlc3RQb3J0fWAsIC8vIFVzZSB0aGUgTWVkaWFDb25uZWN0IEZsb3cgVVJMXG4gICAgICAgICAgZW5jcnlwdGlvblBhc3NwaHJhc2VTZWNyZXRBcm46IHNvdXJjZVBhc3N3b3JkLnNlY3JldEFybixcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICAgIGNoYW5uZWxDbGFzczogJ1NJTkdMRV9QSVBFTElORScsXG4gICAgICBlbmNvZGVyU3BlYzoge1xuICAgICAgICBvdXRwdXRHcm91cFNldHRpbmdzTGlzdDogW3tcbiAgICAgICAgICBzcnRHcm91cFNldHRpbmdzOiB7XG4gICAgICAgICAgICBpbnB1dExvc3NBY3Rpb246ICdEUk9QX1RTJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgICAgb3V0cHV0U2V0dGluZ3NMaXN0OiBbe1xuICAgICAgICAgIC8vIEFkZCB2YWxpZCBPdXRwdXRTZXR0aW5nc1Byb3BlcnR5IGZpZWxkcyBoZXJlIGlmIG5lZWRlZFxuICAgICAgICAgIHNydE91dHB1dFNldHRpbmdzOiB7XG4gICAgICAgICAgICBsYXRlbmN5OiAyMDAwLCAvLyBMYXRlbmN5IGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgICAgICAgZGVzdGluYXRpb25SZWZJZDogJ1NSVCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6ICdBRVMxMjgnLCAvLyBFbmNyeXB0aW9uIHR5cGVcbiAgICAgICAgICAgIGNvbnRhaW5lclNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG0yVHNTZXR0aW5nczoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgICBnb3BMZW5ndGhJblNlY29uZHM6IGVuY29kZXJTcGVjLmdvcExlbmd0aEluU2Vjb25kcyA/PyAyLFxuICAgICAgICB0aW1lY29kZUJ1cm5pblByZWZpeDogZW5jb2RlclNwZWMudGltZWNvZGVCdXJuaW5QcmVmaXgsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlTnVtZXJhdG9yLFxuICAgICAgICBmcmFtZXJhdGVEZW5vbWluYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlRGVub21pbmF0b3IsXG4gICAgICAgIHNjYW5UeXBlOiBlbmNvZGVyU3BlYy5zY2FuVHlwZSxcbiAgICAgICAgd2lkdGg6IGVuY29kZXJTcGVjLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGVuY29kZXJTcGVjLmhlaWdodCxcbiAgICAgIH0sXG4gICAgICB2cGM6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgJiYgdnBjID8ge1xuICAgICAgICBwdWJsaWNBZGRyZXNzQWxsb2NhdGlvbklkczogW2VpcCEuYXR0ckFsbG9jYXRpb25JZF0sXG4gICAgICAgIHN1Ym5ldElkczogW3ZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtzZyEuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWNyZXQ6IHNvdXJjZVBhc3N3b3JkLFxuICAgIH0pO1xuXG4gICAgLy8gU3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsXG4gICAgYXV0b1N0YXJ0ICYmIHN0YXJ0Q2hhbm5lbCh0aGlzLCAnU3RhcnRNZWRpYUxpdmVDaGFubmVsJywgZW1sLmNoYW5uZWwucmVmKTtcblxuICAgIHRoaXMuZmxvdyA9IGZsb3c7XG4gICAgdGhpcy52cGMgPSB2cGM7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlTmRpRGlzY292ZXJ5U2VydmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHZwYzogZWMyLklWcGMpOiBlYzIuSW5zdGFuY2Uge1xuICBjb25zdCBkZXNjcmlwdGlvbiA9ICdBbGxvdyBOREkgRGlzY292ZXJ5IFNlcnZpY2UnO1xuICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cChzY29wZSwgJ05ESVNlY3VyaXR5R3JvdXAnLCB7XG4gICAgdnBjLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gIH0pO1xuICBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgIGVjMi5QZWVyLmFueUlwdjQoKSxcbiAgICBlYzIuUG9ydC50Y3AoZGlzY292ZXJ5U2VydmVyUG9ydCksXG4gICAgZGVzY3JpcHRpb24sXG4gICk7XG4gIGNvbnN0IGluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZShzY29wZSwgJ0luc3RhbmNlJywge1xuICAgIHZwYyxcbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMywgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTyksXG4gICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMygpLFxuICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgIHNlY3VyaXR5R3JvdXA6IHNnLFxuICB9KTtcbiAgaW5zdGFuY2UuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAvLyBHZXQgdGhlIENsb3VkRm9ybWF0aW9uIGxvZ2ljYWwgSUQgZm9yIHRoZSBpbnN0YW5jZVxuICBjb25zdCBjZm5JbnN0YW5jZSA9IGluc3RhbmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZTtcbiAgY29uc3QgbG9naWNhbElkID0gY2ZuSW5zdGFuY2UubG9naWNhbElkO1xuICBpbnN0YW5jZS5hcHBseUNsb3VkRm9ybWF0aW9uSW5pdChlYzIuQ2xvdWRGb3JtYXRpb25Jbml0LmZyb21Db25maWdTZXRzKHtcbiAgICBjb25maWdTZXRzOiB7XG4gICAgICAvLyBBcHBsaWVzIHRoZSBjb25maWdzIGJlbG93IGluIHRoaXMgb3JkZXJcbiAgICAgIGRlZmF1bHQ6IFsnY29uZmlnSW5zdGFuY2UnLCAnZmluYWxpemUnXSxcbiAgICB9LFxuICAgIGNvbmZpZ3M6IHtcbiAgICAgIGNvbmZpZ0luc3RhbmNlOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBOREkgRGlzY292ZXJ5IFNlcnZpY2Ugc2NyaXB0XG4gICAgICAgIGVjMi5Jbml0RmlsZS5mcm9tU3RyaW5nKFxuICAgICAgICAgICcvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyxcbiAgICAgICAgICBgW1VuaXRdXG4gICAgICAgICAgRGVzY3JpcHRpb249TkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgICAgXG4gICAgICAgICAgW1NlcnZpY2VdXG4gICAgICAgICAgRXhlY1N0YXJ0UHJlPS9iaW4vc2xlZXAgMzBcbiAgICAgICAgICBVc2VyPWVjMi11c2VyXG4gICAgICAgICAgV29ya2luZ0RpcmVjdG9yeT0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudVxuICAgICAgICAgIEV4ZWNTdGFydD0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudS9uZGktZGlzY292ZXJ5LXNlcnZlclxuICAgICAgICAgIFJlc3RhcnQ9YWx3YXlzXG5cbiAgICAgICAgICBbSW5zdGFsbF1cbiAgICAgICAgICBXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldFxuICAgICAgICBgKSxcbiAgICAgICAgLy8gTkRJIERpc2NvdmVyeSBTZXJ2ZXIgSW5zdGFsbGF0aW9uIHNjcmlwdFxuICAgICAgICBlYzIuSW5pdEZpbGUuZnJvbVN0cmluZyhcbiAgICAgICAgICAnL3RtcC9pbnN0YWxsLW5kaS1kaXNjb3Zlcnkuc2gnLFxuICAgICAgICAgIGAjIS9iaW4vYmFzaCAteGVcbiAgICAgICAgICBjZCAvaG9tZS9lYzItdXNlclxuXG4gICAgICAgICAgI0luc3RhbGwgdXBkYXRlc1xuICAgICAgICAgIHl1bSB1cGRhdGUgLXlcblxuICAgICAgICAgICNEb3dubG9hZCB0aGUgTkRJIExpbnV4IFNESyBhbmQgZXh0cmFjdCBpdCBhbmQgcnVuIHRoZSBpbnN0YWxsIHNjcmlwdFxuICAgICAgICAgIHdnZXQgaHR0cHM6Ly9kb3dubG9hZHMubmRpLnR2L1NESy9ORElfU0RLX0xpbnV4L0luc3RhbGxfTkRJX1NES192Nl9MaW51eC50YXIuZ3pcbiAgICAgICAgICB0YXIgLXh6ZiBJbnN0YWxsX05ESV9TREtfdjZfTGludXgudGFyLmd6XG4gICAgICAgICAgeWVzIHwgc3VkbyAuL0luc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuXG4gICAgICAgICAgI0NsZWFuIHVwIGFuZCBwcmVwYXJlIGRpcmVjdG9yaWVzXG4gICAgICAgICAgcm0gLWYgSW5zdGFsbF9ORElfU0RLX3Y2X0xpbnV4LnRhci5nelxuICAgICAgICAgIHJtIC1mIEluc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuICAgICAgICAgIGNwIC1yICdOREkgU0RLIGZvciBMaW51eCcvKiAuL1xuICAgICAgICAgIHJtIC1yICdOREkgU0RLIGZvciBMaW51eCcvXG4gICAgICAgIGApLFxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZpY2VcbiAgICAgICAgZWMyLkluaXRDb21tYW5kLnNoZWxsQ29tbWFuZCgnc3VkbyBiYXNoIC90bXAvaW5zdGFsbC1uZGktZGlzY292ZXJ5LnNoJyksXG4gICAgICAgIC8vIFJ1biB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoJ3N1ZG8gc3lzdGVtY3RsIGVuYWJsZSAvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyksXG4gICAgICBdKSxcbiAgICAgIGZpbmFsaXplOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBTdGFydCB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoXG4gICAgICAgICAgY2RrLkZuLnN1YignL29wdC9hd3MvYmluL2Nmbi1zaWduYWwgLWUgJD8gLS1zdGFjayAke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSAke1Jlc291cmNlfSAtLXJlZ2lvbiAke1JlZ2lvbn0nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTdGFja05hbWU6IGNkay5Bd3MuU1RBQ0tfTkFNRSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IGxvZ2ljYWxJZCxcbiAgICAgICAgICAgICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgfSxcbiAgfSkpO1xuICBpbnN0YW5jZS5hZGRVc2VyRGF0YShjZGsuRm4uc3ViKGBcbiAgICAjIS9iaW4vYmFzaCAteGVcbiAgICB5dW0gaW5zdGFsbCAteSBhd3MtY2ZuLWJvb3RzdHJhcFxuICAgIHN1ZG8gL29wdC9hd3MvYmluL2Nmbi1pbml0IC0tY29uZmlnc2V0cyBkZWZhdWx0IC12IC0tc3RhY2sgXFwke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSBcXCR7UmVzb3VyY2V9IC0tcmVnaW9uIFxcJHtSZWdpb259XG4gICAgc3VkbyByZWJvb3RcbiAgYCwge1xuICAgIFN0YWNrTmFtZTogY2RrLkF3cy5TVEFDS19OQU1FLFxuICAgIFJlc291cmNlOiBsb2dpY2FsSWQsXG4gICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgfSkpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEZsb3coc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZmxvd0Fybjogc3RyaW5nKTogRGF0ZSB7XG4gIC8vIFN0YXJ0IGNoYW5uZWxcbiAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCBpZCwge1xuICAgIG9uQ3JlYXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0YXJ0RmxvdycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIEZsb3dBcm46IGZsb3dBcm4sXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gKSxcbiAgICAgIC8vIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZzogJyonLFxuICAgICAgb3V0cHV0UGF0aHM6IFsnRmxvd0FybicsICdTdGF0dXMnXSxcbiAgICB9LFxuICAgIG9uRGVsZXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0b3BGbG93JyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRmxvd0FybjogZmxvd0FybixcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWApLFxuICAgICAgLy8gaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nOiAnKicsXG4gICAgICBvdXRwdXRQYXRoczogWydGbG93QXJuJywgJ1N0YXR1cyddLFxuICAgIH0sXG4gICAgLy9XaWxsIGlnbm9yZSBhbnkgcmVzb3VyY2UgYW5kIHVzZSB0aGUgYXNzdW1lZFJvbGVBcm4gYXMgcmVzb3VyY2UgYW5kICdzdHM6QXNzdW1lUm9sZScgZm9yIHNlcnZpY2U6YWN0aW9uXG4gICAgcG9saWN5OiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgfSksXG4gIH0pO1xuICByZXR1cm4gbmV3IERhdGUoKTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@stylistic/eslint-plugin": "^2",
|
|
38
38
|
"@types/jest": "^30.0.0",
|
|
39
|
-
"@types/node": "^24.0.
|
|
39
|
+
"@types/node": "^24.0.10",
|
|
40
40
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
41
41
|
"@typescript-eslint/parser": "^8",
|
|
42
42
|
"commit-and-tag-version": "^12",
|
|
43
43
|
"eslint": "^9",
|
|
44
44
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
45
45
|
"eslint-plugin-import": "^2.32.0",
|
|
46
|
-
"jest": "^30.0.
|
|
46
|
+
"jest": "^30.0.4",
|
|
47
47
|
"jest-junit": "^16",
|
|
48
48
|
"jsii": "~5.8.10",
|
|
49
49
|
"jsii-diff": "^1.112.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"aws-cdk-lib": "^2.203.1",
|
|
64
|
-
"awscdk-construct-medialive-channel": "^0.0.
|
|
64
|
+
"awscdk-construct-medialive-channel": "^0.0.9",
|
|
65
65
|
"constructs": "^10.4.2"
|
|
66
66
|
},
|
|
67
67
|
"keywords": [
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"publishConfig": {
|
|
75
75
|
"access": "public"
|
|
76
76
|
},
|
|
77
|
-
"version": "0.0.
|
|
77
|
+
"version": "0.0.5",
|
|
78
78
|
"jest": {
|
|
79
79
|
"coverageProvider": "v8",
|
|
80
80
|
"testMatch": [
|