@aws-solutions-constructs/core 2.90.4 → 2.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -13,7 +13,7 @@
13
13
  "npmlog": "^7.0.0"
14
14
  },
15
15
  "dependencies": {
16
- "aws-cdk-lib": "^2.206.0",
16
+ "aws-cdk-lib": "^2.210.0",
17
17
  "constructs": "^10.0.0"
18
18
  },
19
19
  "dependencyClosure": {
@@ -4348,7 +4348,7 @@
4348
4348
  "kind": "interface",
4349
4349
  "locationInModule": {
4350
4350
  "filename": "lib/sqs-helper.ts",
4351
- "line": 187
4351
+ "line": 196
4352
4352
  },
4353
4353
  "name": "BuildDeadLetterQueueProps",
4354
4354
  "properties": [
@@ -4361,7 +4361,7 @@
4361
4361
  "immutable": true,
4362
4362
  "locationInModule": {
4363
4363
  "filename": "lib/sqs-helper.ts",
4364
- "line": 211
4364
+ "line": 220
4365
4365
  },
4366
4366
  "name": "constructDeadLetterQueueProps",
4367
4367
  "optional": true,
@@ -4378,7 +4378,7 @@
4378
4378
  "immutable": true,
4379
4379
  "locationInModule": {
4380
4380
  "filename": "lib/sqs-helper.ts",
4381
- "line": 205
4381
+ "line": 214
4382
4382
  },
4383
4383
  "name": "deadLetterQueueProps",
4384
4384
  "optional": true,
@@ -4395,7 +4395,7 @@
4395
4395
  "immutable": true,
4396
4396
  "locationInModule": {
4397
4397
  "filename": "lib/sqs-helper.ts",
4398
- "line": 199
4398
+ "line": 208
4399
4399
  },
4400
4400
  "name": "deployDeadLetterQueue",
4401
4401
  "optional": true,
@@ -4412,7 +4412,7 @@
4412
4412
  "immutable": true,
4413
4413
  "locationInModule": {
4414
4414
  "filename": "lib/sqs-helper.ts",
4415
- "line": 193
4415
+ "line": 202
4416
4416
  },
4417
4417
  "name": "existingQueueObj",
4418
4418
  "optional": true,
@@ -4429,7 +4429,7 @@
4429
4429
  "immutable": true,
4430
4430
  "locationInModule": {
4431
4431
  "filename": "lib/sqs-helper.ts",
4432
- "line": 217
4432
+ "line": 226
4433
4433
  },
4434
4434
  "name": "maxReceiveCount",
4435
4435
  "optional": true,
@@ -8143,32 +8143,6 @@
8143
8143
  "type": {
8144
8144
  "fqn": "aws-cdk-lib.aws_dynamodb.Table"
8145
8145
  }
8146
- },
8147
- {
8148
- "abstract": true,
8149
- "immutable": true,
8150
- "locationInModule": {
8151
- "filename": "lib/dynamodb-table-helper.ts",
8152
- "line": 130
8153
- },
8154
- "name": "pointInTimeRecovery",
8155
- "optional": true,
8156
- "type": {
8157
- "primitive": "boolean"
8158
- }
8159
- },
8160
- {
8161
- "abstract": true,
8162
- "immutable": true,
8163
- "locationInModule": {
8164
- "filename": "lib/dynamodb-table-helper.ts",
8165
- "line": 129
8166
- },
8167
- "name": "pointInTimeRecoverySpecification",
8168
- "optional": true,
8169
- "type": {
8170
- "fqn": "aws-cdk-lib.aws_dynamodb.PointInTimeRecoverySpecification"
8171
- }
8172
8146
  }
8173
8147
  ],
8174
8148
  "symbolId": "lib/dynamodb-table-helper:DynamoDBProps"
@@ -9553,7 +9527,7 @@
9553
9527
  "kind": "interface",
9554
9528
  "locationInModule": {
9555
9529
  "filename": "lib/sqs-helper.ts",
9556
- "line": 291
9530
+ "line": 300
9557
9531
  },
9558
9532
  "name": "SqsProps",
9559
9533
  "properties": [
@@ -9562,7 +9536,7 @@
9562
9536
  "immutable": true,
9563
9537
  "locationInModule": {
9564
9538
  "filename": "lib/sqs-helper.ts",
9565
- "line": 295
9539
+ "line": 304
9566
9540
  },
9567
9541
  "name": "deadLetterQueueProps",
9568
9542
  "optional": true,
@@ -9575,7 +9549,7 @@
9575
9549
  "immutable": true,
9576
9550
  "locationInModule": {
9577
9551
  "filename": "lib/sqs-helper.ts",
9578
- "line": 294
9552
+ "line": 303
9579
9553
  },
9580
9554
  "name": "deployDeadLetterQueue",
9581
9555
  "optional": true,
@@ -9588,7 +9562,7 @@
9588
9562
  "immutable": true,
9589
9563
  "locationInModule": {
9590
9564
  "filename": "lib/sqs-helper.ts",
9591
- "line": 296
9565
+ "line": 305
9592
9566
  },
9593
9567
  "name": "encryptionKey",
9594
9568
  "optional": true,
@@ -9601,7 +9575,7 @@
9601
9575
  "immutable": true,
9602
9576
  "locationInModule": {
9603
9577
  "filename": "lib/sqs-helper.ts",
9604
- "line": 297
9578
+ "line": 306
9605
9579
  },
9606
9580
  "name": "encryptionKeyProps",
9607
9581
  "optional": true,
@@ -9614,7 +9588,7 @@
9614
9588
  "immutable": true,
9615
9589
  "locationInModule": {
9616
9590
  "filename": "lib/sqs-helper.ts",
9617
- "line": 292
9591
+ "line": 301
9618
9592
  },
9619
9593
  "name": "existingQueueObj",
9620
9594
  "optional": true,
@@ -9627,7 +9601,7 @@
9627
9601
  "immutable": true,
9628
9602
  "locationInModule": {
9629
9603
  "filename": "lib/sqs-helper.ts",
9630
- "line": 293
9604
+ "line": 302
9631
9605
  },
9632
9606
  "name": "queueProps",
9633
9607
  "optional": true,
@@ -9809,6 +9783,6 @@
9809
9783
  "symbolId": "lib/waf-helper:WafWebAclProps"
9810
9784
  }
9811
9785
  },
9812
- "version": "2.90.4",
9813
- "fingerprint": "p9cwNq6NHcFJEMR37p5KGN6Kn6u3ObvNPSlspjtyRlA="
9786
+ "version": "2.92.0",
9787
+ "fingerprint": "Ddo5TWECht3FPx1ymc7HfovxqV/Z9rUcHz3B3fqZmyo="
9814
9788
  }
