@aws-cdk/aws-autoscaling
Advanced tools
Comparing version 0.10.0 to 0.11.0
@@ -177,3 +177,3 @@ import ec2 = require('@aws-cdk/aws-ec2'); | ||
*/ | ||
addToRolePolicy(statement: cdk.PolicyStatement): void; | ||
addToRolePolicy(statement: iam.PolicyStatement): void; | ||
/** | ||
@@ -180,0 +180,0 @@ * Apply CloudFormation update policies for the AutoScalingGroup |
@@ -39,3 +39,3 @@ "use strict"; | ||
this.role = new iam.Role(this, 'InstanceRole', { | ||
assumedBy: new cdk.ServicePrincipal('ec2.amazonaws.com') | ||
assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com') | ||
}); | ||
@@ -112,3 +112,3 @@ const iamProfile = new iam.cloudformation.InstanceProfileResource(this, 'InstanceProfile', { | ||
targetGroup.registerConnectable(this); | ||
return { targetType: elbv2.TargetType.SelfRegistering }; | ||
return { targetType: elbv2.TargetType.Instance }; | ||
} | ||
@@ -120,3 +120,3 @@ /** | ||
this.targetGroupArns.push(targetGroup.targetGroupArn); | ||
return { targetType: elbv2.TargetType.SelfRegistering }; | ||
return { targetType: elbv2.TargetType.Instance }; | ||
} | ||
@@ -273,2 +273,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zY2FsaW5nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0by1zY2FsaW5nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLDZEQUE4RDtBQUM5RCx3Q0FBeUM7QUFFekMsb0NBQXFDO0FBRXJDLG1FQUF5RDtBQUV6RDs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFXLE1BQU0sQ0FBQztBQThIaEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUE2QmpELFlBQVksTUFBcUIsRUFBRSxJQUFZLEVBQUUsS0FBNEI7UUFDM0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJMLGtCQUFhLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUdwQyxtQkFBYyxHQUEyQixFQUFFLENBQUM7UUFDNUMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBSzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFF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WyJpbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGVsYiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZycpO1xuaW1wb3J0IGVsYnYyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInKTtcbmltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQgc25zID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLXNucycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuXG5pbXBvcnQgeyBjbG91ZGZvcm1hdGlvbiB9IGZyb20gJy4vYXV0b3NjYWxpbmcuZ2VuZXJhdGVkJztcblxuLyoqXG4gKiBOYW1lIHRhZyBjb25zdGFudFxuICovXG5jb25zdCBOQU1FX1RBRzogc3RyaW5nID0gJ05hbWUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBGbGVldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TY2FsaW5nR3JvdXBQcm9wcyB7XG4gIC8qKlxuICAgKiBUeXBlIG9mIGluc3RhbmNlIHRvIGxhdW5jaFxuICAgKi9cbiAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgaW4gdGhlIGZsZWV0XG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1pblNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIGluc3RhbmNlcyBpbiB0aGUgZmxlZXRcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWF4U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogSW5pdGlhbCBhbW91bnQgb2YgaW5zdGFuY2VzIGluIHRoZSBmbGVldFxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBkZXNpcmVkQ2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgU1NIIGtleXBhaXIgdG8gZ3JhbnQgYWNjZXNzIHRvIGluc3RhbmNlc1xuICAgKiBAZGVmYXVsdCBObyBTU0ggYWNjZXNzIHdpbGwgYmUgcG9zc2libGVcbiAgICovXG4gIGtleU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFNSSB0byBsYXVuY2hcbiAgICovXG4gIG1hY2hpbmVJbWFnZTogZWMyLklNYWNoaW5lSW1hZ2VTb3VyY2U7XG5cbiAgLyoqXG4gICAqIFZQQyB0byBsYXVuY2ggdGhlc2UgaW5zdGFuY2VzIGluLlxuICAgKi9cbiAgdnBjOiBlYzIuVnBjTmV0d29ya1JlZjtcblxuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgaW5zdGFuY2VzIHdpdGhpbiB0aGUgVlBDXG4gICAqL1xuICB2cGNQbGFjZW1lbnQ/OiBlYzIuVnBjUGxhY2VtZW50U3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgYWJvdXQgZmxlZXQgY2hhbmdlc1xuICAgKiBAZGVmYXVsdCBObyBmbGVldCBjaGFuZ2Ugbm90aWZpY2F0aW9ucyB3aWxsIGJlIHNlbnQuXG4gICAqL1xuICBub3RpZmljYXRpb25zVG9waWM/OiBzbnMuVG9waWNSZWY7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGluc3RhbmNlcyBjYW4gaW5pdGlhdGUgY29ubmVjdGlvbnMgdG8gYW55d2hlcmUgYnkgZGVmYXVsdFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhbGxvd0FsbE91dGJvdW5kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hhdCB0byBkbyB3aGVuIGFuIEF1dG9TY2FsaW5nR3JvdXAncyBpbnN0YW5jZSBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWRcbiAgICpcbiAgICogVGhpcyBpcyBhcHBsaWVkIHdoZW4gYW55IG9mIHRoZSBzZXR0aW5ncyBvbiB0aGUgQVNHIGFyZSBjaGFuZ2VkIHRoYXRcbiAgICogYWZmZWN0IGhvdyB0aGUgaW5zdGFuY2VzIHNob3VsZCBiZSBjcmVhdGVkIChWUEMsIGluc3RhbmNlIHR5cGUsIHN0YXJ0dXBcbiAgICogc2NyaXB0cywgZXRjLikuIEl0IGluZGljYXRlcyBob3cgdGhlIGV4aXN0aW5nIGluc3RhbmNlcyBzaG91bGQgYmVcbiAgICogcmVwbGFjZWQgd2l0aCBuZXcgaW5zdGFuY2VzIG1hdGNoaW5nIHRoZSBuZXcgY29uZmlnLiBCeSBkZWZhdWx0LCBub3RoaW5nXG4gICAqIGlzIGRvbmUgYW5kIG9ubHkgbmV3IGluc3RhbmNlcyBhcmUgbGF1bmNoZWQgd2l0aCB0aGUgbmV3IGNvbmZpZy5cbiAgICpcbiAgICogQGRlZmF1bHQgVXBkYXRlVHlwZS5Ob25lXG4gICAqL1xuICB1cGRhdGVUeXBlPzogVXBkYXRlVHlwZTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3Igcm9sbGluZyB1cGRhdGVzXG4gICAqXG4gICAqIE9ubHkgdXNlZCBpZiB1cGRhdGVUeXBlID09IFVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZS5cbiAgICovXG4gIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uPzogUm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHJlcGxhY2luZyB1cGRhdGVzLlxuICAgKlxuICAgKiBPbmx5IHVzZWQgaWYgdXBkYXRlVHlwZSA9PSBVcGRhdGVUeXBlLlJlcGxhY2luZ1VwZGF0ZS4gU3BlY2lmaWVzIGhvd1xuICAgKiBtYW55IGluc3RhbmNlcyBtdXN0IHNpZ25hbCBzdWNjZXNzIGZvciB0aGUgdXBkYXRlIHRvIHN1Y2NlZWQuXG4gICAqL1xuICByZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgdGhlIEFTRyBoYXMgc2NoZWR1bGVkIGFjdGlvbnMsIGRvbid0IHJlc2V0IHVuY2hhbmdlZCBncm91cCBzaXplc1xuICAgKlxuICAgKiBPbmx5IHVzZWQgaWYgdGhlIEFTRyBoYXMgc2NoZWR1bGVkIGFjdGlvbnMgKHdoaWNoIG1heSBzY2FsZSB5b3VyIEFTRyB1cFxuICAgKiBvciBkb3duIHJlZ2FyZGxlc3Mgb2YgY2RrIGRlcGxveW1lbnRzKS4gSWYgdHJ1ZSwgdGhlIHNpemUgb2YgdGhlIGdyb3VwXG4gICAqIHdpbGwgb25seSBiZSByZXNldCBpZiBpdCBoYXMgYmVlbiBjaGFuZ2VkIGluIHRoZSBDREsgYXBwLiBJZiBmYWxzZSwgdGhlXG4gICAqIHNpemVzIHdpbGwgYWx3YXlzIGJlIGNoYW5nZWQgYmFjayB0byB3aGF0IHRoZXkgd2VyZSBpbiB0aGUgQ0RLIGFwcFxuICAgKiBvbiBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBpZ25vcmVVbm1vZGlmaWVkU2l6ZVByb3BlcnRpZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBSZXNvdXJjZVNpZ25hbCBjYWxscyBDbG91ZEZvcm1hdGlvbiBleHBlY3RzIGJlZm9yZSB0aGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBjcmVhdGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlc291cmNlU2lnbmFsQ291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSB0byB3YWl0IGZvciB0aGUgcmVzb3VyY2VTaWduYWxDb3VudFxuICAgKlxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBpcyA0MzIwMCAoMTIgaG91cnMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAzMDAgKDUgbWludXRlcylcbiAgICovXG4gIHJlc291cmNlU2lnbmFsVGltZW91dFNlYz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIEFXUyByZXNvdXJjZSB0YWdzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBBU0cuXG4gICAqL1xuICB0YWdzPzogY2RrLlRhZ3M7XG59XG5cbi8qKlxuICogQSBGbGVldCByZXByZXNlbnRzIGEgbWFuYWdlZCBzZXQgb2YgRUMyIGluc3RhbmNlc1xuICpcbiAqIFRoZSBGbGVldCBtb2RlbHMgYSBudW1iZXIgb2YgQXV0b1NjYWxpbmdHcm91cHMsIGEgbGF1bmNoIGNvbmZpZ3VyYXRpb24sIGFcbiAqIHNlY3VyaXR5IGdyb3VwIGFuZCBhbiBpbnN0YW5jZSByb2xlLlxuICpcbiAqIEl0IGFsbG93cyBhZGRpbmcgYXJiaXRyYXJ5IGNvbW1hbmRzIHRvIHRoZSBzdGFydHVwIHNjcmlwdHMgb2YgdGhlIGluc3RhbmNlc1xuICogaW4gdGhlIGZsZWV0LlxuICpcbiAqIFRoZSBBU0cgc3BhbnMgYWxsIGF2YWlsYWJpbGl0eSB6b25lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF1dG9TY2FsaW5nR3JvdXAgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgY2RrLklUYWdnYWJsZSwgZWxiLklMb2FkQmFsYW5jZXJUYXJnZXQsIGVjMi5JQ29ubmVjdGFibGUsXG4gIGVsYnYyLklBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCwgZWxidjIuSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXQge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgT1MgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQgYXJlIHJ1bm5pbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3NUeXBlOiBlYzIuT3BlcmF0aW5nU3lzdGVtVHlwZTtcblxuICAvKipcbiAgICogQWxsb3dzIHNwZWNpZnkgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5Sb2xlO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGFncyBmb3IgdGhpcyBjb25zdHJ1Y3QgYW5kIGNoaWxkcmVuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFnczogY2RrLlRhZ01hbmFnZXI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyRGF0YUxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRvU2NhbGluZ0dyb3VwOiBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogZWMyLlNlY3VyaXR5R3JvdXBSZWY7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IGVjMi5TZWN1cml0eUdyb3VwUmVmW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRHcm91cEFybnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBBdXRvU2NhbGluZ0dyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdJbnN0YW5jZVNlY3VyaXR5R3JvdXAnLCB7IHZwYzogcHJvcHMudnBjIH0pO1xuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBuZXcgZWMyLkNvbm5lY3Rpb25zKHsgc2VjdXJpdHlHcm91cDogdGhpcy5zZWN1cml0eUdyb3VwIH0pO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cHMucHVzaCh0aGlzLnNlY3VyaXR5R3JvdXApO1xuICAgIHRoaXMudGFncyA9IG5ldyBUYWdNYW5hZ2VyKHRoaXMsIHtpbml0aWFsVGFnczogcHJvcHMudGFnc30pO1xuICAgIHRoaXMudGFncy5zZXRUYWcoTkFNRV9UQUcsIHRoaXMucGF0aCwgeyBvdmVyd3JpdGU6IGZhbHNlIH0pO1xuXG4gICAgaWYgKHByb3BzLmFsbG93QWxsT3V0Ym91bmQgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25zLmFsbG93VG8obmV3IGVjMi5BbnlJUHY0KCksIG5ldyBlYzIuQWxsQ29ubmVjdGlvbnMoKSwgJ091dGJvdW5kIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJbnN0YW5jZVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKVxuICAgIH0pO1xuXG4gICAgY29uc3QgaWFtUHJvZmlsZSA9IG5ldyBpYW0uY2xvdWRmb3JtYXRpb24uSW5zdGFuY2VQcm9maWxlUmVzb3VyY2UodGhpcywgJ0luc3RhbmNlUHJvZmlsZScsIHtcbiAgICAgIHJvbGVzOiBbIHRoaXMucm9sZS5yb2xlTmFtZSBdXG4gICAgfSk7XG5cbiAgICAvLyB1c2UgZGVsYXllZCBldmFsdWF0aW9uXG4gICAgY29uc3QgbWFjaGluZUltYWdlID0gcHJvcHMubWFjaGluZUltYWdlLmdldEltYWdlKHRoaXMpO1xuICAgIGNvbnN0IHVzZXJEYXRhVG9rZW4gPSBuZXcgY2RrLlRva2VuKCgpID0+IG5ldyBjZGsuRm5CYXNlNjQoKG1hY2hpbmVJbWFnZS5vcy5jcmVhdGVVc2VyRGF0YSh0aGlzLnVzZXJEYXRhTGluZXMpKSkpO1xuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXBzVG9rZW4gPSBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMuc2VjdXJpdHlHcm91cHMubWFwKHNnID0+IHNnLnNlY3VyaXR5R3JvdXBJZCkpO1xuXG4gICAgY29uc3QgbGF1bmNoQ29uZmlnID0gbmV3IGNsb3VkZm9ybWF0aW9uLkxhdW5jaENvbmZpZ3VyYXRpb25SZXNvdXJjZSh0aGlzLCAnTGF1bmNoQ29uZmlnJywge1xuICAgICAgaW1hZ2VJZDogbWFjaGluZUltYWdlLmltYWdlSWQsXG4gICAgICBrZXlOYW1lOiBwcm9wcy5rZXlOYW1lLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUudG9TdHJpbmcoKSxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3Vwc1Rva2VuLFxuICAgICAgaWFtSW5zdGFuY2VQcm9maWxlOiBpYW1Qcm9maWxlLnJlZixcbiAgICAgIHVzZXJEYXRhOiB1c2VyRGF0YVRva2VuXG4gICAgfSk7XG5cbiAgICBsYXVuY2hDb25maWcuYWRkRGVwZW5kZW5jeSh0aGlzLnJvbGUpO1xuXG4gICAgY29uc3QgbWluU2l6ZSA9IHByb3BzLm1pblNpemUgfHwgMTtcbiAgICBjb25zdCBtYXhTaXplID0gcHJvcHMubWF4U2l6ZSB8fCAxO1xuICAgIGNvbnN0IGRlc2lyZWRDYXBhY2l0eSA9IHByb3BzLmRlc2lyZWRDYXBhY2l0eSB8fCAxO1xuXG4gICAgaWYgKGRlc2lyZWRDYXBhY2l0eSA8IG1pblNpemUgfHwgZGVzaXJlZENhcGFjaXR5ID4gbWF4U2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTaG91bGQgaGF2ZSBtaW5TaXplICgke21pblNpemV9KSA8PSBkZXNpcmVkQ2FwYWNpdHkgKCR7ZGVzaXJlZENhcGFjaXR5fSkgPD0gbWF4U2l6ZSAoJHttYXhTaXplfSlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhc2dQcm9wczogY2xvdWRmb3JtYXRpb24uQXV0b1NjYWxpbmdHcm91cFJlc291cmNlUHJvcHMgPSB7XG4gICAgICBtaW5TaXplOiBtaW5TaXplLnRvU3RyaW5nKCksXG4gICAgICBtYXhTaXplOiBtYXhTaXplLnRvU3RyaW5nKCksXG4gICAgICBkZXNpcmVkQ2FwYWNpdHk6IGRlc2lyZWRDYXBhY2l0eS50b1N0cmluZygpLFxuICAgICAgbGF1bmNoQ29uZmlndXJhdGlvbk5hbWU6IGxhdW5jaENvbmZpZy5yZWYsXG4gICAgICBsb2FkQmFsYW5jZXJOYW1lczogbmV3IGNkay5Ub2tlbigoKSA9PiB0aGlzLmxvYWRCYWxhbmNlck5hbWVzLmxlbmd0aCA+IDAgPyB0aGlzLmxvYWRCYWxhbmNlck5hbWVzIDogdW5kZWZpbmVkKSxcbiAgICAgIHRhcmdldEdyb3VwQXJuczogbmV3IGNkay5Ub2tlbigoKSA9PiB0aGlzLnRhcmdldEdyb3VwQXJucy5sZW5ndGggPiAwID8gdGhpcy50YXJnZXRHcm91cEFybnMgOiB1bmRlZmluZWQpLFxuICAgICAgdGFnczogdGhpcy50YWdzLFxuICAgIH07XG5cbiAgICBpZiAocHJvcHMubm90aWZpY2F0aW9uc1RvcGljKSB7XG4gICAgICBhc2dQcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9ucyA9IFtdO1xuICAgICAgYXNnUHJvcHMubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMucHVzaCh7XG4gICAgICAgIHRvcGljQXJuOiBwcm9wcy5ub3RpZmljYXRpb25zVG9waWMudG9waWNBcm4sXG4gICAgICAgIG5vdGlmaWNhdGlvblR5cGVzOiBbXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfTEFVTkNIXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfTEFVTkNIX0VSUk9SXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFX0VSUk9SXCJcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym5ldHMgPSBwcm9wcy52cGMuc3VibmV0cyhwcm9wcy52cGNQbGFjZW1lbnQpO1xuICAgIGFzZ1Byb3BzLnZwY1pvbmVJZGVudGlmaWVyID0gc3VibmV0cy5tYXAobiA9PiBuLnN1Ym5ldElkKTtcblxuICAgIHRoaXMuYXV0b1NjYWxpbmdHcm91cCA9IG5ldyBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2UodGhpcywgJ0FTRycsIGFzZ1Byb3BzKTtcbiAgICB0aGlzLm9zVHlwZSA9IG1hY2hpbmVJbWFnZS5vcy50eXBlO1xuXG4gICAgdGhpcy5hcHBseVVwZGF0ZVBvbGljaWVzKHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIHNlY3VyaXR5IGdyb3VwIHRvIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBsYXVuY2ggY29uZmlndXJhdGlvblxuICAgKiBzZWN1cml0eSBncm91cHMgYXJyYXkuXG4gICAqXG4gICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwOiBUaGUgU2VjdXJpdHlHcm91cFJlZiB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXA6IGVjMi5TZWN1cml0eUdyb3VwUmVmKTogdm9pZCB7XG4gICAgdGhpcy5zZWN1cml0eUdyb3Vwcy5wdXNoKHNlY3VyaXR5R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCB0byBhIGNsYXNzaWMgbG9hZCBiYWxhbmNlclxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQ2xhc3NpY0xCKGxvYWRCYWxhbmNlcjogZWxiLkxvYWRCYWxhbmNlcik6IHZvaWQge1xuICAgIHRoaXMubG9hZEJhbGFuY2VyTmFtZXMucHVzaChsb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIHRvIEVMQnYyIEFwcGxpY2F0aW9uIFRhcmdldCBHcm91cFxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cCh0YXJnZXRHcm91cDogZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cCk6IGVsYnYyLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICB0aGlzLnRhcmdldEdyb3VwQXJucy5wdXNoKHRhcmdldEdyb3VwLnRhcmdldEdyb3VwQXJuKTtcbiAgICB0YXJnZXRHcm91cC5yZWdpc3RlckNvbm5lY3RhYmxlKHRoaXMpO1xuICAgIHJldHVybiB7IHRhcmdldFR5cGU6IGVsYnYyLlRhcmdldFR5cGUuU2VsZlJlZ2lzdGVyaW5nIH07XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIHRvIEVMQnYyIEFwcGxpY2F0aW9uIFRhcmdldCBHcm91cFxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvTmV0d29ya1RhcmdldEdyb3VwKHRhcmdldEdyb3VwOiBlbGJ2Mi5OZXR3b3JrVGFyZ2V0R3JvdXApOiBlbGJ2Mi5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgdGhpcy50YXJnZXRHcm91cEFybnMucHVzaCh0YXJnZXRHcm91cC50YXJnZXRHcm91cEFybik7XG4gICAgcmV0dXJuIHsgdGFyZ2V0VHlwZTogZWxidjIuVGFyZ2V0VHlwZS5TZWxmUmVnaXN0ZXJpbmcgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY29tbWFuZCB0byB0aGUgc3RhcnR1cCBzY3JpcHQgb2YgZmxlZXQgaW5zdGFuY2VzLlxuICAgKiBUaGUgY29tbWFuZCBtdXN0IGJlIGluIHRoZSBzY3JpcHRpbmcgbGFuZ3VhZ2Ugc3VwcG9ydGVkIGJ5IHRoZSBmbGVldCdzIE9TIChpLmUuIExpbnV4L1dpbmRvd3MpLlxuICAgKi9cbiAgcHVibGljIGFkZFVzZXJEYXRhKC4uLnNjcmlwdExpbmVzOiBzdHJpbmdbXSkge1xuICAgIHNjcmlwdExpbmVzLmZvckVhY2goc2NyaXB0TGluZSA9PiB0aGlzLnVzZXJEYXRhTGluZXMucHVzaChzY3JpcHRMaW5lKSk7XG4gIH1cblxuICBwdWJsaWMgYXV0b1NjYWxpbmdHcm91cE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0b1NjYWxpbmdHcm91cC5yZWY7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJvbGUgYXNzdW1lZCBieSBpbnN0YW5jZXMgb2YgdGhpcyBmbGVldC5cbiAgICovXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBjZGsuUG9saWN5U3RhdGVtZW50KSB7XG4gICAgdGhpcy5yb2xlLmFkZFRvUG9saWN5KHN0YXRlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgQ2xvdWRGb3JtYXRpb24gdXBkYXRlIHBvbGljaWVzIGZvciB0aGUgQXV0b1NjYWxpbmdHcm91cFxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVVwZGF0ZVBvbGljaWVzKHByb3BzOiBBdXRvU2NhbGluZ0dyb3VwUHJvcHMpIHtcbiAgICBpZiAocHJvcHMudXBkYXRlVHlwZSA9PT0gVXBkYXRlVHlwZS5SZXBsYWNpbmdVcGRhdGUpIHtcbiAgICAgIHRoaXMuYXNnVXBkYXRlUG9saWN5LmF1dG9TY2FsaW5nUmVwbGFjaW5nVXBkYXRlID0geyB3aWxsUmVwbGFjZTogdHJ1ZSB9O1xuXG4gICAgICBpZiAocHJvcHMucmVwbGFjaW5nVXBkYXRlTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBZZXMsIHRoaXMgZ29lcyBvbiBDcmVhdGlvblBvbGljeSwgbm90IGFzIGEgcHJvY2VzcyBwYXJhbWV0ZXIgdG8gUmVwbGFjaW5nVXBkYXRlLlxuICAgICAgICAvLyBJdCdzIGEgbGl0dGxlIGNvbmZ1c2luZywgYnV0IHRoZSBkb2NzIHNlZW0gdG8gZXhwbGljaXRseSBzdGF0ZSBpdCB3aWxsIG9ubHkgYmUgdXNlZFxuICAgICAgICAvLyBkdXJpbmcgdGhlIHVwZGF0ZT9cbiAgICAgICAgLy9cbiAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLWF0dHJpYnV0ZS1jcmVhdGlvbnBvbGljeS5odG1sXG4gICAgICAgIHRoaXMuYXNnQ3JlYXRpb25Qb2xpY3kuYXV0b1NjYWxpbmdDcmVhdGlvblBvbGljeSA9IHtcbiAgICAgICAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogdmFsaWRhdGVQZXJjZW50YWdlKHByb3BzLnJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50KVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcHMudXBkYXRlVHlwZSA9PT0gVXBkYXRlVHlwZS5Sb2xsaW5nVXBkYXRlKSB7XG4gICAgICB0aGlzLmFzZ1VwZGF0ZVBvbGljeS5hdXRvU2NhbGluZ1JvbGxpbmdVcGRhdGUgPSByZW5kZXJSb2xsaW5nVXBkYXRlQ29uZmlnKHByb3BzLnJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICAvLyB1bmRlZmluZWQgaXMgdHJlYXRlZCBhcyAndHJ1ZSdcbiAgICBpZiAocHJvcHMuaWdub3JlVW5tb2RpZmllZFNpemVQcm9wZXJ0aWVzICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5hc2dVcGRhdGVQb2xpY3kuYXV0b1NjYWxpbmdTY2hlZHVsZWRBY3Rpb24gPSB7IGlnbm9yZVVubW9kaWZpZWRHcm91cFNpemVQcm9wZXJ0aWVzOiB0cnVlIH07XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnJlc291cmNlU2lnbmFsQ291bnQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5yZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hc2dDcmVhdGlvblBvbGljeS5yZXNvdXJjZVNpZ25hbCA9IHtcbiAgICAgICAgY291bnQ6IHByb3BzLnJlc291cmNlU2lnbmFsQ291bnQsXG4gICAgICAgIHRpbWVvdXQ6IHByb3BzLnJlc291cmNlU2lnbmFsVGltZW91dFNlYyAhPT0gdW5kZWZpbmVkID8gcmVuZGVySXNvRHVyYXRpb24ocHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0U2VjKSA6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbmQgcmV0dXJuIHRoZSBBU0cgdXBkYXRlIHBvbGljeVxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgYXNnVXBkYXRlUG9saWN5KCkge1xuICAgIGlmICh0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy51cGRhdGVQb2xpY3kgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMudXBkYXRlUG9saWN5ID0ge307XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy51cGRhdGVQb2xpY3k7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuZCByZXR1cm4gdGhlIEFTRyBjcmVhdGlvbiBwb2xpY3lcbiAgICovXG4gIHByaXZhdGUgZ2V0IGFzZ0NyZWF0aW9uUG9saWN5KCkge1xuICAgIGlmICh0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy5jcmVhdGlvblBvbGljeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy5jcmVhdGlvblBvbGljeSA9IHt9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3k7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgdHlwZSBvZiB1cGRhdGUgdG8gcGVyZm9ybSBvbiBpbnN0YW5jZXMgaW4gdGhpcyBBdXRvU2NhbGluZ0dyb3VwXG4gKi9cbmV4cG9ydCBlbnVtIFVwZGF0ZVR5cGUge1xuICAvKipcbiAgICogRG9uJ3QgZG8gYW55dGhpbmdcbiAgICovXG4gIE5vbmUgPSAnTm9uZScsXG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgdGhlIGVudGlyZSBBdXRvU2NhbGluZ0dyb3VwXG4gICAqXG4gICAqIEJ1aWxkcyBhIG5ldyBBdXRvU2NhbGluZ0dyb3VwIGZpcnN0LCB0aGVuIGRlbGV0ZSB0aGUgb2xkIG9uZS5cbiAgICovXG4gIFJlcGxhY2luZ1VwZGF0ZSA9ICdSZXBsYWNlJyxcblxuICAvKipcbiAgICogUmVwbGFjZSB0aGUgaW5zdGFuY2VzIGluIHRoZSBBdXRvU2NhbGluZ0dyb3VwLlxuICAgKi9cbiAgUm9sbGluZ1VwZGF0ZSA9ICdSb2xsaW5nVXBkYXRlJyxcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIHNldHRpbmdzIHdoZW4gYSByb2xsaW5nIHVwZGF0ZSBpcyBzZWxlY3RlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBBV1MgQ2xvdWRGb3JtYXRpb24gdXBkYXRlcyBhdCBvbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBtYXhCYXRjaFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBtdXN0IGJlIGluIHNlcnZpY2UgYmVmb3JlIG1vcmUgaW5zdGFuY2VzIGFyZSByZXBsYWNlZC5cbiAgICpcbiAgICogVGhpcyBudW1iZXIgYWZmZWN0cyB0aGUgc3BlZWQgb2YgdGhlIHJlcGxhY2VtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBtaW5JbnN0YW5jZXNJblNlcnZpY2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJjZW50YWdlIG9mIGluc3RhbmNlcyB0aGF0IG11c3Qgc2lnbmFsIHN1Y2Nlc3MgZm9yIGFuIHVwZGF0ZSB0byBzdWNjZWVkLlxuICAgKlxuICAgKiBJZiBhbiBpbnN0YW5jZSBkb2Vzbid0IHNlbmQgYSBzaWduYWwgd2l0aGluIHRoZSB0aW1lIHNwZWNpZmllZCBpbiB0aGVcbiAgICogcGF1c2VUaW1lIHByb3BlcnR5LCBBV1MgQ2xvdWRGb3JtYXRpb24gYXNzdW1lcyB0aGF0IHRoZSBpbnN0YW5jZSB3YXNuJ3RcbiAgICogdXBkYXRlZC5cbiAgICpcbiAgICogVGhpcyBudW1iZXIgYWZmZWN0cyB0aGUgc3VjY2VzcyBvZiB0aGUgcmVwbGFjZW1lbnQuXG4gICAqXG4gICAqIElmIHlvdSBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIHlvdSBtdXN0IGFsc28gZW5hYmxlIHRoZVxuICAgKiB3YWl0T25SZXNvdXJjZVNpZ25hbHMgYW5kIHBhdXNlVGltZSBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMDBcbiAgICovXG4gIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF1c2UgdGltZSBhZnRlciBtYWtpbmcgYSBjaGFuZ2UgdG8gYSBiYXRjaCBvZiBpbnN0YW5jZXMuXG4gICAqXG4gICAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gZ2l2ZSB0aG9zZSBpbnN0YW5jZXMgdGltZSB0byBzdGFydCBzb2Z0d2FyZSBhcHBsaWNhdGlvbnMuXG4gICAqXG4gICAqIFNwZWNpZnkgUGF1c2VUaW1lIGluIHRoZSBJU084NjAxIGR1cmF0aW9uIGZvcm1hdCAoaW4gdGhlIGZvcm1hdFxuICAgKiBQVCNII00jUywgd2hlcmUgZWFjaCAjIGlzIHRoZSBudW1iZXIgb2YgaG91cnMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLFxuICAgKiByZXNwZWN0aXZlbHkpLiBUaGUgbWF4aW11bSBQYXVzZVRpbWUgaXMgb25lIGhvdXIgKFBUMUgpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAzMDAgaWYgdGhlIHdhaXRPblJlc291cmNlU2lnbmFscyBwcm9wZXJ0eSBpcyB0cnVlLCBvdGhlcndpc2UgMFxuICAgKi9cbiAgcGF1c2VUaW1lU2VjPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgQXV0byBTY2FsaW5nIGdyb3VwIHdhaXRzIG9uIHNpZ25hbHMgZnJvbSBuZXcgaW5zdGFuY2VzIGR1cmluZyBhbiB1cGRhdGUuXG4gICAqXG4gICAqIEFXUyBDbG91ZEZvcm1hdGlvbiBtdXN0IHJlY2VpdmUgYSBzaWduYWwgZnJvbSBlYWNoIG5ldyBpbnN0YW5jZSB3aXRoaW5cbiAgICogdGhlIHNwZWNpZmllZCBQYXVzZVRpbWUgYmVmb3JlIGNvbnRpbnVpbmcgdGhlIHVwZGF0ZS5cbiAgICpcbiAgICogVG8gaGF2ZSBpbnN0YW5jZXMgd2FpdCBmb3IgYW4gRWxhc3RpYyBMb2FkIEJhbGFuY2luZyBoZWFsdGggY2hlY2sgYmVmb3JlXG4gICAqIHRoZXkgc2lnbmFsIHN1Y2Nlc3MsIGFkZCBhIGhlYWx0aC1jaGVjayB2ZXJpZmljYXRpb24gYnkgdXNpbmcgdGhlXG4gICAqIGNmbi1pbml0IGhlbHBlciBzY3JpcHQuIEZvciBhbiBleGFtcGxlLCBzZWUgdGhlIHZlcmlmeV9pbnN0YW5jZV9oZWFsdGhcbiAgICogY29tbWFuZCBpbiB0aGUgQXV0byBTY2FsaW5nIHJvbGxpbmcgdXBkYXRlcyBzYW1wbGUgdGVtcGxhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWUgaWYgeW91IHNwZWNpZmllZCB0aGUgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQgcHJvcGVydHksIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgd2FpdE9uUmVzb3VyY2VTaWduYWxzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBBdXRvIFNjYWxpbmcgcHJvY2Vzc2VzIHRvIHN1c3BlbmQgZHVyaW5nIGEgc3RhY2sgdXBkYXRlLlxuICAgKlxuICAgKiBTdXNwZW5kaW5nIHByb2Nlc3NlcyBwcmV2ZW50cyBBdXRvIFNjYWxpbmcgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGEgc3RhY2tcbiAgICogdXBkYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBIZWFsdGhDaGVjaywgUmVwbGFjZVVuaGVhbHRoeSwgQVpSZWJhbGFuY2UsIEFsYXJtTm90aWZpY2F0aW9uLCBTY2hlZHVsZWRBY3Rpb25zLlxuICAgKi9cbiAgc3VzcGVuZFByb2Nlc3Nlcz86IFNjYWxpbmdQcm9jZXNzW107XG59XG5cbmV4cG9ydCBlbnVtIFNjYWxpbmdQcm9jZXNzIHtcbiAgTGF1bmNoID0gJ0xhdW5jaCcsXG4gIFRlcm1pbmF0ZSA9ICdUZXJtaW5hdGUnLFxuICBIZWFsdGhDaGVjayA9ICdIZWFsdGhDaGVjaycsXG4gIFJlcGxhY2VVbmhlYWx0aHkgPSAnUmVwbGFjZVVuaGVhbHRoeScsXG4gIEFaUmViYWxhbmNlID0gJ0FaUmViYWxhbmNlJyxcbiAgQWxhcm1Ob3RpZmljYXRpb24gPSAnQWxhcm1Ob3RpZmljYXRpb24nLFxuICBTY2hlZHVsZWRBY3Rpb25zID0gJ1NjaGVkdWxlZEFjdGlvbnMnLFxuICBBZGRUb0xvYWRCYWxhbmNlciA9ICdBZGRUb0xvYWRCYWxhbmNlcidcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIHJvbGxpbmcgdXBkYXRlIGNvbmZpZ3VyYXRpb24gaW50byB0aGUgYXBwcm9wcmlhdGUgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIHJlbmRlclJvbGxpbmdVcGRhdGVDb25maWcoY29uZmlnOiBSb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbiA9IHt9KTogY2RrLkF1dG9TY2FsaW5nUm9sbGluZ1VwZGF0ZSB7XG4gIGNvbnN0IHdhaXRPblJlc291cmNlU2lnbmFscyA9IGNvbmZpZy5taW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudCAhPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGZhbHNlO1xuICBjb25zdCBwYXVzZVRpbWVTZWMgPSBjb25maWcucGF1c2VUaW1lU2VjICE9PSB1bmRlZmluZWQgPyBjb25maWcucGF1c2VUaW1lU2VjIDogKHdhaXRPblJlc291cmNlU2lnbmFscyA/IDMwMCA6IDApO1xuXG4gIHJldHVybiB7XG4gICAgbWF4QmF0Y2hTaXplOiBjb25maWcubWF4QmF0Y2hTaXplLFxuICAgIG1pbkluc3RhbmNlc0luU2VydmljZTogY29uZmlnLm1pbkluc3RhbmNlc0luU2VydmljZSxcbiAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogdmFsaWRhdGVQZXJjZW50YWdlKGNvbmZpZy5taW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudCksXG4gICAgd2FpdE9uUmVzb3VyY2VTaWduYWxzLFxuICAgIHBhdXNlVGltZTogcmVuZGVySXNvRHVyYXRpb24ocGF1c2VUaW1lU2VjKSxcbiAgICBzdXNwZW5kUHJvY2Vzc2VzOiBjb25maWcuc3VzcGVuZFByb2Nlc3NlcyAhPT0gdW5kZWZpbmVkID8gY29uZmlnLnN1c3BlbmRQcm9jZXNzZXMgOlxuICAgICAgLy8gUmVjb21tZW5kZWQgbGlzdCBvZiBwcm9jZXNzZXMgdG8gc3VzcGVuZCBmcm9tIGhlcmU6XG4gICAgICAvLyBodHRwczovL2F3cy5hbWF6b24uY29tL3ByZW1pdW1zdXBwb3J0L2tub3dsZWRnZS1jZW50ZXIvYXV0by1zY2FsaW5nLWdyb3VwLXJvbGxpbmctdXBkYXRlcy9cbiAgICAgIFtTY2FsaW5nUHJvY2Vzcy5IZWFsdGhDaGVjaywgU2NhbGluZ1Byb2Nlc3MuUmVwbGFjZVVuaGVhbHRoeSwgU2NhbGluZ1Byb2Nlc3MuQVpSZWJhbGFuY2UsXG4gICAgICAgIFNjYWxpbmdQcm9jZXNzLkFsYXJtTm90aWZpY2F0aW9uLCBTY2FsaW5nUHJvY2Vzcy5TY2hlZHVsZWRBY3Rpb25zXSxcbiAgfTtcbn1cblxuY2xhc3MgVGFnTWFuYWdlciBleHRlbmRzIGNkay5UYWdNYW5hZ2VyIHtcbiAgcHJvdGVjdGVkIHRhZ0Zvcm1hdFJlc29sdmUodGFnR3JvdXBzOiBjZGsuVGFnR3JvdXBzKTogYW55IHtcbiAgICBjb25zdCB0YWdzID0gey4uLnRhZ0dyb3Vwcy5ub25TdGlja3lUYWdzLCAuLi50YWdHcm91cHMuYW5jZXN0b3JUYWdzLCAuLi50YWdHcm91cHMuc3RpY2t5VGFnc307XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRhZ3MpLm1hcCggKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcGFnYXRlQXRMYXVuY2ggPSAhIXRhZ0dyb3Vwcy5wcm9wYWdhdGVUYWdzW2tleV0gfHwgISF0YWdHcm91cHMuYW5jZXN0b3JUYWdzW2tleV07XG4gICAgICByZXR1cm4ge2tleSwgdmFsdWU6IHRhZ3Nba2V5XSwgcHJvcGFnYXRlQXRMYXVuY2h9O1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUmVuZGVyIGEgbnVtYmVyIG9mIHNlY29uZHMgdG8gYSBQVG5YIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVySXNvRHVyYXRpb24oc2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChzZWNvbmRzID49IDM2MDApIHtcbiAgICByZXQucHVzaChgJHtNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKX1IYCk7XG4gICAgc2Vjb25kcyAlPSAzNjAwO1xuICB9XG4gIGlmIChzZWNvbmRzID49IDYwKSB7XG4gICAgcmV0LnB1c2goYCR7TWF0aC5mbG9vcihzZWNvbmRzIC8gNjApfU1gKTtcbiAgICBzZWNvbmRzICU9IDYwO1xuICB9XG4gIGlmIChzZWNvbmRzID4gMCkge1xuICAgIHJldC5wdXNoKGAke3NlY29uZHN9U2ApO1xuICB9XG5cbiAgcmV0dXJuICdQVCcgKyByZXQuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUGVyY2VudGFnZSh4PzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHggPT09IHVuZGVmaW5lZCB8fCAoMCA8PSB4ICYmIHggPD0gMTAwKSkgeyByZXR1cm4geDsgfVxuICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkOiBhIHBlcmNlbnRhZ2UgMC4uMTAwLCBnb3Q6ICR7eH1gKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zY2FsaW5nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0by1zY2FsaW5nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLDZEQUE4RDtBQUM5RCx3Q0FBeUM7QUFFekMsb0NBQXFDO0FBRXJDLG1FQUF5RDtBQUV6RDs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFXLE1BQU0sQ0FBQztBQThIaEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUE2QmpELFlBQVksTUFBcUIsRUFBRSxJQUFZLEVBQUUsS0FBNEI7UUFDM0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQVJMLGtCQUFhLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUdwQyxtQkFBYyxHQUEyQixFQUFFLENBQUM7UUFDNUMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBSzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFF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WyJpbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGVsYiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZycpO1xuaW1wb3J0IGVsYnYyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInKTtcbmltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQgc25zID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLXNucycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuXG5pbXBvcnQgeyBjbG91ZGZvcm1hdGlvbiB9IGZyb20gJy4vYXV0b3NjYWxpbmcuZ2VuZXJhdGVkJztcblxuLyoqXG4gKiBOYW1lIHRhZyBjb25zdGFudFxuICovXG5jb25zdCBOQU1FX1RBRzogc3RyaW5nID0gJ05hbWUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBGbGVldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TY2FsaW5nR3JvdXBQcm9wcyB7XG4gIC8qKlxuICAgKiBUeXBlIG9mIGluc3RhbmNlIHRvIGxhdW5jaFxuICAgKi9cbiAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgaW4gdGhlIGZsZWV0XG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1pblNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIGluc3RhbmNlcyBpbiB0aGUgZmxlZXRcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWF4U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogSW5pdGlhbCBhbW91bnQgb2YgaW5zdGFuY2VzIGluIHRoZSBmbGVldFxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBkZXNpcmVkQ2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgU1NIIGtleXBhaXIgdG8gZ3JhbnQgYWNjZXNzIHRvIGluc3RhbmNlc1xuICAgKiBAZGVmYXVsdCBObyBTU0ggYWNjZXNzIHdpbGwgYmUgcG9zc2libGVcbiAgICovXG4gIGtleU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFNSSB0byBsYXVuY2hcbiAgICovXG4gIG1hY2hpbmVJbWFnZTogZWMyLklNYWNoaW5lSW1hZ2VTb3VyY2U7XG5cbiAgLyoqXG4gICAqIFZQQyB0byBsYXVuY2ggdGhlc2UgaW5zdGFuY2VzIGluLlxuICAgKi9cbiAgdnBjOiBlYzIuVnBjTmV0d29ya1JlZjtcblxuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgaW5zdGFuY2VzIHdpdGhpbiB0aGUgVlBDXG4gICAqL1xuICB2cGNQbGFjZW1lbnQ/OiBlYzIuVnBjUGxhY2VtZW50U3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgYWJvdXQgZmxlZXQgY2hhbmdlc1xuICAgKiBAZGVmYXVsdCBObyBmbGVldCBjaGFuZ2Ugbm90aWZpY2F0aW9ucyB3aWxsIGJlIHNlbnQuXG4gICAqL1xuICBub3RpZmljYXRpb25zVG9waWM/OiBzbnMuVG9waWNSZWY7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGluc3RhbmNlcyBjYW4gaW5pdGlhdGUgY29ubmVjdGlvbnMgdG8gYW55d2hlcmUgYnkgZGVmYXVsdFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhbGxvd0FsbE91dGJvdW5kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hhdCB0byBkbyB3aGVuIGFuIEF1dG9TY2FsaW5nR3JvdXAncyBpbnN0YW5jZSBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWRcbiAgICpcbiAgICogVGhpcyBpcyBhcHBsaWVkIHdoZW4gYW55IG9mIHRoZSBzZXR0aW5ncyBvbiB0aGUgQVNHIGFyZSBjaGFuZ2VkIHRoYXRcbiAgICogYWZmZWN0IGhvdyB0aGUgaW5zdGFuY2VzIHNob3VsZCBiZSBjcmVhdGVkIChWUEMsIGluc3RhbmNlIHR5cGUsIHN0YXJ0dXBcbiAgICogc2NyaXB0cywgZXRjLikuIEl0IGluZGljYXRlcyBob3cgdGhlIGV4aXN0aW5nIGluc3RhbmNlcyBzaG91bGQgYmVcbiAgICogcmVwbGFjZWQgd2l0aCBuZXcgaW5zdGFuY2VzIG1hdGNoaW5nIHRoZSBuZXcgY29uZmlnLiBCeSBkZWZhdWx0LCBub3RoaW5nXG4gICAqIGlzIGRvbmUgYW5kIG9ubHkgbmV3IGluc3RhbmNlcyBhcmUgbGF1bmNoZWQgd2l0aCB0aGUgbmV3IGNvbmZpZy5cbiAgICpcbiAgICogQGRlZmF1bHQgVXBkYXRlVHlwZS5Ob25lXG4gICAqL1xuICB1cGRhdGVUeXBlPzogVXBkYXRlVHlwZTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3Igcm9sbGluZyB1cGRhdGVzXG4gICAqXG4gICAqIE9ubHkgdXNlZCBpZiB1cGRhdGVUeXBlID09IFVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZS5cbiAgICovXG4gIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uPzogUm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHJlcGxhY2luZyB1cGRhdGVzLlxuICAgKlxuICAgKiBPbmx5IHVzZWQgaWYgdXBkYXRlVHlwZSA9PSBVcGRhdGVUeXBlLlJlcGxhY2luZ1VwZGF0ZS4gU3BlY2lmaWVzIGhvd1xuICAgKiBtYW55IGluc3RhbmNlcyBtdXN0IHNpZ25hbCBzdWNjZXNzIGZvciB0aGUgdXBkYXRlIHRvIHN1Y2NlZWQuXG4gICAqL1xuICByZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgdGhlIEFTRyBoYXMgc2NoZWR1bGVkIGFjdGlvbnMsIGRvbid0IHJlc2V0IHVuY2hhbmdlZCBncm91cCBzaXplc1xuICAgKlxuICAgKiBPbmx5IHVzZWQgaWYgdGhlIEFTRyBoYXMgc2NoZWR1bGVkIGFjdGlvbnMgKHdoaWNoIG1heSBzY2FsZSB5b3VyIEFTRyB1cFxuICAgKiBvciBkb3duIHJlZ2FyZGxlc3Mgb2YgY2RrIGRlcGxveW1lbnRzKS4gSWYgdHJ1ZSwgdGhlIHNpemUgb2YgdGhlIGdyb3VwXG4gICAqIHdpbGwgb25seSBiZSByZXNldCBpZiBpdCBoYXMgYmVlbiBjaGFuZ2VkIGluIHRoZSBDREsgYXBwLiBJZiBmYWxzZSwgdGhlXG4gICAqIHNpemVzIHdpbGwgYWx3YXlzIGJlIGNoYW5nZWQgYmFjayB0byB3aGF0IHRoZXkgd2VyZSBpbiB0aGUgQ0RLIGFwcFxuICAgKiBvbiBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBpZ25vcmVVbm1vZGlmaWVkU2l6ZVByb3BlcnRpZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBSZXNvdXJjZVNpZ25hbCBjYWxscyBDbG91ZEZvcm1hdGlvbiBleHBlY3RzIGJlZm9yZSB0aGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBjcmVhdGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlc291cmNlU2lnbmFsQ291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSB0byB3YWl0IGZvciB0aGUgcmVzb3VyY2VTaWduYWxDb3VudFxuICAgKlxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBpcyA0MzIwMCAoMTIgaG91cnMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAzMDAgKDUgbWludXRlcylcbiAgICovXG4gIHJlc291cmNlU2lnbmFsVGltZW91dFNlYz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIEFXUyByZXNvdXJjZSB0YWdzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBBU0cuXG4gICAqL1xuICB0YWdzPzogY2RrLlRhZ3M7XG59XG5cbi8qKlxuICogQSBGbGVldCByZXByZXNlbnRzIGEgbWFuYWdlZCBzZXQgb2YgRUMyIGluc3RhbmNlc1xuICpcbiAqIFRoZSBGbGVldCBtb2RlbHMgYSBudW1iZXIgb2YgQXV0b1NjYWxpbmdHcm91cHMsIGEgbGF1bmNoIGNvbmZpZ3VyYXRpb24sIGFcbiAqIHNlY3VyaXR5IGdyb3VwIGFuZCBhbiBpbnN0YW5jZSByb2xlLlxuICpcbiAqIEl0IGFsbG93cyBhZGRpbmcgYXJiaXRyYXJ5IGNvbW1hbmRzIHRvIHRoZSBzdGFydHVwIHNjcmlwdHMgb2YgdGhlIGluc3RhbmNlc1xuICogaW4gdGhlIGZsZWV0LlxuICpcbiAqIFRoZSBBU0cgc3BhbnMgYWxsIGF2YWlsYWJpbGl0eSB6b25lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF1dG9TY2FsaW5nR3JvdXAgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgY2RrLklUYWdnYWJsZSwgZWxiLklMb2FkQmFsYW5jZXJUYXJnZXQsIGVjMi5JQ29ubmVjdGFibGUsXG4gIGVsYnYyLklBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCwgZWxidjIuSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXQge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgT1MgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQgYXJlIHJ1bm5pbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3NUeXBlOiBlYzIuT3BlcmF0aW5nU3lzdGVtVHlwZTtcblxuICAvKipcbiAgICogQWxsb3dzIHNwZWNpZnkgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5Sb2xlO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGFncyBmb3IgdGhpcyBjb25zdHJ1Y3QgYW5kIGNoaWxkcmVuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFnczogY2RrLlRhZ01hbmFnZXI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyRGF0YUxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRvU2NhbGluZ0dyb3VwOiBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogZWMyLlNlY3VyaXR5R3JvdXBSZWY7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IGVjMi5TZWN1cml0eUdyb3VwUmVmW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRHcm91cEFybnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBBdXRvU2NhbGluZ0dyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsICdJbnN0YW5jZVNlY3VyaXR5R3JvdXAnLCB7IHZwYzogcHJvcHMudnBjIH0pO1xuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBuZXcgZWMyLkNvbm5lY3Rpb25zKHsgc2VjdXJpdHlHcm91cDogdGhpcy5zZWN1cml0eUdyb3VwIH0pO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cHMucHVzaCh0aGlzLnNlY3VyaXR5R3JvdXApO1xuICAgIHRoaXMudGFncyA9IG5ldyBUYWdNYW5hZ2VyKHRoaXMsIHtpbml0aWFsVGFnczogcHJvcHMudGFnc30pO1xuICAgIHRoaXMudGFncy5zZXRUYWcoTkFNRV9UQUcsIHRoaXMucGF0aCwgeyBvdmVyd3JpdGU6IGZhbHNlIH0pO1xuXG4gICAgaWYgKHByb3BzLmFsbG93QWxsT3V0Ym91bmQgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25zLmFsbG93VG8obmV3IGVjMi5BbnlJUHY0KCksIG5ldyBlYzIuQWxsQ29ubmVjdGlvbnMoKSwgJ091dGJvdW5kIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJbnN0YW5jZVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKVxuICAgIH0pO1xuXG4gICAgY29uc3QgaWFtUHJvZmlsZSA9IG5ldyBpYW0uY2xvdWRmb3JtYXRpb24uSW5zdGFuY2VQcm9maWxlUmVzb3VyY2UodGhpcywgJ0luc3RhbmNlUHJvZmlsZScsIHtcbiAgICAgIHJvbGVzOiBbIHRoaXMucm9sZS5yb2xlTmFtZSBdXG4gICAgfSk7XG5cbiAgICAvLyB1c2UgZGVsYXllZCBldmFsdWF0aW9uXG4gICAgY29uc3QgbWFjaGluZUltYWdlID0gcHJvcHMubWFjaGluZUltYWdlLmdldEltYWdlKHRoaXMpO1xuICAgIGNvbnN0IHVzZXJEYXRhVG9rZW4gPSBuZXcgY2RrLlRva2VuKCgpID0+IG5ldyBjZGsuRm5CYXNlNjQoKG1hY2hpbmVJbWFnZS5vcy5jcmVhdGVVc2VyRGF0YSh0aGlzLnVzZXJEYXRhTGluZXMpKSkpO1xuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXBzVG9rZW4gPSBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMuc2VjdXJpdHlHcm91cHMubWFwKHNnID0+IHNnLnNlY3VyaXR5R3JvdXBJZCkpO1xuXG4gICAgY29uc3QgbGF1bmNoQ29uZmlnID0gbmV3IGNsb3VkZm9ybWF0aW9uLkxhdW5jaENvbmZpZ3VyYXRpb25SZXNvdXJjZSh0aGlzLCAnTGF1bmNoQ29uZmlnJywge1xuICAgICAgaW1hZ2VJZDogbWFjaGluZUltYWdlLmltYWdlSWQsXG4gICAgICBrZXlOYW1lOiBwcm9wcy5rZXlOYW1lLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUudG9TdHJpbmcoKSxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3Vwc1Rva2VuLFxuICAgICAgaWFtSW5zdGFuY2VQcm9maWxlOiBpYW1Qcm9maWxlLnJlZixcbiAgICAgIHVzZXJEYXRhOiB1c2VyRGF0YVRva2VuXG4gICAgfSk7XG5cbiAgICBsYXVuY2hDb25maWcuYWRkRGVwZW5kZW5jeSh0aGlzLnJvbGUpO1xuXG4gICAgY29uc3QgbWluU2l6ZSA9IHByb3BzLm1pblNpemUgfHwgMTtcbiAgICBjb25zdCBtYXhTaXplID0gcHJvcHMubWF4U2l6ZSB8fCAxO1xuICAgIGNvbnN0IGRlc2lyZWRDYXBhY2l0eSA9IHByb3BzLmRlc2lyZWRDYXBhY2l0eSB8fCAxO1xuXG4gICAgaWYgKGRlc2lyZWRDYXBhY2l0eSA8IG1pblNpemUgfHwgZGVzaXJlZENhcGFjaXR5ID4gbWF4U2l6ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTaG91bGQgaGF2ZSBtaW5TaXplICgke21pblNpemV9KSA8PSBkZXNpcmVkQ2FwYWNpdHkgKCR7ZGVzaXJlZENhcGFjaXR5fSkgPD0gbWF4U2l6ZSAoJHttYXhTaXplfSlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhc2dQcm9wczogY2xvdWRmb3JtYXRpb24uQXV0b1NjYWxpbmdHcm91cFJlc291cmNlUHJvcHMgPSB7XG4gICAgICBtaW5TaXplOiBtaW5TaXplLnRvU3RyaW5nKCksXG4gICAgICBtYXhTaXplOiBtYXhTaXplLnRvU3RyaW5nKCksXG4gICAgICBkZXNpcmVkQ2FwYWNpdHk6IGRlc2lyZWRDYXBhY2l0eS50b1N0cmluZygpLFxuICAgICAgbGF1bmNoQ29uZmlndXJhdGlvbk5hbWU6IGxhdW5jaENvbmZpZy5yZWYsXG4gICAgICBsb2FkQmFsYW5jZXJOYW1lczogbmV3IGNkay5Ub2tlbigoKSA9PiB0aGlzLmxvYWRCYWxhbmNlck5hbWVzLmxlbmd0aCA+IDAgPyB0aGlzLmxvYWRCYWxhbmNlck5hbWVzIDogdW5kZWZpbmVkKSxcbiAgICAgIHRhcmdldEdyb3VwQXJuczogbmV3IGNkay5Ub2tlbigoKSA9PiB0aGlzLnRhcmdldEdyb3VwQXJucy5sZW5ndGggPiAwID8gdGhpcy50YXJnZXRHcm91cEFybnMgOiB1bmRlZmluZWQpLFxuICAgICAgdGFnczogdGhpcy50YWdzLFxuICAgIH07XG5cbiAgICBpZiAocHJvcHMubm90aWZpY2F0aW9uc1RvcGljKSB7XG4gICAgICBhc2dQcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9ucyA9IFtdO1xuICAgICAgYXNnUHJvcHMubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMucHVzaCh7XG4gICAgICAgIHRvcGljQXJuOiBwcm9wcy5ub3RpZmljYXRpb25zVG9waWMudG9waWNBcm4sXG4gICAgICAgIG5vdGlmaWNhdGlvblR5cGVzOiBbXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfTEFVTkNIXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfTEFVTkNIX0VSUk9SXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFXCIsXG4gICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFX0VSUk9SXCJcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym5ldHMgPSBwcm9wcy52cGMuc3VibmV0cyhwcm9wcy52cGNQbGFjZW1lbnQpO1xuICAgIGFzZ1Byb3BzLnZwY1pvbmVJZGVudGlmaWVyID0gc3VibmV0cy5tYXAobiA9PiBuLnN1Ym5ldElkKTtcblxuICAgIHRoaXMuYXV0b1NjYWxpbmdHcm91cCA9IG5ldyBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2UodGhpcywgJ0FTRycsIGFzZ1Byb3BzKTtcbiAgICB0aGlzLm9zVHlwZSA9IG1hY2hpbmVJbWFnZS5vcy50eXBlO1xuXG4gICAgdGhpcy5hcHBseVVwZGF0ZVBvbGljaWVzKHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIHNlY3VyaXR5IGdyb3VwIHRvIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBsYXVuY2ggY29uZmlndXJhdGlvblxuICAgKiBzZWN1cml0eSBncm91cHMgYXJyYXkuXG4gICAqXG4gICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwOiBUaGUgU2VjdXJpdHlHcm91cFJlZiB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXA6IGVjMi5TZWN1cml0eUdyb3VwUmVmKTogdm9pZCB7XG4gICAgdGhpcy5zZWN1cml0eUdyb3Vwcy5wdXNoKHNlY3VyaXR5R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCB0byBhIGNsYXNzaWMgbG9hZCBiYWxhbmNlclxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQ2xhc3NpY0xCKGxvYWRCYWxhbmNlcjogZWxiLkxvYWRCYWxhbmNlcik6IHZvaWQge1xuICAgIHRoaXMubG9hZEJhbGFuY2VyTmFtZXMucHVzaChsb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIHRvIEVMQnYyIEFwcGxpY2F0aW9uIFRhcmdldCBHcm91cFxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cCh0YXJnZXRHcm91cDogZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cCk6IGVsYnYyLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICB0aGlzLnRhcmdldEdyb3VwQXJucy5wdXNoKHRhcmdldEdyb3VwLnRhcmdldEdyb3VwQXJuKTtcbiAgICB0YXJnZXRHcm91cC5yZWdpc3RlckNvbm5lY3RhYmxlKHRoaXMpO1xuICAgIHJldHVybiB7IHRhcmdldFR5cGU6IGVsYnYyLlRhcmdldFR5cGUuSW5zdGFuY2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggdG8gRUxCdjIgQXBwbGljYXRpb24gVGFyZ2V0IEdyb3VwXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVG9OZXR3b3JrVGFyZ2V0R3JvdXAodGFyZ2V0R3JvdXA6IGVsYnYyLk5ldHdvcmtUYXJnZXRHcm91cCk6IGVsYnYyLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICB0aGlzLnRhcmdldEdyb3VwQXJucy5wdXNoKHRhcmdldEdyb3VwLnRhcmdldEdyb3VwQXJuKTtcbiAgICByZXR1cm4geyB0YXJnZXRUeXBlOiBlbGJ2Mi5UYXJnZXRUeXBlLkluc3RhbmNlIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkIGNvbW1hbmQgdG8gdGhlIHN0YXJ0dXAgc2NyaXB0IG9mIGZsZWV0IGluc3RhbmNlcy5cbiAgICogVGhlIGNvbW1hbmQgbXVzdCBiZSBpbiB0aGUgc2NyaXB0aW5nIGxhbmd1YWdlIHN1cHBvcnRlZCBieSB0aGUgZmxlZXQncyBPUyAoaS5lLiBMaW51eC9XaW5kb3dzKS5cbiAgICovXG4gIHB1YmxpYyBhZGRVc2VyRGF0YSguLi5zY3JpcHRMaW5lczogc3RyaW5nW10pIHtcbiAgICBzY3JpcHRMaW5lcy5mb3JFYWNoKHNjcmlwdExpbmUgPT4gdGhpcy51c2VyRGF0YUxpbmVzLnB1c2goc2NyaXB0TGluZSkpO1xuICB9XG5cbiAgcHVibGljIGF1dG9TY2FsaW5nR3JvdXBOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAucmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIElBTSByb2xlIGFzc3VtZWQgYnkgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9Sb2xlUG9saWN5KHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCkge1xuICAgIHRoaXMucm9sZS5hZGRUb1BvbGljeShzdGF0ZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IENsb3VkRm9ybWF0aW9uIHVwZGF0ZSBwb2xpY2llcyBmb3IgdGhlIEF1dG9TY2FsaW5nR3JvdXBcbiAgICovXG4gIHByaXZhdGUgYXBwbHlVcGRhdGVQb2xpY2llcyhwcm9wczogQXV0b1NjYWxpbmdHcm91cFByb3BzKSB7XG4gICAgaWYgKHByb3BzLnVwZGF0ZVR5cGUgPT09IFVwZGF0ZVR5cGUuUmVwbGFjaW5nVXBkYXRlKSB7XG4gICAgICB0aGlzLmFzZ1VwZGF0ZVBvbGljeS5hdXRvU2NhbGluZ1JlcGxhY2luZ1VwZGF0ZSA9IHsgd2lsbFJlcGxhY2U6IHRydWUgfTtcblxuICAgICAgaWYgKHByb3BzLnJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gWWVzLCB0aGlzIGdvZXMgb24gQ3JlYXRpb25Qb2xpY3ksIG5vdCBhcyBhIHByb2Nlc3MgcGFyYW1ldGVyIHRvIFJlcGxhY2luZ1VwZGF0ZS5cbiAgICAgICAgLy8gSXQncyBhIGxpdHRsZSBjb25mdXNpbmcsIGJ1dCB0aGUgZG9jcyBzZWVtIHRvIGV4cGxpY2l0bHkgc3RhdGUgaXQgd2lsbCBvbmx5IGJlIHVzZWRcbiAgICAgICAgLy8gZHVyaW5nIHRoZSB1cGRhdGU/XG4gICAgICAgIC8vXG4gICAgICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1hdHRyaWJ1dGUtY3JlYXRpb25wb2xpY3kuaHRtbFxuICAgICAgICB0aGlzLmFzZ0NyZWF0aW9uUG9saWN5LmF1dG9TY2FsaW5nQ3JlYXRpb25Qb2xpY3kgPSB7XG4gICAgICAgICAgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IHZhbGlkYXRlUGVyY2VudGFnZShwcm9wcy5yZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3BzLnVwZGF0ZVR5cGUgPT09IFVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZSkge1xuICAgICAgdGhpcy5hc2dVcGRhdGVQb2xpY3kuYXV0b1NjYWxpbmdSb2xsaW5nVXBkYXRlID0gcmVuZGVyUm9sbGluZ1VwZGF0ZUNvbmZpZyhwcm9wcy5yb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbik7XG4gICAgfVxuXG4gICAgLy8gdW5kZWZpbmVkIGlzIHRyZWF0ZWQgYXMgJ3RydWUnXG4gICAgaWYgKHByb3BzLmlnbm9yZVVubW9kaWZpZWRTaXplUHJvcGVydGllcyAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuYXNnVXBkYXRlUG9saWN5LmF1dG9TY2FsaW5nU2NoZWR1bGVkQWN0aW9uID0geyBpZ25vcmVVbm1vZGlmaWVkR3JvdXBTaXplUHJvcGVydGllczogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZXNvdXJjZVNpZ25hbENvdW50ICE9PSB1bmRlZmluZWQgfHwgcHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0U2VjICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXNnQ3JlYXRpb25Qb2xpY3kucmVzb3VyY2VTaWduYWwgPSB7XG4gICAgICAgIGNvdW50OiBwcm9wcy5yZXNvdXJjZVNpZ25hbENvdW50LFxuICAgICAgICB0aW1lb3V0OiBwcm9wcy5yZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWMgIT09IHVuZGVmaW5lZCA/IHJlbmRlcklzb0R1cmF0aW9uKHByb3BzLnJlc291cmNlU2lnbmFsVGltZW91dFNlYykgOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW5kIHJldHVybiB0aGUgQVNHIHVwZGF0ZSBwb2xpY3lcbiAgICovXG4gIHByaXZhdGUgZ2V0IGFzZ1VwZGF0ZVBvbGljeSgpIHtcbiAgICBpZiAodGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMudXBkYXRlUG9saWN5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXV0b1NjYWxpbmdHcm91cC5vcHRpb25zLnVwZGF0ZVBvbGljeSA9IHt9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMudXBkYXRlUG9saWN5O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbmQgcmV0dXJuIHRoZSBBU0cgY3JlYXRpb24gcG9saWN5XG4gICAqL1xuICBwcml2YXRlIGdldCBhc2dDcmVhdGlvblBvbGljeSgpIHtcbiAgICBpZiAodGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3kgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3kgPSB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXV0b1NjYWxpbmdHcm91cC5vcHRpb25zLmNyZWF0aW9uUG9saWN5O1xuICB9XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdXBkYXRlIHRvIHBlcmZvcm0gb24gaW5zdGFuY2VzIGluIHRoaXMgQXV0b1NjYWxpbmdHcm91cFxuICovXG5leHBvcnQgZW51bSBVcGRhdGVUeXBlIHtcbiAgLyoqXG4gICAqIERvbid0IGRvIGFueXRoaW5nXG4gICAqL1xuICBOb25lID0gJ05vbmUnLFxuXG4gIC8qKlxuICAgKiBSZXBsYWNlIHRoZSBlbnRpcmUgQXV0b1NjYWxpbmdHcm91cFxuICAgKlxuICAgKiBCdWlsZHMgYSBuZXcgQXV0b1NjYWxpbmdHcm91cCBmaXJzdCwgdGhlbiBkZWxldGUgdGhlIG9sZCBvbmUuXG4gICAqL1xuICBSZXBsYWNpbmdVcGRhdGUgPSAnUmVwbGFjZScsXG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgdGhlIGluc3RhbmNlcyBpbiB0aGUgQXV0b1NjYWxpbmdHcm91cC5cbiAgICovXG4gIFJvbGxpbmdVcGRhdGUgPSAnUm9sbGluZ1VwZGF0ZScsXG59XG5cbi8qKlxuICogQWRkaXRpb25hbCBzZXR0aW5ncyB3aGVuIGEgcm9sbGluZyB1cGRhdGUgaXMgc2VsZWN0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5zdGFuY2VzIHRoYXQgQVdTIENsb3VkRm9ybWF0aW9uIHVwZGF0ZXMgYXQgb25jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWF4QmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaW5zdGFuY2VzIHRoYXQgbXVzdCBiZSBpbiBzZXJ2aWNlIGJlZm9yZSBtb3JlIGluc3RhbmNlcyBhcmUgcmVwbGFjZWQuXG4gICAqXG4gICAqIFRoaXMgbnVtYmVyIGFmZmVjdHMgdGhlIHNwZWVkIG9mIHRoZSByZXBsYWNlbWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgbWluSW5zdGFuY2VzSW5TZXJ2aWNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiBpbnN0YW5jZXMgdGhhdCBtdXN0IHNpZ25hbCBzdWNjZXNzIGZvciBhbiB1cGRhdGUgdG8gc3VjY2VlZC5cbiAgICpcbiAgICogSWYgYW4gaW5zdGFuY2UgZG9lc24ndCBzZW5kIGEgc2lnbmFsIHdpdGhpbiB0aGUgdGltZSBzcGVjaWZpZWQgaW4gdGhlXG4gICAqIHBhdXNlVGltZSBwcm9wZXJ0eSwgQVdTIENsb3VkRm9ybWF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgaW5zdGFuY2Ugd2Fzbid0XG4gICAqIHVwZGF0ZWQuXG4gICAqXG4gICAqIFRoaXMgbnVtYmVyIGFmZmVjdHMgdGhlIHN1Y2Nlc3Mgb2YgdGhlIHJlcGxhY2VtZW50LlxuICAgKlxuICAgKiBJZiB5b3Ugc3BlY2lmeSB0aGlzIHByb3BlcnR5LCB5b3UgbXVzdCBhbHNvIGVuYWJsZSB0aGVcbiAgICogd2FpdE9uUmVzb3VyY2VTaWduYWxzIGFuZCBwYXVzZVRpbWUgcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhdXNlIHRpbWUgYWZ0ZXIgbWFraW5nIGEgY2hhbmdlIHRvIGEgYmF0Y2ggb2YgaW5zdGFuY2VzLlxuICAgKlxuICAgKiBUaGlzIGlzIGludGVuZGVkIHRvIGdpdmUgdGhvc2UgaW5zdGFuY2VzIHRpbWUgdG8gc3RhcnQgc29mdHdhcmUgYXBwbGljYXRpb25zLlxuICAgKlxuICAgKiBTcGVjaWZ5IFBhdXNlVGltZSBpbiB0aGUgSVNPODYwMSBkdXJhdGlvbiBmb3JtYXQgKGluIHRoZSBmb3JtYXRcbiAgICogUFQjSCNNI1MsIHdoZXJlIGVhY2ggIyBpcyB0aGUgbnVtYmVyIG9mIGhvdXJzLCBtaW51dGVzLCBhbmQgc2Vjb25kcyxcbiAgICogcmVzcGVjdGl2ZWx5KS4gVGhlIG1heGltdW0gUGF1c2VUaW1lIGlzIG9uZSBob3VyIChQVDFIKS5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwIGlmIHRoZSB3YWl0T25SZXNvdXJjZVNpZ25hbHMgcHJvcGVydHkgaXMgdHJ1ZSwgb3RoZXJ3aXNlIDBcbiAgICovXG4gIHBhdXNlVGltZVNlYz86IG51bWJlcjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIEF1dG8gU2NhbGluZyBncm91cCB3YWl0cyBvbiBzaWduYWxzIGZyb20gbmV3IGluc3RhbmNlcyBkdXJpbmcgYW4gdXBkYXRlLlxuICAgKlxuICAgKiBBV1MgQ2xvdWRGb3JtYXRpb24gbXVzdCByZWNlaXZlIGEgc2lnbmFsIGZyb20gZWFjaCBuZXcgaW5zdGFuY2Ugd2l0aGluXG4gICAqIHRoZSBzcGVjaWZpZWQgUGF1c2VUaW1lIGJlZm9yZSBjb250aW51aW5nIHRoZSB1cGRhdGUuXG4gICAqXG4gICAqIFRvIGhhdmUgaW5zdGFuY2VzIHdhaXQgZm9yIGFuIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgaGVhbHRoIGNoZWNrIGJlZm9yZVxuICAgKiB0aGV5IHNpZ25hbCBzdWNjZXNzLCBhZGQgYSBoZWFsdGgtY2hlY2sgdmVyaWZpY2F0aW9uIGJ5IHVzaW5nIHRoZVxuICAgKiBjZm4taW5pdCBoZWxwZXIgc2NyaXB0LiBGb3IgYW4gZXhhbXBsZSwgc2VlIHRoZSB2ZXJpZnlfaW5zdGFuY2VfaGVhbHRoXG4gICAqIGNvbW1hbmQgaW4gdGhlIEF1dG8gU2NhbGluZyByb2xsaW5nIHVwZGF0ZXMgc2FtcGxlIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlIGlmIHlvdSBzcGVjaWZpZWQgdGhlIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50IHByb3BlcnR5LCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHdhaXRPblJlc291cmNlU2lnbmFscz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgQXV0byBTY2FsaW5nIHByb2Nlc3NlcyB0byBzdXNwZW5kIGR1cmluZyBhIHN0YWNrIHVwZGF0ZS5cbiAgICpcbiAgICogU3VzcGVuZGluZyBwcm9jZXNzZXMgcHJldmVudHMgQXV0byBTY2FsaW5nIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBhIHN0YWNrXG4gICAqIHVwZGF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgSGVhbHRoQ2hlY2ssIFJlcGxhY2VVbmhlYWx0aHksIEFaUmViYWxhbmNlLCBBbGFybU5vdGlmaWNhdGlvbiwgU2NoZWR1bGVkQWN0aW9ucy5cbiAgICovXG4gIHN1c3BlbmRQcm9jZXNzZXM/OiBTY2FsaW5nUHJvY2Vzc1tdO1xufVxuXG5leHBvcnQgZW51bSBTY2FsaW5nUHJvY2VzcyB7XG4gIExhdW5jaCA9ICdMYXVuY2gnLFxuICBUZXJtaW5hdGUgPSAnVGVybWluYXRlJyxcbiAgSGVhbHRoQ2hlY2sgPSAnSGVhbHRoQ2hlY2snLFxuICBSZXBsYWNlVW5oZWFsdGh5ID0gJ1JlcGxhY2VVbmhlYWx0aHknLFxuICBBWlJlYmFsYW5jZSA9ICdBWlJlYmFsYW5jZScsXG4gIEFsYXJtTm90aWZpY2F0aW9uID0gJ0FsYXJtTm90aWZpY2F0aW9uJyxcbiAgU2NoZWR1bGVkQWN0aW9ucyA9ICdTY2hlZHVsZWRBY3Rpb25zJyxcbiAgQWRkVG9Mb2FkQmFsYW5jZXIgPSAnQWRkVG9Mb2FkQmFsYW5jZXInXG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSByb2xsaW5nIHVwZGF0ZSBjb25maWd1cmF0aW9uIGludG8gdGhlIGFwcHJvcHJpYXRlIG9iamVjdFxuICovXG5mdW5jdGlvbiByZW5kZXJSb2xsaW5nVXBkYXRlQ29uZmlnKGNvbmZpZzogUm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb24gPSB7fSk6IGNkay5BdXRvU2NhbGluZ1JvbGxpbmdVcGRhdGUge1xuICBjb25zdCB3YWl0T25SZXNvdXJjZVNpZ25hbHMgPSBjb25maWcubWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQgIT09IHVuZGVmaW5lZCA/IHRydWUgOiBmYWxzZTtcbiAgY29uc3QgcGF1c2VUaW1lU2VjID0gY29uZmlnLnBhdXNlVGltZVNlYyAhPT0gdW5kZWZpbmVkID8gY29uZmlnLnBhdXNlVGltZVNlYyA6ICh3YWl0T25SZXNvdXJjZVNpZ25hbHMgPyAzMDAgOiAwKTtcblxuICByZXR1cm4ge1xuICAgIG1heEJhdGNoU2l6ZTogY29uZmlnLm1heEJhdGNoU2l6ZSxcbiAgICBtaW5JbnN0YW5jZXNJblNlcnZpY2U6IGNvbmZpZy5taW5JbnN0YW5jZXNJblNlcnZpY2UsXG4gICAgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IHZhbGlkYXRlUGVyY2VudGFnZShjb25maWcubWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQpLFxuICAgIHdhaXRPblJlc291cmNlU2lnbmFscyxcbiAgICBwYXVzZVRpbWU6IHJlbmRlcklzb0R1cmF0aW9uKHBhdXNlVGltZVNlYyksXG4gICAgc3VzcGVuZFByb2Nlc3NlczogY29uZmlnLnN1c3BlbmRQcm9jZXNzZXMgIT09IHVuZGVmaW5lZCA/IGNvbmZpZy5zdXNwZW5kUHJvY2Vzc2VzIDpcbiAgICAgIC8vIFJlY29tbWVuZGVkIGxpc3Qgb2YgcHJvY2Vzc2VzIHRvIHN1c3BlbmQgZnJvbSBoZXJlOlxuICAgICAgLy8gaHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9wcmVtaXVtc3VwcG9ydC9rbm93bGVkZ2UtY2VudGVyL2F1dG8tc2NhbGluZy1ncm91cC1yb2xsaW5nLXVwZGF0ZXMvXG4gICAgICBbU2NhbGluZ1Byb2Nlc3MuSGVhbHRoQ2hlY2ssIFNjYWxpbmdQcm9jZXNzLlJlcGxhY2VVbmhlYWx0aHksIFNjYWxpbmdQcm9jZXNzLkFaUmViYWxhbmNlLFxuICAgICAgICBTY2FsaW5nUHJvY2Vzcy5BbGFybU5vdGlmaWNhdGlvbiwgU2NhbGluZ1Byb2Nlc3MuU2NoZWR1bGVkQWN0aW9uc10sXG4gIH07XG59XG5cbmNsYXNzIFRhZ01hbmFnZXIgZXh0ZW5kcyBjZGsuVGFnTWFuYWdlciB7XG4gIHByb3RlY3RlZCB0YWdGb3JtYXRSZXNvbHZlKHRhZ0dyb3VwczogY2RrLlRhZ0dyb3Vwcyk6IGFueSB7XG4gICAgY29uc3QgdGFncyA9IHsuLi50YWdHcm91cHMubm9uU3RpY2t5VGFncywgLi4udGFnR3JvdXBzLmFuY2VzdG9yVGFncywgLi4udGFnR3JvdXBzLnN0aWNreVRhZ3N9O1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0YWdzKS5tYXAoIChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3BhZ2F0ZUF0TGF1bmNoID0gISF0YWdHcm91cHMucHJvcGFnYXRlVGFnc1trZXldIHx8ICEhdGFnR3JvdXBzLmFuY2VzdG9yVGFnc1trZXldO1xuICAgICAgcmV0dXJuIHtrZXksIHZhbHVlOiB0YWdzW2tleV0sIHByb3BhZ2F0ZUF0TGF1bmNofTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlciBhIG51bWJlciBvZiBzZWNvbmRzIHRvIGEgUFRuWCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlcklzb0R1cmF0aW9uKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHJldDogc3RyaW5nW10gPSBbXTtcblxuICBpZiAoc2Vjb25kcyA+PSAzNjAwKSB7XG4gICAgcmV0LnB1c2goYCR7TWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCl9SGApO1xuICAgIHNlY29uZHMgJT0gMzYwMDtcbiAgfVxuICBpZiAoc2Vjb25kcyA+PSA2MCkge1xuICAgIHJldC5wdXNoKGAke01hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKX1NYCk7XG4gICAgc2Vjb25kcyAlPSA2MDtcbiAgfVxuICBpZiAoc2Vjb25kcyA+IDApIHtcbiAgICByZXQucHVzaChgJHtzZWNvbmRzfVNgKTtcbiAgfVxuXG4gIHJldHVybiAnUFQnICsgcmV0LmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVBlcmNlbnRhZ2UoeD86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmICh4ID09PSB1bmRlZmluZWQgfHwgKDAgPD0geCAmJiB4IDw9IDEwMCkpIHsgcmV0dXJuIHg7IH1cbiAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZDogYSBwZXJjZW50YWdlIDAuLjEwMCwgZ290OiAke3h9YCk7XG59XG4iXX0= |
@@ -11,3 +11,3 @@ import cdk = require('@aws-cdk/cdk'); | ||
*/ | ||
maxSize: string | cdk.CloudFormationToken; | ||
maxSize: string | cdk.Token; | ||
/** | ||
@@ -17,3 +17,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.MinSize`` | ||
*/ | ||
minSize: string | cdk.CloudFormationToken; | ||
minSize: string | cdk.Token; | ||
/** | ||
@@ -23,3 +23,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.AutoScalingGroupName`` | ||
*/ | ||
autoScalingGroupName?: string | cdk.CloudFormationToken; | ||
autoScalingGroupName?: string | cdk.Token; | ||
/** | ||
@@ -29,3 +29,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.AvailabilityZones`` | ||
*/ | ||
availabilityZones?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
availabilityZones?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -35,3 +35,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.Cooldown`` | ||
*/ | ||
cooldown?: string | cdk.CloudFormationToken; | ||
cooldown?: string | cdk.Token; | ||
/** | ||
@@ -41,3 +41,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.DesiredCapacity`` | ||
*/ | ||
desiredCapacity?: string | cdk.CloudFormationToken; | ||
desiredCapacity?: string | cdk.Token; | ||
/** | ||
@@ -47,3 +47,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.HealthCheckGracePeriod`` | ||
*/ | ||
healthCheckGracePeriod?: number | cdk.CloudFormationToken; | ||
healthCheckGracePeriod?: number | cdk.Token; | ||
/** | ||
@@ -53,3 +53,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.HealthCheckType`` | ||
*/ | ||
healthCheckType?: string | cdk.CloudFormationToken; | ||
healthCheckType?: string | cdk.Token; | ||
/** | ||
@@ -59,3 +59,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.InstanceId`` | ||
*/ | ||
instanceId?: string | cdk.CloudFormationToken; | ||
instanceId?: string | cdk.Token; | ||
/** | ||
@@ -65,3 +65,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.LaunchConfigurationName`` | ||
*/ | ||
launchConfigurationName?: string | cdk.CloudFormationToken; | ||
launchConfigurationName?: string | cdk.Token; | ||
/** | ||
@@ -71,3 +71,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.LaunchTemplate`` | ||
*/ | ||
launchTemplate?: AutoScalingGroupResource.LaunchTemplateSpecificationProperty | cdk.CloudFormationToken; | ||
launchTemplate?: AutoScalingGroupResource.LaunchTemplateSpecificationProperty | cdk.Token; | ||
/** | ||
@@ -77,3 +77,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecificationList`` | ||
*/ | ||
lifecycleHookSpecificationList?: Array<AutoScalingGroupResource.LifecycleHookSpecificationProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
lifecycleHookSpecificationList?: Array<AutoScalingGroupResource.LifecycleHookSpecificationProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -83,3 +83,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.LoadBalancerNames`` | ||
*/ | ||
loadBalancerNames?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
loadBalancerNames?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -89,3 +89,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.MetricsCollection`` | ||
*/ | ||
metricsCollection?: Array<AutoScalingGroupResource.MetricsCollectionProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
metricsCollection?: Array<AutoScalingGroupResource.MetricsCollectionProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -95,3 +95,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.NotificationConfigurations`` | ||
*/ | ||
notificationConfigurations?: Array<AutoScalingGroupResource.NotificationConfigurationProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
notificationConfigurations?: Array<AutoScalingGroupResource.NotificationConfigurationProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -101,3 +101,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.PlacementGroup`` | ||
*/ | ||
placementGroup?: string | cdk.CloudFormationToken; | ||
placementGroup?: string | cdk.Token; | ||
/** | ||
@@ -107,3 +107,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.ServiceLinkedRoleARN`` | ||
*/ | ||
serviceLinkedRoleArn?: string | cdk.CloudFormationToken; | ||
serviceLinkedRoleArn?: string | cdk.Token; | ||
/** | ||
@@ -113,3 +113,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.Tags`` | ||
*/ | ||
tags?: Array<AutoScalingGroupResource.TagPropertyProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
tags?: Array<AutoScalingGroupResource.TagPropertyProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -119,3 +119,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.TargetGroupARNs`` | ||
*/ | ||
targetGroupArns?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
targetGroupArns?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -125,3 +125,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.TerminationPolicies`` | ||
*/ | ||
terminationPolicies?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
terminationPolicies?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -131,3 +131,3 @@ * ``AWS::AutoScaling::AutoScalingGroup.VPCZoneIdentifier`` | ||
*/ | ||
vpcZoneIdentifier?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
vpcZoneIdentifier?: Array<string | cdk.Token> | cdk.Token; | ||
} | ||
@@ -141,3 +141,3 @@ /** | ||
*/ | ||
static readonly resourceTypeName: string; | ||
static readonly resourceTypeName = "AWS::AutoScaling::AutoScalingGroup"; | ||
readonly autoScalingGroupName: string; | ||
@@ -166,3 +166,3 @@ /** | ||
*/ | ||
launchTemplateId?: string | cdk.CloudFormationToken; | ||
launchTemplateId?: string | cdk.Token; | ||
/** | ||
@@ -172,3 +172,3 @@ * ``AutoScalingGroupResource.LaunchTemplateSpecificationProperty.LaunchTemplateName`` | ||
*/ | ||
launchTemplateName?: string | cdk.CloudFormationToken; | ||
launchTemplateName?: string | cdk.Token; | ||
/** | ||
@@ -178,3 +178,3 @@ * ``AutoScalingGroupResource.LaunchTemplateSpecificationProperty.Version`` | ||
*/ | ||
version: string | cdk.CloudFormationToken; | ||
version: string | cdk.Token; | ||
} | ||
@@ -191,3 +191,3 @@ } | ||
*/ | ||
defaultResult?: string | cdk.CloudFormationToken; | ||
defaultResult?: string | cdk.Token; | ||
/** | ||
@@ -197,3 +197,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.HeartbeatTimeout`` | ||
*/ | ||
heartbeatTimeout?: number | cdk.CloudFormationToken; | ||
heartbeatTimeout?: number | cdk.Token; | ||
/** | ||
@@ -203,3 +203,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.LifecycleHookName`` | ||
*/ | ||
lifecycleHookName: string | cdk.CloudFormationToken; | ||
lifecycleHookName: string | cdk.Token; | ||
/** | ||
@@ -209,3 +209,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.LifecycleTransition`` | ||
*/ | ||
lifecycleTransition: string | cdk.CloudFormationToken; | ||
lifecycleTransition: string | cdk.Token; | ||
/** | ||
@@ -215,3 +215,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.NotificationMetadata`` | ||
*/ | ||
notificationMetadata?: string | cdk.CloudFormationToken; | ||
notificationMetadata?: string | cdk.Token; | ||
/** | ||
@@ -221,3 +221,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.NotificationTargetARN`` | ||
*/ | ||
notificationTargetArn?: string | cdk.CloudFormationToken; | ||
notificationTargetArn?: string | cdk.Token; | ||
/** | ||
@@ -227,3 +227,3 @@ * ``AutoScalingGroupResource.LifecycleHookSpecificationProperty.RoleARN`` | ||
*/ | ||
roleArn?: string | cdk.CloudFormationToken; | ||
roleArn?: string | cdk.Token; | ||
} | ||
@@ -240,3 +240,3 @@ } | ||
*/ | ||
granularity: string | cdk.CloudFormationToken; | ||
granularity: string | cdk.Token; | ||
/** | ||
@@ -246,3 +246,3 @@ * ``AutoScalingGroupResource.MetricsCollectionProperty.Metrics`` | ||
*/ | ||
metrics?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
metrics?: Array<string | cdk.Token> | cdk.Token; | ||
} | ||
@@ -259,3 +259,3 @@ } | ||
*/ | ||
notificationTypes?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
notificationTypes?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -265,3 +265,3 @@ * ``AutoScalingGroupResource.NotificationConfigurationProperty.TopicARN`` | ||
*/ | ||
topicArn: string | cdk.CloudFormationToken; | ||
topicArn: string | cdk.Token; | ||
} | ||
@@ -278,3 +278,3 @@ } | ||
*/ | ||
key: string | cdk.CloudFormationToken; | ||
key: string | cdk.Token; | ||
/** | ||
@@ -284,3 +284,3 @@ * ``AutoScalingGroupResource.TagPropertyProperty.PropagateAtLaunch`` | ||
*/ | ||
propagateAtLaunch: boolean | cdk.CloudFormationToken; | ||
propagateAtLaunch: boolean | cdk.Token; | ||
/** | ||
@@ -290,3 +290,3 @@ * ``AutoScalingGroupResource.TagPropertyProperty.Value`` | ||
*/ | ||
value: string | cdk.CloudFormationToken; | ||
value: string | cdk.Token; | ||
} | ||
@@ -304,3 +304,3 @@ } | ||
*/ | ||
imageId: string | cdk.CloudFormationToken; | ||
imageId: string | cdk.Token; | ||
/** | ||
@@ -310,3 +310,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.InstanceType`` | ||
*/ | ||
instanceType: string | cdk.CloudFormationToken; | ||
instanceType: string | cdk.Token; | ||
/** | ||
@@ -316,3 +316,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.AssociatePublicIpAddress`` | ||
*/ | ||
associatePublicIpAddress?: boolean | cdk.CloudFormationToken; | ||
associatePublicIpAddress?: boolean | cdk.Token; | ||
/** | ||
@@ -322,3 +322,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.BlockDeviceMappings`` | ||
*/ | ||
blockDeviceMappings?: Array<LaunchConfigurationResource.BlockDeviceMappingProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
blockDeviceMappings?: Array<LaunchConfigurationResource.BlockDeviceMappingProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -328,3 +328,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.ClassicLinkVPCId`` | ||
*/ | ||
classicLinkVpcId?: string | cdk.CloudFormationToken; | ||
classicLinkVpcId?: string | cdk.Token; | ||
/** | ||
@@ -334,3 +334,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.ClassicLinkVPCSecurityGroups`` | ||
*/ | ||
classicLinkVpcSecurityGroups?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
classicLinkVpcSecurityGroups?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -340,3 +340,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.EbsOptimized`` | ||
*/ | ||
ebsOptimized?: boolean | cdk.CloudFormationToken; | ||
ebsOptimized?: boolean | cdk.Token; | ||
/** | ||
@@ -346,3 +346,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.IamInstanceProfile`` | ||
*/ | ||
iamInstanceProfile?: string | cdk.CloudFormationToken; | ||
iamInstanceProfile?: string | cdk.Token; | ||
/** | ||
@@ -352,3 +352,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.InstanceId`` | ||
*/ | ||
instanceId?: string | cdk.CloudFormationToken; | ||
instanceId?: string | cdk.Token; | ||
/** | ||
@@ -358,3 +358,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.InstanceMonitoring`` | ||
*/ | ||
instanceMonitoring?: boolean | cdk.CloudFormationToken; | ||
instanceMonitoring?: boolean | cdk.Token; | ||
/** | ||
@@ -364,3 +364,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.KernelId`` | ||
*/ | ||
kernelId?: string | cdk.CloudFormationToken; | ||
kernelId?: string | cdk.Token; | ||
/** | ||
@@ -370,3 +370,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.KeyName`` | ||
*/ | ||
keyName?: string | cdk.CloudFormationToken; | ||
keyName?: string | cdk.Token; | ||
/** | ||
@@ -376,3 +376,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.LaunchConfigurationName`` | ||
*/ | ||
launchConfigurationName?: string | cdk.CloudFormationToken; | ||
launchConfigurationName?: string | cdk.Token; | ||
/** | ||
@@ -382,3 +382,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.PlacementTenancy`` | ||
*/ | ||
placementTenancy?: string | cdk.CloudFormationToken; | ||
placementTenancy?: string | cdk.Token; | ||
/** | ||
@@ -388,3 +388,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.RamDiskId`` | ||
*/ | ||
ramDiskId?: string | cdk.CloudFormationToken; | ||
ramDiskId?: string | cdk.Token; | ||
/** | ||
@@ -394,3 +394,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.SecurityGroups`` | ||
*/ | ||
securityGroups?: Array<string | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
securityGroups?: Array<string | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -400,3 +400,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.SpotPrice`` | ||
*/ | ||
spotPrice?: string | cdk.CloudFormationToken; | ||
spotPrice?: string | cdk.Token; | ||
/** | ||
@@ -406,3 +406,3 @@ * ``AWS::AutoScaling::LaunchConfiguration.UserData`` | ||
*/ | ||
userData?: string | cdk.CloudFormationToken; | ||
userData?: string | cdk.Token; | ||
} | ||
@@ -416,3 +416,3 @@ /** | ||
*/ | ||
static readonly resourceTypeName: string; | ||
static readonly resourceTypeName = "AWS::AutoScaling::LaunchConfiguration"; | ||
readonly launchConfigurationName: string; | ||
@@ -441,3 +441,3 @@ /** | ||
*/ | ||
deleteOnTermination?: boolean | cdk.CloudFormationToken; | ||
deleteOnTermination?: boolean | cdk.Token; | ||
/** | ||
@@ -447,3 +447,3 @@ * ``LaunchConfigurationResource.BlockDeviceProperty.Encrypted`` | ||
*/ | ||
encrypted?: boolean | cdk.CloudFormationToken; | ||
encrypted?: boolean | cdk.Token; | ||
/** | ||
@@ -453,3 +453,3 @@ * ``LaunchConfigurationResource.BlockDeviceProperty.Iops`` | ||
*/ | ||
iops?: number | cdk.CloudFormationToken; | ||
iops?: number | cdk.Token; | ||
/** | ||
@@ -459,3 +459,3 @@ * ``LaunchConfigurationResource.BlockDeviceProperty.SnapshotId`` | ||
*/ | ||
snapshotId?: string | cdk.CloudFormationToken; | ||
snapshotId?: string | cdk.Token; | ||
/** | ||
@@ -465,3 +465,3 @@ * ``LaunchConfigurationResource.BlockDeviceProperty.VolumeSize`` | ||
*/ | ||
volumeSize?: number | cdk.CloudFormationToken; | ||
volumeSize?: number | cdk.Token; | ||
/** | ||
@@ -471,3 +471,3 @@ * ``LaunchConfigurationResource.BlockDeviceProperty.VolumeType`` | ||
*/ | ||
volumeType?: string | cdk.CloudFormationToken; | ||
volumeType?: string | cdk.Token; | ||
} | ||
@@ -484,3 +484,3 @@ } | ||
*/ | ||
deviceName: string | cdk.CloudFormationToken; | ||
deviceName: string | cdk.Token; | ||
/** | ||
@@ -490,3 +490,3 @@ * ``LaunchConfigurationResource.BlockDeviceMappingProperty.Ebs`` | ||
*/ | ||
ebs?: BlockDeviceProperty | cdk.CloudFormationToken; | ||
ebs?: BlockDeviceProperty | cdk.Token; | ||
/** | ||
@@ -496,3 +496,3 @@ * ``LaunchConfigurationResource.BlockDeviceMappingProperty.NoDevice`` | ||
*/ | ||
noDevice?: boolean | cdk.CloudFormationToken; | ||
noDevice?: boolean | cdk.Token; | ||
/** | ||
@@ -502,3 +502,3 @@ * ``LaunchConfigurationResource.BlockDeviceMappingProperty.VirtualName`` | ||
*/ | ||
virtualName?: string | cdk.CloudFormationToken; | ||
virtualName?: string | cdk.Token; | ||
} | ||
@@ -516,3 +516,3 @@ } | ||
*/ | ||
autoScalingGroupName: string | cdk.CloudFormationToken; | ||
autoScalingGroupName: string | cdk.Token; | ||
/** | ||
@@ -522,3 +522,3 @@ * ``AWS::AutoScaling::LifecycleHook.LifecycleTransition`` | ||
*/ | ||
lifecycleTransition: string | cdk.CloudFormationToken; | ||
lifecycleTransition: string | cdk.Token; | ||
/** | ||
@@ -528,3 +528,3 @@ * ``AWS::AutoScaling::LifecycleHook.DefaultResult`` | ||
*/ | ||
defaultResult?: string | cdk.CloudFormationToken; | ||
defaultResult?: string | cdk.Token; | ||
/** | ||
@@ -534,3 +534,3 @@ * ``AWS::AutoScaling::LifecycleHook.HeartbeatTimeout`` | ||
*/ | ||
heartbeatTimeout?: number | cdk.CloudFormationToken; | ||
heartbeatTimeout?: number | cdk.Token; | ||
/** | ||
@@ -540,3 +540,3 @@ * ``AWS::AutoScaling::LifecycleHook.LifecycleHookName`` | ||
*/ | ||
lifecycleHookName?: string | cdk.CloudFormationToken; | ||
lifecycleHookName?: string | cdk.Token; | ||
/** | ||
@@ -546,3 +546,3 @@ * ``AWS::AutoScaling::LifecycleHook.NotificationMetadata`` | ||
*/ | ||
notificationMetadata?: string | cdk.CloudFormationToken; | ||
notificationMetadata?: string | cdk.Token; | ||
/** | ||
@@ -552,3 +552,3 @@ * ``AWS::AutoScaling::LifecycleHook.NotificationTargetARN`` | ||
*/ | ||
notificationTargetArn?: string | cdk.CloudFormationToken; | ||
notificationTargetArn?: string | cdk.Token; | ||
/** | ||
@@ -558,3 +558,3 @@ * ``AWS::AutoScaling::LifecycleHook.RoleARN`` | ||
*/ | ||
roleArn?: string | cdk.CloudFormationToken; | ||
roleArn?: string | cdk.Token; | ||
} | ||
@@ -568,3 +568,3 @@ /** | ||
*/ | ||
static readonly resourceTypeName: string; | ||
static readonly resourceTypeName = "AWS::AutoScaling::LifecycleHook"; | ||
readonly lifecycleHookName: string; | ||
@@ -594,3 +594,3 @@ /** | ||
*/ | ||
autoScalingGroupName: string | cdk.CloudFormationToken; | ||
autoScalingGroupName: string | cdk.Token; | ||
/** | ||
@@ -600,3 +600,3 @@ * ``AWS::AutoScaling::ScalingPolicy.AdjustmentType`` | ||
*/ | ||
adjustmentType?: string | cdk.CloudFormationToken; | ||
adjustmentType?: string | cdk.Token; | ||
/** | ||
@@ -606,3 +606,3 @@ * ``AWS::AutoScaling::ScalingPolicy.Cooldown`` | ||
*/ | ||
cooldown?: string | cdk.CloudFormationToken; | ||
cooldown?: string | cdk.Token; | ||
/** | ||
@@ -612,3 +612,3 @@ * ``AWS::AutoScaling::ScalingPolicy.EstimatedInstanceWarmup`` | ||
*/ | ||
estimatedInstanceWarmup?: number | cdk.CloudFormationToken; | ||
estimatedInstanceWarmup?: number | cdk.Token; | ||
/** | ||
@@ -618,3 +618,3 @@ * ``AWS::AutoScaling::ScalingPolicy.MetricAggregationType`` | ||
*/ | ||
metricAggregationType?: string | cdk.CloudFormationToken; | ||
metricAggregationType?: string | cdk.Token; | ||
/** | ||
@@ -624,3 +624,3 @@ * ``AWS::AutoScaling::ScalingPolicy.MinAdjustmentMagnitude`` | ||
*/ | ||
minAdjustmentMagnitude?: number | cdk.CloudFormationToken; | ||
minAdjustmentMagnitude?: number | cdk.Token; | ||
/** | ||
@@ -630,3 +630,3 @@ * ``AWS::AutoScaling::ScalingPolicy.PolicyType`` | ||
*/ | ||
policyType?: string | cdk.CloudFormationToken; | ||
policyType?: string | cdk.Token; | ||
/** | ||
@@ -636,3 +636,3 @@ * ``AWS::AutoScaling::ScalingPolicy.ScalingAdjustment`` | ||
*/ | ||
scalingAdjustment?: number | cdk.CloudFormationToken; | ||
scalingAdjustment?: number | cdk.Token; | ||
/** | ||
@@ -642,3 +642,3 @@ * ``AWS::AutoScaling::ScalingPolicy.StepAdjustments`` | ||
*/ | ||
stepAdjustments?: Array<ScalingPolicyResource.StepAdjustmentProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
stepAdjustments?: Array<ScalingPolicyResource.StepAdjustmentProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -648,3 +648,3 @@ * ``AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration`` | ||
*/ | ||
targetTrackingConfiguration?: ScalingPolicyResource.TargetTrackingConfigurationProperty | cdk.CloudFormationToken; | ||
targetTrackingConfiguration?: ScalingPolicyResource.TargetTrackingConfigurationProperty | cdk.Token; | ||
} | ||
@@ -658,3 +658,3 @@ /** | ||
*/ | ||
static readonly resourceTypeName: string; | ||
static readonly resourceTypeName = "AWS::AutoScaling::ScalingPolicy"; | ||
readonly scalingPolicyArn: string; | ||
@@ -683,3 +683,3 @@ /** | ||
*/ | ||
dimensions?: Array<MetricDimensionProperty | cdk.CloudFormationToken> | cdk.CloudFormationToken; | ||
dimensions?: Array<MetricDimensionProperty | cdk.Token> | cdk.Token; | ||
/** | ||
@@ -689,3 +689,3 @@ * ``ScalingPolicyResource.CustomizedMetricSpecificationProperty.MetricName`` | ||
*/ | ||
metricName: string | cdk.CloudFormationToken; | ||
metricName: string | cdk.Token; | ||
/** | ||
@@ -695,3 +695,3 @@ * ``ScalingPolicyResource.CustomizedMetricSpecificationProperty.Namespace`` | ||
*/ | ||
namespace: string | cdk.CloudFormationToken; | ||
namespace: string | cdk.Token; | ||
/** | ||
@@ -701,3 +701,3 @@ * ``ScalingPolicyResource.CustomizedMetricSpecificationProperty.Statistic`` | ||
*/ | ||
statistic: string | cdk.CloudFormationToken; | ||
statistic: string | cdk.Token; | ||
/** | ||
@@ -707,3 +707,3 @@ * ``ScalingPolicyResource.CustomizedMetricSpecificationProperty.Unit`` | ||
*/ | ||
unit?: string | cdk.CloudFormationToken; | ||
unit?: string | cdk.Token; | ||
} | ||
@@ -720,3 +720,3 @@ } | ||
*/ | ||
name: string | cdk.CloudFormationToken; | ||
name: string | cdk.Token; | ||
/** | ||
@@ -726,3 +726,3 @@ * ``ScalingPolicyResource.MetricDimensionProperty.Value`` | ||
*/ | ||
value: string | cdk.CloudFormationToken; | ||
value: string | cdk.Token; | ||
} | ||
@@ -739,3 +739,3 @@ } | ||
*/ | ||
predefinedMetricType: string | cdk.CloudFormationToken; | ||
predefinedMetricType: string | cdk.Token; | ||
/** | ||
@@ -745,3 +745,3 @@ * ``ScalingPolicyResource.PredefinedMetricSpecificationProperty.ResourceLabel`` | ||
*/ | ||
resourceLabel?: string | cdk.CloudFormationToken; | ||
resourceLabel?: string | cdk.Token; | ||
} | ||
@@ -758,3 +758,3 @@ } | ||
*/ | ||
metricIntervalLowerBound?: number | cdk.CloudFormationToken; | ||
metricIntervalLowerBound?: number | cdk.Token; | ||
/** | ||
@@ -764,3 +764,3 @@ * ``ScalingPolicyResource.StepAdjustmentProperty.MetricIntervalUpperBound`` | ||
*/ | ||
metricIntervalUpperBound?: number | cdk.CloudFormationToken; | ||
metricIntervalUpperBound?: number | cdk.Token; | ||
/** | ||
@@ -770,3 +770,3 @@ * ``ScalingPolicyResource.StepAdjustmentProperty.ScalingAdjustment`` | ||
*/ | ||
scalingAdjustment: number | cdk.CloudFormationToken; | ||
scalingAdjustment: number | cdk.Token; | ||
} | ||
@@ -783,3 +783,3 @@ } | ||
*/ | ||
customizedMetricSpecification?: CustomizedMetricSpecificationProperty | cdk.CloudFormationToken; | ||
customizedMetricSpecification?: CustomizedMetricSpecificationProperty | cdk.Token; | ||
/** | ||
@@ -789,3 +789,3 @@ * ``ScalingPolicyResource.TargetTrackingConfigurationProperty.DisableScaleIn`` | ||
*/ | ||
disableScaleIn?: boolean | cdk.CloudFormationToken; | ||
disableScaleIn?: boolean | cdk.Token; | ||
/** | ||
@@ -795,3 +795,3 @@ * ``ScalingPolicyResource.TargetTrackingConfigurationProperty.PredefinedMetricSpecification`` | ||
*/ | ||
predefinedMetricSpecification?: PredefinedMetricSpecificationProperty | cdk.CloudFormationToken; | ||
predefinedMetricSpecification?: PredefinedMetricSpecificationProperty | cdk.Token; | ||
/** | ||
@@ -801,3 +801,3 @@ * ``ScalingPolicyResource.TargetTrackingConfigurationProperty.TargetValue`` | ||
*/ | ||
targetValue: number | cdk.CloudFormationToken; | ||
targetValue: number | cdk.Token; | ||
} | ||
@@ -815,3 +815,3 @@ } | ||
*/ | ||
autoScalingGroupName: string | cdk.CloudFormationToken; | ||
autoScalingGroupName: string | cdk.Token; | ||
/** | ||
@@ -821,3 +821,3 @@ * ``AWS::AutoScaling::ScheduledAction.DesiredCapacity`` | ||
*/ | ||
desiredCapacity?: number | cdk.CloudFormationToken; | ||
desiredCapacity?: number | cdk.Token; | ||
/** | ||
@@ -827,3 +827,3 @@ * ``AWS::AutoScaling::ScheduledAction.EndTime`` | ||
*/ | ||
endTime?: string | cdk.CloudFormationToken; | ||
endTime?: string | cdk.Token; | ||
/** | ||
@@ -833,3 +833,3 @@ * ``AWS::AutoScaling::ScheduledAction.MaxSize`` | ||
*/ | ||
maxSize?: number | cdk.CloudFormationToken; | ||
maxSize?: number | cdk.Token; | ||
/** | ||
@@ -839,3 +839,3 @@ * ``AWS::AutoScaling::ScheduledAction.MinSize`` | ||
*/ | ||
minSize?: number | cdk.CloudFormationToken; | ||
minSize?: number | cdk.Token; | ||
/** | ||
@@ -845,3 +845,3 @@ * ``AWS::AutoScaling::ScheduledAction.Recurrence`` | ||
*/ | ||
recurrence?: string | cdk.CloudFormationToken; | ||
recurrence?: string | cdk.Token; | ||
/** | ||
@@ -851,3 +851,3 @@ * ``AWS::AutoScaling::ScheduledAction.StartTime`` | ||
*/ | ||
startTime?: string | cdk.CloudFormationToken; | ||
startTime?: string | cdk.Token; | ||
} | ||
@@ -861,3 +861,3 @@ /** | ||
*/ | ||
static readonly resourceTypeName: string; | ||
static readonly resourceTypeName = "AWS::AutoScaling::ScheduledAction"; | ||
readonly scheduledActionName: string; | ||
@@ -864,0 +864,0 @@ /** |
{ | ||
"name": "@aws-cdk/aws-autoscaling", | ||
"version": "0.10.0", | ||
"version": "0.11.0", | ||
"description": "The CDK Construct Library for AWS::AutoScaling", | ||
@@ -55,17 +55,17 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@aws-cdk/assert": "^0.10.0", | ||
"cdk-build-tools": "^0.10.0", | ||
"cdk-integ-tools": "^0.10.0", | ||
"cfn2ts": "^0.10.0", | ||
"pkglint": "^0.10.0" | ||
"@aws-cdk/assert": "^0.11.0", | ||
"cdk-build-tools": "^0.11.0", | ||
"cdk-integ-tools": "^0.11.0", | ||
"cfn2ts": "^0.11.0", | ||
"pkglint": "^0.11.0" | ||
}, | ||
"dependencies": { | ||
"@aws-cdk/aws-ec2": "^0.10.0", | ||
"@aws-cdk/aws-elasticloadbalancing": "^0.10.0", | ||
"@aws-cdk/aws-elasticloadbalancingv2": "^0.10.0", | ||
"@aws-cdk/aws-iam": "^0.10.0", | ||
"@aws-cdk/aws-sns": "^0.10.0", | ||
"@aws-cdk/cdk": "^0.10.0" | ||
"@aws-cdk/aws-ec2": "^0.11.0", | ||
"@aws-cdk/aws-elasticloadbalancing": "^0.11.0", | ||
"@aws-cdk/aws-elasticloadbalancingv2": "^0.11.0", | ||
"@aws-cdk/aws-iam": "^0.11.0", | ||
"@aws-cdk/aws-sns": "^0.11.0", | ||
"@aws-cdk/cdk": "^0.11.0" | ||
}, | ||
"homepage": "https://github.com/awslabs/aws-cdk" | ||
} |
@@ -49,3 +49,3 @@ { | ||
}, | ||
"VPCPublicSubnet1RouteTableAssociatioin249B4093": { | ||
"VPCPublicSubnet1RouteTableAssociation0B0896DC": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -130,3 +130,3 @@ "Properties": { | ||
}, | ||
"VPCPublicSubnet2RouteTableAssociatioin766225D7": { | ||
"VPCPublicSubnet2RouteTableAssociation5A808732": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -211,3 +211,3 @@ "Properties": { | ||
}, | ||
"VPCPublicSubnet3RouteTableAssociatioinF4E24B3B": { | ||
"VPCPublicSubnet3RouteTableAssociation427FE0C6": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -292,3 +292,3 @@ "Properties": { | ||
}, | ||
"VPCPrivateSubnet1RouteTableAssociatioin77F7CA18": { | ||
"VPCPrivateSubnet1RouteTableAssociation347902D1": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -347,3 +347,3 @@ "Properties": { | ||
}, | ||
"VPCPrivateSubnet2RouteTableAssociatioinC31995B4": { | ||
"VPCPrivateSubnet2RouteTableAssociation0C73D413": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -402,3 +402,3 @@ "Properties": { | ||
}, | ||
"VPCPrivateSubnet3RouteTableAssociatioin3B0B6B38": { | ||
"VPCPrivateSubnet3RouteTableAssociationC28D144E": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -598,3 +598,2 @@ "Properties": { | ||
], | ||
"Tags": [], | ||
"VpcId": { | ||
@@ -601,0 +600,0 @@ "Ref": "VPCB9E5F0B4" |
@@ -8,3 +8,3 @@ #!/usr/bin/env node | ||
const autoscaling = require("../lib"); | ||
const app = new cdk.App(process.argv); | ||
const app = new cdk.App(); | ||
const stack = new cdk.Stack(app, 'aws-cdk-ec2-integ'); | ||
@@ -28,3 +28,3 @@ const vpc = new ec2.VpcNetwork(stack, 'VPC', { | ||
lb.addListener({ externalPort: 80 }); | ||
process.stdout.write(app.run()); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXNnLXctY2xhc3NpYy1sb2FkYmFsYW5jZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hc2ctdy1jbGFzc2ljLWxvYWRiYWxhbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBeUM7QUFDekMseURBQTBEO0FBQzFELG9DQUFxQztBQUNyQyxzQ0FBdUM7QUFFdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7SUFDM0MsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDLENBQUM7QUFFSCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO0lBQzNELEdBQUc7SUFDSCxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUYsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixFQUFFO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQzNDLEdBQUc7SUFDSCxjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsRUFBRTtLQUNUO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFckMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGVsYiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IGF1dG9zY2FsaW5nID0gcmVxdWlyZSgnLi4vbGliJyk7XG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKHByb2Nlc3MuYXJndik7XG5jb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnYXdzLWNkay1lYzItaW50ZWcnKTtcblxuY29uc3QgdnBjID0gbmV3IGVjMi5WcGNOZXR3b3JrKHN0YWNrLCAnVlBDJywge1xuICBtYXhBWnM6IDNcbn0pO1xuXG5jb25zdCBhc2cgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ0ZsZWV0Jywge1xuICB2cGMsXG4gIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLkJ1cnN0YWJsZTIsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxufSk7XG5cbmNvbnN0IGxiID0gbmV3IGVsYi5Mb2FkQmFsYW5jZXIoc3RhY2ssICdMQicsIHtcbiAgdnBjLFxuICBpbnRlcm5ldEZhY2luZzogdHJ1ZSxcbiAgaGVhbHRoQ2hlY2s6IHtcbiAgICBwb3J0OiA4MFxuICB9LFxufSk7XG5cbmxiLmFkZFRhcmdldChhc2cpO1xubGIuYWRkTGlzdGVuZXIoeyBleHRlcm5hbFBvcnQ6IDgwIH0pO1xuXG5wcm9jZXNzLnN0ZG91dC53cml0ZShhcHAucnVuKCkpO1xuIl19 | ||
app.run(); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXNnLXctY2xhc3NpYy1sb2FkYmFsYW5jZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hc2ctdy1jbGFzc2ljLWxvYWRiYWxhbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBeUM7QUFDekMseURBQTBEO0FBQzFELG9DQUFxQztBQUNyQyxzQ0FBdUM7QUFFdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRXRELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQzNDLE1BQU0sRUFBRSxDQUFDO0NBQ1YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUMzRCxHQUFHO0lBQ0gsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzVGLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtDQUN6QyxDQUFDLENBQUM7QUFFSCxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRTtJQUMzQyxHQUFHO0lBQ0gsY0FBYyxFQUFFLElBQUk7SUFDcEIsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLEVBQUU7S0FDVDtDQUNGLENBQUMsQ0FBQztBQUVILEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXJDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCBlYzIgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtZWMyJyk7XG5pbXBvcnQgZWxiID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5nJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgYXV0b3NjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdhd3MtY2RrLWVjMi1pbnRlZycpO1xuXG5jb25zdCB2cGMgPSBuZXcgZWMyLlZwY05ldHdvcmsoc3RhY2ssICdWUEMnLCB7XG4gIG1heEFaczogM1xufSk7XG5cbmNvbnN0IGFzZyA9IG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnRmxlZXQnLCB7XG4gIHZwYyxcbiAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuQnVyc3RhYmxlMiwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG59KTtcblxuY29uc3QgbGIgPSBuZXcgZWxiLkxvYWRCYWxhbmNlcihzdGFjaywgJ0xCJywge1xuICB2cGMsXG4gIGludGVybmV0RmFjaW5nOiB0cnVlLFxuICBoZWFsdGhDaGVjazoge1xuICAgIHBvcnQ6IDgwXG4gIH0sXG59KTtcblxubGIuYWRkVGFyZ2V0KGFzZyk7XG5sYi5hZGRMaXN0ZW5lcih7IGV4dGVybmFsUG9ydDogODAgfSk7XG5cbmFwcC5ydW4oKTtcbiJdfQ== |
@@ -49,3 +49,3 @@ { | ||
}, | ||
"VPCPublicSubnet1RouteTableAssociatioin249B4093": { | ||
"VPCPublicSubnet1RouteTableAssociation0B0896DC": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -130,3 +130,3 @@ "Properties": { | ||
}, | ||
"VPCPublicSubnet2RouteTableAssociatioin766225D7": { | ||
"VPCPublicSubnet2RouteTableAssociation5A808732": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -211,3 +211,3 @@ "Properties": { | ||
}, | ||
"VPCPrivateSubnet1RouteTableAssociatioin77F7CA18": { | ||
"VPCPrivateSubnet1RouteTableAssociation347902D1": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -266,3 +266,3 @@ "Properties": { | ||
}, | ||
"VPCPrivateSubnet2RouteTableAssociatioinC31995B4": { | ||
"VPCPrivateSubnet2RouteTableAssociation0C73D413": { | ||
"Type": "AWS::EC2::SubnetRouteTableAssociation", | ||
@@ -477,3 +477,3 @@ "Properties": { | ||
"CidrIp": "0.0.0.0/0", | ||
"Description": "Open to the world", | ||
"Description": "Allow from anyone on port 80", | ||
"FromPort": 80, | ||
@@ -484,3 +484,2 @@ "IpProtocol": "tcp", | ||
], | ||
"Tags": [], | ||
"VpcId": { | ||
@@ -536,2 +535,3 @@ "Ref": "VPCB9E5F0B4" | ||
"Protocol": "HTTP", | ||
"TargetType": "instance", | ||
"VpcId": { | ||
@@ -545,2 +545,2 @@ "Ref": "VPCB9E5F0B4" | ||
} | ||
} | ||
} |
@@ -8,3 +8,3 @@ #!/usr/bin/env node | ||
const autoscaling = require("../lib"); | ||
const app = new cdk.App(process.argv); | ||
const app = new cdk.App(); | ||
const stack = new cdk.Stack(app, 'aws-cdk-ec2-integ'); | ||
@@ -31,3 +31,3 @@ const vpc = new ec2.VpcNetwork(stack, 'VPC', { | ||
listener.connections.allowDefaultPortFromAnyIpv4('Open to the world'); | ||
process.stdout.write(app.run()); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXNnLXctZWxidjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hc2ctdy1lbGJ2Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBeUM7QUFDekMsNkRBQThEO0FBQzlELG9DQUFxQztBQUNyQyxzQ0FBdUM7QUFFdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7SUFDM0MsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDLENBQUM7QUFFSCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO0lBQzNELEdBQUc7SUFDSCxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUYsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixFQUFFO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sRUFBRSxHQUFHLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDeEQsR0FBRztJQUNILGNBQWMsRUFBRSxJQUFJO0NBQ3JCLENBQUMsQ0FBQztBQUVILE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFO0lBQzFDLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsSUFBSSxFQUFFLEVBQUU7SUFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7Q0FDZixDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFdEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGVsYnYyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCBhdXRvc2NhbGluZyA9IHJlcXVpcmUoJy4uL2xpYicpO1xuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcChwcm9jZXNzLmFyZ3YpO1xuY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ2F3cy1jZGstZWMyLWludGVnJyk7XG5cbmNvbnN0IHZwYyA9IG5ldyBlYzIuVnBjTmV0d29yayhzdGFjaywgJ1ZQQycsIHtcbiAgbWF4QVpzOiAyXG59KTtcblxuY29uc3QgYXNnID0gbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdGbGVldCcsIHtcbiAgdnBjLFxuICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5CdXJzdGFibGUyLCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbn0pO1xuXG5jb25zdCBsYiA9IG5ldyBlbGJ2Mi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcihzdGFjaywgJ0xCJywge1xuICB2cGMsXG4gIGludGVybmV0RmFjaW5nOiB0cnVlXG59KTtcblxuY29uc3QgbGlzdGVuZXIgPSBsYi5hZGRMaXN0ZW5lcignTGlzdGVuZXInLCB7XG4gIHBvcnQ6IDgwLFxufSk7XG5cbmxpc3RlbmVyLmFkZFRhcmdldHMoJ1RhcmdldCcsIHtcbiAgcG9ydDogODAsXG4gIHRhcmdldHM6IFthc2ddXG59KTtcblxubGlzdGVuZXIuY29ubmVjdGlvbnMuYWxsb3dEZWZhdWx0UG9ydEZyb21BbnlJcHY0KCdPcGVuIHRvIHRoZSB3b3JsZCcpO1xuXG5wcm9jZXNzLnN0ZG91dC53cml0ZShhcHAucnVuKCkpO1xuIl19 | ||
app.run(); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuYXNnLXctZWxidjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5hc2ctdy1lbGJ2Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx3Q0FBeUM7QUFDekMsNkRBQThEO0FBQzlELG9DQUFxQztBQUNyQyxzQ0FBdUM7QUFFdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRXRELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQzNDLE1BQU0sRUFBRSxDQUFDO0NBQ1YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUMzRCxHQUFHO0lBQ0gsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzVGLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtDQUN6QyxDQUFDLENBQUM7QUFFSCxNQUFNLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3hELEdBQUc7SUFDSCxjQUFjLEVBQUUsSUFBSTtDQUNyQixDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtJQUMxQyxJQUFJLEVBQUUsRUFBRTtDQUNULENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO0lBQzVCLElBQUksRUFBRSxFQUFFO0lBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBRXRFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCBlYzIgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtZWMyJyk7XG5pbXBvcnQgZWxidjIgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MicpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IGF1dG9zY2FsaW5nID0gcmVxdWlyZSgnLi4vbGliJyk7XG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnYXdzLWNkay1lYzItaW50ZWcnKTtcblxuY29uc3QgdnBjID0gbmV3IGVjMi5WcGNOZXR3b3JrKHN0YWNrLCAnVlBDJywge1xuICBtYXhBWnM6IDJcbn0pO1xuXG5jb25zdCBhc2cgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ0ZsZWV0Jywge1xuICB2cGMsXG4gIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLkJ1cnN0YWJsZTIsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxufSk7XG5cbmNvbnN0IGxiID0gbmV3IGVsYnYyLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyKHN0YWNrLCAnTEInLCB7XG4gIHZwYyxcbiAgaW50ZXJuZXRGYWNpbmc6IHRydWVcbn0pO1xuXG5jb25zdCBsaXN0ZW5lciA9IGxiLmFkZExpc3RlbmVyKCdMaXN0ZW5lcicsIHtcbiAgcG9ydDogODAsXG59KTtcblxubGlzdGVuZXIuYWRkVGFyZ2V0cygnVGFyZ2V0Jywge1xuICBwb3J0OiA4MCxcbiAgdGFyZ2V0czogW2FzZ11cbn0pO1xuXG5saXN0ZW5lci5jb25uZWN0aW9ucy5hbGxvd0RlZmF1bHRQb3J0RnJvbUFueUlwdjQoJ09wZW4gdG8gdGhlIHdvcmxkJyk7XG5cbmFwcC5ydW4oKTtcbiJdfQ== |
"use strict"; | ||
const assert_1 = require("@aws-cdk/assert"); | ||
const ec2 = require("@aws-cdk/aws-ec2"); | ||
const iam = require("@aws-cdk/aws-iam"); | ||
const cdk = require("@aws-cdk/cdk"); | ||
@@ -143,3 +144,3 @@ const autoscaling = require("../lib"); | ||
}); | ||
fleet.addToRolePolicy(new cdk.PolicyStatement() | ||
fleet.addToRolePolicy(new iam.PolicyStatement() | ||
.addAction('test:SpecialName') | ||
@@ -303,2 +304,2 @@ .addAllResources()); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hdXRvLXNjYWxpbmctZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmF1dG8tc2NhbGluZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXFFO0FBQ3JFLHdDQUF5QztBQUN6QyxvQ0FBcUM7QUFFckMsc0NBQXVDO0FBc1R2QyxTQUFTLE9BQU8sQ0FBQyxLQUFnQjtJQUMvQixPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDM0MsS0FBSyxFQUFFLFFBQVE7UUFDZixpQkFBaUIsRUFBRSxDQUFFLEtBQUssQ0FBRTtRQUM1QixlQUFlLEVBQUUsQ0FBRSxNQUFNLENBQUU7UUFDM0IsZ0JBQWdCLEVBQUUsQ0FBRSxNQUFNLENBQUU7UUFDNUIsaUJBQWlCLEVBQUUsRUFBRTtLQUN0QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN6QyxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNoRCxlQUFlLEVBQUUsYUFBYTtLQUMvQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBaFVELGlCQUFTO0lBQ1AsZUFBZSxDQUFDLElBQVU7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDcEcsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLElBQUksV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDakQsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxh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QUNsQjtZQUNELElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBRTNELE9BQU87UUFDUCxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsb0NBQW9DLEVBQUU7WUFDbEUsSUFBSSxFQUFFO2dCQUNKO29CQUNFLEdBQUcsRUFBRSxXQUFXO29CQUNoQixLQUFLLEVBQUUsTUFBTTtvQkFDYixpQkFBaUIsRUFBRSxJQUFJO2lCQUN4QjtnQkFDRDtvQkFDRSxHQUFHLEVBQUUsTUFBTTtvQkFDWCxLQUFLLEVBQUUsU0FBUztvQkFDaEIsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEI7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLFVBQVU7b0JBQ2YsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLGlCQUFpQixFQUFFLEtBQUs7aUJBQ3pCO2FBQ0Y7U0FDRixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBoYXZlUmVzb3VyY2UsIFJlc291cmNlUGFydCB9IGZyb20gJ0Bhd3MtY2RrL2Fzc2VydCc7XG5pbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCBhdXRvc2NhbGluZyA9IHJlcXVpcmUoJy4uL2xpYicpO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG5cbmV4cG9ydCA9IHtcbiAgJ2RlZmF1bHQgZmxlZXQnKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiOiB7XG4gICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJHcm91cERlc2NyaXB0aW9uXCI6IFwiTXlGbGVldC9JbnN0YW5jZVNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cEVncmVzc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkNpZHJJcFwiOiBcIjAuMC4wLjAvMFwiLFxuICAgICAgICAgICAgICAgIFwiRGVzY3JpcHRpb25cIjogXCJPdXRib3VuZCB0cmFmZmljIGFsbG93ZWQgYnkgZGVmYXVsdFwiLFxuICAgICAgICAgICAgICAgIFwiRnJvbVBvcnRcIjogLTEsXG4gICAgICAgICAgICAgICAgXCJJcFByb3RvY29sXCI6IFwiLTFcIixcbiAgICAgICAgICAgICAgICBcIlRvUG9ydFwiOiAtMVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJTZWN1cml0eUdyb3VwSW5ncmVzc1wiOiBbXSxcbiAgICAgICAgICAgIFwiVGFnc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIktleVwiOiBcIk5hbWVcIixcbiAgICAgICAgICAgICAgICBcIlZhbHVlXCI6IFwiTXlGbGVldFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFwiVnBjSWRcIjogXCJteS12cGNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VSb2xlMjVBODRBQjhcIjoge1xuICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpSb2xlXCIsXG4gICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwiQXNzdW1lUm9sZVBvbGljeURvY3VtZW50XCI6IHtcbiAgICAgICAgICAgICAgXCJTdGF0ZW1lbnRcIjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgXCJBY3Rpb25cIjogXCJzdHM6QXNzdW1lUm9sZVwiLFxuICAgICAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgICAgICAgICAgXCJQcmluY2lwYWxcIjoge1xuICAgICAgICAgICAgICBcIlNlcnZpY2VcIjogXCJlYzIuYW1hem9uYXdzLmNvbVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VQcm9maWxlNzBBNTg0OTZcIjoge1xuICAgICAgICBcIlR5cGVcIjogXCJBV1M6OklBTTo6SW5zdGFuY2VQcm9maWxlXCIsXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJSb2xlc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0SW5zdGFuY2VSb2xlMjVBODRBQjhcIlxuICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJNeUZsZWV0TGF1bmNoQ29uZmlnNUQ3Rjk4MDFcIjoge1xuICAgICAgICBcIlR5cGVcIjogXCJBV1M6OkF1dG9TY2FsaW5nOjpMYXVuY2hDb25maWd1cmF0aW9uXCIsXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJJYW1JbnN0YW5jZVByb2ZpbGVcIjoge1xuICAgICAgICAgIFwiUmVmXCI6IFwiTXlGbGVldEluc3RhbmNlUHJvZmlsZTcwQTU4NDk2XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiSW1hZ2VJZFwiOiBcImR1bW15XCIsXG4gICAgICAgICAgXCJJbnN0YW5jZVR5cGVcIjogXCJtNC5taWNyb1wiLFxuICAgICAgICAgIFwiU2VjdXJpdHlHcm91cHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiLFxuICAgICAgICAgICAgXCJHcm91cElkXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBcIlVzZXJEYXRhXCI6IHtcbiAgICAgICAgICBcIkZuOjpCYXNlNjRcIjogXCIjIS9iaW4vYmFzaFxcblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIkRlcGVuZHNPblwiOiBbXG4gICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VSb2xlMjVBODRBQjhcIlxuICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiTXlGbGVldEFTRzg4RTU1ODg2XCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLFxuICAgICAgICBcIlVwZGF0ZVBvbGljeVwiOiB7XG4gICAgICAgICAgXCJBdXRvU2NhbGluZ1NjaGVkdWxlZEFjdGlvblwiOiB7XG4gICAgICAgICAgXCJJZ25vcmVVbm1vZGlmaWVkR3JvdXBTaXplUHJvcGVydGllc1wiOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgIFwiRGVzaXJlZENhcGFjaXR5XCI6IFwiMVwiLFxuICAgICAgICAgIFwiTGF1bmNoQ29uZmlndXJhdGlvbk5hbWVcIjoge1xuICAgICAgICAgIFwiUmVmXCI6IFwiTXlGbGVldExhdW5jaENvbmZpZzVEN0Y5ODAxXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiVGFnc1wiOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiS2V5XCI6IFwiTmFtZVwiLFxuICAgICAgICAgICAgICBcIlByb3BhZ2F0ZUF0TGF1bmNoXCI6IHRydWUsXG4gICAgICAgICAgICAgIFwiVmFsdWVcIjogXCJNeUZsZWV0XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuXG4gICAgICAgICAgXCJNYXhTaXplXCI6IFwiMVwiLFxuICAgICAgICAgIFwiTWluU2l6ZVwiOiBcIjFcIixcbiAgICAgICAgICBcIlZQQ1pvbmVJZGVudGlmaWVyXCI6IFtcbiAgICAgICAgICAgIFwicHJpMVwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdhZGRUb1JvbGVQb2xpY3kgY2FuIGJlIHVzZWQgdG8gYWRkIHN0YXRlbWVudHMgdG8gdGhlIHJvbGUgcG9saWN5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgIGNvbnN0IHZwYyA9IG1vY2tWcGMoc3RhY2spO1xuXG4gICAgY29uc3QgZmxlZXQgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjXG4gICAgfSk7XG5cbiAgICBmbGVldC5hZGRUb1JvbGVQb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgLmFkZEFjdGlvbigndGVzdDpTcGVjaWFsTmFtZScpXG4gICAgICAuYWRkQWxsUmVzb3VyY2VzKCkpO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6SUFNOjpQb2xpY3knLCB7XG4gICAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBBY3Rpb246IFwidGVzdDpTcGVjaWFsTmFtZVwiLFxuICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICBSZXNvdXJjZTogXCIqXCJcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgICB9LFxuICAgIH0pKTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnY2FuIGNvbmZpZ3VyZSByZXBsYWNpbmcgdXBkYXRlJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYyxcbiAgICAgIHVwZGF0ZVR5cGU6IGF1dG9zY2FsaW5nLlVwZGF0ZVR5cGUuUmVwbGFjaW5nVXBkYXRlLFxuICAgICAgcmVwbGFjaW5nVXBkYXRlTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IDUwXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICBVcGRhdGVQb2xpY3k6IHtcbiAgICAgIEF1dG9TY2FsaW5nUmVwbGFjaW5nVXBkYXRlOiB7XG4gICAgICBXaWxsUmVwbGFjZTogdHJ1ZVxuICAgICAgfVxuICAgIH0sXG4gICAgQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgIEF1dG9TY2FsaW5nQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgIE1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiA1MFxuICAgICAgfVxuICAgIH1cbiAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnY2FuIGNvbmZpZ3VyZSByb2xsaW5nIHVwZGF0ZScodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgIGNvbnN0IHZwYyA9IG1vY2tWcGMoc3RhY2spO1xuXG4gICAgLy8gV0hFTlxuICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICB2cGMsXG4gICAgICB1cGRhdGVUeXBlOiBhdXRvc2NhbGluZy5VcGRhdGVUeXBlLlJvbGxpbmdVcGRhdGUsXG4gICAgICByb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbjoge1xuICAgICAgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IDUwLFxuICAgICAgcGF1c2VUaW1lU2VjOiAzNDVcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZShcIkFXUzo6QXV0b1NjYWxpbmc6OkF1dG9TY2FsaW5nR3JvdXBcIiwge1xuICAgIFVwZGF0ZVBvbGljeToge1xuICAgICAgXCJBdXRvU2NhbGluZ1JvbGxpbmdVcGRhdGVcIjoge1xuICAgICAgXCJNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudFwiOiA1MCxcbiAgICAgIFwiV2FpdE9uUmVzb3VyY2VTaWduYWxzXCI6IHRydWUsXG4gICAgICBcIlBhdXNlVGltZVwiOiBcIlBUNU00NVNcIixcbiAgICAgIFwiU3VzcGVuZFByb2Nlc3Nlc1wiOiBbIFwiSGVhbHRoQ2hlY2tcIiwgXCJSZXBsYWNlVW5oZWFsdGh5XCIsIFwiQVpSZWJhbGFuY2VcIiwgXCJBbGFybU5vdGlmaWNhdGlvblwiLCBcIlNjaGVkdWxlZEFjdGlvbnNcIiBdXG4gICAgICB9LFxuICAgIH1cbiAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnY2FuIGNvbmZpZ3VyZSByZXNvdXJjZSBzaWduYWxzJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYyxcbiAgICAgIHJlc291cmNlU2lnbmFsQ291bnQ6IDUsXG4gICAgICByZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWM6IDY2NlxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgIFJlc291cmNlU2lnbmFsOiB7XG4gICAgICBDb3VudDogNSxcbiAgICAgIFRpbWVvdXQ6ICdQVDExTTZTJ1xuICAgICAgfSxcbiAgICB9XG4gICAgfSwgUmVzb3VyY2VQYXJ0LkNvbXBsZXRlRGVmaW5pdGlvbikpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG4gICdjYW4gYWRkIFNlY3VyaXR5IEdyb3VwIHRvIEZsZWV0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAvLyBXSEVOXG4gICAgY29uc3QgYXNnID0gbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYyxcbiAgICB9KTtcbiAgICBhc2cuYWRkU2VjdXJpdHlHcm91cChtb2NrU2VjdXJpdHlHcm91cChzdGFjaykpO1xuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6TGF1bmNoQ29uZmlndXJhdGlvblwiLCB7XG4gICAgICBTZWN1cml0eUdyb3VwczogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlU2VjdXJpdHlHcm91cDc3NEU4MjM0XCIsXG4gICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgJ21vc3Qtc2VjdXJlJ10sXG4gICAgfSkpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuICAnY2FuIHNldCB0YWdzJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAvLyBXSEVOXG4gICAgY29uc3QgYXNnID0gbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYyxcbiAgICAgIHVwZGF0ZVR5cGU6IGF1dG9zY2FsaW5nLlVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZSxcbiAgICAgIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiA1MCxcbiAgICAgICAgcGF1c2VUaW1lU2VjOiAzNDVcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7c3VwZXJmb29kOiAnYWNhaSd9LFxuICAgIH0pO1xuICAgIGFzZy50YWdzLnNldFRhZygnbm90c3VwZXInLCAnY2FyYW1lbCcsIHtwcm9wYWdhdGU6IGZhbHNlfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICAgIFRhZ3M6IFtcbiAgICAgICAge1xuICAgICAgICAgIEtleTogJ3N1cGVyZm9vZCcsXG4gICAgICAgICAgVmFsdWU6ICdhY2FpJyxcbiAgICAgICAgICBQcm9wYWdhdGVBdExhdW5jaDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIEtleTogJ05hbWUnLFxuICAgICAgICAgIFZhbHVlOiAnTXlGbGVldCcsXG4gICAgICAgICAgUHJvcGFnYXRlQXRMYXVuY2g6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBLZXk6ICdub3RzdXBlcicsXG4gICAgICAgICAgVmFsdWU6ICdjYXJhbWVsJyxcbiAgICAgICAgICBQcm9wYWdhdGVBdExhdW5jaDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfSkpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxufTtcblxuZnVuY3Rpb24gbW9ja1ZwYyhzdGFjazogY2RrLlN0YWNrKSB7XG4gIHJldHVybiBlYzIuVnBjTmV0d29yay5pbXBvcnQoc3RhY2ssICdNeVZwYycsIHtcbiAgICB2cGNJZDogJ215LXZwYycsXG4gICAgYXZhaWxhYmlsaXR5Wm9uZXM6IFsgJ2F6MScgXSxcbiAgICBwdWJsaWNTdWJuZXRJZHM6IFsgJ3B1YjEnIF0sXG4gICAgcHJpdmF0ZVN1Ym5ldElkczogWyAncHJpMScgXSxcbiAgICBpc29sYXRlZFN1Ym5ldElkczogW10sXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtb2NrU2VjdXJpdHlHcm91cChzdGFjazogY2RrLlN0YWNrKSB7XG4gIHJldHVybiBlYzIuU2VjdXJpdHlHcm91cFJlZi5pbXBvcnQoc3RhY2ssICdNeVNHJywge1xuICAgIHNlY3VyaXR5R3JvdXBJZDogJ21vc3Qtc2VjdXJlJyxcbiAgfSk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hdXRvLXNjYWxpbmctZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmF1dG8tc2NhbGluZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXFFO0FBQ3JFLHdDQUF5QztBQUN6Qyx3Q0FBeUM7QUFDekMsb0NBQXFDO0FBRXJDLHNDQUF1QztBQXNUdkMsU0FBUyxPQUFPLENBQUMsS0FBZ0I7SUFDL0IsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzNDLEtBQUssRUFBRSxRQUFRO1FBQ2YsaUJBQWlCLEVBQUUsQ0FBRSxLQUFLLENBQUU7UUFDNUIsZUFBZSxFQUFFLENBQUUsTUFBTSxDQUFFO1FBQzNCLGdCQUFnQixFQUFFLENBQUUsTUFBTSxDQUFFO1FBQzVCLGlCQUFpQixFQUFFLEVBQUU7S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBZ0I7SUFDekMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDaEQsZUFBZSxFQUFFLGFBQWE7S0FDL0IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQWhVRCxpQkFBUztJQUNQLGVBQWUsQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2pELFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FB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WSxFQUFFLEdBQUc7YUFDbEI7WUFDRCxJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDO1NBQzFCLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUUzRCxPQUFPO1FBQ1AsZUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBWSxDQUFDLG9DQUFvQyxFQUFFO1lBQ2xFLElBQUksRUFBRTtnQkFDSjtvQkFDRSxHQUFHLEVBQUUsV0FBVztvQkFDaEIsS0FBSyxFQUFFLE1BQU07b0JBQ2IsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEI7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLE1BQU07b0JBQ1gsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCO2dCQUNEO29CQUNFLEdBQUcsRUFBRSxVQUFVO29CQUNmLEtBQUssRUFBRSxTQUFTO29CQUNoQixpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlLCBSZXNvdXJjZVBhcnQgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGVjMiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1lYzInKTtcbmltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IGF1dG9zY2FsaW5nID0gcmVxdWlyZSgnLi4vbGliJyk7XG5cbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcblxuZXhwb3J0ID0ge1xuICAnZGVmYXVsdCBmbGVldCcodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICB2cGNcbiAgICB9KTtcblxuICAgIGV4cGVjdChzdGFjaykudG9NYXRjaCh7XG4gICAgICBcIlJlc291cmNlc1wiOiB7XG4gICAgICAgIFwiTXlGbGVldEluc3RhbmNlU2VjdXJpdHlHcm91cDc3NEU4MjM0XCI6IHtcbiAgICAgICAgICBcIlR5cGVcIjogXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cFwiLFxuICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcIkdyb3VwRGVzY3JpcHRpb25cIjogXCJNeUZsZWV0L0luc3RhbmNlU2VjdXJpdHlHcm91cFwiLFxuICAgICAgICAgICAgXCJTZWN1cml0eUdyb3VwRWdyZXNzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiQ2lkcklwXCI6IFwiMC4wLjAuMC8wXCIsXG4gICAgICAgICAgICAgICAgXCJEZXNjcmlwdGlvblwiOiBcIk91dGJvdW5kIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0XCIsXG4gICAgICAgICAgICAgICAgXCJGcm9tUG9ydFwiOiAtMSxcbiAgICAgICAgICAgICAgICBcIklwUHJvdG9jb2xcIjogXCItMVwiLFxuICAgICAgICAgICAgICAgIFwiVG9Qb3J0XCI6IC0xXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIlNlY3VyaXR5R3JvdXBJbmdyZXNzXCI6IFtdLFxuICAgICAgICAgICAgXCJUYWdzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiS2V5XCI6IFwiTmFtZVwiLFxuICAgICAgICAgICAgICAgIFwiVmFsdWVcIjogXCJNeUZsZWV0XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgXCJWcGNJZFwiOiBcIm15LXZwY1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiOiB7XG4gICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpJQU06OlJvbGVcIixcbiAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnRcIjoge1xuICAgICAgICAgICAgICBcIlN0YXRlbWVudFwiOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFjdGlvblwiOiBcInN0czpBc3N1bWVSb2xlXCIsXG4gICAgICAgICAgICBcIkVmZmVjdFwiOiBcIkFsbG93XCIsXG4gICAgICAgICAgICBcIlByaW5jaXBhbFwiOiB7XG4gICAgICAgICAgICAgIFwiU2VydmljZVwiOiBcImVjMi5hbWF6b25hd3MuY29tXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFwiVmVyc2lvblwiOiBcIjIwMTItMTAtMTdcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVByb2ZpbGU3MEE1ODQ5NlwiOiB7XG4gICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpJbnN0YW5jZVByb2ZpbGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlJvbGVzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIk15RmxlZXRMYXVuY2hDb25maWc1RDdGOTgwMVwiOiB7XG4gICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6QXV0b1NjYWxpbmc6OkxhdW5jaENvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIklhbUluc3RhbmNlUHJvZmlsZVwiOiB7XG4gICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0SW5zdGFuY2VQcm9maWxlNzBBNTg0OTZcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJJbWFnZUlkXCI6IFwiZHVtbXlcIixcbiAgICAgICAgICBcIkluc3RhbmNlVHlwZVwiOiBcIm00Lm1pY3JvXCIsXG4gICAgICAgICAgXCJTZWN1cml0eUdyb3Vwc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlU2VjdXJpdHlHcm91cDc3NEU4MjM0XCIsXG4gICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFwiVXNlckRhdGFcIjoge1xuICAgICAgICAgIFwiRm46OkJhc2U2NFwiOiBcIiMhL2Jpbi9iYXNoXFxuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiRGVwZW5kc09uXCI6IFtcbiAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJNeUZsZWV0QVNHODhFNTU4ODZcIjoge1xuICAgICAgICBcIlR5cGVcIjogXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsXG4gICAgICAgIFwiVXBkYXRlUG9saWN5XCI6IHtcbiAgICAgICAgICBcIkF1dG9TY2FsaW5nU2NoZWR1bGVkQWN0aW9uXCI6IHtcbiAgICAgICAgICBcIklnbm9yZVVubW9kaWZpZWRHcm91cFNpemVQcm9wZXJ0aWVzXCI6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJEZXNpcmVkQ2FwYWNpdHlcIjogXCIxXCIsXG4gICAgICAgICAgXCJMYXVuY2hDb25maWd1cmF0aW9uTmFtZVwiOiB7XG4gICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0TGF1bmNoQ29uZmlnNUQ3Rjk4MDFcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJUYWdzXCI6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJLZXlcIjogXCJOYW1lXCIsXG4gICAgICAgICAgICAgIFwiUHJvcGFnYXRlQXRMYXVuY2hcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJWYWx1ZVwiOiBcIk15RmxlZXRcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG5cbiAgICAgICAgICBcIk1heFNpemVcIjogXCIxXCIsXG4gICAgICAgICAgXCJNaW5TaXplXCI6IFwiMVwiLFxuICAgICAgICAgIFwiVlBDWm9uZUlkZW50aWZpZXJcIjogW1xuICAgICAgICAgICAgXCJwcmkxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FkZFRvUm9sZVBvbGljeSBjYW4gYmUgdXNlZCB0byBhZGQgc3RhdGVtZW50cyB0byB0aGUgcm9sZSBwb2xpY3knKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICBjb25zdCBmbGVldCA9IG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICB2cGNcbiAgICB9KTtcblxuICAgIGZsZWV0LmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCgpXG4gICAgICAuYWRkQWN0aW9uKCd0ZXN0OlNwZWNpYWxOYW1lJylcbiAgICAgIC5hZGRBbGxSZXNvdXJjZXMoKSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpJQU06OlBvbGljeScsIHtcbiAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIEFjdGlvbjogXCJ0ZXN0OlNwZWNpYWxOYW1lXCIsXG4gICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgIFJlc291cmNlOiBcIipcIlxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCJcbiAgICAgIH0sXG4gICAgfSkpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdjYW4gY29uZmlndXJlIHJlcGxhY2luZyB1cGRhdGUnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjLFxuICAgICAgdXBkYXRlVHlwZTogYXV0b3NjYWxpbmcuVXBkYXRlVHlwZS5SZXBsYWNpbmdVcGRhdGUsXG4gICAgICByZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogNTBcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZShcIkFXUzo6QXV0b1NjYWxpbmc6OkF1dG9TY2FsaW5nR3JvdXBcIiwge1xuICAgIFVwZGF0ZVBvbGljeToge1xuICAgICAgQXV0b1NjYWxpbmdSZXBsYWNpbmdVcGRhdGU6IHtcbiAgICAgIFdpbGxSZXBsYWNlOiB0cnVlXG4gICAgICB9XG4gICAgfSxcbiAgICBDcmVhdGlvblBvbGljeToge1xuICAgICAgQXV0b1NjYWxpbmdDcmVhdGlvblBvbGljeToge1xuICAgICAgTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IDUwXG4gICAgICB9XG4gICAgfVxuICAgIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdjYW4gY29uZmlndXJlIHJvbGxpbmcgdXBkYXRlJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYyxcbiAgICAgIHVwZGF0ZVR5cGU6IGF1dG9zY2FsaW5nLlVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZSxcbiAgICAgIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogNTAsXG4gICAgICBwYXVzZVRpbWVTZWM6IDM0NVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgVXBkYXRlUG9saWN5OiB7XG4gICAgICBcIkF1dG9TY2FsaW5nUm9sbGluZ1VwZGF0ZVwiOiB7XG4gICAgICBcIk1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50XCI6IDUwLFxuICAgICAgXCJXYWl0T25SZXNvdXJjZVNpZ25hbHNcIjogdHJ1ZSxcbiAgICAgIFwiUGF1c2VUaW1lXCI6IFwiUFQ1TTQ1U1wiLFxuICAgICAgXCJTdXNwZW5kUHJvY2Vzc2VzXCI6IFsgXCJIZWFsdGhDaGVja1wiLCBcIlJlcGxhY2VVbmhlYWx0aHlcIiwgXCJBWlJlYmFsYW5jZVwiLCBcIkFsYXJtTm90aWZpY2F0aW9uXCIsIFwiU2NoZWR1bGVkQWN0aW9uc1wiIF1cbiAgICAgIH0sXG4gICAgfVxuICAgIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdjYW4gY29uZmlndXJlIHJlc291cmNlIHNpZ25hbHMnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjLFxuICAgICAgcmVzb3VyY2VTaWduYWxDb3VudDogNSxcbiAgICAgIHJlc291cmNlU2lnbmFsVGltZW91dFNlYzogNjY2XG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICBDcmVhdGlvblBvbGljeToge1xuICAgICAgUmVzb3VyY2VTaWduYWw6IHtcbiAgICAgIENvdW50OiA1LFxuICAgICAgVGltZW91dDogJ1BUMTFNNlMnXG4gICAgICB9LFxuICAgIH1cbiAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcbiAgJ2NhbiBhZGQgU2VjdXJpdHkgR3JvdXAgdG8gRmxlZXQnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBhc2cgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjLFxuICAgIH0pO1xuICAgIGFzZy5hZGRTZWN1cml0eUdyb3VwKG1vY2tTZWN1cml0eUdyb3VwKHN0YWNrKSk7XG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpMYXVuY2hDb25maWd1cmF0aW9uXCIsIHtcbiAgICAgIFNlY3VyaXR5R3JvdXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VTZWN1cml0eUdyb3VwNzc0RTgyMzRcIixcbiAgICAgICAgICAgIFwiR3JvdXBJZFwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICAnbW9zdC1zZWN1cmUnXSxcbiAgICB9KSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG4gICdjYW4gc2V0IHRhZ3MnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBhc2cgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgdnBjLFxuICAgICAgdXBkYXRlVHlwZTogYXV0b3NjYWxpbmcuVXBkYXRlVHlwZS5Sb2xsaW5nVXBkYXRlLFxuICAgICAgcm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IDUwLFxuICAgICAgICBwYXVzZVRpbWVTZWM6IDM0NVxuICAgICAgfSxcbiAgICAgIHRhZ3M6IHtzdXBlcmZvb2Q6ICdhY2FpJ30sXG4gICAgfSk7XG4gICAgYXNnLnRhZ3Muc2V0VGFnKCdub3RzdXBlcicsICdjYXJhbWVsJywge3Byb3BhZ2F0ZTogZmFsc2V9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZShcIkFXUzo6QXV0b1NjYWxpbmc6OkF1dG9TY2FsaW5nR3JvdXBcIiwge1xuICAgICAgVGFnczogW1xuICAgICAgICB7XG4gICAgICAgICAgS2V5OiAnc3VwZXJmb29kJyxcbiAgICAgICAgICBWYWx1ZTogJ2FjYWknLFxuICAgICAgICAgIFByb3BhZ2F0ZUF0TGF1bmNoOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgS2V5OiAnTmFtZScsXG4gICAgICAgICAgVmFsdWU6ICdNeUZsZWV0JyxcbiAgICAgICAgICBQcm9wYWdhdGVBdExhdW5jaDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIEtleTogJ25vdHN1cGVyJyxcbiAgICAgICAgICBWYWx1ZTogJ2NhcmFtZWwnLFxuICAgICAgICAgIFByb3BhZ2F0ZUF0TGF1bmNoOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9KSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBtb2NrVnBjKHN0YWNrOiBjZGsuU3RhY2spIHtcbiAgcmV0dXJuIGVjMi5WcGNOZXR3b3JrLmltcG9ydChzdGFjaywgJ015VnBjJywge1xuICAgIHZwY0lkOiAnbXktdnBjJyxcbiAgICBhdmFpbGFiaWxpdHlab25lczogWyAnYXoxJyBdLFxuICAgIHB1YmxpY1N1Ym5ldElkczogWyAncHViMScgXSxcbiAgICBwcml2YXRlU3VibmV0SWRzOiBbICdwcmkxJyBdLFxuICAgIGlzb2xhdGVkU3VibmV0SWRzOiBbXSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1vY2tTZWN1cml0eUdyb3VwKHN0YWNrOiBjZGsuU3RhY2spIHtcbiAgcmV0dXJuIGVjMi5TZWN1cml0eUdyb3VwUmVmLmltcG9ydChzdGFjaywgJ015U0cnLCB7XG4gICAgc2VjdXJpdHlHcm91cElkOiAnbW9zdC1zZWN1cmUnLFxuICB9KTtcbn1cbiJdfQ== |
@@ -9,4 +9,2 @@ { | ||
"inlineSources": true, | ||
"jsx": "react", | ||
"jsxFactory": "jsx.create", | ||
"lib": [ | ||
@@ -13,0 +11,0 @@ "es2016", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
738047
3824
+ Added@aws-cdk/assets@0.11.0(transitive)
+ Added@aws-cdk/aws-cloudwatch@0.11.0(transitive)
+ Added@aws-cdk/aws-codedeploy-api@0.11.0(transitive)
+ Added@aws-cdk/aws-codepipeline-api@0.11.0(transitive)
+ Added@aws-cdk/aws-ec2@0.11.0(transitive)
+ Added@aws-cdk/aws-elasticloadbalancing@0.11.0(transitive)
+ Added@aws-cdk/aws-elasticloadbalancingv2@0.11.0(transitive)
+ Added@aws-cdk/aws-events@0.11.0(transitive)
+ Added@aws-cdk/aws-iam@0.11.0(transitive)
+ Added@aws-cdk/aws-kms@0.11.0(transitive)
+ Added@aws-cdk/aws-lambda@0.11.0(transitive)
+ Added@aws-cdk/aws-logs@0.11.0(transitive)
+ Added@aws-cdk/aws-s3@0.11.0(transitive)
+ Added@aws-cdk/aws-s3-notifications@0.11.0(transitive)
+ Added@aws-cdk/aws-sns@0.11.0(transitive)
+ Added@aws-cdk/aws-sqs@0.11.0(transitive)
+ Added@aws-cdk/cdk@0.11.0(transitive)
+ Added@aws-cdk/cx-api@0.11.0(transitive)
- Removed@aws-cdk/assets@0.10.0(transitive)
- Removed@aws-cdk/aws-cloudwatch@0.10.0(transitive)
- Removed@aws-cdk/aws-codepipeline-api@0.10.0(transitive)
- Removed@aws-cdk/aws-ec2@0.10.0(transitive)
- Removed@aws-cdk/aws-elasticloadbalancing@0.10.0(transitive)
- Removed@aws-cdk/aws-elasticloadbalancingv2@0.10.0(transitive)
- Removed@aws-cdk/aws-events@0.10.0(transitive)
- Removed@aws-cdk/aws-iam@0.10.0(transitive)
- Removed@aws-cdk/aws-kms@0.10.0(transitive)
- Removed@aws-cdk/aws-lambda@0.10.0(transitive)
- Removed@aws-cdk/aws-logs@0.10.0(transitive)
- Removed@aws-cdk/aws-s3@0.10.0(transitive)
- Removed@aws-cdk/aws-s3-notifications@0.10.0(transitive)
- Removed@aws-cdk/aws-sns@0.10.0(transitive)
- Removed@aws-cdk/aws-sqs@0.10.0(transitive)
- Removed@aws-cdk/cdk@0.10.0(transitive)
- Removed@aws-cdk/cx-api@0.10.0(transitive)
Updated@aws-cdk/aws-ec2@^0.11.0
Updated@aws-cdk/aws-iam@^0.11.0
Updated@aws-cdk/aws-sns@^0.11.0
Updated@aws-cdk/cdk@^0.11.0