cdk-ecr-deployment 3.3.1 → 4.0.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/lib/index.js CHANGED
@@ -9,23 +9,6 @@ const path = require("path");
9
9
  const aws_cdk_lib_1 = require("aws-cdk-lib");
10
10
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
11
11
  const constructs_1 = require("constructs");
12
- const config_1 = require("./config");
13
- function getCode(buildImage) {
14
- if ((0, config_1.shouldUsePrebuiltLambda)()) {
15
- try {
16
- const prebuiltPath = path.join(__dirname, '../lambda-bin');
17
- return aws_cdk_lib_1.aws_lambda.Code.fromAsset(prebuiltPath);
18
- }
19
- catch (err) {
20
- console.warn(`Can not get prebuilt lambda: ${err}`);
21
- }
22
- }
23
- return aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(path.join(__dirname, '../lambda-src'), {
24
- buildArgs: {
25
- buildImage,
26
- },
27
- });
28
- }
29
12
  class DockerImageName {
30
13
  /**
31
14
  * @param name - The name of the image, e.g. retrieved from `DockerImageAsset.imageUri`
@@ -42,7 +25,7 @@ class DockerImageName {
42
25
  }
43
26
  exports.DockerImageName = DockerImageName;
44
27
  _a = JSII_RTTI_SYMBOL_1;
45
- DockerImageName[_a] = { fqn: "cdk-ecr-deployment.DockerImageName", version: "3.3.1" };
28
+ DockerImageName[_a] = { fqn: "cdk-ecr-deployment.DockerImageName", version: "4.0.1" };
46
29
  class S3ArchiveName {
47
30
  /**
48
31
  * @param p - the S3 bucket name and path of the archive (a S3 URI without the s3://)
@@ -63,18 +46,18 @@ class S3ArchiveName {
63
46
  }
64
47
  exports.S3ArchiveName = S3ArchiveName;
65
48
  _b = JSII_RTTI_SYMBOL_1;
66
- S3ArchiveName[_b] = { fqn: "cdk-ecr-deployment.S3ArchiveName", version: "3.3.1" };
49
+ S3ArchiveName[_b] = { fqn: "cdk-ecr-deployment.S3ArchiveName", version: "4.0.1" };
67
50
  class ECRDeployment extends constructs_1.Construct {
68
51
  constructor(scope, id, props) {
69
52
  super(scope, id);
70
53
  const memoryLimit = props.memoryLimit ?? 512;
71
54
  this.handler = new aws_cdk_lib_1.aws_lambda.SingletonFunction(this, 'CustomResourceHandler', {
72
55
  uuid: this.renderSingletonUuid(memoryLimit),
73
- code: getCode(props.buildImage ?? 'public.ecr.aws/docker/library/golang:1'),
74
- runtime: props.lambdaRuntime ?? new aws_cdk_lib_1.aws_lambda.Runtime('provided.al2023', aws_lambda_1.RuntimeFamily.OTHER), // not using Runtime.PROVIDED_AL2023 to support older CDK versions (< 2.105.0)
75
- handler: props.lambdaHandler ?? 'bootstrap',
76
- environment: props.environment,
56
+ code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(path.join(__dirname, '../lambda-bin')),
57
+ runtime: new aws_cdk_lib_1.aws_lambda.Runtime('provided.al2023', aws_lambda_1.RuntimeFamily.OTHER), // not using Runtime.PROVIDED_AL2023 to support older CDK versions (< 2.105.0)
58
+ handler: 'bootstrap',
77
59
  lambdaPurpose: 'Custom::CDKECRDeployment',
60
+ description: 'Custom resource handler for copying Docker images between docker registries.',
78
61
  timeout: aws_cdk_lib_1.Duration.minutes(15),
79
62
  role: props.role,
80
63
  memorySize: memoryLimit,
@@ -120,7 +103,7 @@ class ECRDeployment extends constructs_1.Construct {
120
103
  new aws_cdk_lib_1.CustomResource(this, 'CustomResource', {
121
104
  serviceToken: this.handler.functionArn,
122
105
  // This has been copy/pasted and is a pure lie, but changing it is going to change people's infra!! X(
123
- resourceType: 'Custom::CDKBucketDeployment',
106
+ resourceType: 'Custom::CDKECRDeployment',
124
107
  properties: {
125
108
  SrcImage: props.src.uri,
126
109
  SrcCreds: props.src.creds,
@@ -153,5 +136,5 @@ class ECRDeployment extends constructs_1.Construct {
153
136
  }
154
137
  exports.ECRDeployment = ECRDeployment;
155
138
  _c = JSII_RTTI_SYMBOL_1;
156
- ECRDeployment[_c] = { fqn: "cdk-ecr-deployment.ECRDeployment", version: "3.3.1" };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBRXRDLDZCQUE2QjtBQUM3Qiw2Q0FBb0g7QUFFcEgsdURBQXVEO0FBQ3ZELDJDQUF1QztBQUN2QyxxQ0FBbUQ7QUF3SG5ELFNBQVMsT0FBTyxDQUFDLFVBQWtCO0lBQ2pDLElBQUksSUFBQSxnQ0FBdUIsR0FBRSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDM0QsT0FBTyx3QkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUU7UUFDeEUsU0FBUyxFQUFFO1lBQ1QsVUFBVTtTQUNYO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQWEsZUFBZTtJQUMxQjs7Ozs7O09BTUc7SUFDSCxZQUEyQixJQUFZLEVBQVMsS0FBYztRQUFuQyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUztJQUFJLENBQUM7SUFDbkUsSUFBVyxHQUFHLEtBQWEsT0FBTyxZQUFZLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBVDlELDBDQVVDOzs7QUFFRCxNQUFhLGFBQWE7SUFHeEI7Ozs7Ozs7T0FPRztJQUNILFlBQW1CLENBQVMsRUFBRSxHQUFZLEVBQVMsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBVyxHQUFHLEtBQWEsT0FBTyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBakIxRCxzQ0FrQkM7OztBQUVELE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBRzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksd0JBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDekUsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7WUFDM0MsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLHdDQUF3QyxDQUFDO1lBQzNFLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksd0JBQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsMEJBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSw4RUFBOEU7WUFDMUssT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksV0FBVztZQUMzQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsYUFBYSxFQUFFLDBCQUEwQjtZQUN6QyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixVQUFVLEVBQUUsV0FBVztZQUN2QixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1NBQ3JDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUFDLENBQUM7UUFFN0YsV0FBVyxDQUFDLG9CQUFvQixDQUM5QixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxxQkFBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzNCLGlDQUFpQztnQkFDakMsNEJBQTRCO2dCQUM1Qix5QkFBeUI7Z0JBQ3pCLDBCQUEwQjtnQkFDMUIsZ0JBQWdCO2dCQUNoQixvQkFBb0I7Z0JBQ3BCLG1CQUFtQjtnQkFDbkIseUJBQXlCO2dCQUN6QiwrQkFBK0I7Z0JBQy9CLHlCQUF5QjtnQkFDekIscUJBQXFCO2dCQUNyQix5QkFBeUI7Z0JBQ3pCLGNBQWM7YUFDZjtZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNqQixDQUFDLENBQUMsQ0FBQztRQUNOLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3ZELE1BQU0sRUFBRSxxQkFBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sRUFBRTtnQkFDUCxjQUFjO2FBQ2Y7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFNUQsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUN6QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ3RDLHNHQUFzRztZQUN0RyxZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHO2dCQUN2QixRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLO2dCQUN6QixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUN6QixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUMzQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0M7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsU0FBMEI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUU3RixPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsV0FBb0I7UUFDOUMsSUFBSSxJQUFJLEdBQUcsc0NBQXNDLENBQUM7UUFFbEQsMEVBQTBFO1FBQzFFLDJFQUEyRTtRQUMzRSw0Q0FBNEM7UUFDNUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUhBQW1ILENBQUMsQ0FBQztZQUN2SSxDQUFDO1lBRUQsSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7QUE5Rkgsc0NBK0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgYXdzX2VjMiBhcyBlYzIsIGF3c19pYW0gYXMgaWFtLCBhd3NfbGFtYmRhIGFzIGxhbWJkYSwgRHVyYXRpb24sIEN1c3RvbVJlc291cmNlLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgQWRkVG9QcmluY2lwYWxQb2xpY3lSZXN1bHQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWVGYW1pbHkgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgc2hvdWxkVXNlUHJlYnVpbHRMYW1iZGEgfSBmcm9tICcuL2NvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRUNSRGVwbG95bWVudFByb3BzIHtcblxuICAvKipcbiAgICogSW1hZ2UgdG8gdXNlIHRvIGJ1aWxkIEdvbGFuZyBsYW1iZGEgZm9yIGN1c3RvbSByZXNvdXJjZSwgaWYgZG93bmxvYWQgZmFpbHMgb3IgaXMgbm90IHdhbnRlZC5cbiAgICpcbiAgICogTWlnaHQgYmUgbmVlZGVkIGZvciBsb2NhbCBidWlsZCBpZiBhbGwgaW1hZ2VzIG5lZWQgdG8gY29tZSBmcm9tIG93biByZWdpc3RyeS5cbiAgICpcbiAgICogTm90ZSB0aGF0IGltYWdlIHNob3VsZCB1c2UgeXVtIGFzIGEgcGFja2FnZSBtYW5hZ2VyIGFuZCBoYXZlIGdvbGFuZyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcHVibGljLmVjci5hd3Mvc2FtL2J1aWxkLWdvMS54OmxhdGVzdFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzb3VyY2Ugb2YgdGhlIGRvY2tlciBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IHNyYzogSUltYWdlTmFtZTtcblxuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIG9mIHRoZSBkb2NrZXIgaW1hZ2UuXG4gICAqL1xuICByZWFkb25seSBkZXN0OiBJSW1hZ2VOYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgYXJjaGl0ZWN0dXJlIHRvIGJlIGNvcGllZC5cbiAgICpcbiAgICogVGhlICdhbWQ2NCcgYXJjaGl0ZWN0dXJlIHdpbGwgYmUgY29waWVkIGJ5IGRlZmF1bHQuIFNwZWNpZnkgdGhlXG4gICAqIGFyY2hpdGVjdHVyZSBvciBhcmNoaXRlY3R1cmVzIHRvIGNvcHkgaGVyZS5cbiAgICpcbiAgICogSXQgaXMgY3VycmVudGx5IG5vdCBwb3NzaWJsZSB0byBjb3B5IG1vcmUgdGhhbiBvbmUgYXJjaGl0ZWN0dXJlXG4gICAqIGF0IGEgdGltZTogdGhlIGFycmF5IHlvdSBzcGVjaWZ5IG11c3QgY29udGFpbiBleGFjdGx5IG9uZSBzdHJpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IFsnYW1kNjQnXVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VBcmNoPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgbWVtb3J5IChpbiBNaUIpIHRvIGFsbG9jYXRlIHRvIHRoZSBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoXG4gICAqIHJlcGxpY2F0ZXMgdGhlIGZpbGVzIGZyb20gdGhlIENESyBidWNrZXQgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1Y2tldC5cbiAgICpcbiAgICogSWYgeW91IGFyZSBkZXBsb3lpbmcgbGFyZ2UgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdG8gaW5jcmVhc2UgdGhpcyBudW1iZXJcbiAgICogYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNTEyXG4gICAqL1xuICByZWFkb25seSBtZW1vcnlMaW1pdD86IG51bWJlcjtcblxuICAvKipcbiAgICogRXhlY3V0aW9uIHJvbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIHJvbGUgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIG5ldHdvcmsgdG8gcGxhY2UgdGhlIGRlcGxveW1lbnQgbGFtYmRhIGhhbmRsZXIgaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFdoZXJlIGluIHRoZSBWUEMgdG8gcGxhY2UgdGhlIGRlcGxveW1lbnQgbGFtYmRhIGhhbmRsZXIuXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgVnBjIGRlZmF1bHQgc3RyYXRlZ3kgaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgTGFtYmRhJ3MgbmV0d29yayBpbnRlcmZhY2VzLlxuICAgKlxuICAgKiBPbmx5IHVzZWQgaWYgJ3ZwYycgaXMgc3VwcGxpZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSWYgdGhlIGZ1bmN0aW9uIGlzIHBsYWNlZCB3aXRoaW4gYSBWUEMgYW5kIGEgc2VjdXJpdHkgZ3JvdXAgaXNcbiAgICogbm90IHNwZWNpZmllZCwgZWl0aGVyIGJ5IHRoaXMgb3Igc2VjdXJpdHlHcm91cCBwcm9wLCBhIGRlZGljYXRlZCBzZWN1cml0eVxuICAgKiBncm91cCB3aWxsIGJlIGNyZWF0ZWQgZm9yIHRoaXMgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5TZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgZnVuY3Rpb24gcnVudGltZSBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBsYW1iZGEuUnVudGltZS5QUk9WSURFRF9BTDIwMjNcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVJ1bnRpbWU/OiBsYW1iZGEuUnVudGltZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxhbWJkYSBoYW5kbGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJvb3RzdHJhcFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhSGFuZGxlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHNldFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbWFnZU5hbWUge1xuICAvKipcbiAgICogIFRoZSB1cmkgb2YgdGhlIGRvY2tlciBpbWFnZS5cbiAgICpcbiAgICogIFRoZSB1cmkgc3BlYyBmb2xsb3dzIGh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWluZXJzL3Nrb3Blb1xuICAgKi9cbiAgcmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyBvZiB0aGUgZG9ja2VyIGltYWdlLiBGb3JtYXQgYHVzZXI6cGFzc3dvcmRgIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhcm5gIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBuYW1lYC5cbiAgICpcbiAgICogSWYgc3BlY2lmeWluZyBhbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCwgdGhlIGZvcm1hdCBvZiB0aGUgc2VjcmV0IHNob3VsZCBiZSBlaXRoZXIgcGxhaW4gdGV4dCAoYHVzZXI6cGFzc3dvcmRgKSBvclxuICAgKiBKU09OIChge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YCkuXG4gICAqXG4gICAqIEZvciBtb3JlIGRldGFpbHMgb24gSlNPTiBmb3JtYXQsIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wcml2YXRlLWF1dGguaHRtbFxuICAgKi9cbiAgY3JlZHM/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldENvZGUoYnVpbGRJbWFnZTogc3RyaW5nKTogbGFtYmRhLkFzc2V0Q29kZSB7XG4gIGlmIChzaG91bGRVc2VQcmVidWlsdExhbWJkYSgpKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByZWJ1aWx0UGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9sYW1iZGEtYmluJyk7XG4gICAgICByZXR1cm4gbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHByZWJ1aWx0UGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYENhbiBub3QgZ2V0IHByZWJ1aWx0IGxhbWJkYTogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbGFtYmRhLXNyYycpLCB7XG4gICAgYnVpbGRBcmdzOiB7XG4gICAgICBidWlsZEltYWdlLFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgRG9ja2VySW1hZ2VOYW1lIGltcGxlbWVudHMgSUltYWdlTmFtZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBpbWFnZSwgZS5nLiByZXRyaWV2ZWQgZnJvbSBgRG9ja2VySW1hZ2VBc3NldC5pbWFnZVVyaWBcbiAgICogQHBhcmFtIGNyZWRzIC0gVGhlIGNyZWRlbnRpYWxzIG9mIHRoZSBkb2NrZXIgaW1hZ2UuIEZvcm1hdCBgdXNlcjpwYXNzd29yZGAgb3IgYEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGFybmAgb3IgYEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG5hbWVgLlxuICAgKiAgICAgSWYgc3BlY2lmeWluZyBhbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCwgdGhlIGZvcm1hdCBvZiB0aGUgc2VjcmV0IHNob3VsZCBiZSBlaXRoZXIgcGxhaW4gdGV4dCAoYHVzZXI6cGFzc3dvcmRgKSBvclxuICAgKiAgICAgSlNPTiAoYHtcInVzZXJuYW1lXCI6XCI8dXNlcm5hbWU+XCIsXCJwYXNzd29yZFwiOlwiPHBhc3N3b3JkPlwifWApLlxuICAgKiAgICAgRm9yIG1vcmUgZGV0YWlscyBvbiBKU09OIGZvcm1hdCwgc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3ByaXZhdGUtYXV0aC5odG1sXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBuYW1lOiBzdHJpbmcsIHB1YmxpYyBjcmVkcz86IHN0cmluZykgeyB9XG4gIHB1YmxpYyBnZXQgdXJpKCk6IHN0cmluZyB7IHJldHVybiBgZG9ja2VyOi8vJHt0aGlzLm5hbWV9YDsgfVxufVxuXG5leHBvcnQgY2xhc3MgUzNBcmNoaXZlTmFtZSBpbXBsZW1lbnRzIElJbWFnZU5hbWUge1xuICBwcml2YXRlIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHBhcmFtIHAgLSB0aGUgUzMgYnVja2V0IG5hbWUgYW5kIHBhdGggb2YgdGhlIGFyY2hpdmUgKGEgUzMgVVJJIHdpdGhvdXQgdGhlIHMzOi8vKVxuICAgKiBAcGFyYW0gcmVmIC0gYXBwZW5kZWQgdG8gdGhlIGVuZCBvZiB0aGUgbmFtZSB3aXRoIGEgYDpgLCBlLmcuIGA6bGF0ZXN0YFxuICAgKiBAcGFyYW0gY3JlZHMgLSBUaGUgY3JlZGVudGlhbHMgb2YgdGhlIGRvY2tlciBpbWFnZS4gRm9ybWF0IGB1c2VyOnBhc3N3b3JkYCBvciBgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgYXJuYCBvciBgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgbmFtZWAuXG4gICAqICAgICBJZiBzcGVjaWZ5aW5nIGFuIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0LCB0aGUgZm9ybWF0IG9mIHRoZSBzZWNyZXQgc2hvdWxkIGJlIGVpdGhlciBwbGFpbiB0ZXh0IChgdXNlcjpwYXNzd29yZGApIG9yXG4gICAqICAgICBKU09OIChge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YCkuXG4gICAqICAgICBGb3IgbW9yZSBkZXRhaWxzIG9uIEpTT04gZm9ybWF0LCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcHJpdmF0ZS1hdXRoLmh0bWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwOiBzdHJpbmcsIHJlZj86IHN0cmluZywgcHVibGljIGNyZWRzPzogc3RyaW5nKSB7XG4gICAgdGhpcy5uYW1lID0gcDtcbiAgICBpZiAocmVmKSB7XG4gICAgICB0aGlzLm5hbWUgKz0gJzonICsgcmVmO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHVyaSgpOiBzdHJpbmcgeyByZXR1cm4gYHMzOi8vJHt0aGlzLm5hbWV9YDsgfVxufVxuXG5leHBvcnQgY2xhc3MgRUNSRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgaGFuZGxlcjogbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFQ1JEZXBsb3ltZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IG1lbW9yeUxpbWl0ID0gcHJvcHMubWVtb3J5TGltaXQgPz8gNTEyO1xuICAgIHRoaXMuaGFuZGxlciA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbVJlc291cmNlSGFuZGxlcicsIHtcbiAgICAgIHV1aWQ6IHRoaXMucmVuZGVyU2luZ2xldG9uVXVpZChtZW1vcnlMaW1pdCksXG4gICAgICBjb2RlOiBnZXRDb2RlKHByb3BzLmJ1aWxkSW1hZ2UgPz8gJ3B1YmxpYy5lY3IuYXdzL2RvY2tlci9saWJyYXJ5L2dvbGFuZzoxJyksXG4gICAgICBydW50aW1lOiBwcm9wcy5sYW1iZGFSdW50aW1lID8/IG5ldyBsYW1iZGEuUnVudGltZSgncHJvdmlkZWQuYWwyMDIzJywgUnVudGltZUZhbWlseS5PVEhFUiksIC8vIG5vdCB1c2luZyBSdW50aW1lLlBST1ZJREVEX0FMMjAyMyB0byBzdXBwb3J0IG9sZGVyIENESyB2ZXJzaW9ucyAoPCAyLjEwNS4wKVxuICAgICAgaGFuZGxlcjogcHJvcHMubGFtYmRhSGFuZGxlciA/PyAnYm9vdHN0cmFwJyxcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b206OkNES0VDUkRlcGxveW1lbnQnLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgICAgbWVtb3J5U2l6ZTogbWVtb3J5TGltaXQsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnZwY1N1Ym5ldHMsXG4gICAgICBzZWN1cml0eUdyb3VwczogcHJvcHMuc2VjdXJpdHlHcm91cHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVyUm9sZSA9IHRoaXMuaGFuZGxlci5yb2xlO1xuICAgIGlmICghaGFuZGxlclJvbGUpIHsgdGhyb3cgbmV3IEVycm9yKCdsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24gc2hvdWxkIGhhdmUgY3JlYXRlZCBhIFJvbGUnKTsgfVxuXG4gICAgaGFuZGxlclJvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuJyxcbiAgICAgICAgICAnZWNyOkJhdGNoQ2hlY2tMYXllckF2YWlsYWJpbGl0eScsXG4gICAgICAgICAgJ2VjcjpHZXREb3dubG9hZFVybEZvckxheWVyJyxcbiAgICAgICAgICAnZWNyOkdldFJlcG9zaXRvcnlQb2xpY3knLFxuICAgICAgICAgICdlY3I6RGVzY3JpYmVSZXBvc2l0b3JpZXMnLFxuICAgICAgICAgICdlY3I6TGlzdEltYWdlcycsXG4gICAgICAgICAgJ2VjcjpEZXNjcmliZUltYWdlcycsXG4gICAgICAgICAgJ2VjcjpCYXRjaEdldEltYWdlJyxcbiAgICAgICAgICAnZWNyOkxpc3RUYWdzRm9yUmVzb3VyY2UnLFxuICAgICAgICAgICdlY3I6RGVzY3JpYmVJbWFnZVNjYW5GaW5kaW5ncycsXG4gICAgICAgICAgJ2VjcjpJbml0aWF0ZUxheWVyVXBsb2FkJyxcbiAgICAgICAgICAnZWNyOlVwbG9hZExheWVyUGFydCcsXG4gICAgICAgICAgJ2VjcjpDb21wbGV0ZUxheWVyVXBsb2FkJyxcbiAgICAgICAgICAnZWNyOlB1dEltYWdlJyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIH0pKTtcbiAgICBoYW5kbGVyUm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzMzpHZXRPYmplY3QnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgfSkpO1xuXG4gICAgaWYgKHByb3BzLmltYWdlQXJjaCAmJiBwcm9wcy5pbWFnZUFyY2gubGVuZ3RoICE9PSAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGltYWdlQXJjaCBtdXN0IGNvbnRhaW4gZXhhY3RseSAxIGVsZW1lbnQsIGdvdCAke0pTT04uc3RyaW5naWZ5KHByb3BzLmltYWdlQXJjaCl9YCk7XG4gICAgfVxuICAgIGNvbnN0IGltYWdlQXJjaCA9IHByb3BzLmltYWdlQXJjaCA/IHByb3BzLmltYWdlQXJjaFswXSA6ICcnO1xuXG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdDdXN0b21SZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5oYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgLy8gVGhpcyBoYXMgYmVlbiBjb3B5L3Bhc3RlZCBhbmQgaXMgYSBwdXJlIGxpZSwgYnV0IGNoYW5naW5nIGl0IGlzIGdvaW5nIHRvIGNoYW5nZSBwZW9wbGUncyBpbmZyYSEhIFgoXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OkNES0J1Y2tldERlcGxveW1lbnQnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBTcmNJbWFnZTogcHJvcHMuc3JjLnVyaSxcbiAgICAgICAgU3JjQ3JlZHM6IHByb3BzLnNyYy5jcmVkcyxcbiAgICAgICAgRGVzdEltYWdlOiBwcm9wcy5kZXN0LnVyaSxcbiAgICAgICAgRGVzdENyZWRzOiBwcm9wcy5kZXN0LmNyZWRzLFxuICAgICAgICAuLi5pbWFnZUFyY2ggPyB7IEltYWdlQXJjaDogaW1hZ2VBcmNoIH0gOiB7fSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9QcmluY2lwYWxQb2xpY3koc3RhdGVtZW50OiBQb2xpY3lTdGF0ZW1lbnQpOiBBZGRUb1ByaW5jaXBhbFBvbGljeVJlc3VsdCB7XG4gICAgY29uc3QgaGFuZGxlclJvbGUgPSB0aGlzLmhhbmRsZXIucm9sZTtcbiAgICBpZiAoIWhhbmRsZXJSb2xlKSB7IHRocm93IG5ldyBFcnJvcignbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uIHNob3VsZCBoYXZlIGNyZWF0ZWQgYSBSb2xlJyk7IH1cblxuICAgIHJldHVybiBoYW5kbGVyUm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJTaW5nbGV0b25VdWlkKG1lbW9yeUxpbWl0PzogbnVtYmVyKSB7XG4gICAgbGV0IHV1aWQgPSAnYmQwN2M5MzAtZWRiOS00MTEyLWEyMGYtMDNmMDk2ZjUzNjY2JztcblxuICAgIC8vIGlmIHVzZXIgc3BlY2lmeSBhIGN1c3RvbSBtZW1vcnkgbGltaXQsIGRlZmluZSBhbm90aGVyIHNpbmdsZXRvbiBoYW5kbGVyXG4gICAgLy8gd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24uIG90aGVyd2lzZSwgaXQgd29uJ3QgYmUgcG9zc2libGUgdG8gdXNlIG11bHRpcGxlXG4gICAgLy8gY29uZmlndXJhdGlvbnMgc2luY2Ugd2UgaGF2ZSBhIHNpbmdsZXRvbi5cbiAgICBpZiAobWVtb3J5TGltaXQpIHtcbiAgICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQobWVtb3J5TGltaXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuXFwndCB1c2UgdG9rZW5zIHdoZW4gc3BlY2lmeWluZyBcIm1lbW9yeUxpbWl0XCIgc2luY2Ugd2UgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBzaW5nbGV0b24gY3VzdG9tIHJlc291cmNlIGhhbmRsZXInKTtcbiAgICAgIH1cblxuICAgICAgdXVpZCArPSBgLSR7bWVtb3J5TGltaXQudG9TdHJpbmcoKX1NaUJgO1xuICAgIH1cblxuICAgIHJldHVybiB1dWlkO1xuICB9XG59XG4iXX0=
139
+ ECRDeployment[_c] = { fqn: "cdk-ecr-deployment.ECRDeployment", version: "4.0.1" };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBRXRDLDZCQUE2QjtBQUM3Qiw2Q0FBb0g7QUFFcEgsdURBQXVEO0FBQ3ZELDJDQUF1QztBQTBGdkMsTUFBYSxlQUFlO0lBQzFCOzs7Ozs7T0FNRztJQUNILFlBQTJCLElBQVksRUFBUyxLQUFjO1FBQW5DLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFTO0lBQUksQ0FBQztJQUNuRSxJQUFXLEdBQUcsS0FBYSxPQUFPLFlBQVksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFUOUQsMENBVUM7OztBQUVELE1BQWEsYUFBYTtJQUd4Qjs7Ozs7OztPQU9HO0lBQ0gsWUFBbUIsQ0FBUyxFQUFFLEdBQVksRUFBUyxLQUFjO1FBQWQsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFXLEdBQUcsS0FBYSxPQUFPLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFqQjFELHNDQWtCQzs7O0FBRUQsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFHMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx3QkFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUks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LENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0M7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsU0FBMEI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUU3RixPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsV0FBb0I7UUFDOUMsSUFBSSxJQUFJLEdBQUcsc0NBQXNDLENBQUM7UUFFbEQsMEVBQTBFO1FBQzFFLDJFQUEyRTtRQUMzRSw0Q0FBNEM7UUFDNUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUhBQW1ILENBQUMsQ0FBQztZQUN2SSxDQUFDO1lBRUQsSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7QUE5Rkgsc0NBK0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgYXdzX2VjMiBhcyBlYzIsIGF3c19pYW0gYXMgaWFtLCBhd3NfbGFtYmRhIGFzIGxhbWJkYSwgRHVyYXRpb24sIEN1c3RvbVJlc291cmNlLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgQWRkVG9QcmluY2lwYWxQb2xpY3lSZXN1bHQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWVGYW1pbHkgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVDUkRlcGxveW1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIG9mIHRoZSBkb2NrZXIgaW1hZ2UuXG4gICAqL1xuICByZWFkb25seSBzcmM6IElJbWFnZU5hbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBvZiB0aGUgZG9ja2VyIGltYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdDogSUltYWdlTmFtZTtcblxuICAvKipcbiAgICogVGhlIGltYWdlIGFyY2hpdGVjdHVyZSB0byBiZSBjb3BpZWQuXG4gICAqXG4gICAqIFRoZSAnYW1kNjQnIGFyY2hpdGVjdHVyZSB3aWxsIGJlIGNvcGllZCBieSBkZWZhdWx0LiBTcGVjaWZ5IHRoZVxuICAgKiBhcmNoaXRlY3R1cmUgb3IgYXJjaGl0ZWN0dXJlcyB0byBjb3B5IGhlcmUuXG4gICAqXG4gICAqIEl0IGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gY29weSBtb3JlIHRoYW4gb25lIGFyY2hpdGVjdHVyZVxuICAgKiBhdCBhIHRpbWU6IHRoZSBhcnJheSB5b3Ugc3BlY2lmeSBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ2FtZDY0J11cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlQXJjaD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIG1lbW9yeSAoaW4gTWlCKSB0byBhbGxvY2F0ZSB0byB0aGUgQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaFxuICAgKiByZXBsaWNhdGVzIHRoZSBmaWxlcyBmcm9tIHRoZSBDREsgYnVja2V0IHRvIHRoZSBkZXN0aW5hdGlvbiBidWNrZXQuXG4gICAqXG4gICAqIElmIHlvdSBhcmUgZGVwbG95aW5nIGxhcmdlIGZpbGVzLCB5b3Ugd2lsbCBuZWVkIHRvIGluY3JlYXNlIHRoaXMgbnVtYmVyXG4gICAqIGFjY29yZGluZ2x5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDUxMlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGlvbiByb2xlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSByb2xlIGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIFZQQyBuZXR3b3JrIHRvIHBsYWNlIHRoZSBkZXBsb3ltZW50IGxhbWJkYSBoYW5kbGVyIGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBpbiB0aGUgVlBDIHRvIHBsYWNlIHRoZSBkZXBsb3ltZW50IGxhbWJkYSBoYW5kbGVyLlxuICAgKiBPbmx5IHVzZWQgaWYgJ3ZwYycgaXMgc3VwcGxpZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBzZWN1cml0eSBncm91cHMgdG8gYXNzb2NpYXRlIHdpdGggdGhlIExhbWJkYSdzIG5ldHdvcmsgaW50ZXJmYWNlcy5cbiAgICpcbiAgICogT25seSB1c2VkIGlmICd2cGMnIGlzIHN1cHBsaWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElmIHRoZSBmdW5jdGlvbiBpcyBwbGFjZWQgd2l0aGluIGEgVlBDIGFuZCBhIHNlY3VyaXR5IGdyb3VwIGlzXG4gICAqIG5vdCBzcGVjaWZpZWQsIGVpdGhlciBieSB0aGlzIG9yIHNlY3VyaXR5R3JvdXAgcHJvcCwgYSBkZWRpY2F0ZWQgc2VjdXJpdHlcbiAgICogZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGZvciB0aGlzIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBlYzIuU2VjdXJpdHlHcm91cFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbWFnZU5hbWUge1xuICAvKipcbiAgICogIFRoZSB1cmkgb2YgdGhlIGRvY2tlciBpbWFnZS5cbiAgICpcbiAgICogIFRoZSB1cmkgc3BlYyBmb2xsb3dzIGh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWluZXJzL3Nrb3Blb1xuICAgKi9cbiAgcmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyBvZiB0aGUgZG9ja2VyIGltYWdlLiBGb3JtYXQgYHVzZXI6cGFzc3dvcmRgIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhcm5gIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBuYW1lYC5cbiAgICpcbiAgICogSWYgc3BlY2lmeWluZyBhbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCwgdGhlIGZvcm1hdCBvZiB0aGUgc2VjcmV0IHNob3VsZCBiZSBlaXRoZXIgcGxhaW4gdGV4dCAoYHVzZXI6cGFzc3dvcmRgKSBvclxuICAgKiBKU09OIChge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YCkuXG4gICAqXG4gICAqIEZvciBtb3JlIGRldGFpbHMgb24gSlNPTiBmb3JtYXQsIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wcml2YXRlLWF1dGguaHRtbFxuICAgKi9cbiAgY3JlZHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXJJbWFnZU5hbWUgaW1wbGVtZW50cyBJSW1hZ2VOYW1lIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGltYWdlLCBlLmcuIHJldHJpZXZlZCBmcm9tIGBEb2NrZXJJbWFnZUFzc2V0LmltYWdlVXJpYFxuICAgKiBAcGFyYW0gY3JlZHMgLSBUaGUgY3JlZGVudGlhbHMgb2YgdGhlIGRvY2tlciBpbWFnZS4gRm9ybWF0IGB1c2VyOnBhc3N3b3JkYCBvciBgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgYXJuYCBvciBgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgbmFtZWAuXG4gICAqICAgICBJZiBzcGVjaWZ5aW5nIGFuIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0LCB0aGUgZm9ybWF0IG9mIHRoZSBzZWNyZXQgc2hvdWxkIGJlIGVpdGhlciBwbGFpbiB0ZXh0IChgdXNlcjpwYXNzd29yZGApIG9yXG4gICAqICAgICBKU09OIChge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YCkuXG4gICAqICAgICBGb3IgbW9yZSBkZXRhaWxzIG9uIEpTT04gZm9ybWF0LCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcHJpdmF0ZS1hdXRoLmh0bWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hbWU6IHN0cmluZywgcHVibGljIGNyZWRzPzogc3RyaW5nKSB7IH1cbiAgcHVibGljIGdldCB1cmkoKTogc3RyaW5nIHsgcmV0dXJuIGBkb2NrZXI6Ly8ke3RoaXMubmFtZX1gOyB9XG59XG5cbmV4cG9ydCBjbGFzcyBTM0FyY2hpdmVOYW1lIGltcGxlbWVudHMgSUltYWdlTmFtZSB7XG4gIHByaXZhdGUgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gcCAtIHRoZSBTMyBidWNrZXQgbmFtZSBhbmQgcGF0aCBvZiB0aGUgYXJjaGl2ZSAoYSBTMyBVUkkgd2l0aG91dCB0aGUgczM6Ly8pXG4gICAqIEBwYXJhbSByZWYgLSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBuYW1lIHdpdGggYSBgOmAsIGUuZy4gYDpsYXRlc3RgXG4gICAqIEBwYXJhbSBjcmVkcyAtIFRoZSBjcmVkZW50aWFscyBvZiB0aGUgZG9ja2VyIGltYWdlLiBGb3JtYXQgYHVzZXI6cGFzc3dvcmRgIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhcm5gIG9yIGBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBuYW1lYC5cbiAgICogICAgIElmIHNwZWNpZnlpbmcgYW4gQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQsIHRoZSBmb3JtYXQgb2YgdGhlIHNlY3JldCBzaG91bGQgYmUgZWl0aGVyIHBsYWluIHRleHQgKGB1c2VyOnBhc3N3b3JkYCkgb3JcbiAgICogICAgIEpTT04gKGB7XCJ1c2VybmFtZVwiOlwiPHVzZXJuYW1lPlwiLFwicGFzc3dvcmRcIjpcIjxwYXNzd29yZD5cIn1gKS5cbiAgICogICAgIEZvciBtb3JlIGRldGFpbHMgb24gSlNPTiBmb3JtYXQsIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wcml2YXRlLWF1dGguaHRtbFxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHA6IHN0cmluZywgcmVmPzogc3RyaW5nLCBwdWJsaWMgY3JlZHM/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm5hbWUgPSBwO1xuICAgIGlmIChyZWYpIHtcbiAgICAgIHRoaXMubmFtZSArPSAnOicgKyByZWY7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdXJpKCk6IHN0cmluZyB7IHJldHVybiBgczM6Ly8ke3RoaXMubmFtZX1gOyB9XG59XG5cbmV4cG9ydCBjbGFzcyBFQ1JEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBoYW5kbGVyOiBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVDUkRlcGxveW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgbWVtb3J5TGltaXQgPSBwcm9wcy5tZW1vcnlMaW1pdCA/PyA1MTI7XG4gICAgdGhpcy5oYW5kbGVyID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbih0aGlzLCAnQ3VzdG9tUmVzb3VyY2VIYW5kbGVyJywge1xuICAgICAgdXVpZDogdGhpcy5yZW5kZXJTaW5nbGV0b25VdWlkKG1lbW9yeUxpbWl0KSxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbGFtYmRhLWJpbicpKSxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgncHJvdmlkZWQuYWwyMDIzJywgUnVudGltZUZhbWlseS5PVEhFUiksIC8vIG5vdCB1c2luZyBSdW50aW1lLlBST1ZJREVEX0FMMjAyMyB0byBzdXBwb3J0IG9sZGVyIENESyB2ZXJzaW9ucyAoPCAyLjEwNS4wKVxuICAgICAgaGFuZGxlcjogJ2Jvb3RzdHJhcCcsXG4gICAgICBsYW1iZGFQdXJwb3NlOiAnQ3VzdG9tOjpDREtFQ1JEZXBsb3ltZW50JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ3VzdG9tIHJlc291cmNlIGhhbmRsZXIgZm9yIGNvcHlpbmcgRG9ja2VyIGltYWdlcyBiZXR3ZWVuIGRvY2tlciByZWdpc3RyaWVzLicsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHJvbGU6IHByb3BzLnJvbGUsXG4gICAgICBtZW1vcnlTaXplOiBtZW1vcnlMaW1pdCxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMudnBjU3VibmV0cyxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBwcm9wcy5zZWN1cml0eUdyb3VwcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZXJSb2xlID0gdGhpcy5oYW5kbGVyLnJvbGU7XG4gICAgaWYgKCFoYW5kbGVyUm9sZSkgeyB0aHJvdyBuZXcgRXJyb3IoJ2xhbWJkYS5TaW5nbGV0b25GdW5jdGlvbiBzaG91bGQgaGF2ZSBjcmVhdGVkIGEgUm9sZScpOyB9XG5cbiAgICBoYW5kbGVyUm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ2VjcjpHZXRBdXRob3JpemF0aW9uVG9rZW4nLFxuICAgICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgICAnZWNyOkdldERvd25sb2FkVXJsRm9yTGF5ZXInLFxuICAgICAgICAgICdlY3I6R2V0UmVwb3NpdG9yeVBvbGljeScsXG4gICAgICAgICAgJ2VjcjpEZXNjcmliZVJlcG9zaXRvcmllcycsXG4gICAgICAgICAgJ2VjcjpMaXN0SW1hZ2VzJyxcbiAgICAgICAgICAnZWNyOkRlc2NyaWJlSW1hZ2VzJyxcbiAgICAgICAgICAnZWNyOkJhdGNoR2V0SW1hZ2UnLFxuICAgICAgICAgICdlY3I6TGlzdFRhZ3NGb3JSZXNvdXJjZScsXG4gICAgICAgICAgJ2VjcjpEZXNjcmliZUltYWdlU2NhbkZpbmRpbmdzJyxcbiAgICAgICAgICAnZWNyOkluaXRpYXRlTGF5ZXJVcGxvYWQnLFxuICAgICAgICAgICdlY3I6VXBsb2FkTGF5ZXJQYXJ0JyxcbiAgICAgICAgICAnZWNyOkNvbXBsZXRlTGF5ZXJVcGxvYWQnLFxuICAgICAgICAgICdlY3I6UHV0SW1hZ2UnLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSkpO1xuICAgIGhhbmRsZXJSb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3MzOkdldE9iamVjdCcsXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICB9KSk7XG5cbiAgICBpZiAocHJvcHMuaW1hZ2VBcmNoICYmIHByb3BzLmltYWdlQXJjaC5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW1hZ2VBcmNoIG11c3QgY29udGFpbiBleGFjdGx5IDEgZWxlbWVudCwgZ290ICR7SlNPTi5zdHJpbmdpZnkocHJvcHMuaW1hZ2VBcmNoKX1gKTtcbiAgICB9XG4gICAgY29uc3QgaW1hZ2VBcmNoID0gcHJvcHMuaW1hZ2VBcmNoID8gcHJvcHMuaW1hZ2VBcmNoWzBdIDogJyc7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0N1c3RvbVJlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmhhbmRsZXIuZnVuY3Rpb25Bcm4sXG4gICAgICAvLyBUaGlzIGhhcyBiZWVuIGNvcHkvcGFzdGVkIGFuZCBpcyBhIHB1cmUgbGllLCBidXQgY2hhbmdpbmcgaXQgaXMgZ29pbmcgdG8gY2hhbmdlIHBlb3BsZSdzIGluZnJhISEgWChcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q0RLRUNSRGVwbG95bWVudCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFNyY0ltYWdlOiBwcm9wcy5zcmMudXJpLFxuICAgICAgICBTcmNDcmVkczogcHJvcHMuc3JjLmNyZWRzLFxuICAgICAgICBEZXN0SW1hZ2U6IHByb3BzLmRlc3QudXJpLFxuICAgICAgICBEZXN0Q3JlZHM6IHByb3BzLmRlc3QuY3JlZHMsXG4gICAgICAgIC4uLmltYWdlQXJjaCA/IHsgSW1hZ2VBcmNoOiBpbWFnZUFyY2ggfSA6IHt9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQ6IFBvbGljeVN0YXRlbWVudCk6IEFkZFRvUHJpbmNpcGFsUG9saWN5UmVzdWx0IHtcbiAgICBjb25zdCBoYW5kbGVyUm9sZSA9IHRoaXMuaGFuZGxlci5yb2xlO1xuICAgIGlmICghaGFuZGxlclJvbGUpIHsgdGhyb3cgbmV3IEVycm9yKCdsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24gc2hvdWxkIGhhdmUgY3JlYXRlZCBhIFJvbGUnKTsgfVxuXG4gICAgcmV0dXJuIGhhbmRsZXJSb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclNpbmdsZXRvblV1aWQobWVtb3J5TGltaXQ/OiBudW1iZXIpIHtcbiAgICBsZXQgdXVpZCA9ICdiZDA3YzkzMC1lZGI5LTQxMTItYTIwZi0wM2YwOTZmNTM2NjYnO1xuXG4gICAgLy8gaWYgdXNlciBzcGVjaWZ5IGEgY3VzdG9tIG1lbW9yeSBsaW1pdCwgZGVmaW5lIGFub3RoZXIgc2luZ2xldG9uIGhhbmRsZXJcbiAgICAvLyB3aXRoIHRoaXMgY29uZmlndXJhdGlvbi4gb3RoZXJ3aXNlLCBpdCB3b24ndCBiZSBwb3NzaWJsZSB0byB1c2UgbXVsdGlwbGVcbiAgICAvLyBjb25maWd1cmF0aW9ucyBzaW5jZSB3ZSBoYXZlIGEgc2luZ2xldG9uLlxuICAgIGlmIChtZW1vcnlMaW1pdCkge1xuICAgICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChtZW1vcnlMaW1pdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5cXCd0IHVzZSB0b2tlbnMgd2hlbiBzcGVjaWZ5aW5nIFwibWVtb3J5TGltaXRcIiBzaW5jZSB3ZSB1c2UgaXQgdG8gaWRlbnRpZnkgdGhlIHNpbmdsZXRvbiBjdXN0b20gcmVzb3VyY2UgaGFuZGxlcicpO1xuICAgICAgfVxuXG4gICAgICB1dWlkICs9IGAtJHttZW1vcnlMaW1pdC50b1N0cmluZygpfU1pQmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHV1aWQ7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -82,7 +82,7 @@
82
82
  "publishConfig": {
83
83
  "access": "public"
84
84
  },
85
- "version": "3.3.1",
85
+ "version": "4.0.1",
86
86
  "jest": {
87
87
  "coverageProvider": "v8",
88
88
  "testMatch": [
@@ -1,9 +0,0 @@
1
- Dockerfile
2
- Dockerfile*
3
- node_modules
4
- coverage
5
- test-reports
6
- **/*.md
7
- bootstrap
8
- bootstrap.sha256
9
- cdk.out
@@ -1,26 +0,0 @@
1
- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- # SPDX-License-Identifier: Apache-2.0
3
- ARG buildImage=public.ecr.aws/docker/library/golang:1
4
- FROM ${buildImage} AS build
5
-
6
- USER root
7
-
8
- ARG GOPROXY
9
-
10
- ENV GOOS=linux \
11
- GOARCH=amd64 \
12
- GO111MODULE=on \
13
- GOPROXY="${GOPROXY}"
14
-
15
- WORKDIR /ws
16
-
17
- COPY go.mod go.sum ./
18
-
19
- RUN go env
20
-
21
- # RUN go mod download -x
22
-
23
- COPY . /ws
24
-
25
- RUN mkdir -p /asset/ && \
26
- make OUTPUT=/asset/bootstrap
@@ -1,33 +0,0 @@
1
- # Taken from https://github.com/containers/skopeo
2
- # Modifications Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
-
4
- .PHONY: all lambda test upgrade-deps
5
-
6
- GPGME_ENV := CGO_CFLAGS="$(shell gpgme-config --cflags 2>/dev/null)" CGO_LDFLAGS="$(shell gpgme-config --libs 2>/dev/null)"
7
- GO ?= go
8
- GOOS ?= $(shell go env GOOS)
9
- GOARCH ?= $(shell go env GOARCH)
10
-
11
- ifeq ($(DEBUG), 1)
12
- override GOGCFLAGS += -N -l
13
- endif
14
-
15
- ifeq ($(GOOS), linux)
16
- ifneq ($(GOARCH),$(filter $(GOARCH),mips mipsle mips64 mips64le ppc64 riscv64))
17
- GO_DYN_FLAGS="-buildmode=pie"
18
- endif
19
- endif
20
-
21
- BUILDTAGS := exclude_graphdriver_devicemapper exclude_graphdriver_btrfs containers_image_openpgp lambda.norpc
22
- OUTPUT ?= cdk-ecr-deployment-handler
23
-
24
- all: lambda test
25
-
26
- upgrade-deps:
27
- CGO_ENABLED=0 $(GPGME_ENV) $(GO) get -u -tags "$(BUILDTAGS)"
28
-
29
- lambda:
30
- CGO_ENABLED=0 $(GPGME_ENV) $(GO) build -v ${GO_DYN_FLAGS} -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o $(OUTPUT)
31
-
32
- test:
33
- CGO_ENABLED=0 $(GPGME_ENV) $(GO) test -v -tags "$(BUILDTAGS)" ./...
package/lambda-src/go.mod DELETED
@@ -1,136 +0,0 @@
1
- module cdk-ecr-deployment-handler
2
-
3
- go 1.24.1
4
-
5
- require (
6
- github.com/aws/aws-lambda-go v1.47.0
7
- github.com/aws/aws-sdk-go-v2 v1.36.3
8
- github.com/aws/aws-sdk-go-v2/config v1.29.9
9
- github.com/aws/aws-sdk-go-v2/service/ecr v1.43.0
10
- github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2
11
- github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.2
12
- github.com/containers/image/v5 v5.34.2
13
- github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
14
- github.com/opencontainers/go-digest v1.0.0
15
- github.com/pkg/errors v0.9.1
16
- github.com/sirupsen/logrus v1.9.3
17
- github.com/stretchr/testify v1.10.0
18
- )
19
-
20
- require (
21
- dario.cat/mergo v1.0.1 // indirect
22
- github.com/BurntSushi/toml v1.4.0 // indirect
23
- github.com/Microsoft/go-winio v0.6.2 // indirect
24
- github.com/Microsoft/hcsshim v0.12.9 // indirect
25
- github.com/VividCortex/ewma v1.2.0 // indirect
26
- github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
27
- github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
28
- github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect
29
- github.com/aws/aws-sdk-go-v2/credentials v1.17.62 // indirect
30
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect
31
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
32
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
33
- github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
34
- github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34 // indirect
35
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
36
- github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0 // indirect
37
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect
38
- github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15 // indirect
39
- github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 // indirect
40
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 // indirect
41
- github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 // indirect
42
- github.com/aws/smithy-go v1.22.2 // indirect
43
- github.com/containerd/cgroups/v3 v3.0.3 // indirect
44
- github.com/containerd/errdefs v0.3.0 // indirect
45
- github.com/containerd/errdefs/pkg v0.3.0 // indirect
46
- github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect
47
- github.com/containerd/typeurl/v2 v2.2.3 // indirect
48
- github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect
49
- github.com/containers/ocicrypt v1.2.1 // indirect
50
- github.com/containers/storage v1.57.2 // indirect
51
- github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f // indirect
52
- github.com/cyphar/filepath-securejoin v0.3.6 // indirect
53
- github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
54
- github.com/distribution/reference v0.6.0 // indirect
55
- github.com/docker/distribution v2.8.3+incompatible // indirect
56
- github.com/docker/docker v27.5.1+incompatible // indirect
57
- github.com/docker/docker-credential-helpers v0.8.2 // indirect
58
- github.com/docker/go-connections v0.5.0 // indirect
59
- github.com/docker/go-units v0.5.0 // indirect
60
- github.com/felixge/httpsnoop v1.0.4 // indirect
61
- github.com/go-jose/go-jose/v4 v4.0.5 // indirect
62
- github.com/go-logr/logr v1.4.2 // indirect
63
- github.com/go-logr/stdr v1.2.2 // indirect
64
- github.com/go-openapi/analysis v0.23.0 // indirect
65
- github.com/go-openapi/errors v0.22.0 // indirect
66
- github.com/go-openapi/jsonpointer v0.21.0 // indirect
67
- github.com/go-openapi/jsonreference v0.21.0 // indirect
68
- github.com/go-openapi/loads v0.22.0 // indirect
69
- github.com/go-openapi/runtime v0.28.0 // indirect
70
- github.com/go-openapi/spec v0.21.0 // indirect
71
- github.com/go-openapi/strfmt v0.23.0 // indirect
72
- github.com/go-openapi/swag v0.23.0 // indirect
73
- github.com/go-openapi/validate v0.24.0 // indirect
74
- github.com/gogo/protobuf v1.3.2 // indirect
75
- github.com/golang/protobuf v1.5.4 // indirect
76
- github.com/google/go-containerregistry v0.20.2 // indirect
77
- github.com/google/go-intervals v0.0.2 // indirect
78
- github.com/google/uuid v1.6.0 // indirect
79
- github.com/gorilla/mux v1.8.1 // indirect
80
- github.com/hashicorp/errwrap v1.1.0 // indirect
81
- github.com/hashicorp/go-multierror v1.1.1 // indirect
82
- github.com/josharian/intern v1.0.0 // indirect
83
- github.com/json-iterator/go v1.1.12 // indirect
84
- github.com/klauspost/compress v1.17.11 // indirect
85
- github.com/klauspost/pgzip v1.2.6 // indirect
86
- github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec // indirect
87
- github.com/mailru/easyjson v0.7.7 // indirect
88
- github.com/mattn/go-runewidth v0.0.16 // indirect
89
- github.com/mattn/go-sqlite3 v1.14.24 // indirect
90
- github.com/miekg/pkcs11 v1.1.1 // indirect
91
- github.com/mistifyio/go-zfs/v3 v3.0.1 // indirect
92
- github.com/mitchellh/mapstructure v1.5.0 // indirect
93
- github.com/moby/docker-image-spec v1.3.1 // indirect
94
- github.com/moby/sys/capability v0.4.0 // indirect
95
- github.com/moby/sys/mountinfo v0.7.2 // indirect
96
- github.com/moby/sys/user v0.3.0 // indirect
97
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
98
- github.com/modern-go/reflect2 v1.0.2 // indirect
99
- github.com/oklog/ulid v1.3.1 // indirect
100
- github.com/opencontainers/image-spec v1.1.0 // indirect
101
- github.com/opencontainers/runtime-spec v1.2.0 // indirect
102
- github.com/opencontainers/selinux v1.11.1 // indirect
103
- github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f // indirect
104
- github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
105
- github.com/proglottis/gpgme v0.1.4 // indirect
106
- github.com/rivo/uniseg v0.4.7 // indirect
107
- github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect
108
- github.com/sigstore/fulcio v1.6.4 // indirect
109
- github.com/sigstore/rekor v1.3.8 // indirect
110
- github.com/sigstore/sigstore v1.8.12 // indirect
111
- github.com/smallstep/pkcs7 v0.1.1 // indirect
112
- github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 // indirect
113
- github.com/sylabs/sif/v2 v2.20.2 // indirect
114
- github.com/tchap/go-patricia/v2 v2.3.2 // indirect
115
- github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect
116
- github.com/ulikunitz/xz v0.5.12 // indirect
117
- github.com/vbatts/tar-split v0.11.7 // indirect
118
- github.com/vbauerster/mpb/v8 v8.9.1 // indirect
119
- go.mongodb.org/mongo-driver v1.14.0 // indirect
120
- go.opencensus.io v0.24.0 // indirect
121
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
122
- go.opentelemetry.io/otel v1.31.0 // indirect
123
- go.opentelemetry.io/otel/metric v1.31.0 // indirect
124
- go.opentelemetry.io/otel/trace v1.31.0 // indirect
125
- golang.org/x/crypto v0.35.0 // indirect
126
- golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect
127
- golang.org/x/net v0.36.0 // indirect
128
- golang.org/x/sync v0.11.0 // indirect
129
- golang.org/x/sys v0.30.0 // indirect
130
- golang.org/x/term v0.29.0 // indirect
131
- golang.org/x/text v0.22.0 // indirect
132
- google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect
133
- google.golang.org/grpc v1.69.4 // indirect
134
- google.golang.org/protobuf v1.36.2 // indirect
135
- gopkg.in/yaml.v3 v3.0.1 // indirect
136
- )