@@ -27,7 +27,7 @@ function buildInferenceProfile(scope, id, props) {
27
27
  const crossRegion = IsCrossRegionProfile(props.deployCrossRegionProfile);
28
28
  const inferenceSourceArn = crossRegion ?
29
29
  `arn:${cdk.Aws.PARTITION}:bedrock:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:inference-profile/${areaMap.mapping.findInMap(regionPrefix, "prefix")}.${props.bedrockModelId}` :
30
- `arn:${cdk.Aws.PARTITION}:bedrock:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:foundation-model/${props.bedrockModelId}`;
30
+ `arn:${cdk.Aws.PARTITION}:bedrock:${cdk.Aws.REGION}::foundation-model/${props.bedrockModelId}`;
31
31
  const constructInferenceProps = {
32
32
  modelSource: {
33
33
  copyFrom: inferenceSourceArn
@@ -107,4 +107,4 @@ function CheckBedrockInferenceProps(propsObject) {
107
107
  throw new Error(errorMessages);
108
108
  }
109
109
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1pbmZlcmVuY2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYmVkcm9jay1pbmZlcmVuY2UtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFvQkgsc0RBc0JDO0FBT0QsMERBb0JDO0FBRUQsMERBaUNDO0FBRUQsb0RBRUM7QUFRRCxnRUFZQztBQTlIRCxVQUFVO0FBQ1YsbUNBQW1DO0FBQ25DLG1EQUFtRDtBQUNuRCxxQ0FBcUM7QUFlckMsU0FBZ0IscUJBQXFCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7SUFDbkcsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdEMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsc0JBQXNCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUMzSyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxxQkFBcUIs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Q0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNuRCxhQUFhLElBQUksaUdBQWlHLENBQUM7UUFDbkgsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYmVkcm9jayBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICcuLi9pbmRleCc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluZmVyZW5jZVByb2ZpbGVQcm9wcyB7XG4gIHJlYWRvbmx5IGJlZHJvY2tNb2RlbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluZmVyZW5jZVByb2ZpbGVQcm9wcz86IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlUHJvcHM7XG4gIHJlYWRvbmx5IGRlcGxveUNyb3NzUmVnaW9uUHJvZmlsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmZlcmVuY2VQcm9maWxlUmVwb25zZSB7XG4gIHJlYWRvbmx5IGNyb3NzUmVnaW9uPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgaW5mZXJlbmNlUHJvZmlsZTogYmVkcm9jay5DZm5BcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEluZmVyZW5jZVByb2ZpbGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1aWxkSW5mZXJlbmNlUHJvZmlsZVByb3BzKTogQnVpbGRJbmZlcmVuY2VQcm9maWxlUmVwb25zZSB7XG4gIGNvbnN0IGFyZWFNYXAgPSBjcmVhdGVBcmVhUHJlZml4TWFwcGluZyhzY29wZSwgaWQpO1xuXG4gIGNvbnN0IHJlZ2lvblByZWZpeCA9IGNkay5Gbi5zZWxlY3QoMCwgY2RrLkZuLnNwbGl0KCctJywgY2RrLkF3cy5SRUdJT04pKTtcbiAgY29uc3QgY3Jvc3NSZWdpb24gPSBJc0Nyb3NzUmVnaW9uUHJvZmlsZShwcm9wcy5kZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGUpO1xuICBjb25zdCBpbmZlcmVuY2VTb3VyY2VBcm4gPSBjcm9zc1JlZ2lvbiA/XG4gICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpiZWRyb2NrOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTppbmZlcmVuY2UtcHJvZmlsZS8ke2FyZWFNYXAubWFwcGluZy5maW5kSW5NYXAocmVnaW9uUHJlZml4LCBcInByZWZpeFwiKX0uJHtwcm9wcy5iZWRyb2NrTW9kZWxJZH1gIDpcbiAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OmJlZHJvY2s6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmZvdW5kYXRpb24tbW9kZWwvJHtwcm9wcy5iZWRyb2NrTW9kZWxJZH1gO1xuXG4gIGNvbnN0IGNvbnN0cnVjdEluZmVyZW5jZVByb3BzOiBiZWRyb2NrLkNmbkFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZVByb3BzID0ge1xuICAgIG1vZGVsU291cmNlOiB7XG4gICAgICBjb3B5RnJvbTogaW5mZXJlbmNlU291cmNlQXJuXG4gICAgfSxcbiAgICBpbmZlcmVuY2VQcm9maWxlTmFtZTogZGVmYXVsdHMuZ2VuZXJhdGVQaHlzaWNhbEluZmVyZW5jZVByb2ZpbGVOYW1lKFwiXCIsIFtpZF0pXG4gIH07XG4gIGNvbnN0IGZpbmFsUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKGNvbnN0cnVjdEluZmVyZW5jZVByb3BzLCBwcm9wcy5pbmZlcmVuY2VQcm9maWxlUHJvcHMpO1xuICBjb25zdCBpbmZlcmVuY2VQcm9maWxlID0gbmV3IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlKHNjb3BlLCBgJHtpZH0taW5mZXJlbmNlYCwgZmluYWxQcm9wcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpbmZlcmVuY2VQcm9maWxlLFxuICAgIGNyb3NzUmVnaW9uXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwcGluZ1Jlc3BvbnNlIHtcbiAgcmVhZG9ubHkgbWFwcGluZ05hbWU6IHN0cmluZyxcbiAgcmVhZG9ubHkgbWFwcGluZzogY2RrLkNmbk1hcHBpbmcsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcmVhUHJlZml4TWFwcGluZyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogTWFwcGluZ1Jlc3BvbnNlIHtcbiAgY29uc3QgbWFwcGluZ05hbWUgPSBkZWZhdWx0cy5yZW1vdmVOb25BbHBoYW51bWVyaWMoYCR7aWR9LWFyZWEtcHJlZml4LW1hcHBpbmdgKTtcbiAgY29uc3QgbmV3TWFwcGluZyA9IG5ldyBjZGsuQ2ZuTWFwcGluZyhzY29wZSwgYCR7aWR9LWFyZWEtcHJlZml4LW1hcHBpbmdgLCB7XG4gICAgbWFwcGluZzoge1xuICAgICAgJ3VzJzoge1xuICAgICAgICBwcmVmaXg6ICd1cycsXG4gICAgICB9LFxuICAgICAgJ2V1Jzoge1xuICAgICAgICBwcmVmaXg6ICdldScsXG4gICAgICB9LFxuICAgICAgJ2FwJzoge1xuICAgICAgICBwcmVmaXg6ICdhcGFjJyxcbiAgICAgIH0sXG4gICAgfVxuICB9KTtcbiAgbmV3TWFwcGluZy5vdmVycmlkZUxvZ2ljYWxJZChtYXBwaW5nTmFtZSk7XG4gIHJldHVybiB7XG4gICAgbWFwcGluZzogbmV3TWFwcGluZyxcbiAgICBtYXBwaW5nTmFtZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJlYVJlZ2lvbk1hcHBpbmcoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgbW9kZWw6IHN0cmluZyk6IE1hcHBpbmdSZXNwb25zZSB7XG4gIGNvbnN0IG1hcHBpbmdOYW1lID0gZGVmYXVsdHMucmVtb3ZlTm9uQWxwaGFudW1lcmljKGAke2lkfS1hcmVhLXJlZ2lvbi1tYXBwaW5nYCk7XG4gIGNvbnN0IG5ld01hcHBpbmcgPSBuZXcgY2RrLkNmbk1hcHBpbmcoc2NvcGUsIGAke2lkfS1hcmVhLXJlZ2lvbi1tYXBwaW5nYCwge1xuICAgIG1hcHBpbmc6IHtcbiAgICAgICdldSc6IHtcbiAgICAgICAgcmVnaW9uYWxNb2RlbHM6XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazpldS1ub3J0aC0xOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazpldS1jZW50cmFsLTE6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmV1LXdlc3QtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6ZXUtd2VzdC0zOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9YFxuICAgICAgfSxcbiAgICAgICd1cyc6IHtcbiAgICAgICAgcmVnaW9uYWxNb2RlbHM6XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazp1cy1lYXN0LTE6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOnVzLWVhc3QtMjo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6dXMtd2VzdC0yOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9YFxuICAgICAgICB9LFxuICAgICAgJ2FwJzoge1xuICAgICAgICByZWdpb25hbE1vZGVsczpcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmFwLXNvdXRoZWFzdC0yOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazphcC1ub3J0aGVhc3QtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6YXAtc291dGgtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6YXAtbm9ydGhlYXN0LTI6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmFwLXNvdXRoZWFzdC0xOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazphcC1ub3J0aGVhc3QtMzo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfWBcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBuZXdNYXBwaW5nLm92ZXJyaWRlTG9naWNhbElkKG1hcHBpbmdOYW1lKTtcbiAgcmV0dXJuIHtcbiAgICBtYXBwaW5nOiBuZXdNYXBwaW5nLFxuICAgIG1hcHBpbmdOYW1lXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJc0Nyb3NzUmVnaW9uUHJvZmlsZShkZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGU/OiBib29sZWFuKSB7XG4gIHJldHVybiBkZWZhdWx0cy5DaGVja0Jvb2xlYW5XaXRoRGVmYXVsdChkZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGUsIHRydWUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9wcyB7XG4gIHJlYWRvbmx5IGJlZHJvY2tNb2RlbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluZmVyZW5jZVByb2ZpbGVQcm9wcz86IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlUHJvcHM7XG4gIHJlYWRvbmx5IGRlcGxveUNyb3NzUmVnaW9uUHJvZmlsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0JlZHJvY2tJbmZlcmVuY2VQcm9wcyhwcm9wc09iamVjdDogQmVkcm9ja0luZmVyZW5jZVByb3BzKSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0LmluZmVyZW5jZVByb2ZpbGVQcm9wcz8ubW9kZWxTb3VyY2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjcmVhdGUgdGhlIG1vZGVsU291cmNlIHZhbHVlLCBpdCBjYW5ub3QgYmUgc3BlY2lmaWVkIGluIHRoZSBwcm9wcy5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn0iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1pbmZlcmVuY2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYmVkcm9jay1pbmZlcmVuY2UtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFvQkgsc0RBc0JDO0FBT0QsMERBb0JDO0FBRUQsMERBaUNDO0FBRUQsb0RBRUM7QUFRRCxnRUFZQztBQTlIRCxVQUFVO0FBQ1YsbUNBQW1DO0FBQ25DLG1EQUFtRDtBQUNuRCxxQ0FBcUM7QUFlckMsU0FBZ0IscUJBQXFCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7SUFDbkcsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdEMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsc0JBQXNCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUMzSyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxzQkFBc0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBRWpH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QztRQUNuRCxhQUFhLElBQUksaUdBQWlHLENBQUM7UUFDbkgsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYmVkcm9jayBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICcuLi9pbmRleCc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluZmVyZW5jZVByb2ZpbGVQcm9wcyB7XG4gIHJlYWRvbmx5IGJlZHJvY2tNb2RlbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluZmVyZW5jZVByb2ZpbGVQcm9wcz86IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlUHJvcHM7XG4gIHJlYWRvbmx5IGRlcGxveUNyb3NzUmVnaW9uUHJvZmlsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmZlcmVuY2VQcm9maWxlUmVwb25zZSB7XG4gIHJlYWRvbmx5IGNyb3NzUmVnaW9uPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgaW5mZXJlbmNlUHJvZmlsZTogYmVkcm9jay5DZm5BcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEluZmVyZW5jZVByb2ZpbGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1aWxkSW5mZXJlbmNlUHJvZmlsZVByb3BzKTogQnVpbGRJbmZlcmVuY2VQcm9maWxlUmVwb25zZSB7XG4gIGNvbnN0IGFyZWFNYXAgPSBjcmVhdGVBcmVhUHJlZml4TWFwcGluZyhzY29wZSwgaWQpO1xuXG4gIGNvbnN0IHJlZ2lvblByZWZpeCA9IGNkay5Gbi5zZWxlY3QoMCwgY2RrLkZuLnNwbGl0KCctJywgY2RrLkF3cy5SRUdJT04pKTtcbiAgY29uc3QgY3Jvc3NSZWdpb24gPSBJc0Nyb3NzUmVnaW9uUHJvZmlsZShwcm9wcy5kZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGUpO1xuICBjb25zdCBpbmZlcmVuY2VTb3VyY2VBcm4gPSBjcm9zc1JlZ2lvbiA/XG4gICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpiZWRyb2NrOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTppbmZlcmVuY2UtcHJvZmlsZS8ke2FyZWFNYXAubWFwcGluZy5maW5kSW5NYXAocmVnaW9uUHJlZml4LCBcInByZWZpeFwiKX0uJHtwcm9wcy5iZWRyb2NrTW9kZWxJZH1gIDpcbiAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OmJlZHJvY2s6JHtjZGsuQXdzLlJFR0lPTn06OmZvdW5kYXRpb24tbW9kZWwvJHtwcm9wcy5iZWRyb2NrTW9kZWxJZH1gO1xuXG4gIGNvbnN0IGNvbnN0cnVjdEluZmVyZW5jZVByb3BzOiBiZWRyb2NrLkNmbkFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZVByb3BzID0ge1xuICAgIG1vZGVsU291cmNlOiB7XG4gICAgICBjb3B5RnJvbTogaW5mZXJlbmNlU291cmNlQXJuXG4gICAgfSxcbiAgICBpbmZlcmVuY2VQcm9maWxlTmFtZTogZGVmYXVsdHMuZ2VuZXJhdGVQaHlzaWNhbEluZmVyZW5jZVByb2ZpbGVOYW1lKFwiXCIsIFtpZF0pXG4gIH07XG4gIGNvbnN0IGZpbmFsUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKGNvbnN0cnVjdEluZmVyZW5jZVByb3BzLCBwcm9wcy5pbmZlcmVuY2VQcm9maWxlUHJvcHMpO1xuICBjb25zdCBpbmZlcmVuY2VQcm9maWxlID0gbmV3IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlKHNjb3BlLCBgJHtpZH0taW5mZXJlbmNlYCwgZmluYWxQcm9wcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpbmZlcmVuY2VQcm9maWxlLFxuICAgIGNyb3NzUmVnaW9uXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwcGluZ1Jlc3BvbnNlIHtcbiAgcmVhZG9ubHkgbWFwcGluZ05hbWU6IHN0cmluZyxcbiAgcmVhZG9ubHkgbWFwcGluZzogY2RrLkNmbk1hcHBpbmcsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcmVhUHJlZml4TWFwcGluZyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogTWFwcGluZ1Jlc3BvbnNlIHtcbiAgY29uc3QgbWFwcGluZ05hbWUgPSBkZWZhdWx0cy5yZW1vdmVOb25BbHBoYW51bWVyaWMoYCR7aWR9LWFyZWEtcHJlZml4LW1hcHBpbmdgKTtcbiAgY29uc3QgbmV3TWFwcGluZyA9IG5ldyBjZGsuQ2ZuTWFwcGluZyhzY29wZSwgYCR7aWR9LWFyZWEtcHJlZml4LW1hcHBpbmdgLCB7XG4gICAgbWFwcGluZzoge1xuICAgICAgJ3VzJzoge1xuICAgICAgICBwcmVmaXg6ICd1cycsXG4gICAgICB9LFxuICAgICAgJ2V1Jzoge1xuICAgICAgICBwcmVmaXg6ICdldScsXG4gICAgICB9LFxuICAgICAgJ2FwJzoge1xuICAgICAgICBwcmVmaXg6ICdhcGFjJyxcbiAgICAgIH0sXG4gICAgfVxuICB9KTtcbiAgbmV3TWFwcGluZy5vdmVycmlkZUxvZ2ljYWxJZChtYXBwaW5nTmFtZSk7XG4gIHJldHVybiB7XG4gICAgbWFwcGluZzogbmV3TWFwcGluZyxcbiAgICBtYXBwaW5nTmFtZVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJlYVJlZ2lvbk1hcHBpbmcoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgbW9kZWw6IHN0cmluZyk6IE1hcHBpbmdSZXNwb25zZSB7XG4gIGNvbnN0IG1hcHBpbmdOYW1lID0gZGVmYXVsdHMucmVtb3ZlTm9uQWxwaGFudW1lcmljKGAke2lkfS1hcmVhLXJlZ2lvbi1tYXBwaW5nYCk7XG4gIGNvbnN0IG5ld01hcHBpbmcgPSBuZXcgY2RrLkNmbk1hcHBpbmcoc2NvcGUsIGAke2lkfS1hcmVhLXJlZ2lvbi1tYXBwaW5nYCwge1xuICAgIG1hcHBpbmc6IHtcbiAgICAgICdldSc6IHtcbiAgICAgICAgcmVnaW9uYWxNb2RlbHM6XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazpldS1ub3J0aC0xOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazpldS1jZW50cmFsLTE6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmV1LXdlc3QtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6ZXUtd2VzdC0zOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9YFxuICAgICAgfSxcbiAgICAgICd1cyc6IHtcbiAgICAgICAgcmVnaW9uYWxNb2RlbHM6XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazp1cy1lYXN0LTE6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOnVzLWVhc3QtMjo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6dXMtd2VzdC0yOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9YFxuICAgICAgICB9LFxuICAgICAgJ2FwJzoge1xuICAgICAgICByZWdpb25hbE1vZGVsczpcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmFwLXNvdXRoZWFzdC0yOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazphcC1ub3J0aGVhc3QtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6YXAtc291dGgtMTo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfSxgK1xuICAgICAgICAgIGBhcm46YXdzOmJlZHJvY2s6YXAtbm9ydGhlYXN0LTI6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbH0sYCtcbiAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOmFwLXNvdXRoZWFzdC0xOjpmb3VuZGF0aW9uLW1vZGVsLyR7bW9kZWx9LGArXG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazphcC1ub3J0aGVhc3QtMzo6Zm91bmRhdGlvbi1tb2RlbC8ke21vZGVsfWBcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBuZXdNYXBwaW5nLm92ZXJyaWRlTG9naWNhbElkKG1hcHBpbmdOYW1lKTtcbiAgcmV0dXJuIHtcbiAgICBtYXBwaW5nOiBuZXdNYXBwaW5nLFxuICAgIG1hcHBpbmdOYW1lXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJc0Nyb3NzUmVnaW9uUHJvZmlsZShkZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGU/OiBib29sZWFuKSB7XG4gIHJldHVybiBkZWZhdWx0cy5DaGVja0Jvb2xlYW5XaXRoRGVmYXVsdChkZXBsb3lDcm9zc1JlZ2lvblByb2ZpbGUsIHRydWUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9wcyB7XG4gIHJlYWRvbmx5IGJlZHJvY2tNb2RlbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluZmVyZW5jZVByb2ZpbGVQcm9wcz86IGJlZHJvY2suQ2ZuQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlUHJvcHM7XG4gIHJlYWRvbmx5IGRlcGxveUNyb3NzUmVnaW9uUHJvZmlsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0JlZHJvY2tJbmZlcmVuY2VQcm9wcyhwcm9wc09iamVjdDogQmVkcm9ja0luZmVyZW5jZVByb3BzKSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0LmluZmVyZW5jZVByb2ZpbGVQcm9wcz8ubW9kZWxTb3VyY2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjcmVhdGUgdGhlIG1vZGVsU291cmNlIHZhbHVlLCBpdCBjYW5ub3QgYmUgc3BlY2lmaWVkIGluIHRoZSBwcm9wcy5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn0iXX0=
@@ -18,7 +18,7 @@ import * as s3 from 'aws-cdk-lib/aws-s3';
18
18
  /**
19
19
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
20
20
  */
21
- export declare function DefaultCloudFrontWebDistributionForApiGatewayProps(apiEndPoint: api.RestApi, loggingBucket: s3.Bucket | undefined, setHttpSecurityHeaders: boolean, cfFunction?: cloudfront.IFunction, responseHeadersPolicy?: cloudfront.ResponseHeadersPolicy): cloudfront.DistributionProps;
21
+ export declare function DefaultCloudFrontWebDistributionForApiGatewayProps(apiEndPoint: api.RestApiBase, loggingBucket: s3.Bucket | undefined, setHttpSecurityHeaders: boolean, cfFunction?: cloudfront.IFunction, responseHeadersPolicy?: cloudfront.ResponseHeadersPolicy): cloudfront.DistributionProps;
22
22
  /**
23
23
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
24
24
  */
@@ -96,4 +96,4 @@ function getFunctionAssociationsProp(setHttpSecurityHeaders, cfFunction) {
96
96
  ]
97
97
  } : {};
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24tZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBbUJILGdIQXlCQztBQUtELGdHQXVCQztBQUtELDBHQWdDQztBQXJHRCx5REFBeUQ7QUFDekQsK0RBQXdFO0FBQ3hFLDhEQUE4RDtBQUc5RCxtQ0FBbUM7QUFHbkM7O0dBRUc7QUFDSCxTQUFnQixrREFBa0QsQ0FBQyxXQUF3QixFQUN6RixhQUFvQyxFQUNwQyxzQkFBK0IsRUFDL0IsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RixNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0lBRWpHLElBQUksZUFBZSxHQUFvQjtRQUNyQyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFO1lBQ3BELFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO1NBQ3hELENBQUM7UUFDRixHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztRQUNsRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCO0tBQ3hFLENBQUM7SUFDRixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsZUFBZSxHQUFHLEVBQUMsR0FBRyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsT0FBTztRQUNMLGVBQWU7UUFDZixhQUFhLEVBQUUsSUFBSTtRQUNuQixTQUFTLEVBQUUsYUFBYTtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsMENBQTBDLENBQ3hELE1BQWUsRUFDZixhQUFvQyxFQUNwQyxzQkFBK0IsRUFDL0IsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELElBQUksZUFBZSxHQUFvQjtRQUNyQyxNQUFNO1FBQ04sb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtRQUN2RSxHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztLQUNuRSxDQUFDO0lBRUYsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBRyxFQUFDLEdBQUcsZUFBZSxFQUFFLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU87UUFDTCxlQUFlO1FBQ2YsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsK0NBQStDLENBQUMsbUJBQTRDLEVBQzFHLGFBQW9DLEVBQ3BDLG1CQUFtRCxFQUNuRCxzQkFBK0IsRUFDL0IsYUFBc0MsRUFDdEMsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RILE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDLENBQUM7SUFFakgsTUFBTSxVQUFVLEdBQXVCLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUV4RCxJQUFJLGVBQWUsR0FBb0I7UUFDckMsTUFBTSxFQUFFLFVBQVU7UUFDbEIsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtRQUN2RSxjQUFjLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0I7UUFDaEUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1FBQzlELG1CQUFtQjtRQUNuQixHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztLQUNuRSxDQUFDO0lBQ0YsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBRyxFQUFDLEdBQUcsZUFBZSxFQUFFLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU87UUFDTCxlQUFlO1FBQ2YsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLGFBQWE7S0FDekIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLHNCQUErQixFQUFFLFVBQTRDO0lBQ2hILE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsb0JBQW9CLEVBQUU7WUFDcEI7Z0JBQ0UsU0FBUyxFQUFFLGtDQUFpQixDQUFDLGVBQWU7Z0JBQzVDLFFBQVEsRUFBRSxVQUFVO2FBQ3JCO1NBQ0Y7S0FDRixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgeyBGdW5jdGlvbkV2ZW50VHlwZSwgSU9yaWdpbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBtZWRpYXN0b3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYXN0b3JlJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtCZWhhdmlvck9wdGlvbnN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC9saWIvZGlzdHJpYnV0aW9uXCI7XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVByb3BzKGFwaUVuZFBvaW50OiBhcGkuUmVzdEFwaSxcbiAgbG9nZ2luZ0J1Y2tldDogczMuQnVja2V0IHwgdW5kZWZpbmVkLFxuICBzZXRIdHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuLFxuICBjZkZ1bmN0aW9uPzogY2xvdWRmcm9udC5JRnVuY3Rpb24sXG4gIHJlc3BvbnNlSGVhZGVyc1BvbGljeT86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuKTogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB7XG5cbiAgY29uc3QgYXBpRW5kUG9pbnRVcmxXaXRob3V0UHJvdG9jb2wgPSBjZGsuRm4uc2VsZWN0KDEsIGNkay5Gbi5zcGxpdChcIjovL1wiLCBhcGlFbmRQb2ludC51cmwpKTtcbiAgY29uc3QgYXBpRW5kUG9pbnREb21haW5OYW1lID0gY2RrLkZuLnNlbGVjdCgwLCBjZGsuRm4uc3BsaXQoXCIvXCIsIGFwaUVuZFBvaW50VXJsV2l0aG91dFByb3RvY29sKSk7XG5cbiAgbGV0IGRlZmF1bHRCZWhhdmlvcjogQmVoYXZpb3JPcHRpb25zID0ge1xuICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuSHR0cE9yaWdpbihhcGlFbmRQb2ludERvbWFpbk5hbWUsIHtcbiAgICAgIG9yaWdpblBhdGg6IGAvJHthcGlFbmRQb2ludC5kZXBsb3ltZW50U3RhZ2Uuc3RhZ2VOYW1lfWBcbiAgICB9KSxcbiAgICAuLi5nZXRGdW5jdGlvbkFzc29jaWF0aW9uc1Byb3Aoc2V0SHR0cFNlY3VyaXR5SGVhZGVycywgY2ZGdW5jdGlvbiksXG4gICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IGNsb3VkZnJvbnQuVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gIH07XG4gIGlmIChyZXNwb25zZUhlYWRlcnNQb2xpY3kpIHtcbiAgICBkZWZhdWx0QmVoYXZpb3IgPSB7Li4uZGVmYXVsdEJlaGF2aW9yLCByZXNwb25zZUhlYWRlcnNQb2xpY3kgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRlZmF1bHRCZWhhdmlvcixcbiAgICBlbmFibGVMb2dnaW5nOiB0cnVlLFxuICAgIGxvZ0J1Y2tldDogbG9nZ2luZ0J1Y2tldCxcbiAgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzKFxuICBvcmlnaW46IElPcmlnaW4sXG4gIGxvZ2dpbmdCdWNrZXQ6IHMzLkJ1Y2tldCB8IHVuZGVmaW5lZCxcbiAgc2V0SHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbixcbiAgY2ZGdW5jdGlvbj86IGNsb3VkZnJvbnQuSUZ1bmN0aW9uLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3k/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbik6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMge1xuXG4gIGxldCBkZWZhdWx0QmVoYXZpb3I6IEJlaGF2aW9yT3B0aW9ucyA9IHtcbiAgICBvcmlnaW4sXG4gICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IGNsb3VkZnJvbnQuVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgLi4uZ2V0RnVuY3Rpb25Bc3NvY2lhdGlvbnNQcm9wKHNldEh0dHBTZWN1cml0eUhlYWRlcnMsIGNmRnVuY3Rpb24pXG4gIH07XG5cbiAgaWYgKHJlc3BvbnNlSGVhZGVyc1BvbGljeSkge1xuICAgIGRlZmF1bHRCZWhhdmlvciA9IHsuLi5kZWZhdWx0QmVoYXZpb3IsIHJlc3BvbnNlSGVhZGVyc1BvbGljeSB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgZGVmYXVsdEJlaGF2aW9yLFxuICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgbG9nQnVja2V0OiBsb2dnaW5nQnVja2V0LFxuICAgIGRlZmF1bHRSb290T2JqZWN0OiAnaW5kZXguaHRtbCdcbiAgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUHJvcHMobWVkaWFzdG9yZUNvbnRhaW5lcjogbWVkaWFzdG9yZS5DZm5Db250YWluZXIsXG4gIGxvZ2dpbmdCdWNrZXQ6IHMzLkJ1Y2tldCB8IHVuZGVmaW5lZCxcbiAgb3JpZ2luUmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LFxuICBzZXRIdHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuLFxuICBjdXN0b21IZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgY2ZGdW5jdGlvbj86IGNsb3VkZnJvbnQuSUZ1bmN0aW9uLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3k/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVxuKTogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB7XG5cbiAgY29uc3QgbWVkaWFTdG9yZUNvbnRhaW5lclVybFdpdGhvdXRQcm90b2NvbCA9IGNkay5Gbi5zZWxlY3QoMSwgY2RrLkZuLnNwbGl0KCc6Ly8nLCBtZWRpYXN0b3JlQ29udGFpbmVyLmF0dHJFbmRwb2ludCkpO1xuICBjb25zdCBtZWRpYVN0b3JlQ29udGFpbmVyRG9tYWluTmFtZSA9IGNkay5Gbi5zZWxlY3QoMCwgY2RrLkZuLnNwbGl0KCcvJywgbWVkaWFTdG9yZUNvbnRhaW5lclVybFdpdGhvdXRQcm90b2NvbCkpO1xuXG4gIGNvbnN0IGh0dHBPcmlnaW46IG9yaWdpbnMuSHR0cE9yaWdpbiA9IGN1c3RvbUhlYWRlcnMgP1xuICAgIG5ldyBvcmlnaW5zLkh0dHBPcmlnaW4obWVkaWFTdG9yZUNvbnRhaW5lckRvbWFpbk5hbWUsIHsgY3VzdG9tSGVhZGVycyB9KSA6XG4gICAgbmV3IG9yaWdpbnMuSHR0cE9yaWdpbihtZWRpYVN0b3JlQ29udGFpbmVyRG9tYWluTmFtZSk7XG5cbiAgbGV0IGRlZmF1bHRCZWhhdmlvcjogQmVoYXZpb3JPcHRpb25zID0ge1xuICAgIG9yaWdpbjogaHR0cE9yaWdpbixcbiAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICBhbGxvd2VkTWV0aG9kczogY2xvdWRmcm9udC5BbGxvd2VkTWV0aG9kcy5BTExPV19HRVRfSEVBRF9PUFRJT05TLFxuICAgIGNhY2hlZE1ldGhvZHM6IGNsb3VkZnJvbnQuQ2FjaGVkTWV0aG9kcy5DQUNIRV9HRVRfSEVBRF9PUFRJT05TLFxuICAgIG9yaWdpblJlcXVlc3RQb2xpY3ksXG4gICAgLi4uZ2V0RnVuY3Rpb25Bc3NvY2lhdGlvbnNQcm9wKHNldEh0dHBTZWN1cml0eUhlYWRlcnMsIGNmRnVuY3Rpb24pLFxuICB9O1xuICBpZiAocmVzcG9uc2VIZWFkZXJzUG9saWN5KSB7XG4gICAgZGVmYXVsdEJlaGF2aW9yID0gey4uLmRlZmF1bHRCZWhhdmlvciwgcmVzcG9uc2VIZWFkZXJzUG9saWN5IH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0QmVoYXZpb3IsXG4gICAgZW5hYmxlTG9nZ2luZzogdHJ1ZSxcbiAgICBsb2dCdWNrZXQ6IGxvZ2dpbmdCdWNrZXRcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RnVuY3Rpb25Bc3NvY2lhdGlvbnNQcm9wKHNldEh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4sIGNmRnVuY3Rpb246IGNsb3VkZnJvbnQuSUZ1bmN0aW9uIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiAoc2V0SHR0cFNlY3VyaXR5SGVhZGVycyAmJiBjZkZ1bmN0aW9uKSA/IHtcbiAgICBmdW5jdGlvbkFzc29jaWF0aW9uczogW1xuICAgICAge1xuICAgICAgICBldmVudFR5cGU6IEZ1bmN0aW9uRXZlbnRUeXBlLlZJRVdFUl9SRVNQT05TRSxcbiAgICAgICAgZnVuY3Rpb246IGNmRnVuY3Rpb25cbiAgICAgIH1cbiAgICBdXG4gIH0gOiB7fTtcbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24tZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBbUJILGdIQXlCQztBQUtELGdHQXVCQztBQUtELDBHQWdDQztBQXJHRCx5REFBeUQ7QUFDekQsK0RBQXdFO0FBQ3hFLDhEQUE4RDtBQUc5RCxtQ0FBbUM7QUFHbkM7O0dBRUc7QUFDSCxTQUFnQixrREFBa0QsQ0FBQyxXQUE0QixFQUM3RixhQUFvQyxFQUNwQyxzQkFBK0IsRUFDL0IsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RixNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0lBRWpHLElBQUksZUFBZSxHQUFvQjtRQUNyQyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFO1lBQ3BELFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO1NBQ3hELENBQUM7UUFDRixHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztRQUNsRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCO0tBQ3hFLENBQUM7SUFDRixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsZUFBZSxHQUFHLEVBQUMsR0FBRyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsT0FBTztRQUNMLGVBQWU7UUFDZixhQUFhLEVBQUUsSUFBSTtRQUNuQixTQUFTLEVBQUUsYUFBYTtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsMENBQTBDLENBQ3hELE1BQWUsRUFDZixhQUFvQyxFQUNwQyxzQkFBK0IsRUFDL0IsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELElBQUksZUFBZSxHQUFvQjtRQUNyQyxNQUFNO1FBQ04sb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtRQUN2RSxHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztLQUNuRSxDQUFDO0lBRUYsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBRyxFQUFDLEdBQUcsZUFBZSxFQUFFLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU87UUFDTCxlQUFlO1FBQ2YsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsK0NBQStDLENBQUMsbUJBQTRDLEVBQzFHLGFBQW9DLEVBQ3BDLG1CQUFtRCxFQUNuRCxzQkFBK0IsRUFDL0IsYUFBc0MsRUFDdEMsVUFBaUMsRUFDakMscUJBQXdEO0lBR3hELE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RILE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDLENBQUM7SUFFakgsTUFBTSxVQUFVLEdBQXVCLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUV4RCxJQUFJLGVBQWUsR0FBb0I7UUFDckMsTUFBTSxFQUFFLFVBQVU7UUFDbEIsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtRQUN2RSxjQUFjLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0I7UUFDaEUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1FBQzlELG1CQUFtQjtRQUNuQixHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztLQUNuRSxDQUFDO0lBQ0YsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBRyxFQUFDLEdBQUcsZUFBZSxFQUFFLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU87UUFDTCxlQUFlO1FBQ2YsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLGFBQWE7S0FDekIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLHNCQUErQixFQUFFLFVBQTRDO0lBQ2hILE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsb0JBQW9CLEVBQUU7WUFDcEI7Z0JBQ0UsU0FBUyxFQUFFLGtDQUFpQixDQUFDLGVBQWU7Z0JBQzVDLFFBQVEsRUFBRSxVQUFVO2FBQ3JCO1NBQ0Y7S0FDRixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgeyBGdW5jdGlvbkV2ZW50VHlwZSwgSU9yaWdpbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBtZWRpYXN0b3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYXN0b3JlJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtCZWhhdmlvck9wdGlvbnN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC9saWIvZGlzdHJpYnV0aW9uXCI7XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVByb3BzKGFwaUVuZFBvaW50OiBhcGkuUmVzdEFwaUJhc2UsXG4gIGxvZ2dpbmdCdWNrZXQ6IHMzLkJ1Y2tldCB8IHVuZGVmaW5lZCxcbiAgc2V0SHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbixcbiAgY2ZGdW5jdGlvbj86IGNsb3VkZnJvbnQuSUZ1bmN0aW9uLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3k/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbik6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMge1xuXG4gIGNvbnN0IGFwaUVuZFBvaW50VXJsV2l0aG91dFByb3RvY29sID0gY2RrLkZuLnNlbGVjdCgxLCBjZGsuRm4uc3BsaXQoXCI6Ly9cIiwgYXBpRW5kUG9pbnQudXJsKSk7XG4gIGNvbnN0IGFwaUVuZFBvaW50RG9tYWluTmFtZSA9IGNkay5Gbi5zZWxlY3QoMCwgY2RrLkZuLnNwbGl0KFwiL1wiLCBhcGlFbmRQb2ludFVybFdpdGhvdXRQcm90b2NvbCkpO1xuXG4gIGxldCBkZWZhdWx0QmVoYXZpb3I6IEJlaGF2aW9yT3B0aW9ucyA9IHtcbiAgICBvcmlnaW46IG5ldyBvcmlnaW5zLkh0dHBPcmlnaW4oYXBpRW5kUG9pbnREb21haW5OYW1lLCB7XG4gICAgICBvcmlnaW5QYXRoOiBgLyR7YXBpRW5kUG9pbnQuZGVwbG95bWVudFN0YWdlLnN0YWdlTmFtZX1gXG4gICAgfSksXG4gICAgLi4uZ2V0RnVuY3Rpb25Bc3NvY2lhdGlvbnNQcm9wKHNldEh0dHBTZWN1cml0eUhlYWRlcnMsIGNmRnVuY3Rpb24pLFxuICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICB9O1xuICBpZiAocmVzcG9uc2VIZWFkZXJzUG9saWN5KSB7XG4gICAgZGVmYXVsdEJlaGF2aW9yID0gey4uLmRlZmF1bHRCZWhhdmlvciwgcmVzcG9uc2VIZWFkZXJzUG9saWN5IH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0QmVoYXZpb3IsXG4gICAgZW5hYmxlTG9nZ2luZzogdHJ1ZSxcbiAgICBsb2dCdWNrZXQ6IGxvZ2dpbmdCdWNrZXQsXG4gIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyhcbiAgb3JpZ2luOiBJT3JpZ2luLFxuICBsb2dnaW5nQnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQsXG4gIHNldEh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4sXG4gIGNmRnVuY3Rpb24/OiBjbG91ZGZyb250LklGdW5jdGlvbixcbiAgcmVzcG9uc2VIZWFkZXJzUG9saWN5PzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4pOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHtcblxuICBsZXQgZGVmYXVsdEJlaGF2aW9yOiBCZWhhdmlvck9wdGlvbnMgPSB7XG4gICAgb3JpZ2luLFxuICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgIC4uLmdldEZ1bmN0aW9uQXNzb2NpYXRpb25zUHJvcChzZXRIdHRwU2VjdXJpdHlIZWFkZXJzLCBjZkZ1bmN0aW9uKVxuICB9O1xuXG4gIGlmIChyZXNwb25zZUhlYWRlcnNQb2xpY3kpIHtcbiAgICBkZWZhdWx0QmVoYXZpb3IgPSB7Li4uZGVmYXVsdEJlaGF2aW9yLCByZXNwb25zZUhlYWRlcnNQb2xpY3kgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRlZmF1bHRCZWhhdmlvcixcbiAgICBlbmFibGVMb2dnaW5nOiB0cnVlLFxuICAgIGxvZ0J1Y2tldDogbG9nZ2luZ0J1Y2tldCxcbiAgICBkZWZhdWx0Um9vdE9iamVjdDogJ2luZGV4Lmh0bWwnXG4gIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZVByb3BzKG1lZGlhc3RvcmVDb250YWluZXI6IG1lZGlhc3RvcmUuQ2ZuQ29udGFpbmVyLFxuICBsb2dnaW5nQnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQsXG4gIG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeSxcbiAgc2V0SHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbixcbiAgY3VzdG9tSGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIGNmRnVuY3Rpb24/OiBjbG91ZGZyb250LklGdW5jdGlvbixcbiAgcmVzcG9uc2VIZWFkZXJzUG9saWN5PzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lcbik6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMge1xuXG4gIGNvbnN0IG1lZGlhU3RvcmVDb250YWluZXJVcmxXaXRob3V0UHJvdG9jb2wgPSBjZGsuRm4uc2VsZWN0KDEsIGNkay5Gbi5zcGxpdCgnOi8vJywgbWVkaWFzdG9yZUNvbnRhaW5lci5hdHRyRW5kcG9pbnQpKTtcbiAgY29uc3QgbWVkaWFTdG9yZUNvbnRhaW5lckRvbWFpbk5hbWUgPSBjZGsuRm4uc2VsZWN0KDAsIGNkay5Gbi5zcGxpdCgnLycsIG1lZGlhU3RvcmVDb250YWluZXJVcmxXaXRob3V0UHJvdG9jb2wpKTtcblxuICBjb25zdCBodHRwT3JpZ2luOiBvcmlnaW5zLkh0dHBPcmlnaW4gPSBjdXN0b21IZWFkZXJzID9cbiAgICBuZXcgb3JpZ2lucy5IdHRwT3JpZ2luKG1lZGlhU3RvcmVDb250YWluZXJEb21haW5OYW1lLCB7IGN1c3RvbUhlYWRlcnMgfSkgOlxuICAgIG5ldyBvcmlnaW5zLkh0dHBPcmlnaW4obWVkaWFTdG9yZUNvbnRhaW5lckRvbWFpbk5hbWUpO1xuXG4gIGxldCBkZWZhdWx0QmVoYXZpb3I6IEJlaGF2aW9yT3B0aW9ucyA9IHtcbiAgICBvcmlnaW46IGh0dHBPcmlnaW4sXG4gICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IGNsb3VkZnJvbnQuVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgYWxsb3dlZE1ldGhvZHM6IGNsb3VkZnJvbnQuQWxsb3dlZE1ldGhvZHMuQUxMT1dfR0VUX0hFQURfT1BUSU9OUyxcbiAgICBjYWNoZWRNZXRob2RzOiBjbG91ZGZyb250LkNhY2hlZE1ldGhvZHMuQ0FDSEVfR0VUX0hFQURfT1BUSU9OUyxcbiAgICBvcmlnaW5SZXF1ZXN0UG9saWN5LFxuICAgIC4uLmdldEZ1bmN0aW9uQXNzb2NpYXRpb25zUHJvcChzZXRIdHRwU2VjdXJpdHlIZWFkZXJzLCBjZkZ1bmN0aW9uKSxcbiAgfTtcbiAgaWYgKHJlc3BvbnNlSGVhZGVyc1BvbGljeSkge1xuICAgIGRlZmF1bHRCZWhhdmlvciA9IHsuLi5kZWZhdWx0QmVoYXZpb3IsIHJlc3BvbnNlSGVhZGVyc1BvbGljeSB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgZGVmYXVsdEJlaGF2aW9yLFxuICAgIGVuYWJsZUxvZ2dpbmc6IHRydWUsXG4gICAgbG9nQnVja2V0OiBsb2dnaW5nQnVja2V0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEZ1bmN0aW9uQXNzb2NpYXRpb25zUHJvcChzZXRIdHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuLCBjZkZ1bmN0aW9uOiBjbG91ZGZyb250LklGdW5jdGlvbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gKHNldEh0dHBTZWN1cml0eUhlYWRlcnMgJiYgY2ZGdW5jdGlvbikgPyB7XG4gICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZXZlbnRUeXBlOiBGdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVTUE9OU0UsXG4gICAgICAgIGZ1bmN0aW9uOiBjZkZ1bmN0aW9uXG4gICAgICB9XG4gICAgXVxuICB9IDoge307XG59XG4iXX0=
@@ -23,7 +23,7 @@ export interface CloudFrontDistributionForApiGatewayResponse {
23
23
  /**
24
24
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
25
25
  */
26
- export declare function CloudFrontDistributionForApiGateway(scope: Construct, apiEndPoint: api.RestApi, cloudFrontDistributionProps?: cloudfront.DistributionProps | any, httpSecurityHeaders?: boolean, cloudFrontLoggingBucketProps?: s3.BucketProps, responseHeadersPolicyProps?: cloudfront.ResponseHeadersPolicyProps): CloudFrontDistributionForApiGatewayResponse;
26
+ export declare function CloudFrontDistributionForApiGateway(scope: Construct, apiEndPoint: api.RestApiBase, cloudFrontDistributionProps?: cloudfront.DistributionProps | any, httpSecurityHeaders?: boolean, cloudFrontLoggingBucketProps?: s3.BucketProps, responseHeadersPolicyProps?: cloudfront.ResponseHeadersPolicyProps): CloudFrontDistributionForApiGatewayResponse;
27
27
  export interface CreateCloudFrontDistributionForS3Props {
28
28
  readonly sourceBucket: s3.IBucket;
29
29
  readonly cloudFrontDistributionProps?: cloudfront.DistributionProps | any;
@@ -306,4 +306,4 @@ function CheckCloudfrontS3Props(props) {
306
306
  throw new Error(errorMessages);
307
307
  }
308
308
  }
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFvRUgsa0ZBeUJDO0FBdUJELDhFQWdFQztBQXdCRCxvRkFtRUM7QUFZRCxrRkEyREM7QUFLRCx3RUFJQztBQTRERCxvREFZQztBQVdELHdEQWdDQztBQWhkRDs7O0dBR0c7QUFFSCx5REFBeUQ7QUFDekQsOERBQThEO0FBQzlELHlDQUF5QztBQUN6QyxtQ0FBbUM7QUFHbkMseUZBSTRDO0FBQzVDLG1DQUF5RjtBQUN6Rix5REFBbUU7QUFDbkUsNkRBQXNEO0FBQ3RELG1EQUE4QztBQUk5QyxvR0FBb0c7QUFDcEcsU0FBUyxvQkFBb0IsQ0FBQyxjQUF1QztJQUNuRSxJQUFBLDJCQUFtQixFQUFDLGNBQWMsRUFBRTtRQUNsQztZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLHNLQUFzSztTQUMvSztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCwyR0FBMkc7QUFDM0csc0NBQXNDO0FBQ3RDLFNBQVMseUJBQXlCLENBQUMsS0FBZ0I7SUFDakQscUVBQXFFO0lBQ3JFLHNFQUFzRTtJQUN0RSxnREFBZ0Q7SUFDaEQsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLHlCQUF5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTlELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtRQUM5RCxZQUFZLEVBQUUsVUFBVTtRQUN4QixJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsNEJBQTRCO1lBQ25FLGlDQUFpQztZQUNqQyxrQ0FBa0M7WUFDbEMsbUdBQW1HO1lBQ25HLGlKQUFpSjtZQUNqSix5R0FBeUc7WUFDekcsMERBQTBEO1lBQzFELG9CQUFvQixDQUFDO0tBQ3hCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFRRDs7R0FFRztBQUNILFNBQWdCLG1DQUFtQyxDQUFDLEtBQWdCLEVBQ2xFLFdBQXdCLEVBQ3hCLDJCQUFnRSxFQUNoRSxzQkFBK0IsSUFBSSxFQUNuQyw0QkFBNkMsRUFDN0MsMEJBQWtFO0lBR2xFLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFN0UsTUFBTSx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUcsRUFBRSw0QkFBNEIsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7SUFFekgsTUFBTSxZQUFZLEdBQUcsSUFBQSxxRkFBa0QsRUFBQyxXQUFXLEVBQ2pGLHdCQUF3QixDQUFDLFNBQVMsRUFDbEMsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQiwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDMUksQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUEsd0JBQWdCLEVBQUMsWUFBWSxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDNUUscUNBQXFDO0lBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0Ysb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixDQUFDLFNBQVMsRUFBQyxDQUFDO0FBQ2hILENBQUM7QUFvQkQ7O0dBRUc7QUFDSCxTQUFnQixpQ0FBaUMsQ0FDL0MsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQTZDO0lBRTdDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQztJQUM5RCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTdFLE1BQU0sd0JBQXdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1FBQ3ZELDJCQUEyQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7UUFDOUQsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLDRCQUE0QjtRQUNoRSw2Q0FBNkMsRUFBRSxLQUFLLENBQUMsNkNBQTZDO1FBQ2xHLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7S0FDakQsQ0FBQyxDQUFDO0lBRUgsSUFBSSxtQkFBbUIsQ0FBQztJQUN4QixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEMsbUJBQW1CLEdBQUcsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRTtZQUNsRix5QkFBeUIsRUFBRTtnQkFDekIsSUFBSSxFQUFFLElBQUEsK0JBQXVCLEVBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekQsNkJBQTZCLEVBQUUsSUFBSTtnQkFDbkMsZUFBZSxFQUFFLFFBQVE7Z0JBQ3pCLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixXQUFXLEVBQUUsd0RBQXdEO2FBQ3RFO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsV0FBVyxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSwyQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFaEUsTUFBTSxZQUFZLEdBQUcsSUFBQSw2RUFBMEMsRUFBQyxNQUFNLEVBQ3BFLHdCQUF3QixDQUFDLFNBQVMsRUFDbEMsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNoQyxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUN4RyxTQUFTLENBQ1osQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUEsd0JBQWdCLEVBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2xGLHFDQUFxQztJQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXJDLG9EQUFvRDtJQUNwRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQXlCLENBQUM7SUFDbEUscUlBQXFJO0lBQ3JJLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsSUFBQSwyQkFBbUIsRUFBQyxZQUFZLEVBQUU7WUFDaEM7Z0JBQ0UsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLDREQUE0RDthQUNyRTtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLGNBQWM7UUFDNUIsa0JBQWtCO1FBQ2xCLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxTQUFTO1FBQ2pELCtCQUErQixFQUFFLHdCQUF3QixDQUFDLHdCQUF3QjtRQUNsRixtQkFBbUI7S0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFxQkQ7O0dBRUc7QUFDSCxTQUFnQixvQ0FBb0MsQ0FDbEQsS0FBZ0IsRUFDaEIsS0FBZ0Q7SUFHaEQsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDO0lBQzlELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFN0UsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUM7OztrREFHOEIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRixNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRTtRQUN2RCwyQkFBMkIsRUFBRSxLQUFLLENBQUMsMkJBQTJCO1FBQzlELDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7UUFDaEUsNkNBQTZDLEVBQUUsS0FBSyxDQUFDLDZDQUE2QztRQUNsRyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO0tBQ2pELENBQUMsQ0FBQztJQUVILElBQUksTUFBMEIsQ0FBQztJQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFOUYsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUMzRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsb0JBQW9CLEVBQUUsWUFBWTtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLDZFQUEwQyxFQUM3RCxNQUFNLEVBQ04sd0JBQXdCLENBQUMsU0FBUyxFQUNsQyxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2hDLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLFNBQVMsQ0FDWixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDbEYscUNBQXFDO0lBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0Ysb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckMsb0RBQW9EO0lBQ3BELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBeUIsQ0FBQztJQUNsRSxxSUFBcUk7SUFDckksSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixJQUFBLDJCQUFtQixFQUFDLFlBQVksRUFBRTtZQUNoQztnQkFDRSxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsNERBQTREO2FBQ3JFO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU87UUFDTCxZQUFZLEVBQUUsY0FBYztRQUM1QixrQkFBa0I7UUFDbEIsYUFBYSxFQUFFLHdCQUF3QixDQUFDLFNBQVM7UUFDakQsK0JBQStCLEVBQUUsd0JBQXdCLENBQUMsd0JBQXdCO1FBQ2xGLG9CQUFvQixFQUFFLFlBQVk7S0FDbkMsQ0FBQztBQUNKLENBQUM7QUFTRDs7R0FFRztBQUNILFNBQWdCLG1DQUFtQyxDQUFDLEtBQWdCLEVBQ2xFLG1CQUE0QyxFQUM1QywyQkFBZ0UsRUFDaEUsc0JBQStCLElBQUksRUFDbkMsNEJBQTZDLEVBQzdDLDBCQUFrRTtJQUdsRSxJQUFJLG1CQUFtRCxDQUFDO0lBRXhELE1BQU0sd0JBQXdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO0lBRXhILElBQUksMkJBQTJCO1dBQzFCLDJCQUEyQixDQUFDLGVBQWU7V0FDM0MsMkJBQTJCLENBQUMsZUFBZSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDckUsbUJBQW1CLEdBQUcsMkJBQTJCLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ3hGLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSx3QkFBd0IsR0FBd0M7WUFDcEUsY0FBYyxFQUFFO2dCQUNkLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixPQUFPLEVBQUU7b0JBQ1AsNkJBQTZCO29CQUM3QiwrQkFBK0I7b0JBQy9CLCtCQUErQjtvQkFDL0IsUUFBUTtpQkFDVDthQUNGO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLFFBQVEsRUFBRSxNQUFNO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFLDJEQUEyRDtZQUNwRSx1QkFBdUIsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxzQ0FBc0M7U0FDdkcsQ0FBQztRQUVGLG1CQUFtQixHQUFHLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSwrQkFBK0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFRCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTdFLE1BQU0sWUFBWSxHQUFHLElBQUEsa0ZBQStDLEVBQ2xFLG1CQUFtQixFQUNuQix3QkFBd0IsQ0FBQyxTQUFTLEVBQ2xDLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQUUsYUFBYSxFQUMxQyxrQkFBa0IsRUFDbEIsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzFJLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBaUMsSUFBQSx3QkFBZ0IsRUFBQyxZQUFZLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUUxRyxxQ0FBcUM7SUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0FBQ3JKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLEtBQWdCLEVBQUUsT0FBZ0I7SUFDL0UsT0FBTyxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUU7UUFDbEYsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUU7S0FDdkYsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQWFELFNBQVMsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxLQUE4QjtJQUN4RSxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxhQUFhLEtBQUssS0FBSyxDQUFDO0lBQ3JGLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQztJQUUzRSxJQUFJLHFCQUFxQixJQUFJLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELElBQUksU0FBZ0MsQ0FBQztJQUNyQyxJQUFJLDBCQUFpRCxDQUFDO0lBQ3RELElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN0QixTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7U0FBTSxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDakMsU0FBUyxHQUFHLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxvQkFBb0IsR0FBRyxJQUFBLGdEQUE2QixFQUN4RCxLQUFLLEVBQ0wseUJBQXlCLEVBQ3pCO1lBQ0UsMkhBQTJIO1lBQzNILGtCQUFrQixFQUFFLElBQUEsd0JBQWdCLEVBQUMsSUFBQSxtQ0FBYyxHQUFFLEVBQUUsS0FBSyxDQUFDLDRCQUE0QixFQUFFO2dCQUN6RixlQUFlLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxhQUFhO2FBQ2xELENBQUM7WUFDRixzQkFBc0IsRUFBRSxLQUFLLENBQUMsNkNBQTZDO1lBQzNFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDN0MsQ0FBQyxDQUFDO1FBRUwsU0FBUyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztRQUMzQywwQkFBMEIsR0FBRyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUNwRSxNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBaUIsQ0FBQztRQUNuRixxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsT0FBTztRQUNMLFNBQVM7UUFDVCx3QkFBd0IsRUFBRSwwQkFBMEI7S0FDckQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLG1CQUE0QixFQUFFLEtBQWdCO0lBQzNFLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDNUUsQ0FBQztBQU9ELFNBQWdCLG9CQUFvQixDQUFDLFdBQWtDO0lBQ3JFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSSxXQUFXLENBQUMseUJBQXlCLEtBQUssS0FBSyxJQUFJLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3ZILGFBQWEsSUFBSSxpSEFBaUgsQ0FBQztRQUNuSSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQVdELFNBQWdCLHNCQUFzQixDQUFDLEtBQXdCO0lBQzdELElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ25GLGFBQWEsSUFBSSxtRkFBbUYsQ0FBQztRQUNyRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDMUUsYUFBYSxJQUFJLDBFQUEwRSxDQUFDO1FBQzVGLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLDJDQUEyQyxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3BILGFBQWEsSUFBSSxnSUFBZ0ksQ0FBQztRQUNsSixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsSUFBSSxLQUFLLENBQUMsc0JBQXNCLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDaEcsYUFBYSxJQUFJLDBHQUEwRyxDQUFDO1FBQzVILFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLDRCQUE0QixFQUFFLHNCQUFzQixJQUFJLEtBQUssQ0FBQyxzQkFBc0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUN6RyxhQUFhLElBQUksdUhBQXVILENBQUM7UUFDekksVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIG1lZGlhc3RvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzLFxuICBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlQcm9wcyxcbiAgRGVmYXVsdENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUHJvcHNcbn0gZnJvbSAnLi9jbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzLCBnZW5lcmF0ZVBoeXNpY2FsT2FjTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQgfSBmcm9tICcuL3MzLWJ1Y2tldC1oZWxwZXInO1xuaW1wb3J0IHsgRGVmYXVsdFMzUHJvcHMgfSBmcm9tICcuL3MzLWJ1Y2tldC1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTM09hY09yaWdpbiB9IGZyb20gJy4vczMtb2FjLW9yaWdpbic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLy8gT3ZlcnJpZGUgQ2ZuX05hZyBydWxlOiBDbG91ZGZyb250IFRMUy0xLjIgcnVsZSAoaHR0cHM6Ly9naXRodWIuY29tL3N0ZWxsaWdlbnQvY2ZuX25hZy9pc3N1ZXMvMzg0KVxuZnVuY3Rpb24gdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKSB7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoY2ZEaXN0cmlidXRpb24sIFtcbiAgICB7XG4gICAgICBpZDogJ1c3MCcsXG4gICAgICByZWFzb246IGBTaW5jZSB0aGUgZGlzdHJpYnV0aW9uIHVzZXMgdGhlIENsb3VkRnJvbnQgZG9tYWluIG5hbWUsIENsb3VkRnJvbnQgYXV0b21hdGljYWxseSBzZXRzIHRoZSBzZWN1cml0eSBwb2xpY3kgdG8gVExTdjEgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgTWluaW11bVByb3RvY29sVmVyc2lvbmBcbiAgICB9XG4gIF0pO1xuXG4gIHJldHVybiBjZkRpc3RyaWJ1dGlvbjtcbn1cblxuLy8gQ2xvdWRmcm9udCBmdW5jdGlvbiB0byBpbnNlcnQgdGhlIEhUVFAgU2VjdXJpdHkgSGVhZGVycyBpbnRvIHRoZSByZXNwb25zZSBjb21pbmcgZnJvbSB0aGUgb3JpZ2luIHNlcnZlcnNcbi8vIGFuZCBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgY2xpZW50XG5mdW5jdGlvbiBkZWZhdWx0Q2xvdWRmcm9udEZ1bmN0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBjbG91ZGZyb250LkZ1bmN0aW9uIHtcbiAgLy8gZ2VuZXJhdGUgYSBzdGFibGUgdW5pcXVlIGlkIGZvciB0aGUgY2xvdWRmcm9udCBmdW5jdGlvbiBhbmQgdXNlIGl0XG4gIC8vIGJvdGggZm9yIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgbG9naWNhbCBpZCBvZiB0aGUgZnVuY3Rpb24gc28gaWZcbiAgLy8gaXQgaXMgY2hhbmdlZCB0aGUgZnVuY3Rpb24gd2lsbCBiZSByZWNyZWF0ZWQuXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gIGNvbnN0IGZ1bmN0aW9uSWQgPSBgU2V0SHR0cFNlY3VyaXR5SGVhZGVycyR7c2NvcGUubm9kZS5hZGRyfWA7XG5cbiAgcmV0dXJuIG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHNjb3BlLCBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNcIiwge1xuICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICBjb2RlOiBjbG91ZGZyb250LkZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKFwiZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeyBcIiArXG4gICAgICBcInZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlOyBcIiArXG4gICAgICBcInZhciBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5J10gPSB7IHZhbHVlOiAnbWF4LWFnZT02MzA3MjAwMDsgaW5jbHVkZVN1YmRvbWFpbnM7IHByZWxvYWQnfTsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydjb250ZW50LXNlY3VyaXR5LXBvbGljeSddID0geyB2YWx1ZTogXFxcImRlZmF1bHQtc3JjICdub25lJzsgaW1nLXNyYyAnc2VsZic7IHNjcmlwdC1zcmMgJ3NlbGYnOyBzdHlsZS1zcmMgJ3NlbGYnOyBvYmplY3Qtc3JjICdub25lJ1xcXCJ9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHsgdmFsdWU6ICdub3NuaWZmJ307IGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnREVOWSd9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gteHNzLXByb3RlY3Rpb24nXSA9IHt2YWx1ZTogJzE7IG1vZGU9YmxvY2snfTsgXCIgK1xuICAgICAgXCJyZXR1cm4gcmVzcG9uc2U7IH1cIilcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXkoc2NvcGU6IENvbnN0cnVjdCxcbiAgYXBpRW5kUG9pbnQ6IGFwaS5SZXN0QXBpLFxuICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICBodHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbik6IENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JBcGlHYXRld2F5UmVzcG9uc2Uge1xuXG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IGdldENsb3VkZnJvbnRGdW5jdGlvbihodHRwU2VjdXJpdHlIZWFkZXJzLCBzY29wZSk7XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwgIHsgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVByb3BzKGFwaUVuZFBvaW50LFxuICAgIGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVycyxcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPyBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOiB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG4gIC8vIENyZWF0ZSB0aGUgQ2xvdWRmcm9udCBEaXN0cmlidXRpb25cbiAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24oc2NvcGUsICdDbG91ZEZyb250RGlzdHJpYnV0aW9uJywgY2Zwcm9wcyk7XG4gIHVwZGF0ZVNlY3VyaXR5UG9saWN5KGNmRGlzdHJpYnV0aW9uKTtcblxuICByZXR1cm4geyBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLCBjbG91ZGZyb250RnVuY3Rpb24sIGxvZ2dpbmdCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Byb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlQnVja2V0OiBzMy5JQnVja2V0LFxuICByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBodHRwU2VjdXJpdHlIZWFkZXJzPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICByZWFkb25seSBsb2dDbG91ZEZyb250QWNjZXNzTG9nPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRmcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbixcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzQ29udHJvbD86IGNsb3VkZnJvbnQuQ2ZuT3JpZ2luQWNjZXNzQ29udHJvbCxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogQ3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzUHJvcHNcbik6IENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgY29uc3QgaHR0cFNlY3VyaXR5SGVhZGVycyA9IHByb3BzLmh0dHBTZWN1cml0eUhlYWRlcnMgPz8gdHJ1ZTtcbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7XG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICBlbmFibGVTM0FjY2Vzc0xvZ3M6IHByb3BzLmxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2dcbiAgfSk7XG5cbiAgbGV0IG9yaWdpbkFjY2Vzc0NvbnRyb2w7XG4gIGxldCBvcmlnaW5Qcm9wcyA9IHt9O1xuXG4gIGlmICghcHJvcHMuc291cmNlQnVja2V0LmlzV2Vic2l0ZSkge1xuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2wgPSBuZXcgY2xvdWRmcm9udC5DZm5PcmlnaW5BY2Nlc3NDb250cm9sKHNjb3BlLCAnQ2xvdWRGcm9udE9hYycsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2xDb25maWc6IHtcbiAgICAgICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbE9hY05hbWUoJ2F3cy1jbG91ZGZyb250LXMzLScsIFtpZF0pLFxuICAgICAgICBvcmlnaW5BY2Nlc3NDb250cm9sT3JpZ2luVHlwZTogJ3MzJyxcbiAgICAgICAgc2lnbmluZ0JlaGF2aW9yOiAnYWx3YXlzJyxcbiAgICAgICAgc2lnbmluZ1Byb3RvY29sOiAnc2lndjQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09yaWdpbiBhY2Nlc3MgY29udHJvbCBwcm92aXNpb25lZCBieSBhd3MtY2xvdWRmcm9udC1zMydcbiAgICAgIH1cbiAgICB9KTtcbiAgICBvcmlnaW5Qcm9wcyA9IHsgb3JpZ2luQWNjZXNzQ29udHJvbCB9O1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luID0gbmV3IFMzT2FjT3JpZ2luKHByb3BzLnNvdXJjZUJ1Y2tldCwgb3JpZ2luUHJvcHMpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyhvcmlnaW4sXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/XG4gICAgICBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOlxuICAgICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgY29uc3QgY2Zwcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHByb3BzLCBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMpO1xuICAvLyBDcmVhdGUgdGhlIENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgLy8gRXh0cmFjdCB0aGUgQ2ZuQnVja2V0UG9saWN5IGZyb20gdGhlIHNvdXJjZUJ1Y2tldFxuICBjb25zdCBidWNrZXRQb2xpY3kgPSBwcm9wcy5zb3VyY2VCdWNrZXQucG9saWN5IGFzIHMzLkJ1Y2tldFBvbGljeTtcbiAgLy8gdGhlIGxhY2sgb2YgYSBidWNrZXRQb2xpY3kgbWVhbnMgdGhlIGJ1Y2tldCB3YXMgaW1wb3J0ZWQgZnJvbSBvdXRzaWRlIHRoZSBzdGFjayBzbyB0aGUgbGFjayBvZiBjZm5fbmFnIHN1cHByZXNzaW9uIGlzIG5vdCBhbiBpc3N1ZVxuICBpZiAoYnVja2V0UG9saWN5KSB7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhidWNrZXRQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdGMTYnLFxuICAgICAgICByZWFzb246IGBQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG4gIHJldHVybiB7XG4gICAgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbixcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBsb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0QWNjZXNzTG9nQnVja2V0LFxuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2x9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTM1Byb3BzIHtcbiAgcmVhZG9ubHkgb3JpZ2luUGF0aD86ICBzdHJpbmcsXG4gIHJlYWRvbmx5IHNvdXJjZUJ1Y2tldDogczMuSUJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgaHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbiAgcmVhZG9ubHkgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgcHJvcHM6IENyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTM1Byb3BzXG4pOiBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG5cbiAgY29uc3QgaHR0cFNlY3VyaXR5SGVhZGVycyA9IHByb3BzLmh0dHBTZWN1cml0eUhlYWRlcnMgPz8gdHJ1ZTtcbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBpZiAocHJvcHMuc291cmNlQnVja2V0LmlzV2Vic2l0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgYXdzLWNsb3VkZnJvbnQtb2FpLXMzIGhhcyBiZWVuIHByb3ZpZGVkIGEgc291cmNlIGJ1Y2tldCB3aXRoIHdlYnNpdGUgaG9zdGluZyBlbmFibGVkLCB3aGljaCB0aGlzIGNvbnN0cnVjdFxuICAgICAgICBkb2VzIG5vdCBzdXBwb3J0LiBUaGlzIHJlcXVpcmVzIGJvdGggdGhlIGJ1Y2tldCBhbmQgaXRzIG9iamVjdHMgdG8gYmUgcHVibGljLiBBV1Mgc3Ryb25nbHkgcmVjb21tZW5kcyBhZ2FpbnN0IGNvbmZpZ3VyaW5nXG4gICAgICAgIGJ1Y2tldHMgYW5kIG9iamVjdHMgZm9yIHB1YmxpYyBhY2Nlc3MuIEFzIHN1Y2ggYSBjb25maWd1cmF0aW9uIHVzZXMgbmVpdGhlciBPQUMgbm9yIE9BSSwgaXQgY2FuIGJlIGxhdW5jaGVkIHdpdGggdGhlXG4gICAgICAgIGF3cy1jbG91ZGZyb24tczMgY29uc3RydWN0IGluIGFueSByZWdpb24uYCk7XG4gICB9XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwge1xuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHMsXG4gICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5sb2dDbG91ZEZyb250QWNjZXNzTG9nXG4gIH0pO1xuXG4gIGxldCBvcmlnaW46IGNsb3VkZnJvbnQuSU9yaWdpbjtcbiAgY29uc3QgY29uc3RydWN0T2FpID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkoc2NvcGUsICdjb25zdHJ1Y3RzR2VuZXJhdGVkT2FpJywge30pO1xuXG4gIGlmIChwcm9wcy5vcmlnaW5QYXRoKSB7XG4gICAgb3JpZ2luID0gb3JpZ2lucy5TM0J1Y2tldE9yaWdpbi53aXRoT3JpZ2luQWNjZXNzSWRlbnRpdHkocHJvcHMuc291cmNlQnVja2V0LCB7XG4gICAgICBvcmlnaW5QYXRoOiBwcm9wcy5vcmlnaW5QYXRoLFxuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IGNvbnN0cnVjdE9haVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9yaWdpbiA9IG9yaWdpbnMuUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0lkZW50aXR5KHByb3BzLnNvdXJjZUJ1Y2tldCwgeyBvcmlnaW5BY2Nlc3NJZGVudGl0eTogY29uc3RydWN0T2FpIH0pO1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdHByb3BzID0gRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzKFxuICAgIG9yaWdpbixcbiAgICBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRmcm9udEZ1bmN0aW9uLFxuICAgIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzID9cbiAgICAgIG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeShzY29wZSwgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzKSA6XG4gICAgICB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG4gIC8vIENyZWF0ZSB0aGUgQ2xvdWRmcm9udCBEaXN0cmlidXRpb25cbiAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24oc2NvcGUsICdDbG91ZEZyb250RGlzdHJpYnV0aW9uJywgY2Zwcm9wcyk7XG4gIHVwZGF0ZVNlY3VyaXR5UG9saWN5KGNmRGlzdHJpYnV0aW9uKTtcblxuICAvLyBFeHRyYWN0IHRoZSBDZm5CdWNrZXRQb2xpY3kgZnJvbSB0aGUgc291cmNlQnVja2V0XG4gIGNvbnN0IGJ1Y2tldFBvbGljeSA9IHByb3BzLnNvdXJjZUJ1Y2tldC5wb2xpY3kgYXMgczMuQnVja2V0UG9saWN5O1xuICAvLyB0aGUgbGFjayBvZiBhIGJ1Y2tldFBvbGljeSBtZWFucyB0aGUgYnVja2V0IHdhcyBpbXBvcnRlZCBmcm9tIG91dHNpZGUgdGhlIHN0YWNrIHNvIHRoZSBsYWNrIG9mIGNmbl9uYWcgc3VwcHJlc3Npb24gaXMgbm90IGFuIGlzc3VlXG4gIGlmIChidWNrZXRQb2xpY3kpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGJ1Y2tldFBvbGljeSwgW1xuICAgICAge1xuICAgICAgICBpZDogJ0YxNicsXG4gICAgICAgIHJlYXNvbjogYFB1YmxpYyB3ZWJzaXRlIGJ1Y2tldCBwb2xpY3kgcmVxdWlyZXMgYSB3aWxkY2FyZCBwcmluY2lwYWxgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBsb2dnaW5nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0LFxuICAgIGxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXRBY2Nlc3NMb2dCdWNrZXQsXG4gICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IGNvbnN0cnVjdE9haVxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUmVzcG9uc2Uge1xuICByZWFkb25seSBkaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uLFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSByZXF1ZXN0UG9saWN5OiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3ksXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb25cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmUoc2NvcGU6IENvbnN0cnVjdCxcbiAgbWVkaWFTdG9yZUNvbnRhaW5lcjogbWVkaWFzdG9yZS5DZm5Db250YWluZXIsXG4gIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIGh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4gPSB0cnVlLFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuKTogQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmVSZXNwb25zZSB7XG5cbiAgbGV0IG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcywgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyB9KTtcblxuICBpZiAoY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzXG4gICAgJiYgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmRlZmF1bHRCZWhhdmlvclxuICAgICYmIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcy5kZWZhdWx0QmVoYXZpb3Iub3JpZ2luUmVxdWVzdFBvbGljeSkge1xuICAgIG9yaWdpblJlcXVlc3RQb2xpY3kgPSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMuZGVmYXVsdEJlaGF2aW9yLm9yaWdpblJlcXVlc3RQb2xpY3k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb3JpZ2luUmVxdWVzdFBvbGljeVByb3BzOiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyA9IHtcbiAgICAgIGhlYWRlckJlaGF2aW9yOiB7XG4gICAgICAgIGJlaGF2aW9yOiAnd2hpdGVsaXN0JyxcbiAgICAgICAgaGVhZGVyczogW1xuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLFxuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCcsXG4gICAgICAgICAgJ0FjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVyJyxcbiAgICAgICAgICAnT3JpZ2luJ1xuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgcXVlcnlTdHJpbmdCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ2FsbCdcbiAgICAgIH0sXG4gICAgICBjb29raWVCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ25vbmUnXG4gICAgICB9LFxuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ29uc3RydWN0cyBDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZScsXG4gICAgICBvcmlnaW5SZXF1ZXN0UG9saWN5TmFtZTogYCR7Y2RrLkF3cy5TVEFDS19OQU1FfS0ke2Nkay5Bd3MuUkVHSU9OfS1DbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZWBcbiAgICB9O1xuXG4gICAgb3JpZ2luUmVxdWVzdFBvbGljeSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3koc2NvcGUsICdDbG91ZGZyb250T3JpZ2luUmVxdWVzdFBvbGljeScsIG9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyk7XG4gIH1cblxuICBjb25zdCBjbG91ZGZyb250RnVuY3Rpb24gPSBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVycywgc2NvcGUpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZVByb3BzKFxuICAgIG1lZGlhU3RvcmVDb250YWluZXIsXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBvcmlnaW5SZXF1ZXN0UG9saWN5LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPy5jdXN0b21IZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeShzY29wZSwgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzKSA6IHVuZGVmaW5lZFxuICApO1xuXG4gIGNvbnN0IGNmcHJvcHM6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRwcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzKTtcblxuICAvLyBDcmVhdGUgdGhlIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgcmV0dXJuIHsgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbiwgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCwgcmVxdWVzdFBvbGljeTogb3JpZ2luUmVxdWVzdFBvbGljeSwgY2xvdWRmcm9udEZ1bmN0aW9uIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZTogQ29uc3RydWN0LCBjb21tZW50Pzogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgY2xvdWRmcm9udC5PcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZSwgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScsIHtcbiAgICBjb21tZW50OiBjb21tZW50ID8gY29tbWVudCA6IGBhY2Nlc3MtaWRlbnRpdHktJHtjZGsuQXdzLlJFR0lPTn0tJHtjZGsuQXdzLlNUQUNLX05BTUV9YFxuICB9KTtcbn1cblxuaW50ZXJmYWNlIEdldExvZ2dpbmdCdWNrZXRSZXF1ZXN0IHtcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSBlbmFibGVTM0FjY2Vzc0xvZ3M/OiBib29sZWFuXG59XG5pbnRlcmZhY2UgR2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlIHtcbiAgbG9nQnVja2V0PzogczMuQnVja2V0LFxuICBsb2dCdWNrZXRBY2Nlc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuZnVuY3Rpb24gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZTogQ29uc3RydWN0LCBwcm9wczogR2V0TG9nZ2luZ0J1Y2tldFJlcXVlc3QpOiBHZXRMb2dnaW5nQnVja2V0UmVzcG9uc2Uge1xuICBjb25zdCBpc0xvZ2dpbmdEaXNhYmxlZCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8uZW5hYmxlTG9nZ2luZyA9PT0gZmFsc2U7XG4gIGNvbnN0IHVzZXJTdXBwbGllZExvZ0J1Y2tldCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8ubG9nQnVja2V0O1xuXG4gIGlmICh1c2VyU3VwcGxpZWRMb2dCdWNrZXQgJiYgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcykge1xuICAgIHRocm93IEVycm9yKCdFaXRoZXIgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmxvZ0J1Y2tldCBvciBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzIGNhbiBiZSBzZXQuJyk7XG4gIH1cblxuICBsZXQgbG9nQnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQ7XG4gIGxldCBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dDogczMuQnVja2V0IHwgdW5kZWZpbmVkO1xuICBpZiAoaXNMb2dnaW5nRGlzYWJsZWQpIHtcbiAgICBsb2dCdWNrZXQgPSB1bmRlZmluZWQ7XG4gIH0gZWxzZSBpZiAodXNlclN1cHBsaWVkTG9nQnVja2V0KSB7XG4gICAgbG9nQnVja2V0ID0gdXNlclN1cHBsaWVkTG9nQnVja2V0O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNyZWF0ZUJ1Y2tldFJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQoXG4gICAgICBzY29wZSxcbiAgICAgICdDbG91ZGZyb250TG9nZ2luZ0J1Y2tldCcsXG4gICAgICB7XG4gICAgICAgIC8vIEJ1Y2tldHMgdXNlZCBmb3IgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gbG9nZ2luZyByZXF1aXJlIEFDTHMgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkLCBzbyB3ZSBhcHBseSB0aGlzIG9iamVjdE93bmVyc2hpcFxuICAgICAgICBsb2dnaW5nQnVja2V0UHJvcHM6IGNvbnNvbGlkYXRlUHJvcHMoRGVmYXVsdFMzUHJvcHMoKSwgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywge1xuICAgICAgICAgIG9iamVjdE93bmVyc2hpcDogczMuT2JqZWN0T3duZXJzaGlwLk9CSkVDVF9XUklURVJcbiAgICAgICAgfSksXG4gICAgICAgIHMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICAgICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5lbmFibGVTM0FjY2Vzc0xvZ3NcbiAgICAgIH0pO1xuXG4gICAgbG9nQnVja2V0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UubG9nQnVja2V0O1xuICAgIGxvZ0J1Y2tlUzNBY2Nlc3NMb2dCdWNrZXR0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UuczNBY2Nlc3NMb2dCdWNrZXQ7XG4gICAgY29uc3QgbG9nZ2luZ0J1Y2tldFJlc291cmNlID0gbG9nQnVja2V0Lm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIHMzLkNmbkJ1Y2tldDtcbiAgICBsb2dnaW5nQnVja2V0UmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnQWNjZXNzQ29udHJvbCcsICdMb2dEZWxpdmVyeVdyaXRlJyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBsb2dCdWNrZXQsXG4gICAgbG9nQnVja2V0QWNjZXNzTG9nQnVja2V0OiBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbiwgc2NvcGU6IENvbnN0cnVjdCkge1xuICByZXR1cm4gaHR0cFNlY3VyaXR5SGVhZGVycyA/IGRlZmF1bHRDbG91ZGZyb250RnVuY3Rpb24oc2NvcGUpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuO1xuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0Nsb3VkRnJvbnRQcm9wcyhwcm9wc09iamVjdDogQ2xvdWRGcm9udFByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0Lmluc2VydEh0dHBTZWN1cml0eUhlYWRlcnMgIT09IGZhbHNlICYmIHByb3BzT2JqZWN0LnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPy5zZWN1cml0eUhlYWRlcnNCZWhhdmlvcikge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ3Jlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLnNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yIGNhbiBvbmx5IGJlIHBhc3NlZCBpZiBodHRwU2VjdXJpdHlIZWFkZXJzIGlzIHNldCB0byBgZmFsc2VgLic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkZnJvbnRTM1Byb3BzIHtcbiAgcmVhZG9ubHkgYnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgbG9nUzNBY2Nlc3NMb2dzPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrQ2xvdWRmcm9udFMzUHJvcHMocHJvcHM6IENsb3VkZnJvbnRTM1Byb3BzKSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKChwcm9wcy5sb2dTM0FjY2Vzc0xvZ3MgPT09IGZhbHNlKSAmJiBwcm9wcy5idWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gbG9nUzNBY2Nlc3NMb2dzIGlzIGZhbHNlLCBidXQgYSBsb2cgYnVja2V0IHdhcyBwcm92aWRlZCBpbiBidWNrZXRQcm9wcy5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmxvZ2dpbmdCdWNrZXRQcm9wcyAmJiBwcm9wcy5idWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gYm90aGxvZyBidWNrZXQgcHJvcHMgYW5kIGFuIGV4aXN0aW5nIGxvZyBidWNrZXQgd2VyZSBwcm92aWRlZC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgJiYgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gYW4gZXhpc3RpbmcgQ2xvdWRGcm9udCBsb2cgYnVja2V0IFMzIGFjY2VzcyBsb2cgYnVja2V0IGFuZCBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzIHdlcmUgcHJvdmlkZWRcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgJiYgcHJvcHMubG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyA9PT0gZmFsc2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgd2VyZSBwcm92aWRlZCBidXQgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyB3YXMgZmFsc2VcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQgJiYgcHJvcHMubG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyA9PT0gZmFsc2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMuc2VydmVyQWNjZXNzTG9nc0J1Y2tldCB3YXMgcHJvdmlkZWQgYnV0IGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgd2FzIGZhbHNlXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iXX0=
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFvRUgsa0ZBeUJDO0FBdUJELDhFQWdFQztBQXdCRCxvRkFtRUM7QUFZRCxrRkEyREM7QUFLRCx3RUFJQztBQTRERCxvREFZQztBQVdELHdEQWdDQztBQWhkRDs7O0dBR0c7QUFFSCx5REFBeUQ7QUFDekQsOERBQThEO0FBQzlELHlDQUF5QztBQUN6QyxtQ0FBbUM7QUFHbkMseUZBSTRDO0FBQzVDLG1DQUF5RjtBQUN6Rix5REFBbUU7QUFDbkUsNkRBQXNEO0FBQ3RELG1EQUE4QztBQUk5QyxvR0FBb0c7QUFDcEcsU0FBUyxvQkFBb0IsQ0FBQyxjQUF1QztJQUNuRSxJQUFBLDJCQUFtQixFQUFDLGNBQWMsRUFBRTtRQUNsQztZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLHNLQUFzSztTQUMvSztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCwyR0FBMkc7QUFDM0csc0NBQXNDO0FBQ3RDLFNBQVMseUJBQXlCLENBQUMsS0FBZ0I7SUFDakQscUVBQXFFO0lBQ3JFLHNFQUFzRTtJQUN0RSxnREFBZ0Q7SUFDaEQsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLHlCQUF5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTlELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtRQUM5RCxZQUFZLEVBQUUsVUFBVTtRQUN4QixJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsNEJBQTRCO1lBQ25FLGlDQUFpQztZQUNqQyxrQ0FBa0M7WUFDbEMsbUdBQW1HO1lBQ25H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QUN6RyxhQUFhLElBQUksdUhBQXVILENBQUM7UUFDekksVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIG1lZGlhc3RvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzLFxuICBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlQcm9wcyxcbiAgRGVmYXVsdENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUHJvcHNcbn0gZnJvbSAnLi9jbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzLCBnZW5lcmF0ZVBoeXNpY2FsT2FjTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQgfSBmcm9tICcuL3MzLWJ1Y2tldC1oZWxwZXInO1xuaW1wb3J0IHsgRGVmYXVsdFMzUHJvcHMgfSBmcm9tICcuL3MzLWJ1Y2tldC1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTM09hY09yaWdpbiB9IGZyb20gJy4vczMtb2FjLW9yaWdpbic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLy8gT3ZlcnJpZGUgQ2ZuX05hZyBydWxlOiBDbG91ZGZyb250IFRMUy0xLjIgcnVsZSAoaHR0cHM6Ly9naXRodWIuY29tL3N0ZWxsaWdlbnQvY2ZuX25hZy9pc3N1ZXMvMzg0KVxuZnVuY3Rpb24gdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKSB7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoY2ZEaXN0cmlidXRpb24sIFtcbiAgICB7XG4gICAgICBpZDogJ1c3MCcsXG4gICAgICByZWFzb246IGBTaW5jZSB0aGUgZGlzdHJpYnV0aW9uIHVzZXMgdGhlIENsb3VkRnJvbnQgZG9tYWluIG5hbWUsIENsb3VkRnJvbnQgYXV0b21hdGljYWxseSBzZXRzIHRoZSBzZWN1cml0eSBwb2xpY3kgdG8gVExTdjEgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgTWluaW11bVByb3RvY29sVmVyc2lvbmBcbiAgICB9XG4gIF0pO1xuXG4gIHJldHVybiBjZkRpc3RyaWJ1dGlvbjtcbn1cblxuLy8gQ2xvdWRmcm9udCBmdW5jdGlvbiB0byBpbnNlcnQgdGhlIEhUVFAgU2VjdXJpdHkgSGVhZGVycyBpbnRvIHRoZSByZXNwb25zZSBjb21pbmcgZnJvbSB0aGUgb3JpZ2luIHNlcnZlcnNcbi8vIGFuZCBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgY2xpZW50XG5mdW5jdGlvbiBkZWZhdWx0Q2xvdWRmcm9udEZ1bmN0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBjbG91ZGZyb250LkZ1bmN0aW9uIHtcbiAgLy8gZ2VuZXJhdGUgYSBzdGFibGUgdW5pcXVlIGlkIGZvciB0aGUgY2xvdWRmcm9udCBmdW5jdGlvbiBhbmQgdXNlIGl0XG4gIC8vIGJvdGggZm9yIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgbG9naWNhbCBpZCBvZiB0aGUgZnVuY3Rpb24gc28gaWZcbiAgLy8gaXQgaXMgY2hhbmdlZCB0aGUgZnVuY3Rpb24gd2lsbCBiZSByZWNyZWF0ZWQuXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gIGNvbnN0IGZ1bmN0aW9uSWQgPSBgU2V0SHR0cFNlY3VyaXR5SGVhZGVycyR7c2NvcGUubm9kZS5hZGRyfWA7XG5cbiAgcmV0dXJuIG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHNjb3BlLCBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNcIiwge1xuICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICBjb2RlOiBjbG91ZGZyb250LkZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKFwiZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeyBcIiArXG4gICAgICBcInZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlOyBcIiArXG4gICAgICBcInZhciBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5J10gPSB7IHZhbHVlOiAnbWF4LWFnZT02MzA3MjAwMDsgaW5jbHVkZVN1YmRvbWFpbnM7IHByZWxvYWQnfTsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydjb250ZW50LXNlY3VyaXR5LXBvbGljeSddID0geyB2YWx1ZTogXFxcImRlZmF1bHQtc3JjICdub25lJzsgaW1nLXNyYyAnc2VsZic7IHNjcmlwdC1zcmMgJ3NlbGYnOyBzdHlsZS1zcmMgJ3NlbGYnOyBvYmplY3Qtc3JjICdub25lJ1xcXCJ9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHsgdmFsdWU6ICdub3NuaWZmJ307IGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnREVOWSd9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gteHNzLXByb3RlY3Rpb24nXSA9IHt2YWx1ZTogJzE7IG1vZGU9YmxvY2snfTsgXCIgK1xuICAgICAgXCJyZXR1cm4gcmVzcG9uc2U7IH1cIilcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXkoc2NvcGU6IENvbnN0cnVjdCxcbiAgYXBpRW5kUG9pbnQ6IGFwaS5SZXN0QXBpQmFzZSxcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgaHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbiA9IHRydWUsXG4gIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4pOiBDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVJlc3BvbnNlIHtcblxuICBjb25zdCBjbG91ZGZyb250RnVuY3Rpb24gPSBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVycywgc2NvcGUpO1xuXG4gIGNvbnN0IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZSA9IGdldExvZ2dpbmdCdWNrZXQoc2NvcGUsICB7IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyB9KTtcblxuICBjb25zdCBkZWZhdWx0cHJvcHMgPSBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlQcm9wcyhhcGlFbmRQb2ludCxcbiAgICBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRmcm9udEZ1bmN0aW9uLFxuICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzID8gbmV3IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5KHNjb3BlLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5JywgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMpIDogdW5kZWZpbmVkXG4gICk7XG5cbiAgY29uc3QgY2Zwcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHByb3BzLCBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMpO1xuICAvLyBDcmVhdGUgdGhlIENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgcmV0dXJuIHsgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbiwgY2xvdWRmcm9udEZ1bmN0aW9uLCBsb2dnaW5nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0fTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzNQcm9wcyB7XG4gIHJlYWRvbmx5IHNvdXJjZUJ1Y2tldDogczMuSUJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgaHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbiAgcmVhZG9ubHkgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0NvbnRyb2w/OiBjbG91ZGZyb250LkNmbk9yaWdpbkFjY2Vzc0NvbnRyb2wsXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTMyhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAgcHJvcHM6IENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Byb3BzXG4pOiBDcmVhdGVDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG4gIGNvbnN0IGh0dHBTZWN1cml0eUhlYWRlcnMgPSBwcm9wcy5odHRwU2VjdXJpdHlIZWFkZXJzID8/IHRydWU7XG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IGdldENsb3VkZnJvbnRGdW5jdGlvbihodHRwU2VjdXJpdHlIZWFkZXJzLCBzY29wZSk7XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwge1xuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHMsXG4gICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5sb2dDbG91ZEZyb250QWNjZXNzTG9nXG4gIH0pO1xuXG4gIGxldCBvcmlnaW5BY2Nlc3NDb250cm9sO1xuICBsZXQgb3JpZ2luUHJvcHMgPSB7fTtcblxuICBpZiAoIXByb3BzLnNvdXJjZUJ1Y2tldC5pc1dlYnNpdGUpIHtcbiAgICBvcmlnaW5BY2Nlc3NDb250cm9sID0gbmV3IGNsb3VkZnJvbnQuQ2ZuT3JpZ2luQWNjZXNzQ29udHJvbChzY29wZSwgJ0Nsb3VkRnJvbnRPYWMnLCB7XG4gICAgICBvcmlnaW5BY2Nlc3NDb250cm9sQ29uZmlnOiB7XG4gICAgICAgIG5hbWU6IGdlbmVyYXRlUGh5c2ljYWxPYWNOYW1lKCdhd3MtY2xvdWRmcm9udC1zMy0nLCBbaWRdKSxcbiAgICAgICAgb3JpZ2luQWNjZXNzQ29udHJvbE9yaWdpblR5cGU6ICdzMycsXG4gICAgICAgIHNpZ25pbmdCZWhhdmlvcjogJ2Fsd2F5cycsXG4gICAgICAgIHNpZ25pbmdQcm90b2NvbDogJ3NpZ3Y0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcmlnaW4gYWNjZXNzIGNvbnRyb2wgcHJvdmlzaW9uZWQgYnkgYXdzLWNsb3VkZnJvbnQtczMnXG4gICAgICB9XG4gICAgfSk7XG4gICAgb3JpZ2luUHJvcHMgPSB7IG9yaWdpbkFjY2Vzc0NvbnRyb2wgfTtcbiAgfVxuXG4gIGNvbnN0IG9yaWdpbiA9IG5ldyBTM09hY09yaWdpbihwcm9wcy5zb3VyY2VCdWNrZXQsIG9yaWdpblByb3BzKTtcblxuICBjb25zdCBkZWZhdWx0cHJvcHMgPSBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvclMzUHJvcHMob3JpZ2luLFxuICAgIGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVycyxcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgcHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgP1xuICAgICAgbmV3IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5KHNjb3BlLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5JywgcHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMpIDpcbiAgICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIGNvbnN0IGNmcHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRwcm9wcywgcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzKTtcbiAgLy8gQ3JlYXRlIHRoZSBDbG91ZGZyb250IERpc3RyaWJ1dGlvblxuICBjb25zdCBjZkRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbihzY29wZSwgJ0Nsb3VkRnJvbnREaXN0cmlidXRpb24nLCBjZnByb3BzKTtcbiAgdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb24pO1xuXG4gIC8vIEV4dHJhY3QgdGhlIENmbkJ1Y2tldFBvbGljeSBmcm9tIHRoZSBzb3VyY2VCdWNrZXRcbiAgY29uc3QgYnVja2V0UG9saWN5ID0gcHJvcHMuc291cmNlQnVja2V0LnBvbGljeSBhcyBzMy5CdWNrZXRQb2xpY3k7XG4gIC8vIHRoZSBsYWNrIG9mIGEgYnVja2V0UG9saWN5IG1lYW5zIHRoZSBidWNrZXQgd2FzIGltcG9ydGVkIGZyb20gb3V0c2lkZSB0aGUgc3RhY2sgc28gdGhlIGxhY2sgb2YgY2ZuX25hZyBzdXBwcmVzc2lvbiBpcyBub3QgYW4gaXNzdWVcbiAgaWYgKGJ1Y2tldFBvbGljeSkge1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMoYnVja2V0UG9saWN5LCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnRjE2JyxcbiAgICAgICAgcmVhc29uOiBgUHVibGljIHdlYnNpdGUgYnVja2V0IHBvbGljeSByZXF1aXJlcyBhIHdpbGRjYXJkIHByaW5jaXBhbGBcbiAgICAgIH1cbiAgICBdKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRpc3RyaWJ1dGlvbjogY2ZEaXN0cmlidXRpb24sXG4gICAgY2xvdWRmcm9udEZ1bmN0aW9uLFxuICAgIGxvZ2dpbmdCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgbG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldCxcbiAgICBvcmlnaW5BY2Nlc3NDb250cm9sfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyB7XG4gIHJlYWRvbmx5IG9yaWdpblBhdGg/OiAgc3RyaW5nLFxuICByZWFkb25seSBzb3VyY2VCdWNrZXQ6IHMzLklCdWNrZXQsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIHJlYWRvbmx5IGh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuLFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5ICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gIHJlYWRvbmx5IGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2c/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzUmVzcG9uc2Uge1xuICByZWFkb25seSBkaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uLFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSBjbG91ZGZyb250RnVuY3Rpb24/OiBjbG91ZGZyb250LkZ1bmN0aW9uLFxuICByZWFkb25seSBvcmlnaW5BY2Nlc3NJZGVudGl0eTogY2xvdWRmcm9udC5PcmlnaW5BY2Nlc3NJZGVudGl0eVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzMoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHByb3BzOiBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNQcm9wc1xuKTogQ3JlYXRlQ2xvdWRGcm9udE9haURpc3RyaWJ1dGlvbkZvclMzUmVzcG9uc2Uge1xuXG4gIGNvbnN0IGh0dHBTZWN1cml0eUhlYWRlcnMgPSBwcm9wcy5odHRwU2VjdXJpdHlIZWFkZXJzID8/IHRydWU7XG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IGdldENsb3VkZnJvbnRGdW5jdGlvbihodHRwU2VjdXJpdHlIZWFkZXJzLCBzY29wZSk7XG5cbiAgaWYgKHByb3BzLnNvdXJjZUJ1Y2tldC5pc1dlYnNpdGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGF3cy1jbG91ZGZyb250LW9haS1zMyBoYXMgYmVlbiBwcm92aWRlZCBhIHNvdXJjZSBidWNrZXQgd2l0aCB3ZWJzaXRlIGhvc3RpbmcgZW5hYmxlZCwgd2hpY2ggdGhpcyBjb25zdHJ1Y3RcbiAgICAgICAgZG9lcyBub3Qgc3VwcG9ydC4gVGhpcyByZXF1aXJlcyBib3RoIHRoZSBidWNrZXQgYW5kIGl0cyBvYmplY3RzIHRvIGJlIHB1YmxpYy4gQVdTIHN0cm9uZ2x5IHJlY29tbWVuZHMgYWdhaW5zdCBjb25maWd1cmluZ1xuICAgICAgICBidWNrZXRzIGFuZCBvYmplY3RzIGZvciBwdWJsaWMgYWNjZXNzLiBBcyBzdWNoIGEgY29uZmlndXJhdGlvbiB1c2VzIG5laXRoZXIgT0FDIG5vciBPQUksIGl0IGNhbiBiZSBsYXVuY2hlZCB3aXRoIHRoZVxuICAgICAgICBhd3MtY2xvdWRmcm9uLXMzIGNvbnN0cnVjdCBpbiBhbnkgcmVnaW9uLmApO1xuICAgfVxuXG4gIGNvbnN0IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZSA9IGdldExvZ2dpbmdCdWNrZXQoc2NvcGUsIHtcbiAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyxcbiAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzLFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzLFxuICAgIGVuYWJsZVMzQWNjZXNzTG9nczogcHJvcHMubG9nQ2xvdWRGcm9udEFjY2Vzc0xvZ1xuICB9KTtcblxuICBsZXQgb3JpZ2luOiBjbG91ZGZyb250LklPcmlnaW47XG4gIGNvbnN0IGNvbnN0cnVjdE9haSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5KHNjb3BlLCAnY29uc3RydWN0c0dlbmVyYXRlZE9haScsIHt9KTtcblxuICBpZiAocHJvcHMub3JpZ2luUGF0aCkge1xuICAgIG9yaWdpbiA9IG9yaWdpbnMuUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0lkZW50aXR5KHByb3BzLnNvdXJjZUJ1Y2tldCwge1xuICAgICAgb3JpZ2luUGF0aDogcHJvcHMub3JpZ2luUGF0aCxcbiAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBjb25zdHJ1Y3RPYWlcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvcmlnaW4gPSBvcmlnaW5zLlMzQnVja2V0T3JpZ2luLndpdGhPcmlnaW5BY2Nlc3NJZGVudGl0eShwcm9wcy5zb3VyY2VCdWNrZXQsIHsgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IGNvbnN0cnVjdE9haSB9KTtcbiAgfVxuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyhcbiAgICBvcmlnaW4sXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/XG4gICAgICBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOlxuICAgICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgY29uc3QgY2Zwcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHByb3BzLCBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMpO1xuICAvLyBDcmVhdGUgdGhlIENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgLy8gRXh0cmFjdCB0aGUgQ2ZuQnVja2V0UG9saWN5IGZyb20gdGhlIHNvdXJjZUJ1Y2tldFxuICBjb25zdCBidWNrZXRQb2xpY3kgPSBwcm9wcy5zb3VyY2VCdWNrZXQucG9saWN5IGFzIHMzLkJ1Y2tldFBvbGljeTtcbiAgLy8gdGhlIGxhY2sgb2YgYSBidWNrZXRQb2xpY3kgbWVhbnMgdGhlIGJ1Y2tldCB3YXMgaW1wb3J0ZWQgZnJvbSBvdXRzaWRlIHRoZSBzdGFjayBzbyB0aGUgbGFjayBvZiBjZm5fbmFnIHN1cHByZXNzaW9uIGlzIG5vdCBhbiBpc3N1ZVxuICBpZiAoYnVja2V0UG9saWN5KSB7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhidWNrZXRQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdGMTYnLFxuICAgICAgICByZWFzb246IGBQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG4gIHJldHVybiB7XG4gICAgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbixcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBsb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0QWNjZXNzTG9nQnVja2V0LFxuICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBjb25zdHJ1Y3RPYWlcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgcmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LFxuICByZWFkb25seSBjbG91ZGZyb250RnVuY3Rpb24/OiBjbG91ZGZyb250LkZ1bmN0aW9uXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlKHNjb3BlOiBDb25zdHJ1Y3QsXG4gIG1lZGlhU3RvcmVDb250YWluZXI6IG1lZGlhc3RvcmUuQ2ZuQ29udGFpbmVyLFxuICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICBodHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbik6IENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUmVzcG9uc2Uge1xuXG4gIGxldCBvcmlnaW5SZXF1ZXN0UG9saWN5OiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3k7XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwgeyBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMgfSk7XG5cbiAgaWYgKGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wc1xuICAgICYmIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcy5kZWZhdWx0QmVoYXZpb3JcbiAgICAmJiBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMuZGVmYXVsdEJlaGF2aW9yLm9yaWdpblJlcXVlc3RQb2xpY3kpIHtcbiAgICBvcmlnaW5SZXF1ZXN0UG9saWN5ID0gY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmRlZmF1bHRCZWhhdmlvci5vcmlnaW5SZXF1ZXN0UG9saWN5O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG9yaWdpblJlcXVlc3RQb2xpY3lQcm9wczogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5UHJvcHMgPSB7XG4gICAgICBoZWFkZXJCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ3doaXRlbGlzdCcsXG4gICAgICAgIGhlYWRlcnM6IFtcbiAgICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJyxcbiAgICAgICAgICAnQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2QnLFxuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRlcicsXG4gICAgICAgICAgJ09yaWdpbidcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5U3RyaW5nQmVoYXZpb3I6IHtcbiAgICAgICAgYmVoYXZpb3I6ICdhbGwnXG4gICAgICB9LFxuICAgICAgY29va2llQmVoYXZpb3I6IHtcbiAgICAgICAgYmVoYXZpb3I6ICdub25lJ1xuICAgICAgfSxcbiAgICAgIGNvbW1lbnQ6ICdQb2xpY3kgZm9yIENvbnN0cnVjdHMgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmUnLFxuICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeU5hbWU6IGAke2Nkay5Bd3MuU1RBQ0tfTkFNRX0tJHtjZGsuQXdzLlJFR0lPTn0tQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmVgXG4gICAgfTtcblxuICAgIG9yaWdpblJlcXVlc3RQb2xpY3kgPSBuZXcgY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5KHNjb3BlLCAnQ2xvdWRmcm9udE9yaWdpblJlcXVlc3RQb2xpY3knLCBvcmlnaW5SZXF1ZXN0UG9saWN5UHJvcHMpO1xuICB9XG5cbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBjb25zdCBkZWZhdWx0cHJvcHMgPSBEZWZhdWx0Q2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmVQcm9wcyhcbiAgICBtZWRpYVN0b3JlQ29udGFpbmVyLFxuICAgIGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgb3JpZ2luUmVxdWVzdFBvbGljeSxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8uY3VzdG9tSGVhZGVycyxcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPyBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOiB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG5cbiAgLy8gQ3JlYXRlIHRoZSBDbG91ZEZyb250IERpc3RyaWJ1dGlvblxuICBjb25zdCBjZkRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbihzY29wZSwgJ0Nsb3VkRnJvbnREaXN0cmlidXRpb24nLCBjZnByb3BzKTtcbiAgdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb24pO1xuXG4gIHJldHVybiB7IGRpc3RyaWJ1dGlvbjogY2ZEaXN0cmlidXRpb24sIGxvZ2dpbmdCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsIHJlcXVlc3RQb2xpY3k6IG9yaWdpblJlcXVlc3RQb2xpY3ksIGNsb3VkZnJvbnRGdW5jdGlvbiB9O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHkoc2NvcGU6IENvbnN0cnVjdCwgY29tbWVudD86IHN0cmluZykge1xuICByZXR1cm4gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkoc2NvcGUsICdDbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHknLCB7XG4gICAgY29tbWVudDogY29tbWVudCA/IGNvbW1lbnQgOiBgYWNjZXNzLWlkZW50aXR5LSR7Y2RrLkF3cy5SRUdJT059LSR7Y2RrLkF3cy5TVEFDS19OQU1FfWBcbiAgfSk7XG59XG5cbmludGVyZmFjZSBHZXRMb2dnaW5nQnVja2V0UmVxdWVzdCB7XG4gIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgZW5hYmxlUzNBY2Nlc3NMb2dzPzogYm9vbGVhblxufVxuaW50ZXJmYWNlIEdldExvZ2dpbmdCdWNrZXRSZXNwb25zZSB7XG4gIGxvZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgbG9nQnVja2V0QWNjZXNzTG9nQnVja2V0PzogczMuQnVja2V0XG59XG5cbmZ1bmN0aW9uIGdldExvZ2dpbmdCdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEdldExvZ2dpbmdCdWNrZXRSZXF1ZXN0KTogR2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlIHtcbiAgY29uc3QgaXNMb2dnaW5nRGlzYWJsZWQgPSBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/LmVuYWJsZUxvZ2dpbmcgPT09IGZhbHNlO1xuICBjb25zdCB1c2VyU3VwcGxpZWRMb2dCdWNrZXQgPSBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/LmxvZ0J1Y2tldDtcblxuICBpZiAodXNlclN1cHBsaWVkTG9nQnVja2V0ICYmIHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMpIHtcbiAgICB0aHJvdyBFcnJvcignRWl0aGVyIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcy5sb2dCdWNrZXQgb3IgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyBjYW4gYmUgc2V0LicpO1xuICB9XG5cbiAgbGV0IGxvZ0J1Y2tldDogczMuQnVja2V0IHwgdW5kZWZpbmVkO1xuICBsZXQgbG9nQnVja2VTM0FjY2Vzc0xvZ0J1Y2tldHQ6IHMzLkJ1Y2tldCB8IHVuZGVmaW5lZDtcbiAgaWYgKGlzTG9nZ2luZ0Rpc2FibGVkKSB7XG4gICAgbG9nQnVja2V0ID0gdW5kZWZpbmVkO1xuICB9IGVsc2UgaWYgKHVzZXJTdXBwbGllZExvZ0J1Y2tldCkge1xuICAgIGxvZ0J1Y2tldCA9IHVzZXJTdXBwbGllZExvZ0J1Y2tldDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjcmVhdGVCdWNrZXRSZXNwb25zZSA9IGNyZWF0ZUNsb3VkRnJvbnRMb2dnaW5nQnVja2V0KFxuICAgICAgc2NvcGUsXG4gICAgICAnQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQnLFxuICAgICAge1xuICAgICAgICAvLyBCdWNrZXRzIHVzZWQgZm9yIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uIGxvZ2dpbmcgcmVxdWlyZSBBQ0xzIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCwgc28gd2UgYXBwbHkgdGhpcyBvYmplY3RPd25lcnNoaXBcbiAgICAgICAgbG9nZ2luZ0J1Y2tldFByb3BzOiBjb25zb2xpZGF0ZVByb3BzKERlZmF1bHRTM1Byb3BzKCksIHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsIHtcbiAgICAgICAgICBvYmplY3RPd25lcnNoaXA6IHMzLk9iamVjdE93bmVyc2hpcC5PQkpFQ1RfV1JJVEVSXG4gICAgICAgIH0pLFxuICAgICAgICBzM0FjY2Vzc0xvZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHMsXG4gICAgICAgIGVuYWJsZVMzQWNjZXNzTG9nczogcHJvcHMuZW5hYmxlUzNBY2Nlc3NMb2dzXG4gICAgICB9KTtcblxuICAgIGxvZ0J1Y2tldCA9IGNyZWF0ZUJ1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldDtcbiAgICBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dCA9IGNyZWF0ZUJ1Y2tldFJlc3BvbnNlLnMzQWNjZXNzTG9nQnVja2V0O1xuICAgIGNvbnN0IGxvZ2dpbmdCdWNrZXRSZXNvdXJjZSA9IGxvZ0J1Y2tldC5ub2RlLmZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBzMy5DZm5CdWNrZXQ7XG4gICAgbG9nZ2luZ0J1Y2tldFJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0FjY2Vzc0NvbnRyb2wnLCAnTG9nRGVsaXZlcnlXcml0ZScpO1xuICB9XG4gIHJldHVybiB7XG4gICAgbG9nQnVja2V0LFxuICAgIGxvZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldDogbG9nQnVja2VTM0FjY2Vzc0xvZ0J1Y2tldHRcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4sIHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgcmV0dXJuIGh0dHBTZWN1cml0eUhlYWRlcnMgPyBkZWZhdWx0Q2xvdWRmcm9udEZ1bmN0aW9uKHNjb3BlKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250UHJvcHMge1xuICByZWFkb25seSBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tDbG91ZEZyb250UHJvcHMocHJvcHNPYmplY3Q6IENsb3VkRnJvbnRQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wc09iamVjdC5pbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzICE9PSBmYWxzZSAmJiBwcm9wc09iamVjdC5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz8uc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdyZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcy5zZWN1cml0eUhlYWRlcnNCZWhhdmlvciBjYW4gb25seSBiZSBwYXNzZWQgaWYgaHR0cFNlY3VyaXR5SGVhZGVycyBpcyBzZXQgdG8gYGZhbHNlYC4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZGZyb250UzNQcm9wcyB7XG4gIHJlYWRvbmx5IGJ1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGxvZ1MzQWNjZXNzTG9ncz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2c/OiBib29sZWFuLFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0Nsb3VkZnJvbnRTM1Byb3BzKHByb3BzOiBDbG91ZGZyb250UzNQcm9wcykge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmICgocHJvcHMubG9nUzNBY2Nlc3NMb2dzID09PSBmYWxzZSkgJiYgcHJvcHMuYnVja2V0UHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGxvZ1MzQWNjZXNzTG9ncyBpcyBmYWxzZSwgYnV0IGEgbG9nIGJ1Y2tldCB3YXMgcHJvdmlkZWQgaW4gYnVja2V0UHJvcHMuXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wcy5sb2dnaW5nQnVja2V0UHJvcHMgJiYgcHJvcHMuYnVja2V0UHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGJvdGhsb2cgYnVja2V0IHByb3BzIGFuZCBhbiBleGlzdGluZyBsb2cgYnVja2V0IHdlcmUgcHJvdmlkZWQuXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzICYmIHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGFuIGV4aXN0aW5nIENsb3VkRnJvbnQgbG9nIGJ1Y2tldCBTMyBhY2Nlc3MgbG9nIGJ1Y2tldCBhbmQgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRBY2Nlc3NMb2dCdWNrZXRQcm9wcyB3ZXJlIHByb3ZpZGVkXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzICYmIHByb3BzLmxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgPT09IGZhbHNlKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzIHdlcmUgcHJvdmlkZWQgYnV0IGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgd2FzIGZhbHNlXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPy5zZXJ2ZXJBY2Nlc3NMb2dzQnVja2V0ICYmIHByb3BzLmxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgPT09IGZhbHNlKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzLnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQgd2FzIHByb3ZpZGVkIGJ1dCBsb2dDbG91ZEZyb250QWNjZXNzTG9nIHdhcyBmYWxzZVxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
@@ -73,7 +73,5 @@ export interface DynamoDBProps {
73
73
  readonly dynamoTableProps?: dynamodb.TableProps;
74
74
  readonly existingTableObj?: dynamodb.Table;
75
75
  readonly existingTableInterface?: dynamodb.ITable;
76
- readonly pointInTimeRecoverySpecification?: dynamodb.PointInTimeRecoverySpecification;
77
- readonly pointInTimeRecovery?: boolean;
78
76
  }
79
77
  export declare function CheckDynamoDBProps(propsObject: DynamoDBProps | any): void;
@@ -88,7 +88,9 @@ function CheckDynamoDBProps(propsObject) {
88
88
  errorMessages += 'Error - Either provide existingTableInterface or existingTableObj, but not both.\n';
89
89
  errorFound = true;
90
90
  }
91
- if (propsObject.pointInTimeRecovery && propsObject.pointInTimeRecoverySpecification) {
91
+ if (propsObject.dynamoTableProps &&
92
+ propsObject.dynamoTableProps.pointInTimeRecovery &&
93
+ propsObject.dynamoTableProps.pointInTimeRecoverySpecification) {
92
94
  errorMessages += 'Error - Either provide pointInTimeRecovery or pointInTimeRecoverySpecification, but not both.\n';
93
95
  errorFound = true;
94
96
  }
@@ -96,4 +98,4 @@ function CheckDynamoDBProps(propsObject) {
96
98
  throw new Error(errorMessages);
97
99
  }
98
100
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItdGFibGUtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUE0REgsZ0RBZUM7QUFVRCxvRUFhQztBQUtELG9FQVFDO0FBVUQsZ0RBMkJDO0FBbEpEOzs7R0FHRztBQUVILHFEQUFxRDtBQUNyRCx1RUFBaUc7QUFDakcsbUNBQXFFO0FBZ0RyRTs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsS0FBOEI7SUFFakYsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pGLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLHNCQUFzQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsSUFBQSw4Q0FBb0IsRUFBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0SCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xGLDJFQUEyRTtRQUMzRSw2R0FBNkc7UUFDN0csSUFBQSxnQ0FBd0IsRUFBQyxRQUFRLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDO0FBT0Q7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFnQixFQUFFLEtBQXdDO0lBQ3JHLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsMkNBQTJDO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxJQUFBLHdEQUE4QixFQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFILE1BQU0sV0FBVyxHQUFtQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9GLDJFQUEyRTtRQUMzRSw2R0FBNkc7UUFDN0csSUFBQSxnQ0FBd0IsRUFBQyxXQUFXLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7UUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25FLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsS0FBcUI7SUFDaEUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFzQixDQUFDO0lBQ3ZFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFrRCxDQUFDO0lBQzlFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDbEYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDO0FBQ3BDLENBQUM7QUFVRCxTQUFnQixrQkFBa0IsQ0FBQyxXQUFnQztJQUNqRSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQUksV0FBVyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pFLGFBQWEsSUFBSSw4RUFBOEUsQ0FBQztRQUNoRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RSxhQUFhLElBQUksb0ZBQW9GLENBQUM7UUFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLElBQUksV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdkUsYUFBYSxJQUFJLG9GQUFvRixDQUFDO1FBQ3RHLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLG1CQUFtQixJQUFJLFdBQVcsQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ3BGLGFBQWEsSUFBSSxpR0FBaUcsQ0FBQztRQUNuSCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IEdldERlZmF1bHRUYWJsZVByb3BzLCBHZXREZWZhdWx0VGFibGVXaXRoU3RyZWFtUHJvcHMgfSBmcm9tICcuL2R5bmFtb2RiLXRhYmxlLWRlZmF1bHRzJztcbmltcG9ydCB7IGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcywgY29uc29saWRhdGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlUHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgZHluYW1vZGIgdGFibGUgb2JqZWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZHluYW1vVGFibGVQcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlT2JqPzogZHluYW1vZGIuVGFibGVcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGR5bmFtb2RiIGludGVyZmFjZS5cbiAgICogUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGR5bmFtb1RhYmxlUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZUludGVyZmFjZT86IGR5bmFtb2RiLklUYWJsZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRHluYW1vREJUYWJsZVdpdGhTdHJlYW1Qcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgZHluYW1vVGFibGVQcm9wcz86IGR5bmFtb2RiLlRhYmxlUHJvcHMsXG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBkeW5hbW9kYiB0YWJsZSBvYmplY3QuXG4gICAqIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBkeW5hbW9UYWJsZVByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHRhYmxlSW50ZXJmYWNlOiBkeW5hbW9kYi5JVGFibGUsXG4gIHJlYWRvbmx5IHRhYmxlT2JqZWN0PzogZHluYW1vZGIuVGFibGUsXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRHluYW1vREJUYWJsZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGREeW5hbW9EQlRhYmxlUHJvcHMpOiBCdWlsZER5bmFtb0RCVGFibGVSZXNwb25zZSB7XG5cbiAgLy8gQ29uZGl0aW9uYWwgRHluYW1vREIgVGFibGUgY3JlYXRpb25cbiAgaWYgKHByb3BzLmV4aXN0aW5nVGFibGVPYmopIHtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogcHJvcHMuZXhpc3RpbmdUYWJsZU9iaiwgdGFibGVPYmplY3Q6IHByb3BzLmV4aXN0aW5nVGFibGVPYmogfTtcbiAgfSBlbHNlIGlmIChwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb25zb2xpZGF0ZWRUYWJsZVByb3BzID0gY29uc29saWRhdGVQcm9wcyhHZXREZWZhdWx0VGFibGVQcm9wcyhwcm9wcy5keW5hbW9UYWJsZVByb3BzKSwgcHJvcHMuZHluYW1vVGFibGVQcm9wcyk7XG4gICAgY29uc3QgbmV3VGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUoc2NvcGUsICdEeW5hbW9UYWJsZScsIGNvbnNvbGlkYXRlZFRhYmxlUHJvcHMpO1xuICAgIC8vIEFXUyBNYW5hZ2VkIGVuY3J5cHRpb24ga2V5cyBpcyBhY2NlcHRhYmxlIHVuZGVyIHB1Ymxpc2hlZCBiZXN0IHByYWN0aWNlc1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYmVzdC1wcmFjdGljZXMtc2VjdXJpdHktcHJldmVudGF0aXZlLmh0bWxcbiAgICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMobmV3VGFibGUsIFtcIkRZTkFNT0RCX1RBQkxFX0VOQ1JZUFRFRF9LTVNcIl0pO1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBuZXdUYWJsZSwgdGFibGVPYmplY3Q6IG5ld1RhYmxlIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUmVzcG9uc2Uge1xuICByZWFkb25seSB0YWJsZUludGVyZmFjZTogZHluYW1vZGIuSVRhYmxlLFxuICByZWFkb25seSB0YWJsZU9iamVjdD86IGR5bmFtb2RiLlRhYmxlLFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUHJvcHMpOiBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUmVzcG9uc2Uge1xuICAvLyBDb25kaXRpb25hbCBEeW5hbW9EQiBUYWJsZSBjcmVhdGlvblxuICBpZiAoIXByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UpIHtcbiAgICAvLyBTZXQgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIER5bmFtb0RCIHRhYmxlXG4gICAgY29uc3QgZHluYW1vVGFibGVQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoR2V0RGVmYXVsdFRhYmxlV2l0aFN0cmVhbVByb3BzKHByb3BzLmR5bmFtb1RhYmxlUHJvcHMpLCBwcm9wcy5keW5hbW9UYWJsZVByb3BzKTtcbiAgICBjb25zdCBkeW5hbW9UYWJsZTogZHluYW1vZGIuVGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUoc2NvcGUsICdEeW5hbW9UYWJsZScsIGR5bmFtb1RhYmxlUHJvcHMpO1xuICAgIC8vIEFXUyBNYW5hZ2VkIGVuY3J5cHRpb24ga2V5cyBpcyBhY2NlcHRhYmxlIHVuZGVyIHB1Ymxpc2hlZCBiZXN0IHByYWN0aWNlc1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYmVzdC1wcmFjdGljZXMtc2VjdXJpdHktcHJldmVudGF0aXZlLmh0bWxcbiAgICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoZHluYW1vVGFibGUsIFtcIkRZTkFNT0RCX1RBQkxFX0VOQ1JZUFRFRF9LTVNcIl0pO1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBkeW5hbW9UYWJsZSwgdGFibGVPYmplY3Q6IGR5bmFtb1RhYmxlIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UgfTtcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJ0aXRpb25LZXlOYW1lRnJvbVRhYmxlKHRhYmxlOiBkeW5hbW9kYi5UYWJsZSk6IHN0cmluZyB7XG4gIGNvbnN0IGNmblRhYmxlID0gdGFibGUubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgZHluYW1vZGIuQ2ZuVGFibGU7XG4gIGNvbnN0IGtleVNjaGVtYSA9IGNmblRhYmxlLmtleVNjaGVtYSBhcyBkeW5hbW9kYi5DZm5UYWJsZS5LZXlTY2hlbWFQcm9wZXJ0eVtdO1xuICBjb25zdCBwYXJ0aXRpb25LZXkgPSBrZXlTY2hlbWEuZmluZCgoa2V5UGFydDogYW55KSA9PiBrZXlQYXJ0LmtleVR5cGUgPT09ICdIQVNIJyk7XG4gIGlmICghcGFydGl0aW9uS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYXJ0aXRpb24ga2V5IGZvciB0YWJsZSBub3QgZGVmaW5lZCcpO1xuICB9XG4gIHJldHVybiBwYXJ0aXRpb25LZXkuYXR0cmlidXRlTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbW9EQlByb3BzIHtcbiAgcmVhZG9ubHkgZHluYW1vVGFibGVQcm9wcz86IGR5bmFtb2RiLlRhYmxlUHJvcHMsXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVPYmo/OiBkeW5hbW9kYi5UYWJsZSxcbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZUludGVyZmFjZT86IGR5bmFtb2RiLklUYWJsZSxcbiAgcmVhZG9ubHkgcG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24/OiBkeW5hbW9kYi5Qb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvbixcbiAgcmVhZG9ubHkgcG9pbnRJblRpbWVSZWNvdmVyeT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrRHluYW1vREJQcm9wcyhwcm9wc09iamVjdDogRHluYW1vREJQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wc09iamVjdC5keW5hbW9UYWJsZVByb3BzICYmIHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVPYmopIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nVGFibGVPYmogb3IgZHluYW1vVGFibGVQcm9wcywgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAocHJvcHNPYmplY3QuZHluYW1vVGFibGVQcm9wcyAmJiBwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBleGlzdGluZ1RhYmxlSW50ZXJmYWNlIG9yIGR5bmFtb1RhYmxlUHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVPYmogJiYgcHJvcHNPYmplY3QuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgZXhpc3RpbmdUYWJsZUludGVyZmFjZSBvciBleGlzdGluZ1RhYmxlT2JqLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wc09iamVjdC5wb2ludEluVGltZVJlY292ZXJ5ICYmIHByb3BzT2JqZWN0LnBvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBwb2ludEluVGltZVJlY292ZXJ5IG9yIHBvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItdGFibGUtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUE0REgsZ0RBZUM7QUFVRCxvRUFhQztBQUtELG9FQVFDO0FBUUQsZ0RBNkJDO0FBbEpEOzs7R0FHRztBQUVILHFEQUFxRDtBQUNyRCx1RUFBaUc7QUFDakcsbUNBQXFFO0FBZ0RyRTs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsS0FBOEI7SUFFakYsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pGLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLHNCQUFzQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsSUFBQSw4Q0FBb0IsRUFBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0SCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xGLDJFQUEyRTtRQUMzRSw2R0FBNkc7UUFDN0csSUFBQSxnQ0FBd0IsRUFBQyxRQUFRLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDO0FBT0Q7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFnQixFQUFFLEtBQXdDO0lBQ3JHLHNDQUFzQztJQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsMkNBQTJDO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxJQUFBLHdEQUE4QixFQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFILE1BQU0sV0FBVyxHQUFtQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9GLDJFQUEyRTtRQUMzRSw2R0FBNkc7UUFDN0csSUFBQSxnQ0FBd0IsRUFBQyxXQUFXLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7UUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25FLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsS0FBcUI7SUFDaEUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFzQixDQUFDO0lBQ3ZFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFrRCxDQUFDO0lBQzlFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDbEYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDO0FBQ3BDLENBQUM7QUFRRCxTQUFnQixrQkFBa0IsQ0FBQyxXQUFnQztJQUNqRSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQUksV0FBVyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pFLGFBQWEsSUFBSSw4RUFBOEUsQ0FBQztRQUNoRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RSxhQUFhLElBQUksb0ZBQW9GLENBQUM7UUFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLElBQUksV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdkUsYUFBYSxJQUFJLG9GQUFvRixDQUFDO1FBQ3RHLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLGdCQUFnQjtRQUM1QixXQUFXLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CO1FBQ2hELFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ2xFLGFBQWEsSUFBSSxpR0FBaUcsQ0FBQztRQUNuSCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IEdldERlZmF1bHRUYWJsZVByb3BzLCBHZXREZWZhdWx0VGFibGVXaXRoU3RyZWFtUHJvcHMgfSBmcm9tICcuL2R5bmFtb2RiLXRhYmxlLWRlZmF1bHRzJztcbmltcG9ydCB7IGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcywgY29uc29saWRhdGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlUHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgZHluYW1vZGIgdGFibGUgb2JqZWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZHluYW1vVGFibGVQcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlT2JqPzogZHluYW1vZGIuVGFibGVcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGR5bmFtb2RiIGludGVyZmFjZS5cbiAgICogUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGR5bmFtb1RhYmxlUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZUludGVyZmFjZT86IGR5bmFtb2RiLklUYWJsZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRHluYW1vREJUYWJsZVdpdGhTdHJlYW1Qcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgZHluYW1vVGFibGVQcm9wcz86IGR5bmFtb2RiLlRhYmxlUHJvcHMsXG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBkeW5hbW9kYiB0YWJsZSBvYmplY3QuXG4gICAqIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBkeW5hbW9UYWJsZVByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHRhYmxlSW50ZXJmYWNlOiBkeW5hbW9kYi5JVGFibGUsXG4gIHJlYWRvbmx5IHRhYmxlT2JqZWN0PzogZHluYW1vZGIuVGFibGUsXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRHluYW1vREJUYWJsZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGREeW5hbW9EQlRhYmxlUHJvcHMpOiBCdWlsZER5bmFtb0RCVGFibGVSZXNwb25zZSB7XG5cbiAgLy8gQ29uZGl0aW9uYWwgRHluYW1vREIgVGFibGUgY3JlYXRpb25cbiAgaWYgKHByb3BzLmV4aXN0aW5nVGFibGVPYmopIHtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogcHJvcHMuZXhpc3RpbmdUYWJsZU9iaiwgdGFibGVPYmplY3Q6IHByb3BzLmV4aXN0aW5nVGFibGVPYmogfTtcbiAgfSBlbHNlIGlmIChwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb25zb2xpZGF0ZWRUYWJsZVByb3BzID0gY29uc29saWRhdGVQcm9wcyhHZXREZWZhdWx0VGFibGVQcm9wcyhwcm9wcy5keW5hbW9UYWJsZVByb3BzKSwgcHJvcHMuZHluYW1vVGFibGVQcm9wcyk7XG4gICAgY29uc3QgbmV3VGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUoc2NvcGUsICdEeW5hbW9UYWJsZScsIGNvbnNvbGlkYXRlZFRhYmxlUHJvcHMpO1xuICAgIC8vIEFXUyBNYW5hZ2VkIGVuY3J5cHRpb24ga2V5cyBpcyBhY2NlcHRhYmxlIHVuZGVyIHB1Ymxpc2hlZCBiZXN0IHByYWN0aWNlc1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYmVzdC1wcmFjdGljZXMtc2VjdXJpdHktcHJldmVudGF0aXZlLmh0bWxcbiAgICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMobmV3VGFibGUsIFtcIkRZTkFNT0RCX1RBQkxFX0VOQ1JZUFRFRF9LTVNcIl0pO1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBuZXdUYWJsZSwgdGFibGVPYmplY3Q6IG5ld1RhYmxlIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUmVzcG9uc2Uge1xuICByZWFkb25seSB0YWJsZUludGVyZmFjZTogZHluYW1vZGIuSVRhYmxlLFxuICByZWFkb25seSB0YWJsZU9iamVjdD86IGR5bmFtb2RiLlRhYmxlLFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUHJvcHMpOiBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUmVzcG9uc2Uge1xuICAvLyBDb25kaXRpb25hbCBEeW5hbW9EQiBUYWJsZSBjcmVhdGlvblxuICBpZiAoIXByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UpIHtcbiAgICAvLyBTZXQgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIER5bmFtb0RCIHRhYmxlXG4gICAgY29uc3QgZHluYW1vVGFibGVQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoR2V0RGVmYXVsdFRhYmxlV2l0aFN0cmVhbVByb3BzKHByb3BzLmR5bmFtb1RhYmxlUHJvcHMpLCBwcm9wcy5keW5hbW9UYWJsZVByb3BzKTtcbiAgICBjb25zdCBkeW5hbW9UYWJsZTogZHluYW1vZGIuVGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUoc2NvcGUsICdEeW5hbW9UYWJsZScsIGR5bmFtb1RhYmxlUHJvcHMpO1xuICAgIC8vIEFXUyBNYW5hZ2VkIGVuY3J5cHRpb24ga2V5cyBpcyBhY2NlcHRhYmxlIHVuZGVyIHB1Ymxpc2hlZCBiZXN0IHByYWN0aWNlc1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYmVzdC1wcmFjdGljZXMtc2VjdXJpdHktcHJldmVudGF0aXZlLmh0bWxcbiAgICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoZHluYW1vVGFibGUsIFtcIkRZTkFNT0RCX1RBQkxFX0VOQ1JZUFRFRF9LTVNcIl0pO1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBkeW5hbW9UYWJsZSwgdGFibGVPYmplY3Q6IGR5bmFtb1RhYmxlIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVJbnRlcmZhY2UgfTtcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJ0aXRpb25LZXlOYW1lRnJvbVRhYmxlKHRhYmxlOiBkeW5hbW9kYi5UYWJsZSk6IHN0cmluZyB7XG4gIGNvbnN0IGNmblRhYmxlID0gdGFibGUubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgZHluYW1vZGIuQ2ZuVGFibGU7XG4gIGNvbnN0IGtleVNjaGVtYSA9IGNmblRhYmxlLmtleVNjaGVtYSBhcyBkeW5hbW9kYi5DZm5UYWJsZS5LZXlTY2hlbWFQcm9wZXJ0eVtdO1xuICBjb25zdCBwYXJ0aXRpb25LZXkgPSBrZXlTY2hlbWEuZmluZCgoa2V5UGFydDogYW55KSA9PiBrZXlQYXJ0LmtleVR5cGUgPT09ICdIQVNIJyk7XG4gIGlmICghcGFydGl0aW9uS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYXJ0aXRpb24ga2V5IGZvciB0YWJsZSBub3QgZGVmaW5lZCcpO1xuICB9XG4gIHJldHVybiBwYXJ0aXRpb25LZXkuYXR0cmlidXRlTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbW9EQlByb3BzIHtcbiAgcmVhZG9ubHkgZHluYW1vVGFibGVQcm9wcz86IGR5bmFtb2RiLlRhYmxlUHJvcHMsXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVPYmo/OiBkeW5hbW9kYi5UYWJsZSxcbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZUludGVyZmFjZT86IGR5bmFtb2RiLklUYWJsZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrRHluYW1vREJQcm9wcyhwcm9wc09iamVjdDogRHluYW1vREJQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wc09iamVjdC5keW5hbW9UYWJsZVByb3BzICYmIHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVPYmopIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nVGFibGVPYmogb3IgZHluYW1vVGFibGVQcm9wcywgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAocHJvcHNPYmplY3QuZHluYW1vVGFibGVQcm9wcyAmJiBwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBleGlzdGluZ1RhYmxlSW50ZXJmYWNlIG9yIGR5bmFtb1RhYmxlUHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVPYmogJiYgcHJvcHNPYmplY3QuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgZXhpc3RpbmdUYWJsZUludGVyZmFjZSBvciBleGlzdGluZ1RhYmxlT2JqLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wc09iamVjdC5keW5hbW9UYWJsZVByb3BzICYmXG4gICAgICBwcm9wc09iamVjdC5keW5hbW9UYWJsZVByb3BzLnBvaW50SW5UaW1lUmVjb3ZlcnkgJiZcbiAgICAgIHByb3BzT2JqZWN0LmR5bmFtb1RhYmxlUHJvcHMucG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24pIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIHBvaW50SW5UaW1lUmVjb3Zlcnkgb3IgcG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24sIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn1cbiJdfQ==
@@ -16,7 +16,6 @@ exports.defaultPipesProps = defaultPipesProps;
16
16
  exports.defaultSqsSourceProps = defaultSqsSourceProps;
17
17
  exports.defaultDynamoDBStreamsSourceProps = defaultDynamoDBStreamsSourceProps;
18
18
  exports.defaultStateMachineTargetProps = defaultStateMachineTargetProps;
19
- // import * as pipes from 'aws-cdk-lib/aws-pipes';
20
19
  function defaultPipesProps() {
21
20
  return {};
22
21
  }
@@ -38,4 +37,4 @@ function defaultStateMachineTargetProps() {
38
37
  }
39
38
  };
40
39
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlcy1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBSUgsOENBRUM7QUFFRCxzREFHQztBQUVELDhFQU9DO0FBRUQsd0VBTUM7QUExQkQsa0RBQWtEO0FBRWxELFNBQWdCLGlCQUFpQjtJQUMvQixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFnQixxQkFBcUI7SUFDbkMsT0FBTyxFQUNOLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsaUNBQWlDLENBQUMsU0FBa0I7SUFDbEUsT0FBTztRQUNMLHdCQUF3QixFQUFFO1lBQ3hCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDaEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLDhCQUE4QjtJQUM1QyxPQUFPO1FBQ0wsa0NBQWtDLEVBQUU7WUFDbEMsY0FBYyxFQUFFLGlCQUFpQjtTQUNsQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gaW1wb3J0ICogYXMgcGlwZXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXBpcGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRQaXBlc1Byb3BzKCk6IGFueSB7XG4gIHJldHVybiB7fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTcXNTb3VyY2VQcm9wcygpOiBhbnkge1xuICByZXR1cm4ge1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdER5bmFtb0RCU3RyZWFtc1NvdXJjZVByb3BzKGRlcGxveURscTogYm9vbGVhbik6IGFueSB7XG4gIHJldHVybiB7XG4gICAgZHluYW1vRGJTdHJlYW1QYXJhbWV0ZXJzOiB7XG4gICAgICBzdGFydGluZ1Bvc2l0aW9uOiBcIkxBVEVTVFwiLFxuICAgICAgbWF4aW11bVJldHJ5QXR0ZW1wdHM6IGRlcGxveURscSA/IDMgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFN0YXRlTWFjaGluZVRhcmdldFByb3BzKCk6IGFueSB7XG4gIHJldHVybiB7XG4gICAgc3RlcEZ1bmN0aW9uU3RhdGVNYWNoaW5lUGFyYW1ldGVyczoge1xuICAgICAgaW52b2NhdGlvblR5cGU6ICdGSVJFX0FORF9GT1JHRVQnXG4gICAgfVxuICB9O1xufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlcy1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsOENBRUM7QUFFRCxzREFHQztBQUVELDhFQU9DO0FBRUQsd0VBTUM7QUF4QkQsU0FBZ0IsaUJBQWlCO0lBQy9CLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQWdCLHFCQUFxQjtJQUNuQyxPQUFPLEVBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixpQ0FBaUMsQ0FBQyxTQUFrQjtJQUNsRSxPQUFPO1FBQ0wsd0JBQXdCLEVBQUU7WUFDeEIsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixvQkFBb0IsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNoRDtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsOEJBQThCO0lBQzVDLE9BQU87UUFDTCxrQ0FBa0MsRUFBRTtZQUNsQyxjQUFjLEVBQUUsaUJBQWlCO1NBQ2xDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFBpcGVzUHJvcHMoKTogYW55IHtcbiAgcmV0dXJuIHt9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFNxc1NvdXJjZVByb3BzKCk6IGFueSB7XG4gIHJldHVybiB7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RHluYW1vREJTdHJlYW1zU291cmNlUHJvcHMoZGVwbG95RGxxOiBib29sZWFuKTogYW55IHtcbiAgcmV0dXJuIHtcbiAgICBkeW5hbW9EYlN0cmVhbVBhcmFtZXRlcnM6IHtcbiAgICAgIHN0YXJ0aW5nUG9zaXRpb246IFwiTEFURVNUXCIsXG4gICAgICBtYXhpbXVtUmV0cnlBdHRlbXB0czogZGVwbG95RGxxID8gMyA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0U3RhdGVNYWNoaW5lVGFyZ2V0UHJvcHMoKTogYW55IHtcbiAgcmV0dXJuIHtcbiAgICBzdGVwRnVuY3Rpb25TdGF0ZU1hY2hpbmVQYXJhbWV0ZXJzOiB7XG4gICAgICBpbnZvY2F0aW9uVHlwZTogJ0ZJUkVfQU5EX0ZPUkdFVCdcbiAgICB9XG4gIH07XG59XG4iXX0=