Socket
Socket
Sign inDemoInstall

@aws-cdk/aws-cloudwatch

Package Overview
Dependencies
Maintainers
5
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

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

Comparing version 1.1.0 to 1.2.0

141

lib/cloudwatch.generated.d.ts

@@ -346,2 +346,143 @@ import cdk = require('@aws-cdk/core');

/**
* Properties for defining a `AWS::CloudWatch::AnomalyDetector`
*
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html
*/
export interface CfnAnomalyDetectorProps {
/**
* `AWS::CloudWatch::AnomalyDetector.MetricName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-metricname
*/
readonly metricName: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Namespace`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-namespace
*/
readonly namespace: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Stat`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-stat
*/
readonly stat: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Configuration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-configuration
*/
readonly configuration?: CfnAnomalyDetector.ConfigurationProperty | cdk.IResolvable;
/**
* `AWS::CloudWatch::AnomalyDetector.Dimensions`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-dimensions
*/
readonly dimensions?: Array<CfnAnomalyDetector.DimensionProperty | cdk.IResolvable> | cdk.IResolvable;
}
/**
* A CloudFormation `AWS::CloudWatch::AnomalyDetector`
*
* @cloudformationResource AWS::CloudWatch::AnomalyDetector
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html
*/
export declare class CfnAnomalyDetector extends cdk.CfnResource {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudWatch::AnomalyDetector";
/**
* `AWS::CloudWatch::AnomalyDetector.MetricName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-metricname
*/
metricName: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Namespace`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-namespace
*/
namespace: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Stat`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-stat
*/
stat: string;
/**
* `AWS::CloudWatch::AnomalyDetector.Configuration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-configuration
*/
configuration: CfnAnomalyDetector.ConfigurationProperty | cdk.IResolvable | undefined;
/**
* `AWS::CloudWatch::AnomalyDetector.Dimensions`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-dimensions
*/
dimensions: Array<CfnAnomalyDetector.DimensionProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* Create a new `AWS::CloudWatch::AnomalyDetector`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnAnomalyDetectorProps);
protected readonly cfnProperties: {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
export declare namespace CfnAnomalyDetector {
/**
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html
*/
interface ConfigurationProperty {
/**
* `CfnAnomalyDetector.ConfigurationProperty.ExcludedTimeRanges`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-excludedtimeranges
*/
readonly excludedTimeRanges?: Array<CfnAnomalyDetector.RangeProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* `CfnAnomalyDetector.ConfigurationProperty.MetricTimeZone`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-metrictimezone
*/
readonly metricTimeZone?: string;
}
}
export declare namespace CfnAnomalyDetector {
/**
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html
*/
interface DimensionProperty {
/**
* `CfnAnomalyDetector.DimensionProperty.Name`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-name
*/
readonly name: string;
/**
* `CfnAnomalyDetector.DimensionProperty.Value`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-value
*/
readonly value: string;
}
}
export declare namespace CfnAnomalyDetector {
/**
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html
*/
interface RangeProperty {
/**
* `CfnAnomalyDetector.RangeProperty.EndTime`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-endtime
*/
readonly endTime: string;
/**
* `CfnAnomalyDetector.RangeProperty.StartTime`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-starttime
*/
readonly startTime: string;
}
}
/**
* Properties for defining a `AWS::CloudWatch::Dashboard`

@@ -348,0 +489,0 @@ *

6

lib/dashboard.d.ts

@@ -9,5 +9,7 @@ import { Construct, Resource } from "@aws-cdk/core";

/**
* Name of the dashboard
* Name of the dashboard.
*
* @default Automatically generated name
* If set, must only contain alphanumerics, dash (-) and underscore (_)
*
* @default - automatically generated name
*/

@@ -14,0 +16,0 @@ readonly dashboardName?: string;

@@ -20,2 +20,11 @@ "use strict";

this.rows = [];
{
const { dashboardName } = props;
if (dashboardName && !core_1.Token.isUnresolved(dashboardName) && !dashboardName.match(/^[\w-]+$/)) {
throw new Error([
`The value ${dashboardName} for field dashboardName contains invalid characters.`,
'It can only contain alphanumerics, dash (-) and underscore (_).'
].join(' '));
}
}
new cloudwatch_generated_1.CfnDashboard(this, 'Resource', {

@@ -56,2 +65,2 @@ dashboardName: this.physicalName,

exports.Dashboard = Dashboard;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQWlFO0FBQ2pFLGlFQUFzRDtBQUN0RCxxQ0FBdUM7QUFHdkMsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLCtCQUFhLENBQUE7SUFDYixxQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFHekI7QUFrREQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxlQUFRO0lBR3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBd0IsRUFBRTtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNsQyxDQUFDLENBQUM7UUFMWSxTQUFJLEdBQWMsRUFBRSxDQUFDO1FBT3BDLElBQUksbUNBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2pDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUNoQyxhQUFhLEVBQUUsV0FBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsT0FBTyxZQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQzt3QkFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO3dCQUNsQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7d0JBQ2QsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO3dCQUNwQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRTtxQkFDekIsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBQyxDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRUgsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxVQUFVLENBQUMsR0FBRyxPQUFrQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBNUNELDhCQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgTGF6eSwgUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSBcIkBhd3MtY2RrL2NvcmVcIjtcbmltcG9ydCB7IENmbkRhc2hib2FyZCB9IGZyb20gJy4vY2xvdWR3YXRjaC5nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQ29sdW1uLCBSb3cgfSBmcm9tIFwiLi9sYXlvdXRcIjtcbmltcG9ydCB7IElXaWRnZXQgfSBmcm9tIFwiLi93aWRnZXRcIjtcblxuZXhwb3J0IGVudW0gUGVyaW9kT3ZlcnJpZGUge1xuICBBVVRPID0gJ2F1dG8nLFxuICBJTkhFUklUID0gJ2luaGVyaXQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhc2hib2FyZFByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGRhc2hib2FyZFxuICAgKlxuICAgKiBAZGVmYXVsdCBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBkYXNoYm9hcmROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnQgb2YgdGhlIHRpbWUgcmFuZ2UgdG8gdXNlIGZvciBlYWNoIHdpZGdldCBvbiB0aGUgZGFzaGJvYXJkLlxuICAgKiBZb3UgY2FuIHNwZWNpZnkgc3RhcnQgd2l0aG91dCBzcGVjaWZ5aW5nIGVuZCB0byBzcGVjaWZ5IGEgcmVsYXRpdmUgdGltZSByYW5nZSB0aGF0IGVuZHMgd2l0aCB0aGUgY3VycmVudCB0aW1lLlxuICAgKiBJbiB0aGlzIGNhc2UsIHRoZSB2YWx1ZSBvZiBzdGFydCBtdXN0IGJlZ2luIHdpdGggLVAsIGFuZCB5b3UgY2FuIHVzZSBNLCBILCBELCBXIGFuZCBNIGFzIGFiYnJldmlhdGlvbnMgZm9yXG4gICAqIG1pbnV0ZXMsIGhvdXJzLCBkYXlzLCB3ZWVrcyBhbmQgbW9udGhzLiBGb3IgZXhhbXBsZSwgLVBUOEggc2hvd3MgdGhlIGxhc3QgOCBob3VycyBhbmQgLVAzTSBzaG93cyB0aGUgbGFzdCB0aHJlZSBtb250aHMuXG4gICAqIFlvdSBjYW4gYWxzbyB1c2Ugc3RhcnQgYWxvbmcgd2l0aCBhbiBlbmQgZmllbGQsIHRvIHNwZWNpZnkgYW4gYWJzb2x1dGUgdGltZSByYW5nZS5cbiAgICogV2hlbiBzcGVjaWZ5aW5nIGFuIGFic29sdXRlIHRpbWUgcmFuZ2UsIHVzZSB0aGUgSVNPIDg2MDEgZm9ybWF0LiBGb3IgZXhhbXBsZSwgMjAxOC0xMi0xN1QwNjowMDowMC4wMDBaLlxuICAgKlxuICAgKiBAZGVmYXVsdCBXaGVuIHRoZSBkYXNoYm9hcmQgbG9hZHMsIHRoZSBzdGFydCB0aW1lIHdpbGwgYmUgdGhlIGRlZmF1bHQgdGltZSByYW5nZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kIG9mIHRoZSB0aW1lIHJhbmdlIHRvIHVzZSBmb3IgZWFjaCB3aWRnZXQgb24gdGhlIGRhc2hib2FyZCB3aGVuIHRoZSBkYXNoYm9hcmQgbG9hZHMuXG4gICAqIElmIHlvdSBzcGVjaWZ5IGEgdmFsdWUgZm9yIGVuZCwgeW91IG11c3QgYWxzbyBzcGVjaWZ5IGEgdmFsdWUgZm9yIHN0YXJ0LlxuICAgKiBTcGVjaWZ5IGFuIGFic29sdXRlIHRpbWUgaW4gdGhlIElTTyA4NjAxIGZvcm1hdC4gRm9yIGV4YW1wbGUsIDIwMTgtMTItMTdUMDY6MDA6MDAuMDAwWi5cbiAgICpcbiAgICogQGRlZmF1bHQgV2hlbiB0aGUgZGFzaGJvYXJkIGxvYWRzLCB0aGUgZW5kIGRhdGUgd2lsbCBiZSB0aGUgY3VycmVudCB0aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBmaWVsZCB0byBzcGVjaWZ5IHRoZSBwZXJpb2QgZm9yIHRoZSBncmFwaHMgd2hlbiB0aGUgZGFzaGJvYXJkIGxvYWRzLlxuICAgKiBTcGVjaWZ5aW5nIGBBdXRvYCBjYXVzZXMgdGhlIHBlcmlvZCBvZiBhbGwgZ3JhcGhzIG9uIHRoZSBkYXNoYm9hcmQgdG8gYXV0b21hdGljYWxseSBhZGFwdCB0byB0aGUgdGltZSByYW5nZSBvZiB0aGUgZGFzaGJvYXJkLlxuICAgKiBTcGVjaWZ5aW5nIGBJbmhlcml0YCBlbnN1cmVzIHRoYXQgdGhlIHBlcmlvZCBzZXQgZm9yIGVhY2ggZ3JhcGggaXMgYWx3YXlzIG9iZXllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kT3ZlcnJpZGU/OiBQZXJpb2RPdmVycmlkZTtcblxuICAvKipcbiAgICogSW5pdGlhbCBzZXQgb2Ygd2lkZ2V0cyBvbiB0aGUgZGFzaGJvYXJkXG4gICAqXG4gICAqIE9uZSBhcnJheSByZXByZXNlbnRzIGEgcm93IG9mIHdpZGdldHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gd2lkZ2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgd2lkZ2V0cz86IElXaWRnZXRbXVtdXG59XG5cbi8qKlxuICogQSBDbG91ZFdhdGNoIGRhc2hib2FyZFxuICovXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkIGV4dGVuZHMgUmVzb3VyY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3M6IElXaWRnZXRbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXNoYm9hcmRQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmRhc2hib2FyZE5hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuRGFzaGJvYXJkKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGFzaGJvYXJkQm9keTogTGF6eS5zdHJpbmdWYWx1ZSh7IHByb2R1Y2U6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gbmV3IENvbHVtbiguLi50aGlzLnJvd3MpO1xuICAgICAgICBjb2x1bW4ucG9zaXRpb24oMCwgMCk7XG4gICAgICAgIHJldHVybiBTdGFjay5vZih0aGlzKS50b0pzb25TdHJpbmcoe1xuICAgICAgICAgIHN0YXJ0OiBwcm9wcy5zdGFydCxcbiAgICAgICAgICBlbmQ6IHByb3BzLmVuZCxcbiAgICAgICAgICBwZXJpb2RPdmVycmlkZTogcHJvcHMucGVyaW9kT3ZlcnJpZGUsXG4gICAgICAgICAgd2lkZ2V0czogY29sdW1uLnRvSnNvbigpLFxuICAgICAgICB9KTtcbiAgICAgIH19KVxuICAgIH0pO1xuXG4gICAgKHByb3BzLndpZGdldHMgfHwgW10pLmZvckVhY2gocm93ID0+IHtcbiAgICAgIHRoaXMuYWRkV2lkZ2V0cyguLi5yb3cpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHdpZGdldCB0byB0aGUgZGFzaGJvYXJkLlxuICAgKlxuICAgKiBXaWRnZXRzIGdpdmVuIGluIG11bHRpcGxlIGNhbGxzIHRvIGFkZCgpIHdpbGwgYmUgbGFpZCBvdXQgc3RhY2tlZCBvblxuICAgKiB0b3Agb2YgZWFjaCBvdGhlci5cbiAgICpcbiAgICogTXVsdGlwbGUgd2lkZ2V0cyBhZGRlZCBpbiB0aGUgc2FtZSBjYWxsIHRvIGFkZCgpIHdpbGwgYmUgbGFpZCBvdXQgbmV4dFxuICAgKiB0byBlYWNoIG90aGVyLlxuICAgKi9cbiAgcHVibGljIGFkZFdpZGdldHMoLi4ud2lkZ2V0czogSVdpZGdldFtdKSB7XG4gICAgaWYgKHdpZGdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdyA9IHdpZGdldHMubGVuZ3RoID4gMSA/IG5ldyBSb3coLi4ud2lkZ2V0cykgOiB3aWRnZXRzWzBdO1xuICAgIHRoaXMucm93cy5wdXNoKHcpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXdFO0FBQ3hFLGlFQUFzRDtBQUN0RCxxQ0FBdUM7QUFHdkMsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLCtCQUFhLENBQUE7SUFDYixxQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFHekI7QUFvREQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxlQUFRO0lBR3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBd0IsRUFBRTtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNsQyxDQUFDLENBQUM7UUFMWSxTQUFJLEdBQWMsRUFBRSxDQUFDO1FBT3BDO1lBQ0UsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLEtBQUssQ0FBQztZQUM5QixJQUFJLGFBQWEsSUFBSSxDQUFDLFlBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMzRixNQUFNLElBQUksS0FBSyxDQUFDO29CQUNkLGFBQWEsYUFBYSx1REFBdUQ7b0JBQ2pGLGlFQUFpRTtpQkFDbEUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNkO1NBQ0Y7UUFFRCxJQUFJLG1DQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsYUFBYSxFQUFFLFdBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLE9BQU8sWUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7d0JBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzt3QkFDbEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO3dCQUNkLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYzt3QkFDcEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUU7cUJBQ3pCLENBQUMsQ0FBQztnQkFDTCxDQUFDLEVBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksVUFBVSxDQUFDLEdBQUcsT0FBa0I7UUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXRERCw4QkFzREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QsIExhenksIFJlc291cmNlLCBTdGFjaywgVG9rZW4gfSBmcm9tIFwiQGF3cy1jZGsvY29yZVwiO1xuaW1wb3J0IHsgQ2ZuRGFzaGJvYXJkIH0gZnJvbSAnLi9jbG91ZHdhdGNoLmdlbmVyYXRlZCc7XG5pbXBvcnQgeyBDb2x1bW4sIFJvdyB9IGZyb20gXCIuL2xheW91dFwiO1xuaW1wb3J0IHsgSVdpZGdldCB9IGZyb20gXCIuL3dpZGdldFwiO1xuXG5leHBvcnQgZW51bSBQZXJpb2RPdmVycmlkZSB7XG4gIEFVVE8gPSAnYXV0bycsXG4gIElOSEVSSVQgPSAnaW5oZXJpdCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGFzaGJvYXJkLlxuICAgKlxuICAgKiBJZiBzZXQsIG11c3Qgb25seSBjb250YWluIGFscGhhbnVtZXJpY3MsIGRhc2ggKC0pIGFuZCB1bmRlcnNjb3JlIChfKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRhc2hib2FyZE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFydCBvZiB0aGUgdGltZSByYW5nZSB0byB1c2UgZm9yIGVhY2ggd2lkZ2V0IG9uIHRoZSBkYXNoYm9hcmQuXG4gICAqIFlvdSBjYW4gc3BlY2lmeSBzdGFydCB3aXRob3V0IHNwZWNpZnlpbmcgZW5kIHRvIHNwZWNpZnkgYSByZWxhdGl2ZSB0aW1lIHJhbmdlIHRoYXQgZW5kcyB3aXRoIHRoZSBjdXJyZW50IHRpbWUuXG4gICAqIEluIHRoaXMgY2FzZSwgdGhlIHZhbHVlIG9mIHN0YXJ0IG11c3QgYmVnaW4gd2l0aCAtUCwgYW5kIHlvdSBjYW4gdXNlIE0sIEgsIEQsIFcgYW5kIE0gYXMgYWJicmV2aWF0aW9ucyBmb3JcbiAgICogbWludXRlcywgaG91cnMsIGRheXMsIHdlZWtzIGFuZCBtb250aHMuIEZvciBleGFtcGxlLCAtUFQ4SCBzaG93cyB0aGUgbGFzdCA4IGhvdXJzIGFuZCAtUDNNIHNob3dzIHRoZSBsYXN0IHRocmVlIG1vbnRocy5cbiAgICogWW91IGNhbiBhbHNvIHVzZSBzdGFydCBhbG9uZyB3aXRoIGFuIGVuZCBmaWVsZCwgdG8gc3BlY2lmeSBhbiBhYnNvbHV0ZSB0aW1lIHJhbmdlLlxuICAgKiBXaGVuIHNwZWNpZnlpbmcgYW4gYWJzb2x1dGUgdGltZSByYW5nZSwgdXNlIHRoZSBJU08gODYwMSBmb3JtYXQuIEZvciBleGFtcGxlLCAyMDE4LTEyLTE3VDA2OjAwOjAwLjAwMFouXG4gICAqXG4gICAqIEBkZWZhdWx0IFdoZW4gdGhlIGRhc2hib2FyZCBsb2FkcywgdGhlIHN0YXJ0IHRpbWUgd2lsbCBiZSB0aGUgZGVmYXVsdCB0aW1lIHJhbmdlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmQgb2YgdGhlIHRpbWUgcmFuZ2UgdG8gdXNlIGZvciBlYWNoIHdpZGdldCBvbiB0aGUgZGFzaGJvYXJkIHdoZW4gdGhlIGRhc2hib2FyZCBsb2Fkcy5cbiAgICogSWYgeW91IHNwZWNpZnkgYSB2YWx1ZSBmb3IgZW5kLCB5b3UgbXVzdCBhbHNvIHNwZWNpZnkgYSB2YWx1ZSBmb3Igc3RhcnQuXG4gICAqIFNwZWNpZnkgYW4gYWJzb2x1dGUgdGltZSBpbiB0aGUgSVNPIDg2MDEgZm9ybWF0LiBGb3IgZXhhbXBsZSwgMjAxOC0xMi0xN1QwNjowMDowMC4wMDBaLlxuICAgKlxuICAgKiBAZGVmYXVsdCBXaGVuIHRoZSBkYXNoYm9hcmQgbG9hZHMsIHRoZSBlbmQgZGF0ZSB3aWxsIGJlIHRoZSBjdXJyZW50IHRpbWUuXG4gICAqL1xuICByZWFkb25seSBlbmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZpZWxkIHRvIHNwZWNpZnkgdGhlIHBlcmlvZCBmb3IgdGhlIGdyYXBocyB3aGVuIHRoZSBkYXNoYm9hcmQgbG9hZHMuXG4gICAqIFNwZWNpZnlpbmcgYEF1dG9gIGNhdXNlcyB0aGUgcGVyaW9kIG9mIGFsbCBncmFwaHMgb24gdGhlIGRhc2hib2FyZCB0byBhdXRvbWF0aWNhbGx5IGFkYXB0IHRvIHRoZSB0aW1lIHJhbmdlIG9mIHRoZSBkYXNoYm9hcmQuXG4gICAqIFNwZWNpZnlpbmcgYEluaGVyaXRgIGVuc3VyZXMgdGhhdCB0aGUgcGVyaW9kIHNldCBmb3IgZWFjaCBncmFwaCBpcyBhbHdheXMgb2JleWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBdXRvXG4gICAqL1xuICByZWFkb25seSBwZXJpb2RPdmVycmlkZT86IFBlcmlvZE92ZXJyaWRlO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHNldCBvZiB3aWRnZXRzIG9uIHRoZSBkYXNoYm9hcmRcbiAgICpcbiAgICogT25lIGFycmF5IHJlcHJlc2VudHMgYSByb3cgb2Ygd2lkZ2V0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyB3aWRnZXRzXG4gICAqL1xuICByZWFkb25seSB3aWRnZXRzPzogSVdpZGdldFtdW11cbn1cblxuLyoqXG4gKiBBIENsb3VkV2F0Y2ggZGFzaGJvYXJkXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmQgZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93czogSVdpZGdldFtdID0gW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhc2hib2FyZFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZGFzaGJvYXJkTmFtZSxcbiAgICB9KTtcblxuICAgIHtcbiAgICAgIGNvbnN0IHtkYXNoYm9hcmROYW1lfSA9IHByb3BzO1xuICAgICAgaWYgKGRhc2hib2FyZE5hbWUgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChkYXNoYm9hcmROYW1lKSAmJiAhZGFzaGJvYXJkTmFtZS5tYXRjaCgvXltcXHctXSskLykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFtcbiAgICAgICAgICBgVGhlIHZhbHVlICR7ZGFzaGJvYXJkTmFtZX0gZm9yIGZpZWxkIGRhc2hib2FyZE5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzLmAsXG4gICAgICAgICAgJ0l0IGNhbiBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljcywgZGFzaCAoLSkgYW5kIHVuZGVyc2NvcmUgKF8pLidcbiAgICAgICAgXS5qb2luKCcgJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5ldyBDZm5EYXNoYm9hcmQodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBkYXNoYm9hcmRCb2R5OiBMYXp5LnN0cmluZ1ZhbHVlKHsgcHJvZHVjZTogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBuZXcgQ29sdW1uKC4uLnRoaXMucm93cyk7XG4gICAgICAgIGNvbHVtbi5wb3NpdGlvbigwLCAwKTtcbiAgICAgICAgcmV0dXJuIFN0YWNrLm9mKHRoaXMpLnRvSnNvblN0cmluZyh7XG4gICAgICAgICAgc3RhcnQ6IHByb3BzLnN0YXJ0LFxuICAgICAgICAgIGVuZDogcHJvcHMuZW5kLFxuICAgICAgICAgIHBlcmlvZE92ZXJyaWRlOiBwcm9wcy5wZXJpb2RPdmVycmlkZSxcbiAgICAgICAgICB3aWRnZXRzOiBjb2x1bW4udG9Kc29uKCksXG4gICAgICAgIH0pO1xuICAgICAgfX0pXG4gICAgfSk7XG5cbiAgICAocHJvcHMud2lkZ2V0cyB8fCBbXSkuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgdGhpcy5hZGRXaWRnZXRzKC4uLnJvdyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgd2lkZ2V0IHRvIHRoZSBkYXNoYm9hcmQuXG4gICAqXG4gICAqIFdpZGdldHMgZ2l2ZW4gaW4gbXVsdGlwbGUgY2FsbHMgdG8gYWRkKCkgd2lsbCBiZSBsYWlkIG91dCBzdGFja2VkIG9uXG4gICAqIHRvcCBvZiBlYWNoIG90aGVyLlxuICAgKlxuICAgKiBNdWx0aXBsZSB3aWRnZXRzIGFkZGVkIGluIHRoZSBzYW1lIGNhbGwgdG8gYWRkKCkgd2lsbCBiZSBsYWlkIG91dCBuZXh0XG4gICAqIHRvIGVhY2ggb3RoZXIuXG4gICAqL1xuICBwdWJsaWMgYWRkV2lkZ2V0cyguLi53aWRnZXRzOiBJV2lkZ2V0W10pIHtcbiAgICBpZiAod2lkZ2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3ID0gd2lkZ2V0cy5sZW5ndGggPiAxID8gbmV3IFJvdyguLi53aWRnZXRzKSA6IHdpZGdldHNbMF07XG4gICAgdGhpcy5yb3dzLnB1c2godyk7XG4gIH1cbn1cbiJdfQ==
{
"name": "@aws-cdk/aws-cloudwatch",
"version": "1.1.0",
"version": "1.2.0",
"description": "CDK Constructs for AWS CloudWatch",

@@ -29,5 +29,2 @@ "main": "lib/index.js",

}
},
"metadata": {
"awsdocs:title": "Amazon CloudWatch"
}

@@ -69,3 +66,3 @@ },

"devDependencies": {
"@aws-cdk/assert": "^1.1.0",
"@aws-cdk/assert": "^1.2.0",
"cdk-build-tools": "file:../../../tools/cdk-build-tools",

@@ -77,9 +74,9 @@ "cdk-integ-tools": "file:../../../tools/cdk-integ-tools",

"dependencies": {
"@aws-cdk/aws-iam": "^1.1.0",
"@aws-cdk/core": "^1.1.0"
"@aws-cdk/aws-iam": "^1.2.0",
"@aws-cdk/core": "^1.2.0"
},
"homepage": "https://github.com/aws/aws-cdk",
"peerDependencies": {
"@aws-cdk/aws-iam": "^1.1.0",
"@aws-cdk/core": "^1.1.0"
"@aws-cdk/aws-iam": "^1.2.0",
"@aws-cdk/core": "^1.2.0"
},

@@ -86,0 +83,0 @@ "awslint": {

@@ -9,3 +9,4 @@ import { Test } from 'nodeunit';

'DashboardName is not generated if not provided'(test: Test): void;
'throws if DashboardName is not valid'(test: Test): void;
};
export = _default;

@@ -138,4 +138,18 @@ "use strict";

test.done();
},
'throws if DashboardName is not valid'(test) {
// GIVEN
const app = new core_1.App();
const stack = new core_1.Stack(app, 'MyStack');
// WHEN
const toThrow = () => {
new lib_1.Dashboard(stack, 'MyDashboard', {
dashboardName: 'My Invalid Dashboard Name',
});
};
// THEN
test.throws(() => toThrow(), /field dashboardName contains invalid characters/);
test.done();
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmRhc2hib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXNFO0FBQ3RFLHdDQUEyQztBQUUzQyxnQ0FBNEU7QUF3SjVFOztHQUVHO0FBQ0gsU0FBUyxjQUFjLENBQUMsT0FBWTtJQUNsQyxPQUFPLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDcEIsSUFBSTtZQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM5RCxPQUFPLHNCQUFhLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFwS0QsaUJBQVM7SUFDUCw4REFBOEQsQ0FBQyxJQUFVO1FBQ3ZFLFFBQVE7UUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLFlBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksZUFBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPO1FBQ1AsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGdCQUFVLENBQUM7WUFDbEMsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0osU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGdCQUFVLENBQUM7WUFDbEMsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0os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RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBoYXZlUmVzb3VyY2UsIGlzU3VwZXJPYmplY3QgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCB7IERhc2hib2FyZCwgR3JhcGhXaWRnZXQsIFBlcmlvZE92ZXJyaWRlLCBUZXh0V2lkZ2V0IH0gZnJvbSAnLi4vbGliJztcblxuZXhwb3J0ID0ge1xuICAnd2lkZ2V0cyBpbiBkaWZmZXJlbnQgYWRkcyBhcmUgbGFpZCBvdXQgdW5kZXJuZWF0aCBlYWNoIG90aGVyJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgIGNvbnN0IGRhc2hib2FyZCA9IG5ldyBEYXNoYm9hcmQoc3RhY2ssICdEYXNoJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMobmV3IFRleHRXaWRnZXQoe1xuICAgICAgd2lkdGg6IDEwLFxuICAgICAgaGVpZ2h0OiAyLFxuICAgICAgbWFya2Rvd246IFwiZmlyc3RcIlxuICAgIH0pKTtcbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhuZXcgVGV4dFdpZGdldCh7XG4gICAgICB3aWR0aDogMSxcbiAgICAgIGhlaWdodDogNCxcbiAgICAgIG1hcmtkb3duOiBcInNlY29uZFwiXG4gICAgfSkpO1xuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgIHdpZHRoOiA0LFxuICAgICAgaGVpZ2h0OiAxLFxuICAgICAgbWFya2Rvd246IFwidGhpcmRcIlxuICAgIH0pKTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmQnLCB0aGF0SGFzV2lkZ2V0cyhbXG4gICAgICB7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6IDEwLCBoZWlnaHQ6IDIsIHg6IDAsIHk6IDAsIHByb3BlcnRpZXM6IHsgbWFya2Rvd246ICdmaXJzdCcgfSB9LFxuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAxLCBoZWlnaHQ6IDQsIHg6IDAsIHk6IDIsIHByb3BlcnRpZXM6IHsgbWFya2Rvd246ICdzZWNvbmQnIH0gfSxcbiAgICAgIHsgdHlwZTogJ3RleHQnLCB3aWR0aDogNCwgaGVpZ2h0OiAxLCB4OiAwLCB5OiA2LCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAndGhpcmQnIH0gfSxcbiAgICBdKSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ3dpZGdldHMgaW4gc2FtZSBhZGQgYXJlIGxhaWQgb3V0IG5leHQgdG8gZWFjaCBvdGhlcicodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgICBjb25zdCBkYXNoYm9hcmQgPSBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnRGFzaCcpO1xuXG4gICAgLy8gV0hFTlxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICB3aWR0aDogMTAsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgbWFya2Rvd246IFwiZmlyc3RcIlxuICAgICAgfSksXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIHdpZHRoOiAxLFxuICAgICAgICBoZWlnaHQ6IDQsXG4gICAgICAgIG1hcmtkb3duOiBcInNlY29uZFwiXG4gICAgICB9KSxcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgd2lkdGg6IDQsXG4gICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgbWFya2Rvd246IFwidGhpcmRcIlxuICAgICAgfSksXG4gICAgKTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmQnLCB0aGF0SGFzV2lkZ2V0cyhbXG4gICAgICB7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6IDEwLCBoZWlnaHQ6IDIsIHg6IDAsIHk6IDAsIHByb3BlcnRpZXM6IHsgbWFya2Rvd246ICdmaXJzdCcgfSB9LFxuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAxLCBoZWlnaHQ6IDQsIHg6IDEwLCB5OiAwLCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAnc2Vjb25kJyB9IH0sXG4gICAgICB7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6IDQsIGhlaWdodDogMSwgeDogMTEsIHk6IDAsIHByb3BlcnRpZXM6IHsgbWFya2Rvd246ICd0aGlyZCcgfSB9LFxuICAgIF0pKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndG9rZW5zIGluIHdpZGdldHMgYXJlIHJldGFpbmVkJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgIGNvbnN0IGRhc2hib2FyZCA9IG5ldyBEYXNoYm9hcmQoc3RhY2ssICdEYXNoJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoeyB3aWR0aDogMSwgaGVpZ2h0OiAxIH0pIC8vIEdyYXBoV2lkZ2V0IGhhcyBpbnRlcm5hbCByZWZlcmVuY2UgdG8gY3VycmVudCByZWdpb25cbiAgICApO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OkNsb3VkV2F0Y2g6OkRhc2hib2FyZCcsIHtcbiAgICAgIERhc2hib2FyZEJvZHk6IHsgXCJGbjo6Sm9pblwiOiBbIFwiXCIsIFtcbiAgICAgICAgXCJ7XFxcIndpZGdldHNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJtZXRyaWNcXFwiLFxcXCJ3aWR0aFxcXCI6MSxcXFwiaGVpZ2h0XFxcIjoxLFxcXCJ4XFxcIjowLFxcXCJ5XFxcIjowLFxcXCJwcm9wZXJ0aWVzXFxcIjp7XFxcInZpZXdcXFwiOlxcXCJ0aW1lU2VyaWVzXFxcIixcXFwicmVnaW9uXFxcIjpcXFwiXCIsXG4gICAgICAgIHsgUmVmOiBcIkFXUzo6UmVnaW9uXCIgfSxcbiAgICAgICAgXCJcXFwiLFxcXCJtZXRyaWNzXFxcIjpbXSxcXFwiYW5ub3RhdGlvbnNcXFwiOntcXFwiaG9yaXpvbnRhbFxcXCI6W119LFxcXCJ5QXhpc1xcXCI6e319fV19XCJcbiAgICAgIF1dfVxuICAgIH0pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdkYXNoYm9hcmQgYm9keSBpbmNsdWRlcyBub24td2lkZ2V0IGZpZWxkcycodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgICBjb25zdCBkYXNoYm9hcmQgPSBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnRGFzaCcsXG4gICAge1xuICAgICAgc3RhcnQ6ICctOUgnLFxuICAgICAgZW5kOiAnMjAxOC0xMi0xN1QwNjowMDowMC4wMDBaJyxcbiAgICAgIHBlcmlvZE92ZXJyaWRlOiBQZXJpb2RPdmVycmlkZS5JTkhFUklUXG4gICAgfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoeyB3aWR0aDogMSwgaGVpZ2h0OiAxIH0pIC8vIEdyYXBoV2lkZ2V0IGhhcyBpbnRlcm5hbCByZWZlcmVuY2UgdG8gY3VycmVudCByZWdpb25cbiAgICApO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OkNsb3VkV2F0Y2g6OkRhc2hib2FyZCcsIHtcbiAgICAgIERhc2hib2FyZEJvZHk6IHsgXCJGbjo6Sm9pblwiOiBbIFwiXCIsIFtcbiAgICAgICAgXCJ7XFxcInN0YXJ0XFxcIjpcXFwiLTlIXFxcIixcXFwiZW5kXFxcIjpcXFwiMjAxOC0xMi0xN1QwNjowMDowMC4wMDBaXFxcIixcXFwicGVyaW9kT3ZlcnJpZGVcXFwiOlxcXCJpbmhlcml0XFxcIixcXFxuXFxcIndpZGdldHNcXFwiOlt7XFxcInR5cGVcXFwiOlxcXCJtZXRyaWNcXFwiLFxcXCJ3aWR0aFxcXCI6MSxcXFwiaGVpZ2h0XFxcIjoxLFxcXCJ4XFxcIjowLFxcXCJ5XFxcIjowLFxcXCJwcm9wZXJ0aWVzXFxcIjp7XFxcInZpZXdcXFwiOlxcXCJ0aW1lU2VyaWVzXFxcIixcXFwicmVnaW9uXFxcIjpcXFwiXCIsXG4gICAgICAgIHsgUmVmOiBcIkFXUzo6UmVnaW9uXCIgfSxcbiAgICAgICAgXCJcXFwiLFxcXCJtZXRyaWNzXFxcIjpbXSxcXFwiYW5ub3RhdGlvbnNcXFwiOntcXFwiaG9yaXpvbnRhbFxcXCI6W119LFxcXCJ5QXhpc1xcXCI6e319fV19XCJcbiAgICAgIF1dfVxuICAgIH0pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdEYXNoYm9hcmROYW1lIGlzIHNldCB3aGVuIHByb3ZpZGVkJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnTXlTdGFjaycpO1xuXG4gICAgLy8gV0hFTlxuICAgIG5ldyBEYXNoYm9hcmQoc3RhY2ssICdNeURhc2hib2FyZCcsIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6ICdNeUN1c3RvbURhc2hib2FyZE5hbWUnLFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OkNsb3VkV2F0Y2g6OkRhc2hib2FyZCcsIHtcbiAgICAgIERhc2hib2FyZE5hbWU6ICdNeUN1c3RvbURhc2hib2FyZE5hbWUnXG4gICAgfSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ0Rhc2hib2FyZE5hbWUgaXMgbm90IGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsICdNeVN0YWNrJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IERhc2hib2FyZChzdGFjaywgJ015RGFzaGJvYXJkJyk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6Q2xvdWRXYXRjaDo6RGFzaGJvYXJkJywge30pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9XG59O1xuXG4vKipcbiAqIFJldHVybnMgYSBwcm9wZXJ0eSBwcmVkaWNhdGUgdGhhdCBjaGVja3MgdGhhdCB0aGUgZ2l2ZW4gRGFzaGJvYXJkIGhhcyB0aGUgaW5kaWNhdGVkIHdpZGdldHNcbiAqL1xuZnVuY3Rpb24gdGhhdEhhc1dpZGdldHMod2lkZ2V0czogYW55KTogKHByb3BzOiBhbnkpID0+IGJvb2xlYW4ge1xuICByZXR1cm4gKHByb3BzOiBhbnkpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWN0dWFsV2lkZ2V0cyA9IEpTT04ucGFyc2UocHJvcHMuRGFzaGJvYXJkQm9keSkud2lkZ2V0cztcbiAgICAgIHJldHVybiBpc1N1cGVyT2JqZWN0KGFjdHVhbFdpZGdldHMsIHdpZGdldHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nJywgcHJvcHMpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmRhc2hib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQXNFO0FBQ3RFLHdDQUEyQztBQUUzQyxnQ0FBNEU7QUEwSzVFOztHQUVHO0FBQ0gsU0FBUyxjQUFjLENBQUMsT0FBWTtJQUNsQyxPQUFPLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDcEIsSUFBSTtZQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM5RCxPQUFPLHNCQUFhLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUF0TEQsaUJBQVM7SUFDUCw4REFBOEQsQ0FBQyxJQUFVO1FBQ3ZFLFFBQVE7UUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLFlBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksZUFBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPO1FBQ1AsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGdCQUFVLENBQUM7WUFDbEMsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0osU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGdCQUFVLENBQUM7WUFDbEMsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0os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RCxzQ0FBc0MsQ0FBQyxJQUFVO1FBQy9DLFFBQVE7UUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksWUFBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4QyxPQUFPO1FBQ1AsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksZUFBUyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBQ2xDLGFBQWEsRUFBRSwyQkFBMkI7YUFDM0MsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsT0FBTztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsaURBQWlELENBQUMsQ0FBQztRQUVoRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlLCBpc1N1cGVyT2JqZWN0IH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0JztcbmltcG9ydCB7IEFwcCwgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IFRlc3QgfSBmcm9tICdub2RldW5pdCc7XG5pbXBvcnQgeyBEYXNoYm9hcmQsIEdyYXBoV2lkZ2V0LCBQZXJpb2RPdmVycmlkZSwgVGV4dFdpZGdldCB9IGZyb20gJy4uL2xpYic7XG5cbmV4cG9ydCA9IHtcbiAgJ3dpZGdldHMgaW4gZGlmZmVyZW50IGFkZHMgYXJlIGxhaWQgb3V0IHVuZGVybmVhdGggZWFjaCBvdGhlcicodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgICBjb25zdCBkYXNoYm9hcmQgPSBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnRGFzaCcpO1xuXG4gICAgLy8gV0hFTlxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgIHdpZHRoOiAxMCxcbiAgICAgIGhlaWdodDogMixcbiAgICAgIG1hcmtkb3duOiBcImZpcnN0XCJcbiAgICB9KSk7XG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMobmV3IFRleHRXaWRnZXQoe1xuICAgICAgd2lkdGg6IDEsXG4gICAgICBoZWlnaHQ6IDQsXG4gICAgICBtYXJrZG93bjogXCJzZWNvbmRcIlxuICAgIH0pKTtcbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhuZXcgVGV4dFdpZGdldCh7XG4gICAgICB3aWR0aDogNCxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIG1hcmtkb3duOiBcInRoaXJkXCJcbiAgICB9KSk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6Q2xvdWRXYXRjaDo6RGFzaGJvYXJkJywgdGhhdEhhc1dpZGdldHMoW1xuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAxMCwgaGVpZ2h0OiAyLCB4OiAwLCB5OiAwLCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAnZmlyc3QnIH0gfSxcbiAgICAgIHsgdHlwZTogJ3RleHQnLCB3aWR0aDogMSwgaGVpZ2h0OiA0LCB4OiAwLCB5OiAyLCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAnc2Vjb25kJyB9IH0sXG4gICAgICB7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6IDQsIGhlaWdodDogMSwgeDogMCwgeTogNiwgcHJvcGVydGllczogeyBtYXJrZG93bjogJ3RoaXJkJyB9IH0sXG4gICAgXSkpKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICd3aWRnZXRzIGluIHNhbWUgYWRkIGFyZSBsYWlkIG91dCBuZXh0IHRvIGVhY2ggb3RoZXInKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gICAgY29uc3QgZGFzaGJvYXJkID0gbmV3IERhc2hib2FyZChzdGFjaywgJ0Rhc2gnKTtcblxuICAgIC8vIFdIRU5cbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIG1hcmtkb3duOiBcImZpcnN0XCJcbiAgICAgIH0pLFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgaGVpZ2h0OiA0LFxuICAgICAgICBtYXJrZG93bjogXCJzZWNvbmRcIlxuICAgICAgfSksXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIHdpZHRoOiA0LFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIG1hcmtkb3duOiBcInRoaXJkXCJcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6Q2xvdWRXYXRjaDo6RGFzaGJvYXJkJywgdGhhdEhhc1dpZGdldHMoW1xuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiAxMCwgaGVpZ2h0OiAyLCB4OiAwLCB5OiAwLCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAnZmlyc3QnIH0gfSxcbiAgICAgIHsgdHlwZTogJ3RleHQnLCB3aWR0aDogMSwgaGVpZ2h0OiA0LCB4OiAxMCwgeTogMCwgcHJvcGVydGllczogeyBtYXJrZG93bjogJ3NlY29uZCcgfSB9LFxuICAgICAgeyB0eXBlOiAndGV4dCcsIHdpZHRoOiA0LCBoZWlnaHQ6IDEsIHg6IDExLCB5OiAwLCBwcm9wZXJ0aWVzOiB7IG1hcmtkb3duOiAndGhpcmQnIH0gfSxcbiAgICBdKSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ3Rva2VucyBpbiB3aWRnZXRzIGFyZSByZXRhaW5lZCcodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgICBjb25zdCBkYXNoYm9hcmQgPSBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnRGFzaCcpO1xuXG4gICAgLy8gV0hFTlxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHsgd2lkdGg6IDEsIGhlaWdodDogMSB9KSAvLyBHcmFwaFdpZGdldCBoYXMgaW50ZXJuYWwgcmVmZXJlbmNlIHRvIGN1cnJlbnQgcmVnaW9uXG4gICAgKTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmQnLCB7XG4gICAgICBEYXNoYm9hcmRCb2R5OiB7IFwiRm46OkpvaW5cIjogWyBcIlwiLCBbXG4gICAgICAgIFwie1xcXCJ3aWRnZXRzXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwibWV0cmljXFxcIixcXFwid2lkdGhcXFwiOjEsXFxcImhlaWdodFxcXCI6MSxcXFwieFxcXCI6MCxcXFwieVxcXCI6MCxcXFwicHJvcGVydGllc1xcXCI6e1xcXCJ2aWV3XFxcIjpcXFwidGltZVNlcmllc1xcXCIsXFxcInJlZ2lvblxcXCI6XFxcIlwiLFxuICAgICAgICB7IFJlZjogXCJBV1M6OlJlZ2lvblwiIH0sXG4gICAgICAgIFwiXFxcIixcXFwibWV0cmljc1xcXCI6W10sXFxcImFubm90YXRpb25zXFxcIjp7XFxcImhvcml6b250YWxcXFwiOltdfSxcXFwieUF4aXNcXFwiOnt9fX1dfVwiXG4gICAgICBdXX1cbiAgICB9KSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZGFzaGJvYXJkIGJvZHkgaW5jbHVkZXMgbm9uLXdpZGdldCBmaWVsZHMnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gICAgY29uc3QgZGFzaGJvYXJkID0gbmV3IERhc2hib2FyZChzdGFjaywgJ0Rhc2gnLFxuICAgIHtcbiAgICAgIHN0YXJ0OiAnLTlIJyxcbiAgICAgIGVuZDogJzIwMTgtMTItMTdUMDY6MDA6MDAuMDAwWicsXG4gICAgICBwZXJpb2RPdmVycmlkZTogUGVyaW9kT3ZlcnJpZGUuSU5IRVJJVFxuICAgIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHsgd2lkdGg6IDEsIGhlaWdodDogMSB9KSAvLyBHcmFwaFdpZGdldCBoYXMgaW50ZXJuYWwgcmVmZXJlbmNlIHRvIGN1cnJlbnQgcmVnaW9uXG4gICAgKTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmQnLCB7XG4gICAgICBEYXNoYm9hcmRCb2R5OiB7IFwiRm46OkpvaW5cIjogWyBcIlwiLCBbXG4gICAgICAgIFwie1xcXCJzdGFydFxcXCI6XFxcIi05SFxcXCIsXFxcImVuZFxcXCI6XFxcIjIwMTgtMTItMTdUMDY6MDA6MDAuMDAwWlxcXCIsXFxcInBlcmlvZE92ZXJyaWRlXFxcIjpcXFwiaW5oZXJpdFxcXCIsXFxcblxcXCJ3aWRnZXRzXFxcIjpbe1xcXCJ0eXBlXFxcIjpcXFwibWV0cmljXFxcIixcXFwid2lkdGhcXFwiOjEsXFxcImhlaWdodFxcXCI6MSxcXFwieFxcXCI6MCxcXFwieVxcXCI6MCxcXFwicHJvcGVydGllc1xcXCI6e1xcXCJ2aWV3XFxcIjpcXFwidGltZVNlcmllc1xcXCIsXFxcInJlZ2lvblxcXCI6XFxcIlwiLFxuICAgICAgICB7IFJlZjogXCJBV1M6OlJlZ2lvblwiIH0sXG4gICAgICAgIFwiXFxcIixcXFwibWV0cmljc1xcXCI6W10sXFxcImFubm90YXRpb25zXFxcIjp7XFxcImhvcml6b250YWxcXFwiOltdfSxcXFwieUF4aXNcXFwiOnt9fX1dfVwiXG4gICAgICBdXX1cbiAgICB9KSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnRGFzaGJvYXJkTmFtZSBpcyBzZXQgd2hlbiBwcm92aWRlZCcodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ015U3RhY2snKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnTXlEYXNoYm9hcmQnLCB7XG4gICAgICBkYXNoYm9hcmROYW1lOiAnTXlDdXN0b21EYXNoYm9hcmROYW1lJyxcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmQnLCB7XG4gICAgICBEYXNoYm9hcmROYW1lOiAnTXlDdXN0b21EYXNoYm9hcmROYW1lJ1xuICAgIH0pKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdEYXNoYm9hcmROYW1lIGlzIG5vdCBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnTXlTdGFjaycpO1xuXG4gICAgLy8gV0hFTlxuICAgIG5ldyBEYXNoYm9hcmQoc3RhY2ssICdNeURhc2hib2FyZCcpO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OkNsb3VkV2F0Y2g6OkRhc2hib2FyZCcsIHt9KSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndGhyb3dzIGlmIERhc2hib2FyZE5hbWUgaXMgbm90IHZhbGlkJyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnTXlTdGFjaycpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IHRvVGhyb3cgPSAoKSA9PiB7XG4gICAgICBuZXcgRGFzaGJvYXJkKHN0YWNrLCAnTXlEYXNoYm9hcmQnLCB7XG4gICAgICAgIGRhc2hib2FyZE5hbWU6ICdNeSBJbnZhbGlkIERhc2hib2FyZCBOYW1lJyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBUSEVOXG4gICAgdGVzdC50aHJvd3MoKCkgPT4gdG9UaHJvdygpLCAvZmllbGQgZGFzaGJvYXJkTmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMvKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9XG59O1xuXG4vKipcbiAqIFJldHVybnMgYSBwcm9wZXJ0eSBwcmVkaWNhdGUgdGhhdCBjaGVja3MgdGhhdCB0aGUgZ2l2ZW4gRGFzaGJvYXJkIGhhcyB0aGUgaW5kaWNhdGVkIHdpZGdldHNcbiAqL1xuZnVuY3Rpb24gdGhhdEhhc1dpZGdldHMod2lkZ2V0czogYW55KTogKHByb3BzOiBhbnkpID0+IGJvb2xlYW4ge1xuICByZXR1cm4gKHByb3BzOiBhbnkpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWN0dWFsV2lkZ2V0cyA9IEpTT04ucGFyc2UocHJvcHMuRGFzaGJvYXJkQm9keSkud2lkZ2V0cztcbiAgICAgIHJldHVybiBpc1N1cGVyT2JqZWN0KGFjdHVhbFdpZGdldHMsIHdpZGdldHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nJywgcHJvcHMpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH07XG59XG4iXX0=

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