@aws-solutions-constructs/aws-sqs-pipes-stepfunctions 2.99.0 → 2.100.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,9 +8,9 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-solutions-constructs/core": "2.99.0",
12
- "@aws-solutions-constructs/resources": "2.99.0",
13
- "aws-cdk-lib": "^2.238.0",
11
+ "@aws-solutions-constructs/core": "2.100.1",
12
+ "@aws-solutions-constructs/resources": "2.100.1",
13
+ "aws-cdk-lib": "^2.239.0",
14
14
  "constructs": "^10.0.0"
15
15
  },
16
16
  "dependencyClosure": {
@@ -101,8 +101,7 @@
101
101
  "dotnet": {
102
102
  "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
103
103
  "namespace": "Amazon.SolutionsConstructs.AWS.Core",
104
- "packageId": "Amazon.SolutionsConstructs.AWS.Core",
105
- "signAssembly": true
104
+ "packageId": "Amazon.SolutionsConstructs.AWS.Core"
106
105
  },
107
106
  "java": {
108
107
  "maven": {
@@ -125,8 +124,7 @@
125
124
  "dotnet": {
126
125
  "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
127
126
  "namespace": "Amazon.SolutionsConstructs.AWS.Resources",
128
- "packageId": "Amazon.SolutionsConstructs.AWS.Resources",
129
- "signAssembly": true
127
+ "packageId": "Amazon.SolutionsConstructs.AWS.Resources"
130
128
  },
131
129
  "java": {
132
130
  "maven": {
@@ -8546,7 +8544,7 @@
8546
8544
  },
8547
8545
  "description": "CDK Constructs for Amazon SQS to AWS Step Functions via Amazon EventBridge Pipes integration.",
8548
8546
  "homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
8549
- "jsiiVersion": "5.9.8 (build 3d2e131)",
8547
+ "jsiiVersion": "5.9.28 (build cbad63d)",
8550
8548
  "keywords": [
8551
8549
  "aws",
8552
8550
  "cdk",
@@ -8578,8 +8576,7 @@
8578
8576
  "dotnet": {
8579
8577
  "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
8580
8578
  "namespace": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
8581
- "packageId": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
8582
- "signAssembly": true
8579
+ "packageId": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions"
8583
8580
  },
8584
8581
  "java": {
8585
8582
  "maven": {
@@ -9077,6 +9074,6 @@
9077
9074
  "symbolId": "lib/index:SqsToPipesToStepfunctionsProps"
9078
9075
  }
9079
9076
  },
9080
- "version": "2.99.0",
9081
- "fingerprint": "h824Xsq8HvONznrJKVEdpmUZsZlA+49mueI9CXUFbYI="
9077
+ "version": "2.100.1",
9078
+ "fingerprint": "oJQDs93FBV6z4efr/iCWGmA7SntQJ40o1HKpGhUvlKg="
9082
9079
  }
package/lib/index.js CHANGED
@@ -33,6 +33,7 @@ class SqsToPipesToStepfunctions extends constructs_1.Construct {
33
33
  defaults.CheckStateMachineProps(props);
34
34
  defaults.CheckSqsProps(props);
35
35
  defaults.CheckPipesProps(props);
36
+ defaults.ValidateCfnPipeProps(this, props.pipeProps);
36
37
  // Create the Queue
37
38
  // Setup the queue
38
39
  const buildQueueResponse = defaults.buildQueue(this, 'queue', {
@@ -78,5 +79,5 @@ class SqsToPipesToStepfunctions extends constructs_1.Construct {
78
79
  }
79
80
  exports.SqsToPipesToStepfunctions = SqsToPipesToStepfunctions;
80
81
  _a = JSII_RTTI_SYMBOL_1;
81
- SqsToPipesToStepfunctions[_a] = { fqn: "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions.SqsToPipesToStepfunctions", version: "2.99.0" };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsMkRBQTJEO0FBVTNELHVEQUErRDtBQUF0RCxxR0FBQSxhQUFhLE9BQUE7QUFDdEIsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQThIdkMsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQVN0RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzVELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtZQUNoRCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsc0NBQXNDLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUNqRSxhQUFhLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUMvQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1FBRTlDLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDbkMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3pGLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBa0IsRUFBRyxtRkFBbUY7Z0JBQ2pJLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDbEMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjthQUNyRCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLHlCQUF5QixDQUFDLFlBQVksQ0FBQztZQUMzRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcseUJBQXlCLENBQUMsUUFBUSxDQUFDO1lBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixDQUFDO1FBQ3BELENBQUM7UUFFRCx5REFBeUQ7UUFDekQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDckQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDO1lBQ2xGLE1BQU0sRUFBRSxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDO1lBQy9GLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjtZQUNwRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDOztBQWpFSCw4REFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyBzcXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNxcyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBwaXBlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcGlwZXMnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgUGlwZXNMb2dMZXZlbCB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5leHBvcnQgeyBQaXBlc0xvZ0xldmVsIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgU25zVG9TcXMgY2xhc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzIHtcblxuICAvLyAqKioqKioqKioqKioqKioqKioqXG4gIC8vIFF1ZXVlIFByb3BzXG4gIC8vICoqKioqKioqKioqKioqKioqKipcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwsIGV4aXN0aW5nIFNRUyBxdWV1ZSB0byBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgcXVldWUuIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIHF1ZXVlUHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nUXVldWVPYmo/OiBzcXMuUXVldWUsXG4gIC8qKlxuICAgKiBPcHRpb25hbCAtIHVzZXIgcHJvdmlkZWQgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciB0aGUgU1FTIHF1ZXVlLlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZXhpc3RpbmdRdWV1ZU9iamAgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlUHJvcHM/OiBzcXMuUXVldWVQcm9wcyxcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5jcnlwdCB0aGUgUXVldWUgd2l0aCBhIGN1c3RvbWVyIG1hbmFnZWQgS01TIGtleSAoQ01LKS4gVGhpcyBpcyB0aGUgZGVmYXVsdFxuICAgKiBiZWhhdmlvciwgYW5kIHRoaXMgcHJvcGVydHkgZGVmYXVsdHMgdG8gdHJ1ZSAtIGlmIGl0IGlzIGV4cGxpY2l0bHkgc2V0IHRvIGZhbHNlIHRoZW4gdGhlIFF1ZXVlXG4gICAqIGlzIGVuY3J5cHRlZCB3aXRoIGFuIEFtYXpvbiBtYW5hZ2VkIEtNUyBrZXkuIEZvciBhIGNvbXBsZXRlbHkgdW5lbmNyeXB0ZWQgUXVldWUgKG5vdCByZWNvbW1lbmRlZCksXG4gICAqIGNyZWF0ZSB0aGUgUXVldWUgc2VwYXJhdGVseSBmcm9tIHRoZSBjb25zdHJ1Y3QgYW5kIHBhc3MgaXQgaW4gdXNpbmcgdGhlIGV4aXN0aW5nUXVldWVPYmplY3QuIFNpbmNlXG4gICAqIFNOUyBzdWJzY3JpcHRpb25zIGRvIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBTUVMgcXVldWVzIHdpdGggQVdTIG1hbmFnZWQgZW5jcnlwdGlvbiBrZXlzLCBzZXR0aW5nIHRoaXNcbiAgICogdG8gZmFsc2Ugd2lsbCBhbHdheXMgcmVzdWx0IGluIGFuIGVycm9yIGZyb20gdGhlIHVuZGVybHlpbmcgQ0RLIC0gd2UgaGF2ZSBzdGlsbCBpbmNsdWRlZCB0aGlzIHByb3BlcnR5XG4gICAqIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRvcGljcyBhbmQgdG8gYmUgcmVhZHkgaWYgdGhlIHNlcnZpY2VzIG9uZSBkYXkgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0UXVldWVXaXRoQ21rPzogYm9vbGVhbixcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHN1YnNldCBvZiBrZXkgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIHVzZWQgYnkgY29uc3RydWN0cyAoZW5hYmxlS2V5Um90YXRpb246IHRydWUpLlxuICAgKiBUaGVzZSBwcm9wZXJ0aWVzIHdpbGwgYmUgdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGhlIENNSyB1c2VkIHRvIGVuY3J5cHQgdGhlIFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlRW5jcnlwdGlvbktleVByb3BzPzoga21zLktleVByb3BzLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgQ01LIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBjb25zdHJ1Y3QgdG8gZW5jcnlwdCB0aGUgbmV3IFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nUXVldWVFbmNyeXB0aW9uS2V5Pzoga21zLktleSxcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgc2Vjb25kYXJ5IHF1ZXVlIHRvIGJlIHVzZWQgYXMgYSBkZWFkIGxldHRlciBxdWV1ZS5cbiAgICpcbiAgICogZGVmYXVsdCA9IHRydWUuXG4gICAqL1xuICByZWFkb25seSBkZXBsb3lEZWFkTGV0dGVyUXVldWU/OiBib29sZWFuLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1wcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIGRlYWQgbGV0dGVyIFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZVByb3BzPzogc3FzLlF1ZXVlUHJvcHMsXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIGEgbWVzc2FnZSBjYW4gYmUgdW5zdWNjZXNzZnVsbHkgZGVxdWV1ZWQgYmVmb3JlIGJlaW5nIG1vdmVkIHRvIHRoZSBkZWFkIGxldHRlclxuICAgKiBxdWV1ZS4gRGVmYXVsdHMgdG8gMTUuXG4gICAqL1xuICByZWFkb25seSBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXIsXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuICAvLyBTdGF0ZSBNYWNoaW5lIFByb3BzXG4gIC8vICoqKioqKioqKioqKioqKioqKipcblxuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIHNmbi5TdGF0ZU1hY2hpbmUuIFRoaXMgb3IgZXhpc3RpbmdTdGF0ZU1hY2hpbmUgaXMgcmVxdWlyZWQuIElmIHlvdSBwcm92aWRlXG4gICAqIGEgdmFsdWUgZm9yIGxvZ3MuZGVzdGluYXRpb24sIGl0IG11c3QgYmUgYW4gSUxvZ0dyb3VwIGV2ZW4gdGhvdWdoIHRoZSBwcm9wIHR5cGUgaXMgSUxvZ0dyb3VwUmVmLiBUaGUgQ0RLXG4gICAqIGNoYW5nZSB0byBJTG9nR3JvdXBSZWYgaW4gdjIuMjM1LjAgaXMgaW5jb21wYXRpYmxlIHdpdGggb3VyIGludGVyZmFjZSB3aXRob3V0IGludHJvZHVjaW5nIGJyZWFraW5nIGNoYW5nZXMsXG4gICAqIHNvIHdlIHN0aWxsIHJlcXVpcmUgYW4gSUxvZ0dyb3VwIChhcyB0aGlzIGltcGxlbWVudHMgSUxvZ0dyb3VwUmVmLCB5b3UgY2FuIGp1c3QgYXNzaWduIGl0IHRvIGxvZ3MuZGVzdGluYXRpb24pXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wcz86IHNmbi5TdGF0ZU1hY2hpbmVQcm9wcyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV4aXN0aW5nIHN0YXRlIG1hY2hpbmUgdG8gaW5jb3Jwb3JhdGUgaW50byB0aGUgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1N0YXRlTWFjaGluZU9iaj86IHNmbi5TdGF0ZU1hY2hpbmUsXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSByZWNvbW1lbmRlZCBDbG91ZFdhdGNoIGFsYXJtc1xuICAgKlxuICAgKiBkZWZhdWx0ID0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciBmb3IgdGhlIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcyxcblxuICAvLyAqKioqKioqKioqKioqKioqKioqXG4gIC8vIFBpcGUgUHJvcHNcbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b21lciBwcm92aWRlZCBzZXR0aW5ncyBmb3IgdGhlIEV2ZW50QnJpZGdlIHBpcGUuIHNvdXJjZSwgdGFyZ2V0IGFuZFxuICAgKiByb2xlQXJuIGFyZSBzZXQgYnkgdGhlIGNvbnN0cnVjdCBhbmQgY2Fubm90IGJlIG92ZXJyaWRlbi4gVGhlIGNvbnN0cnVjdCB3aWxsIGdlbmVyYXRlXG4gICAqIGRlZmF1bHQgc291cmNlUGFyYW1ldGVycywgdGFyZ2V0UGFyYW1ldGVycyBhbmQgbG9nQ29uZmlndXJhdGlvbiB0aGF0IGNhbiBiZVxuICAgKiBvdmVycmlkZW4gYnkgcG9wdWxhdGluZyB0aG9zZSB2YWx1ZXMgaW4gdGhlc2UgcHJvcHMuIElmIHRoZSBjbGllbnQgd2FudHMgdG8gaW1wbGVtZW50XG4gICAqIGVucmljaG1lbnQgb3IgYSBmaWx0ZXIsIHRoaXMgaXMgd2hlcmUgdGhhdCBpbmZvcm1hdGlvbiBjYW4gYmUgcHJvdmlkZWQuIEFueSBvdGhlciBwcm9wc1xuICAgKiBjYW4gYmUgZnJlZWx5IG92ZXJyaWRkZW4uXG4gICAqL1xuICByZWFkb25seSBwaXBlUHJvcHM/OiBwaXBlcy5DZm5QaXBlUHJvcHMgfCBhbnksXG4gIC8qKlxuICAgKiBEZWZhdWx0IGJlaGF2aW9yIGlzIGZvciB0aGUgdGhpcyBjb25zdHJ1Y3QgdG8gY3JlYXRlIGEgbmV3IENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXAgZm9yIHRoZSBwaXBlLlxuICAgKiBUaGVzZSBwcm9wcyBhcmUgdXNlZCB0byBvdmVycmlkZSBkZWZhdWx0cyBzZXQgYnkgQVdTIG9yIHRoaXMgY29uc3RydWN0LiBJZiB0aGVyZSBhcmUgY29uY2VybnMgYWJvdXRcbiAgICogdGhlIGNvc3Qgb2YgbG9nIHN0b3JhZ2UsIHRoaXMgaXMgd2hlcmUgYSBjbGllbnQgY2FuIHNwZWNpZnkgYSBzaG9ydGVyIHJldGVudGlvbiBkdXJhdGlvbiAoaW4gZGF5cylcbiAgICovXG4gIHJlYWRvbmx5IHBpcGVMb2dQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcyxcbiAgLyoqXG4gICAqIFRocmVzaG9sZCBmb3Igd2hhdCBtZXNzYWdlcyB0aGUgbmV3IHBpcGUgc2VuZHMgdG8gdGhlIGxvZywgUGlwZXNMb2dMZXZlbC5PRkYsIFBpcGVzTG9nTGV2ZWwuRVJST1IsXG4gICAqIFBpcGVzTG9nTGV2ZWwuSU5GTywgUGlwZXNMb2dMZXZlbC5UUkFDRS4gVGhlIGRlZmF1bHQgaXMgSU5GTy4gU2V0dGluZyB0aGUgbGV2ZWwgdG8gT0ZGIHdpbGwgcHJldmVudFxuICAgKiBhbnkgbG9nIGdyb3VwIGZyb20gYmVpbmcgY3JlYXRlZC4gUHJvdmlkaW5nIHBpcGVQcm9wcy5sb2dDb25maWd1cmF0aW9uIHdpbGwgY29udHJvbHMgYWxsIGFzcGVjdHMgb2ZcbiAgICogbG9nZ2luZyBhbmQgYW55IGNvbnN0cnVjdCBwcm92aWRlZCBsb2cgY29uZmlndXJhdGlvbiBpcyBkaXNhYmxlZC4gSWYgcGlwZVByb3BzLmxvZ0NvbmZpZ3VyYXRpb24gaXNcbiAgICogcHJvdmlkZWQgdGhlbiBzcGVjaWZ5aW5nIHRoaXMgb3IgcGlwZUxvZ1Byb3BzIGNhdXNlcyBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogUGlwZXNMb2dMZXZlbCxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIC0gTGFtYmRhIGZ1bmN0aW9uIHRoYXQgdGhlIGNvbnN0cnVjdCB3aWxsIGNvbmZpZ3VyZSB0byBiZSBjYWxsZWQgdG8gZW5yaWNoIHRoZSBtZXNzYWdlXG4gICAqIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQuIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjb25maWd1cmUgdGhlIHBpcGUgSUFNIHJvbGUgdG8gYWxsb3cgaW52b2tpbmcgdGhlXG4gICAqIGZ1bmN0aW9uIChidXQgd2lsbCBub3QgYWZmZWN0IHRoZSBJQXJvbGUgYXNzaWduZWQgdG8gdGhlIGZ1bmN0aW9uKS4gU3BlY2lmeWluZyBib3RoIHRoaXMgYW5kXG4gICAqIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgY2F1c2VzIGFuIGVycm9yLiBEZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBlbnJpY2htZW50RnVuY3Rpb24/OiBsYW1iZGEuRnVuY3Rpb24sXG4gIC8qKlxuICAgKiBPcHRpb25hbCAtIFN0ZXAgRnVuY3Rpb25zIHN0YXRlIG1hY2hpbmUgdGhhdCB0aGUgY29uc3RydWN0IHdpbGwgY29uZmlndXJlIHRvIGJlIGNhbGxlZCB0byBlbnJpY2ggdGhlIG1lc3NhZ2VcbiAgICogYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldC4gVGhlIGNvbnN0cnVjdCB3aWxsIGNvbmZpZ3VyZSB0aGUgcGlwZSBJQU0gcm9sZSB0byBhbGxvdyBleGVjdXRpbmcgdGhlIHN0YXRlXG4gICAqIG1hY2hpbmUgKGJ1dCB3aWxsIG5vdCBhZmZlY3QgdGhlIElBTSByb2xlIGFzc2lnbmVkIHRvIHRoZSBzdGF0ZSBtYWNoaW5lKS4gU3BlY2lmeWluZyBib3RoIHRoaXMgYW5kXG4gICAqIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgY2F1c2VzIGFuIGVycm9yLiBFbnJpY2htZW50IGlzIGludm9rZWQgc3luY2hyb25vdXNseSwgc28gdGhpcyBtdXN0IGJlIGFuIEVYUFJFU1NcbiAgICogc3RhdGUgbWFjaGluLiBEZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBlbnJpY2htZW50U3RhdGVNYWNoaW5lPzogc2ZuLlN0YXRlTWFjaGluZSxcblxufVxuXG5leHBvcnQgY2xhc3MgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmU7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZU1hY2hpbmVMb2dHcm91cD86IGxvZ3MuSUxvZ0dyb3VwO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWR3YXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXTtcbiAgcHVibGljIHJlYWRvbmx5IHNxc1F1ZXVlOiBzcXMuUXVldWU7XG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBzcXMuRGVhZExldHRlclF1ZXVlO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgcGlwZTogcGlwZXMuQ2ZuUGlwZTtcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVSb2xlOiBpYW0uUm9sZTtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMgY2xhc3MuXG4gICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIHRoaXMgaXMgYSBhIHNjb3BlLXVuaXF1ZSBpZC5cbiAgICogQHBhcmFtIHtTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdC5cbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgZGVmYXVsdHMuQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tTcXNQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tQaXBlc1Byb3BzKHByb3BzKTtcblxuICAgIC8vIENyZWF0ZSB0aGUgUXVldWVcbiAgICAvLyBTZXR1cCB0aGUgcXVldWVcbiAgICBjb25zdCBidWlsZFF1ZXVlUmVzcG9uc2UgPSBkZWZhdWx0cy5idWlsZFF1ZXVlKHRoaXMsICdxdWV1ZScsIHtcbiAgICAgIGV4aXN0aW5nUXVldWVPYmo6IHByb3BzLmV4aXN0aW5nUXVldWVPYmosXG4gICAgICBxdWV1ZVByb3BzOiBwcm9wcy5xdWV1ZVByb3BzLFxuICAgICAgZGVwbG95RGVhZExldHRlclF1ZXVlOiBwcm9wcy5kZXBsb3lEZWFkTGV0dGVyUXVldWUsXG4gICAgICBkZWFkTGV0dGVyUXVldWVQcm9wczogcHJvcHMuZGVhZExldHRlclF1ZXVlUHJvcHMsXG4gICAgICBtYXhSZWNlaXZlQ291bnQ6IHByb3BzLm1heFJlY2VpdmVDb3VudCxcbiAgICAgIGVuYWJsZUVuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5OiBwcm9wcy5lbmNyeXB0UXVldWVXaXRoQ21rLFxuICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZXhpc3RpbmdRdWV1ZUVuY3J5cHRpb25LZXksXG4gICAgICBlbmNyeXB0aW9uS2V5UHJvcHM6IHByb3BzLnF1ZXVlRW5jcnlwdGlvbktleVByb3BzXG4gICAgfSk7XG4gICAgdGhpcy5zcXNRdWV1ZSA9IGJ1aWxkUXVldWVSZXNwb25zZS5xdWV1ZTtcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IGJ1aWxkUXVldWVSZXNwb25zZS5kbHE7XG5cbiAgICAvLyBDcmVhdGUgdGhlIFN0YXRlIE1hY2hpbmVcbiAgICBpZiAoIXByb3BzLmV4aXN0aW5nU3RhdGVNYWNoaW5lT2JqKSB7XG4gICAgICBjb25zdCBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlID0gZGVmYXVsdHMuYnVpbGRTdGF0ZU1hY2hpbmUodGhpcywgZGVmYXVsdHMuaWRQbGFjZWhvbGRlciwge1xuICAgICAgICBzdGF0ZU1hY2hpbmVQcm9wczogcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMhLCAgLy8gQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyBlbnN1cmVzIHRoaXMgaXMgZGVmaW5lZCBpZiBleGlzdGluZ1N0YXRlTWFjaGluZU9iaiBpcyBub3RcbiAgICAgICAgbG9nR3JvdXBQcm9wczogcHJvcHMubG9nR3JvdXBQcm9wcyxcbiAgICAgICAgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtczogcHJvcHMuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zdGF0ZU1hY2hpbmUgPSBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlLnN0YXRlTWFjaGluZTtcbiAgICAgIHRoaXMuc3RhdGVNYWNoaW5lTG9nR3JvdXAgPSBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlLmxvZ0dyb3VwO1xuICAgICAgdGhpcy5jbG91ZHdhdGNoQWxhcm1zID0gYnVpbGRTdGF0ZU1hY2hpbmVSZXNwb25zZS5jbG91ZFdhdGNoQWxhcm1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlTWFjaGluZSA9IHByb3BzLmV4aXN0aW5nU3RhdGVNYWNoaW5lT2JqO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSB0aGUgcGlwZSB0byBjb25uZWN0IHRoZSBxdWV1ZSBhbmQgc3RhdGUgbWFjaGluZVxuICAgIGNvbnN0IGJ1aWxkUGlwZVJlc3BvbnNlID0gZGVmYXVsdHMuQnVpbGRQaXBlKHRoaXMsIGlkLCB7XG4gICAgICBzb3VyY2U6IGRlZmF1bHRzLkNyZWF0ZVNxc1NvdXJjZSh0aGlzLnNxc1F1ZXVlLCBwcm9wcy5waXBlUHJvcHM/LnNvdXJjZVBhcmFtZXRlcnMpLFxuICAgICAgdGFyZ2V0OiBkZWZhdWx0cy5DcmVhdGVTdGF0ZU1hY2hpbmVUYXJnZXQodGhpcy5zdGF0ZU1hY2hpbmUsIHByb3BzLnBpcGVQcm9wcz8udGFyZ2V0UGFyYW1ldGVycyksXG4gICAgICBlbnJpY2htZW50RnVuY3Rpb246IHByb3BzLmVucmljaG1lbnRGdW5jdGlvbixcbiAgICAgIGVucmljaG1lbnRTdGF0ZU1hY2hpbmU6IHByb3BzLmVucmljaG1lbnRTdGF0ZU1hY2hpbmUsXG4gICAgICBjbGllbnRQcm9wczogcHJvcHMucGlwZVByb3BzLFxuICAgICAgbG9nTGV2ZWw6IHByb3BzLmxvZ0xldmVsLFxuICAgICAgcGlwZUxvZ1Byb3BzOiBwcm9wcy5waXBlTG9nUHJvcHNcbiAgICB9KTtcbiAgICB0aGlzLnBpcGUgPSBidWlsZFBpcGVSZXNwb25zZS5waXBlO1xuICAgIHRoaXMucGlwZVJvbGUgPSBidWlsZFBpcGVSZXNwb25zZS5waXBlUm9sZTtcbiAgICBkZWZhdWx0cy5hZGRDZm5HdWFyZFN1cHByZXNzUnVsZXModGhpcy5waXBlUm9sZSwgW1wiSUFNX05PX0lOTElORV9QT0xJQ1lfQ0hFQ0tcIl0pO1xuICB9XG59XG4iXX0=
82
+ SqsToPipesToStepfunctions[_a] = { fqn: "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions.SqsToPipesToStepfunctions", version: "2.100.1" };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsMkRBQTJEO0FBVTNELHVEQUErRDtBQUF0RCxxR0FBQSxhQUFhLE9BQUE7QUFDdEIsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQThIdkMsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQVN0RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyRCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzVELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtZQUNoRCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsc0NBQXNDLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUNqRSxhQUFhLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtZQUMvQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1FBRTlDLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDbkMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3pGLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBa0IsRUFBRyxtRkFBbUY7Z0JBQ2pJLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDbEMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjthQUNyRCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLHlCQUF5QixDQUFDLFlBQVksQ0FBQztZQUMzRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcseUJBQXlCLENBQUMsUUFBUSxDQUFDO1lBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixDQUFDO1FBQ3BELENBQUM7UUFFRCx5REFBeUQ7UUFDekQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDckQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDO1lBQ2xGLE1BQU0sRUFBRSxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDO1lBQy9GLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjtZQUNwRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDOztBQWxFSCw4REFtRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyBzcXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNxcyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBwaXBlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcGlwZXMnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgUGlwZXNMb2dMZXZlbCB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5leHBvcnQgeyBQaXBlc0xvZ0xldmVsIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgU25zVG9TcXMgY2xhc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzIHtcblxuICAvLyAqKioqKioqKioqKioqKioqKioqXG4gIC8vIFF1ZXVlIFByb3BzXG4gIC8vICoqKioqKioqKioqKioqKioqKipcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwsIGV4aXN0aW5nIFNRUyBxdWV1ZSB0byBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgcXVldWUuIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIHF1ZXVlUHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nUXVldWVPYmo/OiBzcXMuUXVldWUsXG4gIC8qKlxuICAgKiBPcHRpb25hbCAtIHVzZXIgcHJvdmlkZWQgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciB0aGUgU1FTIHF1ZXVlLlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZXhpc3RpbmdRdWV1ZU9iamAgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlUHJvcHM/OiBzcXMuUXVldWVQcm9wcyxcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5jcnlwdCB0aGUgUXVldWUgd2l0aCBhIGN1c3RvbWVyIG1hbmFnZWQgS01TIGtleSAoQ01LKS4gVGhpcyBpcyB0aGUgZGVmYXVsdFxuICAgKiBiZWhhdmlvciwgYW5kIHRoaXMgcHJvcGVydHkgZGVmYXVsdHMgdG8gdHJ1ZSAtIGlmIGl0IGlzIGV4cGxpY2l0bHkgc2V0IHRvIGZhbHNlIHRoZW4gdGhlIFF1ZXVlXG4gICAqIGlzIGVuY3J5cHRlZCB3aXRoIGFuIEFtYXpvbiBtYW5hZ2VkIEtNUyBrZXkuIEZvciBhIGNvbXBsZXRlbHkgdW5lbmNyeXB0ZWQgUXVldWUgKG5vdCByZWNvbW1lbmRlZCksXG4gICAqIGNyZWF0ZSB0aGUgUXVldWUgc2VwYXJhdGVseSBmcm9tIHRoZSBjb25zdHJ1Y3QgYW5kIHBhc3MgaXQgaW4gdXNpbmcgdGhlIGV4aXN0aW5nUXVldWVPYmplY3QuIFNpbmNlXG4gICAqIFNOUyBzdWJzY3JpcHRpb25zIGRvIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBTUVMgcXVldWVzIHdpdGggQVdTIG1hbmFnZWQgZW5jcnlwdGlvbiBrZXlzLCBzZXR0aW5nIHRoaXNcbiAgICogdG8gZmFsc2Ugd2lsbCBhbHdheXMgcmVzdWx0IGluIGFuIGVycm9yIGZyb20gdGhlIHVuZGVybHlpbmcgQ0RLIC0gd2UgaGF2ZSBzdGlsbCBpbmNsdWRlZCB0aGlzIHByb3BlcnR5XG4gICAqIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRvcGljcyBhbmQgdG8gYmUgcmVhZHkgaWYgdGhlIHNlcnZpY2VzIG9uZSBkYXkgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0UXVldWVXaXRoQ21rPzogYm9vbGVhbixcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHN1YnNldCBvZiBrZXkgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIHVzZWQgYnkgY29uc3RydWN0cyAoZW5hYmxlS2V5Um90YXRpb246IHRydWUpLlxuICAgKiBUaGVzZSBwcm9wZXJ0aWVzIHdpbGwgYmUgdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGhlIENNSyB1c2VkIHRvIGVuY3J5cHQgdGhlIFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlRW5jcnlwdGlvbktleVByb3BzPzoga21zLktleVByb3BzLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgQ01LIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBjb25zdHJ1Y3QgdG8gZW5jcnlwdCB0aGUgbmV3IFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nUXVldWVFbmNyeXB0aW9uS2V5Pzoga21zLktleSxcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgc2Vjb25kYXJ5IHF1ZXVlIHRvIGJlIHVzZWQgYXMgYSBkZWFkIGxldHRlciBxdWV1ZS5cbiAgICpcbiAgICogZGVmYXVsdCA9IHRydWUuXG4gICAqL1xuICByZWFkb25seSBkZXBsb3lEZWFkTGV0dGVyUXVldWU/OiBib29sZWFuLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1wcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIGRlYWQgbGV0dGVyIFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZVByb3BzPzogc3FzLlF1ZXVlUHJvcHMsXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIGEgbWVzc2FnZSBjYW4gYmUgdW5zdWNjZXNzZnVsbHkgZGVxdWV1ZWQgYmVmb3JlIGJlaW5nIG1vdmVkIHRvIHRoZSBkZWFkIGxldHRlclxuICAgKiBxdWV1ZS4gRGVmYXVsdHMgdG8gMTUuXG4gICAqL1xuICByZWFkb25seSBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXIsXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuICAvLyBTdGF0ZSBNYWNoaW5lIFByb3BzXG4gIC8vICoqKioqKioqKioqKioqKioqKipcblxuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIHNmbi5TdGF0ZU1hY2hpbmUuIFRoaXMgb3IgZXhpc3RpbmdTdGF0ZU1hY2hpbmUgaXMgcmVxdWlyZWQuIElmIHlvdSBwcm92aWRlXG4gICAqIGEgdmFsdWUgZm9yIGxvZ3MuZGVzdGluYXRpb24sIGl0IG11c3QgYmUgYW4gSUxvZ0dyb3VwIGV2ZW4gdGhvdWdoIHRoZSBwcm9wIHR5cGUgaXMgSUxvZ0dyb3VwUmVmLiBUaGUgQ0RLXG4gICAqIGNoYW5nZSB0byBJTG9nR3JvdXBSZWYgaW4gdjIuMjM1LjAgaXMgaW5jb21wYXRpYmxlIHdpdGggb3VyIGludGVyZmFjZSB3aXRob3V0IGludHJvZHVjaW5nIGJyZWFraW5nIGNoYW5nZXMsXG4gICAqIHNvIHdlIHN0aWxsIHJlcXVpcmUgYW4gSUxvZ0dyb3VwIChhcyB0aGlzIGltcGxlbWVudHMgSUxvZ0dyb3VwUmVmLCB5b3UgY2FuIGp1c3QgYXNzaWduIGl0IHRvIGxvZ3MuZGVzdGluYXRpb24pXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wcz86IHNmbi5TdGF0ZU1hY2hpbmVQcm9wcyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV4aXN0aW5nIHN0YXRlIG1hY2hpbmUgdG8gaW5jb3Jwb3JhdGUgaW50byB0aGUgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1N0YXRlTWFjaGluZU9iaj86IHNmbi5TdGF0ZU1hY2hpbmUsXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSByZWNvbW1lbmRlZCBDbG91ZFdhdGNoIGFsYXJtc1xuICAgKlxuICAgKiBkZWZhdWx0ID0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciBmb3IgdGhlIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcyxcblxuICAvLyAqKioqKioqKioqKioqKioqKioqXG4gIC8vIFBpcGUgUHJvcHNcbiAgLy8gKioqKioqKioqKioqKioqKioqKlxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b21lciBwcm92aWRlZCBzZXR0aW5ncyBmb3IgdGhlIEV2ZW50QnJpZGdlIHBpcGUuIHNvdXJjZSwgdGFyZ2V0IGFuZFxuICAgKiByb2xlQXJuIGFyZSBzZXQgYnkgdGhlIGNvbnN0cnVjdCBhbmQgY2Fubm90IGJlIG92ZXJyaWRlbi4gVGhlIGNvbnN0cnVjdCB3aWxsIGdlbmVyYXRlXG4gICAqIGRlZmF1bHQgc291cmNlUGFyYW1ldGVycywgdGFyZ2V0UGFyYW1ldGVycyBhbmQgbG9nQ29uZmlndXJhdGlvbiB0aGF0IGNhbiBiZVxuICAgKiBvdmVycmlkZW4gYnkgcG9wdWxhdGluZyB0aG9zZSB2YWx1ZXMgaW4gdGhlc2UgcHJvcHMuIElmIHRoZSBjbGllbnQgd2FudHMgdG8gaW1wbGVtZW50XG4gICAqIGVucmljaG1lbnQgb3IgYSBmaWx0ZXIsIHRoaXMgaXMgd2hlcmUgdGhhdCBpbmZvcm1hdGlvbiBjYW4gYmUgcHJvdmlkZWQuIEFueSBvdGhlciBwcm9wc1xuICAgKiBjYW4gYmUgZnJlZWx5IG92ZXJyaWRkZW4uXG4gICAqL1xuICByZWFkb25seSBwaXBlUHJvcHM/OiBwaXBlcy5DZm5QaXBlUHJvcHMgfCBhbnksXG4gIC8qKlxuICAgKiBEZWZhdWx0IGJlaGF2aW9yIGlzIGZvciB0aGUgdGhpcyBjb25zdHJ1Y3QgdG8gY3JlYXRlIGEgbmV3IENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXAgZm9yIHRoZSBwaXBlLlxuICAgKiBUaGVzZSBwcm9wcyBhcmUgdXNlZCB0byBvdmVycmlkZSBkZWZhdWx0cyBzZXQgYnkgQVdTIG9yIHRoaXMgY29uc3RydWN0LiBJZiB0aGVyZSBhcmUgY29uY2VybnMgYWJvdXRcbiAgICogdGhlIGNvc3Qgb2YgbG9nIHN0b3JhZ2UsIHRoaXMgaXMgd2hlcmUgYSBjbGllbnQgY2FuIHNwZWNpZnkgYSBzaG9ydGVyIHJldGVudGlvbiBkdXJhdGlvbiAoaW4gZGF5cylcbiAgICovXG4gIHJlYWRvbmx5IHBpcGVMb2dQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcyxcbiAgLyoqXG4gICAqIFRocmVzaG9sZCBmb3Igd2hhdCBtZXNzYWdlcyB0aGUgbmV3IHBpcGUgc2VuZHMgdG8gdGhlIGxvZywgUGlwZXNMb2dMZXZlbC5PRkYsIFBpcGVzTG9nTGV2ZWwuRVJST1IsXG4gICAqIFBpcGVzTG9nTGV2ZWwuSU5GTywgUGlwZXNMb2dMZXZlbC5UUkFDRS4gVGhlIGRlZmF1bHQgaXMgSU5GTy4gU2V0dGluZyB0aGUgbGV2ZWwgdG8gT0ZGIHdpbGwgcHJldmVudFxuICAgKiBhbnkgbG9nIGdyb3VwIGZyb20gYmVpbmcgY3JlYXRlZC4gUHJvdmlkaW5nIHBpcGVQcm9wcy5sb2dDb25maWd1cmF0aW9uIHdpbGwgY29udHJvbHMgYWxsIGFzcGVjdHMgb2ZcbiAgICogbG9nZ2luZyBhbmQgYW55IGNvbnN0cnVjdCBwcm92aWRlZCBsb2cgY29uZmlndXJhdGlvbiBpcyBkaXNhYmxlZC4gSWYgcGlwZVByb3BzLmxvZ0NvbmZpZ3VyYXRpb24gaXNcbiAgICogcHJvdmlkZWQgdGhlbiBzcGVjaWZ5aW5nIHRoaXMgb3IgcGlwZUxvZ1Byb3BzIGNhdXNlcyBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogUGlwZXNMb2dMZXZlbCxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIC0gTGFtYmRhIGZ1bmN0aW9uIHRoYXQgdGhlIGNvbnN0cnVjdCB3aWxsIGNvbmZpZ3VyZSB0byBiZSBjYWxsZWQgdG8gZW5yaWNoIHRoZSBtZXNzYWdlXG4gICAqIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQuIFRoZSBjb25zdHJ1Y3Qgd2lsbCBjb25maWd1cmUgdGhlIHBpcGUgSUFNIHJvbGUgdG8gYWxsb3cgaW52b2tpbmcgdGhlXG4gICAqIGZ1bmN0aW9uIChidXQgd2lsbCBub3QgYWZmZWN0IHRoZSBJQXJvbGUgYXNzaWduZWQgdG8gdGhlIGZ1bmN0aW9uKS4gU3BlY2lmeWluZyBib3RoIHRoaXMgYW5kXG4gICAqIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgY2F1c2VzIGFuIGVycm9yLiBEZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBlbnJpY2htZW50RnVuY3Rpb24/OiBsYW1iZGEuRnVuY3Rpb24sXG4gIC8qKlxuICAgKiBPcHRpb25hbCAtIFN0ZXAgRnVuY3Rpb25zIHN0YXRlIG1hY2hpbmUgdGhhdCB0aGUgY29uc3RydWN0IHdpbGwgY29uZmlndXJlIHRvIGJlIGNhbGxlZCB0byBlbnJpY2ggdGhlIG1lc3NhZ2VcbiAgICogYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldC4gVGhlIGNvbnN0cnVjdCB3aWxsIGNvbmZpZ3VyZSB0aGUgcGlwZSBJQU0gcm9sZSB0byBhbGxvdyBleGVjdXRpbmcgdGhlIHN0YXRlXG4gICAqIG1hY2hpbmUgKGJ1dCB3aWxsIG5vdCBhZmZlY3QgdGhlIElBTSByb2xlIGFzc2lnbmVkIHRvIHRoZSBzdGF0ZSBtYWNoaW5lKS4gU3BlY2lmeWluZyBib3RoIHRoaXMgYW5kXG4gICAqIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgY2F1c2VzIGFuIGVycm9yLiBFbnJpY2htZW50IGlzIGludm9rZWQgc3luY2hyb25vdXNseSwgc28gdGhpcyBtdXN0IGJlIGFuIEVYUFJFU1NcbiAgICogc3RhdGUgbWFjaGluLiBEZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBlbnJpY2htZW50U3RhdGVNYWNoaW5lPzogc2ZuLlN0YXRlTWFjaGluZSxcblxufVxuXG5leHBvcnQgY2xhc3MgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmU7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZU1hY2hpbmVMb2dHcm91cD86IGxvZ3MuSUxvZ0dyb3VwO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWR3YXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXTtcbiAgcHVibGljIHJlYWRvbmx5IHNxc1F1ZXVlOiBzcXMuUXVldWU7XG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBzcXMuRGVhZExldHRlclF1ZXVlO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgcGlwZTogcGlwZXMuQ2ZuUGlwZTtcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVSb2xlOiBpYW0uUm9sZTtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMgY2xhc3MuXG4gICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIHRoaXMgaXMgYSBhIHNjb3BlLXVuaXF1ZSBpZC5cbiAgICogQHBhcmFtIHtTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdC5cbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgZGVmYXVsdHMuQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tTcXNQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tQaXBlc1Byb3BzKHByb3BzKTtcbiAgICBkZWZhdWx0cy5WYWxpZGF0ZUNmblBpcGVQcm9wcyh0aGlzLCBwcm9wcy5waXBlUHJvcHMpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBRdWV1ZVxuICAgIC8vIFNldHVwIHRoZSBxdWV1ZVxuICAgIGNvbnN0IGJ1aWxkUXVldWVSZXNwb25zZSA9IGRlZmF1bHRzLmJ1aWxkUXVldWUodGhpcywgJ3F1ZXVlJywge1xuICAgICAgZXhpc3RpbmdRdWV1ZU9iajogcHJvcHMuZXhpc3RpbmdRdWV1ZU9iaixcbiAgICAgIHF1ZXVlUHJvcHM6IHByb3BzLnF1ZXVlUHJvcHMsXG4gICAgICBkZXBsb3lEZWFkTGV0dGVyUXVldWU6IHByb3BzLmRlcGxveURlYWRMZXR0ZXJRdWV1ZSxcbiAgICAgIGRlYWRMZXR0ZXJRdWV1ZVByb3BzOiBwcm9wcy5kZWFkTGV0dGVyUXVldWVQcm9wcyxcbiAgICAgIG1heFJlY2VpdmVDb3VudDogcHJvcHMubWF4UmVjZWl2ZUNvdW50LFxuICAgICAgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk6IHByb3BzLmVuY3J5cHRRdWV1ZVdpdGhDbWssXG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5leGlzdGluZ1F1ZXVlRW5jcnlwdGlvbktleSxcbiAgICAgIGVuY3J5cHRpb25LZXlQcm9wczogcHJvcHMucXVldWVFbmNyeXB0aW9uS2V5UHJvcHNcbiAgICB9KTtcbiAgICB0aGlzLnNxc1F1ZXVlID0gYnVpbGRRdWV1ZVJlc3BvbnNlLnF1ZXVlO1xuICAgIHRoaXMuZGVhZExldHRlclF1ZXVlID0gYnVpbGRRdWV1ZVJlc3BvbnNlLmRscTtcblxuICAgIC8vIENyZWF0ZSB0aGUgU3RhdGUgTWFjaGluZVxuICAgIGlmICghcHJvcHMuZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmopIHtcbiAgICAgIGNvbnN0IGJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2UgPSBkZWZhdWx0cy5idWlsZFN0YXRlTWFjaGluZSh0aGlzLCBkZWZhdWx0cy5pZFBsYWNlaG9sZGVyLCB7XG4gICAgICAgIHN0YXRlTWFjaGluZVByb3BzOiBwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcyEsICAvLyBDaGVja1N0YXRlTWFjaGluZVByb3BzIGVuc3VyZXMgdGhpcyBpcyBkZWZpbmVkIGlmIGV4aXN0aW5nU3RhdGVNYWNoaW5lT2JqIGlzIG5vdFxuICAgICAgICBsb2dHcm91cFByb3BzOiBwcm9wcy5sb2dHcm91cFByb3BzLFxuICAgICAgICBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zOiBwcm9wcy5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnN0YXRlTWFjaGluZSA9IGJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2Uuc3RhdGVNYWNoaW5lO1xuICAgICAgdGhpcy5zdGF0ZU1hY2hpbmVMb2dHcm91cCA9IGJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2UubG9nR3JvdXA7XG4gICAgICB0aGlzLmNsb3Vkd2F0Y2hBbGFybXMgPSBidWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlLmNsb3VkV2F0Y2hBbGFybXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGVNYWNoaW5lID0gcHJvcHMuZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmo7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBwaXBlIHRvIGNvbm5lY3QgdGhlIHF1ZXVlIGFuZCBzdGF0ZSBtYWNoaW5lXG4gICAgY29uc3QgYnVpbGRQaXBlUmVzcG9uc2UgPSBkZWZhdWx0cy5CdWlsZFBpcGUodGhpcywgaWQsIHtcbiAgICAgIHNvdXJjZTogZGVmYXVsdHMuQ3JlYXRlU3FzU291cmNlKHRoaXMuc3FzUXVldWUsIHByb3BzLnBpcGVQcm9wcz8uc291cmNlUGFyYW1ldGVycyksXG4gICAgICB0YXJnZXQ6IGRlZmF1bHRzLkNyZWF0ZVN0YXRlTWFjaGluZVRhcmdldCh0aGlzLnN0YXRlTWFjaGluZSwgcHJvcHMucGlwZVByb3BzPy50YXJnZXRQYXJhbWV0ZXJzKSxcbiAgICAgIGVucmljaG1lbnRGdW5jdGlvbjogcHJvcHMuZW5yaWNobWVudEZ1bmN0aW9uLFxuICAgICAgZW5yaWNobWVudFN0YXRlTWFjaGluZTogcHJvcHMuZW5yaWNobWVudFN0YXRlTWFjaGluZSxcbiAgICAgIGNsaWVudFByb3BzOiBwcm9wcy5waXBlUHJvcHMsXG4gICAgICBsb2dMZXZlbDogcHJvcHMubG9nTGV2ZWwsXG4gICAgICBwaXBlTG9nUHJvcHM6IHByb3BzLnBpcGVMb2dQcm9wc1xuICAgIH0pO1xuICAgIHRoaXMucGlwZSA9IGJ1aWxkUGlwZVJlc3BvbnNlLnBpcGU7XG4gICAgdGhpcy5waXBlUm9sZSA9IGJ1aWxkUGlwZVJlc3BvbnNlLnBpcGVSb2xlO1xuICAgIGRlZmF1bHRzLmFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcyh0aGlzLnBpcGVSb2xlLCBbXCJJQU1fTk9fSU5MSU5FX1BPTElDWV9DSEVDS1wiXSk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-sqs-pipes-stepfunctions",
3
- "version": "2.99.0",
3
+ "version": "2.100.1",
4
4
  "description": "CDK Constructs for Amazon SQS to AWS Step Functions via Amazon EventBridge Pipes integration.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -45,7 +45,6 @@
45
45
  "dotnet": {
46
46
  "namespace": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
47
47
  "packageId": "Amazon.SolutionsConstructs.AWS.SqsPipesStepfunctions",
48
- "signAssembly": true,
49
48
  "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png"
50
49
  },
51
50
  "python": {
@@ -55,15 +54,15 @@
55
54
  }
56
55
  },
57
56
  "dependencies": {
58
- "@aws-solutions-constructs/core": "2.99.0",
59
- "@aws-solutions-constructs/resources": "2.99.0",
57
+ "@aws-solutions-constructs/core": "2.100.1",
58
+ "@aws-solutions-constructs/resources": "2.100.1",
60
59
  "constructs": "^10.0.0"
61
60
  },
62
61
  "devDependencies": {
63
- "@aws-cdk/integ-tests-alpha": "2.238.0-alpha.0",
62
+ "@aws-cdk/integ-tests-alpha": "2.239.0-alpha.0",
64
63
  "@types/node": "^10.3.0",
65
64
  "constructs": "^10.0.0",
66
- "aws-cdk-lib": "2.238.0"
65
+ "aws-cdk-lib": "2.239.0"
67
66
  },
68
67
  "jest": {
69
68
  "moduleFileExtensions": [
@@ -80,10 +79,10 @@
80
79
  ]
81
80
  },
82
81
  "peerDependencies": {
83
- "@aws-solutions-constructs/core": "2.99.0",
84
- "@aws-solutions-constructs/resources": "2.99.0",
82
+ "@aws-solutions-constructs/core": "2.100.1",
83
+ "@aws-solutions-constructs/resources": "2.100.1",
85
84
  "constructs": "^10.0.0",
86
- "aws-cdk-lib": "^2.238.0"
85
+ "aws-cdk-lib": "^2.239.0"
87
86
  },
88
87
  "keywords": [
89
88
  "aws",
@@ -24,7 +24,7 @@ const stack = new aws_cdk_lib_1.Stack(app, (0, core_1.generateIntegStackName)(__
24
24
  const enrichmentFunction = new lambda.Function(stack, 'enrichment-function', {
25
25
  runtime: defaults.COMMERCIAL_REGION_LAMBDA_NODE_RUNTIME,
26
26
  handler: 'index.handler',
27
- code: lambda.Code.fromAsset(`${__dirname}/lambda`)
27
+ code: new lambda.InlineCode('exports.handler = async (event) => { console.log(event); return {statusCode: 200, body: ""}; }')
28
28
  });
29
29
  const props = {
30
30
  stateMachineProps: {
@@ -37,4 +37,4 @@ new lib_1.SqsToPipesToStepfunctions(stack, 'test-sqs-pipes-states-construct', pr
37
37
  new integ_tests_alpha_1.IntegTest(stack, 'Integ', { testCases: [
38
38
  stack
39
39
  ] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuc3FzcHN0cC1sYW1iZGEtZnVuY3Rpb24tZW5yaWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLnNxc3BzdHAtbGFtYmRhLWZ1bmN0aW9uLWVucmljaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILDZDQUF5QztBQUN6QyxnQ0FBbUY7QUFDbkYseURBQW1HO0FBQ25HLGtFQUF1RDtBQUN2RCwyREFBMkQ7QUFDM0QsaURBQWlEO0FBRWpELE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsSUFBQSw2QkFBc0IsRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLElBQUEsZ0NBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUM7QUFFakMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFO0lBQzNFLE9BQU8sRUFBRSxRQUFRLENBQUMscUNBQXFDO0lBQ3ZELE9BQU8sRUFBRSxlQUFlO0lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDO0NBQ25ELENBQUMsQ0FBQztBQUVILE1BQU0sS0FBSyxHQUFtQztJQUM1QyxpQkFBaUIsRUFBRTtRQUNqQixjQUFjLEVBQUUsUUFBUSxDQUFDLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7S0FDbkY7SUFDRCxrQkFBa0I7SUFDbEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSztDQUN2QyxDQUFDO0FBRUYsSUFBSSwrQkFBeUIsQ0FBQyxLQUFLLEVBQUUsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFL0UsSUFBSSw2QkFBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUU7UUFDekMsS0FBSztLQUNOLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucywgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgU2V0Q29uc2lzdGVudEZlYXR1cmVGbGFncyB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgeyBJbnRlZ1Rlc3QgfSBmcm9tICdAYXdzLWNkay9pbnRlZy10ZXN0cy1hbHBoYSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuU2V0Q29uc2lzdGVudEZlYXR1cmVGbGFncyhzdGFjayk7XG5cbmNvbnN0IGVucmljaG1lbnRGdW5jdGlvbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssICdlbnJpY2htZW50LWZ1bmN0aW9uJywge1xuICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApXG59KTtcblxuY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAnczNzdHAtdGVzdCcpXG4gIH0sXG4gIGVucmljaG1lbnRGdW5jdGlvbixcbiAgbG9nTGV2ZWw6IGRlZmF1bHRzLlBpcGVzTG9nTGV2ZWwuVFJBQ0Vcbn07XG5cbm5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzLWNvbnN0cnVjdCcsIHByb3BzKTtcblxubmV3IEludGVnVGVzdChzdGFjaywgJ0ludGVnJywgeyB0ZXN0Q2FzZXM6IFtcbiAgc3RhY2tcbl0gfSk7XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuc3FzcHN0cC1sYW1iZGEtZnVuY3Rpb24tZW5yaWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLnNxc3BzdHAtbGFtYmRhLWZ1bmN0aW9uLWVucmljaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILDZDQUF5QztBQUN6QyxnQ0FBbUY7QUFDbkYseURBQW1HO0FBQ25HLGtFQUF1RDtBQUN2RCwyREFBMkQ7QUFDM0QsaURBQWlEO0FBRWpELE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsSUFBQSw2QkFBc0IsRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLElBQUEsZ0NBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUM7QUFFakMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFO0lBQzNFLE9BQU8sRUFBRSxRQUFRLENBQUMscUNBQXFDO0lBQ3ZELE9BQU8sRUFBRSxlQUFlO0lBQ3hCLElBQUksRUFBRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0dBQWdHLENBQUM7Q0FDOUgsQ0FBQyxDQUFDO0FBRUgsTUFBTSxLQUFLLEdBQW1DO0lBQzVDLGlCQUFpQixFQUFFO1FBQ2pCLGNBQWMsRUFBRSxRQUFRLENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztLQUNuRjtJQUNELGtCQUFrQjtJQUNsQixRQUFRLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLO0NBQ3ZDLENBQUM7QUFFRixJQUFJLCtCQUF5QixDQUFDLEtBQUssRUFBRSxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUUvRSxJQUFJLDZCQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUN6QyxLQUFLO0tBQ04sRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zLCBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lLCBTZXRDb25zaXN0ZW50RmVhdHVyZUZsYWdzIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCB7IEludGVnVGVzdCB9IGZyb20gJ0Bhd3MtY2RrL2ludGVnLXRlc3RzLWFscGhhJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5TZXRDb25zaXN0ZW50RmVhdHVyZUZsYWdzKHN0YWNrKTtcblxuY29uc3QgZW5yaWNobWVudEZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgJ2VucmljaG1lbnQtZnVuY3Rpb24nLCB7XG4gIHJ1bnRpbWU6IGRlZmF1bHRzLkNPTU1FUkNJQUxfUkVHSU9OX0xBTUJEQV9OT0RFX1JVTlRJTUUsXG4gIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgY29kZTogbmV3IGxhbWJkYS5JbmxpbmVDb2RlKCdleHBvcnRzLmhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IHsgY29uc29sZS5sb2coZXZlbnQpOyByZXR1cm4ge3N0YXR1c0NvZGU6IDIwMCwgYm9keTogXCJcIn07IH0nKVxufSk7XG5cbmNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3Mzc3RwLXRlc3QnKVxuICB9LFxuICBlbnJpY2htZW50RnVuY3Rpb24sXG4gIGxvZ0xldmVsOiBkZWZhdWx0cy5QaXBlc0xvZ0xldmVsLlRSQUNFXG59O1xuXG5uZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcy1jb25zdHJ1Y3QnLCBwcm9wcyk7XG5cbm5ldyBJbnRlZ1Rlc3Qoc3RhY2ssICdJbnRlZycsIHsgdGVzdENhc2VzOiBbXG4gIHN0YWNrXG5dIH0pO1xuIl19
@@ -1 +1 @@
1
- {"version":"48.0.0"}
1
+ {"version":"50.0.0"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "48.0.0",
2
+ "version": "50.0.0",
3
3
  "testCases": {
4
4
  "sqspstp-lambda-function-enrichment/Integ/DefaultTest": {
5
5
  "stacks": [
@@ -9,5 +9,5 @@
9
9
  "assertionStackName": "sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125"
10
10
  }
11
11
  },
12
- "minimumCliVersion": "2.1029.2"
12
+ "minimumCliVersion": "2.1105.0"
13
13
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "48.0.0",
2
+ "version": "52.0.0",
3
3
  "artifacts": {
4
4
  "sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125.assets": {
5
5
  "type": "cdk:asset-manifest",
@@ -66,7 +66,7 @@
66
66
  "validateOnSynth": false,
67
67
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
68
68
  "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
69
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9beaa02d1d3d674bf979f400ca87caf8d01b3d751d5877eaa016a67a0ad93349.json",
69
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0a283c464f09cb6a65498d30464dae5a789c577435f57c02edeeefbd3584f857.json",
70
70
  "requiresBootstrapStackVersion": 6,
71
71
  "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
72
72
  "additionalDependencies": [
@@ -108,12 +108,6 @@
108
108
  }
109
109
  }
110
110
  ],
111
- "/sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole/ImportServiceRole": [
112
- {
113
- "type": "aws:cdk:analytics:construct",
114
- "data": "*"
115
- }
116
- ],
117
111
  "/sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole/Resource": [
118
112
  {
119
113
  "type": "aws:cdk:logicalId",
@@ -152,12 +146,6 @@
152
146
  }
153
147
  }
154
148
  ],
155
- "/sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole/ImportServiceRole": [
156
- {
157
- "type": "aws:cdk:analytics:construct",
158
- "data": "*"
159
- }
160
- ],
161
149
  "/sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole/Resource": [
162
150
  {
163
151
  "type": "aws:cdk:logicalId",
@@ -321,12 +309,6 @@
321
309
  }
322
310
  }
323
311
  ],
324
- "/sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/ImportRole": [
325
- {
326
- "type": "aws:cdk:analytics:construct",
327
- "data": "*"
328
- }
329
- ],
330
312
  "/sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/Resource": [
331
313
  {
332
314
  "type": "aws:cdk:logicalId",
@@ -474,12 +456,6 @@
474
456
  }
475
457
  }
476
458
  ],
477
- "/sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct/ImportPipeRole--test-sqs-pipes-states-construct": [
478
- {
479
- "type": "aws:cdk:analytics:construct",
480
- "data": "*"
481
- }
482
- ],
483
459
  "/sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct/Resource": [
484
460
  {
485
461
  "type": "aws:cdk:logicalId",
@@ -572,6 +548,7 @@
572
548
  "module": "aws-cdk-lib",
573
549
  "flags": {
574
550
  "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": {
551
+ "userValue": true,
575
552
  "recommendedValue": true,
576
553
  "explanation": "Pass signingProfileName to CfnSigningProfile"
577
554
  },
@@ -590,6 +567,7 @@
590
567
  }
591
568
  },
592
569
  "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": {
570
+ "userValue": true,
593
571
  "recommendedValue": true,
594
572
  "explanation": "Disable implicit openListener when custom security groups are provided"
595
573
  },
@@ -855,6 +833,10 @@
855
833
  "recommendedValue": true,
856
834
  "explanation": "When enabled, nodegroupName attribute of the provisioned EKS NodeGroup will not have the cluster name prefix."
857
835
  },
836
+ "@aws-cdk/aws-eks:useNativeOidcProvider": {
837
+ "recommendedValue": true,
838
+ "explanation": "When enabled, EKS V2 clusters will use the native OIDC provider resource AWS::IAM::OIDCProvider instead of creating the OIDCProvider with a custom resource (iam.OpenIDConnectProvider)."
839
+ },
858
840
  "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": {
859
841
  "userValue": true,
860
842
  "recommendedValue": true,
@@ -887,16 +869,6 @@
887
869
  "recommendedValue": true,
888
870
  "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack."
889
871
  },
890
- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": {
891
- "userValue": false,
892
- "recommendedValue": false,
893
- "explanation": "When set to true along with canContainersAccessInstanceRole=false in ECS cluster, new updated commands will be added to UserData to block container accessing IMDS. **Applicable to Linux only. IMPORTANT: See [details.](#aws-cdkaws-ecsenableImdsBlockingDeprecatedFeature)**"
894
- },
895
- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": {
896
- "userValue": true,
897
- "recommendedValue": true,
898
- "explanation": "When set to true, CDK synth will throw exception if canContainersAccessInstanceRole is false. **IMPORTANT: See [details.](#aws-cdkaws-ecsdisableEcsImdsBlocking)**"
899
- },
900
872
  "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": {
901
873
  "userValue": true,
902
874
  "recommendedValue": true,
@@ -1042,6 +1014,7 @@
1042
1014
  "explanation": "When enabled, CDK creates and manages loggroup for the lambda function"
1043
1015
  },
1044
1016
  "@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault": {
1017
+ "userValue": true,
1045
1018
  "recommendedValue": true,
1046
1019
  "explanation": "When enabled, Network Load Balancer will be created with a security group by default."
1047
1020
  },
@@ -1053,12 +1026,25 @@
1053
1026
  }
1054
1027
  },
1055
1028
  "@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": {
1029
+ "userValue": true,
1056
1030
  "recommendedValue": true,
1057
1031
  "explanation": "When enabled, ECS patterns will generate unique target group IDs to prevent conflicts during load balancer replacement"
1032
+ },
1033
+ "@aws-cdk/aws-route53-patterns:useDistribution": {
1034
+ "userValue": true,
1035
+ "recommendedValue": true,
1036
+ "explanation": "Use the `Distribution` resource instead of `CloudFrontWebDistribution`"
1037
+ },
1038
+ "@aws-cdk/core:automaticL1Traits": {
1039
+ "recommendedValue": true,
1040
+ "explanation": "Automatically use the default L1 traits for L1 constructs`",
1041
+ "unconfiguredBehavesLike": {
1042
+ "v2": true
1043
+ }
1058
1044
  }
1059
1045
  }
1060
1046
  }
1061
1047
  }
1062
1048
  },
1063
- "minimumCliVersion": "2.1021.0"
1049
+ "minimumCliVersion": "2.1106.1"
1064
1050
  }
@@ -1,30 +1,16 @@
1
1
  {
2
- "version": "48.0.0",
2
+ "version": "50.0.0",
3
3
  "files": {
4
- "947efcc93dea6b762c3fca8bf09476c9d8fd2490afbd3e08e668328245340cb8": {
5
- "displayName": "enrichment-function/Code",
6
- "source": {
7
- "path": "asset.947efcc93dea6b762c3fca8bf09476c9d8fd2490afbd3e08e668328245340cb8",
8
- "packaging": "zip"
9
- },
10
- "destinations": {
11
- "current_account-current_region-78f7a5b7": {
12
- "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
13
- "objectKey": "947efcc93dea6b762c3fca8bf09476c9d8fd2490afbd3e08e668328245340cb8.zip",
14
- "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
15
- }
16
- }
17
- },
18
- "9beaa02d1d3d674bf979f400ca87caf8d01b3d751d5877eaa016a67a0ad93349": {
4
+ "0a283c464f09cb6a65498d30464dae5a789c577435f57c02edeeefbd3584f857": {
19
5
  "displayName": "sqspstp-lambda-function-enrichment Template",
20
6
  "source": {
21
7
  "path": "sqspstp-lambda-function-enrichment.template.json",
22
8
  "packaging": "file"
23
9
  },
24
10
  "destinations": {
25
- "current_account-current_region-aa897596": {
11
+ "current_account-current_region-0aef3735": {
26
12
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
27
- "objectKey": "9beaa02d1d3d674bf979f400ca87caf8d01b3d751d5877eaa016a67a0ad93349.json",
13
+ "objectKey": "0a283c464f09cb6a65498d30464dae5a789c577435f57c02edeeefbd3584f857.json",
28
14
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
29
15
  }
30
16
  }
@@ -35,10 +35,7 @@
35
35
  "Type": "AWS::Lambda::Function",
36
36
  "Properties": {
37
37
  "Code": {
38
- "S3Bucket": {
39
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
40
- },
41
- "S3Key": "947efcc93dea6b762c3fca8bf09476c9d8fd2490afbd3e08e668328245340cb8.zip"
38
+ "ZipFile": "exports.handler = async (event) => { console.log(event); return {statusCode: 200, body: \"\"}; }"
42
39
  },
43
40
  "Handler": "index.handler",
44
41
  "Role": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "48.0.0",
2
+ "version": "50.0.0",
3
3
  "files": {
4
4
  "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
5
  "displayName": "sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125 Template",
@@ -1 +1 @@
1
- {"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.223.0"},"children":{"sqspstp-lambda-function-enrichment":{"id":"sqspstp-lambda-function-enrichment","path":"sqspstp-lambda-function-enrichment","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"enrichment-function":{"id":"enrichment-function","path":"sqspstp-lambda-function-enrichment/enrichment-function","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"runtime":"*","handler":"*","code":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Code":{"id":"Code","path":"sqspstp-lambda-function-enrichment/enrichment-function/Code","constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.223.0"},"children":{"Stage":{"id":"Stage","path":"sqspstp-lambda-function-enrichment/enrichment-function/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"AssetBucket":{"id":"AssetBucket","path":"sqspstp-lambda-function-enrichment/enrichment-function/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.223.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/enrichment-function/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"947efcc93dea6b762c3fca8bf09476c9d8fd2490afbd3e08e668328245340cb8.zip"},"handler":"index.handler","role":{"Fn::GetAtt":["enrichmentfunctionServiceRoleF21A0515","Arn"]},"runtime":"nodejs22.x"}}}}},"lambdas3stp-test":{"id":"lambdas3stp-test","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"code":"*","runtime":"*","handler":"*"}]},"children":{"ServiceRole":{"id":"ServiceRole","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]},"children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async (event) => console.log(event)"},"handler":"index.handler","role":{"Fn::GetAtt":["lambdas3stptestServiceRoleF17BB6C7","Arn"]},"runtime":"nodejs22.x"}}}}},"tasks3stp-test":{"id":"tasks3stp-test","path":"sqspstp-lambda-function-enrichment/tasks3stp-test","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke","version":"2.223.0"}},"test-sqs-pipes-states-construct":{"id":"test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct","constructInfo":{"fqn":"@aws-solutions-constructs/aws-sqs-pipes-stepfunctions.SqsToPipesToStepfunctions","version":"2.95.1"},"children":{"queue-dlq":{"id":"queue-dlq","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"2.223.0","metadata":[{"encryption":"KMS_MANAGED","fifo":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":"alias/aws/sqs"}}},"Policy":{"id":"Policy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"2.223.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:AddPermission","sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage","sqs:RemovePermission","sqs:SendMessage","sqs:SetQueueAttributes"],"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"Sid":"QueueOwnerOnlyAccess"},{"Action":"SQS:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"queues":[{"Ref":"testsqspipesstatesconstructqueuedlq420A82FD"}]}}}}}}},"queue":{"id":"queue","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"2.223.0","metadata":[{"encryption":"KMS_MANAGED","deadLetterQueue":{"maxReceiveCount":"*","queue":"*"}}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":"alias/aws/sqs","redrivePolicy":{"deadLetterTargetArn":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"maxReceiveCount":15}}}},"Policy":{"id":"Policy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"2.223.0","metadata":[{"queues":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:AddPermission","sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage","sqs:RemovePermission","sqs:SendMessage","sqs:SetQueueAttributes"],"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"Sid":"QueueOwnerOnlyAccess"},{"Action":"SQS:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"queues":[{"Ref":"testsqspipesstatesconstructqueueA7C76715"}]}}}}}}},"StateMachineLogGroup":{"id":"StateMachineLogGroup","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachineLogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.223.0","metadata":[{"retention":9999,"logGroupName":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachineLogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"logGroupName":{"Fn::Join":["",["/aws/vendedlogs/states/constructs/sqspstp-lambda-function-enrichmenttest-sqs-pipes-states-constructStateMachineLog-",{"Fn::Select":[2,{"Fn::Split":["/",{"Ref":"AWS::StackId"}]}]}]]}}}}}},"StateMachine":{"id":"StateMachine","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions.StateMachine","version":"2.223.0","metadata":[{"logs":{"destination":"*","level":"ERROR"},"definitionBody":"*"},{"addToRolePolicy":[{}]},{"addToRolePolicy":[{}]}]},"children":{"Role":{"id":"Role","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportRole":{"id":"ImportRole","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"states.amazonaws.com"}}],"Version":"2012-10-17"}}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":[{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},":*"]]}]},{"Action":["logs:CreateLogDelivery","logs:DeleteLogDelivery","logs:DescribeLogGroups","logs:DescribeResourcePolicies","logs:GetLogDelivery","logs:ListLogDeliveries","logs:PutResourcePolicy","logs:UpdateLogDelivery"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testsqspipesstatesconstructStateMachineRoleDefaultPolicyD1BA2BF2","roles":[{"Ref":"testsqspipesstatesconstructStateMachineRoleBF97BFC0"}]}}}}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions.CfnStateMachine","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::StepFunctions::StateMachine","aws:cdk:cloudformation:props":{"definitionString":{"Fn::Join":["",["{\"StartAt\":\"tasks3stp-test\",\"States\":{\"tasks3stp-test\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"Lambda.ClientExecutionTimeoutException\",\"Lambda.ServiceException\",\"Lambda.AWSLambdaException\",\"Lambda.SdkClientException\"],\"IntervalSeconds\":2,\"MaxAttempts\":6,\"BackoffRate\":2}],\"Type\":\"Task\",\"Resource\":\"arn:",{"Ref":"AWS::Partition"},":states:::lambda:invoke\",\"Parameters\":{\"FunctionName\":\"",{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},"\",\"Payload.$\":\"$\"}}}}"]]},"loggingConfiguration":{"destinations":[{"cloudWatchLogsLogGroup":{"logGroupArn":{"Fn::GetAtt":["testsqspipesstatesconstructStateMachineLogGroupADE94F1D","Arn"]}}}],"level":"ERROR"},"roleArn":{"Fn::GetAtt":["testsqspipesstatesconstructStateMachineRoleBF97BFC0","Arn"]}}}}}},"ExecutionFailedAlarm":{"id":"ExecutionFailedAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionFailedAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.223.0","metadata":[{"metric":{"warnings":"*","warningsV2":"*"},"threshold":"*","evaluationPeriods":"*","comparisonOperator":"*","alarmDescription":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionFailedAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that failed exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionsFailed","namespace":"AWS/States","period":300,"statistic":"Sum","threshold":1}}}}},"ExecutionThrottledAlarm":{"id":"ExecutionThrottledAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionThrottledAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.223.0","metadata":[{"metric":{"warnings":"*","warningsV2":"*"},"threshold":"*","evaluationPeriods":"*","comparisonOperator":"*","alarmDescription":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionThrottledAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that throttled exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionThrottled","namespace":"AWS/States","period":300,"statistic":"Sum","threshold":1}}}}},"ExecutionAbortedAlarm":{"id":"ExecutionAbortedAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionAbortedAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.223.0","metadata":[{"metric":{"warnings":"*","warningsV2":"*"},"threshold":"*","evaluationPeriods":"*","comparisonOperator":"*","alarmDescription":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionAbortedAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that aborted exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionsAborted","namespace":"AWS/States","period":300,"statistic":"Maximum","threshold":1}}}}},"PipeRole--test-sqs-pipes-states-construct":{"id":"PipeRole--test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportPipeRole--test-sqs-pipes-states-construct":{"id":"ImportPipeRole--test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct/ImportPipeRole--test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"pipes.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"sourcePolicy","policyDocument":{"Statement":[{"Action":["sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage"],"Effect":"Allow","Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]}}],"Version":"2012-10-17"}},{"policyName":"targetPolicy","policyDocument":{"Statement":[{"Action":"states:StartExecution","Effect":"Allow","Resource":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"Version":"2012-10-17"}}]}}}}},"enrichmentpolicytest-sqs-pipes-states-construct":{"id":"enrichmentpolicytest-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/enrichmentpolicytest-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/enrichmentpolicytest-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":{"Fn::GetAtt":["enrichmentfunction84C1BE72","Arn"]}}],"Version":"2012-10-17"},"policyName":"testsqspipesstatesconstructenrichmentpolicytestsqspipesstatesconstructC752476A","roles":[{"Ref":"testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C"}]}}}}},"LogGroup-test-sqs-pipes-states-construct":{"id":"LogGroup-test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/LogGroup-test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.223.0","metadata":[{"retention":9999,"logGroupName":"*"}]},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/LogGroup-test-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"logGroupName":{"Fn::Join":["",["/aws/vendedlogs/pipes/constructs/sqspstp-lambda-function-enrichmenttest-sqs-pipes-states-constructPipesLog-",{"Fn::Select":[2,{"Fn::Split":["/",{"Ref":"AWS::StackId"}]}]}]]}}}}}},"pipe-test-sqs-pipes-states-construct":{"id":"pipe-test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/pipe-test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_pipes.CfnPipe","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Pipes::Pipe","aws:cdk:cloudformation:props":{"enrichment":{"Fn::GetAtt":["enrichmentfunction84C1BE72","Arn"]},"logConfiguration":{"cloudwatchLogsLogDestination":{"logGroupArn":{"Fn::GetAtt":["testsqspipesstatesconstructLogGrouptestsqspipesstatesconstructF827FE15","Arn"]}},"level":"TRACE"},"roleArn":{"Fn::GetAtt":["testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C","Arn"]},"source":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"sourceParameters":{},"target":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"},"targetParameters":{"stepFunctionStateMachineParameters":{"invocationType":"FIRE_AND_FORGET"}}}}}}},"Integ":{"id":"Integ","path":"sqspstp-lambda-function-enrichment/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.223.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.223.0-alpha.0"},"children":{"Default":{"id":"Default","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sqspstp-lambda-function-enrichment/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqspstp-lambda-function-enrichment/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}}
1
+ {"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.239.0"},"children":{"sqspstp-lambda-function-enrichment":{"id":"sqspstp-lambda-function-enrichment","path":"sqspstp-lambda-function-enrichment","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.239.0"},"children":{"enrichment-function":{"id":"enrichment-function","path":"sqspstp-lambda-function-enrichment/enrichment-function","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.239.0"},"children":{"ServiceRole":{"id":"ServiceRole","path":"sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/enrichment-function/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/enrichment-function/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async (event) => { console.log(event); return {statusCode: 200, body: \"\"}; }"},"handler":"index.handler","role":{"Fn::GetAtt":["enrichmentfunctionServiceRoleF21A0515","Arn"]},"runtime":"nodejs22.x"}}}}},"lambdas3stp-test":{"id":"lambdas3stp-test","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.239.0"},"children":{"ServiceRole":{"id":"ServiceRole","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/ServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/lambdas3stp-test/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"zipFile":"exports.handler = async (event) => console.log(event)"},"handler":"index.handler","role":{"Fn::GetAtt":["lambdas3stptestServiceRoleF17BB6C7","Arn"]},"runtime":"nodejs22.x"}}}}},"tasks3stp-test":{"id":"tasks3stp-test","path":"sqspstp-lambda-function-enrichment/tasks3stp-test","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke","version":"2.239.0"}},"test-sqs-pipes-states-construct":{"id":"test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct","constructInfo":{"fqn":"@aws-solutions-constructs/aws-sqs-pipes-stepfunctions.SqsToPipesToStepfunctions","version":"2.99.0"},"children":{"queue-dlq":{"id":"queue-dlq","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":"alias/aws/sqs"}}},"Policy":{"id":"Policy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue-dlq/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:AddPermission","sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage","sqs:RemovePermission","sqs:SendMessage","sqs:SetQueueAttributes"],"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"Sid":"QueueOwnerOnlyAccess"},{"Action":"SQS:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"queues":[{"Ref":"testsqspipesstatesconstructqueuedlq420A82FD"}]}}}}}}},"queue":{"id":"queue","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.Queue","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueue","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::Queue","aws:cdk:cloudformation:props":{"kmsMasterKeyId":"alias/aws/sqs","redrivePolicy":{"deadLetterTargetArn":{"Fn::GetAtt":["testsqspipesstatesconstructqueuedlq420A82FD","Arn"]},"maxReceiveCount":15}}}},"Policy":{"id":"Policy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.QueuePolicy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/queue/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sqs.CfnQueuePolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SQS::QueuePolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["sqs:AddPermission","sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage","sqs:RemovePermission","sqs:SendMessage","sqs:SetQueueAttributes"],"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"Sid":"QueueOwnerOnlyAccess"},{"Action":"SQS:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"queues":[{"Ref":"testsqspipesstatesconstructqueueA7C76715"}]}}}}}}},"StateMachineLogGroup":{"id":"StateMachineLogGroup","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachineLogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachineLogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"logGroupName":{"Fn::Join":["",["/aws/vendedlogs/states/constructs/sqspstp-lambda-function-enrichmenttest-sqs-pipes-states-constructStateMachineLog-",{"Fn::Select":[2,{"Fn::Split":["/",{"Ref":"AWS::StackId"}]}]}]]}}}}}},"StateMachine":{"id":"StateMachine","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions.StateMachine","version":"2.239.0"},"children":{"Role":{"id":"Role","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"states.amazonaws.com"}}],"Version":"2012-10-17"}}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Role/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":[{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},":*"]]}]},{"Action":["logs:CreateLogDelivery","logs:DeleteLogDelivery","logs:DescribeLogGroups","logs:DescribeResourcePolicies","logs:GetLogDelivery","logs:ListLogDeliveries","logs:PutResourcePolicy","logs:UpdateLogDelivery"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testsqspipesstatesconstructStateMachineRoleDefaultPolicyD1BA2BF2","roles":[{"Ref":"testsqspipesstatesconstructStateMachineRoleBF97BFC0"}]}}}}}}},"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/StateMachine/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_stepfunctions.CfnStateMachine","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::StepFunctions::StateMachine","aws:cdk:cloudformation:props":{"definitionString":{"Fn::Join":["",["{\"StartAt\":\"tasks3stp-test\",\"States\":{\"tasks3stp-test\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"Lambda.ClientExecutionTimeoutException\",\"Lambda.ServiceException\",\"Lambda.AWSLambdaException\",\"Lambda.SdkClientException\"],\"IntervalSeconds\":2,\"MaxAttempts\":6,\"BackoffRate\":2}],\"Type\":\"Task\",\"Resource\":\"arn:",{"Ref":"AWS::Partition"},":states:::lambda:invoke\",\"Parameters\":{\"FunctionName\":\"",{"Fn::GetAtt":["lambdas3stptest9FBDC6CE","Arn"]},"\",\"Payload.$\":\"$\"}}}}"]]},"loggingConfiguration":{"destinations":[{"cloudWatchLogsLogGroup":{"logGroupArn":{"Fn::GetAtt":["testsqspipesstatesconstructStateMachineLogGroupADE94F1D","Arn"]}}}],"level":"ERROR"},"roleArn":{"Fn::GetAtt":["testsqspipesstatesconstructStateMachineRoleBF97BFC0","Arn"]}}}}}},"ExecutionFailedAlarm":{"id":"ExecutionFailedAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionFailedAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionFailedAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that failed exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionsFailed","namespace":"AWS/States","period":300,"statistic":"Sum","threshold":1}}}}},"ExecutionThrottledAlarm":{"id":"ExecutionThrottledAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionThrottledAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionThrottledAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that throttled exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionThrottled","namespace":"AWS/States","period":300,"statistic":"Sum","threshold":1}}}}},"ExecutionAbortedAlarm":{"id":"ExecutionAbortedAlarm","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionAbortedAlarm","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.Alarm","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/ExecutionAbortedAlarm/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_cloudwatch.CfnAlarm","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::CloudWatch::Alarm","aws:cdk:cloudformation:props":{"alarmDescription":"Alarm for the number of executions that aborted exceeded the threshold of 1. ","comparisonOperator":"GreaterThanOrEqualToThreshold","dimensions":[{"name":"StateMachineArn","value":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"evaluationPeriods":1,"metricName":"ExecutionsAborted","namespace":"AWS/States","period":300,"statistic":"Maximum","threshold":1}}}}},"PipeRole--test-sqs-pipes-states-construct":{"id":"PipeRole--test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/PipeRole--test-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"pipes.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"sourcePolicy","policyDocument":{"Statement":[{"Action":["sqs:DeleteMessage","sqs:GetQueueAttributes","sqs:ReceiveMessage"],"Effect":"Allow","Resource":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]}}],"Version":"2012-10-17"}},{"policyName":"targetPolicy","policyDocument":{"Statement":[{"Action":"states:StartExecution","Effect":"Allow","Resource":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"}}],"Version":"2012-10-17"}}]}}}}},"enrichmentpolicytest-sqs-pipes-states-construct":{"id":"enrichmentpolicytest-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/enrichmentpolicytest-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/enrichmentpolicytest-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":{"Fn::GetAtt":["enrichmentfunction84C1BE72","Arn"]}}],"Version":"2012-10-17"},"policyName":"testsqspipesstatesconstructenrichmentpolicytestsqspipesstatesconstructC752476A","roles":[{"Ref":"testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C"}]}}}}},"LogGroup-test-sqs-pipes-states-construct":{"id":"LogGroup-test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/LogGroup-test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.239.0"},"children":{"Resource":{"id":"Resource","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/LogGroup-test-sqs-pipes-states-construct/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"logGroupName":{"Fn::Join":["",["/aws/vendedlogs/pipes/constructs/sqspstp-lambda-function-enrichmenttest-sqs-pipes-states-constructPipesLog-",{"Fn::Select":[2,{"Fn::Split":["/",{"Ref":"AWS::StackId"}]}]}]]}}}}}},"pipe-test-sqs-pipes-states-construct":{"id":"pipe-test-sqs-pipes-states-construct","path":"sqspstp-lambda-function-enrichment/test-sqs-pipes-states-construct/pipe-test-sqs-pipes-states-construct","constructInfo":{"fqn":"aws-cdk-lib.aws_pipes.CfnPipe","version":"2.239.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Pipes::Pipe","aws:cdk:cloudformation:props":{"enrichment":{"Fn::GetAtt":["enrichmentfunction84C1BE72","Arn"]},"logConfiguration":{"cloudwatchLogsLogDestination":{"logGroupArn":{"Fn::GetAtt":["testsqspipesstatesconstructLogGrouptestsqspipesstatesconstructF827FE15","Arn"]}},"level":"TRACE"},"roleArn":{"Fn::GetAtt":["testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C","Arn"]},"source":{"Fn::GetAtt":["testsqspipesstatesconstructqueueA7C76715","Arn"]},"sourceParameters":{},"target":{"Ref":"testsqspipesstatesconstructStateMachine29272AA9"},"targetParameters":{"stepFunctionStateMachineParameters":{"invocationType":"FIRE_AND_FORGET"}}}}}}},"Integ":{"id":"Integ","path":"sqspstp-lambda-function-enrichment/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.239.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.239.0-alpha.0"},"children":{"Default":{"id":"Default","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}},"DeployAssert":{"id":"DeployAssert","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.239.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.239.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqspstp-lambda-function-enrichment/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.239.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"sqspstp-lambda-function-enrichment/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.239.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"sqspstp-lambda-function-enrichment/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.239.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.5.1"}}}}}
@@ -16,6 +16,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
16
16
  const lib_1 = require("../lib");
17
17
  const assertions_1 = require("aws-cdk-lib/assertions");
18
18
  const sqs = require("aws-cdk-lib/aws-sqs");
19
+ const sfn = require("aws-cdk-lib/aws-stepfunctions");
19
20
  const defaults = require("@aws-solutions-constructs/core");
20
21
  const lambda = require("aws-cdk-lib/aws-lambda");
21
22
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
@@ -511,6 +512,22 @@ test('Test sending state machine props and existing state machine is an error',
511
512
  new lib_1.SqsToPipesToStepfunctions(stack, 'test-sqs-pipes-states', props);
512
513
  };
513
514
  // Assertion
514
- expect(app).toThrowError('ERROR - If existingStateMachine is provided, no other state machine props are allowed\n');
515
+ expect(app).toThrow('ERROR - If existingStateMachine is provided, no other state machine props are allowed\n');
515
516
  });
516
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLXBpcGVzLXN0ZXBmdW5jdGlvbnMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNxcy1waXBlcy1zdGVwZnVuY3Rpb25zLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILDZDQUFvQztBQUNwQyxnQ0FBbUY7QUFDbkYsdURBQXlEO0FBQ3pELDJDQUEyQztBQUUzQywyREFBMkQ7QUFDM0QsaURBQWlEO0FBQ2pELG1EQUFxRDtBQUVyRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ2xDLGdCQUFnQjtJQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLEtBQUssR0FBbUM7UUFDNUMsaUJBQWlCLEVBQUU7WUFDakIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1NBQ25GO0tBQ0YsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksK0JBQXlCLENBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sUUFBUSxHQUFHLHFCQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUV6QyxRQUFRLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUU7UUFDL0Msd0JBQXdCLEVBQUU7WUFDeEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE1BQU0sRUFBRSxnQkFBZ0I7b0JBQ3hCLE1BQU0sRUFBRSxPQUFPO29CQUNmLFNBQVMsRUFBRTt3QkFDVCxPQUFPLEVBQUUscUJBQXFCO3FCQUMvQjtpQkFDRjthQUNGO1lBQ0QsT0FBTyxFQUFFLFlB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LGNBQWMsRUFBRSxRQUFRLENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztTQUNuRjtRQUNELHVCQUF1QixFQUFFLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFnQztLQUM5RixDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSwrQkFBeUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDO0lBQ0YsWUFBWTtJQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMseUZBQXlGLENBQUMsQ0FBQztBQUN0SCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zLCBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgeyBNYXRjaCwgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbmltcG9ydCAqIGFzIHNxcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3FzJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuXG50ZXN0KCdUZXN0IGRlZmF1bHQgYmVoYXZpb3JzJywgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdwaXBlcy10ZXN0JylcbiAgICB9XG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpJQU06OlJvbGUnLCB7XG4gICAgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50OiB7XG4gICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogXCJzdHM6QXNzdW1lUm9sZVwiLFxuICAgICAgICAgIEVmZmVjdDogXCJBbGxvd1wiLFxuICAgICAgICAgIFByaW5jaXBhbDoge1xuICAgICAgICAgICAgU2VydmljZTogXCJwaXBlcy5hbWF6b25hd3MuY29tXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgIH0sXG4gICAgUG9saWNpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgXCJzcXM6UmVjZWl2ZU1lc3NhZ2VcIixcbiAgICAgICAgICAgICAgICBcInNxczpEZWxldGVNZXNzYWdlXCIsXG4gICAgICAgICAgICAgICAgXCJzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgIFJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc3F1ZXVlLipgKSxcbiAgICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgIH0sXG4gICAgICAgIFBvbGljeU5hbWU6IFwic291cmNlUG9saWN5XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEFjdGlvbjogXCJzdGF0ZXM6U3RhcnRFeGVjdXRpb25cIixcbiAgICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgIFJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNTdGF0ZU1hY2hpbmUuKmApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgIH0sXG4gICAgICAgIFBvbGljeU5hbWU6IFwidGFyZ2V0UG9saWN5XCJcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgU291cmNlOiB7XG4gICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNxdWV1ZS4qYCksXG4gICAgICAgIFwiQXJuXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFRhcmdldDoge1xuICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNTdGF0ZU1hY2hpbmUuKmApLFxuICAgIH0sXG4gIH0pO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpQaXBlczo6UGlwZScsIHtcbiAgICBMb2dDb25maWd1cmF0aW9uOiB7XG4gICAgICBDbG91ZHdhdGNoTG9nc0xvZ0Rlc3RpbmF0aW9uOiB7XG4gICAgICAgIExvZ0dyb3VwQXJuOiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc0xvZ0dyb3VwdGVzdHNxc3BpcGVzc3RhdGVzLipgKSxcbiAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBMZXZlbDogXCJJTkZPXCJcbiAgICB9XG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6TG9nczo6TG9nR3JvdXAnLCB7XG4gICAgTG9nR3JvdXBOYW1lOiB7XG4gICAgICBcIkZuOjpKb2luXCI6IFtcbiAgICAgICAgXCJcIixcbiAgICAgICAgW1xuICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJy9hd3MvdmVuZGVkbG9ncy9waXBlcy9jb25zdHJ1Y3RzJyksXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJGbjo6U2VsZWN0XCI6IFtcbiAgICAgICAgICAgICAgMixcbiAgICAgICAgICAgICAgTWF0Y2guYW55VmFsdWUoKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgXVxuICAgIH0sXG4gIH0pO1xuXG59KTtcblxudGVzdCgnVGVzdCBleGlzdGluZyBzdGF0ZSBtYWNoaW5lJywgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHN0YXRlTWFjaGluZSA9IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmUoc3RhY2ssICdzdGF0ZS1tYWNoaW5lJyk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmo6IHN0YXRlTWFjaGluZVxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcblxuICB0ZW1wbGF0ZS5yZXNvdXJjZUNvdW50SXMoXCJBV1M6OlN0ZXBGdW5jdGlvbnM6OlN0YXRlTWFjaGluZVwiLCAxKTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6SUFNOjpSb2xlJywge1xuICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDoge1xuICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBY3Rpb246IFwic3RzOkFzc3VtZVJvbGVcIixcbiAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICBQcmluY2lwYWw6IHtcbiAgICAgICAgICAgIFNlcnZpY2U6IFwicGlwZXMuYW1hem9uYXdzLmNvbVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCJcbiAgICB9LFxuICAgIFBvbGljaWVzOiBbXG4gICAgICB7XG4gICAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgIFwic3FzOlJlY2VpdmVNZXNzYWdlXCIsXG4gICAgICAgICAgICAgICAgXCJzcXM6RGVsZXRlTWVzc2FnZVwiLFxuICAgICAgICAgICAgICAgIFwic3FzOkdldFF1ZXVlQXR0cmlidXRlc1wiXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIEVmZmVjdDogXCJBbGxvd1wiLFxuICAgICAgICAgICAgICBSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNxdWV1ZS4qYCksXG4gICAgICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgICAgICB9LFxuICAgICAgICBQb2xpY3lOYW1lOiBcInNvdXJjZVBvbGljeVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFwic3RhdGVzOlN0YXJ0RXhlY3V0aW9uXCIsXG4gICAgICAgICAgICAgIEVmZmVjdDogXCJBbGxvd1wiLFxuICAgICAgICAgICAgICBSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgIFJlZjogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgc3RhdGVtYWNoaW5lLipgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgICAgICB9LFxuICAgICAgICBQb2xpY3lOYW1lOiBcInRhcmdldFBvbGljeVwiXG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIFNvdXJjZToge1xuICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgdGVzdHNxc3BpcGVzc3RhdGVzcXVldWUuKmApLFxuICAgICAgICBcIkFyblwiXG4gICAgICBdXG4gICAgfSxcbiAgICBUYXJnZXQ6IHtcbiAgICAgIFJlZjogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgc3RhdGVtYWNoaW5lLipgKSxcbiAgICB9LFxuICB9KTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgTG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgQ2xvdWR3YXRjaExvZ3NMb2dEZXN0aW5hdGlvbjoge1xuICAgICAgICBMb2dHcm91cEFybjoge1xuICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNMb2dHcm91cHRlc3RzcXNwaXBlc3N0YXRlcy4qYCksXG4gICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTGV2ZWw6IFwiSU5GT1wiXG4gICAgfVxuICB9KTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OkxvZ3M6OkxvZ0dyb3VwJywge1xuICAgIExvZ0dyb3VwTmFtZToge1xuICAgICAgXCJGbjo6Sm9pblwiOiBbXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCcvYXdzL3ZlbmRlZGxvZ3MvcGlwZXMvY29uc3RydWN0cycpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiRm46OlNlbGVjdFwiOiBbXG4gICAgICAgICAgICAgIDIsXG4gICAgICAgICAgICAgIE1hdGNoLmFueVZhbHVlKClcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIF1cbiAgICB9LFxuICB9KTtcblxufSk7XG5cbnRlc3QoJ1Rlc3QgcXVldWUgYW5kIHN0YXRlIG1hY2hpbmUgYXNwZWN0cyBvZiBjb25zdHJ1Y3QnLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ2xhbXN0cC10ZXN0JylcbiAgICB9XG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5zcXNRdWV1ZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5kZWFkTGV0dGVyUXVldWUpLnRvQmVEZWZpbmVkKCk7XG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6U1FTOjpRdWV1ZVwiLCAyKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlNRUzo6UXVldWUnLCB7XG4gICAgS21zTWFzdGVyS2V5SWQ6IFwiYWxpYXMvYXdzL3Nxc1wiXG4gIH0pO1xuXG4gIGNvbnN0IHN0YXRlTWFjaGluZSA9IGNvbnN0cnVjdC5zdGF0ZU1hY2hpbmU7XG4gIGV4cGVjdChzdGF0ZU1hY2hpbmUpLnRvQmVEZWZpbmVkKCk7XG4gIGNvbnN0IGN3QWxhcm0gPSBjb25zdHJ1Y3QuY2xvdWR3YXRjaEFsYXJtcztcbiAgZXhwZWN0KGN3QWxhcm0pLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3Quc3RhdGVNYWNoaW5lTG9nR3JvdXApLnRvQmVEZWZpbmVkKCk7XG59KTtcblxudGVzdCgnVGVzdCBleGlzdGluZyBxdWV1ZScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgZXhpc3RpbmdRdWV1ZSA9IG5ldyBzcXMuUXVldWUoc3RhY2ssICdleGlzdGluZy1xdWV1ZScsIHt9KTtcblxuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAnbGFtc3RwLXRlc3QnKVxuICAgIH0sXG4gICAgZXhpc3RpbmdRdWV1ZU9iajogZXhpc3RpbmdRdWV1ZSxcbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGV4cGVjdChjb25zdHJ1Y3Quc3FzUXVldWUucXVldWVBcm4pLnRvRXF1YWwoZXhpc3RpbmdRdWV1ZS5xdWV1ZUFybik7XG59KTtcblxudGVzdCgnVGVzdCBmaWx0ZXInLCAoKSA9PiB7XG4gIC8vIFN0YWNrXG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHRlc3RGaWx0ZXJQYXR0ZXJuID0gYHtcbiAgICBcImJvZHlcIjoge1xuICAgICAgXCJzdGF0ZVwiOiBbXCJvcGVuXCJdXG4gICAgfVxuICB9YDtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ2xhbXN0cC10ZXN0JylcbiAgICB9LFxuICAgIHBpcGVQcm9wczoge1xuICAgICAgc291cmNlUGFyYW1ldGVyczoge1xuICAgICAgICBmaWx0ZXJDcml0ZXJpYToge1xuICAgICAgICAgIGZpbHRlcnM6IFt7IHBhdHRlcm46IHRlc3RGaWx0ZXJQYXR0ZXJuIH1dLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIFNvdXJjZVBhcmFtZXRlcnM6IHtcbiAgICAgIEZpbHRlckNyaXRlcmlhOiB7XG4gICAgICAgIEZpbHRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBQYXR0ZXJuOiB0ZXN0RmlsdGVyUGF0dGVyblxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbn0pO1xuXG50ZXN0KCdUZXN0IHRhcmdldCBwYXJhbWV0ZXJzPycsICgpID0+IHtcbiAgY29uc3QgdGVzdE1lc3NhZ2VHcm91cElkID0gXCJ0ZXN0LWlkXCI7XG4gIC8vIFN0YWNrXG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdsYW1zdHAtdGVzdCcpXG4gICAgfSxcbiAgICBwaXBlUHJvcHM6IHtcbiAgICAgIC8vIFdlIHJlYWxpemUgdGhhdCB0aGlzIHdvdWxkIG5vdCBsYXVuY2ggYmVjYXVzZSB0aGUgdGFyZ2V0IGlzIG5vdFxuICAgICAgLy8gYSBxdWV1ZSwgYnV0IGl0IHRlc3RzIHRoZSBmdW5jdGlvbmFsaXR5XG4gICAgICB0YXJnZXRQYXJhbWV0ZXJzOiB7XG4gICAgICAgIHNxc1F1ZXVlUGFyYW1ldGVyczoge1xuICAgICAgICAgIG1lc3NhZ2VHcm91cElkOiB0ZXN0TWVzc2FnZUdyb3VwSWQsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIFRhcmdldFBhcmFtZXRlcnM6IHtcbiAgICAgIFNxc1F1ZXVlUGFyYW1ldGVyczoge1xuICAgICAgICBNZXNzYWdlR3JvdXBJZDogdGVzdE1lc3NhZ2VHcm91cElkLFxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59KTtcblxudGVzdCgndGVzdCBzdGF0ZSBtYWNoaW5lIGVucmljaG1lbnQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgPSBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lKHN0YWNrLCAnZW5yaWNobWVudC1zdGF0ZS1tYWNoaW5lJyk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgZW5yaWNobWVudFN0YXRlTWFjaGluZSxcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH1cbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0JywgcHJvcHMpO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgLy8gTG9vayBmb3IgYWRkaXRpb25hbCBlbnJpY2htZW50IHBlcm1pc2lvblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6SUFNOjpQb2xpY3knLCB7XG4gICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgQWN0aW9uOiBcInN0YXRlczpTdGFydFN5bmNFeGVjdXRpb25cIixcbiAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICBSZXNvdXJjZToge1xuICAgICAgICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCdlbnJpY2htZW50c3RhdGVtYWNoaW5lLionKSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgIH0sXG4gICAgUG9saWN5TmFtZTogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgdGVzdGVucmljaG1lbnRwb2xpY3l0ZXN0LipgKSxcbiAgICBSb2xlczogW1xuICAgICAge1xuICAgICAgICBSZWY6IE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RQaXBlUm9sZXRlc3QuKmApXG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIEVucmljaG1lbnQ6IHtcbiAgICAgIFJlZjogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChcImVucmljaG1lbnRzdGF0ZW1hY2hpbmUuKlwiKVxuICAgIH0sXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3QgbGFtYmRhIGZ1bmN0aW9uIGVucmljaG1lbnQnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IGVucmljaG1lbnRGdW5jdGlvbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssICdlbnJpY2htZW50LWZ1bmN0aW9uJywge1xuICAgIHJ1bnRpbWU6IGRlZmF1bHRzLkNPTU1FUkNJQUxfUkVHSU9OX0xBTUJEQV9OT0RFX1JVTlRJTUUsXG4gICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21JbmxpbmUoYGV4cG9ydHMuaGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge3JldHVybjt9YClcbiAgfSk7XG5cbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgZW5yaWNobWVudEZ1bmN0aW9uXG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAnZW5yaWNobWVudC1mdW5jdGlvbi10ZXN0JywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpJQU06OlBvbGljeScsIHtcbiAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBY3Rpb246IFwibGFtYmRhOkludm9rZUZ1bmN0aW9uXCIsXG4gICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgUmVzb3VyY2U6IHtcbiAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ2VucmljaG1lbnRmdW5jdGlvbi4qJyksXG4gICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgIH0sXG4gICAgUG9saWN5TmFtZTogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgZW5yaWNobWVudGZ1bmN0aW9udGVzdGVucmljaG1lbnRwb2xpY3llbnJpY2htZW50ZnVuY3Rpb250ZXN0LipgKSxcbiAgICBSb2xlczogW1xuICAgICAge1xuICAgICAgICBSZWY6IE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYGVucmljaG1lbnRmdW5jdGlvbnRlc3RQaXBlUm9sZWVucmljaG1lbnRmdW5jdGlvbnRlc3QuKmApXG4gICAgICB9XG4gICAgXVxuICB9KTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIEVucmljaG1lbnQ6IHtcbiAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoXCJlbnJpY2htZW50ZnVuY3Rpb24uKlwiKSxcbiAgICAgICAgXCJBcm5cIlxuICAgICAgXVxuICAgIH0sXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3QgY3VzdG9tIGxvZyBsZXZlbCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgbG9nTGV2ZWw6IGRlZmF1bHRzLlBpcGVzTG9nTGV2ZWwuVFJBQ0VcbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICBleHBlY3QoY29uc3RydWN0LnBpcGUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZVJvbGUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIExvZ0NvbmZpZ3VyYXRpb246IHtcbiAgICAgIExldmVsOiBcIlRSQUNFXCIsXG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCdUZXN0IGxvZyBsZXZlbCBPRkYnLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdwaXBlcy10ZXN0JylcbiAgICB9LFxuICAgIGxvZ0xldmVsOiBkZWZhdWx0cy5QaXBlc0xvZ0xldmVsLk9GRlxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcblxuICAvLyBTaG91bGQgYmUgbm8gTG9nQ29uZmlndXJhdGlvblxuICB0ZW1wbGF0ZS5yZXNvdXJjZVByb3BlcnRpZXNDb3VudElzKCdBV1M6OlBpcGVzOjpQaXBlJywgeyBMb2dDb25maWd1cmF0aW9uOiB7fX0sIDApO1xuXG4gIC8vIE9uZSBsb2cgZ3JvdXAgZm9yIHRoZSBzdGF0ZSBtYWNoaW5lLCBub25lIGZvciB0aGUgcGlwZVxuICB0ZW1wbGF0ZS5yZXNvdXJjZUNvdW50SXMoJ0FXUzo6TG9nczo6TG9nR3JvdXAnLCAxKTtcbn0pO1xuXG50ZXN0KCdUZXN0IGN1c3RvbSBwaXBlIGxvZyBwcm9wcycsICgpID0+IHtcbiAgY29uc3QgdGVzdFJldGVudGlvbiA9IFJldGVudGlvbkRheXMuRk9VUl9NT05USFM7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdwaXBlcy10ZXN0JylcbiAgICB9LFxuICAgIHBpcGVMb2dQcm9wczoge1xuICAgICAgcmV0ZW50aW9uOiB0ZXN0UmV0ZW50aW9uXG4gICAgfVxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OkxvZ3M6OkxvZ0dyb3VwJywge1xuICAgIFJldGVudGlvbkluRGF5czogMTIwLFxuICB9KTtcbn0pO1xuXG50ZXN0KCdUZXN0IHNldHRpbmcgc291cmNlIHBhcmFtZXRlcnMgbGlrZSBiYXRjaFNpemUnLCAoKSA9PiB7XG4gIGNvbnN0IHRlc3RCYXRjaFNpemUgPSAxMjM7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdwaXBlcy10ZXN0JylcbiAgICB9LFxuICAgIHBpcGVQcm9wczoge1xuICAgICAgc291cmNlUGFyYW1ldGVyczoge1xuICAgICAgICBzcXNRdWV1ZVBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBiYXRjaFNpemU6IHRlc3RCYXRjaFNpemUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIFNvdXJjZVBhcmFtZXRlcnM6IHtcbiAgICAgIFNxc1F1ZXVlUGFyYW1ldGVyczoge1xuICAgICAgICBCYXRjaFNpemU6IHRlc3RCYXRjaFNpemUsXG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCdUZXN0IHNlbmRpbmcgc3RhdGUgbWFjaGluZSBwcm9wcyBhbmQgZXhpc3Rpbmcgc3RhdGUgbWFjaGluZSBpcyBhbiBlcnJvcicsICgpID0+IHtcbiAgLy8gVGhlc2UgYXJlIGFsbCB0ZXN0ZWQgaW4gQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcywgc28gdGhpcyBpcyBqdXN0IGNoZWNraW5nIHRoYXQgQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyBpcyBjYWxsZWQuXG5cbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgZXhpc3RpbmdTdGF0ZU1hY2hpbmVPYmo6IHsgcHJldGVuZDogXCJJJ20gQSBTdGF0ZSBNYWNoaW5lIDotKVwifSBhcyB1bmtub3duIGFzIHNmbi5TdGF0ZU1hY2hpbmUsXG4gIH07XG5cbiAgY29uc3QgYXBwID0gKCkgPT4ge1xuICAgIG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICB9O1xuICAvLyBBc3NlcnRpb25cbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKCdFUlJPUiAtIElmIGV4aXN0aW5nU3RhdGVNYWNoaW5lIGlzIHByb3ZpZGVkLCBubyBvdGhlciBzdGF0ZSBtYWNoaW5lIHByb3BzIGFyZSBhbGxvd2VkXFxuJyk7XG59KTtcbiJdfQ==
517
+ test('Test that ValidateCfnPipeProps() is being called', () => {
518
+ const stack = new aws_cdk_lib_1.Stack();
519
+ const startState = new sfn.Pass(stack, 'StartState');
520
+ const props = {
521
+ stateMachineProps: {
522
+ definition: startState
523
+ },
524
+ pipeProps: {
525
+ invalidProperty: true
526
+ }
527
+ };
528
+ const app = () => {
529
+ new lib_1.SqsToPipesToStepfunctions(stack, 'test-construct', props);
530
+ };
531
+ expect(app).toThrow(/ERROR - invalidProperty is not a valid property of CfnPipeProps/);
532
+ });
533
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLXBpcGVzLXN0ZXBmdW5jdGlvbnMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNxcy1waXBlcy1zdGVwZnVuY3Rpb25zLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILDZDQUFvQztBQUNwQyxnQ0FBbUY7QUFDbkYsdURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQyxxREFBcUQ7QUFDckQsMkRBQTJEO0FBQzNELGlEQUFpRDtBQUNqRCxtREFBcUQ7QUFFckQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUNsQyxnQkFBZ0I7SUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQW1DO1FBQzVDLGlCQUFpQixFQUFFO1lBQ2pCLGNBQWMsRUFBRSxRQUFRLENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztTQUNuRjtLQUNGLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RixNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFekMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFO1FBQy9DLHdCQUF3QixFQUFFO1lBQ3hCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxNQUFNLEVBQUUsZ0JBQWdCO29CQUN4QixNQUFNLEVBQUUsT0FBTztvQkFDZixTQUFTLEVBQUU7d0JBQ1QsT0FBTyxFQUFFLHFCQUFxQjtxQkFDL0I7aUJBQ0Y7YUFDRjtZQUNE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aUIsRUFBRTtZQUNqQixjQUFjLEVBQUUsUUFBUSxDQUFDLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7U0FDbkY7UUFDRCx1QkFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBZ0M7S0FDOUYsQ0FBQztJQUVGLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRTtRQUNmLElBQUksK0JBQXlCLENBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztJQUNGLFlBQVk7SUFDWixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLHlGQUF5RixDQUFDLENBQUM7QUFDakgsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO0lBQzVELE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckQsTUFBTSxLQUFLLEdBQW1DO1FBQzVDLGlCQUFpQixFQUFFO1lBQ2pCLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsZUFBZSxFQUFFLElBQUk7U0FDdEI7S0FDRixDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSwrQkFBeUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO0FBQ3pGLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMsIFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCB7IE1hdGNoLCBUZW1wbGF0ZSB9IGZyb20gJ2F3cy1jZGstbGliL2Fzc2VydGlvbnMnO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5cbnRlc3QoJ1Rlc3QgZGVmYXVsdCBiZWhhdmlvcnMnLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH1cbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICBleHBlY3QoY29uc3RydWN0LnBpcGUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZVJvbGUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OklBTTo6Um9sZScsIHtcbiAgICBBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgQWN0aW9uOiBcInN0czpBc3N1bWVSb2xlXCIsXG4gICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgUHJpbmNpcGFsOiB7XG4gICAgICAgICAgICBTZXJ2aWNlOiBcInBpcGVzLmFtYXpvbmF3cy5jb21cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgfSxcbiAgICBQb2xpY2llczogW1xuICAgICAge1xuICAgICAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICBcInNxczpSZWNlaXZlTWVzc2FnZVwiLFxuICAgICAgICAgICAgICAgIFwic3FzOkRlbGV0ZU1lc3NhZ2VcIixcbiAgICAgICAgICAgICAgICBcInNxczpHZXRRdWV1ZUF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgdGVzdHNxc3BpcGVzc3RhdGVzcXVldWUuKmApLFxuICAgICAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgfSxcbiAgICAgICAgUG9saWN5TmFtZTogXCJzb3VyY2VQb2xpY3lcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBcInN0YXRlczpTdGFydEV4ZWN1dGlvblwiLFxuICAgICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICBSZWY6IE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc1N0YXRlTWFjaGluZS4qYClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgfSxcbiAgICAgICAgUG9saWN5TmFtZTogXCJ0YXJnZXRQb2xpY3lcIlxuICAgICAgfVxuICAgIF1cbiAgfSk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpQaXBlczo6UGlwZScsIHtcbiAgICBTb3VyY2U6IHtcbiAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc3F1ZXVlLipgKSxcbiAgICAgICAgXCJBcm5cIlxuICAgICAgXVxuICAgIH0sXG4gICAgVGFyZ2V0OiB7XG4gICAgICBSZWY6IE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc1N0YXRlTWFjaGluZS4qYCksXG4gICAgfSxcbiAgfSk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OlBpcGVzOjpQaXBlJywge1xuICAgIExvZ0NvbmZpZ3VyYXRpb246IHtcbiAgICAgIENsb3Vkd2F0Y2hMb2dzTG9nRGVzdGluYXRpb246IHtcbiAgICAgICAgTG9nR3JvdXBBcm46IHtcbiAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgdGVzdHNxc3BpcGVzc3RhdGVzTG9nR3JvdXB0ZXN0c3FzcGlwZXNzdGF0ZXMuKmApLFxuICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIExldmVsOiBcIklORk9cIlxuICAgIH1cbiAgfSk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpMb2dzOjpMb2dHcm91cCcsIHtcbiAgICBMb2dHcm91cE5hbWU6IHtcbiAgICAgIFwiRm46OkpvaW5cIjogW1xuICAgICAgICBcIlwiLFxuICAgICAgICBbXG4gICAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cCgnL2F3cy92ZW5kZWRsb2dzL3BpcGVzL2NvbnN0cnVjdHMnKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIkZuOjpTZWxlY3RcIjogW1xuICAgICAgICAgICAgICAyLFxuICAgICAgICAgICAgICBNYXRjaC5hbnlWYWx1ZSgpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICBdXG4gICAgfSxcbiAgfSk7XG5cbn0pO1xuXG50ZXN0KCdUZXN0IGV4aXN0aW5nIHN0YXRlIG1hY2hpbmUnLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3Qgc3RhdGVNYWNoaW5lID0gZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZShzdGFjaywgJ3N0YXRlLW1hY2hpbmUnKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBleGlzdGluZ1N0YXRlTWFjaGluZU9iajogc3RhdGVNYWNoaW5lXG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuXG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcyhcIkFXUzo6U3RlcEZ1bmN0aW9uczo6U3RhdGVNYWNoaW5lXCIsIDEpO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpJQU06OlJvbGUnLCB7XG4gICAgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50OiB7XG4gICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogXCJzdHM6QXNzdW1lUm9sZVwiLFxuICAgICAgICAgIEVmZmVjdDogXCJBbGxvd1wiLFxuICAgICAgICAgIFByaW5jaXBhbDoge1xuICAgICAgICAgICAgU2VydmljZTogXCJwaXBlcy5hbWF6b25hd3MuY29tXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBWZXJzaW9uOiBcIjIwMTItMTAtMTdcIlxuICAgIH0sXG4gICAgUG9saWNpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgXCJzcXM6UmVjZWl2ZU1lc3NhZ2VcIixcbiAgICAgICAgICAgICAgICBcInNxczpEZWxldGVNZXNzYWdlXCIsXG4gICAgICAgICAgICAgICAgXCJzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgIFJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc3F1ZXVlLipgKSxcbiAgICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgIH0sXG4gICAgICAgIFBvbGljeU5hbWU6IFwic291cmNlUG9saWN5XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEFjdGlvbjogXCJzdGF0ZXM6U3RhcnRFeGVjdXRpb25cIixcbiAgICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICAgIFJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGBzdGF0ZW1hY2hpbmUuKmApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgICAgIH0sXG4gICAgICAgIFBvbGljeU5hbWU6IFwidGFyZ2V0UG9saWN5XCJcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgU291cmNlOiB7XG4gICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0c3FzcGlwZXNzdGF0ZXNxdWV1ZS4qYCksXG4gICAgICAgIFwiQXJuXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFRhcmdldDoge1xuICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGBzdGF0ZW1hY2hpbmUuKmApLFxuICAgIH0sXG4gIH0pO1xuXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpQaXBlczo6UGlwZScsIHtcbiAgICBMb2dDb25maWd1cmF0aW9uOiB7XG4gICAgICBDbG91ZHdhdGNoTG9nc0xvZ0Rlc3RpbmF0aW9uOiB7XG4gICAgICAgIExvZ0dyb3VwQXJuOiB7XG4gICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoYHRlc3RzcXNwaXBlc3N0YXRlc0xvZ0dyb3VwdGVzdHNxc3BpcGVzc3RhdGVzLipgKSxcbiAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBMZXZlbDogXCJJTkZPXCJcbiAgICB9XG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6TG9nczo6TG9nR3JvdXAnLCB7XG4gICAgTG9nR3JvdXBOYW1lOiB7XG4gICAgICBcIkZuOjpKb2luXCI6IFtcbiAgICAgICAgXCJcIixcbiAgICAgICAgW1xuICAgICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJy9hd3MvdmVuZGVkbG9ncy9waXBlcy9jb25zdHJ1Y3RzJyksXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJGbjo6U2VsZWN0XCI6IFtcbiAgICAgICAgICAgICAgMixcbiAgICAgICAgICAgICAgTWF0Y2guYW55VmFsdWUoKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgXVxuICAgIH0sXG4gIH0pO1xuXG59KTtcblxudGVzdCgnVGVzdCBxdWV1ZSBhbmQgc3RhdGUgbWFjaGluZSBhc3BlY3RzIG9mIGNvbnN0cnVjdCcsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAnbGFtc3RwLXRlc3QnKVxuICAgIH1cbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICBleHBlY3QoY29uc3RydWN0LnNxc1F1ZXVlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LmRlYWRMZXR0ZXJRdWV1ZSkudG9CZURlZmluZWQoKTtcbiAgdGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFwiQVdTOjpTUVM6OlF1ZXVlXCIsIDIpO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6U1FTOjpRdWV1ZScsIHtcbiAgICBLbXNNYXN0ZXJLZXlJZDogXCJhbGlhcy9hd3Mvc3FzXCJcbiAgfSk7XG5cbiAgY29uc3Qgc3RhdGVNYWNoaW5lID0gY29uc3RydWN0LnN0YXRlTWFjaGluZTtcbiAgZXhwZWN0KHN0YXRlTWFjaGluZSkudG9CZURlZmluZWQoKTtcbiAgY29uc3QgY3dBbGFybSA9IGNvbnN0cnVjdC5jbG91ZHdhdGNoQWxhcm1zO1xuICBleHBlY3QoY3dBbGFybSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5zdGF0ZU1hY2hpbmVMb2dHcm91cCkudG9CZURlZmluZWQoKTtcbn0pO1xuXG50ZXN0KCdUZXN0IGV4aXN0aW5nIHF1ZXVlJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBleGlzdGluZ1F1ZXVlID0gbmV3IHNxcy5RdWV1ZShzdGFjaywgJ2V4aXN0aW5nLXF1ZXVlJywge30pO1xuXG4gIGNvbnN0IHByb3BzOiBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zUHJvcHMgPSB7XG4gICAgc3RhdGVNYWNoaW5lUHJvcHM6IHtcbiAgICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc3RhY2ssICdsYW1zdHAtdGVzdCcpXG4gICAgfSxcbiAgICBleGlzdGluZ1F1ZXVlT2JqOiBleGlzdGluZ1F1ZXVlLFxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5zcXNRdWV1ZS5xdWV1ZUFybikudG9FcXVhbChleGlzdGluZ1F1ZXVlLnF1ZXVlQXJuKTtcbn0pO1xuXG50ZXN0KCdUZXN0IGZpbHRlcicsICgpID0+IHtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgdGVzdEZpbHRlclBhdHRlcm4gPSBge1xuICAgIFwiYm9keVwiOiB7XG4gICAgICBcInN0YXRlXCI6IFtcIm9wZW5cIl1cbiAgICB9XG4gIH1gO1xuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAnbGFtc3RwLXRlc3QnKVxuICAgIH0sXG4gICAgcGlwZVByb3BzOiB7XG4gICAgICBzb3VyY2VQYXJhbWV0ZXJzOiB7XG4gICAgICAgIGZpbHRlckNyaXRlcmlhOiB7XG4gICAgICAgICAgZmlsdGVyczogW3sgcGF0dGVybjogdGVzdEZpbHRlclBhdHRlcm4gfV0sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICB9O1xuICBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgU291cmNlUGFyYW1ldGVyczoge1xuICAgICAgRmlsdGVyQ3JpdGVyaWE6IHtcbiAgICAgICAgRmlsdGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFBhdHRlcm46IHRlc3RGaWx0ZXJQYXR0ZXJuXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICB9KTtcblxufSk7XG5cbnRlc3QoJ1Rlc3QgdGFyZ2V0IHBhcmFtZXRlcnM/JywgKCkgPT4ge1xuICBjb25zdCB0ZXN0TWVzc2FnZUdyb3VwSWQgPSBcInRlc3QtaWRcIjtcbiAgLy8gU3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ2xhbXN0cC10ZXN0JylcbiAgICB9LFxuICAgIHBpcGVQcm9wczoge1xuICAgICAgLy8gV2UgcmVhbGl6ZSB0aGF0IHRoaXMgd291bGQgbm90IGxhdW5jaCBiZWNhdXNlIHRoZSB0YXJnZXQgaXMgbm90XG4gICAgICAvLyBhIHF1ZXVlLCBidXQgaXQgdGVzdHMgdGhlIGZ1bmN0aW9uYWxpdHlcbiAgICAgIHRhcmdldFBhcmFtZXRlcnM6IHtcbiAgICAgICAgc3FzUXVldWVQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgbWVzc2FnZUdyb3VwSWQ6IHRlc3RNZXNzYWdlR3JvdXBJZCxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgVGFyZ2V0UGFyYW1ldGVyczoge1xuICAgICAgU3FzUXVldWVQYXJhbWV0ZXJzOiB7XG4gICAgICAgIE1lc3NhZ2VHcm91cElkOiB0ZXN0TWVzc2FnZUdyb3VwSWQsXG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG50ZXN0KCd0ZXN0IHN0YXRlIG1hY2hpbmUgZW5yaWNobWVudCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgZW5yaWNobWVudFN0YXRlTWFjaGluZSA9IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmUoc3RhY2ssICdlbnJpY2htZW50LXN0YXRlLW1hY2hpbmUnKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBlbnJpY2htZW50U3RhdGVNYWNoaW5lLFxuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAncGlwZXMtdGVzdCcpXG4gICAgfVxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3QnLCBwcm9wcyk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuXG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICAvLyBMb29rIGZvciBhZGRpdGlvbmFsIGVucmljaG1lbnQgcGVybWlzaW9uXG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpJQU06OlBvbGljeScsIHtcbiAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBY3Rpb246IFwic3RhdGVzOlN0YXJ0U3luY0V4ZWN1dGlvblwiLFxuICAgICAgICAgIEVmZmVjdDogXCJBbGxvd1wiLFxuICAgICAgICAgIFJlc291cmNlOiB7XG4gICAgICAgICAgICBSZWY6IE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ2VucmljaG1lbnRzdGF0ZW1hY2hpbmUuKicpLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgfSxcbiAgICBQb2xpY3lOYW1lOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGB0ZXN0ZW5yaWNobWVudHBvbGljeXRlc3QuKmApLFxuICAgIFJvbGVzOiBbXG4gICAgICB7XG4gICAgICAgIFJlZjogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgdGVzdFBpcGVSb2xldGVzdC4qYClcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgRW5yaWNobWVudDoge1xuICAgICAgUmVmOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKFwiZW5yaWNobWVudHN0YXRlbWFjaGluZS4qXCIpXG4gICAgfSxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCBsYW1iZGEgZnVuY3Rpb24gZW5yaWNobWVudCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgZW5yaWNobWVudEZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgJ2VucmljaG1lbnQtZnVuY3Rpb24nLCB7XG4gICAgcnVudGltZTogZGVmYXVsdHMuQ09NTUVSQ0lBTF9SRUdJT05fTEFNQkRBX05PREVfUlVOVElNRSxcbiAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUlubGluZShgZXhwb3J0cy5oYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7cmV0dXJuO31gKVxuICB9KTtcblxuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAncGlwZXMtdGVzdCcpXG4gICAgfSxcbiAgICBlbnJpY2htZW50RnVuY3Rpb25cbiAgfTtcbiAgY29uc3QgY29uc3RydWN0ID0gbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICdlbnJpY2htZW50LWZ1bmN0aW9uLXRlc3QnLCBwcm9wcyk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuICBleHBlY3QoY29uc3RydWN0LnBpcGUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZVJvbGUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6OklBTTo6UG9saWN5Jywge1xuICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogXCJsYW1iZGE6SW52b2tlRnVuY3Rpb25cIixcbiAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICBSZXNvdXJjZToge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cCgnZW5yaWNobWVudGZ1bmN0aW9uLionKSxcbiAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFZlcnNpb246IFwiMjAxMi0xMC0xN1wiXG4gICAgfSxcbiAgICBQb2xpY3lOYW1lOiBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKGBlbnJpY2htZW50ZnVuY3Rpb250ZXN0ZW5yaWNobWVudHBvbGljeWVucmljaG1lbnRmdW5jdGlvbnRlc3QuKmApLFxuICAgIFJvbGVzOiBbXG4gICAgICB7XG4gICAgICAgIFJlZjogTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChgZW5yaWNobWVudGZ1bmN0aW9udGVzdFBpcGVSb2xlZW5yaWNobWVudGZ1bmN0aW9udGVzdC4qYClcbiAgICAgIH1cbiAgICBdXG4gIH0pO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgRW5yaWNobWVudDoge1xuICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgTWF0Y2guc3RyaW5nTGlrZVJlZ2V4cChcImVucmljaG1lbnRmdW5jdGlvbi4qXCIpLFxuICAgICAgICBcIkFyblwiXG4gICAgICBdXG4gICAgfSxcbiAgfSk7XG59KTtcblxudGVzdCgnVGVzdCBjdXN0b20gbG9nIGxldmVsJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAncGlwZXMtdGVzdCcpXG4gICAgfSxcbiAgICBsb2dMZXZlbDogZGVmYXVsdHMuUGlwZXNMb2dMZXZlbC5UUkFDRVxuICB9O1xuICBjb25zdCBjb25zdHJ1Y3QgPSBuZXcgU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9ucyhzdGFjaywgJ3Rlc3Qtc3FzLXBpcGVzLXN0YXRlcycsIHByb3BzKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4gIGV4cGVjdChjb25zdHJ1Y3QucGlwZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlUm9sZSkudG9CZURlZmluZWQoKTtcblxuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgTG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgTGV2ZWw6IFwiVFJBQ0VcIixcbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3QgbG9nIGxldmVsIE9GRicsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgbG9nTGV2ZWw6IGRlZmF1bHRzLlBpcGVzTG9nTGV2ZWwuT0ZGXG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuXG4gIC8vIFNob3VsZCBiZSBubyBMb2dDb25maWd1cmF0aW9uXG4gIHRlbXBsYXRlLnJlc291cmNlUHJvcGVydGllc0NvdW50SXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7IExvZ0NvbmZpZ3VyYXRpb246IHt9fSwgMCk7XG5cbiAgLy8gT25lIGxvZyBncm91cCBmb3IgdGhlIHN0YXRlIG1hY2hpbmUsIG5vbmUgZm9yIHRoZSBwaXBlXG4gIHRlbXBsYXRlLnJlc291cmNlQ291bnRJcygnQVdTOjpMb2dzOjpMb2dHcm91cCcsIDEpO1xufSk7XG5cbnRlc3QoJ1Rlc3QgY3VzdG9tIHBpcGUgbG9nIHByb3BzJywgKCkgPT4ge1xuICBjb25zdCB0ZXN0UmV0ZW50aW9uID0gUmV0ZW50aW9uRGF5cy5GT1VSX01PTlRIUztcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgcGlwZUxvZ1Byb3BzOiB7XG4gICAgICByZXRlbnRpb246IHRlc3RSZXRlbnRpb25cbiAgICB9XG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6TG9nczo6TG9nR3JvdXAnLCB7XG4gICAgUmV0ZW50aW9uSW5EYXlzOiAxMjAsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgc2V0dGluZyBzb3VyY2UgcGFyYW1ldGVycyBsaWtlIGJhdGNoU2l6ZScsICgpID0+IHtcbiAgY29uc3QgdGVzdEJhdGNoU2l6ZSA9IDEyMztcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgY29uc3QgcHJvcHM6IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnNQcm9wcyA9IHtcbiAgICBzdGF0ZU1hY2hpbmVQcm9wczoge1xuICAgICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzdGFjaywgJ3BpcGVzLXRlc3QnKVxuICAgIH0sXG4gICAgcGlwZVByb3BzOiB7XG4gICAgICBzb3VyY2VQYXJhbWV0ZXJzOiB7XG4gICAgICAgIHNxc1F1ZXVlUGFyYW1ldGVyczoge1xuICAgICAgICAgIGJhdGNoU2l6ZTogdGVzdEJhdGNoU2l6ZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIGNvbnN0IGNvbnN0cnVjdCA9IG5ldyBTcXNUb1BpcGVzVG9TdGVwZnVuY3Rpb25zKHN0YWNrLCAndGVzdC1zcXMtcGlwZXMtc3RhdGVzJywgcHJvcHMpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgZXhwZWN0KGNvbnN0cnVjdC5waXBlKS50b0JlRGVmaW5lZCgpO1xuICBleHBlY3QoY29uc3RydWN0LnBpcGVSb2xlKS50b0JlRGVmaW5lZCgpO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6UGlwZXM6OlBpcGUnLCB7XG4gICAgU291cmNlUGFyYW1ldGVyczoge1xuICAgICAgU3FzUXVldWVQYXJhbWV0ZXJzOiB7XG4gICAgICAgIEJhdGNoU2l6ZTogdGVzdEJhdGNoU2l6ZSxcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG5cbnRlc3QoJ1Rlc3Qgc2VuZGluZyBzdGF0ZSBtYWNoaW5lIHByb3BzIGFuZCBleGlzdGluZyBzdGF0ZSBtYWNoaW5lIGlzIGFuIGVycm9yJywgKCkgPT4ge1xuICAvLyBUaGVzZSBhcmUgYWxsIHRlc3RlZCBpbiBDaGVja1N0YXRlTWFjaGluZVByb3BzLCBzbyB0aGlzIGlzIGp1c3QgY2hlY2tpbmcgdGhhdCBDaGVja1N0YXRlTWFjaGluZVByb3BzIGlzIGNhbGxlZC5cblxuICAvLyBTdGFja1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uQm9keTogZGVmYXVsdHMuQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHN0YWNrLCAncGlwZXMtdGVzdCcpXG4gICAgfSxcbiAgICBleGlzdGluZ1N0YXRlTWFjaGluZU9iajogeyBwcmV0ZW5kOiBcIkknbSBBIFN0YXRlIE1hY2hpbmUgOi0pXCJ9IGFzIHVua25vd24gYXMgc2ZuLlN0YXRlTWFjaGluZSxcbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LXNxcy1waXBlcy1zdGF0ZXMnLCBwcm9wcyk7XG4gIH07XG4gIC8vIEFzc2VydGlvblxuICBleHBlY3QoYXBwKS50b1Rocm93KCdFUlJPUiAtIElmIGV4aXN0aW5nU3RhdGVNYWNoaW5lIGlzIHByb3ZpZGVkLCBubyBvdGhlciBzdGF0ZSBtYWNoaW5lIHByb3BzIGFyZSBhbGxvd2VkXFxuJyk7XG59KTtcblxudGVzdCgnVGVzdCB0aGF0IFZhbGlkYXRlQ2ZuUGlwZVByb3BzKCkgaXMgYmVpbmcgY2FsbGVkJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICBjb25zdCBzdGFydFN0YXRlID0gbmV3IHNmbi5QYXNzKHN0YWNrLCAnU3RhcnRTdGF0ZScpO1xuICBjb25zdCBwcm9wczogU3FzVG9QaXBlc1RvU3RlcGZ1bmN0aW9uc1Byb3BzID0ge1xuICAgIHN0YXRlTWFjaGluZVByb3BzOiB7XG4gICAgICBkZWZpbml0aW9uOiBzdGFydFN0YXRlXG4gICAgfSxcbiAgICBwaXBlUHJvcHM6IHtcbiAgICAgIGludmFsaWRQcm9wZXJ0eTogdHJ1ZVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBhcHAgPSAoKSA9PiB7XG4gICAgbmV3IFNxc1RvUGlwZXNUb1N0ZXBmdW5jdGlvbnMoc3RhY2ssICd0ZXN0LWNvbnN0cnVjdCcsIHByb3BzKTtcbiAgfTtcblxuICBleHBlY3QoYXBwKS50b1Rocm93KC9FUlJPUiAtIGludmFsaWRQcm9wZXJ0eSBpcyBub3QgYSB2YWxpZCBwcm9wZXJ0eSBvZiBDZm5QaXBlUHJvcHMvKTtcbn0pO1xuIl19
@@ -1,22 +0,0 @@
1
- /**
2
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
- * with the License. A copy of the License is located at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
- * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
- * and limitations under the License.
12
- */
13
-
14
- exports.handler = async (event) => {
15
- console.log(event);
16
- const response = event.map((x) =>{
17
- const body = JSON.parse(x.body);
18
- body.newAttrib = "content";
19
- return body;
20
- });
21
- return response;
22
- }