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
- * Enables X-Ray for this service.
50
+ * Disables X-Ray for this service. Default is false.
51
51
  *
52
- * @default - true
52
+ * @default - false
53
53
  */
54
- readonly enableXray?: boolean;
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, _y;
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 ((_d = props.enableXray) !== null && _d !== void 0 ? _d : true) {
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 = (_e = props.port) !== null && _e !== void 0 ? _e : 8080;
37
- const protocol = (_f = props.protocol) !== null && _f !== void 0 ? _f : aws_ecs_1.Protocol.TCP;
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 = (_h = (_g = props.desiredCount) !== null && _g !== void 0 ? _g : props.minCapacity) !== null && _h !== void 0 ? _h : 1;
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: (_j = props.allowAllIpv6Outbound) !== null && _j !== void 0 ? _j : false,
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: (_k = props.maxHealthyPercent) !== null && _k !== void 0 ? _k : 200,
66
- minHealthyPercent: (_l = props.minHealthyPercent) !== null && _l !== void 0 ? _l : 100,
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: (_m = props.enableRollback) !== null && _m !== void 0 ? _m : true
69
+ rollback: (_l = props.enableRollback) !== null && _l !== void 0 ? _l : true
70
70
  },
71
71
  deploymentController: {
72
- type: (_o = props.deploymentControllerType) !== null && _o !== void 0 ? _o : aws_ecs_1.DeploymentControllerType.ECS
72
+ type: (_m = props.deploymentControllerType) !== null && _m !== void 0 ? _m : aws_ecs_1.DeploymentControllerType.ECS
73
73
  },
74
74
  vpcSubnets,
75
- platformVersion: (_p = props.platformVersion) !== null && _p !== void 0 ? _p : aws_ecs_1.FargatePlatformVersion.LATEST,
76
- enableExecuteCommand: (_q = props.enableExecuteCommand) !== null && _q !== void 0 ? _q : true,
77
- assignPublicIp: (_r = props.assignPublicIp) !== null && _r !== void 0 ? _r : false,
78
- enableECSManagedTags: (_s = props.enableECSManagedTags) !== null && _s !== void 0 ? _s : true,
79
- healthCheckGracePeriod: (_t = props.healthCheckGracePeriod) !== null && _t !== void 0 ? _t : aws_cdk_lib_1.Duration.seconds(30),
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: (_u = props.minCapacity) !== null && _u !== void 0 ? _u : 1,
85
- maxCapacity: (_v = props.maxCapacity) !== null && _v !== void 0 ? _v : 2
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 = (_w = props.scaleInCooldown) !== null && _w !== void 0 ? _w : aws_cdk_lib_1.Duration.seconds(10);
88
- const scaleOutCooldown = (_x = props.scaleOutCooldown) !== null && _x !== void 0 ? _x : aws_cdk_lib_1.Duration.seconds(60);
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: (_y = props.scaleCpuTargetUtilizationPercent) !== null && _y !== void 0 ? _y : 60,
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.6.7-alpha.3+ab95765",
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": "ab95765a6a1d8bfec02db8ae868fab12ba5b9c03"
75
+ "gitHead": "bf2def829a25a44c9c6d5d0a42f35f56a781d466"
76
76
  }