truemark-cdk-lib 1.6.7-alpha.3 → 1.7.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.
|
@@ -47,11 +47,11 @@ export interface StandardFargateServiceProps extends ExtendedConstructProps {
|
|
|
47
47
|
*/
|
|
48
48
|
readonly logConfiguration?: LogConfiguration;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Disables X-Ray for this service. Default is false.
|
|
51
51
|
*
|
|
52
|
-
* @default -
|
|
52
|
+
* @default - false
|
|
53
53
|
*/
|
|
54
|
-
readonly
|
|
54
|
+
readonly disableXray?: boolean;
|
|
55
55
|
/**
|
|
56
56
|
* Enables the ability to push custom metrics to CloudWatch from the service.
|
|
57
57
|
*
|
|
@@ -14,7 +14,7 @@ const truemark_1 = require("../../truemark");
|
|
|
14
14
|
*/
|
|
15
15
|
class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
|
|
16
16
|
constructor(scope, id, props) {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
18
18
|
super(scope, id, { standardTags: aws_cdk_1.StandardTags.merge(props.standardTags, truemark_1.LibStandardTags) });
|
|
19
19
|
const taskDefinition = new aws_ecs_1.FargateTaskDefinition(this, "Resource", {
|
|
20
20
|
cpu: (_a = props.cpu) !== null && _a !== void 0 ? _a : 2048,
|
|
@@ -25,7 +25,7 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
|
|
|
25
25
|
cpuArchitecture: (_c = props.cpuArchitecture) !== null && _c !== void 0 ? _c : aws_ecs_1.CpuArchitecture.ARM64
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
|
-
if (
|
|
28
|
+
if (!props.disableXray) {
|
|
29
29
|
taskDefinition.addToTaskRolePolicy(new aws_iam_1.PolicyStatement({
|
|
30
30
|
resources: ['*'],
|
|
31
31
|
actions: ['cloudwatch:PutMetricData'],
|
|
@@ -33,8 +33,8 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
|
|
|
33
33
|
}
|
|
34
34
|
const logGroup = this.resolveLogGroup(this, props);
|
|
35
35
|
const logging = this.resolveLogDriver(this, props, logGroup);
|
|
36
|
-
const port = (
|
|
37
|
-
const protocol = (
|
|
36
|
+
const port = (_d = props.port) !== null && _d !== void 0 ? _d : 8080;
|
|
37
|
+
const protocol = (_e = props.protocol) !== null && _e !== void 0 ? _e : aws_ecs_1.Protocol.TCP;
|
|
38
38
|
taskDefinition.addContainer("Container", {
|
|
39
39
|
image: props.image,
|
|
40
40
|
portMappings: [
|
|
@@ -51,46 +51,46 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
|
|
|
51
51
|
});
|
|
52
52
|
// TODO Otel Collector
|
|
53
53
|
const vpcSubnets = this.resolveVpcSubnets(this, props);
|
|
54
|
-
const desiredCount = (
|
|
54
|
+
const desiredCount = (_g = (_f = props.desiredCount) !== null && _f !== void 0 ? _f : props.minCapacity) !== null && _g !== void 0 ? _g : 1;
|
|
55
55
|
const capacityProviderStrategies = this.resolvedCapacityProviderStrategies(props);
|
|
56
56
|
const securityGroup = new aws_ec2_1.SecurityGroup(this, "SecurityGroup", {
|
|
57
57
|
vpc: props.cluster.vpc,
|
|
58
|
-
allowAllIpv6Outbound: (
|
|
58
|
+
allowAllIpv6Outbound: (_h = props.allowAllIpv6Outbound) !== null && _h !== void 0 ? _h : false,
|
|
59
59
|
allowAllOutbound: true
|
|
60
60
|
});
|
|
61
61
|
const service = new aws_ecs_1.FargateService(this, "Default", {
|
|
62
62
|
cluster: props.cluster,
|
|
63
63
|
taskDefinition,
|
|
64
64
|
serviceName: props.serviceName,
|
|
65
|
-
maxHealthyPercent: (
|
|
66
|
-
minHealthyPercent: (
|
|
65
|
+
maxHealthyPercent: (_j = props.maxHealthyPercent) !== null && _j !== void 0 ? _j : 200,
|
|
66
|
+
minHealthyPercent: (_k = props.minHealthyPercent) !== null && _k !== void 0 ? _k : 100,
|
|
67
67
|
desiredCount,
|
|
68
68
|
circuitBreaker: {
|
|
69
|
-
rollback: (
|
|
69
|
+
rollback: (_l = props.enableRollback) !== null && _l !== void 0 ? _l : true
|
|
70
70
|
},
|
|
71
71
|
deploymentController: {
|
|
72
|
-
type: (
|
|
72
|
+
type: (_m = props.deploymentControllerType) !== null && _m !== void 0 ? _m : aws_ecs_1.DeploymentControllerType.ECS
|
|
73
73
|
},
|
|
74
74
|
vpcSubnets,
|
|
75
|
-
platformVersion: (
|
|
76
|
-
enableExecuteCommand: (
|
|
77
|
-
assignPublicIp: (
|
|
78
|
-
enableECSManagedTags: (
|
|
79
|
-
healthCheckGracePeriod: (
|
|
75
|
+
platformVersion: (_o = props.platformVersion) !== null && _o !== void 0 ? _o : aws_ecs_1.FargatePlatformVersion.LATEST,
|
|
76
|
+
enableExecuteCommand: (_p = props.enableExecuteCommand) !== null && _p !== void 0 ? _p : true,
|
|
77
|
+
assignPublicIp: (_q = props.assignPublicIp) !== null && _q !== void 0 ? _q : false,
|
|
78
|
+
enableECSManagedTags: (_r = props.enableECSManagedTags) !== null && _r !== void 0 ? _r : true,
|
|
79
|
+
healthCheckGracePeriod: (_s = props.healthCheckGracePeriod) !== null && _s !== void 0 ? _s : aws_cdk_lib_1.Duration.seconds(30),
|
|
80
80
|
capacityProviderStrategies,
|
|
81
81
|
securityGroups: [securityGroup]
|
|
82
82
|
});
|
|
83
83
|
const scaling = service.autoScaleTaskCount({
|
|
84
|
-
minCapacity: (
|
|
85
|
-
maxCapacity: (
|
|
84
|
+
minCapacity: (_t = props.minCapacity) !== null && _t !== void 0 ? _t : 1,
|
|
85
|
+
maxCapacity: (_u = props.maxCapacity) !== null && _u !== void 0 ? _u : 2
|
|
86
86
|
});
|
|
87
|
-
const scaleInCooldown = (
|
|
88
|
-
const scaleOutCooldown = (
|
|
87
|
+
const scaleInCooldown = (_v = props.scaleInCooldown) !== null && _v !== void 0 ? _v : aws_cdk_lib_1.Duration.seconds(10);
|
|
88
|
+
const scaleOutCooldown = (_w = props.scaleOutCooldown) !== null && _w !== void 0 ? _w : aws_cdk_lib_1.Duration.seconds(60);
|
|
89
89
|
if (props.scaleCpuTargetUtilizationPercent !== 0) {
|
|
90
90
|
scaling.scaleOnCpuUtilization("CpuScaling", {
|
|
91
91
|
scaleInCooldown,
|
|
92
92
|
scaleOutCooldown,
|
|
93
|
-
targetUtilizationPercent: (
|
|
93
|
+
targetUtilizationPercent: (_x = props.scaleCpuTargetUtilizationPercent) !== null && _x !== void 0 ? _x : 60,
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
if (props.scaleMemoryTargetUtilizationPercent !== undefined) {
|
|
@@ -192,4 +192,4 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
exports.StandardFargateService = StandardFargateService;
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQWE2QjtBQUU3QixpREFBK0U7QUFDL0UsbURBQTZEO0FBQzdELDZDQUFvRDtBQUNwRCxpREFBb0Q7QUFJcEQsMkNBQXNGO0FBQ3RGLDZDQUErQztBQWlRL0M7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQkFBaUI7SUErRDNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUUxRixNQUFNLGNBQWMsR0FBRyxJQUFJLCtCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDakUsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUk7WUFDdEIsY0FBYyxRQUFFLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUk7WUFDNUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxlQUFlLEVBQUU7Z0JBQ2YscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsS0FBSztnQkFDbEQsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFJLHlCQUFlLENBQUMsS0FBSzthQUNoRTtTQUNGLENBQUMsQ0FBQztRQUVILFVBQUksS0FBSyxDQUFDLFVBQVUsbUNBQUksSUFBSSxFQUFFO1lBQzVCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDaEMsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQ3RDLENBQUMsQ0FDSCxDQUFD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cG9ydCB7XG4gIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneSxcbiAgQ29udGFpbmVySW1hZ2UsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlU2VydmljZSxcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVyLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFByb3RvY29sLCBTY2FsYWJsZVRhc2tDb3VudCxcbiAgU2VjcmV0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge0xvZ0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2xvZy1jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1NlY3VyaXR5R3JvdXAsIFN1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7TG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BvbGljeVN0YXRlbWVudH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7QmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtTY2FsaW5nU2NoZWR1bGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHtFeHRlbmRlZENvbnN0cnVjdCwgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcywgU3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuaW1wb3J0IHtMaWJTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi90cnVlbWFya1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBDUFUgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwNDhcbiAgICovXG4gIHJlYWRvbmx5IGNwdT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNDA5NlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGVwaGVtZXJhbCBzdG9yYWdlIGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMFxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZUdpQj86IG51bWJlcjtcblxuICAvKipcbiAgICogQ1BVIGFyY2hpdGVjdHVyZSB0byB1c2UgZm9yIHRoZSB0YXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0XG4gICAqL1xuICByZWFkb25seSBjcHVBcmNoaXRlY3R1cmU/OiBDcHVBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIGNvbnNvbGUgb3IgaW4gdGhlIEFXUyBDTEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ2xvdWRGb3JtYXRpb24tZ2VuZXJhdGVkIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTG9nIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbmZpZ3VyYXRpb24/OiBMb2dDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIFgtUmF5IGZvciB0aGlzIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlWHJheT86IGJvb2xlYW5cblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgYWJpbGl0eSB0byBwdXNoIGN1c3RvbSBtZXRyaWNzIHRvIENsb3VkV2F0Y2ggZnJvbSB0aGUgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVQdWJsaXNoTWV0cmljcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogVGhlIGNsdXN0ZXIgdG8gcGxhY2Ugc2VydmljZXMgaW4uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIGNvbnRhaW5lciBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCA4MDgwXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3J0IGlzIFRDUCBvciBVRFAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFByb3RvY29sLlRDUFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w/OiBQcm90b2NvbDtcblxuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIGRlcGxveSBpbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBpbWFnZTogQ29udGFpbmVySW1hZ2U7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgdG8gcHV0IHRoZSBzZXJ2aWNlIGluLiBJZiB0aGlzIGlzIGxlZnQgZW1wdHksIHN1Ym5ldCB0eXBlIFBSSVZBVEVfV0lUSF9FR1JFU1MgaXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQSBrZXkvdmFsdWUgbWFwIG9mIGxhYmVscyB0byBhZGQgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiBSZWNvcmQ8c3RyaW5nLCBTZWNyZXQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFza3MsIHNwZWNpZmllZCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIEFtYXpvbiBFQ1NcbiAgICogc2VydmljZSdzIERlc2lyZWRDb3VudCB2YWx1ZSwgdGhhdCBjYW4gcnVuIGluIGEgc2VydmljZSBkdXJpbmcgYVxuICAgKiBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4SGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcywgc3BlY2lmaWVkIGFzIGEgcGVyY2VudGFnZSBvZlxuICAgKiB0aGUgQW1hem9uIEVDUyBzZXJ2aWNlJ3MgRGVzaXJlZENvdW50IHZhbHVlLCB0aGF0IG11c3RcbiAgICogY29udGludWUgdG8gcnVuIGFuZCByZW1haW4gaGVhbHRoeSBkdXJpbmcgYSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWluSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSByb2xsYmFjayBvbiBkZXBsb3ltZW50IGZhaWx1cmVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVSb2xsYmFjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBkZXBsb3ltZW50IGNvbnRyb2xsZXIgdG8gdXNlIGZvciB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlcGxveW1lbnRDb250cm9sbGVyVHlwZS5FQ1NcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRDb250cm9sbGVyVHlwZT86IERlcGxveW1lbnRDb250cm9sbGVyVHlwZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBpbnRvIGEgY29udGFpbmVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhdGZvcm0gdmVyc2lvbiBvbiB3aGljaCB0byBydW4geW91ciBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNUXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybVZlcnNpb24/OiBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFzc2lnbiBhIHB1YmxpYyBJUCBhZGRyZXNzIHRvIHRoZSBjb250YWluZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhc3NpZ25QdWJsaWNJcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGVuYWJsZSBBbWF6b24gRUNTIG1hbmFnZWQgdGFncyBmb3IgdGhlIHRhc2tzIHdpdGhpbiB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUVDU01hbmFnZWRUYWdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCBvZiB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IHRoZSBBbWF6b24gRUNTIHNlcnZpY2Ugc2NoZWR1bGVyIGlnbm9yZXMgdW5oZWFsdGh5IEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgdGFyZ2V0IGhlYWx0aCBjaGVja3MgYWZ0ZXIgYSB0YXNrIGhhcyBmaXJzdCBzdGFydGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMzApXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja0dyYWNlUGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIERlc2lyZWQgY291bnQgZm9yIHRoaXMgc2VydmljZS4gSWYgbm90IHNldCwgZGVmYXVsdHMgdG8gbWluQ2FwYWNpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbWluQ2FwYWNpdHlcbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBtaW5DYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyXG4gICAqL1xuICByZWFkb25seSBtYXhDYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgaW4gYWN0aXZpdHkgY29tcGxldGVzIGJlZm9yZSBhbm90aGVyIHNjYWxlIGluIGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFBlcmlvZCBhZnRlciBhIHNjYWxlIG91dCBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgb3V0IGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDYwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZhbHVlIGZvciBDUFUgdXRpbGl6YXRpb24gYWNyb3NzIGFsbCB0YXNrcyBpbiB0aGUgc2VydmljZS5cbiAgICogU2V0IHRoaXMgdG8gMCB0byBkaXNhYmxlIENQVSBzY2FsaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDYwXG4gICAqL1xuICByZWFkb25seSBzY2FsZUNwdVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB2YWx1ZSBmb3IgbWVtb3J5IHV0aWxpemF0aW9uIGFjcm9zcyBhbGwgdGFza3MgaW4gdGhlIHNlcnZpY2UuXG4gICAqIERpc2FibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBzY2FsZU1lbW9yeVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FwYWNpdHkgd2VpZ2h0IGZvciB0aGUgRkFSR0FURSBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5V2VpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdGFza3MgdG8gcnVuIG9uIHRoZSBGQVJHQVRFIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHlCYXNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDYXBhY2l0eSB3ZWlnaHQgZm9yIHRoZSBGQVJHQVRFX1NQT1QgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBzcG90Q2FwYWNpdHlXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcyB0byBydW4gb24gdGhlIEZBUkdBVEVfU1BPVCBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNwb3RDYXBhY2l0eUJhc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBlbmFibGUgb3V0Ym91bmQgSVB2NiBmb3IgdGhlIHNlcnZpY2UuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsSXB2Nk91dGJvdW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBjbGFzcyBmb3IgY3JlYXRpbmcgYSBGYXJnYXRlU2VydmljZS4gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZSBvclxuICogU3RhbmRhcmROZXR3b3JrRmFyZ2F0ZVNlcnZpY2UgaW5zdGVhZCBvZiB0aGlzIGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRGYXJnYXRlU2VydmljZSBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcblxuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogRmFyZ2F0ZVRhc2tEZWZpbml0aW9uO1xuICByZWFkb25seSBsb2dHcm91cD86IExvZ0dyb3VwO1xuICByZWFkb25seSBzZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBzY2FsaW5nOiBTY2FsYWJsZVRhc2tDb3VudDtcbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duOiBEdXJhdGlvbjtcbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bjogRHVyYXRpb247XG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dHcm91cChzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogTG9nR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIFwiTG9nR3JvdXBcIiwge1xuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLkZJVkVfREFZUyxcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5sb2dHcm91cE5hbWUsXG4gICAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuY3J5cHRpb25LZXksXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlTG9nRHJpdmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMsIGxvZ0dyb3VwOiBMb2dHcm91cCB8IHVuZGVmaW5lZCk6XG4gICAgTG9nRHJpdmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICByZXR1cm4gTG9nRHJpdmVyLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHNjb3BlLm5vZGUuaWQsXG4gICAgICAgIGxvZ0dyb3VwXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlVnBjU3VibmV0cyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogU3VibmV0U2VsZWN0aW9uIHtcbiAgICBpZiAocHJvcHMudnBjU3VibmV0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZwY1N1Ym5ldHNcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOlxuICAgIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneVtdIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc3RyYXRlZ2llczogQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gPSBbXTtcbiAgICBpZiAocHJvcHMuY2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLmNhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5jYXBhY2l0eVdlaWdodFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5zcG90Q2FwYWNpdHlCYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIGNhcGFjaXR5UHJvdmlkZXI6IFwiRkFSR0FURV9TUE9UXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UsXG4gICAgICAgIHdlaWdodDogcHJvcHMuc3BvdENhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmF0ZWdpZXMubGVuZ3RoID4gMCA/IHN0cmF0ZWdpZXMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7c3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHMuc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpfSk7XG5cbiAgICBjb25zdCB0YXNrRGVmaW5pdGlvbiA9IG5ldyBGYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBjcHU6IHByb3BzLmNwdSA/PyAyMDQ4LFxuICAgICAgbWVtb3J5TGltaXRNaUI6IHByb3BzLm1lbW9yeUxpbWl0TWlCID8/IDQwOTYsXG4gICAgICBlcGhlbWVyYWxTdG9yYWdlR2lCOiBwcm9wcy5lcGhlbWVyYWxTdG9yYWdlR2lCLFxuICAgICAgcnVudGltZVBsYXRmb3JtOiB7XG4gICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgICBjcHVBcmNoaXRlY3R1cmU6IHByb3BzLmNwdUFyY2hpdGVjdHVyZSA/PyBDcHVBcmNoaXRlY3R1cmUuQVJNNjRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5lbmFibGVYcmF5ID8/IHRydWUpIHtcbiAgICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgYWN0aW9uczogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGEnXSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9nR3JvdXAgPSB0aGlzLnJlc29sdmVMb2dHcm91cCh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgbG9nZ2luZyA9IHRoaXMucmVzb2x2ZUxvZ0RyaXZlcih0aGlzLCBwcm9wcywgbG9nR3JvdXApO1xuICAgIGNvbnN0IHBvcnQgPSBwcm9wcy5wb3J0ID8/IDgwODA7XG4gICAgY29uc3QgcHJvdG9jb2wgPSBwcm9wcy5wcm90b2NvbCA/PyBQcm90b2NvbC5UQ1A7XG5cbiAgICB0YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoXCJDb250YWluZXJcIiwge1xuICAgICAgaW1hZ2U6IHByb3BzLmltYWdlLFxuICAgICAgcG9ydE1hcHBpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250YWluZXJQb3J0OiBwb3J0LFxuICAgICAgICAgIGhvc3RQb3J0OiBwb3J0LFxuICAgICAgICAgIHByb3RvY29sXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBsb2dnaW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICAgICAgZG9ja2VyTGFiZWxzOiBwcm9wcy5kb2NrZXJMYWJlbHMsXG4gICAgICBzZWNyZXRzOiBwcm9wcy5zZWNyZXRzXG4gICAgfSk7XG5cbiAgICAvLyBUT0RPIE90ZWwgQ29sbGVjdG9yXG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gdGhpcy5yZXNvbHZlVnBjU3VibmV0cyh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgZGVzaXJlZENvdW50ID0gcHJvcHMuZGVzaXJlZENvdW50ID8/IHByb3BzLm1pbkNhcGFjaXR5ID8/IDE7XG4gICAgY29uc3QgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMgPSB0aGlzLnJlc29sdmVkQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMocHJvcHMpO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGM6IHByb3BzLmNsdXN0ZXIudnBjLFxuICAgICAgYWxsb3dBbGxJcHY2T3V0Ym91bmQ6IHByb3BzLmFsbG93QWxsSXB2Nk91dGJvdW5kID8/IGZhbHNlLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBGYXJnYXRlU2VydmljZSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3RlcixcbiAgICAgIHRhc2tEZWZpbml0aW9uLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IHByb3BzLm1heEhlYWx0aHlQZXJjZW50ID8/IDIwMCxcbiAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiBwcm9wcy5taW5IZWFsdGh5UGVyY2VudCA/PyAxMDAsXG4gICAgICBkZXNpcmVkQ291bnQsXG4gICAgICBjaXJjdWl0QnJlYWtlcjoge1xuICAgICAgICByb2xsYmFjazogcHJvcHMuZW5hYmxlUm9sbGJhY2sgPz8gdHJ1ZVxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnRDb250cm9sbGVyOiB7XG4gICAgICAgIHR5cGU6IHByb3BzLmRlcGxveW1lbnRDb250cm9sbGVyVHlwZSA/PyBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuRUNTXG4gICAgICB9LFxuICAgICAgdnBjU3VibmV0cyxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogcHJvcHMucGxhdGZvcm1WZXJzaW9uID8/IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNULFxuICAgICAgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ6IHByb3BzLmVuYWJsZUV4ZWN1dGVDb21tYW5kID8/IHRydWUsXG4gICAgICBhc3NpZ25QdWJsaWNJcDogcHJvcHMuYXNzaWduUHVibGljSXAgPz8gZmFsc2UsXG4gICAgICBlbmFibGVFQ1NNYW5hZ2VkVGFnczogcHJvcHMuZW5hYmxlRUNTTWFuYWdlZFRhZ3MgPz8gdHJ1ZSxcbiAgICAgIGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IHByb3BzLmhlYWx0aENoZWNrR3JhY2VQZXJpb2QgPz8gRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbc2VjdXJpdHlHcm91cF1cbiAgICB9KTtcblxuICAgIGNvbnN0IHNjYWxpbmcgPSBzZXJ2aWNlLmF1dG9TY2FsZVRhc2tDb3VudCh7XG4gICAgICBtaW5DYXBhY2l0eTogcHJvcHMubWluQ2FwYWNpdHkgPz8gMSxcbiAgICAgIG1heENhcGFjaXR5OiBwcm9wcy5tYXhDYXBhY2l0eSA/PyAyXG4gICAgfSk7XG4gICAgY29uc3Qgc2NhbGVJbkNvb2xkb3duID0gcHJvcHMuc2NhbGVJbkNvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoMTApO1xuICAgIGNvbnN0IHNjYWxlT3V0Q29vbGRvd24gPSBwcm9wcy5zY2FsZU91dENvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoNjApO1xuXG4gICAgaWYgKHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSAwKSB7XG4gICAgICBzY2FsaW5nLnNjYWxlT25DcHVVdGlsaXphdGlvbihcIkNwdVNjYWxpbmdcIiwge1xuICAgICAgICBzY2FsZUluQ29vbGRvd24sXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd24sXG4gICAgICAgIHRhcmdldFV0aWxpemF0aW9uUGVyY2VudDogcHJvcHMuc2NhbGVDcHVUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgPz8gNjAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc2NhbGVNZW1vcnlUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uTWVtb3J5VXRpbGl6YXRpb24oXCJNZW1vcnlTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgIHRoaXMudGFza0RlZmluaXRpb24gPSB0YXNrRGVmaW5pdGlvbjtcbiAgICB0aGlzLmxvZ0dyb3VwID0gbG9nR3JvdXA7XG4gICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICB0aGlzLnNjYWxpbmcgPSBzY2FsaW5nO1xuICAgIHRoaXMuc2NhbGVJbkNvb2xkb3duID0gc2NhbGVJbkNvb2xkb3duO1xuICAgIHRoaXMuc2NhbGVPdXRDb29sZG93biA9IHNjYWxlT3V0Q29vbGRvd247XG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID0gc2VjdXJpdHlHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGNvbmR1Y3Qgc2NhbGluZyBiYXNlZCBvbiB0cmFja2luZyBjdXN0b20gbWV0cmljcy5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nXG4gICAqIEBwYXJhbSBtZXRyaWMgdGhlIG1ldHJpYyB0byB0cmFja1xuICAgKiBAcGFyYW0gdGFyZ2V0VmFsdWUgdGhlIHRhcmdldCB2YWx1ZVxuICAgKi9cbiAgc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkOiBzdHJpbmcsIG1ldHJpYzogSU1ldHJpYywgIHRhcmdldFZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkLCB7XG4gICAgICBzY2FsZUluQ29vbGRvd246IHRoaXMuc2NhbGVJbkNvb2xkb3duLFxuICAgICAgc2NhbGVPdXRDb29sZG93bjogdGhpcy5zY2FsZU91dENvb2xkb3duLFxuICAgICAgbWV0cmljLFxuICAgICAgdGFyZ2V0VmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBtZXRyaWMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICogQHBhcmFtIHByb3BzIHNjYWxpbmcgcHJvcGVydGllc1xuICAgKi9cbiAgc2NhbGVPbk1ldHJpYyhpZDogc3RyaW5nLCBwcm9wczogQmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlT25NZXRyaWMoaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBzY2hlZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nIHBvbGljeVxuICAgKiBAcGFyYW0gcHJvcHMgc2NhbGluZyBwcm9wZXJ0aWVzXG4gICAqL1xuICBzY2FsZU9uU2NoZWR1bGUoaWQ6IHN0cmluZywgcHJvcHM6IFNjYWxpbmdTY2hlZHVsZSkge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZU9uU2NoZWR1bGUoaWQsIHByb3BzKTtcbiAgfVxufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQWE2QjtBQUU3QixpREFBK0U7QUFDL0UsbURBQTZEO0FBQzdELDZDQUFvRDtBQUNwRCxpREFBb0Q7QUFJcEQsMkNBQXNGO0FBQ3RGLDZDQUErQztBQWlRL0M7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQkFBaUI7SUErRDNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUUxRixNQUFNLGNBQWMsR0FBRyxJQUFJLCtCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDakUsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUk7WUFDdEIsY0FBYyxRQUFFLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUk7WUFDNUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxlQUFlLEVBQUU7Z0JBQ2YscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsS0FBSztnQkFDbEQsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFJLHlCQUFlLENBQUMsS0FBSzthQUNoRTtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDaEMsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQ3RDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7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QUFZO2dCQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDN0IsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUNsRixVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLGNBQWM7Z0JBQ2hDLElBQUksRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUNqQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFnSEQ7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRyxXQUFtQjtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsRUFBRTtZQUN4QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxNQUFNO1lBQ04sV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxFQUFVLEVBQUUsS0FBa0M7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxFQUFVLEVBQUUsS0FBc0I7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQWhORCx3REFnTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneSxcbiAgQ29udGFpbmVySW1hZ2UsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlU2VydmljZSxcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVyLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFByb3RvY29sLCBTY2FsYWJsZVRhc2tDb3VudCxcbiAgU2VjcmV0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge0xvZ0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2xvZy1jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1NlY3VyaXR5R3JvdXAsIFN1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7TG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BvbGljeVN0YXRlbWVudH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7QmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtTY2FsaW5nU2NoZWR1bGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHtFeHRlbmRlZENvbnN0cnVjdCwgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcywgU3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuaW1wb3J0IHtMaWJTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi90cnVlbWFya1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBDUFUgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwNDhcbiAgICovXG4gIHJlYWRvbmx5IGNwdT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNDA5NlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGVwaGVtZXJhbCBzdG9yYWdlIGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMFxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZUdpQj86IG51bWJlcjtcblxuICAvKipcbiAgICogQ1BVIGFyY2hpdGVjdHVyZSB0byB1c2UgZm9yIHRoZSB0YXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0XG4gICAqL1xuICByZWFkb25seSBjcHVBcmNoaXRlY3R1cmU/OiBDcHVBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIGNvbnNvbGUgb3IgaW4gdGhlIEFXUyBDTEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ2xvdWRGb3JtYXRpb24tZ2VuZXJhdGVkIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTG9nIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbmZpZ3VyYXRpb24/OiBMb2dDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBYLVJheSBmb3IgdGhpcyBzZXJ2aWNlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlWHJheT86IGJvb2xlYW5cblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgYWJpbGl0eSB0byBwdXNoIGN1c3RvbSBtZXRyaWNzIHRvIENsb3VkV2F0Y2ggZnJvbSB0aGUgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVQdWJsaXNoTWV0cmljcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogVGhlIGNsdXN0ZXIgdG8gcGxhY2Ugc2VydmljZXMgaW4uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIGNvbnRhaW5lciBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCA4MDgwXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3J0IGlzIFRDUCBvciBVRFAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFByb3RvY29sLlRDUFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w/OiBQcm90b2NvbDtcblxuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIGRlcGxveSBpbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBpbWFnZTogQ29udGFpbmVySW1hZ2U7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgdG8gcHV0IHRoZSBzZXJ2aWNlIGluLiBJZiB0aGlzIGlzIGxlZnQgZW1wdHksIHN1Ym5ldCB0eXBlIFBSSVZBVEVfV0lUSF9FR1JFU1MgaXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQSBrZXkvdmFsdWUgbWFwIG9mIGxhYmVscyB0byBhZGQgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiBSZWNvcmQ8c3RyaW5nLCBTZWNyZXQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFza3MsIHNwZWNpZmllZCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIEFtYXpvbiBFQ1NcbiAgICogc2VydmljZSdzIERlc2lyZWRDb3VudCB2YWx1ZSwgdGhhdCBjYW4gcnVuIGluIGEgc2VydmljZSBkdXJpbmcgYVxuICAgKiBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4SGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcywgc3BlY2lmaWVkIGFzIGEgcGVyY2VudGFnZSBvZlxuICAgKiB0aGUgQW1hem9uIEVDUyBzZXJ2aWNlJ3MgRGVzaXJlZENvdW50IHZhbHVlLCB0aGF0IG11c3RcbiAgICogY29udGludWUgdG8gcnVuIGFuZCByZW1haW4gaGVhbHRoeSBkdXJpbmcgYSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWluSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSByb2xsYmFjayBvbiBkZXBsb3ltZW50IGZhaWx1cmVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVSb2xsYmFjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBkZXBsb3ltZW50IGNvbnRyb2xsZXIgdG8gdXNlIGZvciB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlcGxveW1lbnRDb250cm9sbGVyVHlwZS5FQ1NcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRDb250cm9sbGVyVHlwZT86IERlcGxveW1lbnRDb250cm9sbGVyVHlwZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBpbnRvIGEgY29udGFpbmVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhdGZvcm0gdmVyc2lvbiBvbiB3aGljaCB0byBydW4geW91ciBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNUXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybVZlcnNpb24/OiBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFzc2lnbiBhIHB1YmxpYyBJUCBhZGRyZXNzIHRvIHRoZSBjb250YWluZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhc3NpZ25QdWJsaWNJcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGVuYWJsZSBBbWF6b24gRUNTIG1hbmFnZWQgdGFncyBmb3IgdGhlIHRhc2tzIHdpdGhpbiB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUVDU01hbmFnZWRUYWdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCBvZiB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IHRoZSBBbWF6b24gRUNTIHNlcnZpY2Ugc2NoZWR1bGVyIGlnbm9yZXMgdW5oZWFsdGh5IEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgdGFyZ2V0IGhlYWx0aCBjaGVja3MgYWZ0ZXIgYSB0YXNrIGhhcyBmaXJzdCBzdGFydGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMzApXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja0dyYWNlUGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIERlc2lyZWQgY291bnQgZm9yIHRoaXMgc2VydmljZS4gSWYgbm90IHNldCwgZGVmYXVsdHMgdG8gbWluQ2FwYWNpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbWluQ2FwYWNpdHlcbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBtaW5DYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyXG4gICAqL1xuICByZWFkb25seSBtYXhDYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgaW4gYWN0aXZpdHkgY29tcGxldGVzIGJlZm9yZSBhbm90aGVyIHNjYWxlIGluIGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFBlcmlvZCBhZnRlciBhIHNjYWxlIG91dCBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgb3V0IGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDYwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZhbHVlIGZvciBDUFUgdXRpbGl6YXRpb24gYWNyb3NzIGFsbCB0YXNrcyBpbiB0aGUgc2VydmljZS5cbiAgICogU2V0IHRoaXMgdG8gMCB0byBkaXNhYmxlIENQVSBzY2FsaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDYwXG4gICAqL1xuICByZWFkb25seSBzY2FsZUNwdVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB2YWx1ZSBmb3IgbWVtb3J5IHV0aWxpemF0aW9uIGFjcm9zcyBhbGwgdGFza3MgaW4gdGhlIHNlcnZpY2UuXG4gICAqIERpc2FibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBzY2FsZU1lbW9yeVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FwYWNpdHkgd2VpZ2h0IGZvciB0aGUgRkFSR0FURSBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5V2VpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdGFza3MgdG8gcnVuIG9uIHRoZSBGQVJHQVRFIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHlCYXNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDYXBhY2l0eSB3ZWlnaHQgZm9yIHRoZSBGQVJHQVRFX1NQT1QgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBzcG90Q2FwYWNpdHlXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcyB0byBydW4gb24gdGhlIEZBUkdBVEVfU1BPVCBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNwb3RDYXBhY2l0eUJhc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBlbmFibGUgb3V0Ym91bmQgSVB2NiBmb3IgdGhlIHNlcnZpY2UuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsSXB2Nk91dGJvdW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBjbGFzcyBmb3IgY3JlYXRpbmcgYSBGYXJnYXRlU2VydmljZS4gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZSBvclxuICogU3RhbmRhcmROZXR3b3JrRmFyZ2F0ZVNlcnZpY2UgaW5zdGVhZCBvZiB0aGlzIGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRGYXJnYXRlU2VydmljZSBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcblxuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogRmFyZ2F0ZVRhc2tEZWZpbml0aW9uO1xuICByZWFkb25seSBsb2dHcm91cD86IExvZ0dyb3VwO1xuICByZWFkb25seSBzZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBzY2FsaW5nOiBTY2FsYWJsZVRhc2tDb3VudDtcbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duOiBEdXJhdGlvbjtcbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bjogRHVyYXRpb247XG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dHcm91cChzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogTG9nR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIFwiTG9nR3JvdXBcIiwge1xuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLkZJVkVfREFZUyxcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5sb2dHcm91cE5hbWUsXG4gICAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuY3J5cHRpb25LZXksXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlTG9nRHJpdmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMsIGxvZ0dyb3VwOiBMb2dHcm91cCB8IHVuZGVmaW5lZCk6XG4gICAgTG9nRHJpdmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICByZXR1cm4gTG9nRHJpdmVyLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHNjb3BlLm5vZGUuaWQsXG4gICAgICAgIGxvZ0dyb3VwXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlVnBjU3VibmV0cyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogU3VibmV0U2VsZWN0aW9uIHtcbiAgICBpZiAocHJvcHMudnBjU3VibmV0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZwY1N1Ym5ldHNcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOlxuICAgIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneVtdIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc3RyYXRlZ2llczogQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gPSBbXTtcbiAgICBpZiAocHJvcHMuY2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLmNhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5jYXBhY2l0eVdlaWdodFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5zcG90Q2FwYWNpdHlCYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIGNhcGFjaXR5UHJvdmlkZXI6IFwiRkFSR0FURV9TUE9UXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UsXG4gICAgICAgIHdlaWdodDogcHJvcHMuc3BvdENhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmF0ZWdpZXMubGVuZ3RoID4gMCA/IHN0cmF0ZWdpZXMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7c3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHMuc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpfSk7XG5cbiAgICBjb25zdCB0YXNrRGVmaW5pdGlvbiA9IG5ldyBGYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBjcHU6IHByb3BzLmNwdSA/PyAyMDQ4LFxuICAgICAgbWVtb3J5TGltaXRNaUI6IHByb3BzLm1lbW9yeUxpbWl0TWlCID8/IDQwOTYsXG4gICAgICBlcGhlbWVyYWxTdG9yYWdlR2lCOiBwcm9wcy5lcGhlbWVyYWxTdG9yYWdlR2lCLFxuICAgICAgcnVudGltZVBsYXRmb3JtOiB7XG4gICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgICBjcHVBcmNoaXRlY3R1cmU6IHByb3BzLmNwdUFyY2hpdGVjdHVyZSA/PyBDcHVBcmNoaXRlY3R1cmUuQVJNNjRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghcHJvcHMuZGlzYWJsZVhyYXkpIHtcbiAgICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgYWN0aW9uczogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGEnXSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9nR3JvdXAgPSB0aGlzLnJlc29sdmVMb2dHcm91cCh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgbG9nZ2luZyA9IHRoaXMucmVzb2x2ZUxvZ0RyaXZlcih0aGlzLCBwcm9wcywgbG9nR3JvdXApO1xuICAgIGNvbnN0IHBvcnQgPSBwcm9wcy5wb3J0ID8/IDgwODA7XG4gICAgY29uc3QgcHJvdG9jb2wgPSBwcm9wcy5wcm90b2NvbCA/PyBQcm90b2NvbC5UQ1A7XG5cbiAgICB0YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoXCJDb250YWluZXJcIiwge1xuICAgICAgaW1hZ2U6IHByb3BzLmltYWdlLFxuICAgICAgcG9ydE1hcHBpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250YWluZXJQb3J0OiBwb3J0LFxuICAgICAgICAgIGhvc3RQb3J0OiBwb3J0LFxuICAgICAgICAgIHByb3RvY29sXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBsb2dnaW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICAgICAgZG9ja2VyTGFiZWxzOiBwcm9wcy5kb2NrZXJMYWJlbHMsXG4gICAgICBzZWNyZXRzOiBwcm9wcy5zZWNyZXRzXG4gICAgfSk7XG5cbiAgICAvLyBUT0RPIE90ZWwgQ29sbGVjdG9yXG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gdGhpcy5yZXNvbHZlVnBjU3VibmV0cyh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgZGVzaXJlZENvdW50ID0gcHJvcHMuZGVzaXJlZENvdW50ID8/IHByb3BzLm1pbkNhcGFjaXR5ID8/IDE7XG4gICAgY29uc3QgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMgPSB0aGlzLnJlc29sdmVkQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMocHJvcHMpO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGM6IHByb3BzLmNsdXN0ZXIudnBjLFxuICAgICAgYWxsb3dBbGxJcHY2T3V0Ym91bmQ6IHByb3BzLmFsbG93QWxsSXB2Nk91dGJvdW5kID8/IGZhbHNlLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBGYXJnYXRlU2VydmljZSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3RlcixcbiAgICAgIHRhc2tEZWZpbml0aW9uLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IHByb3BzLm1heEhlYWx0aHlQZXJjZW50ID8/IDIwMCxcbiAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiBwcm9wcy5taW5IZWFsdGh5UGVyY2VudCA/PyAxMDAsXG4gICAgICBkZXNpcmVkQ291bnQsXG4gICAgICBjaXJjdWl0QnJlYWtlcjoge1xuICAgICAgICByb2xsYmFjazogcHJvcHMuZW5hYmxlUm9sbGJhY2sgPz8gdHJ1ZVxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnRDb250cm9sbGVyOiB7XG4gICAgICAgIHR5cGU6IHByb3BzLmRlcGxveW1lbnRDb250cm9sbGVyVHlwZSA/PyBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuRUNTXG4gICAgICB9LFxuICAgICAgdnBjU3VibmV0cyxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogcHJvcHMucGxhdGZvcm1WZXJzaW9uID8/IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNULFxuICAgICAgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ6IHByb3BzLmVuYWJsZUV4ZWN1dGVDb21tYW5kID8/IHRydWUsXG4gICAgICBhc3NpZ25QdWJsaWNJcDogcHJvcHMuYXNzaWduUHVibGljSXAgPz8gZmFsc2UsXG4gICAgICBlbmFibGVFQ1NNYW5hZ2VkVGFnczogcHJvcHMuZW5hYmxlRUNTTWFuYWdlZFRhZ3MgPz8gdHJ1ZSxcbiAgICAgIGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IHByb3BzLmhlYWx0aENoZWNrR3JhY2VQZXJpb2QgPz8gRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbc2VjdXJpdHlHcm91cF1cbiAgICB9KTtcblxuICAgIGNvbnN0IHNjYWxpbmcgPSBzZXJ2aWNlLmF1dG9TY2FsZVRhc2tDb3VudCh7XG4gICAgICBtaW5DYXBhY2l0eTogcHJvcHMubWluQ2FwYWNpdHkgPz8gMSxcbiAgICAgIG1heENhcGFjaXR5OiBwcm9wcy5tYXhDYXBhY2l0eSA/PyAyXG4gICAgfSk7XG4gICAgY29uc3Qgc2NhbGVJbkNvb2xkb3duID0gcHJvcHMuc2NhbGVJbkNvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoMTApO1xuICAgIGNvbnN0IHNjYWxlT3V0Q29vbGRvd24gPSBwcm9wcy5zY2FsZU91dENvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoNjApO1xuXG4gICAgaWYgKHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSAwKSB7XG4gICAgICBzY2FsaW5nLnNjYWxlT25DcHVVdGlsaXphdGlvbihcIkNwdVNjYWxpbmdcIiwge1xuICAgICAgICBzY2FsZUluQ29vbGRvd24sXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd24sXG4gICAgICAgIHRhcmdldFV0aWxpemF0aW9uUGVyY2VudDogcHJvcHMuc2NhbGVDcHVUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgPz8gNjAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc2NhbGVNZW1vcnlUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uTWVtb3J5VXRpbGl6YXRpb24oXCJNZW1vcnlTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgIHRoaXMudGFza0RlZmluaXRpb24gPSB0YXNrRGVmaW5pdGlvbjtcbiAgICB0aGlzLmxvZ0dyb3VwID0gbG9nR3JvdXA7XG4gICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICB0aGlzLnNjYWxpbmcgPSBzY2FsaW5nO1xuICAgIHRoaXMuc2NhbGVJbkNvb2xkb3duID0gc2NhbGVJbkNvb2xkb3duO1xuICAgIHRoaXMuc2NhbGVPdXRDb29sZG93biA9IHNjYWxlT3V0Q29vbGRvd247XG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID0gc2VjdXJpdHlHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGNvbmR1Y3Qgc2NhbGluZyBiYXNlZCBvbiB0cmFja2luZyBjdXN0b20gbWV0cmljcy5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nXG4gICAqIEBwYXJhbSBtZXRyaWMgdGhlIG1ldHJpYyB0byB0cmFja1xuICAgKiBAcGFyYW0gdGFyZ2V0VmFsdWUgdGhlIHRhcmdldCB2YWx1ZVxuICAgKi9cbiAgc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkOiBzdHJpbmcsIG1ldHJpYzogSU1ldHJpYywgIHRhcmdldFZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkLCB7XG4gICAgICBzY2FsZUluQ29vbGRvd246IHRoaXMuc2NhbGVJbkNvb2xkb3duLFxuICAgICAgc2NhbGVPdXRDb29sZG93bjogdGhpcy5zY2FsZU91dENvb2xkb3duLFxuICAgICAgbWV0cmljLFxuICAgICAgdGFyZ2V0VmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBtZXRyaWMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICogQHBhcmFtIHByb3BzIHNjYWxpbmcgcHJvcGVydGllc1xuICAgKi9cbiAgc2NhbGVPbk1ldHJpYyhpZDogc3RyaW5nLCBwcm9wczogQmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlT25NZXRyaWMoaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBzY2hlZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nIHBvbGljeVxuICAgKiBAcGFyYW0gcHJvcHMgc2NhbGluZyBwcm9wZXJ0aWVzXG4gICAqL1xuICBzY2FsZU9uU2NoZWR1bGUoaWQ6IHN0cmluZywgcHJvcHM6IFNjYWxpbmdTY2hlZHVsZSkge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZU9uU2NoZWR1bGUoaWQsIHByb3BzKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "bf2def829a25a44c9c6d5d0a42f35f56a781d466"
|
|
76
76
|
}
|