Socket
Socket
Sign inDemoInstall

@aws-cdk/aws-autoscaling

Package Overview
Dependencies
Maintainers
4
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-autoscaling - npm Package Compare versions

Comparing version 0.9.1 to 0.9.2

2

lib/auto-scaling-group.d.ts

@@ -152,3 +152,3 @@ import ec2 = require('@aws-cdk/aws-ec2');

addUserData(script: string): void;
autoScalingGroupName(): import("./autoscaling.generated").AutoScalingGroupName;
autoScalingGroupName(): string;
/**

@@ -155,0 +155,0 @@ * Adds a statement to the IAM role assumed by instances of this fleet.

@@ -233,2 +233,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zY2FsaW5nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0by1zY2FsaW5nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLHdDQUF5QztBQUV6QyxvQ0FBcUM7QUFFckMsbUVBQXlEO0FBeUh6RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxHQUFHLENBQUMsU0FBUztJQXNCL0MsWUFBWSxNQUFxQixFQUFFLElBQVksRUFBRSxLQUE0QjtRQUN6RSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUFAsa0JBQWEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBR3BDLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBZ0IsRUFBRSxDQUFDO1FBS2pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLHFDQUFxQyxDQUFDLENBQUM7U0FDaEg7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUs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LEVBQUUsQ0FBQztLQUNqQjtJQUNELElBQUksT0FBTyxHQUFHLENBQUMsRUFBRTtRQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0tBQzNCO0lBRUQsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxDQUFVO0lBQ2xDLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLENBQUM7S0FBRTtJQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGVsYiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZycpO1xuaW1wb3J0IGlhbSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1pYW0nKTtcbmltcG9ydCBzbnMgPSByZXF1aXJlKCdAYXdzLWNkay9hd3Mtc25zJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5cbmltcG9ydCB7IGNsb3VkZm9ybWF0aW9uIH0gZnJvbSAnLi9hdXRvc2NhbGluZy5nZW5lcmF0ZWQnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgb2YgYSBGbGVldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TY2FsaW5nR3JvdXBQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVHlwZSBvZiBpbnN0YW5jZSB0byBsYXVuY2hcbiAgICAgKi9cbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgaW4gdGhlIGZsZWV0XG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIG1pblNpemU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgaW4gdGhlIGZsZWV0XG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIG1heFNpemU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsIGFtb3VudCBvZiBpbnN0YW5jZXMgaW4gdGhlIGZsZWV0XG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIGRlc2lyZWRDYXBhY2l0eT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgU1NIIGtleXBhaXIgdG8gZ3JhbnQgYWNjZXNzIHRvIGluc3RhbmNlc1xuICAgICAqIEBkZWZhdWx0IE5vIFNTSCBhY2Nlc3Mgd2lsbCBiZSBwb3NzaWJsZVxuICAgICAqL1xuICAgIGtleU5hbWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBTUkgdG8gbGF1bmNoXG4gICAgICovXG4gICAgbWFjaGluZUltYWdlOiBlYzIuSU1hY2hpbmVJbWFnZVNvdXJjZTtcblxuICAgIC8qKlxuICAgICAqIFZQQyB0byBsYXVuY2ggdGhlc2UgaW5zdGFuY2VzIGluLlxuICAgICAqL1xuICAgIHZwYzogZWMyLlZwY05ldHdvcmtSZWY7XG5cbiAgICAvKipcbiAgICAgKiBXaGVyZSB0byBwbGFjZSBpbnN0YW5jZXMgd2l0aGluIHRoZSBWUENcbiAgICAgKi9cbiAgICB2cGNQbGFjZW1lbnQ/OiBlYzIuVnBjUGxhY2VtZW50U3RyYXRlZ3k7XG5cbiAgICAvKipcbiAgICAgKiBTTlMgdG9waWMgdG8gc2VuZCBub3RpZmljYXRpb25zIGFib3V0IGZsZWV0IGNoYW5nZXNcbiAgICAgKiBAZGVmYXVsdCBObyBmbGVldCBjaGFuZ2Ugbm90aWZpY2F0aW9ucyB3aWxsIGJlIHNlbnQuXG4gICAgICovXG4gICAgbm90aWZpY2F0aW9uc1RvcGljPzogc25zLlRvcGljUmVmO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgaW5zdGFuY2VzIGNhbiBpbml0aWF0ZSBjb25uZWN0aW9ucyB0byBhbnl3aGVyZSBieSBkZWZhdWx0XG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgYWxsb3dBbGxPdXRib3VuZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGF0IHRvIGRvIHdoZW4gYW4gQXV0b1NjYWxpbmdHcm91cCdzIGluc3RhbmNlIGNvbmZpZ3VyYXRpb24gaXMgY2hhbmdlZFxuICAgICAqXG4gICAgICogVGhpcyBpcyBhcHBsaWVkIHdoZW4gYW55IG9mIHRoZSBzZXR0aW5ncyBvbiB0aGUgQVNHIGFyZSBjaGFuZ2VkIHRoYXRcbiAgICAgKiBhZmZlY3QgaG93IHRoZSBpbnN0YW5jZXMgc2hvdWxkIGJlIGNyZWF0ZWQgKFZQQywgaW5zdGFuY2UgdHlwZSwgc3RhcnR1cFxuICAgICAqIHNjcmlwdHMsIGV0Yy4pLiBJdCBpbmRpY2F0ZXMgaG93IHRoZSBleGlzdGluZyBpbnN0YW5jZXMgc2hvdWxkIGJlXG4gICAgICogcmVwbGFjZWQgd2l0aCBuZXcgaW5zdGFuY2VzIG1hdGNoaW5nIHRoZSBuZXcgY29uZmlnLiBCeSBkZWZhdWx0LCBub3RoaW5nXG4gICAgICogaXMgZG9uZSBhbmQgb25seSBuZXcgaW5zdGFuY2VzIGFyZSBsYXVuY2hlZCB3aXRoIHRoZSBuZXcgY29uZmlnLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgVXBkYXRlVHlwZS5Ob25lXG4gICAgICovXG4gICAgdXBkYXRlVHlwZT86IFVwZGF0ZVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciByb2xsaW5nIHVwZGF0ZXNcbiAgICAgKlxuICAgICAqIE9ubHkgdXNlZCBpZiB1cGRhdGVUeXBlID09IFVwZGF0ZVR5cGUuUm9sbGluZ1VwZGF0ZS5cbiAgICAgKi9cbiAgICByb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbj86IFJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgcmVwbGFjaW5nIHVwZGF0ZXMuXG4gICAgICpcbiAgICAgKiBPbmx5IHVzZWQgaWYgdXBkYXRlVHlwZSA9PSBVcGRhdGVUeXBlLlJlcGxhY2luZ1VwZGF0ZS4gU3BlY2lmaWVzIGhvd1xuICAgICAqIG1hbnkgaW5zdGFuY2VzIG11c3Qgc2lnbmFsIHN1Y2Nlc3MgZm9yIHRoZSB1cGRhdGUgdG8gc3VjY2VlZC5cbiAgICAgKi9cbiAgICByZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIElmIHRoZSBBU0cgaGFzIHNjaGVkdWxlZCBhY3Rpb25zLCBkb24ndCByZXNldCB1bmNoYW5nZWQgZ3JvdXAgc2l6ZXNcbiAgICAgKlxuICAgICAqIE9ubHkgdXNlZCBpZiB0aGUgQVNHIGhhcyBzY2hlZHVsZWQgYWN0aW9ucyAod2hpY2ggbWF5IHNjYWxlIHlvdXIgQVNHIHVwXG4gICAgICogb3IgZG93biByZWdhcmRsZXNzIG9mIGNkayBkZXBsb3ltZW50cykuIElmIHRydWUsIHRoZSBzaXplIG9mIHRoZSBncm91cFxuICAgICAqIHdpbGwgb25seSBiZSByZXNldCBpZiBpdCBoYXMgYmVlbiBjaGFuZ2VkIGluIHRoZSBDREsgYXBwLiBJZiBmYWxzZSwgdGhlXG4gICAgICogc2l6ZXMgd2lsbCBhbHdheXMgYmUgY2hhbmdlZCBiYWNrIHRvIHdoYXQgdGhleSB3ZXJlIGluIHRoZSBDREsgYXBwXG4gICAgICogb24gZGVwbG95bWVudC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBpZ25vcmVVbm1vZGlmaWVkU2l6ZVByb3BlcnRpZXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSG93IG1hbnkgUmVzb3VyY2VTaWduYWwgY2FsbHMgQ2xvdWRGb3JtYXRpb24gZXhwZWN0cyBiZWZvcmUgdGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgY3JlYXRlZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIHJlc291cmNlU2lnbmFsQ291bnQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGVuZ3RoIG9mIHRpbWUgdG8gd2FpdCBmb3IgdGhlIHJlc291cmNlU2lnbmFsQ291bnRcbiAgICAgKlxuICAgICAqIFRoZSBtYXhpbXVtIHZhbHVlIGlzIDQzMjAwICgxMiBob3VycykuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAzMDAgKDUgbWludXRlcylcbiAgICAgKi9cbiAgICByZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBGbGVldCByZXByZXNlbnRzIGEgbWFuYWdlZCBzZXQgb2YgRUMyIGluc3RhbmNlc1xuICpcbiAqIFRoZSBGbGVldCBtb2RlbHMgYSBudW1iZXIgb2YgQXV0b1NjYWxpbmdHcm91cHMsIGEgbGF1bmNoIGNvbmZpZ3VyYXRpb24sIGFcbiAqIHNlY3VyaXR5IGdyb3VwIGFuZCBhbiBpbnN0YW5jZSByb2xlLlxuICpcbiAqIEl0IGFsbG93cyBhZGRpbmcgYXJiaXRyYXJ5IGNvbW1hbmRzIHRvIHRoZSBzdGFydHVwIHNjcmlwdHMgb2YgdGhlIGluc3RhbmNlc1xuICogaW4gdGhlIGZsZWV0LlxuICpcbiAqIFRoZSBBU0cgc3BhbnMgYWxsIGF2YWlsYWJpbGl0eSB6b25lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF1dG9TY2FsaW5nR3JvdXAgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgZWxiLklMb2FkQmFsYW5jZXJUYXJnZXQsIGVjMi5JQ29ubmVjdGFibGUge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIE9TIGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0IGFyZSBydW5uaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvc1R5cGU6IGVjMi5PcGVyYXRpbmdTeXN0ZW1UeXBlO1xuXG4gICAgLyoqXG4gICAgICogQWxsb3dzIHNwZWNpZnkgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIGluc3RhbmNlcyBvZiB0aGlzIGZsZWV0LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uczogZWMyLkNvbm5lY3Rpb25zO1xuXG4gICAgLyoqXG4gICAgICogVGhlIElBTSByb2xlIGFzc3VtZWQgYnkgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5Sb2xlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyRGF0YUxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9TY2FsaW5nR3JvdXA6IGNsb3VkZm9ybWF0aW9uLkF1dG9TY2FsaW5nR3JvdXBSZXNvdXJjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IGVjMi5TZWN1cml0eUdyb3VwUmVmO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IGVjMi5TZWN1cml0eUdyb3VwUmVmW10gPSBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWVzOiBjZGsuVG9rZW5bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBBdXRvU2NhbGluZ0dyb3VwUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocGFyZW50LCBuYW1lKTtcblxuICAgICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ0luc3RhbmNlU2VjdXJpdHlHcm91cCcsIHsgdnBjOiBwcm9wcy52cGMgfSk7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSBuZXcgZWMyLkNvbm5lY3Rpb25zKHsgc2VjdXJpdHlHcm91cDogdGhpcy5zZWN1cml0eUdyb3VwIH0pO1xuICAgICAgICB0aGlzLnNlY3VyaXR5R3JvdXBzLnB1c2godGhpcy5zZWN1cml0eUdyb3VwKTtcblxuICAgICAgICBpZiAocHJvcHMuYWxsb3dBbGxPdXRib3VuZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMuYWxsb3dUbyhuZXcgZWMyLkFueUlQdjQoKSwgbmV3IGVjMi5BbGxDb25uZWN0aW9ucygpLCAnT3V0Ym91bmQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnSW5zdGFuY2VSb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lZEJ5OiBuZXcgY2RrLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaWFtUHJvZmlsZSA9IG5ldyBpYW0uY2xvdWRmb3JtYXRpb24uSW5zdGFuY2VQcm9maWxlUmVzb3VyY2UodGhpcywgJ0luc3RhbmNlUHJvZmlsZScsIHtcbiAgICAgICAgICAgIHJvbGVzOiBbIHRoaXMucm9sZS5yb2xlTmFtZSBdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHVzZSBkZWxheWVkIGV2YWx1YXRpb25cbiAgICAgICAgY29uc3QgbWFjaGluZUltYWdlID0gcHJvcHMubWFjaGluZUltYWdlLmdldEltYWdlKHRoaXMpO1xuICAgICAgICBjb25zdCB1c2VyRGF0YVRva2VuID0gbmV3IGNkay5Ub2tlbigoKSA9PiBuZXcgY2RrLkZuQmFzZTY0KChtYWNoaW5lSW1hZ2Uub3MuY3JlYXRlVXNlckRhdGEodGhpcy51c2VyRGF0YUxpbmVzKSkpKTtcbiAgICAgICAgY29uc3Qgc2VjdXJpdHlHcm91cHNUb2tlbiA9IG5ldyBjZGsuVG9rZW4oKCkgPT4gdGhpcy5zZWN1cml0eUdyb3Vwcy5tYXAoc2cgPT4gc2cuc2VjdXJpdHlHcm91cElkKSk7XG5cbiAgICAgICAgY29uc3QgbGF1bmNoQ29uZmlnID0gbmV3IGNsb3VkZm9ybWF0aW9uLkxhdW5jaENvbmZpZ3VyYXRpb25SZXNvdXJjZSh0aGlzLCAnTGF1bmNoQ29uZmlnJywge1xuICAgICAgICAgICAgaW1hZ2VJZDogbWFjaGluZUltYWdlLmltYWdlSWQsXG4gICAgICAgICAgICBrZXlOYW1lOiBwcm9wcy5rZXlOYW1lLFxuICAgICAgICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3Vwc1Rva2VuLFxuICAgICAgICAgICAgaWFtSW5zdGFuY2VQcm9maWxlOiBpYW1Qcm9maWxlLnJlZixcbiAgICAgICAgICAgIHVzZXJEYXRhOiB1c2VyRGF0YVRva2VuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhdW5jaENvbmZpZy5hZGREZXBlbmRlbmN5KHRoaXMucm9sZSk7XG5cbiAgICAgICAgY29uc3QgbWluU2l6ZSA9IHByb3BzLm1pblNpemUgfHwgMTtcbiAgICAgICAgY29uc3QgbWF4U2l6ZSA9IHByb3BzLm1heFNpemUgfHwgMTtcbiAgICAgICAgY29uc3QgZGVzaXJlZENhcGFjaXR5ID0gcHJvcHMuZGVzaXJlZENhcGFjaXR5IHx8IDE7XG5cbiAgICAgICAgaWYgKGRlc2lyZWRDYXBhY2l0eSA8IG1pblNpemUgfHwgZGVzaXJlZENhcGFjaXR5ID4gbWF4U2l6ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTaG91bGQgaGF2ZSBtaW5TaXplICgke21pblNpemV9KSA8PSBkZXNpcmVkQ2FwYWNpdHkgKCR7ZGVzaXJlZENhcGFjaXR5fSkgPD0gbWF4U2l6ZSAoJHttYXhTaXplfSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFzZ1Byb3BzOiBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2VQcm9wcyA9IHtcbiAgICAgICAgICAgIG1pblNpemU6IG1pblNpemUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIG1heFNpemU6IG1heFNpemUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGRlc2lyZWRDYXBhY2l0eTogZGVzaXJlZENhcGFjaXR5LnRvU3RyaW5nKCksXG4gICAgICAgICAgICBsYXVuY2hDb25maWd1cmF0aW9uTmFtZTogbGF1bmNoQ29uZmlnLnJlZixcbiAgICAgICAgICAgIGxvYWRCYWxhbmNlck5hbWVzOiBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMubG9hZEJhbGFuY2VyTmFtZXMpLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25zVG9waWMpIHtcbiAgICAgICAgICAgIGFzZ1Byb3BzLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zID0gW107XG4gICAgICAgICAgICBhc2dQcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0b3BpY0FybjogcHJvcHMubm90aWZpY2F0aW9uc1RvcGljLnRvcGljQXJuLFxuICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblR5cGVzOiBbXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b3NjYWxpbmc6RUMyX0lOU1RBTkNFX0xBVU5DSFwiLFxuICAgICAgICAgICAgICAgICAgICBcImF1dG9zY2FsaW5nOkVDMl9JTlNUQU5DRV9MQVVOQ0hfRVJST1JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b3NjYWxpbmc6RUMyX0lOU1RBTkNFX1RFUk1JTkFURV9FUlJPUlwiXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3VibmV0cyA9IHByb3BzLnZwYy5zdWJuZXRzKHByb3BzLnZwY1BsYWNlbWVudCk7XG4gICAgICAgIGFzZ1Byb3BzLnZwY1pvbmVJZGVudGlmaWVyID0gc3VibmV0cy5tYXAobiA9PiBuLnN1Ym5ldElkKTtcblxuICAgICAgICB0aGlzLmF1dG9TY2FsaW5nR3JvdXAgPSBuZXcgY2xvdWRmb3JtYXRpb24uQXV0b1NjYWxpbmdHcm91cFJlc291cmNlKHRoaXMsICdBU0cnLCBhc2dQcm9wcyk7XG4gICAgICAgIHRoaXMub3NUeXBlID0gbWFjaGluZUltYWdlLm9zLnR5cGU7XG5cbiAgICAgICAgdGhpcy5hcHBseVVwZGF0ZVBvbGljaWVzKHByb3BzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIHNlY3VyaXR5IGdyb3VwIHRvIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBsYXVuY2ggY29uZmlndXJhdGlvblxuICAgICAqIHNlY3VyaXR5IGdyb3VwcyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwOiBUaGUgU2VjdXJpdHlHcm91cFJlZiB0byBhZGRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkU2VjdXJpdHlHcm91cChzZWN1cml0eUdyb3VwOiBlYzIuU2VjdXJpdHlHcm91cFJlZik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlY3VyaXR5R3JvdXBzLnB1c2goc2VjdXJpdHlHcm91cCk7XG4gICAgfVxuXG4gICAgcHVibGljIGF0dGFjaFRvQ2xhc3NpY0xCKGxvYWRCYWxhbmNlcjogZWxiLkxvYWRCYWxhbmNlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRCYWxhbmNlck5hbWVzLnB1c2gobG9hZEJhbGFuY2VyLmxvYWRCYWxhbmNlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBjb21tYW5kIHRvIHRoZSBzdGFydHVwIHNjcmlwdCBvZiBmbGVldCBpbnN0YW5jZXMuXG4gICAgICogVGhlIGNvbW1hbmQgbXVzdCBiZSBpbiB0aGUgc2NyaXB0aW5nIGxhbmd1YWdlIHN1cHBvcnRlZCBieSB0aGUgZmxlZXQncyBPUyAoaS5lLiBMaW51eC9XaW5kb3dzKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkVXNlckRhdGEoc2NyaXB0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51c2VyRGF0YUxpbmVzLnB1c2goc2NyaXB0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXV0b1NjYWxpbmdHcm91cE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAucmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIElBTSByb2xlIGFzc3VtZWQgYnkgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQuXG4gICAgICovXG4gICAgcHVibGljIGFkZFRvUm9sZVBvbGljeShzdGF0ZW1lbnQ6IGNkay5Qb2xpY3lTdGF0ZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yb2xlLmFkZFRvUG9saWN5KHN0YXRlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbHkgQ2xvdWRGb3JtYXRpb24gdXBkYXRlIHBvbGljaWVzIGZvciB0aGUgQXV0b1NjYWxpbmdHcm91cFxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlVcGRhdGVQb2xpY2llcyhwcm9wczogQXV0b1NjYWxpbmdHcm91cFByb3BzKSB7XG4gICAgICAgIGlmIChwcm9wcy51cGRhdGVUeXBlID09PSBVcGRhdGVUeXBlLlJlcGxhY2luZ1VwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5hc2dVcGRhdGVQb2xpY3kuYXV0b1NjYWxpbmdSZXBsYWNpbmdVcGRhdGUgPSB7IHdpbGxSZXBsYWNlOiB0cnVlIH07XG5cbiAgICAgICAgICAgIGlmIChwcm9wcy5yZXBsYWNpbmdVcGRhdGVNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gWWVzLCB0aGlzIGdvZXMgb24gQ3JlYXRpb25Qb2xpY3ksIG5vdCBhcyBhIHByb2Nlc3MgcGFyYW1ldGVyIHRvIFJlcGxhY2luZ1VwZGF0ZS5cbiAgICAgICAgICAgICAgICAvLyBJdCdzIGEgbGl0dGxlIGNvbmZ1c2luZywgYnV0IHRoZSBkb2NzIHNlZW0gdG8gZXhwbGljaXRseSBzdGF0ZSBpdCB3aWxsIG9ubHkgYmUgdXNlZFxuICAgICAgICAgICAgICAgIC8vIGR1cmluZyB0aGUgdXBkYXRlP1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLWF0dHJpYnV0ZS1jcmVhdGlvbnBvbGljeS5odG1sXG4gICAgICAgICAgICAgICAgdGhpcy5hc2dDcmVhdGlvblBvbGljeS5hdXRvU2NhbGluZ0NyZWF0aW9uUG9saWN5ID0ge1xuICAgICAgICAgICAgICAgICAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogdmFsaWRhdGVQZXJjZW50YWdlKHByb3BzLnJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMudXBkYXRlVHlwZSA9PT0gVXBkYXRlVHlwZS5Sb2xsaW5nVXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmFzZ1VwZGF0ZVBvbGljeS5hdXRvU2NhbGluZ1JvbGxpbmdVcGRhdGUgPSByZW5kZXJSb2xsaW5nVXBkYXRlQ29uZmlnKHByb3BzLnJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVuZGVmaW5lZCBpcyB0cmVhdGVkIGFzICd0cnVlJ1xuICAgICAgICBpZiAocHJvcHMuaWdub3JlVW5tb2RpZmllZFNpemVQcm9wZXJ0aWVzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5hc2dVcGRhdGVQb2xpY3kuYXV0b1NjYWxpbmdTY2hlZHVsZWRBY3Rpb24gPSB7IGlnbm9yZVVubW9kaWZpZWRHcm91cFNpemVQcm9wZXJ0aWVzOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMucmVzb3VyY2VTaWduYWxDb3VudCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnJlc291cmNlU2lnbmFsVGltZW91dFNlYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmFzZ0NyZWF0aW9uUG9saWN5LnJlc291cmNlU2lnbmFsID0ge1xuICAgICAgICAgICAgICAgIGNvdW50OiBwcm9wcy5yZXNvdXJjZVNpZ25hbENvdW50LFxuICAgICAgICAgICAgICAgIHRpbWVvdXQ6IHByb3BzLnJlc291cmNlU2lnbmFsVGltZW91dFNlYyAhPT0gdW5kZWZpbmVkID8gcmVuZGVySXNvRHVyYXRpb24ocHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0U2VjKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW5kIHJldHVybiB0aGUgQVNHIHVwZGF0ZSBwb2xpY3lcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBhc2dVcGRhdGVQb2xpY3koKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy51cGRhdGVQb2xpY3kgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMudXBkYXRlUG9saWN5ID0ge307XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b1NjYWxpbmdHcm91cC5vcHRpb25zLnVwZGF0ZVBvbGljeTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW5kIHJldHVybiB0aGUgQVNHIGNyZWF0aW9uIHBvbGljeVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGFzZ0NyZWF0aW9uUG9saWN5KCkge1xuICAgICAgICBpZiAodGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3kgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3kgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMuY3JlYXRpb25Qb2xpY3k7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHVwZGF0ZSB0byBwZXJmb3JtIG9uIGluc3RhbmNlcyBpbiB0aGlzIEF1dG9TY2FsaW5nR3JvdXBcbiAqL1xuZXhwb3J0IGVudW0gVXBkYXRlVHlwZSB7XG4gICAgLyoqXG4gICAgICogRG9uJ3QgZG8gYW55dGhpbmdcbiAgICAgKi9cbiAgICBOb25lID0gJ05vbmUnLFxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZSB0aGUgZW50aXJlIEF1dG9TY2FsaW5nR3JvdXBcbiAgICAgKlxuICAgICAqIEJ1aWxkcyBhIG5ldyBBdXRvU2NhbGluZ0dyb3VwIGZpcnN0LCB0aGVuIGRlbGV0ZSB0aGUgb2xkIG9uZS5cbiAgICAgKi9cbiAgICBSZXBsYWNpbmdVcGRhdGUgPSAnUmVwbGFjZScsXG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlIHRoZSBpbnN0YW5jZXMgaW4gdGhlIEF1dG9TY2FsaW5nR3JvdXAuXG4gICAgICovXG4gICAgUm9sbGluZ1VwZGF0ZSA9ICdSb2xsaW5nVXBkYXRlJyxcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIHNldHRpbmdzIHdoZW4gYSByb2xsaW5nIHVwZGF0ZSBpcyBzZWxlY3RlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5zdGFuY2VzIHRoYXQgQVdTIENsb3VkRm9ybWF0aW9uIHVwZGF0ZXMgYXQgb25jZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBtYXhCYXRjaFNpemU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaW5zdGFuY2VzIHRoYXQgbXVzdCBiZSBpbiBzZXJ2aWNlIGJlZm9yZSBtb3JlIGluc3RhbmNlcyBhcmUgcmVwbGFjZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG51bWJlciBhZmZlY3RzIHRoZSBzcGVlZCBvZiB0aGUgcmVwbGFjZW1lbnQuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgbWluSW5zdGFuY2VzSW5TZXJ2aWNlPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBlcmNlbnRhZ2Ugb2YgaW5zdGFuY2VzIHRoYXQgbXVzdCBzaWduYWwgc3VjY2VzcyBmb3IgYW4gdXBkYXRlIHRvIHN1Y2NlZWQuXG4gICAgICpcbiAgICAgKiBJZiBhbiBpbnN0YW5jZSBkb2Vzbid0IHNlbmQgYSBzaWduYWwgd2l0aGluIHRoZSB0aW1lIHNwZWNpZmllZCBpbiB0aGVcbiAgICAgKiBwYXVzZVRpbWUgcHJvcGVydHksIEFXUyBDbG91ZEZvcm1hdGlvbiBhc3N1bWVzIHRoYXQgdGhlIGluc3RhbmNlIHdhc24ndFxuICAgICAqIHVwZGF0ZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG51bWJlciBhZmZlY3RzIHRoZSBzdWNjZXNzIG9mIHRoZSByZXBsYWNlbWVudC5cbiAgICAgKlxuICAgICAqIElmIHlvdSBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIHlvdSBtdXN0IGFsc28gZW5hYmxlIHRoZVxuICAgICAqIHdhaXRPblJlc291cmNlU2lnbmFscyBhbmQgcGF1c2VUaW1lIHByb3BlcnRpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAxMDBcbiAgICAgKi9cbiAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwYXVzZSB0aW1lIGFmdGVyIG1ha2luZyBhIGNoYW5nZSB0byBhIGJhdGNoIG9mIGluc3RhbmNlcy5cbiAgICAgKlxuICAgICAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gZ2l2ZSB0aG9zZSBpbnN0YW5jZXMgdGltZSB0byBzdGFydCBzb2Z0d2FyZSBhcHBsaWNhdGlvbnMuXG4gICAgICpcbiAgICAgKiBTcGVjaWZ5IFBhdXNlVGltZSBpbiB0aGUgSVNPODYwMSBkdXJhdGlvbiBmb3JtYXQgKGluIHRoZSBmb3JtYXRcbiAgICAgKiBQVCNII00jUywgd2hlcmUgZWFjaCAjIGlzIHRoZSBudW1iZXIgb2YgaG91cnMsIG1pbnV0ZXMsIGFuZCBzZWNvbmRzLFxuICAgICAqIHJlc3BlY3RpdmVseSkuIFRoZSBtYXhpbXVtIFBhdXNlVGltZSBpcyBvbmUgaG91ciAoUFQxSCkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAzMDAgaWYgdGhlIHdhaXRPblJlc291cmNlU2lnbmFscyBwcm9wZXJ0eSBpcyB0cnVlLCBvdGhlcndpc2UgMFxuICAgICAqL1xuICAgIHBhdXNlVGltZVNlYz86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBBdXRvIFNjYWxpbmcgZ3JvdXAgd2FpdHMgb24gc2lnbmFscyBmcm9tIG5ldyBpbnN0YW5jZXMgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICAgKlxuICAgICAqIEFXUyBDbG91ZEZvcm1hdGlvbiBtdXN0IHJlY2VpdmUgYSBzaWduYWwgZnJvbSBlYWNoIG5ldyBpbnN0YW5jZSB3aXRoaW5cbiAgICAgKiB0aGUgc3BlY2lmaWVkIFBhdXNlVGltZSBiZWZvcmUgY29udGludWluZyB0aGUgdXBkYXRlLlxuICAgICAqXG4gICAgICogVG8gaGF2ZSBpbnN0YW5jZXMgd2FpdCBmb3IgYW4gRWxhc3RpYyBMb2FkIEJhbGFuY2luZyBoZWFsdGggY2hlY2sgYmVmb3JlXG4gICAgICogdGhleSBzaWduYWwgc3VjY2VzcywgYWRkIGEgaGVhbHRoLWNoZWNrIHZlcmlmaWNhdGlvbiBieSB1c2luZyB0aGVcbiAgICAgKiBjZm4taW5pdCBoZWxwZXIgc2NyaXB0LiBGb3IgYW4gZXhhbXBsZSwgc2VlIHRoZSB2ZXJpZnlfaW5zdGFuY2VfaGVhbHRoXG4gICAgICogY29tbWFuZCBpbiB0aGUgQXV0byBTY2FsaW5nIHJvbGxpbmcgdXBkYXRlcyBzYW1wbGUgdGVtcGxhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlIGlmIHlvdSBzcGVjaWZpZWQgdGhlIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50IHByb3BlcnR5LCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICB3YWl0T25SZXNvdXJjZVNpZ25hbHM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSBBdXRvIFNjYWxpbmcgcHJvY2Vzc2VzIHRvIHN1c3BlbmQgZHVyaW5nIGEgc3RhY2sgdXBkYXRlLlxuICAgICAqXG4gICAgICogU3VzcGVuZGluZyBwcm9jZXNzZXMgcHJldmVudHMgQXV0byBTY2FsaW5nIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBhIHN0YWNrXG4gICAgICogdXBkYXRlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgSGVhbHRoQ2hlY2ssIFJlcGxhY2VVbmhlYWx0aHksIEFaUmViYWxhbmNlLCBBbGFybU5vdGlmaWNhdGlvbiwgU2NoZWR1bGVkQWN0aW9ucy5cbiAgICAgKi9cbiAgICBzdXNwZW5kUHJvY2Vzc2VzPzogU2NhbGluZ1Byb2Nlc3NbXTtcbn1cblxuZXhwb3J0IGVudW0gU2NhbGluZ1Byb2Nlc3Mge1xuICAgIExhdW5jaCA9ICdMYXVuY2gnLFxuICAgIFRlcm1pbmF0ZSA9ICdUZXJtaW5hdGUnLFxuICAgIEhlYWx0aENoZWNrID0gJ0hlYWx0aENoZWNrJyxcbiAgICBSZXBsYWNlVW5oZWFsdGh5ID0gJ1JlcGxhY2VVbmhlYWx0aHknLFxuICAgIEFaUmViYWxhbmNlID0gJ0FaUmViYWxhbmNlJyxcbiAgICBBbGFybU5vdGlmaWNhdGlvbiA9ICdBbGFybU5vdGlmaWNhdGlvbicsXG4gICAgU2NoZWR1bGVkQWN0aW9ucyA9ICdTY2hlZHVsZWRBY3Rpb25zJyxcbiAgICBBZGRUb0xvYWRCYWxhbmNlciA9ICdBZGRUb0xvYWRCYWxhbmNlcidcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIHJvbGxpbmcgdXBkYXRlIGNvbmZpZ3VyYXRpb24gaW50byB0aGUgYXBwcm9wcmlhdGUgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIHJlbmRlclJvbGxpbmdVcGRhdGVDb25maWcoY29uZmlnOiBSb2xsaW5nVXBkYXRlQ29uZmlndXJhdGlvbiA9IHt9KTogY2RrLkF1dG9TY2FsaW5nUm9sbGluZ1VwZGF0ZSB7XG4gICAgY29uc3Qgd2FpdE9uUmVzb3VyY2VTaWduYWxzID0gY29uZmlnLm1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50ICE9PSB1bmRlZmluZWQgPyB0cnVlIDogZmFsc2U7XG4gICAgY29uc3QgcGF1c2VUaW1lU2VjID0gY29uZmlnLnBhdXNlVGltZVNlYyAhPT0gdW5kZWZpbmVkID8gY29uZmlnLnBhdXNlVGltZVNlYyA6ICh3YWl0T25SZXNvdXJjZVNpZ25hbHMgPyAzMDAgOiAwKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIG1heEJhdGNoU2l6ZTogY29uZmlnLm1heEJhdGNoU2l6ZSxcbiAgICAgICAgbWluSW5zdGFuY2VzSW5TZXJ2aWNlOiBjb25maWcubWluSW5zdGFuY2VzSW5TZXJ2aWNlLFxuICAgICAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogdmFsaWRhdGVQZXJjZW50YWdlKGNvbmZpZy5taW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudCksXG4gICAgICAgIHdhaXRPblJlc291cmNlU2lnbmFscyxcbiAgICAgICAgcGF1c2VUaW1lOiByZW5kZXJJc29EdXJhdGlvbihwYXVzZVRpbWVTZWMpLFxuICAgICAgICBzdXNwZW5kUHJvY2Vzc2VzOiBjb25maWcuc3VzcGVuZFByb2Nlc3NlcyAhPT0gdW5kZWZpbmVkID8gY29uZmlnLnN1c3BlbmRQcm9jZXNzZXMgOlxuICAgICAgICAgICAgLy8gUmVjb21tZW5kZWQgbGlzdCBvZiBwcm9jZXNzZXMgdG8gc3VzcGVuZCBmcm9tIGhlcmU6XG4gICAgICAgICAgICAvLyBodHRwczovL2F3cy5hbWF6b24uY29tL3ByZW1pdW1zdXBwb3J0L2tub3dsZWRnZS1jZW50ZXIvYXV0by1zY2FsaW5nLWdyb3VwLXJvbGxpbmctdXBkYXRlcy9cbiAgICAgICAgICAgIFtTY2FsaW5nUHJvY2Vzcy5IZWFsdGhDaGVjaywgU2NhbGluZ1Byb2Nlc3MuUmVwbGFjZVVuaGVhbHRoeSwgU2NhbGluZ1Byb2Nlc3MuQVpSZWJhbGFuY2UsXG4gICAgICAgICAgICAgICAgU2NhbGluZ1Byb2Nlc3MuQWxhcm1Ob3RpZmljYXRpb24sIFNjYWxpbmdQcm9jZXNzLlNjaGVkdWxlZEFjdGlvbnNdLFxuICAgIH07XG59XG5cbi8qKlxuICogUmVuZGVyIGEgbnVtYmVyIG9mIHNlY29uZHMgdG8gYSBQVG5YIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVySXNvRHVyYXRpb24oc2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoc2Vjb25kcyA+PSAzNjAwKSB7XG4gICAgICAgIHJldC5wdXNoKGAke01hdGguZmxvb3Ioc2Vjb25kcyAvIDM2MDApfUhgKTtcbiAgICAgICAgc2Vjb25kcyAlPSAzNjAwO1xuICAgIH1cbiAgICBpZiAoc2Vjb25kcyA+PSA2MCkge1xuICAgICAgICByZXQucHVzaChgJHtNYXRoLmZsb29yKHNlY29uZHMgLyA2MCl9TWApO1xuICAgICAgICBzZWNvbmRzICU9IDYwO1xuICAgIH1cbiAgICBpZiAoc2Vjb25kcyA+IDApIHtcbiAgICAgICAgcmV0LnB1c2goYCR7c2Vjb25kc31TYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICdQVCcgKyByZXQuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUGVyY2VudGFnZSh4PzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoeCA9PT0gdW5kZWZpbmVkIHx8ICgwIDw9IHggJiYgeCA8PSAxMDApKSB7IHJldHVybiB4OyB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZDogYSBwZXJjZW50YWdlIDAuLjEwMCwgZ290OiAke3h9YCk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zY2FsaW5nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0by1zY2FsaW5nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLHdDQUF5QztBQUV6QyxvQ0FBcUM7QUFFckMsbUVBQXlEO0FBeUh6RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxHQUFHLENBQUMsU0FBUztJQXNCL0MsWUFBWSxNQUFxQixFQUFFLElBQVksRUFBRSxLQUE0QjtRQUN6RSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUFAsa0JBQWEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBR3BDLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFLOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUscUNBQXFDLENBQUMsQ0FBQztTQUNoSDtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxj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RUFBRSxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7S0FDM0I7SUFFRCxPQUFPLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLENBQVU7SUFDbEMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsQ0FBQztLQUFFO0lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBlYzIgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtZWMyJyk7XG5pbXBvcnQgZWxiID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5nJyk7XG5pbXBvcnQgaWFtID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWlhbScpO1xuaW1wb3J0IHNucyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1zbnMnKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcblxuaW1wb3J0IHsgY2xvdWRmb3JtYXRpb24gfSBmcm9tICcuL2F1dG9zY2FsaW5nLmdlbmVyYXRlZCc7XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiBhIEZsZWV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1NjYWxpbmdHcm91cFByb3BzIHtcbiAgICAvKipcbiAgICAgKiBUeXBlIG9mIGluc3RhbmNlIHRvIGxhdW5jaFxuICAgICAqL1xuICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZTtcblxuICAgIC8qKlxuICAgICAqIE1pbmltdW0gbnVtYmVyIG9mIGluc3RhbmNlcyBpbiB0aGUgZmxlZXRcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgbWluU2l6ZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGluc3RhbmNlcyBpbiB0aGUgZmxlZXRcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgbWF4U2l6ZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgYW1vdW50IG9mIGluc3RhbmNlcyBpbiB0aGUgZmxlZXRcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgZGVzaXJlZENhcGFjaXR5PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiBTU0gga2V5cGFpciB0byBncmFudCBhY2Nlc3MgdG8gaW5zdGFuY2VzXG4gICAgICogQGRlZmF1bHQgTm8gU1NIIGFjY2VzcyB3aWxsIGJlIHBvc3NpYmxlXG4gICAgICovXG4gICAga2V5TmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFNSSB0byBsYXVuY2hcbiAgICAgKi9cbiAgICBtYWNoaW5lSW1hZ2U6IGVjMi5JTWFjaGluZUltYWdlU291cmNlO1xuXG4gICAgLyoqXG4gICAgICogVlBDIHRvIGxhdW5jaCB0aGVzZSBpbnN0YW5jZXMgaW4uXG4gICAgICovXG4gICAgdnBjOiBlYzIuVnBjTmV0d29ya1JlZjtcblxuICAgIC8qKlxuICAgICAqIFdoZXJlIHRvIHBsYWNlIGluc3RhbmNlcyB3aXRoaW4gdGhlIFZQQ1xuICAgICAqL1xuICAgIHZwY1BsYWNlbWVudD86IGVjMi5WcGNQbGFjZW1lbnRTdHJhdGVneTtcblxuICAgIC8qKlxuICAgICAqIFNOUyB0b3BpYyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgYWJvdXQgZmxlZXQgY2hhbmdlc1xuICAgICAqIEBkZWZhdWx0IE5vIGZsZWV0IGNoYW5nZSBub3RpZmljYXRpb25zIHdpbGwgYmUgc2VudC5cbiAgICAgKi9cbiAgICBub3RpZmljYXRpb25zVG9waWM/OiBzbnMuVG9waWNSZWY7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBpbnN0YW5jZXMgY2FuIGluaXRpYXRlIGNvbm5lY3Rpb25zIHRvIGFueXdoZXJlIGJ5IGRlZmF1bHRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBhbGxvd0FsbE91dGJvdW5kPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoYXQgdG8gZG8gd2hlbiBhbiBBdXRvU2NhbGluZ0dyb3VwJ3MgaW5zdGFuY2UgY29uZmlndXJhdGlvbiBpcyBjaGFuZ2VkXG4gICAgICpcbiAgICAgKiBUaGlzIGlzIGFwcGxpZWQgd2hlbiBhbnkgb2YgdGhlIHNldHRpbmdzIG9uIHRoZSBBU0cgYXJlIGNoYW5nZWQgdGhhdFxuICAgICAqIGFmZmVjdCBob3cgdGhlIGluc3RhbmNlcyBzaG91bGQgYmUgY3JlYXRlZCAoVlBDLCBpbnN0YW5jZSB0eXBlLCBzdGFydHVwXG4gICAgICogc2NyaXB0cywgZXRjLikuIEl0IGluZGljYXRlcyBob3cgdGhlIGV4aXN0aW5nIGluc3RhbmNlcyBzaG91bGQgYmVcbiAgICAgKiByZXBsYWNlZCB3aXRoIG5ldyBpbnN0YW5jZXMgbWF0Y2hpbmcgdGhlIG5ldyBjb25maWcuIEJ5IGRlZmF1bHQsIG5vdGhpbmdcbiAgICAgKiBpcyBkb25lIGFuZCBvbmx5IG5ldyBpbnN0YW5jZXMgYXJlIGxhdW5jaGVkIHdpdGggdGhlIG5ldyBjb25maWcuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBVcGRhdGVUeXBlLk5vbmVcbiAgICAgKi9cbiAgICB1cGRhdGVUeXBlPzogVXBkYXRlVHlwZTtcblxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIHJvbGxpbmcgdXBkYXRlc1xuICAgICAqXG4gICAgICogT25seSB1c2VkIGlmIHVwZGF0ZVR5cGUgPT0gVXBkYXRlVHlwZS5Sb2xsaW5nVXBkYXRlLlxuICAgICAqL1xuICAgIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uPzogUm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciByZXBsYWNpbmcgdXBkYXRlcy5cbiAgICAgKlxuICAgICAqIE9ubHkgdXNlZCBpZiB1cGRhdGVUeXBlID09IFVwZGF0ZVR5cGUuUmVwbGFjaW5nVXBkYXRlLiBTcGVjaWZpZXMgaG93XG4gICAgICogbWFueSBpbnN0YW5jZXMgbXVzdCBzaWduYWwgc3VjY2VzcyBmb3IgdGhlIHVwZGF0ZSB0byBzdWNjZWVkLlxuICAgICAqL1xuICAgIHJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogSWYgdGhlIEFTRyBoYXMgc2NoZWR1bGVkIGFjdGlvbnMsIGRvbid0IHJlc2V0IHVuY2hhbmdlZCBncm91cCBzaXplc1xuICAgICAqXG4gICAgICogT25seSB1c2VkIGlmIHRoZSBBU0cgaGFzIHNjaGVkdWxlZCBhY3Rpb25zICh3aGljaCBtYXkgc2NhbGUgeW91ciBBU0cgdXBcbiAgICAgKiBvciBkb3duIHJlZ2FyZGxlc3Mgb2YgY2RrIGRlcGxveW1lbnRzKS4gSWYgdHJ1ZSwgdGhlIHNpemUgb2YgdGhlIGdyb3VwXG4gICAgICogd2lsbCBvbmx5IGJlIHJlc2V0IGlmIGl0IGhhcyBiZWVuIGNoYW5nZWQgaW4gdGhlIENESyBhcHAuIElmIGZhbHNlLCB0aGVcbiAgICAgKiBzaXplcyB3aWxsIGFsd2F5cyBiZSBjaGFuZ2VkIGJhY2sgdG8gd2hhdCB0aGV5IHdlcmUgaW4gdGhlIENESyBhcHBcbiAgICAgKiBvbiBkZXBsb3ltZW50LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGlnbm9yZVVubW9kaWZpZWRTaXplUHJvcGVydGllcz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBIb3cgbWFueSBSZXNvdXJjZVNpZ25hbCBjYWxscyBDbG91ZEZvcm1hdGlvbiBleHBlY3RzIGJlZm9yZSB0aGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBjcmVhdGVkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcmVzb3VyY2VTaWduYWxDb3VudD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBsZW5ndGggb2YgdGltZSB0byB3YWl0IGZvciB0aGUgcmVzb3VyY2VTaWduYWxDb3VudFxuICAgICAqXG4gICAgICogVGhlIG1heGltdW0gdmFsdWUgaXMgNDMyMDAgKDEyIGhvdXJzKS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDMwMCAoNSBtaW51dGVzKVxuICAgICAqL1xuICAgIHJlc291cmNlU2lnbmFsVGltZW91dFNlYz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIEZsZWV0IHJlcHJlc2VudHMgYSBtYW5hZ2VkIHNldCBvZiBFQzIgaW5zdGFuY2VzXG4gKlxuICogVGhlIEZsZWV0IG1vZGVscyBhIG51bWJlciBvZiBBdXRvU2NhbGluZ0dyb3VwcywgYSBsYXVuY2ggY29uZmlndXJhdGlvbiwgYVxuICogc2VjdXJpdHkgZ3JvdXAgYW5kIGFuIGluc3RhbmNlIHJvbGUuXG4gKlxuICogSXQgYWxsb3dzIGFkZGluZyBhcmJpdHJhcnkgY29tbWFuZHMgdG8gdGhlIHN0YXJ0dXAgc2NyaXB0cyBvZiB0aGUgaW5zdGFuY2VzXG4gKiBpbiB0aGUgZmxlZXQuXG4gKlxuICogVGhlIEFTRyBzcGFucyBhbGwgYXZhaWxhYmlsaXR5IHpvbmVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b1NjYWxpbmdHcm91cCBleHRlbmRzIGNkay5Db25zdHJ1Y3QgaW1wbGVtZW50cyBlbGIuSUxvYWRCYWxhbmNlclRhcmdldCwgZWMyLklDb25uZWN0YWJsZSB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgT1MgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQgYXJlIHJ1bm5pbmcuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9zVHlwZTogZWMyLk9wZXJhdGluZ1N5c3RlbVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBBbGxvd3Mgc3BlY2lmeSBzZWN1cml0eSBncm91cCBjb25uZWN0aW9ucyBmb3IgaW5zdGFuY2VzIG9mIHRoaXMgZmxlZXQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgSUFNIHJvbGUgYXNzdW1lZCBieSBpbnN0YW5jZXMgb2YgdGhpcyBmbGVldC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLlJvbGU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJEYXRhTGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b1NjYWxpbmdHcm91cDogY2xvdWRmb3JtYXRpb24uQXV0b1NjYWxpbmdHcm91cFJlc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogZWMyLlNlY3VyaXR5R3JvdXBSZWY7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cml0eUdyb3VwczogZWMyLlNlY3VyaXR5R3JvdXBSZWZbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEF1dG9TY2FsaW5nR3JvdXBQcm9wcykge1xuICAgICAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnSW5zdGFuY2VTZWN1cml0eUdyb3VwJywgeyB2cGM6IHByb3BzLnZwYyB9KTtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9ucyA9IG5ldyBlYzIuQ29ubmVjdGlvbnMoeyBzZWN1cml0eUdyb3VwOiB0aGlzLnNlY3VyaXR5R3JvdXAgfSk7XG4gICAgICAgIHRoaXMuc2VjdXJpdHlHcm91cHMucHVzaCh0aGlzLnNlY3VyaXR5R3JvdXApO1xuXG4gICAgICAgIGlmIChwcm9wcy5hbGxvd0FsbE91dGJvdW5kICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9ucy5hbGxvd1RvKG5ldyBlYzIuQW55SVB2NCgpLCBuZXcgZWMyLkFsbENvbm5lY3Rpb25zKCksICdPdXRib3VuZCB0cmFmZmljIGFsbG93ZWQgYnkgZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJbnN0YW5jZVJvbGUnLCB7XG4gICAgICAgICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpYW1Qcm9maWxlID0gbmV3IGlhbS5jbG91ZGZvcm1hdGlvbi5JbnN0YW5jZVByb2ZpbGVSZXNvdXJjZSh0aGlzLCAnSW5zdGFuY2VQcm9maWxlJywge1xuICAgICAgICAgICAgcm9sZXM6IFsgdGhpcy5yb2xlLnJvbGVOYW1lIF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gdXNlIGRlbGF5ZWQgZXZhbHVhdGlvblxuICAgICAgICBjb25zdCBtYWNoaW5lSW1hZ2UgPSBwcm9wcy5tYWNoaW5lSW1hZ2UuZ2V0SW1hZ2UodGhpcyk7XG4gICAgICAgIGNvbnN0IHVzZXJEYXRhVG9rZW4gPSBuZXcgY2RrLlRva2VuKCgpID0+IG5ldyBjZGsuRm5CYXNlNjQoKG1hY2hpbmVJbWFnZS5vcy5jcmVhdGVVc2VyRGF0YSh0aGlzLnVzZXJEYXRhTGluZXMpKSkpO1xuICAgICAgICBjb25zdCBzZWN1cml0eUdyb3Vwc1Rva2VuID0gbmV3IGNkay5Ub2tlbigoKSA9PiB0aGlzLnNlY3VyaXR5R3JvdXBzLm1hcChzZyA9PiBzZy5zZWN1cml0eUdyb3VwSWQpKTtcblxuICAgICAgICBjb25zdCBsYXVuY2hDb25maWcgPSBuZXcgY2xvdWRmb3JtYXRpb24uTGF1bmNoQ29uZmlndXJhdGlvblJlc291cmNlKHRoaXMsICdMYXVuY2hDb25maWcnLCB7XG4gICAgICAgICAgICBpbWFnZUlkOiBtYWNoaW5lSW1hZ2UuaW1hZ2VJZCxcbiAgICAgICAgICAgIGtleU5hbWU6IHByb3BzLmtleU5hbWUsXG4gICAgICAgICAgICBpbnN0YW5jZVR5cGU6IHByb3BzLmluc3RhbmNlVHlwZS50b1N0cmluZygpLFxuICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHNlY3VyaXR5R3JvdXBzVG9rZW4sXG4gICAgICAgICAgICBpYW1JbnN0YW5jZVByb2ZpbGU6IGlhbVByb2ZpbGUucmVmLFxuICAgICAgICAgICAgdXNlckRhdGE6IHVzZXJEYXRhVG9rZW5cbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGF1bmNoQ29uZmlnLmFkZERlcGVuZGVuY3kodGhpcy5yb2xlKTtcblxuICAgICAgICBjb25zdCBtaW5TaXplID0gcHJvcHMubWluU2l6ZSB8fCAxO1xuICAgICAgICBjb25zdCBtYXhTaXplID0gcHJvcHMubWF4U2l6ZSB8fCAxO1xuICAgICAgICBjb25zdCBkZXNpcmVkQ2FwYWNpdHkgPSBwcm9wcy5kZXNpcmVkQ2FwYWNpdHkgfHwgMTtcblxuICAgICAgICBpZiAoZGVzaXJlZENhcGFjaXR5IDwgbWluU2l6ZSB8fCBkZXNpcmVkQ2FwYWNpdHkgPiBtYXhTaXplKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNob3VsZCBoYXZlIG1pblNpemUgKCR7bWluU2l6ZX0pIDw9IGRlc2lyZWRDYXBhY2l0eSAoJHtkZXNpcmVkQ2FwYWNpdHl9KSA8PSBtYXhTaXplICgke21heFNpemV9KWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXNnUHJvcHM6IGNsb3VkZm9ybWF0aW9uLkF1dG9TY2FsaW5nR3JvdXBSZXNvdXJjZVByb3BzID0ge1xuICAgICAgICAgICAgbWluU2l6ZTogbWluU2l6ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgbWF4U2l6ZTogbWF4U2l6ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgZGVzaXJlZENhcGFjaXR5OiBkZXNpcmVkQ2FwYWNpdHkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGxhdW5jaENvbmZpZ3VyYXRpb25OYW1lOiBsYXVuY2hDb25maWcucmVmLFxuICAgICAgICAgICAgbG9hZEJhbGFuY2VyTmFtZXM6IG5ldyBjZGsuVG9rZW4oKCkgPT4gdGhpcy5sb2FkQmFsYW5jZXJOYW1lcyksXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHByb3BzLm5vdGlmaWNhdGlvbnNUb3BpYykge1xuICAgICAgICAgICAgYXNnUHJvcHMubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIGFzZ1Byb3BzLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHRvcGljQXJuOiBwcm9wcy5ub3RpZmljYXRpb25zVG9waWMudG9waWNBcm4sXG4gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uVHlwZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfTEFVTkNIXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b3NjYWxpbmc6RUMyX0lOU1RBTkNFX0xBVU5DSF9FUlJPUlwiLFxuICAgICAgICAgICAgICAgICAgICBcImF1dG9zY2FsaW5nOkVDMl9JTlNUQU5DRV9URVJNSU5BVEVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvc2NhbGluZzpFQzJfSU5TVEFOQ0VfVEVSTUlOQVRFX0VSUk9SXCJcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWJuZXRzID0gcHJvcHMudnBjLnN1Ym5ldHMocHJvcHMudnBjUGxhY2VtZW50KTtcbiAgICAgICAgYXNnUHJvcHMudnBjWm9uZUlkZW50aWZpZXIgPSBzdWJuZXRzLm1hcChuID0+IG4uc3VibmV0SWQpO1xuXG4gICAgICAgIHRoaXMuYXV0b1NjYWxpbmdHcm91cCA9IG5ldyBjbG91ZGZvcm1hdGlvbi5BdXRvU2NhbGluZ0dyb3VwUmVzb3VyY2UodGhpcywgJ0FTRycsIGFzZ1Byb3BzKTtcbiAgICAgICAgdGhpcy5vc1R5cGUgPSBtYWNoaW5lSW1hZ2Uub3MudHlwZTtcblxuICAgICAgICB0aGlzLmFwcGx5VXBkYXRlUG9saWNpZXMocHJvcHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgc2VjdXJpdHkgZ3JvdXAgdG8gYWxsIGluc3RhbmNlcyB2aWEgdGhlIGxhdW5jaCBjb25maWd1cmF0aW9uXG4gICAgICogc2VjdXJpdHkgZ3JvdXBzIGFycmF5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlY3VyaXR5R3JvdXA6IFRoZSBTZWN1cml0eUdyb3VwUmVmIHRvIGFkZFxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXA6IGVjMi5TZWN1cml0eUdyb3VwUmVmKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VjdXJpdHlHcm91cHMucHVzaChzZWN1cml0eUdyb3VwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXR0YWNoVG9DbGFzc2ljTEIobG9hZEJhbGFuY2VyOiBlbGIuTG9hZEJhbGFuY2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZEJhbGFuY2VyTmFtZXMucHVzaChsb2FkQmFsYW5jZXIubG9hZEJhbGFuY2VyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGNvbW1hbmQgdG8gdGhlIHN0YXJ0dXAgc2NyaXB0IG9mIGZsZWV0IGluc3RhbmNlcy5cbiAgICAgKiBUaGUgY29tbWFuZCBtdXN0IGJlIGluIHRoZSBzY3JpcHRpbmcgbGFuZ3VhZ2Ugc3VwcG9ydGVkIGJ5IHRoZSBmbGVldCdzIE9TIChpLmUuIExpbnV4L1dpbmRvd3MpLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRVc2VyRGF0YShzY3JpcHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVzZXJEYXRhTGluZXMucHVzaChzY3JpcHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdXRvU2NhbGluZ0dyb3VwTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b1NjYWxpbmdHcm91cC5yZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJvbGUgYXNzdW1lZCBieSBpbnN0YW5jZXMgb2YgdGhpcyBmbGVldC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkVG9Sb2xlUG9saWN5KHN0YXRlbWVudDogY2RrLlBvbGljeVN0YXRlbWVudCkge1xuICAgICAgICB0aGlzLnJvbGUuYWRkVG9Qb2xpY3koc3RhdGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBseSBDbG91ZEZvcm1hdGlvbiB1cGRhdGUgcG9saWNpZXMgZm9yIHRoZSBBdXRvU2NhbGluZ0dyb3VwXG4gICAgICovXG4gICAgcHJpdmF0ZSBhcHBseVVwZGF0ZVBvbGljaWVzKHByb3BzOiBBdXRvU2NhbGluZ0dyb3VwUHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3BzLnVwZGF0ZVR5cGUgPT09IFVwZGF0ZVR5cGUuUmVwbGFjaW5nVXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmFzZ1VwZGF0ZVBvbGljeS5hdXRvU2NhbGluZ1JlcGxhY2luZ1VwZGF0ZSA9IHsgd2lsbFJlcGxhY2U6IHRydWUgfTtcblxuICAgICAgICAgICAgaWYgKHByb3BzLnJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBZZXMsIHRoaXMgZ29lcyBvbiBDcmVhdGlvblBvbGljeSwgbm90IGFzIGEgcHJvY2VzcyBwYXJhbWV0ZXIgdG8gUmVwbGFjaW5nVXBkYXRlLlxuICAgICAgICAgICAgICAgIC8vIEl0J3MgYSBsaXR0bGUgY29uZnVzaW5nLCBidXQgdGhlIGRvY3Mgc2VlbSB0byBleHBsaWNpdGx5IHN0YXRlIGl0IHdpbGwgb25seSBiZSB1c2VkXG4gICAgICAgICAgICAgICAgLy8gZHVyaW5nIHRoZSB1cGRhdGU/XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtYXR0cmlidXRlLWNyZWF0aW9ucG9saWN5Lmh0bWxcbiAgICAgICAgICAgICAgICB0aGlzLmFzZ0NyZWF0aW9uUG9saWN5LmF1dG9TY2FsaW5nQ3JlYXRpb25Qb2xpY3kgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiB2YWxpZGF0ZVBlcmNlbnRhZ2UocHJvcHMucmVwbGFjaW5nVXBkYXRlTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChwcm9wcy51cGRhdGVUeXBlID09PSBVcGRhdGVUeXBlLlJvbGxpbmdVcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXNnVXBkYXRlUG9saWN5LmF1dG9TY2FsaW5nUm9sbGluZ1VwZGF0ZSA9IHJlbmRlclJvbGxpbmdVcGRhdGVDb25maWcocHJvcHMucm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdW5kZWZpbmVkIGlzIHRyZWF0ZWQgYXMgJ3RydWUnXG4gICAgICAgIGlmIChwcm9wcy5pZ25vcmVVbm1vZGlmaWVkU2l6ZVByb3BlcnRpZXMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmFzZ1VwZGF0ZVBvbGljeS5hdXRvU2NhbGluZ1NjaGVkdWxlZEFjdGlvbiA9IHsgaWdub3JlVW5tb2RpZmllZEdyb3VwU2l6ZVByb3BlcnRpZXM6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wcy5yZXNvdXJjZVNpZ25hbENvdW50ICE9PSB1bmRlZmluZWQgfHwgcHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0U2VjICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXNnQ3JlYXRpb25Qb2xpY3kucmVzb3VyY2VTaWduYWwgPSB7XG4gICAgICAgICAgICAgICAgY291bnQ6IHByb3BzLnJlc291cmNlU2lnbmFsQ291bnQsXG4gICAgICAgICAgICAgICAgdGltZW91dDogcHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0U2VjICE9PSB1bmRlZmluZWQgPyByZW5kZXJJc29EdXJhdGlvbihwcm9wcy5yZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWMpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhbmQgcmV0dXJuIHRoZSBBU0cgdXBkYXRlIHBvbGljeVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGFzZ1VwZGF0ZVBvbGljeSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b1NjYWxpbmdHcm91cC5vcHRpb25zLnVwZGF0ZVBvbGljeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy51cGRhdGVQb2xpY3kgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hdXRvU2NhbGluZ0dyb3VwLm9wdGlvbnMudXBkYXRlUG9saWN5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhbmQgcmV0dXJuIHRoZSBBU0cgY3JlYXRpb24gcG9saWN5XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgYXNnQ3JlYXRpb25Qb2xpY3koKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy5jcmVhdGlvblBvbGljeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy5jcmVhdGlvblBvbGljeSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAub3B0aW9ucy5jcmVhdGlvblBvbGljeTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdXBkYXRlIHRvIHBlcmZvcm0gb24gaW5zdGFuY2VzIGluIHRoaXMgQXV0b1NjYWxpbmdHcm91cFxuICovXG5leHBvcnQgZW51bSBVcGRhdGVUeXBlIHtcbiAgICAvKipcbiAgICAgKiBEb24ndCBkbyBhbnl0aGluZ1xuICAgICAqL1xuICAgIE5vbmUgPSAnTm9uZScsXG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlIHRoZSBlbnRpcmUgQXV0b1NjYWxpbmdHcm91cFxuICAgICAqXG4gICAgICogQnVpbGRzIGEgbmV3IEF1dG9TY2FsaW5nR3JvdXAgZmlyc3QsIHRoZW4gZGVsZXRlIHRoZSBvbGQgb25lLlxuICAgICAqL1xuICAgIFJlcGxhY2luZ1VwZGF0ZSA9ICdSZXBsYWNlJyxcblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2UgdGhlIGluc3RhbmNlcyBpbiB0aGUgQXV0b1NjYWxpbmdHcm91cC5cbiAgICAgKi9cbiAgICBSb2xsaW5nVXBkYXRlID0gJ1JvbGxpbmdVcGRhdGUnLFxufVxuXG4vKipcbiAqIEFkZGl0aW9uYWwgc2V0dGluZ3Mgd2hlbiBhIHJvbGxpbmcgdXBkYXRlIGlzIHNlbGVjdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBBV1MgQ2xvdWRGb3JtYXRpb24gdXBkYXRlcyBhdCBvbmNlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIG1heEJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBtdXN0IGJlIGluIHNlcnZpY2UgYmVmb3JlIG1vcmUgaW5zdGFuY2VzIGFyZSByZXBsYWNlZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbnVtYmVyIGFmZmVjdHMgdGhlIHNwZWVkIG9mIHRoZSByZXBsYWNlbWVudC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBtaW5JbnN0YW5jZXNJblNlcnZpY2U/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGVyY2VudGFnZSBvZiBpbnN0YW5jZXMgdGhhdCBtdXN0IHNpZ25hbCBzdWNjZXNzIGZvciBhbiB1cGRhdGUgdG8gc3VjY2VlZC5cbiAgICAgKlxuICAgICAqIElmIGFuIGluc3RhbmNlIGRvZXNuJ3Qgc2VuZCBhIHNpZ25hbCB3aXRoaW4gdGhlIHRpbWUgc3BlY2lmaWVkIGluIHRoZVxuICAgICAqIHBhdXNlVGltZSBwcm9wZXJ0eSwgQVdTIENsb3VkRm9ybWF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgaW5zdGFuY2Ugd2Fzbid0XG4gICAgICogdXBkYXRlZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbnVtYmVyIGFmZmVjdHMgdGhlIHN1Y2Nlc3Mgb2YgdGhlIHJlcGxhY2VtZW50LlxuICAgICAqXG4gICAgICogSWYgeW91IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgeW91IG11c3QgYWxzbyBlbmFibGUgdGhlXG4gICAgICogd2FpdE9uUmVzb3VyY2VTaWduYWxzIGFuZCBwYXVzZVRpbWUgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDEwMFxuICAgICAqL1xuICAgIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdXNlIHRpbWUgYWZ0ZXIgbWFraW5nIGEgY2hhbmdlIHRvIGEgYmF0Y2ggb2YgaW5zdGFuY2VzLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBpbnRlbmRlZCB0byBnaXZlIHRob3NlIGluc3RhbmNlcyB0aW1lIHRvIHN0YXJ0IHNvZnR3YXJlIGFwcGxpY2F0aW9ucy5cbiAgICAgKlxuICAgICAqIFNwZWNpZnkgUGF1c2VUaW1lIGluIHRoZSBJU084NjAxIGR1cmF0aW9uIGZvcm1hdCAoaW4gdGhlIGZvcm1hdFxuICAgICAqIFBUI0gjTSNTLCB3aGVyZSBlYWNoICMgaXMgdGhlIG51bWJlciBvZiBob3VycywgbWludXRlcywgYW5kIHNlY29uZHMsXG4gICAgICogcmVzcGVjdGl2ZWx5KS4gVGhlIG1heGltdW0gUGF1c2VUaW1lIGlzIG9uZSBob3VyIChQVDFIKS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDMwMCBpZiB0aGUgd2FpdE9uUmVzb3VyY2VTaWduYWxzIHByb3BlcnR5IGlzIHRydWUsIG90aGVyd2lzZSAwXG4gICAgICovXG4gICAgcGF1c2VUaW1lU2VjPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIEF1dG8gU2NhbGluZyBncm91cCB3YWl0cyBvbiBzaWduYWxzIGZyb20gbmV3IGluc3RhbmNlcyBkdXJpbmcgYW4gdXBkYXRlLlxuICAgICAqXG4gICAgICogQVdTIENsb3VkRm9ybWF0aW9uIG11c3QgcmVjZWl2ZSBhIHNpZ25hbCBmcm9tIGVhY2ggbmV3IGluc3RhbmNlIHdpdGhpblxuICAgICAqIHRoZSBzcGVjaWZpZWQgUGF1c2VUaW1lIGJlZm9yZSBjb250aW51aW5nIHRoZSB1cGRhdGUuXG4gICAgICpcbiAgICAgKiBUbyBoYXZlIGluc3RhbmNlcyB3YWl0IGZvciBhbiBFbGFzdGljIExvYWQgQmFsYW5jaW5nIGhlYWx0aCBjaGVjayBiZWZvcmVcbiAgICAgKiB0aGV5IHNpZ25hbCBzdWNjZXNzLCBhZGQgYSBoZWFsdGgtY2hlY2sgdmVyaWZpY2F0aW9uIGJ5IHVzaW5nIHRoZVxuICAgICAqIGNmbi1pbml0IGhlbHBlciBzY3JpcHQuIEZvciBhbiBleGFtcGxlLCBzZWUgdGhlIHZlcmlmeV9pbnN0YW5jZV9oZWFsdGhcbiAgICAgKiBjb21tYW5kIGluIHRoZSBBdXRvIFNjYWxpbmcgcm9sbGluZyB1cGRhdGVzIHNhbXBsZSB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWUgaWYgeW91IHNwZWNpZmllZCB0aGUgbWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQgcHJvcGVydHksIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHdhaXRPblJlc291cmNlU2lnbmFscz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIEF1dG8gU2NhbGluZyBwcm9jZXNzZXMgdG8gc3VzcGVuZCBkdXJpbmcgYSBzdGFjayB1cGRhdGUuXG4gICAgICpcbiAgICAgKiBTdXNwZW5kaW5nIHByb2Nlc3NlcyBwcmV2ZW50cyBBdXRvIFNjYWxpbmcgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGEgc3RhY2tcbiAgICAgKiB1cGRhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBIZWFsdGhDaGVjaywgUmVwbGFjZVVuaGVhbHRoeSwgQVpSZWJhbGFuY2UsIEFsYXJtTm90aWZpY2F0aW9uLCBTY2hlZHVsZWRBY3Rpb25zLlxuICAgICAqL1xuICAgIHN1c3BlbmRQcm9jZXNzZXM/OiBTY2FsaW5nUHJvY2Vzc1tdO1xufVxuXG5leHBvcnQgZW51bSBTY2FsaW5nUHJvY2VzcyB7XG4gICAgTGF1bmNoID0gJ0xhdW5jaCcsXG4gICAgVGVybWluYXRlID0gJ1Rlcm1pbmF0ZScsXG4gICAgSGVhbHRoQ2hlY2sgPSAnSGVhbHRoQ2hlY2snLFxuICAgIFJlcGxhY2VVbmhlYWx0aHkgPSAnUmVwbGFjZVVuaGVhbHRoeScsXG4gICAgQVpSZWJhbGFuY2UgPSAnQVpSZWJhbGFuY2UnLFxuICAgIEFsYXJtTm90aWZpY2F0aW9uID0gJ0FsYXJtTm90aWZpY2F0aW9uJyxcbiAgICBTY2hlZHVsZWRBY3Rpb25zID0gJ1NjaGVkdWxlZEFjdGlvbnMnLFxuICAgIEFkZFRvTG9hZEJhbGFuY2VyID0gJ0FkZFRvTG9hZEJhbGFuY2VyJ1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgcm9sbGluZyB1cGRhdGUgY29uZmlndXJhdGlvbiBpbnRvIHRoZSBhcHByb3ByaWF0ZSBvYmplY3RcbiAqL1xuZnVuY3Rpb24gcmVuZGVyUm9sbGluZ1VwZGF0ZUNvbmZpZyhjb25maWc6IFJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uID0ge30pOiBjZGsuQXV0b1NjYWxpbmdSb2xsaW5nVXBkYXRlIHtcbiAgICBjb25zdCB3YWl0T25SZXNvdXJjZVNpZ25hbHMgPSBjb25maWcubWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQgIT09IHVuZGVmaW5lZCA/IHRydWUgOiBmYWxzZTtcbiAgICBjb25zdCBwYXVzZVRpbWVTZWMgPSBjb25maWcucGF1c2VUaW1lU2VjICE9PSB1bmRlZmluZWQgPyBjb25maWcucGF1c2VUaW1lU2VjIDogKHdhaXRPblJlc291cmNlU2lnbmFscyA/IDMwMCA6IDApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWF4QmF0Y2hTaXplOiBjb25maWcubWF4QmF0Y2hTaXplLFxuICAgICAgICBtaW5JbnN0YW5jZXNJblNlcnZpY2U6IGNvbmZpZy5taW5JbnN0YW5jZXNJblNlcnZpY2UsXG4gICAgICAgIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiB2YWxpZGF0ZVBlcmNlbnRhZ2UoY29uZmlnLm1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50KSxcbiAgICAgICAgd2FpdE9uUmVzb3VyY2VTaWduYWxzLFxuICAgICAgICBwYXVzZVRpbWU6IHJlbmRlcklzb0R1cmF0aW9uKHBhdXNlVGltZVNlYyksXG4gICAgICAgIHN1c3BlbmRQcm9jZXNzZXM6IGNvbmZpZy5zdXNwZW5kUHJvY2Vzc2VzICE9PSB1bmRlZmluZWQgPyBjb25maWcuc3VzcGVuZFByb2Nlc3NlcyA6XG4gICAgICAgICAgICAvLyBSZWNvbW1lbmRlZCBsaXN0IG9mIHByb2Nlc3NlcyB0byBzdXNwZW5kIGZyb20gaGVyZTpcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vcHJlbWl1bXN1cHBvcnQva25vd2xlZGdlLWNlbnRlci9hdXRvLXNjYWxpbmctZ3JvdXAtcm9sbGluZy11cGRhdGVzL1xuICAgICAgICAgICAgW1NjYWxpbmdQcm9jZXNzLkhlYWx0aENoZWNrLCBTY2FsaW5nUHJvY2Vzcy5SZXBsYWNlVW5oZWFsdGh5LCBTY2FsaW5nUHJvY2Vzcy5BWlJlYmFsYW5jZSxcbiAgICAgICAgICAgICAgICBTY2FsaW5nUHJvY2Vzcy5BbGFybU5vdGlmaWNhdGlvbiwgU2NhbGluZ1Byb2Nlc3MuU2NoZWR1bGVkQWN0aW9uc10sXG4gICAgfTtcbn1cblxuLyoqXG4gKiBSZW5kZXIgYSBudW1iZXIgb2Ygc2Vjb25kcyB0byBhIFBUblggc3RyaW5nLlxuICovXG5mdW5jdGlvbiByZW5kZXJJc29EdXJhdGlvbihzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJldDogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChzZWNvbmRzID49IDM2MDApIHtcbiAgICAgICAgcmV0LnB1c2goYCR7TWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCl9SGApO1xuICAgICAgICBzZWNvbmRzICU9IDM2MDA7XG4gICAgfVxuICAgIGlmIChzZWNvbmRzID49IDYwKSB7XG4gICAgICAgIHJldC5wdXNoKGAke01hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKX1NYCk7XG4gICAgICAgIHNlY29uZHMgJT0gNjA7XG4gICAgfVxuICAgIGlmIChzZWNvbmRzID4gMCkge1xuICAgICAgICByZXQucHVzaChgJHtzZWNvbmRzfVNgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJ1BUJyArIHJldC5qb2luKCcnKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVQZXJjZW50YWdlKHg/OiBudW1iZXIpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGlmICh4ID09PSB1bmRlZmluZWQgfHwgKDAgPD0geCAmJiB4IDw9IDEwMCkpIHsgcmV0dXJuIHg7IH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkOiBhIHBlcmNlbnRhZ2UgMC4uMTAwLCBnb3Q6ICR7eH1gKTtcbn1cbiJdfQ==

@@ -116,3 +116,3 @@ import cdk = require('@aws-cdk/cdk');

static readonly resourceTypeName: string;
readonly ref: AutoScalingGroupName;
readonly autoScalingGroupName: string;
/**

@@ -229,5 +229,2 @@ * Creates a new ``AWS::AutoScaling::AutoScalingGroup``.

}
export declare class AutoScalingGroupName extends cdk.CloudFormationToken {
private readonly thisIsAAutoScalingGroupName;
}
export declare namespace cloudformation {

@@ -337,3 +334,3 @@ /**

static readonly resourceTypeName: string;
readonly ref: LaunchConfigurationName;
readonly launchConfigurationName: string;
/**

@@ -416,5 +413,2 @@ * Creates a new ``AWS::AutoScaling::LaunchConfiguration``.

}
export declare class LaunchConfigurationName extends cdk.CloudFormationToken {
private readonly thisIsALaunchConfigurationName;
}
export declare namespace cloudformation {

@@ -474,3 +468,3 @@ /**

static readonly resourceTypeName: string;
readonly ref: LifecycleHookName;
readonly lifecycleHookName: string;
/**

@@ -489,5 +483,2 @@ * Creates a new ``AWS::AutoScaling::LifecycleHook``.

}
export declare class LifecycleHookName extends cdk.CloudFormationToken {
private readonly thisIsALifecycleHookName;
}
export declare namespace cloudformation {

@@ -557,3 +548,3 @@ /**

static readonly resourceTypeName: string;
readonly ref: ScalingPolicyArn;
readonly scalingPolicyArn: string;
/**

@@ -687,5 +678,2 @@ * Creates a new ``AWS::AutoScaling::ScalingPolicy``.

}
export declare class ScalingPolicyArn extends cdk.Arn {
private readonly thisIsAScalingPolicyArn;
}
export declare namespace cloudformation {

@@ -740,3 +728,3 @@ /**

static readonly resourceTypeName: string;
readonly ref: ScheduledActionName;
readonly scheduledActionName: string;
/**

@@ -755,4 +743,1 @@ * Creates a new ``AWS::AutoScaling::ScheduledAction``.

}
export declare class ScheduledActionName extends cdk.CloudFormationToken {
private readonly thisIsAScheduledActionName;
}
{
"name": "@aws-cdk/aws-autoscaling",
"version": "0.9.1",
"version": "0.9.2",
"description": "The CDK Construct Library for AWS::AutoScaling",

@@ -55,16 +55,16 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "^0.9.1",
"cdk-build-tools": "^0.9.1",
"cdk-integ-tools": "^0.9.1",
"cfn2ts": "^0.9.1",
"pkglint": "^0.9.1"
"@aws-cdk/assert": "^0.9.2",
"cdk-build-tools": "^0.9.2",
"cdk-integ-tools": "^0.9.2",
"cfn2ts": "^0.9.2",
"pkglint": "^0.9.2"
},
"dependencies": {
"@aws-cdk/aws-ec2": "^0.9.1",
"@aws-cdk/aws-elasticloadbalancing": "^0.9.1",
"@aws-cdk/aws-iam": "^0.9.1",
"@aws-cdk/aws-sns": "^0.9.1",
"@aws-cdk/cdk": "^0.9.1"
"@aws-cdk/aws-ec2": "^0.9.2",
"@aws-cdk/aws-elasticloadbalancing": "^0.9.2",
"@aws-cdk/aws-iam": "^0.9.2",
"@aws-cdk/aws-sns": "^0.9.2",
"@aws-cdk/cdk": "^0.9.2"
},
"homepage": "https://github.com/awslabs/aws-cdk"
}

@@ -8,6 +8,6 @@ "use strict";

return ec2.VpcNetwork.import(stack, 'MyVpc', {
vpcId: new ec2.VPCId('my-vpc'),
vpcId: 'my-vpc',
availabilityZones: ['az1'],
publicSubnetIds: [new ec2.SubnetId('pub1')],
privateSubnetIds: [new ec2.SubnetId('pri1')],
publicSubnetIds: ['pub1'],
privateSubnetIds: ['pri1'],
isolatedSubnetIds: [],

@@ -18,3 +18,3 @@ });

return ec2.SecurityGroupRef.import(stack, 'MySG', {
securityGroupId: new ec2.SecurityGroupId('most-secure'),
securityGroupId: 'most-secure',
});

@@ -353,2 +353,2 @@ }

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hdXRvLXNjYWxpbmctZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmF1dG8tc2NhbGluZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXFFO0FBQ3JFLHdDQUF5QztBQUN6QyxvQ0FBcUM7QUFFckMsc0NBQXVDO0FBb1d2QyxTQUFTLE9BQU8sQ0FBQyxLQUFnQjtJQUM3QixPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDekMsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDOUIsaUJBQWlCLEVBQUUsQ0FBRSxLQUFLLENBQUU7UUFDNUIsZUFBZSxFQUFFLENBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFO1FBQzdDLGdCQUFnQixFQUFFLENBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFO1FBQzlDLGlCQUFpQixFQUFFLEVBQUU7S0FDeEIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBZ0I7SUFDdkMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDOUMsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7S0FDMUQsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQTlXRCxpQkFBUztJQUNMLGVBQWUsQ0FBQyxJQUFVO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxL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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBoYXZlUmVzb3VyY2UsIFJlc291cmNlUGFydCB9IGZyb20gJ0Bhd3MtY2RrL2Fzc2VydCc7XG5pbXBvcnQgZWMyID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWVjMicpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCBhdXRvc2NhbGluZyA9IHJlcXVpcmUoJy4uL2xpYicpO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG5cbmV4cG9ydCA9IHtcbiAgICAnZGVmYXVsdCBmbGVldCcodGVzdDogVGVzdCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgICAgIGNvbnN0IHZwYyA9IG1vY2tWcGMoc3RhY2spO1xuXG4gICAgICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgICAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICAgICAgICB2cGNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgICAgICAgIFwiUmVzb3VyY2VzXCI6IHtcbiAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VTZWN1cml0eUdyb3VwNzc0RTgyMzRcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6RUMyOjpTZWN1cml0eUdyb3VwXCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiR3JvdXBEZXNjcmlwdGlvblwiOiBcIk15RmxlZXQvSW5zdGFuY2VTZWN1cml0eUdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICBcIlNlY3VyaXR5R3JvdXBFZ3Jlc3NcIjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJDaWRySXBcIjogXCIwLjAuMC4wLzBcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIkRlc2NyaXB0aW9uXCI6IFwiT3V0Ym91bmQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHRcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIkZyb21Qb3J0XCI6IC0xLFxuICAgICAgICAgICAgICAgICAgICAgIFwiSXBQcm90b2NvbFwiOiBcIi0xXCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJUb1BvcnRcIjogLTFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cEluZ3Jlc3NcIjogW10sXG4gICAgICAgICAgICAgICAgICBcIlZwY0lkXCI6IFwibXktdnBjXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4XCI6IHtcbiAgICAgICAgICAgICAgICBcIlR5cGVcIjogXCJBV1M6OklBTTo6Um9sZVwiLFxuICAgICAgICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcIkFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudFwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiU3RhdGVtZW50XCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIkFjdGlvblwiOiBcInN0czpBc3N1bWVSb2xlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkVmZmVjdFwiOiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlByaW5jaXBhbFwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiU2VydmljZVwiOiBcImVjMi5hbWF6b25hd3MuY29tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIFwiVmVyc2lvblwiOiBcIjIwMTItMTAtMTdcIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VQcm9maWxlNzBBNTg0OTZcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpJbnN0YW5jZVByb2ZpbGVcIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJSb2xlc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiTXlGbGVldExhdW5jaENvbmZpZzVEN0Y5ODAxXCI6IHtcbiAgICAgICAgICAgICAgICBcIlR5cGVcIjogXCJBV1M6OkF1dG9TY2FsaW5nOjpMYXVuY2hDb25maWd1cmF0aW9uXCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiSWFtSW5zdGFuY2VQcm9maWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0SW5zdGFuY2VQcm9maWxlNzBBNTg0OTZcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwiSW1hZ2VJZFwiOiBcImR1bW15XCIsXG4gICAgICAgICAgICAgICAgICBcIkluc3RhbmNlVHlwZVwiOiBcIm00Lm1pY3JvXCIsXG4gICAgICAgICAgICAgICAgICBcIlNlY3VyaXR5R3JvdXBzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJHcm91cElkXCJcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBcIlVzZXJEYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJGbjo6QmFzZTY0XCI6IFwiIyEvYmluL2Jhc2hcXG5cIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJEZXBlbmRzT25cIjogW1xuICAgICAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VSb2xlMjVBODRBQjhcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCJNeUZsZWV0QVNHODhFNTU4ODZcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6QXV0b1NjYWxpbmc6OkF1dG9TY2FsaW5nR3JvdXBcIixcbiAgICAgICAgICAgICAgICBcIlVwZGF0ZVBvbGljeVwiOiB7XG4gICAgICAgICAgICAgICAgICBcIkF1dG9TY2FsaW5nU2NoZWR1bGVkQWN0aW9uXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJJZ25vcmVVbm1vZGlmaWVkR3JvdXBTaXplUHJvcGVydGllc1wiOiB0cnVlXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJEZXNpcmVkQ2FwYWNpdHlcIjogXCIxXCIsXG4gICAgICAgICAgICAgICAgICBcIkxhdW5jaENvbmZpZ3VyYXRpb25OYW1lXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0TGF1bmNoQ29uZmlnNUQ3Rjk4MDFcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwiTG9hZEJhbGFuY2VyTmFtZXNcIjogW10sXG4gICAgICAgICAgICAgICAgICBcIk1heFNpemVcIjogXCIxXCIsXG4gICAgICAgICAgICAgICAgICBcIk1pblNpemVcIjogXCIxXCIsXG4gICAgICAgICAgICAgICAgICBcIlZQQ1pvbmVJZGVudGlmaWVyXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJwcmkxXCJcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdhZGRUb1JvbGVQb2xpY3kgY2FuIGJlIHVzZWQgdG8gYWRkIHN0YXRlbWVudHMgdG8gdGhlIHJvbGUgcG9saWN5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgICAgY29uc3QgZmxlZXQgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICAgICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgICAgICAgdnBjXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZsZWV0LmFkZFRvUm9sZVBvbGljeShuZXcgY2RrLlBvbGljeVN0YXRlbWVudCgpXG4gICAgICAgICAgICAuYWRkQWN0aW9uKCcqJylcbiAgICAgICAgICAgIC5hZGRBbGxSZXNvdXJjZXMoKSk7XG5cbiAgICAgICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgICAgICAgIFwiUmVzb3VyY2VzXCI6IHtcbiAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VTZWN1cml0eUdyb3VwNzc0RTgyMzRcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6RUMyOjpTZWN1cml0eUdyb3VwXCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiR3JvdXBEZXNjcmlwdGlvblwiOiBcIk15RmxlZXQvSW5zdGFuY2VTZWN1cml0eUdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICBcIlNlY3VyaXR5R3JvdXBFZ3Jlc3NcIjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJDaWRySXBcIjogXCIwLjAuMC4wLzBcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIkRlc2NyaXB0aW9uXCI6IFwiT3V0Ym91bmQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHRcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIkZyb21Qb3J0XCI6IC0xLFxuICAgICAgICAgICAgICAgICAgICAgIFwiSXBQcm90b2NvbFwiOiBcIi0xXCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJUb1BvcnRcIjogLTFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cEluZ3Jlc3NcIjogW10sXG4gICAgICAgICAgICAgICAgICBcIlZwY0lkXCI6IFwibXktdnBjXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCODoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpSb2xlXCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiQXNzdW1lUm9sZVBvbGljeURvY3VtZW50XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJTdGF0ZW1lbnRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQWN0aW9uXCI6IFwic3RzOkFzc3VtZVJvbGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRWZmZWN0XCI6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiUHJpbmNpcGFsXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJTZXJ2aWNlXCI6IFwiZWMyLmFtYXpvbmF3cy5jb21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgXCJWZXJzaW9uXCI6IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBNeUZsZWV0SW5zdGFuY2VSb2xlRGVmYXVsdFBvbGljeTdCMDE5N0U3OiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpJQU06OlBvbGljeVwiLFxuICAgICAgICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcIlBvbGljeURvY3VtZW50XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJTdGF0ZW1lbnRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQWN0aW9uXCI6IFwiKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJSZXNvdXJjZVwiOiBcIipcIlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgXCJWZXJzaW9uXCI6IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXCJQb2xpY3lOYW1lXCI6IFwiTXlGbGVldEluc3RhbmNlUm9sZURlZmF1bHRQb2xpY3k3QjAxOTdFN1wiLFxuICAgICAgICAgICAgICAgICAgXCJSb2xlc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE15RmxlZXRJbnN0YW5jZVByb2ZpbGU3MEE1ODQ5Njoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpJbnN0YW5jZVByb2ZpbGVcIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJSb2xlc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE15RmxlZXRMYXVuY2hDb25maWc1RDdGOTgwMToge1xuICAgICAgICAgICAgICAgIFR5cGU6IFwiQVdTOjpBdXRvU2NhbGluZzo6TGF1bmNoQ29uZmlndXJhdGlvblwiLFxuICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgIFwiSWFtSW5zdGFuY2VQcm9maWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJSZWZcIjogXCJNeUZsZWV0SW5zdGFuY2VQcm9maWxlNzBBNTg0OTZcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwiSW1hZ2VJZFwiOiBcImR1bW15XCIsXG4gICAgICAgICAgICAgICAgICBcIkluc3RhbmNlVHlwZVwiOiBcIm00Lm1pY3JvXCIsXG4gICAgICAgICAgICAgICAgICBcIlNlY3VyaXR5R3JvdXBzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJHcm91cElkXCJcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBcIlVzZXJEYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJGbjo6QmFzZTY0XCI6IFwiIyEvYmluL2Jhc2hcXG5cIlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgRGVwZW5kc09uOiBbXG4gICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiLFxuICAgICAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VSb2xlRGVmYXVsdFBvbGljeTdCMDE5N0U3XCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE15RmxlZXRBU0c4OEU1NTg4Njoge1xuICAgICAgICAgICAgICAgIFR5cGU6IFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLFxuICAgICAgICAgICAgICAgIFVwZGF0ZVBvbGljeToge1xuICAgICAgICAgICAgICAgICAgQXV0b1NjYWxpbmdTY2hlZHVsZWRBY3Rpb246IHsgSWdub3JlVW5tb2RpZmllZEdyb3VwU2l6ZVByb3BlcnRpZXM6IHRydWUgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgRGVzaXJlZENhcGFjaXR5OiBcIjFcIixcbiAgICAgICAgICAgICAgICAgIExhdW5jaENvbmZpZ3VyYXRpb25OYW1lOiB7XG4gICAgICAgICAgICAgICAgICAgIFJlZjogXCJNeUZsZWV0TGF1bmNoQ29uZmlnNUQ3Rjk4MDFcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIExvYWRCYWxhbmNlck5hbWVzOiBbXSxcbiAgICAgICAgICAgICAgICAgIE1heFNpemU6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgTWluU2l6ZTogXCIxXCIsXG4gICAgICAgICAgICAgICAgICBWUENab25lSWRlbnRpZmllcjogW1xuICAgICAgICAgICAgICAgICAgICBcInByaTFcIlxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NhbiBjb25maWd1cmUgcmVwbGFjaW5nIHVwZGF0ZScodGVzdDogVGVzdCkge1xuICAgICAgLy8gR0lWRU5cbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICAgIGNvbnN0IHZwYyA9IG1vY2tWcGMoc3RhY2spO1xuXG4gICAgICAvLyBXSEVOXG4gICAgICBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICAgICAgdnBjLFxuICAgICAgICAgIHVwZGF0ZVR5cGU6IGF1dG9zY2FsaW5nLlVwZGF0ZVR5cGUuUmVwbGFjaW5nVXBkYXRlLFxuICAgICAgICAgIHJlcGxhY2luZ1VwZGF0ZU1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiA1MFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRIRU5cbiAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgICAgIFVwZGF0ZVBvbGljeToge1xuICAgICAgICAgIEF1dG9TY2FsaW5nUmVwbGFjaW5nVXBkYXRlOiB7XG4gICAgICAgICAgICBXaWxsUmVwbGFjZTogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgICAgICBBdXRvU2NhbGluZ0NyZWF0aW9uUG9saWN5OiB7XG4gICAgICAgICAgICBNaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogNTBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pKTtcblxuICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdjYW4gY29uZmlndXJlIHJvbGxpbmcgdXBkYXRlJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgICAgICB2cGMsXG4gICAgICAgICAgdXBkYXRlVHlwZTogYXV0b3NjYWxpbmcuVXBkYXRlVHlwZS5Sb2xsaW5nVXBkYXRlLFxuICAgICAgICAgIHJvbGxpbmdVcGRhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICBtaW5TdWNjZXNzZnVsSW5zdGFuY2VzUGVyY2VudDogNTAsXG4gICAgICAgICAgICBwYXVzZVRpbWVTZWM6IDM0NVxuICAgICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBUSEVOXG4gICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZShcIkFXUzo6QXV0b1NjYWxpbmc6OkF1dG9TY2FsaW5nR3JvdXBcIiwge1xuICAgICAgICBVcGRhdGVQb2xpY3k6IHtcbiAgICAgICAgICBcIkF1dG9TY2FsaW5nUm9sbGluZ1VwZGF0ZVwiOiB7XG4gICAgICAgICAgICBcIk1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50XCI6IDUwLFxuICAgICAgICAgICAgXCJXYWl0T25SZXNvdXJjZVNpZ25hbHNcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiUGF1c2VUaW1lXCI6IFwiUFQ1TTQ1U1wiLFxuICAgICAgICAgICAgXCJTdXNwZW5kUHJvY2Vzc2VzXCI6IFsgXCJIZWFsdGhDaGVja1wiLCBcIlJlcGxhY2VVbmhlYWx0aHlcIiwgXCJBWlJlYmFsYW5jZVwiLCBcIkFsYXJtTm90aWZpY2F0aW9uXCIsIFwiU2NoZWR1bGVkQWN0aW9uc1wiIF1cbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG5cbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnY2FuIGNvbmZpZ3VyZSByZXNvdXJjZSBzaWduYWxzJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgICAgICB2cGMsXG4gICAgICAgICAgcmVzb3VyY2VTaWduYWxDb3VudDogNSxcbiAgICAgICAgICByZXNvdXJjZVNpZ25hbFRpbWVvdXRTZWM6IDY2NlxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRIRU5cbiAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgICAgIENyZWF0aW9uUG9saWN5OiB7XG4gICAgICAgICAgUmVzb3VyY2VTaWduYWw6IHtcbiAgICAgICAgICAgIENvdW50OiA1LFxuICAgICAgICAgICAgVGltZW91dDogJ1BUMTFNNlMnXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgfSwgUmVzb3VyY2VQYXJ0LkNvbXBsZXRlRGVmaW5pdGlvbikpO1xuXG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuICAgICdjYW4gYWRkIFNlY3VyaXR5IEdyb3VwIHRvIEZsZWV0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIC8vIEdJVkVOXG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgICAgLy8gV0hFTlxuICAgICAgICBjb25zdCBhc2cgPSBuZXcgYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cChzdGFjaywgJ015RmxlZXQnLCB7XG4gICAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICAgICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgICAgICAgdnBjLFxuICAgICAgICB9KTtcbiAgICAgICAgYXNnLmFkZFNlY3VyaXR5R3JvdXAobW9ja1NlY3VyaXR5R3JvdXAoc3RhY2spKTtcbiAgICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpMYXVuY2hDb25maWd1cmF0aW9uXCIsIHtcbiAgICAgICAgICAgIFNlY3VyaXR5R3JvdXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VTZWN1cml0eUdyb3VwNzc0RTgyMzRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiR3JvdXBJZFwiXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICdtb3N0LXNlY3VyZSddLFxuICAgICAgICB9KSk7XG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG59O1xuXG5mdW5jdGlvbiBtb2NrVnBjKHN0YWNrOiBjZGsuU3RhY2spIHtcbiAgICByZXR1cm4gZWMyLlZwY05ldHdvcmsuaW1wb3J0KHN0YWNrLCAnTXlWcGMnLCB7XG4gICAgICAgIHZwY0lkOiBuZXcgZWMyLlZQQ0lkKCdteS12cGMnKSxcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZXM6IFsgJ2F6MScgXSxcbiAgICAgICAgcHVibGljU3VibmV0SWRzOiBbIG5ldyBlYzIuU3VibmV0SWQoJ3B1YjEnKSBdLFxuICAgICAgICBwcml2YXRlU3VibmV0SWRzOiBbIG5ldyBlYzIuU3VibmV0SWQoJ3ByaTEnKSBdLFxuICAgICAgICBpc29sYXRlZFN1Ym5ldElkczogW10sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIG1vY2tTZWN1cml0eUdyb3VwKHN0YWNrOiBjZGsuU3RhY2spIHtcbiAgICByZXR1cm4gZWMyLlNlY3VyaXR5R3JvdXBSZWYuaW1wb3J0KHN0YWNrLCAnTXlTRycsIHtcbiAgICAgICAgc2VjdXJpdHlHcm91cElkOiBuZXcgZWMyLlNlY3VyaXR5R3JvdXBJZCgnbW9zdC1zZWN1cmUnKSxcbiAgICB9KTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hdXRvLXNjYWxpbmctZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmF1dG8tc2NhbGluZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXFFO0FBQ3JFLHdDQUF5QztBQUN6QyxvQ0FBcUM7QUFFckMsc0NBQXVDO0FBb1d2QyxTQUFTLE9BQU8sQ0FBQyxLQUFnQjtJQUM3QixPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDekMsS0FBSyxFQUFFLFFBQVE7UUFDZixpQkFBaUIsRUFBRSxDQUFFLEtBQUssQ0FBRTtRQUM1QixlQUFlLEVBQUUsQ0FBRSxNQUFNLENBQUU7UUFDM0IsZ0JBQWdCLEVBQUUsQ0FBRSxNQUFNLENBQUU7UUFDNUIsaUJBQWlCLEVBQUUsRUFBRTtLQUN4QixDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN2QyxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM5QyxlQUFlLEVBQUUsYUFBYTtLQUNqQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBOVdELGlCQUFTO0lBQ0wsZUFBZSxDQUFDLElBQVU7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDcEcsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLElBQUksV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDL0MsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxh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QUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsaUNBQWlDLENBQUMsSUFBVTtRQUN4QyxRQUFRO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDcEcsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLE9BQU87UUFDUCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQzNELFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNwRixZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUU7WUFDeEMsR0FBRztTQUNOLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9DLGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQVksQ0FBQyx1Q0FBdUMsRUFBRTtZQUNuRSxjQUFjLEVBQUU7Z0JBQ1o7b0JBQ0ksWUFBWSxFQUFFO3dCQUNWLHNDQUFzQzt3QkFDdEMsU0FBUztxQkFDWjtpQkFDSjtnQkFDRCxhQUFhO2FBQUM7U0FDckIsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleHBlY3QsIGhhdmVSZXNvdXJjZSwgUmVzb3VyY2VQYXJ0IH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0JztcbmltcG9ydCBlYzIgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtZWMyJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IGF1dG9zY2FsaW5nID0gcmVxdWlyZSgnLi4vbGliJyk7XG5cbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcblxuZXhwb3J0ID0ge1xuICAgICdkZWZhdWx0IGZsZWV0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsICdNeVN0YWNrJywgeyBlbnY6IHsgcmVnaW9uOiAndXMtZWFzdC0xJywgYWNjb3VudDogJzEyMzQnIH19KTtcbiAgICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZVBhaXIoZWMyLkluc3RhbmNlQ2xhc3MuTTQsIGVjMi5JbnN0YW5jZVNpemUuTWljcm8pLFxuICAgICAgICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgICAgICAgIHZwY1xuICAgICAgICB9KTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiOiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJHcm91cERlc2NyaXB0aW9uXCI6IFwiTXlGbGVldC9JbnN0YW5jZVNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cEVncmVzc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBcIkNpZHJJcFwiOiBcIjAuMC4wLjAvMFwiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiRGVzY3JpcHRpb25cIjogXCJPdXRib3VuZCB0cmFmZmljIGFsbG93ZWQgYnkgZGVmYXVsdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiRnJvbVBvcnRcIjogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgXCJJcFByb3RvY29sXCI6IFwiLTFcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIlRvUG9ydFwiOiAtMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgXCJTZWN1cml0eUdyb3VwSW5ncmVzc1wiOiBbXSxcbiAgICAgICAgICAgICAgICAgIFwiVnBjSWRcIjogXCJteS12cGNcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCJNeUZsZWV0SW5zdGFuY2VSb2xlMjVBODRBQjhcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6SUFNOjpSb2xlXCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiQXNzdW1lUm9sZVBvbGljeURvY3VtZW50XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJTdGF0ZW1lbnRcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQWN0aW9uXCI6IFwic3RzOkFzc3VtZVJvbGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRWZmZWN0XCI6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiUHJpbmNpcGFsXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJTZXJ2aWNlXCI6IFwiZWMyLmFtYXpvbmF3cy5jb21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgXCJWZXJzaW9uXCI6IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVByb2ZpbGU3MEE1ODQ5NlwiOiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpJQU06Okluc3RhbmNlUHJvZmlsZVwiLFxuICAgICAgICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcIlJvbGVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiUmVmXCI6IFwiTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCJNeUZsZWV0TGF1bmNoQ29uZmlnNUQ3Rjk4MDFcIjoge1xuICAgICAgICAgICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6QXV0b1NjYWxpbmc6OkxhdW5jaENvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJJYW1JbnN0YW5jZVByb2ZpbGVcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVByb2ZpbGU3MEE1ODQ5NlwiXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXCJJbWFnZUlkXCI6IFwiZHVtbXlcIixcbiAgICAgICAgICAgICAgICAgIFwiSW5zdGFuY2VUeXBlXCI6IFwibTQubWljcm9cIixcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cHNcIjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlU2VjdXJpdHlHcm91cDc3NEU4MjM0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIFwiVXNlckRhdGFcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIkZuOjpCYXNlNjRcIjogXCIjIS9iaW4vYmFzaFxcblwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIkRlcGVuZHNPblwiOiBbXG4gICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVJvbGUyNUE4NEFCOFwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIk15RmxlZXRBU0c4OEU1NTg4NlwiOiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLFxuICAgICAgICAgICAgICAgIFwiVXBkYXRlUG9saWN5XCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiQXV0b1NjYWxpbmdTY2hlZHVsZWRBY3Rpb25cIjoge1xuICAgICAgICAgICAgICAgICAgICBcIklnbm9yZVVubW9kaWZpZWRHcm91cFNpemVQcm9wZXJ0aWVzXCI6IHRydWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcIkRlc2lyZWRDYXBhY2l0eVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgIFwiTGF1bmNoQ29uZmlndXJhdGlvbk5hbWVcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRMYXVuY2hDb25maWc1RDdGOTgwMVwiXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXCJMb2FkQmFsYW5jZXJOYW1lc1wiOiBbXSxcbiAgICAgICAgICAgICAgICAgIFwiTWF4U2l6ZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgIFwiTWluU2l6ZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgIFwiVlBDWm9uZUlkZW50aWZpZXJcIjogW1xuICAgICAgICAgICAgICAgICAgICBcInByaTFcIlxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2FkZFRvUm9sZVBvbGljeSBjYW4gYmUgdXNlZCB0byBhZGQgc3RhdGVtZW50cyB0byB0aGUgcm9sZSBwb2xpY3knKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgICAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgICAgICBjb25zdCBmbGVldCA9IG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgICAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICAgICAgICB2cGNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmxlZXQuYWRkVG9Sb2xlUG9saWN5KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgICAgICAgIC5hZGRBY3Rpb24oJyonKVxuICAgICAgICAgICAgLmFkZEFsbFJlc291cmNlcygpKTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiOiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJHcm91cERlc2NyaXB0aW9uXCI6IFwiTXlGbGVldC9JbnN0YW5jZVNlY3VyaXR5R3JvdXBcIixcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cEVncmVzc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBcIkNpZHJJcFwiOiBcIjAuMC4wLjAvMFwiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiRGVzY3JpcHRpb25cIjogXCJPdXRib3VuZCB0cmFmZmljIGFsbG93ZWQgYnkgZGVmYXVsdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIFwiRnJvbVBvcnRcIjogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgXCJJcFByb3RvY29sXCI6IFwiLTFcIixcbiAgICAgICAgICAgICAgICAgICAgICBcIlRvUG9ydFwiOiAtMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgXCJTZWN1cml0eUdyb3VwSW5ncmVzc1wiOiBbXSxcbiAgICAgICAgICAgICAgICAgIFwiVnBjSWRcIjogXCJteS12cGNcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4OiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpJQU06OlJvbGVcIixcbiAgICAgICAgICAgICAgICBcIlByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnRcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIlN0YXRlbWVudFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJBY3Rpb25cIjogXCJzdHM6QXNzdW1lUm9sZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJQcmluY2lwYWxcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNlcnZpY2VcIjogXCJlYzIuYW1hem9uYXdzLmNvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIE15RmxlZXRJbnN0YW5jZVJvbGVEZWZhdWx0UG9saWN5N0IwMTk3RTc6IHtcbiAgICAgICAgICAgICAgICBcIlR5cGVcIjogXCJBV1M6OklBTTo6UG9saWN5XCIsXG4gICAgICAgICAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiUG9saWN5RG9jdW1lbnRcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIlN0YXRlbWVudFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJBY3Rpb25cIjogXCIqXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkVmZmVjdFwiOiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlJlc291cmNlXCI6IFwiKlwiXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBcIlBvbGljeU5hbWVcIjogXCJNeUZsZWV0SW5zdGFuY2VSb2xlRGVmYXVsdFBvbGljeTdCMDE5N0U3XCIsXG4gICAgICAgICAgICAgICAgICBcIlJvbGVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiUmVmXCI6IFwiTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgTXlGbGVldEluc3RhbmNlUHJvZmlsZTcwQTU4NDk2OiB7XG4gICAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpJQU06Okluc3RhbmNlUHJvZmlsZVwiLFxuICAgICAgICAgICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcIlJvbGVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiUmVmXCI6IFwiTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgTXlGbGVldExhdW5jaENvbmZpZzVEN0Y5ODAxOiB7XG4gICAgICAgICAgICAgICAgVHlwZTogXCJBV1M6OkF1dG9TY2FsaW5nOjpMYXVuY2hDb25maWd1cmF0aW9uXCIsXG4gICAgICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgXCJJYW1JbnN0YW5jZVByb2ZpbGVcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIk15RmxlZXRJbnN0YW5jZVByb2ZpbGU3MEE1ODQ5NlwiXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXCJJbWFnZUlkXCI6IFwiZHVtbXlcIixcbiAgICAgICAgICAgICAgICAgIFwiSW5zdGFuY2VUeXBlXCI6IFwibTQubWljcm9cIixcbiAgICAgICAgICAgICAgICAgIFwiU2VjdXJpdHlHcm91cHNcIjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlU2VjdXJpdHlHcm91cDc3NEU4MjM0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkdyb3VwSWRcIlxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIFwiVXNlckRhdGFcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIkZuOjpCYXNlNjRcIjogXCIjIS9iaW4vYmFzaFxcblwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBEZXBlbmRzT246IFtcbiAgICAgICAgICAgICAgICAgIFwiTXlGbGVldEluc3RhbmNlUm9sZTI1QTg0QUI4XCIsXG4gICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVJvbGVEZWZhdWx0UG9saWN5N0IwMTk3RTdcIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgTXlGbGVldEFTRzg4RTU1ODg2OiB7XG4gICAgICAgICAgICAgICAgVHlwZTogXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsXG4gICAgICAgICAgICAgICAgVXBkYXRlUG9saWN5OiB7XG4gICAgICAgICAgICAgICAgICBBdXRvU2NhbGluZ1NjaGVkdWxlZEFjdGlvbjogeyBJZ25vcmVVbm1vZGlmaWVkR3JvdXBTaXplUHJvcGVydGllczogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICBEZXNpcmVkQ2FwYWNpdHk6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgTGF1bmNoQ29uZmlndXJhdGlvbk5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgUmVmOiBcIk15RmxlZXRMYXVuY2hDb25maWc1RDdGOTgwMVwiXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgTG9hZEJhbGFuY2VyTmFtZXM6IFtdLFxuICAgICAgICAgICAgICAgICAgTWF4U2l6ZTogXCIxXCIsXG4gICAgICAgICAgICAgICAgICBNaW5TaXplOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgIFZQQ1pvbmVJZGVudGlmaWVyOiBbXG4gICAgICAgICAgICAgICAgICAgIFwicHJpMVwiXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnY2FuIGNvbmZpZ3VyZSByZXBsYWNpbmcgdXBkYXRlJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgICAgY29uc3QgdnBjID0gbW9ja1ZwYyhzdGFjayk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlUGFpcihlYzIuSW5zdGFuY2VDbGFzcy5NNCwgZWMyLkluc3RhbmNlU2l6ZS5NaWNybyksXG4gICAgICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgICAgICB2cGMsXG4gICAgICAgICAgdXBkYXRlVHlwZTogYXV0b3NjYWxpbmcuVXBkYXRlVHlwZS5SZXBsYWNpbmdVcGRhdGUsXG4gICAgICAgICAgcmVwbGFjaW5nVXBkYXRlTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnQ6IDUwXG4gICAgICB9KTtcblxuICAgICAgLy8gVEhFTlxuICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICAgICAgVXBkYXRlUG9saWN5OiB7XG4gICAgICAgICAgQXV0b1NjYWxpbmdSZXBsYWNpbmdVcGRhdGU6IHtcbiAgICAgICAgICAgIFdpbGxSZXBsYWNlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBDcmVhdGlvblBvbGljeToge1xuICAgICAgICAgIEF1dG9TY2FsaW5nQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgICAgICAgIE1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiA1MFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgUmVzb3VyY2VQYXJ0LkNvbXBsZXRlRGVmaW5pdGlvbikpO1xuXG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NhbiBjb25maWd1cmUgcm9sbGluZyB1cGRhdGUnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgICAgIHZwYyxcbiAgICAgICAgICB1cGRhdGVUeXBlOiBhdXRvc2NhbGluZy5VcGRhdGVUeXBlLlJvbGxpbmdVcGRhdGUsXG4gICAgICAgICAgcm9sbGluZ1VwZGF0ZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgIG1pblN1Y2Nlc3NmdWxJbnN0YW5jZXNQZXJjZW50OiA1MCxcbiAgICAgICAgICAgIHBhdXNlVGltZVNlYzogMzQ1XG4gICAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRIRU5cbiAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKFwiQVdTOjpBdXRvU2NhbGluZzo6QXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgICAgIFVwZGF0ZVBvbGljeToge1xuICAgICAgICAgIFwiQXV0b1NjYWxpbmdSb2xsaW5nVXBkYXRlXCI6IHtcbiAgICAgICAgICAgIFwiTWluU3VjY2Vzc2Z1bEluc3RhbmNlc1BlcmNlbnRcIjogNTAsXG4gICAgICAgICAgICBcIldhaXRPblJlc291cmNlU2lnbmFsc1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJQYXVzZVRpbWVcIjogXCJQVDVNNDVTXCIsXG4gICAgICAgICAgICBcIlN1c3BlbmRQcm9jZXNzZXNcIjogWyBcIkhlYWx0aENoZWNrXCIsIFwiUmVwbGFjZVVuaGVhbHRoeVwiLCBcIkFaUmViYWxhbmNlXCIsIFwiQWxhcm1Ob3RpZmljYXRpb25cIiwgXCJTY2hlZHVsZWRBY3Rpb25zXCIgXVxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pKTtcblxuICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdjYW4gY29uZmlndXJlIHJlc291cmNlIHNpZ25hbHMnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCAnTXlTdGFjaycsIHsgZW52OiB7IHJlZ2lvbjogJ3VzLWVhc3QtMScsIGFjY291bnQ6ICcxMjM0JyB9fSk7XG4gICAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAoc3RhY2ssICdNeUZsZWV0Jywge1xuICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgICAgICBtYWNoaW5lSW1hZ2U6IG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSgpLFxuICAgICAgICAgIHZwYyxcbiAgICAgICAgICByZXNvdXJjZVNpZ25hbENvdW50OiA1LFxuICAgICAgICAgIHJlc291cmNlU2lnbmFsVGltZW91dFNlYzogNjY2XG4gICAgICB9KTtcblxuICAgICAgLy8gVEhFTlxuICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoXCJBV1M6OkF1dG9TY2FsaW5nOjpBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICAgICAgQ3JlYXRpb25Qb2xpY3k6IHtcbiAgICAgICAgICBSZXNvdXJjZVNpZ25hbDoge1xuICAgICAgICAgICAgQ291bnQ6IDUsXG4gICAgICAgICAgICBUaW1lb3V0OiAnUFQxMU02UydcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG5cbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG4gICAgJ2NhbiBhZGQgU2VjdXJpdHkgR3JvdXAgdG8gRmxlZXQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgLy8gR0lWRU5cbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgJ015U3RhY2snLCB7IGVudjogeyByZWdpb246ICd1cy1lYXN0LTEnLCBhY2NvdW50OiAnMTIzNCcgfX0pO1xuICAgICAgICBjb25zdCB2cGMgPSBtb2NrVnBjKHN0YWNrKTtcblxuICAgICAgICAvLyBXSEVOXG4gICAgICAgIGNvbnN0IGFzZyA9IG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHN0YWNrLCAnTXlGbGVldCcsIHtcbiAgICAgICAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGVQYWlyKGVjMi5JbnN0YW5jZUNsYXNzLk00LCBlYzIuSW5zdGFuY2VTaXplLk1pY3JvKSxcbiAgICAgICAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICAgICAgICB2cGMsXG4gICAgICAgIH0pO1xuICAgICAgICBhc2cuYWRkU2VjdXJpdHlHcm91cChtb2NrU2VjdXJpdHlHcm91cChzdGFjaykpO1xuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZShcIkFXUzo6QXV0b1NjYWxpbmc6OkxhdW5jaENvbmZpZ3VyYXRpb25cIiwge1xuICAgICAgICAgICAgU2VjdXJpdHlHcm91cHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIk15RmxlZXRJbnN0YW5jZVNlY3VyaXR5R3JvdXA3NzRFODIzNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJHcm91cElkXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJ21vc3Qtc2VjdXJlJ10sXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcbn07XG5cbmZ1bmN0aW9uIG1vY2tWcGMoc3RhY2s6IGNkay5TdGFjaykge1xuICAgIHJldHVybiBlYzIuVnBjTmV0d29yay5pbXBvcnQoc3RhY2ssICdNeVZwYycsIHtcbiAgICAgICAgdnBjSWQ6ICdteS12cGMnLFxuICAgICAgICBhdmFpbGFiaWxpdHlab25lczogWyAnYXoxJyBdLFxuICAgICAgICBwdWJsaWNTdWJuZXRJZHM6IFsgJ3B1YjEnIF0sXG4gICAgICAgIHByaXZhdGVTdWJuZXRJZHM6IFsgJ3ByaTEnIF0sXG4gICAgICAgIGlzb2xhdGVkU3VibmV0SWRzOiBbXSxcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gbW9ja1NlY3VyaXR5R3JvdXAoc3RhY2s6IGNkay5TdGFjaykge1xuICAgIHJldHVybiBlYzIuU2VjdXJpdHlHcm91cFJlZi5pbXBvcnQoc3RhY2ssICdNeVNHJywge1xuICAgICAgICBzZWN1cml0eUdyb3VwSWQ6ICdtb3N0LXNlY3VyZScsXG4gICAgfSk7XG59XG4iXX0=

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc