@aws-cdk/region-info 2.50.0 → 2.51.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 +57 -24
- package/.jsii.tabl.json.gz +0 -0
- package/build-tools/generate-static-data.d.ts +1 -1
- package/build-tools/generate-static-data.js +7 -1
- package/build-tools/generate.sh +1 -1
- package/lib/aws-entities.d.ts +4 -0
- package/lib/aws-entities.js +8 -2
- package/lib/built-ins.generated.d.ts +1 -1
- package/lib/built-ins.generated.js +69 -7
- package/lib/default.js +9 -5
- package/lib/fact.d.ts +5 -0
- package/lib/fact.js +8 -3
- package/lib/region-info.d.ts +4 -0
- package/lib/region-info.js +8 -2
- package/package.json +3 -3
package/.jsii
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"stability": "stable"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
15
|
-
"jsiiVersion": "1.
|
|
15
|
+
"jsiiVersion": "1.71.0 (build f1f58ae)",
|
|
16
16
|
"keywords": [
|
|
17
17
|
"aws",
|
|
18
18
|
"cdk"
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
},
|
|
374
374
|
"locationInModule": {
|
|
375
375
|
"filename": "lib/fact.ts",
|
|
376
|
-
"line":
|
|
376
|
+
"line": 177
|
|
377
377
|
},
|
|
378
378
|
"name": "cloudwatchLambdaInsightsVersion",
|
|
379
379
|
"parameters": [
|
|
@@ -405,7 +405,7 @@
|
|
|
405
405
|
},
|
|
406
406
|
"locationInModule": {
|
|
407
407
|
"filename": "lib/fact.ts",
|
|
408
|
-
"line":
|
|
408
|
+
"line": 191
|
|
409
409
|
},
|
|
410
410
|
"name": "servicePrincipal",
|
|
411
411
|
"parameters": [
|
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
"immutable": true,
|
|
439
439
|
"locationInModule": {
|
|
440
440
|
"filename": "lib/fact.ts",
|
|
441
|
-
"line":
|
|
441
|
+
"line": 167
|
|
442
442
|
},
|
|
443
443
|
"name": "APPMESH_ECR_ACCOUNT",
|
|
444
444
|
"static": true,
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"immutable": true,
|
|
474
474
|
"locationInModule": {
|
|
475
475
|
"filename": "lib/fact.ts",
|
|
476
|
-
"line":
|
|
476
|
+
"line": 161
|
|
477
477
|
},
|
|
478
478
|
"name": "DLC_REPOSITORY_ACCOUNT",
|
|
479
479
|
"static": true,
|
|
@@ -507,7 +507,7 @@
|
|
|
507
507
|
"immutable": true,
|
|
508
508
|
"locationInModule": {
|
|
509
509
|
"filename": "lib/fact.ts",
|
|
510
|
-
"line":
|
|
510
|
+
"line": 143
|
|
511
511
|
},
|
|
512
512
|
"name": "EBS_ENV_ENDPOINT_HOSTED_ZONE_ID",
|
|
513
513
|
"static": true,
|
|
@@ -524,7 +524,7 @@
|
|
|
524
524
|
"immutable": true,
|
|
525
525
|
"locationInModule": {
|
|
526
526
|
"filename": "lib/fact.ts",
|
|
527
|
-
"line":
|
|
527
|
+
"line": 155
|
|
528
528
|
},
|
|
529
529
|
"name": "ELBV2_ACCOUNT",
|
|
530
530
|
"static": true,
|
|
@@ -541,7 +541,7 @@
|
|
|
541
541
|
"immutable": true,
|
|
542
542
|
"locationInModule": {
|
|
543
543
|
"filename": "lib/fact.ts",
|
|
544
|
-
"line":
|
|
544
|
+
"line": 172
|
|
545
545
|
},
|
|
546
546
|
"name": "FIREHOSE_CIDR_BLOCK",
|
|
547
547
|
"static": true,
|
|
@@ -549,6 +549,24 @@
|
|
|
549
549
|
"primitive": "string"
|
|
550
550
|
}
|
|
551
551
|
},
|
|
552
|
+
{
|
|
553
|
+
"const": true,
|
|
554
|
+
"docs": {
|
|
555
|
+
"remarks": "The value is a boolean\nmodelled as `YES` or `NO`.",
|
|
556
|
+
"stability": "stable",
|
|
557
|
+
"summary": "Whether the given region is an opt-in region or not."
|
|
558
|
+
},
|
|
559
|
+
"immutable": true,
|
|
560
|
+
"locationInModule": {
|
|
561
|
+
"filename": "lib/fact.ts",
|
|
562
|
+
"line": 128
|
|
563
|
+
},
|
|
564
|
+
"name": "IS_OPT_IN_REGION",
|
|
565
|
+
"static": true,
|
|
566
|
+
"type": {
|
|
567
|
+
"primitive": "string"
|
|
568
|
+
}
|
|
569
|
+
},
|
|
552
570
|
{
|
|
553
571
|
"const": true,
|
|
554
572
|
"docs": {
|
|
@@ -575,7 +593,7 @@
|
|
|
575
593
|
"immutable": true,
|
|
576
594
|
"locationInModule": {
|
|
577
595
|
"filename": "lib/fact.ts",
|
|
578
|
-
"line":
|
|
596
|
+
"line": 133
|
|
579
597
|
},
|
|
580
598
|
"name": "S3_STATIC_WEBSITE_ENDPOINT",
|
|
581
599
|
"static": true,
|
|
@@ -592,7 +610,7 @@
|
|
|
592
610
|
"immutable": true,
|
|
593
611
|
"locationInModule": {
|
|
594
612
|
"filename": "lib/fact.ts",
|
|
595
|
-
"line":
|
|
613
|
+
"line": 138
|
|
596
614
|
},
|
|
597
615
|
"name": "S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID",
|
|
598
616
|
"static": true,
|
|
@@ -609,7 +627,7 @@
|
|
|
609
627
|
"immutable": true,
|
|
610
628
|
"locationInModule": {
|
|
611
629
|
"filename": "lib/fact.ts",
|
|
612
|
-
"line":
|
|
630
|
+
"line": 150
|
|
613
631
|
},
|
|
614
632
|
"name": "VPC_ENDPOINT_SERVICE_NAME_PREFIX",
|
|
615
633
|
"static": true,
|
|
@@ -824,7 +842,7 @@
|
|
|
824
842
|
},
|
|
825
843
|
"locationInModule": {
|
|
826
844
|
"filename": "lib/region-info.ts",
|
|
827
|
-
"line":
|
|
845
|
+
"line": 153
|
|
828
846
|
},
|
|
829
847
|
"name": "cloudwatchLambdaInsightsArn",
|
|
830
848
|
"parameters": [
|
|
@@ -862,7 +880,7 @@
|
|
|
862
880
|
},
|
|
863
881
|
"locationInModule": {
|
|
864
882
|
"filename": "lib/region-info.ts",
|
|
865
|
-
"line":
|
|
883
|
+
"line": 128
|
|
866
884
|
},
|
|
867
885
|
"name": "servicePrincipal",
|
|
868
886
|
"parameters": [
|
|
@@ -922,6 +940,21 @@
|
|
|
922
940
|
"primitive": "boolean"
|
|
923
941
|
}
|
|
924
942
|
},
|
|
943
|
+
{
|
|
944
|
+
"docs": {
|
|
945
|
+
"stability": "stable",
|
|
946
|
+
"summary": "Whether the given region is an opt-in region."
|
|
947
|
+
},
|
|
948
|
+
"immutable": true,
|
|
949
|
+
"locationInModule": {
|
|
950
|
+
"filename": "lib/region-info.ts",
|
|
951
|
+
"line": 76
|
|
952
|
+
},
|
|
953
|
+
"name": "isOptInRegion",
|
|
954
|
+
"type": {
|
|
955
|
+
"primitive": "boolean"
|
|
956
|
+
}
|
|
957
|
+
},
|
|
925
958
|
{
|
|
926
959
|
"docs": {
|
|
927
960
|
"stability": "stable"
|
|
@@ -944,7 +977,7 @@
|
|
|
944
977
|
"immutable": true,
|
|
945
978
|
"locationInModule": {
|
|
946
979
|
"filename": "lib/region-info.ts",
|
|
947
|
-
"line":
|
|
980
|
+
"line": 161
|
|
948
981
|
},
|
|
949
982
|
"name": "appMeshRepositoryAccount",
|
|
950
983
|
"optional": true,
|
|
@@ -960,7 +993,7 @@
|
|
|
960
993
|
"immutable": true,
|
|
961
994
|
"locationInModule": {
|
|
962
995
|
"filename": "lib/region-info.ts",
|
|
963
|
-
"line":
|
|
996
|
+
"line": 144
|
|
964
997
|
},
|
|
965
998
|
"name": "dlcRepositoryAccount",
|
|
966
999
|
"optional": true,
|
|
@@ -976,7 +1009,7 @@
|
|
|
976
1009
|
"immutable": true,
|
|
977
1010
|
"locationInModule": {
|
|
978
1011
|
"filename": "lib/region-info.ts",
|
|
979
|
-
"line":
|
|
1012
|
+
"line": 83
|
|
980
1013
|
},
|
|
981
1014
|
"name": "domainSuffix",
|
|
982
1015
|
"optional": true,
|
|
@@ -992,7 +1025,7 @@
|
|
|
992
1025
|
"immutable": true,
|
|
993
1026
|
"locationInModule": {
|
|
994
1027
|
"filename": "lib/region-info.ts",
|
|
995
|
-
"line":
|
|
1028
|
+
"line": 111
|
|
996
1029
|
},
|
|
997
1030
|
"name": "ebsEnvEndpointHostedZoneId",
|
|
998
1031
|
"optional": true,
|
|
@@ -1008,7 +1041,7 @@
|
|
|
1008
1041
|
"immutable": true,
|
|
1009
1042
|
"locationInModule": {
|
|
1010
1043
|
"filename": "lib/region-info.ts",
|
|
1011
|
-
"line":
|
|
1044
|
+
"line": 136
|
|
1012
1045
|
},
|
|
1013
1046
|
"name": "elbv2Account",
|
|
1014
1047
|
"optional": true,
|
|
@@ -1024,7 +1057,7 @@
|
|
|
1024
1057
|
"immutable": true,
|
|
1025
1058
|
"locationInModule": {
|
|
1026
1059
|
"filename": "lib/region-info.ts",
|
|
1027
|
-
"line":
|
|
1060
|
+
"line": 168
|
|
1028
1061
|
},
|
|
1029
1062
|
"name": "firehoseCidrBlock",
|
|
1030
1063
|
"optional": true,
|
|
@@ -1040,7 +1073,7 @@
|
|
|
1040
1073
|
"immutable": true,
|
|
1041
1074
|
"locationInModule": {
|
|
1042
1075
|
"filename": "lib/region-info.ts",
|
|
1043
|
-
"line":
|
|
1076
|
+
"line": 90
|
|
1044
1077
|
},
|
|
1045
1078
|
"name": "partition",
|
|
1046
1079
|
"optional": true,
|
|
@@ -1056,7 +1089,7 @@
|
|
|
1056
1089
|
"immutable": true,
|
|
1057
1090
|
"locationInModule": {
|
|
1058
1091
|
"filename": "lib/region-info.ts",
|
|
1059
|
-
"line":
|
|
1092
|
+
"line": 97
|
|
1060
1093
|
},
|
|
1061
1094
|
"name": "s3StaticWebsiteEndpoint",
|
|
1062
1095
|
"optional": true,
|
|
@@ -1072,7 +1105,7 @@
|
|
|
1072
1105
|
"immutable": true,
|
|
1073
1106
|
"locationInModule": {
|
|
1074
1107
|
"filename": "lib/region-info.ts",
|
|
1075
|
-
"line":
|
|
1108
|
+
"line": 104
|
|
1076
1109
|
},
|
|
1077
1110
|
"name": "s3StaticWebsiteHostedZoneId",
|
|
1078
1111
|
"optional": true,
|
|
@@ -1088,7 +1121,7 @@
|
|
|
1088
1121
|
"immutable": true,
|
|
1089
1122
|
"locationInModule": {
|
|
1090
1123
|
"filename": "lib/region-info.ts",
|
|
1091
|
-
"line":
|
|
1124
|
+
"line": 120
|
|
1092
1125
|
},
|
|
1093
1126
|
"name": "vpcEndpointServiceNamePrefix",
|
|
1094
1127
|
"optional": true,
|
|
@@ -1100,6 +1133,6 @@
|
|
|
1100
1133
|
"symbolId": "lib/region-info:RegionInfo"
|
|
1101
1134
|
}
|
|
1102
1135
|
},
|
|
1103
|
-
"version": "2.
|
|
1136
|
+
"version": "2.51.0",
|
|
1104
1137
|
"fingerprint": "**********"
|
|
1105
1138
|
}
|
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function after(region: string, ruleOrRegion: string | symbol): boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.after = void 0;
|
|
3
4
|
const path = require("path");
|
|
4
5
|
const fs = require("fs-extra");
|
|
5
6
|
const aws_entities_1 = require("../lib/aws-entities");
|
|
@@ -42,6 +43,7 @@ async function main() {
|
|
|
42
43
|
registerFact(region, 'PARTITION', partition);
|
|
43
44
|
registerFact(region, 'DOMAIN_SUFFIX', domainSuffix);
|
|
44
45
|
registerFact(region, 'CDK_METADATA_RESOURCE_AVAILABLE', fact_tables_1.AWS_CDK_METADATA.has(region) ? 'YES' : 'NO');
|
|
46
|
+
registerFact(region, 'IS_OPT_IN_REGION', partition === 'aws' && after(region, aws_entities_1.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN) ? 'YES' : 'NO');
|
|
45
47
|
registerFact(region, 'S3_STATIC_WEBSITE_ENDPOINT', aws_entities_1.before(region, aws_entities_1.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN)
|
|
46
48
|
? `s3-website-${region}.${domainSuffix}`
|
|
47
49
|
: `s3-website.${region}.${domainSuffix}`);
|
|
@@ -103,9 +105,13 @@ function checkRegionsSubMap(map) {
|
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
}
|
|
108
|
+
function after(region, ruleOrRegion) {
|
|
109
|
+
return region !== ruleOrRegion && !aws_entities_1.before(region, ruleOrRegion);
|
|
110
|
+
}
|
|
111
|
+
exports.after = after;
|
|
106
112
|
main().catch(e => {
|
|
107
113
|
// eslint-disable-next-line no-console
|
|
108
114
|
console.error(e);
|
|
109
115
|
process.exit(-1);
|
|
110
116
|
});
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0Isc0RBSzZCO0FBQzdCLDRDQUF5QztBQUN6QywrQ0FHdUI7QUFFdkIsS0FBSyxVQUFVLElBQUk7SUFDakIsWUFBWSxDQUFDLGtDQUFvQixDQUFDLENBQUM7SUFDbkMsWUFBWSxDQUFDLHFDQUF1QixDQUFDLENBQUM7SUFDdEMsWUFBWSxDQUFDLDRCQUFjLENBQUMsQ0FBQztJQUM3QixZQUFZLENBQUMsa0NBQW9CLENBQUMsQ0FBQztJQUNuQyxZQUFZLENBQUMsOENBQWdDLENBQUMsQ0FBQztJQUMvQyxrQkFBa0IsQ0FBQyw2Q0FBK0IsQ0FBQyxDQUFDO0lBRXBELE1BQU0sS0FBSyxHQUFHO1FBQ1osMENBQTBDO1FBQzFDLEVBQUU7UUFDRixrQ0FBa0M7UUFDbEMsOEJBQThCO1FBQzlCLEVBQUU7UUFDRixLQUFLO1FBQ0wsb0VBQW9FO1FBQ3BFLElBQUk7UUFDSixpQkFBaUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUMzQyxLQUFLO1FBQ0wseUJBQXlCO1FBQ3pCLE9BQU87UUFDUCwyRUFBMkU7UUFDM0UsT0FBTztRQUNQLG9DQUFvQztLQUNyQyxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBRTdCLEtBQUssTUFBTSxNQUFNLElBQUksMEJBQVcsRUFBRTtRQUNoQyxJQUFJLFNBQVMsR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUUxRCxLQUFLLE1BQU0sR0FBRyxJQUFJLDJCQUFhLEVBQUU7WUFDL0IsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdB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QUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUMxQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxNQUFNLDRCQUE0QixDQUFDLENBQUM7aUJBQ3pGO2FBQ0Y7U0FFRjtLQUNGO0FBQ0gsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQge1xuICBBV1NfUkVHSU9OUyxcbiAgQVdTX1NFUlZJQ0VTLFxuICBiZWZvcmUsXG4gIFJVTEVfUzNfV0VCU0lURV9SRUdJT05BTF9TVUJET01BSU4sXG59IGZyb20gJy4uL2xpYi9hd3MtZW50aXRpZXMnO1xuaW1wb3J0IHsgRGVmYXVsdCB9IGZyb20gJy4uL2xpYi9kZWZhdWx0JztcbmltcG9ydCB7XG4gIEFQUE1FU0hfRUNSX0FDQ09VTlRTLCBBV1NfQ0RLX01FVEFEQVRBLCBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TLCBETENfUkVQT1NJVE9SWV9BQ0NPVU5UUyxcbiAgRUxCVjJfQUNDT1VOVFMsIEZJUkVIT1NFX0NJRFJfQkxPQ0tTLCBQQVJUSVRJT05fTUFQLCBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUywgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFMsXG59IGZyb20gJy4vZmFjdC10YWJsZXMnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8dm9pZD4ge1xuICBjaGVja1JlZ2lvbnMoQVBQTUVTSF9FQ1JfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRExDX1JFUE9TSVRPUllfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRUxCVjJfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRklSRUhPU0VfQ0lEUl9CTE9DS1MpO1xuICBjaGVja1JlZ2lvbnMoUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFMpO1xuICBjaGVja1JlZ2lvbnNTdWJNYXAoQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUyk7XG5cbiAgY29uc3QgbGluZXMgPSBbXG4gICAgXCJpbXBvcnQgeyBGYWN0LCBGYWN0TmFtZSB9IGZyb20gJy4vZmFjdCc7XCIsXG4gICAgJycsXG4gICAgJy8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovJyxcbiAgICAnLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqLycsXG4gICAgJycsXG4gICAgJy8qKicsXG4gICAgJyAqIEJ1aWx0LWluIHJlZ2lvbmFsIGluZm9ybWF0aW9uLCByZS1nZW5lcmF0ZWQgYnkgYG5wbSBydW4gYnVpbGRgLicsXG4gICAgJyAqJyxcbiAgICBgICogQGdlbmVyYXRlZCAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX1gLFxuICAgICcgKi8nLFxuICAgICdleHBvcnQgY2xhc3MgQnVpbHRJbnMgeycsXG4gICAgJyAgLyoqJyxcbiAgICAnICAgKiBSZWdpc3RlcnMgYWxsIHRoZSBidWlsdCBpbiByZWdpb25hbCBkYXRhIGluIHRoZSBSZWdpb25JbmZvIGRhdGFiYXNlLicsXG4gICAgJyAgICovJyxcbiAgICAnICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyKCk6IHZvaWQgeycsXG4gIF07XG5cbiAgY29uc3QgZGVmYXVsdE1hcCA9ICdkZWZhdWx0JztcblxuICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBBV1NfUkVHSU9OUykge1xuICAgIGxldCBwYXJ0aXRpb24gPSBQQVJUSVRJT05fTUFQW2RlZmF1bHRNYXBdLnBhcnRpdGlvbjtcbiAgICBsZXQgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtkZWZhdWx0TWFwXS5kb21haW5TdWZmaXg7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBQQVJUSVRJT05fTUFQKSB7XG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoa2V5KSkge1xuICAgICAgICBwYXJ0aXRpb24gPSBQQVJUSVRJT05fTUFQW2tleV0ucGFydGl0aW9uO1xuICAgICAgICBkb21haW5TdWZmaXggPSBQQVJUSVRJT05fTUFQW2tleV0uZG9tYWluU3VmZml4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdQQVJUSVRJT04nLCBwYXJ0aXRpb24pO1xuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdET01BSU5fU1VGRklYJywgZG9tYWluU3VmZml4KTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdDREtfTUVUQURBVEFfUkVTT1VSQ0VfQVZBSUxBQkxFJywgQVdTX0NES19NRVRBREFUQS5oYXMocmVnaW9uKSA/ICdZRVMnIDogJ05PJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUzNfU1RBVElDX1dFQlNJVEVfRU5EUE9JTlQnLCBiZWZvcmUocmVnaW9uLCBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOKVxuICAgICAgPyBgczMtd2Vic2l0ZS0ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YFxuICAgICAgOiBgczMtd2Vic2l0ZS4ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YCk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUzNfU1RBVElDX1dFQlNJVEVfWk9ORV81M19IT1NURURfWk9ORV9JRCcsIFJPVVRFXzUzX0JVQ0tFVF9XRUJTSVRFX1pPTkVfSURTW3JlZ2lvbl0gfHwgJycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0VCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSUQnLCBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEU1tyZWdpb25dIHx8ICcnKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdFTEJWMl9BQ0NPVU5UJywgRUxCVjJfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRExDX1JFUE9TSVRPUllfQUNDT1VOVCcsIERMQ19SRVBPU0lUT1JZX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0FQUE1FU0hfRUNSX0FDQ09VTlQnLCBBUFBNRVNIX0VDUl9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIGNvbnN0IGZpcmVob3NlQ2lkckJsb2NrID0gRklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXTtcbiAgICBpZiAoZmlyZWhvc2VDaWRyQmxvY2spIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdGSVJFSE9TRV9DSURSX0JMT0NLJywgYCR7RklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXX0vMjdgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4ID0gYCR7ZG9tYWluU3VmZml4LnNwbGl0KCcuJykucmV2ZXJzZSgpLmpvaW4oJy4nKX0udnBjZWA7XG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1ZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYJywgdnBjRW5kcG9pbnRTZXJ2aWNlTmFtZVByZWZpeCk7XG5cbiAgICBmb3IgKGNvbnN0IHNlcnZpY2Ugb2YgQVdTX1NFUlZJQ0VTKSB7XG4gICAgICByZWdpc3RlckZhY3QocmVnaW9uLCBbJ3NlcnZpY2VQcmluY2lwYWwnLCBzZXJ2aWNlXSwgRGVmYXVsdC5zZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2UsIHJlZ2lvbiwgZG9tYWluU3VmZml4KSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlMpIHtcbiAgICAgIGZvciAoY29uc3QgYXJjaCBpbiBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzVmVyc2lvbicsIHZlcnNpb24sIGFyY2hdLCBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TW3ZlcnNpb25dW2FyY2hdW3JlZ2lvbl0pO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpbmVzLnB1c2goJyAgfScpO1xuICBsaW5lcy5wdXNoKCcnKTtcbiAgbGluZXMucHVzaCgnICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge30nKTtcbiAgbGluZXMucHVzaCgnfScpO1xuXG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnbGliJywgJ2J1aWx0LWlucy5nZW5lcmF0ZWQudHMnKSwgbGluZXMuam9pbignXFxuJykpO1xuXG4gIGZ1bmN0aW9uIHJlZ2lzdGVyRmFjdChyZWdpb246IHN0cmluZywgbmFtZTogc3RyaW5nIHwgc3RyaW5nW10sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmYWN0TmFtZSA9IHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyA/IG5hbWUgOiBgJHtuYW1lWzBdfSgke25hbWUuc2xpY2UoMSkubWFwKHMgPT4gSlNPTi5zdHJpbmdpZnkocykpLmpvaW4oJywgJyl9KWA7XG4gICAgbGluZXMucHVzaChgICAgIEZhY3QucmVnaXN0ZXIoeyByZWdpb246ICR7SlNPTi5zdHJpbmdpZnkocmVnaW9uKX0sIG5hbWU6IEZhY3ROYW1lLiR7ZmFjdE5hbWV9LCB2YWx1ZTogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9IH0pO2ApO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhhdCB0aGUgcHJvdmlkZWQgbWFwIG9mIHJlZ2lvbiB0byBmYWN0IGRvZXMgbm90IGNvbnRhaW4gYW4gZW50cnlcbiAqIGZvciBhIHJlZ2lvbiB0aGF0IHdhcyBub3QgcmVnaXN0ZXJlZCBpbiBgQVdTX1JFR0lPTlNgLlxuICovXG5mdW5jdGlvbiBjaGVja1JlZ2lvbnMobWFwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBpZiAoIWFsbFJlZ2lvbnMuaGFzKHJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgPEtFWT4gdG8gcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9uc1N1Yk1hcChtYXA6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4pIHtcbiAgY29uc3QgYWxsUmVnaW9ucyA9IG5ldyBTZXQoQVdTX1JFR0lPTlMpO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtYXApKSB7XG4gICAgZm9yIChjb25zdCBzdWJLZXkgb2YgT2JqZWN0LmtleXMobWFwW2tleV0pKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBPYmplY3Qua2V5cyhtYXBba2V5XVtzdWJLZXldKSkge1xuICAgICAgICBpZiAoIWFsbFJlZ2lvbnMuaGFzKHJlZ2lvbikpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuLXJlZ2lzdGVyZWQgcmVnaW9uIGZhY3QgZm91bmQ6ICR7cmVnaW9ufS4gQWRkIHRvIEFXU19SRUdJT05TIGxpc3QhYCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcbiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHNEQU02QjtBQUM3Qiw0Q0FBeUM7QUFDekMsK0NBR3VCO0FBRXZCLEtBQUssVUFBVSxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxrQ0FBb0IsQ0FBQyxDQUFDO0lBQ25DLFlBQVksQ0FBQyxxQ0FBdUIsQ0FBQyxDQUFDO0lBQ3RDLFlBQVksQ0FBQyw0QkFBYyxDQUFDLENBQUM7SUFDN0IsWUFBWSxDQUFDLGtDQUFvQixDQUFDLENBQUM7SUFDbkMsWUFBWSxDQUFDLDhDQUFnQyxDQUFDLENBQUM7SUFDL0Msa0JBQWtCLENBQUMsNkNBQStCLENBQUMsQ0FBQztJQUVwRCxNQUFNLEtBQUssR0FBRztRQUNaLDBDQUEwQztRQUMxQyxFQUFFO1FBQ0Ysa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QixFQUFFO1FBQ0YsS0FBSztRQUNMLG9FQUFvRTtRQUNwRSxJQUFJO1FBQ0osaUJBQWlCLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDM0MsS0FBSztRQUNMLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsMkVBQTJFO1FBQzNFLE9BQU87UUFDUCxvQ0FBb0M7S0FDckMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUU3QixLQUFLLE1BQU0sTUFBTSxJQUFJLDBCQUFXLEVBQUU7UUFDaEMsSUFBSSxTQUFTLEdBQUcsMkJBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxZQUFZLEdBQUcsMkJBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFFMUQsS0FBSyxNQUFNLEdBQUcsSUFBSSwyQkFBYSxFQUFFO1lBQy9CLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxH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QUssQ0FBQyxvQ0FBb0MsTUFBTSw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3pGO0tBQ0Y7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxHQUE0RDtJQUN0RixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQywwQkFBVyxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUMxQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxNQUFNLDRCQUE0QixDQUFDLENBQUM7aUJBQ3pGO2FBQ0Y7U0FFRjtLQUNGO0FBQ0gsQ0FBQztBQUVELFNBQWdCLEtBQUssQ0FBQyxNQUFjLEVBQUUsWUFBNkI7SUFDakUsT0FBTyxNQUFNLEtBQUssWUFBWSxJQUFJLENBQUMscUJBQU0sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUZELHNCQUVDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7XG4gIEFXU19SRUdJT05TLFxuICBBV1NfU0VSVklDRVMsXG4gIGJlZm9yZSxcbiAgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTixcbiAgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTixcbn0gZnJvbSAnLi4vbGliL2F3cy1lbnRpdGllcyc7XG5pbXBvcnQgeyBEZWZhdWx0IH0gZnJvbSAnLi4vbGliL2RlZmF1bHQnO1xuaW1wb3J0IHtcbiAgQVBQTUVTSF9FQ1JfQUNDT1VOVFMsIEFXU19DREtfTUVUQURBVEEsIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlMsIERMQ19SRVBPU0lUT1JZX0FDQ09VTlRTLFxuICBFTEJWMl9BQ0NPVU5UUywgRklSRUhPU0VfQ0lEUl9CTE9DS1MsIFBBUlRJVElPTl9NQVAsIFJPVVRFXzUzX0JVQ0tFVF9XRUJTSVRFX1pPTkVfSURTLCBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEUyxcbn0gZnJvbSAnLi9mYWN0LXRhYmxlcyc7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNoZWNrUmVnaW9ucyhBUFBNRVNIX0VDUl9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhETENfUkVQT1NJVE9SWV9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhFTEJWMl9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhGSVJFSE9TRV9DSURSX0JMT0NLUyk7XG4gIGNoZWNrUmVnaW9ucyhST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUyk7XG4gIGNoZWNrUmVnaW9uc1N1Yk1hcChDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TKTtcblxuICBjb25zdCBsaW5lcyA9IFtcbiAgICBcImltcG9ydCB7IEZhY3QsIEZhY3ROYW1lIH0gZnJvbSAnLi9mYWN0JztcIixcbiAgICAnJyxcbiAgICAnLyogZXNsaW50LWRpc2FibGUgcXVvdGUtcHJvcHMgKi8nLFxuICAgICcvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovJyxcbiAgICAnJyxcbiAgICAnLyoqJyxcbiAgICAnICogQnVpbHQtaW4gcmVnaW9uYWwgaW5mb3JtYXRpb24sIHJlLWdlbmVyYXRlZCBieSBgbnBtIHJ1biBidWlsZGAuJyxcbiAgICAnIConLFxuICAgIGAgKiBAZ2VuZXJhdGVkICR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfWAsXG4gICAgJyAqLycsXG4gICAgJ2V4cG9ydCBjbGFzcyBCdWlsdElucyB7JyxcbiAgICAnICAvKionLFxuICAgICcgICAqIFJlZ2lzdGVycyBhbGwgdGhlIGJ1aWx0IGluIHJlZ2lvbmFsIGRhdGEgaW4gdGhlIFJlZ2lvbkluZm8gZGF0YWJhc2UuJyxcbiAgICAnICAgKi8nLFxuICAgICcgIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXIoKTogdm9pZCB7JyxcbiAgXTtcblxuICBjb25zdCBkZWZhdWx0TWFwID0gJ2RlZmF1bHQnO1xuXG4gIGZvciAoY29uc3QgcmVnaW9uIG9mIEFXU19SRUdJT05TKSB7XG4gICAgbGV0IHBhcnRpdGlvbiA9IFBBUlRJVElPTl9NQVBbZGVmYXVsdE1hcF0ucGFydGl0aW9uO1xuICAgIGxldCBkb21haW5TdWZmaXggPSBQQVJUSVRJT05fTUFQW2RlZmF1bHRNYXBdLmRvbWFpblN1ZmZpeDtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIFBBUlRJVElPTl9NQVApIHtcbiAgICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aChrZXkpKSB7XG4gICAgICAgIHBhcnRpdGlvbiA9IFBBUlRJVElPTl9NQVBba2V5XS5wYXJ0aXRpb247XG4gICAgICAgIGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVBba2V5XS5kb21haW5TdWZmaXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1BBUlRJVElPTicsIHBhcnRpdGlvbik7XG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0RPTUFJTl9TVUZGSVgnLCBkb21haW5TdWZmaXgpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0NES19NRVRBREFUQV9SRVNPVVJDRV9BVkFJTEFCTEUnLCBBV1NfQ0RLX01FVEFEQVRBLmhhcyhyZWdpb24pID8gJ1lFUycgOiAnTk8nKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdJU19PUFRfSU5fUkVHSU9OJywgcGFydGl0aW9uID09PSAnYXdzJyAmJiBhZnRlcihyZWdpb24sIFJVTEVfQ0xBU1NJQ19QQVJUSVRJT05fQkVDT01FU19PUFRfSU4pID8gJ1lFUycgOiAnTk8nKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdTM19TVEFUSUNfV0VCU0lURV9FTkRQT0lOVCcsIGJlZm9yZShyZWdpb24sIFJVTEVfUzNfV0VCU0lURV9SRUdJT05BTF9TVUJET01BSU4pXG4gICAgICA/IGBzMy13ZWJzaXRlLSR7cmVnaW9ufS4ke2RvbWFpblN1ZmZpeH1gXG4gICAgICA6IGBzMy13ZWJzaXRlLiR7cmVnaW9ufS4ke2RvbWFpblN1ZmZpeH1gKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdTM19TVEFUSUNfV0VCU0lURV9aT05FXzUzX0hPU1RFRF9aT05FX0lEJywgUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFNbcmVnaW9uXSB8fCAnJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRCcsIEVCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSURTW3JlZ2lvbl0gfHwgJycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0VMQlYyX0FDQ09VTlQnLCBFTEJWMl9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdETENfUkVQT1NJVE9SWV9BQ0NPVU5UJywgRExDX1JFUE9TSVRPUllfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnQVBQTUVTSF9FQ1JfQUNDT1VOVCcsIEFQUE1FU0hfRUNSX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgY29uc3QgZmlyZWhvc2VDaWRyQmxvY2sgPSBGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dO1xuICAgIGlmIChmaXJlaG9zZUNpZHJCbG9jaykge1xuICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0ZJUkVIT1NFX0NJRFJfQkxPQ0snLCBgJHtGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dfS8yN2ApO1xuICAgIH1cblxuICAgIGNvbnN0IHZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXggPSBgJHtkb21haW5TdWZmaXguc3BsaXQoJy4nKS5yZXZlcnNlKCkuam9pbignLicpfS52cGNlYDtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVgnLCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4KTtcblxuICAgIGZvciAoY29uc3Qgc2VydmljZSBvZiBBV1NfU0VSVklDRVMpIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnc2VydmljZVByaW5jaXBhbCcsIHNlcnZpY2VdLCBEZWZhdWx0LnNlcnZpY2VQcmluY2lwYWwoc2VydmljZSwgcmVnaW9uLCBkb21haW5TdWZmaXgpKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl0pIHtcbiAgICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgWydjbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGluZXMucHVzaCgnICB9Jyk7XG4gIGxpbmVzLnB1c2goJycpO1xuICBsaW5lcy5wdXNoKCcgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fScpO1xuICBsaW5lcy5wdXNoKCd9Jyk7XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnYnVpbHQtaW5zLmdlbmVyYXRlZC50cycpLCBsaW5lcy5qb2luKCdcXG4nKSk7XG5cbiAgZnVuY3Rpb24gcmVnaXN0ZXJGYWN0KHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZhY3ROYW1lID0gdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IGAke25hbWVbMF19KCR7bmFtZS5zbGljZSgxKS5tYXAocyA9PiBKU09OLnN0cmluZ2lmeShzKSkuam9pbignLCAnKX0pYDtcbiAgICBsaW5lcy5wdXNoKGAgICAgRmFjdC5yZWdpc3Rlcih7IHJlZ2lvbjogJHtKU09OLnN0cmluZ2lmeShyZWdpb24pfSwgbmFtZTogRmFjdE5hbWUuJHtmYWN0TmFtZX0sIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gfSk7YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9ucyhtYXA6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gIGNvbnN0IGFsbFJlZ2lvbnMgPSBuZXcgU2V0KEFXU19SRUdJT05TKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgT2JqZWN0LmtleXMobWFwKSkge1xuICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbi1yZWdpc3RlcmVkIHJlZ2lvbiBmYWN0IGZvdW5kOiAke3JlZ2lvbn0uIEFkZCB0byBBV1NfUkVHSU9OUyBsaXN0IWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoYXQgdGhlIHByb3ZpZGVkIG1hcCBvZiA8S0VZPiB0byByZWdpb24gdG8gZmFjdCBkb2VzIG5vdCBjb250YWluIGFuIGVudHJ5XG4gKiBmb3IgYSByZWdpb24gdGhhdCB3YXMgbm90IHJlZ2lzdGVyZWQgaW4gYEFXU19SRUdJT05TYC5cbiAqL1xuZnVuY3Rpb24gY2hlY2tSZWdpb25zU3ViTWFwKG1hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBmb3IgKGNvbnN0IHN1YktleSBvZiBPYmplY3Qua2V5cyhtYXBba2V5XSkpIHtcbiAgICAgIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcFtrZXldW3N1YktleV0pKSB7XG4gICAgICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZnRlcihyZWdpb246IHN0cmluZywgcnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgcmV0dXJuIHJlZ2lvbiAhPT0gcnVsZU9yUmVnaW9uICYmICFiZWZvcmUocmVnaW9uLCBydWxlT3JSZWdpb24pO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcbiJdfQ==
|
package/build-tools/generate.sh
CHANGED
package/lib/aws-entities.d.ts
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Before this point, S3 website domains look like `s3-website-REGION.s3.amazonaws.com`.
|
|
5
5
|
*/
|
|
6
6
|
export declare const RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* After this point, all regions in the 'aws' partition are opt-in.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RULE_CLASSIC_PARTITION_BECOMES_OPT_IN: unique symbol;
|
|
7
11
|
/**
|
|
8
12
|
* List of AWS region, ordered by launch date (oldest to newest)
|
|
9
13
|
*
|
package/lib/aws-entities.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.partitionInformation = exports.regionsBefore = exports.before = exports.AWS_SERVICES = exports.AWS_REGIONS = exports.AWS_REGIONS_AND_RULES = exports.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = void 0;
|
|
3
|
+
exports.partitionInformation = exports.regionsBefore = exports.before = exports.AWS_SERVICES = exports.AWS_REGIONS = exports.AWS_REGIONS_AND_RULES = exports.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN = exports.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* After this point, S3 website domains look like `s3-website.REGION.s3.amazonaws.com`
|
|
6
6
|
*
|
|
7
7
|
* Before this point, S3 website domains look like `s3-website-REGION.s3.amazonaws.com`.
|
|
8
8
|
*/
|
|
9
9
|
exports.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = Symbol('S3_WEBSITE_REGIONAL_SUBDOMAIN');
|
|
10
|
+
/**
|
|
11
|
+
* After this point, all regions in the 'aws' partition are opt-in.
|
|
12
|
+
*/
|
|
13
|
+
exports.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN = Symbol('CLASSIC_PARTITION_BECOMES_OPT_IN');
|
|
10
14
|
/**
|
|
11
15
|
* List of AWS region, ordered by launch date (oldest to newest)
|
|
12
16
|
*
|
|
@@ -46,6 +50,7 @@ exports.AWS_REGIONS_AND_RULES = [
|
|
|
46
50
|
'ap-northeast-3',
|
|
47
51
|
'us-gov-east-1',
|
|
48
52
|
'eu-north-1',
|
|
53
|
+
exports.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN,
|
|
49
54
|
'ap-east-1',
|
|
50
55
|
'me-south-1',
|
|
51
56
|
'eu-south-1',
|
|
@@ -53,6 +58,7 @@ exports.AWS_REGIONS_AND_RULES = [
|
|
|
53
58
|
'us-iso-west-1',
|
|
54
59
|
'eu-south-2',
|
|
55
60
|
'ap-southeast-3',
|
|
61
|
+
'me-central-1',
|
|
56
62
|
];
|
|
57
63
|
/**
|
|
58
64
|
* The names of all (known) AWS regions
|
|
@@ -124,4 +130,4 @@ function partitionInformation(region) {
|
|
|
124
130
|
return PARTITION_MAP.default;
|
|
125
131
|
}
|
|
126
132
|
exports.partitionInformation = partitionInformation;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0dBSUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRTFGOztHQUVHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUVoRzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBaUM7SUFDakUsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsMENBQWtDO0lBQ2xDLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osV0FBVztJQUNYLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixZQUFZO0lBQ1osNkNBQXFDO0lBQ3JDLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixjQUFjO0NBQ2YsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLFdBQVcsR0FBRyw2QkFBcUI7S0FDN0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7S0FDcEMsSUFBSSxFQUF1QixDQUFDO0FBRS9COzs7O0dBSUc7QUFDVSxRQUFBLFlBQVksR0FBc0I7SUFDN0MseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixZQUFZO0lBQ1osS0FBSztJQUNMLFFBQVE7SUFDUixRQUFRO0lBQ1IsTUFBTTtJQUNOLElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxRQUFRO0NBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUVUOzs7O0dBSUc7QUFDSCxTQUFnQixNQUFNLENBQUMsTUFBYyxFQUFFLFlBQTZCO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLDZCQUFxQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzRCxJQUFJLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzFEO0lBQ0QsTUFBTSxRQUFRLEdBQUcsNkJBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFDckQsQ0FBQztBQVBELHdCQU9DO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixhQUFhLENBQUMsWUFBNkI7SUFDekQsTUFBTSxNQUFNLEdBQUcsNkJBQXFCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDMUQ7SUFDRCxPQUFPLDZCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO1NBQzFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO1NBQzVDLElBQUksRUFBYyxDQUFDO0FBQ3hCLENBQUM7QUFSRCxzQ0FRQztBQUlELE1BQU0sYUFBYSxHQUF5QztJQUMxRCxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUU7SUFDOUQsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUU7SUFDaEUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO0lBQ3JFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUMvRCxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUU7Q0FDdEUsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUFDLE1BQWM7SUFDakQsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDMUQsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtJQUNELE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztBQUMvQixDQUFDO0FBUEQsb0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFmdGVyIHRoaXMgcG9pbnQsIFMzIHdlYnNpdGUgZG9tYWlucyBsb29rIGxpa2UgYHMzLXdlYnNpdGUuUkVHSU9OLnMzLmFtYXpvbmF3cy5jb21gXG4gKlxuICogQmVmb3JlIHRoaXMgcG9pbnQsIFMzIHdlYnNpdGUgZG9tYWlucyBsb29rIGxpa2UgYHMzLXdlYnNpdGUtUkVHSU9OLnMzLmFtYXpvbmF3cy5jb21gLlxuICovXG5leHBvcnQgY29uc3QgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTiA9IFN5bWJvbCgnUzNfV0VCU0lURV9SRUdJT05BTF9TVUJET01BSU4nKTtcblxuLyoqXG4gKiBBZnRlciB0aGlzIHBvaW50LCBhbGwgcmVnaW9ucyBpbiB0aGUgJ2F3cycgcGFydGl0aW9uIGFyZSBvcHQtaW4uXG4gKi9cbmV4cG9ydCBjb25zdCBSVUxFX0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOID0gU3ltYm9sKCdDTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTicpO1xuXG4vKipcbiAqIExpc3Qgb2YgQVdTIHJlZ2lvbiwgb3JkZXJlZCBieSBsYXVuY2ggZGF0ZSAob2xkZXN0IHRvIG5ld2VzdClcbiAqXG4gKiBUaGUgc2lnbmlmaWNhbmNlIG9mIHRoaXMgaXMgdGhhdCBzdGFuZGFyZHMgYW5kIGNvbnZlbnRpb25zIGNoYW5nZSBvdmVyIHRpbWUuXG4gKiBHZW5lcmFsbHksIGFzIHJ1bGVzIGFyZSBjaGFuZ2VkIHRoZXkgb25seSBhcHBseSB0byBuZXcgcmVnaW9ucywgYW5kIG9sZFxuICogcmVnaW9ucyBhcmUgbGVmdCBhcy1pcy5cbiAqXG4gKiBXZSBtaXggdGhlIGxpc3Qgb2YgcmVnaW9ucyB3aXRoIGEgbGlzdCBvZiBydWxlcyB0aGF0IHdlcmUgaW50cm9kdWNlZCBvdmVyXG4gKiB0aW1lIChydWxlcyBhcmUgc3ltYm9scykuXG4gKlxuICogVGhlcmVmb3JlLCBpZiB3ZSB3YW50IHRvIGtub3cgaWYgYSBydWxlIGFwcGxpZXMgdG8gYSBjZXJ0YWluIHJlZ2lvbiwgd2VcbiAqIG9ubHkgbmVlZCB0byBjaGVjayBpdHMgcG9zaXRpb24gaW4gdGhlIGxpc3QgYW5kIGNvbXBhcmUgaXQgdG8gd2hlbiBhXG4gKiBydWxlIHdhcyBpbnRyb2R1Y2VkLlxuICovXG5leHBvcnQgY29uc3QgQVdTX1JFR0lPTlNfQU5EX1JVTEVTOiByZWFkb25seSAoc3RyaW5nIHwgc3ltYm9sKVtdID0gW1xuICAndXMtZWFzdC0xJywgLy8gVVMgRWFzdCAoTi4gVmlyZ2luaWEpXG4gICdldS13ZXN0LTEnLCAvLyBFdXJvcGUgKElyZWxhbmQpXG4gICd1cy13ZXN0LTEnLCAvLyBVUyBXZXN0IChOLiBDYWxpZm9ybmlhKVxuICAnYXAtc291dGhlYXN0LTEnLCAvLyBBc2lhIFBhY2lmaWMgKFNpbmdhcG9yZSlcbiAgJ2FwLW5vcnRoZWFzdC0xJywgLy8gQXNpYSBQYWNpZmljIChUb2t5bylcbiAgJ3VzLWdvdi13ZXN0LTEnLCAvLyBBV1MgR292Q2xvdWQgKFVTLVdlc3QpXG4gICd1cy13ZXN0LTInLCAvLyBVUyBXZXN0IChPcmVnb24pXG4gICdzYS1lYXN0LTEnLCAvLyBTb3V0aCBBbWVyaWNhIChTw6NvIFBhdWxvKVxuICAnYXAtc291dGhlYXN0LTInLCAvLyBBc2lhIFBhY2lmaWMgKFN5ZG5leSlcbiAgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTixcbiAgJ2NuLW5vcnRoLTEnLCAvLyBDaGluYSAoQmVpamluZylcbiAgJ3VzLWlzby1lYXN0LTEnLCAvLyBBV1MgSVNPXG4gICdldS1jZW50cmFsLTEnLCAvLyBFdXJvcGUgKEZyYW5rZnVydClcbiAgJ2FwLW5vcnRoZWFzdC0yJywgLy8gQXNpYSBQYWNpZmljIChTZW91bClcbiAgJ2FwLXNvdXRoLTEnLCAvLyBBc2lhIFBhY2lmaWMgKE11bWJhaSlcbiAgJ3VzLWVhc3QtMicsIC8vIFVTIEVhc3QgKE9oaW8pXG4gICdjYS1jZW50cmFsLTEnLCAvLyBDYW5hZGEgKENlbnRyYWwpXG4gICdldS13ZXN0LTInLCAvLyBFdXJvcGUgKExvbmRvbilcbiAgJ3VzLWlzb2ItZWFzdC0xJywgLy8gQVdTIElTTy1CXG4gICdjbi1ub3J0aHdlc3QtMScsIC8vIENoaW5hIChOaW5neGlhKVxuICAnZXUtd2VzdC0zJywgLy8gRXVyb3BlIChQYXJpcylcbiAgJ2FwLW5vcnRoZWFzdC0zJywgLy8gQXNpYSBQYWNpZmljIChPc2FrYSlcbiAgJ3VzLWdvdi1lYXN0LTEnLCAvLyBBV1MgR292Q2xvdWQgKFVTLUVhc3QpXG4gICdldS1ub3J0aC0xJywgLy8gRXVyb3BlIChTdG9ja2hvbG0pXG4gIFJVTEVfQ0xBU1NJQ19QQVJUSVRJT05fQkVDT01FU19PUFRfSU4sXG4gICdhcC1lYXN0LTEnLCAvLyBBc2lhIFBhY2lmaWMgKEhvbmcgS29uZylcbiAgJ21lLXNvdXRoLTEnLCAvLyBNaWRkbGUgRWFzdCAoQmFocmFpbilcbiAgJ2V1LXNvdXRoLTEnLCAvLyBFdXJvcGUgKE1pbGFuKVxuICAnYWYtc291dGgtMScsIC8vIEFmcmljYSAoQ2FwZSBUb3duKVxuICAndXMtaXNvLXdlc3QtMScsIC8vIFVTIElTTyBXZXN0XG4gICdldS1zb3V0aC0yJywgLy8gRXVyb3BlIChTcGFpbilcbiAgJ2FwLXNvdXRoZWFzdC0zJywgLy8gQXNpYSBQYWNpZmljIChKYWthcnRhKVxuICAnbWUtY2VudHJhbC0xJywgLy8gTWlkZGxlIEVhc3QgKFVBRSlcbl07XG5cbi8qKlxuICogVGhlIG5hbWVzIG9mIGFsbCAoa25vd24pIEFXUyByZWdpb25zXG4gKlxuICogTm90IGluIHRoZSBsaXN0ID09PiBubyBidWlsdC1pbiBkYXRhIGZvciB0aGF0IHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IEFXU19SRUdJT05TID0gQVdTX1JFR0lPTlNfQU5EX1JVTEVTXG4gIC5maWx0ZXIoKHgpID0+IHR5cGVvZiB4ID09PSAnc3RyaW5nJylcbiAgLnNvcnQoKSBhcyByZWFkb25seSBzdHJpbmdbXTtcblxuLyoqXG4gKiBQb3NzaWJseSBub24tZXhhdXN0aXZlIGxpc3Qgb2YgYWxsIHNlcnZpY2UgbmFtZXMsIHVzZWQgdG8gbG9jYXRlIHNlcnZpY2UgcHJpbmNpcGFscy5cbiAqXG4gKiBOb3QgaW4gdGhlIGxpc3QgPT0+IGRlZmF1bHQgc2VydmljZSBwcmluY2lwYWwgbWFwcGluZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfU0VSVklDRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAnYXBwbGljYXRpb24tYXV0b3NjYWxpbmcnLFxuICAnYXV0b3NjYWxpbmcnLFxuICAnY29kZWRlcGxveScsXG4gICdlYzInLFxuICAnZXZlbnRzJyxcbiAgJ2xhbWJkYScsXG4gICdsb2dzJyxcbiAgJ3MzJyxcbiAgJ3NzbScsXG4gICdzbnMnLFxuICAnc3FzJyxcbiAgJ3N0YXRlcycsXG5dLnNvcnQoKTtcblxuLyoqXG4gKiBXaGV0aGVyIG9yIG5vdCBhIHJlZ2lvbiBwcmVkYXRlcyBhIGdpdmVuIHJ1bGUgKG9yIHJlZ2lvbikuXG4gKlxuICogVW5rbm93biByZWdpb24gPT4gd2UgaGF2ZSB0byBhc3N1bWUgbm8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZWZvcmUocmVnaW9uOiBzdHJpbmcsIHJ1bGVPclJlZ2lvbjogc3RyaW5nIHwgc3ltYm9sKSB7XG4gIGNvbnN0IHJ1bGVJeCA9IEFXU19SRUdJT05TX0FORF9SVUxFUy5pbmRleE9mKHJ1bGVPclJlZ2lvbik7XG4gIGlmIChydWxlSXggPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJ1bGU6ICR7U3RyaW5nKHJ1bGVPclJlZ2lvbil9YCk7XG4gIH1cbiAgY29uc3QgcmVnaW9uSXggPSBBV1NfUkVHSU9OU19BTkRfUlVMRVMuaW5kZXhPZihyZWdpb24pO1xuICByZXR1cm4gcmVnaW9uSXggPT09IC0xID8gZmFsc2UgOiByZWdpb25JeCA8IHJ1bGVJeDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYWxsIHJlZ2lvbnMgYmVmb3JlIGEgZ2l2ZW4gcnVsZSB3YXMgaW50cm9kdWNlZCAob3IgcmVnaW9uKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaW9uc0JlZm9yZShydWxlT3JSZWdpb246IHN0cmluZyB8IHN5bWJvbCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcnVsZUl4ID0gQVdTX1JFR0lPTlNfQU5EX1JVTEVTLmluZGV4T2YocnVsZU9yUmVnaW9uKTtcbiAgaWYgKHJ1bGVJeCA9PT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcnVsZTogJHtTdHJpbmcocnVsZU9yUmVnaW9uKX1gKTtcbiAgfVxuICByZXR1cm4gQVdTX1JFR0lPTlNfQU5EX1JVTEVTLnNsaWNlKDAsIHJ1bGVJeClcbiAgICAuZmlsdGVyKChlbnRyeSkgPT4gdHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJylcbiAgICAuc29ydCgpIGFzIHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbiB7IHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nLCByZWFkb25seSBkb21haW5TdWZmaXg6IHN0cmluZyB9XG5cbmNvbnN0IFBBUlRJVElPTl9NQVA6IHtyZWFkb25seSBbcmVnaW9uOiBzdHJpbmddOiBSZWdpb24gfSA9IHtcbiAgJ2RlZmF1bHQnOiB7IHBhcnRpdGlvbjogJ2F3cycsIGRvbWFpblN1ZmZpeDogJ2FtYXpvbmF3cy5jb20nIH0sXG4gICdjbi0nOiB7IHBhcnRpdGlvbjogJ2F3cy1jbicsIGRvbWFpblN1ZmZpeDogJ2FtYXpvbmF3cy5jb20uY24nIH0sXG4gICd1cy1nb3YtJzogeyBwYXJ0aXRpb246ICdhd3MtdXMtZ292JywgZG9tYWluU3VmZml4OiAnYW1hem9uYXdzLmNvbScgfSxcbiAgJ3VzLWlzby0nOiB7IHBhcnRpdGlvbjogJ2F3cy1pc28nLCBkb21haW5TdWZmaXg6ICdjMnMuaWMuZ292JyB9LFxuICAndXMtaXNvYi0nOiB7IHBhcnRpdGlvbjogJ2F3cy1pc28tYicsIGRvbWFpblN1ZmZpeDogJ3NjMnMuc2dvdi5nb3YnIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uSW5mb3JtYXRpb24ocmVnaW9uOiBzdHJpbmcpOiBSZWdpb24ge1xuICBmb3IgKGNvbnN0IFtwcmVmaXgsIGluZm9dIG9mIE9iamVjdC5lbnRyaWVzKFBBUlRJVElPTl9NQVApKSB7XG4gICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgIHJldHVybiBpbmZvO1xuICAgIH1cbiAgfVxuICByZXR1cm4gUEFSVElUSU9OX01BUC5kZWZhdWx0O1xufVxuIl19
|