@liflig/cdk 2.21.1 → 2.21.3

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.
@@ -52,7 +52,7 @@ class Pipeline extends constructs.Construct {
52
52
  const checkCanRunFn = new lambda.SingletonFunction(this, "CheckCanRunFn", {
53
53
  uuid: "30ad3abb-f774-4804-a6ef-2c2f4a247362",
54
54
  code: new lambda.InlineCode(`exports.handler = ${checkCanRunHandler.toString()};`),
55
- runtime: lambda.Runtime.NODEJS_16_X,
55
+ runtime: lambda.Runtime.NODEJS_18_X,
56
56
  handler: "index.handler",
57
57
  timeout: cdk.Duration.seconds(10),
58
58
  });
@@ -71,7 +71,7 @@ class Pipeline extends constructs.Construct {
71
71
  const collectFilesFn = new lambda.SingletonFunction(this, "CollectFilesFn", {
72
72
  uuid: "c49cbfe1-50e0-4721-8964-fb20f4e5a7ad",
73
73
  code: new lambda.InlineCode(`exports.handler = ${collectFilesHandler.toString()};`),
74
- runtime: lambda.Runtime.NODEJS_16_X,
74
+ runtime: lambda.Runtime.NODEJS_18_X,
75
75
  handler: "index.handler",
76
76
  timeout: cdk.Duration.seconds(30),
77
77
  });
@@ -132,11 +132,10 @@ exports.Pipeline = Pipeline;
132
132
  // This is a self-contained function that will be serialized as a lambda.
133
133
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
134
  const collectFilesHandler = async (event) => {
135
- var _a;
136
135
  // eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
137
- const AWS = require("aws-sdk");
136
+ const { S3Client, ListObjectsV2Command, GetObjectCommand } = await Promise.resolve().then(() => require("@aws-sdk/client-s3"));
138
137
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
139
- const s3 = new AWS.S3();
138
+ const s3Client = new S3Client();
140
139
  console.log("Event received: ", event);
141
140
  const bucketName = event.bucketName;
142
141
  const bucketPrefix = event.bucketPrefix;
@@ -144,37 +143,37 @@ const collectFilesHandler = async (event) => {
144
143
  if (bucketPrefix.slice(-1) !== "/") {
145
144
  throw new Error(`Expected bucket prefix to end with '/' but its value is '${bucketPrefix}'`);
146
145
  }
147
- const files = await s3
148
- .listObjectsV2({
149
- Bucket: bucketName,
150
- Prefix: bucketPrefix,
151
- })
152
- .promise();
153
- async function getData(key) {
154
- const result = await s3
155
- .getObject({
146
+ async function listObjects() {
147
+ const { Contents } = await s3Client.send(new ListObjectsV2Command({
148
+ Bucket: bucketName,
149
+ Prefix: bucketPrefix,
150
+ }));
151
+ return Contents;
152
+ }
153
+ async function getObject(key) {
154
+ const { Body } = await s3Client.send(new GetObjectCommand({
156
155
  Bucket: bucketName,
157
156
  Key: key,
158
- })
159
- .promise();
160
- return result.Body.toString();
157
+ }));
158
+ return Body.toString();
161
159
  }
162
160
  let cloudAssembly = null;
163
161
  let variables = {};
164
- for (const file of (_a = files.Contents) !== null && _a !== void 0 ? _a : []) {
162
+ const files = await listObjects();
163
+ for (const file of files !== null && files !== void 0 ? files : []) {
165
164
  const key = file.Key;
166
165
  const filename = key.slice(bucketPrefix.length);
167
166
  console.log(`File: ${filename}`);
168
167
  if (filename === "cloud-assembly.json") {
169
168
  console.log("Found Cloud Assembly");
170
169
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
171
- cloudAssembly = JSON.parse(await getData(key));
170
+ cloudAssembly = JSON.parse(await getObject(key));
172
171
  }
173
172
  else if (/^variables.*\.json$/.test(filename)) {
174
173
  console.log("Found variables file");
175
174
  variables = {
176
175
  ...variables,
177
- ...JSON.parse(await getData(key)),
176
+ ...JSON.parse(await getObject(key)),
178
177
  };
179
178
  }
180
179
  else {
@@ -199,26 +198,32 @@ const collectFilesHandler = async (event) => {
199
198
  // This is a self-contained function that will be serialized as a lambda.
200
199
  const checkCanRunHandler = async (event) => {
201
200
  // eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
202
- const AWS = require("aws-sdk");
203
201
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
204
- const sf = new AWS.StepFunctions();
202
+ const { SFNClient, ListExecutionsCommand, ExecutionStatus } = await Promise.resolve().then(() => require("@aws-sdk/client-sfn"));
203
+ const sfnClient = new SFNClient();
205
204
  console.log("Event received: ", event);
206
205
  const stateMachineArn = event["stateMachineId"];
207
206
  const currentExecutionArn = event["executionId"];
208
- const executions = (await sf
209
- .listExecutions({
207
+ const { executions } = await sfnClient.send(new ListExecutionsCommand({
210
208
  stateMachineArn,
211
- statusFilter: "RUNNING",
212
- })
213
- .promise()).executions;
209
+ statusFilter: ExecutionStatus.RUNNING,
210
+ }));
211
+ if (!executions) {
212
+ throw new Error("Could not list executions");
213
+ }
214
214
  console.log("Executions: ", executions);
215
215
  const currentExecution = executions.find((it) => it.executionArn == currentExecutionArn);
216
216
  if (!currentExecution) {
217
217
  throw new Error("Could not find current execution");
218
218
  }
219
- const newer = executions.filter((it) => it.startDate > currentExecution.startDate).length;
219
+ const newer = executions.filter((it) => {
220
+ if (!it.startDate || !currentExecution.startDate) {
221
+ return false;
222
+ }
223
+ return it.startDate > currentExecution.startDate;
224
+ }).length;
220
225
  return {
221
226
  CanRunState: newer > 0 ? "SKIP" : executions.length == 1 ? "CONTINUE" : "WAIT",
222
227
  };
223
228
  };
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmVzL3BpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUV4QyxpREFBZ0Q7QUFDaEQsZ0VBQStEO0FBQy9ELDJDQUEwQztBQUMxQyxpREFBZ0Q7QUFFaEQscURBQW9EO0FBQ3BELHFFQUF5RDtBQUN6RCw2REFBNEQ7QUFDNUQsbUNBQWtDO0FBR2xDLG9DQUFpRDtBQUNqRCwrQ0FBc0U7QUFDdEUsNkNBQXdDO0FBOEN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQWEsUUFBUyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2hELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBb0I7O1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBb0IsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFN0QsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksSUFBQSw4QkFBc0IsRUFBQyxJQUFJLENBQUMsQ0FBQTtRQUV2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3hFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3REO1lBQ0QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsR0FBRyxDQUFDLFFB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QyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUVoRCxNQUFNLFVBQVUsR0FBRyxDQUNqQixNQUFNLEVBQUU7U0FDTCxjQUFjLENBQUM7UUFDZCxlQUFlO1FBQ2YsWUFBWSxFQUFFLFNBQVM7S0FDeEIsQ0FBQztTQUNELE9BQU8sRUFBRSxDQUNiLENBQUMsVUFBVSxDQUFBO0lBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFFdkMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUN0QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FDL0MsQ0FBQTtJQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUNsRCxDQUFDLE1BQU0sQ0FBQTtJQUVSLE9BQU87UUFDTCxXQUFXLEVBQ1QsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNO0tBQ3BFLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgZXZlbnRzVGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBzZm4gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zXCJcbmltcG9ydCB7IENvbmRpdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9uc1wiXG5pbXBvcnQgKiBhcyB0YXNrcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3NcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgdHlwZSB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgdHlwZSAqIGFzIF9BV1MgZnJvbSBcImF3cy1zZGtcIlxuaW1wb3J0IHsgZ2V0R3JpaWRBcnRlZmFjdEJ1Y2tldCB9IGZyb20gXCIuLi9ncmlpZFwiXG5pbXBvcnQgeyBwaXBlbGluZVMzUHJlZml4LCBwaXBlbGluZVMzVHJpZ2dlcktleSB9IGZyb20gXCIuL2NvbnZlbnRpb25zXCJcbmltcG9ydCB7IERlcGxveUVudiB9IGZyb20gXCIuL2RlcGxveS1lbnZcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lUHJvcHMge1xuICAvKipcbiAgICogQnVja2V0IGhvbGRpbmcgcGlwZWxpbmUgY29uZmlndXJhdGlvbiBhbmQgdHJpZ2dlciBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBleGlzdGluZyBidWNrZXQgYmFzZWQgb24gR3JpaWQgY29udmVudGlvbnNcbiAgICovXG4gIGFydGlmYWN0c0J1Y2tldD86IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIEVudmlyb25tZW50cyBmb3IgdGhpcyBwaXBlbGluZS4gRWFjaCBlbnZpcm9ubWVudCBpcyBkZXBsb3llZCBzZXF1ZW50aWFsbHlcbiAgICogaW4gdGhlIG9yZGVyIGdpdmVuLlxuICAgKi9cbiAgZW52aXJvbm1lbnRzOiBQaXBlbGluZUVudmlyb25tZW50W11cbiAgLyoqXG4gICAqIE5hbWUgb2YgcGlwZWxpbmUuIFRoaXMgaXMgdXNlZCBmb3IgdGhlIHBhdGggd2hlcmUgY29uZmlndXJhdGlvblxuICAgKiBpcyBzdG9yZWQgaW4gUzMuXG4gICAqL1xuICBwaXBlbGluZU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHJpZ2dlciB0aGUgcGlwZWxpbmUgd2hlbiB0aGUgdHJpZ2dlciBmaWxlIGlzIHdyaXR0ZW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgdHJpZ2dlckVuYWJsZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiBWUEMgdXNlZCBmb3IgRmFyZ2F0ZSByZXNvdXJjZXMuXG4gICAqL1xuICB2cGM6IGVjMi5JVnBjXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBBY2NvdW50IG51bWJlciBob3N0aW5nIHRoZSBlbnZpcm9ubWVudC5cbiAgICovXG4gIGFjY291bnRJZDogc3RyaW5nXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHRhc2tzIHRvIHJ1biBhZnRlciB0aGUgZW52aXJvbm1lbnQgaGFzIGJlZW4gZGVwbG95ZWQuXG4gICAqL1xuICBhZnRlclN1Y2Nlc3NmdWxEZXBsb3k/OiBzZm4uQ2hhaW5cbiAgLyoqXG4gICAqIE5hbWUgb2YgZW52aXJvbm1lbnQuXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQaXBlbGluZSBmb3IgZG9pbmcgYSBtdWx0aS1hY2NvdW50IENESyBkZXBsb3ltZW50IGJhc2VkXG4gKiBvbiBhIGJ1aWx0IENESyBDbG91ZCBBc3NlbWJseSBhbmQgcGFyYW1ldGVycyBzdG9yZWQgaW4gUzMuXG4gKlxuICogVGhlIGFjY291bnRzIGJlaW5nIGRlcGxveWVkIHRvIG11c3QgYmUgcHJvdmlzaW9uZWQgd2l0aFxuICogdGhlIExpZmxpZ0Nka0RlcGxveWVyRGVwcyBjb25zdHJ1Y3Qgc28gZXhwZWN0ZWQgSUFNXG4gKiByb2xlcyBpcyBwcmVzZW50LlxuICpcbiAqIFRoZSBwaXBlbGluZSBzdGFydHMgYnkgd3JpdGluZyBhbiBlbXB0eSBmaWxlIHRvXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L3RyaWdnZXJcbiAqXG4gKiBUaGUgQ0RLIGRlcGxveSBwcm9jZXNzIGlzIGhhbmRsZWQgYnkgbGlmbGlnLWNkay1kZXBsb3llci5cbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2FwcmFsaWZlY3ljbGUvbGlmbGlnLWNkay1kZXBsb3llclxuICpcbiAqIENvbmZpZ3VyYXRpb24gZmlsZXMgYXJlIHJlYWQgZnJvbSBTMyBhdCB0aGUgcGF0aFxuICogczM6Ly88YXJ0aWZhY3RzLWJ1Y2tldD4vcGlwZWxpbmVzLzxwaXBlbGluZS1uYW1lPi9cbiAqXG4gKiAgLSBjbG91ZC1hc3NlbWJseS5qc29uIHdoaWNoIGhhcyB0aGUgZm9ybWF0IGRlc2NyaWJlZCBhc1xuICogICAgQ0RLX0NMT1VEX0FTU0VNQkxZIGluIGxpZmxpZy1jZGstZGVwbG95ZXJcbiAqXG4gKiAgLSB2YXJpYWJsZXMqLmpzb24gd2hpY2ggY2FuIGJlIHplcm8gb3IgbW9yZSBmaWxlc1xuICogICAgd2l0aCBzdHJpbmctc3RyaW5nIG1hcCB0aGF0IHdpbGwgYmUgY29uY2F0ZW5hdGVkIHRvXG4gKiAgICBmb3JtIHRoZSBmb3JtYXQgZGVzY3JpYmVkIGFzIENES19WQVJJQUJMRVMgaW5cbiAqICAgIGxpZmxpZy1jZGstZGVwbG95ZXJcbiAqXG4gKiBUaGUgc2VwYXJhdGlvbiBvZiBDbG91ZCBBc3NlbWJseSBkZXRhaWxzIGFuZCB2YXJpYWJsZXMgZW5hYmxlc1xuICogc2VwYXJhdGlvbiBvZiBJYUMgY29kZSBhbmQgYXBwbGljYXRpb24gY29kZSBpZiB0aGV5IGFyZSBub3RcbiAqIGNvbG9jYXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgUGlwZWxpbmUgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBzM1ByZWZpeCA9IHBpcGVsaW5lUzNQcmVmaXgocHJvcHMucGlwZWxpbmVOYW1lKVxuICAgIGNvbnN0IHMzVHJpZ2dlcktleSA9IHBpcGVsaW5lUzNUcmlnZ2VyS2V5KHByb3BzLnBpcGVsaW5lTmFtZSlcblxuICAgIGNvbnN0IGFydGlmYWN0c0J1Y2tldCA9XG4gICAgICBwcm9wcy5hcnRpZmFjdHNCdWNrZXQgPz8gZ2V0R3JpaWRBcnRlZmFjdEJ1Y2tldCh0aGlzKVxuXG4gICAgY29uc3QgY2hlY2tDYW5SdW5GbiA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgXCJDaGVja0NhblJ1bkZuXCIsIHtcbiAgICAgIHV1aWQ6IFwiMzBhZDNhYmItZjc3NC00ODA0LWE2ZWYtMmMyZjRhMjQ3MzYyXCIsXG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke2NoZWNrQ2FuUnVuSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgKSxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNl9YLFxuICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcygxMCksXG4gICAgfSlcblxuICAgIGNvbnN0IGNoZWNrQ2FuUnVuVGFzayA9IG5ldyB0YXNrcy5MYW1iZGFJbnZva2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJDaGVjayBpZiB0aGUgcHJvY2VzcyBjYW4gcnVuXCIsXG4gICAgICB7XG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBjaGVja0NhblJ1bkZuLFxuICAgICAgICBvdXRwdXRQYXRoOiBcIiQuUGF5bG9hZFwiLFxuICAgICAgICBwYXlsb2FkOiBzZm4uVGFza0lucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgIFwic3RhdGVNYWNoaW5lSWQuJFwiOiBcIiQkLlN0YXRlTWFjaGluZS5JZFwiLFxuICAgICAgICAgIFwiZXhlY3V0aW9uSWQuJFwiOiBcIiQkLkV4ZWN1dGlvbi5JZFwiLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgY29uc3Qgd2FpdCA9IG5ldyBzZm4uV2FpdCh0aGlzLCBcIldhaXQgYmVmb3JlIHJlY2hlY2tpbmcgc3RhdHVzXCIsIHtcbiAgICAgIHRpbWU6IHNmbi5XYWl0VGltZS5kdXJhdGlvbihjZGsuRHVyYXRpb24uc2Vjb25kcygxNSkpLFxuICAgIH0pXG5cbiAgICBjb25zdCBza2lwID0gbmV3IHNmbi5TdWNjZWVkKHRoaXMsIFwiU2tpcFwiKVxuXG4gICAgY29uc3QgY29sbGVjdEZpbGVzRm4gPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ29sbGVjdEZpbGVzRm5cIixcbiAgICAgIHtcbiAgICAgICAgdXVpZDogXCJjNDljYmZlMS01MGUwLTQ3MjEtODk2NC1mYjIwZjRlNWE3YWRcIixcbiAgICAgICAgY29kZTogbmV3IGxhbWJkYS5JbmxpbmVDb2RlKFxuICAgICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke2NvbGxlY3RGaWxlc0hhbmRsZXIudG9TdHJpbmcoKX07YCxcbiAgICAgICAgKSxcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICB9LFxuICAgIClcblxuICAgIGFydGlmYWN0c0J1Y2tldC5ncmFudFJlYWQoY29sbGVjdEZpbGVzRm4pXG5cbiAgICBjb25zdCBjb2xsZWN0RmlsZXNUYXNrID0gbmV3IHRhc2tzLkxhbWJkYUludm9rZShcbiAgICAgIHRoaXMsXG4gICAgICBcIkNvbGxlY3QgZmlsZXMgZnJvbSBTM1wiLFxuICAgICAge1xuICAgICAgICBsYW1iZGFGdW5jdGlvbjogY29sbGVjdEZpbGVzRm4sXG4gICAgICAgIG91dHB1dFBhdGg6IFwiJC5QYXlsb2FkXCIsXG4gICAgICAgIHBheWxvYWQ6IHNmbi5UYXNrSW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgYnVja2V0TmFtZTogYXJ0aWZhY3RzQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgYnVja2V0UHJlZml4OiBzM1ByZWZpeCxcbiAgICAgICAgICBlbnZOYW1lczogcHJvcHMuZW52aXJvbm1lbnRzLm1hcCgoaXQpID0+IGl0Lm5hbWUpLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgbGV0IHJ1bjogc2ZuLkNoYWluID0gc2ZuLkNoYWluLnN0YXJ0KGNvbGxlY3RGaWxlc1Rhc2spXG5cbiAgICBjb25zdCBpZkhhdmluZ1N0YWNrcyA9IChuYW1lOiBzdHJpbmcsIHdvcms6IHNmbi5DaGFpbikgPT5cbiAgICAgIG5ldyBzZm4uQ2hvaWNlKHRoaXMsIGBDaGVjayBpZiAke25hbWV9IGhhcyBzdGFja3NgKVxuICAgICAgICAud2hlbihcbiAgICAgICAgICBDb25kaXRpb24ub3IoXG4gICAgICAgICAgICBDb25kaXRpb24uaXNOdWxsKGAkLlN0YWNrQ291bnRQZXJFbnYuJHtuYW1lfWApLFxuICAgICAgICAgICAgQ29uZGl0aW9uLm51bWJlckVxdWFscyhgJC5TdGFja0NvdW50UGVyRW52LiR7bmFtZX1gLCAwKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG5ldyBzZm4uUGFzcyh0aGlzLCBgU2tpcCAke25hbWV9YCksXG4gICAgICAgIClcbiAgICAgICAgLm90aGVyd2lzZSh3b3JrKVxuICAgICAgICAuYWZ0ZXJ3YXJkcygpXG5cbiAgICBmb3IgKGNvbnN0IGVudiBvZiBwcm9wcy5lbnZpcm9ubWVudHMpIHtcbiAgICAgIGNvbnN0IGl0ID0gbmV3IERlcGxveUVudih0aGlzLCBlbnYubmFtZSwge1xuICAgICAgICBhY2NvdW50SWQ6IGVudi5hY2NvdW50SWQsXG4gICAgICAgIGFmdGVyU3VjY2Vzc2Z1bERlcGxveTogZW52LmFmdGVyU3VjY2Vzc2Z1bERlcGxveSxcbiAgICAgICAgYXJ0ZWZhY3RCdWNrZXQ6IGFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgZW52TmFtZTogZW52Lm5hbWUsXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgfSlcblxuICAgICAgcnVuID0gcnVuLm5leHQoaWZIYXZpbmdTdGFja3MoZW52Lm5hbWUsIGl0LmNoYWluKSlcbiAgICB9XG5cbiAgICBjb25zdCBkZWZpbml0aW9uOiBzZm4uQ2hhaW4gPSBzZm4uQ2hhaW4uc3RhcnQoY2hlY2tDYW5SdW5UYXNrKS5uZXh0KFxuICAgICAgbmV3IHNmbi5DaG9pY2UodGhpcywgXCJDYW4gcnVuP1wiKVxuICAgICAgICAud2hlbihDb25kaXRpb24uc3RyaW5nRXF1YWxzKFwiJC5DYW5SdW5TdGF0ZVwiLCBcIkNPTlRJTlVFXCIpLCBydW4pXG4gICAgICAgIC53aGVuKENvbmRpdGlvbi5zdHJpbmdFcXVhbHMoXCIkLkNhblJ1blN0YXRlXCIsIFwiU0tJUFwiKSwgc2tpcClcbiAgICAgICAgLm90aGVyd2lzZSh3YWl0Lm5leHQoY2hlY2tDYW5SdW5UYXNrKSksXG4gICAgKVxuXG4gICAgY29uc3QgbWFjaGluZSA9IG5ldyBzZm4uU3RhdGVNYWNoaW5lKHRoaXMsIFwiU3RhdGVNYWNoaW5lXCIsIHtcbiAgICAgIGRlZmluaXRpb24sXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2RnL3Nmbi1zdHVjay1leGVjdXRpb24uaHRtbFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLmhvdXJzKDMpLFxuICAgIH0pXG5cbiAgICBuZXcgaWFtLlBvbGljeSh0aGlzLCBcIkNoZWNrQ2FuUnVuUG9saWN5XCIsIHtcbiAgICAgIHJvbGVzOiBbY2hlY2tDYW5SdW5Gbi5yb2xlIV0sXG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzdGF0ZXM6TGlzdEV4ZWN1dGlvbnNcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbbWFjaGluZS5zdGF0ZU1hY2hpbmVBcm5dLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIGlmIChwcm9wcy50cmlnZ2VyRW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICBhcnRpZmFjdHNCdWNrZXQub25DbG91ZFRyYWlsV3JpdGVPYmplY3QoXCJUcmlnZ2VyXCIsIHtcbiAgICAgICAgcGF0aHM6IFtzM1RyaWdnZXJLZXldLFxuICAgICAgICB0YXJnZXQ6IG5ldyBldmVudHNUYXJnZXRzLlNmblN0YXRlTWFjaGluZShtYWNoaW5lLCB7XG4gICAgICAgICAgaW5wdXQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7fSksXG4gICAgICAgIH0pLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIENsb3VkQXNzZW1ibHkge1xuICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gIGNsb3VkQXNzZW1ibHlCdWNrZXRLZXk6IHN0cmluZ1xuICBlbnZpcm9ubWVudHM6IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBzdGFja05hbWVzOiBzdHJpbmdbXVxuICB9W11cbiAgcGFyYW1ldGVyczoge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHZhbHVlOiB1bmtub3duIHwgeyB0eXBlOiBcInZhcmlhYmxlXCI7IHZhcmlhYmxlOiBzdHJpbmcgfVxuICB9W11cbn1cblxuLy8gVGhpcyBpcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBzZXJpYWxpemVkIGFzIGEgbGFtYmRhLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmNvbnN0IGNvbGxlY3RGaWxlc0hhbmRsZXI6IEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gIGNvbnN0IEFXUyA9IHJlcXVpcmUoXCJhd3Mtc2RrXCIpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gIGNvbnN0IHMzID0gbmV3IEFXUy5TMygpIGFzIF9BV1MuUzNcblxuICBjb25zb2xlLmxvZyhcIkV2ZW50IHJlY2VpdmVkOiBcIiwgZXZlbnQpXG5cbiAgY29uc3QgYnVja2V0TmFtZSA9IGV2ZW50LmJ1Y2tldE5hbWUgYXMgc3RyaW5nXG4gIGNvbnN0IGJ1Y2tldFByZWZpeCA9IGV2ZW50LmJ1Y2tldFByZWZpeCBhcyBzdHJpbmdcbiAgY29uc3QgZW52TmFtZXMgPSBldmVudC5lbnZOYW1lcyBhcyBzdHJpbmdbXVxuXG4gIGlmIChidWNrZXRQcmVmaXguc2xpY2UoLTEpICE9PSBcIi9cIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBFeHBlY3RlZCBidWNrZXQgcHJlZml4IHRvIGVuZCB3aXRoICcvJyBidXQgaXRzIHZhbHVlIGlzICcke2J1Y2tldFByZWZpeH0nYCxcbiAgICApXG4gIH1cblxuICBjb25zdCBmaWxlcyA9IGF3YWl0IHMzXG4gICAgLmxpc3RPYmplY3RzVjIoe1xuICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgUHJlZml4OiBidWNrZXRQcmVmaXgsXG4gICAgfSlcbiAgICAucHJvbWlzZSgpXG5cbiAgYXN5bmMgZnVuY3Rpb24gZ2V0RGF0YShrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgczNcbiAgICAgIC5nZXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IGJ1Y2tldE5hbWUsXG4gICAgICAgIEtleToga2V5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICByZXR1cm4gcmVzdWx0LkJvZHkhLnRvU3RyaW5nKClcbiAgfVxuXG4gIGxldCBjbG91ZEFzc2VtYmx5OiBDbG91ZEFzc2VtYmx5IHwgbnVsbCA9IG51bGxcbiAgbGV0IHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzLkNvbnRlbnRzID8/IFtdKSB7XG4gICAgY29uc3Qga2V5ID0gZmlsZS5LZXkhXG4gICAgY29uc3QgZmlsZW5hbWUgPSBrZXkuc2xpY2UoYnVja2V0UHJlZml4Lmxlbmd0aClcblxuICAgIGNvbnNvbGUubG9nKGBGaWxlOiAke2ZpbGVuYW1lfWApXG5cbiAgICBpZiAoZmlsZW5hbWUgPT09IFwiY2xvdWQtYXNzZW1ibHkuanNvblwiKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIkZvdW5kIENsb3VkIEFzc2VtYmx5XCIpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICBjbG91ZEFzc2VtYmx5ID0gSlNPTi5wYXJzZShhd2FpdCBnZXREYXRhKGtleSkpXG4gICAgfSBlbHNlIGlmICgvXnZhcmlhYmxlcy4qXFwuanNvbiQvLnRlc3QoZmlsZW5hbWUpKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIkZvdW5kIHZhcmlhYmxlcyBmaWxlXCIpXG4gICAgICB2YXJpYWJsZXMgPSB7XG4gICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgLi4uKEpTT04ucGFyc2UoYXdhaXQgZ2V0RGF0YShrZXkpKSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSxcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coXCJJZ25vcmluZyB1bmtub3duIGZpbGVcIilcbiAgICB9XG4gIH1cblxuICBpZiAoY2xvdWRBc3NlbWJseSA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsb3VkLWFzc2VtYmx5Lmpzb24gbm90IGZvdW5kXCIpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIENsb3VkQXNzZW1ibHk6IEpTT04uc3RyaW5naWZ5KGNsb3VkQXNzZW1ibHkpLFxuICAgIFZhcmlhYmxlczogSlNPTi5zdHJpbmdpZnkodmFyaWFibGVzKSxcbiAgICBTdGFja0NvdW50UGVyRW52OiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBlbnZOYW1lcy5tYXAoKG5hbWUpID0+IFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY2xvdWRBc3NlbWJseS5lbnZpcm9ubWVudHMuZmluZCgoaXQpID0+IGl0Lm5hbWUgPT09IG5hbWUpPy5zdGFja05hbWVzXG4gICAgICAgICAgLmxlbmd0aCA/PyAwLFxuICAgICAgXSksXG4gICAgKSxcbiAgfVxufVxuXG4vLyBUaGlzIGlzIGEgc2VsZi1jb250YWluZWQgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQgYXMgYSBsYW1iZGEuXG5jb25zdCBjaGVja0NhblJ1bkhhbmRsZXI6IEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gIGNvbnN0IEFXUyA9IHJlcXVpcmUoXCJhd3Mtc2RrXCIpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gIGNvbnN0IHNmID0gbmV3IEFXUy5TdGVwRnVuY3Rpb25zKCkgYXMgX0FXUy5TdGVwRnVuY3Rpb25zXG5cbiAgY29uc29sZS5sb2coXCJFdmVudCByZWNlaXZlZDogXCIsIGV2ZW50KVxuXG4gIGNvbnN0IHN0YXRlTWFjaGluZUFybiA9IGV2ZW50W1wic3RhdGVNYWNoaW5lSWRcIl1cbiAgY29uc3QgY3VycmVudEV4ZWN1dGlvbkFybiA9IGV2ZW50W1wiZXhlY3V0aW9uSWRcIl1cblxuICBjb25zdCBleGVjdXRpb25zID0gKFxuICAgIGF3YWl0IHNmXG4gICAgICAubGlzdEV4ZWN1dGlvbnMoe1xuICAgICAgICBzdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgIHN0YXR1c0ZpbHRlcjogXCJSVU5OSU5HXCIsXG4gICAgICB9KVxuICAgICAgLnByb21pc2UoKVxuICApLmV4ZWN1dGlvbnNcblxuICBjb25zb2xlLmxvZyhcIkV4ZWN1dGlvbnM6IFwiLCBleGVjdXRpb25zKVxuXG4gIGNvbnN0IGN1cnJlbnRFeGVjdXRpb24gPSBleGVjdXRpb25zLmZpbmQoXG4gICAgKGl0KSA9PiBpdC5leGVjdXRpb25Bcm4gPT0gY3VycmVudEV4ZWN1dGlvbkFybixcbiAgKVxuXG4gIGlmICghY3VycmVudEV4ZWN1dGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBmaW5kIGN1cnJlbnQgZXhlY3V0aW9uXCIpXG4gIH1cblxuICBjb25zdCBuZXdlciA9IGV4ZWN1dGlvbnMuZmlsdGVyKFxuICAgIChpdCkgPT4gaXQuc3RhcnREYXRlID4gY3VycmVudEV4ZWN1dGlvbi5zdGFydERhdGUsXG4gICkubGVuZ3RoXG5cbiAgcmV0dXJuIHtcbiAgICBDYW5SdW5TdGF0ZTpcbiAgICAgIG5ld2VyID4gMCA/IFwiU0tJUFwiIDogZXhlY3V0aW9ucy5sZW5ndGggPT0gMSA/IFwiQ09OVElOVUVcIiA6IFwiV0FJVFwiLFxuICB9XG59XG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmVzL3BpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUV4QyxpREFBZ0Q7QUFDaEQsZ0VBQStEO0FBQy9ELDJDQUEwQztBQUMxQyxpREFBZ0Q7QUFFaEQscURBQW9EO0FBQ3BELHFFQUF5RDtBQUN6RCw2REFBNEQ7QUFDNUQsbUNBQWtDO0FBRWxDLG9DQUFpRDtBQUNqRCwrQ0FBc0U7QUFDdEUsNkNBQXdDO0FBOEN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQWEsUUFBUyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2hELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBb0I7O1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBb0IsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFN0QsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksSUFBQSw4QkFBc0IsRUFBQyxJQUFJLENBQUMsQ0FBQTtRQUV2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3hFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3REO1lBQ0QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsR0FBRyxDQUFDLFFB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QUFDLE1BQU0sQ0FBQTtJQUVULE9BQU87UUFDTCxXQUFXLEVBQ1QsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNO0tBQ3BFLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgZXZlbnRzVGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBzZm4gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zXCJcbmltcG9ydCB7IENvbmRpdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9uc1wiXG5pbXBvcnQgKiBhcyB0YXNrcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3NcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgdHlwZSB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgeyBnZXRHcmlpZEFydGVmYWN0QnVja2V0IH0gZnJvbSBcIi4uL2dyaWlkXCJcbmltcG9ydCB7IHBpcGVsaW5lUzNQcmVmaXgsIHBpcGVsaW5lUzNUcmlnZ2VyS2V5IH0gZnJvbSBcIi4vY29udmVudGlvbnNcIlxuaW1wb3J0IHsgRGVwbG95RW52IH0gZnJvbSBcIi4vZGVwbG95LWVudlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWNrZXQgaG9sZGluZyBwaXBlbGluZSBjb25maWd1cmF0aW9uIGFuZCB0cmlnZ2VyIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGV4aXN0aW5nIGJ1Y2tldCBiYXNlZCBvbiBHcmlpZCBjb252ZW50aW9uc1xuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0PzogczMuSUJ1Y2tldFxuICAvKipcbiAgICogRW52aXJvbm1lbnRzIGZvciB0aGlzIHBpcGVsaW5lLiBFYWNoIGVudmlyb25tZW50IGlzIGRlcGxveWVkIHNlcXVlbnRpYWxseVxuICAgKiBpbiB0aGUgb3JkZXIgZ2l2ZW4uXG4gICAqL1xuICBlbnZpcm9ubWVudHM6IFBpcGVsaW5lRW52aXJvbm1lbnRbXVxuICAvKipcbiAgICogTmFtZSBvZiBwaXBlbGluZS4gVGhpcyBpcyB1c2VkIGZvciB0aGUgcGF0aCB3aGVyZSBjb25maWd1cmF0aW9uXG4gICAqIGlzIHN0b3JlZCBpbiBTMy5cbiAgICovXG4gIHBpcGVsaW5lTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBwaXBlbGluZSB3aGVuIHRoZSB0cmlnZ2VyIGZpbGUgaXMgd3JpdHRlbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICB0cmlnZ2VyRW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFZQQyB1c2VkIGZvciBGYXJnYXRlIHJlc291cmNlcy5cbiAgICovXG4gIHZwYzogZWMyLklWcGNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZUVudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIEFjY291bnQgbnVtYmVyIGhvc3RpbmcgdGhlIGVudmlyb25tZW50LlxuICAgKi9cbiAgYWNjb3VudElkOiBzdHJpbmdcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgdGFza3MgdG8gcnVuIGFmdGVyIHRoZSBlbnZpcm9ubWVudCBoYXMgYmVlbiBkZXBsb3llZC5cbiAgICovXG4gIGFmdGVyU3VjY2Vzc2Z1bERlcGxveT86IHNmbi5DaGFpblxuICAvKipcbiAgICogTmFtZSBvZiBlbnZpcm9ubWVudC5cbiAgICovXG4gIG5hbWU6IHN0cmluZ1xufVxuXG4vKipcbiAqIFBpcGVsaW5lIGZvciBkb2luZyBhIG11bHRpLWFjY291bnQgQ0RLIGRlcGxveW1lbnQgYmFzZWRcbiAqIG9uIGEgYnVpbHQgQ0RLIENsb3VkIEFzc2VtYmx5IGFuZCBwYXJhbWV0ZXJzIHN0b3JlZCBpbiBTMy5cbiAqXG4gKiBUaGUgYWNjb3VudHMgYmVpbmcgZGVwbG95ZWQgdG8gbXVzdCBiZSBwcm92aXNpb25lZCB3aXRoXG4gKiB0aGUgTGlmbGlnQ2RrRGVwbG95ZXJEZXBzIGNvbnN0cnVjdCBzbyBleHBlY3RlZCBJQU1cbiAqIHJvbGVzIGlzIHByZXNlbnQuXG4gKlxuICogVGhlIHBpcGVsaW5lIHN0YXJ0cyBieSB3cml0aW5nIGFuIGVtcHR5IGZpbGUgdG9cbiAqIHMzOi8vPGFydGlmYWN0cy1idWNrZXQ+L3BpcGVsaW5lcy88cGlwZWxpbmUtbmFtZT4vdHJpZ2dlclxuICpcbiAqIFRoZSBDREsgZGVwbG95IHByb2Nlc3MgaXMgaGFuZGxlZCBieSBsaWZsaWctY2RrLWRlcGxveWVyLlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXByYWxpZmVjeWNsZS9saWZsaWctY2RrLWRlcGxveWVyXG4gKlxuICogQ29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVhZCBmcm9tIFMzIGF0IHRoZSBwYXRoXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L1xuICpcbiAqICAtIGNsb3VkLWFzc2VtYmx5Lmpzb24gd2hpY2ggaGFzIHRoZSBmb3JtYXQgZGVzY3JpYmVkIGFzXG4gKiAgICBDREtfQ0xPVURfQVNTRU1CTFkgaW4gbGlmbGlnLWNkay1kZXBsb3llclxuICpcbiAqICAtIHZhcmlhYmxlcyouanNvbiB3aGljaCBjYW4gYmUgemVybyBvciBtb3JlIGZpbGVzXG4gKiAgICB3aXRoIHN0cmluZy1zdHJpbmcgbWFwIHRoYXQgd2lsbCBiZSBjb25jYXRlbmF0ZWQgdG9cbiAqICAgIGZvcm0gdGhlIGZvcm1hdCBkZXNjcmliZWQgYXMgQ0RLX1ZBUklBQkxFUyBpblxuICogICAgbGlmbGlnLWNkay1kZXBsb3llclxuICpcbiAqIFRoZSBzZXBhcmF0aW9uIG9mIENsb3VkIEFzc2VtYmx5IGRldGFpbHMgYW5kIHZhcmlhYmxlcyBlbmFibGVzXG4gKiBzZXBhcmF0aW9uIG9mIElhQyBjb2RlIGFuZCBhcHBsaWNhdGlvbiBjb2RlIGlmIHRoZXkgYXJlIG5vdFxuICogY29sb2NhdGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBQaXBlbGluZSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUGlwZWxpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IHMzUHJlZml4ID0gcGlwZWxpbmVTM1ByZWZpeChwcm9wcy5waXBlbGluZU5hbWUpXG4gICAgY29uc3QgczNUcmlnZ2VyS2V5ID0gcGlwZWxpbmVTM1RyaWdnZXJLZXkocHJvcHMucGlwZWxpbmVOYW1lKVxuXG4gICAgY29uc3QgYXJ0aWZhY3RzQnVja2V0ID1cbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldCA/PyBnZXRHcmlpZEFydGVmYWN0QnVja2V0KHRoaXMpXG5cbiAgICBjb25zdCBjaGVja0NhblJ1bkZuID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbih0aGlzLCBcIkNoZWNrQ2FuUnVuRm5cIiwge1xuICAgICAgdXVpZDogXCIzMGFkM2FiYi1mNzc0LTQ4MDQtYTZlZi0yYzJmNGEyNDczNjJcIixcbiAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7Y2hlY2tDYW5SdW5IYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICApLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICB9KVxuXG4gICAgY29uc3QgY2hlY2tDYW5SdW5UYXNrID0gbmV3IHRhc2tzLkxhbWJkYUludm9rZShcbiAgICAgIHRoaXMsXG4gICAgICBcIkNoZWNrIGlmIHRoZSBwcm9jZXNzIGNhbiBydW5cIixcbiAgICAgIHtcbiAgICAgICAgbGFtYmRhRnVuY3Rpb246IGNoZWNrQ2FuUnVuRm4sXG4gICAgICAgIG91dHB1dFBhdGg6IFwiJC5QYXlsb2FkXCIsXG4gICAgICAgIHBheWxvYWQ6IHNmbi5UYXNrSW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgXCJzdGF0ZU1hY2hpbmVJZC4kXCI6IFwiJCQuU3RhdGVNYWNoaW5lLklkXCIsXG4gICAgICAgICAgXCJleGVjdXRpb25JZC4kXCI6IFwiJCQuRXhlY3V0aW9uLklkXCIsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICApXG5cbiAgICBjb25zdCB3YWl0ID0gbmV3IHNmbi5XYWl0KHRoaXMsIFwiV2FpdCBiZWZvcmUgcmVjaGVja2luZyBzdGF0dXNcIiwge1xuICAgICAgdGltZTogc2ZuLldhaXRUaW1lLmR1cmF0aW9uKGNkay5EdXJhdGlvbi5zZWNvbmRzKDE1KSksXG4gICAgfSlcblxuICAgIGNvbnN0IHNraXAgPSBuZXcgc2ZuLlN1Y2NlZWQodGhpcywgXCJTa2lwXCIpXG5cbiAgICBjb25zdCBjb2xsZWN0RmlsZXNGbiA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgXCJDb2xsZWN0RmlsZXNGblwiLFxuICAgICAge1xuICAgICAgICB1dWlkOiBcImM0OWNiZmUxLTUwZTAtNDcyMS04OTY0LWZiMjBmNGU1YTdhZFwiLFxuICAgICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7Y29sbGVjdEZpbGVzSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgICApLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgYXJ0aWZhY3RzQnVja2V0LmdyYW50UmVhZChjb2xsZWN0RmlsZXNGbilcblxuICAgIGNvbnN0IGNvbGxlY3RGaWxlc1Rhc2sgPSBuZXcgdGFza3MuTGFtYmRhSW52b2tlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ29sbGVjdCBmaWxlcyBmcm9tIFMzXCIsXG4gICAgICB7XG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBjb2xsZWN0RmlsZXNGbixcbiAgICAgICAgb3V0cHV0UGF0aDogXCIkLlBheWxvYWRcIixcbiAgICAgICAgcGF5bG9hZDogc2ZuLlRhc2tJbnB1dC5mcm9tT2JqZWN0KHtcbiAgICAgICAgICBidWNrZXROYW1lOiBhcnRpZmFjdHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBidWNrZXRQcmVmaXg6IHMzUHJlZml4LFxuICAgICAgICAgIGVudk5hbWVzOiBwcm9wcy5lbnZpcm9ubWVudHMubWFwKChpdCkgPT4gaXQubmFtZSksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICApXG5cbiAgICBsZXQgcnVuOiBzZm4uQ2hhaW4gPSBzZm4uQ2hhaW4uc3RhcnQoY29sbGVjdEZpbGVzVGFzaylcblxuICAgIGNvbnN0IGlmSGF2aW5nU3RhY2tzID0gKG5hbWU6IHN0cmluZywgd29yazogc2ZuLkNoYWluKSA9PlxuICAgICAgbmV3IHNmbi5DaG9pY2UodGhpcywgYENoZWNrIGlmICR7bmFtZX0gaGFzIHN0YWNrc2ApXG4gICAgICAgIC53aGVuKFxuICAgICAgICAgIENvbmRpdGlvbi5vcihcbiAgICAgICAgICAgIENvbmRpdGlvbi5pc051bGwoYCQuU3RhY2tDb3VudFBlckVudi4ke25hbWV9YCksXG4gICAgICAgICAgICBDb25kaXRpb24ubnVtYmVyRXF1YWxzKGAkLlN0YWNrQ291bnRQZXJFbnYuJHtuYW1lfWAsIDApLFxuICAgICAgICAgICksXG4gICAgICAgICAgbmV3IHNmbi5QYXNzKHRoaXMsIGBTa2lwICR7bmFtZX1gKSxcbiAgICAgICAgKVxuICAgICAgICAub3RoZXJ3aXNlKHdvcmspXG4gICAgICAgIC5hZnRlcndhcmRzKClcblxuICAgIGZvciAoY29uc3QgZW52IG9mIHByb3BzLmVudmlyb25tZW50cykge1xuICAgICAgY29uc3QgaXQgPSBuZXcgRGVwbG95RW52KHRoaXMsIGVudi5uYW1lLCB7XG4gICAgICAgIGFjY291bnRJZDogZW52LmFjY291bnRJZCxcbiAgICAgICAgYWZ0ZXJTdWNjZXNzZnVsRGVwbG95OiBlbnYuYWZ0ZXJTdWNjZXNzZnVsRGVwbG95LFxuICAgICAgICBhcnRlZmFjdEJ1Y2tldDogYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICBlbnZOYW1lOiBlbnYubmFtZSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB9KVxuXG4gICAgICBydW4gPSBydW4ubmV4dChpZkhhdmluZ1N0YWNrcyhlbnYubmFtZSwgaXQuY2hhaW4pKVxuICAgIH1cblxuICAgIGNvbnN0IGRlZmluaXRpb246IHNmbi5DaGFpbiA9IHNmbi5DaGFpbi5zdGFydChjaGVja0NhblJ1blRhc2spLm5leHQoXG4gICAgICBuZXcgc2ZuLkNob2ljZSh0aGlzLCBcIkNhbiBydW4/XCIpXG4gICAgICAgIC53aGVuKENvbmRpdGlvbi5zdHJpbmdFcXVhbHMoXCIkLkNhblJ1blN0YXRlXCIsIFwiQ09OVElOVUVcIiksIHJ1bilcbiAgICAgICAgLndoZW4oQ29uZGl0aW9uLnN0cmluZ0VxdWFscyhcIiQuQ2FuUnVuU3RhdGVcIiwgXCJTS0lQXCIpLCBza2lwKVxuICAgICAgICAub3RoZXJ3aXNlKHdhaXQubmV4dChjaGVja0NhblJ1blRhc2spKSxcbiAgICApXG5cbiAgICBjb25zdCBtYWNoaW5lID0gbmV3IHNmbi5TdGF0ZU1hY2hpbmUodGhpcywgXCJTdGF0ZU1hY2hpbmVcIiwge1xuICAgICAgZGVmaW5pdGlvbixcbiAgICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvc2ZuLXN0dWNrLWV4ZWN1dGlvbi5odG1sXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uaG91cnMoMyksXG4gICAgfSlcblxuICAgIG5ldyBpYW0uUG9saWN5KHRoaXMsIFwiQ2hlY2tDYW5SdW5Qb2xpY3lcIiwge1xuICAgICAgcm9sZXM6IFtjaGVja0NhblJ1bkZuLnJvbGUhXSxcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcInN0YXRlczpMaXN0RXhlY3V0aW9uc1wiXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFttYWNoaW5lLnN0YXRlTWFjaGluZUFybl0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgaWYgKHByb3BzLnRyaWdnZXJFbmFibGVkID8/IHRydWUpIHtcbiAgICAgIGFydGlmYWN0c0J1Y2tldC5vbkNsb3VkVHJhaWxXcml0ZU9iamVjdChcIlRyaWdnZXJcIiwge1xuICAgICAgICBwYXRoczogW3MzVHJpZ2dlcktleV0sXG4gICAgICAgIHRhcmdldDogbmV3IGV2ZW50c1RhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKG1hY2hpbmUsIHtcbiAgICAgICAgICBpbnB1dDogZXZlbnRzLlJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KHt9KSxcbiAgICAgICAgfSksXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgQ2xvdWRBc3NlbWJseSB7XG4gIGNsb3VkQXNzZW1ibHlCdWNrZXROYW1lOiBzdHJpbmdcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldEtleTogc3RyaW5nXG4gIGVudmlyb25tZW50czoge1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG4gIH1bXVxuICBwYXJhbWV0ZXJzOiB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgdmFsdWU6IHVua25vd24gfCB7IHR5cGU6IFwidmFyaWFibGVcIjsgdmFyaWFibGU6IHN0cmluZyB9XG4gIH1bXVxufVxuXG4vLyBUaGlzIGlzIGEgc2VsZi1jb250YWluZWQgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQgYXMgYSBsYW1iZGEuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuY29uc3QgY29sbGVjdEZpbGVzSGFuZGxlcjogSGFuZGxlciA9IGFzeW5jIChldmVudDogUmVjb3JkPHN0cmluZywgYW55PikgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcbiAgY29uc3QgeyBTM0NsaWVudCwgTGlzdE9iamVjdHNWMkNvbW1hbmQsIEdldE9iamVjdENvbW1hbmQgfSA9IGF3YWl0IGltcG9ydChcbiAgICBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiXG4gIClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcblxuICBjb25zdCBzM0NsaWVudCA9IG5ldyBTM0NsaWVudCgpXG5cbiAgY29uc29sZS5sb2coXCJFdmVudCByZWNlaXZlZDogXCIsIGV2ZW50KVxuXG4gIGNvbnN0IGJ1Y2tldE5hbWUgPSBldmVudC5idWNrZXROYW1lIGFzIHN0cmluZ1xuICBjb25zdCBidWNrZXRQcmVmaXggPSBldmVudC5idWNrZXRQcmVmaXggYXMgc3RyaW5nXG4gIGNvbnN0IGVudk5hbWVzID0gZXZlbnQuZW52TmFtZXMgYXMgc3RyaW5nW11cblxuICBpZiAoYnVja2V0UHJlZml4LnNsaWNlKC0xKSAhPT0gXCIvXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYnVja2V0IHByZWZpeCB0byBlbmQgd2l0aCAnLycgYnV0IGl0cyB2YWx1ZSBpcyAnJHtidWNrZXRQcmVmaXh9J2AsXG4gICAgKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gbGlzdE9iamVjdHMoKSB7XG4gICAgY29uc3QgeyBDb250ZW50cyB9ID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBMaXN0T2JqZWN0c1YyQ29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgUHJlZml4OiBidWNrZXRQcmVmaXgsXG4gICAgICB9KSxcbiAgICApXG4gICAgcmV0dXJuIENvbnRlbnRzXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRPYmplY3Qoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgQm9keSB9ID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgICBLZXk6IGtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICByZXR1cm4gQm9keSEudG9TdHJpbmcoKVxuICB9XG5cbiAgbGV0IGNsb3VkQXNzZW1ibHk6IENsb3VkQXNzZW1ibHkgfCBudWxsID0gbnVsbFxuICBsZXQgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge31cblxuICBjb25zdCBmaWxlcyA9IGF3YWl0IGxpc3RPYmplY3RzKClcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzID8/IFtdKSB7XG4gICAgY29uc3Qga2V5ID0gZmlsZS5LZXkhXG4gICAgY29uc3QgZmlsZW5hbWUgPSBrZXkuc2xpY2UoYnVja2V0UHJlZml4Lmxlbmd0aClcblxuICAgIGNvbnNvbGUubG9nKGBGaWxlOiAke2ZpbGVuYW1lfWApXG5cbiAgICBpZiAoZmlsZW5hbWUgPT09IFwiY2xvdWQtYXNzZW1ibHkuanNvblwiKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIkZvdW5kIENsb3VkIEFzc2VtYmx5XCIpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICBjbG91ZEFzc2VtYmx5ID0gSlNPTi5wYXJzZShhd2FpdCBnZXRPYmplY3Qoa2V5KSlcbiAgICB9IGVsc2UgaWYgKC9edmFyaWFibGVzLipcXC5qc29uJC8udGVzdChmaWxlbmFtZSkpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiRm91bmQgdmFyaWFibGVzIGZpbGVcIilcbiAgICAgIHZhcmlhYmxlcyA9IHtcbiAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAuLi4oSlNPTi5wYXJzZShhd2FpdCBnZXRPYmplY3Qoa2V5KSkgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPiksXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiSWdub3JpbmcgdW5rbm93biBmaWxlXCIpXG4gICAgfVxuICB9XG5cbiAgaWYgKGNsb3VkQXNzZW1ibHkgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbG91ZC1hc3NlbWJseS5qc29uIG5vdCBmb3VuZFwiKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBDbG91ZEFzc2VtYmx5OiBKU09OLnN0cmluZ2lmeShjbG91ZEFzc2VtYmx5KSxcbiAgICBWYXJpYWJsZXM6IEpTT04uc3RyaW5naWZ5KHZhcmlhYmxlcyksXG4gICAgU3RhY2tDb3VudFBlckVudjogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZW52TmFtZXMubWFwKChuYW1lKSA9PiBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGNsb3VkQXNzZW1ibHkuZW52aXJvbm1lbnRzLmZpbmQoKGl0KSA9PiBpdC5uYW1lID09PSBuYW1lKT8uc3RhY2tOYW1lc1xuICAgICAgICAgIC5sZW5ndGggPz8gMCxcbiAgICAgIF0pLFxuICAgICksXG4gIH1cbn1cblxuLy8gVGhpcyBpcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBzZXJpYWxpemVkIGFzIGEgbGFtYmRhLlxuY29uc3QgY2hlY2tDYW5SdW5IYW5kbGVyOiBIYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuXG4gIGNvbnN0IHsgU0ZOQ2xpZW50LCBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsIEV4ZWN1dGlvblN0YXR1cyB9ID0gYXdhaXQgaW1wb3J0KFxuICAgIFwiQGF3cy1zZGsvY2xpZW50LXNmblwiXG4gIClcbiAgY29uc3Qgc2ZuQ2xpZW50ID0gbmV3IFNGTkNsaWVudCgpXG5cbiAgY29uc29sZS5sb2coXCJFdmVudCByZWNlaXZlZDogXCIsIGV2ZW50KVxuXG4gIGNvbnN0IHN0YXRlTWFjaGluZUFybiA9IGV2ZW50W1wic3RhdGVNYWNoaW5lSWRcIl1cbiAgY29uc3QgY3VycmVudEV4ZWN1dGlvbkFybiA9IGV2ZW50W1wiZXhlY3V0aW9uSWRcIl1cblxuICBjb25zdCB7IGV4ZWN1dGlvbnMgfSA9IGF3YWl0IHNmbkNsaWVudC5zZW5kKFxuICAgIG5ldyBMaXN0RXhlY3V0aW9uc0NvbW1hbmQoe1xuICAgICAgc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgc3RhdHVzRmlsdGVyOiBFeGVjdXRpb25TdGF0dXMuUlVOTklORyxcbiAgICB9KSxcbiAgKVxuXG4gIGlmICghZXhlY3V0aW9ucykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBsaXN0IGV4ZWN1dGlvbnNcIilcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFwiRXhlY3V0aW9uczogXCIsIGV4ZWN1dGlvbnMpXG5cbiAgY29uc3QgY3VycmVudEV4ZWN1dGlvbiA9IGV4ZWN1dGlvbnMuZmluZChcbiAgICAoaXQpID0+IGl0LmV4ZWN1dGlvbkFybiA9PSBjdXJyZW50RXhlY3V0aW9uQXJuLFxuICApXG5cbiAgaWYgKCFjdXJyZW50RXhlY3V0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGZpbmQgY3VycmVudCBleGVjdXRpb25cIilcbiAgfVxuXG4gIGNvbnN0IG5ld2VyID0gZXhlY3V0aW9ucy5maWx0ZXIoKGl0KSA9PiB7XG4gICAgaWYgKCFpdC5zdGFydERhdGUgfHwgIWN1cnJlbnRFeGVjdXRpb24uc3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIGl0LnN0YXJ0RGF0ZSA+IGN1cnJlbnRFeGVjdXRpb24uc3RhcnREYXRlXG4gIH0pLmxlbmd0aFxuXG4gIHJldHVybiB7XG4gICAgQ2FuUnVuU3RhdGU6XG4gICAgICBuZXdlciA+IDAgPyBcIlNLSVBcIiA6IGV4ZWN1dGlvbnMubGVuZ3RoID09IDEgPyBcIkNPTlRJTlVFXCIgOiBcIldBSVRcIixcbiAgfVxufVxuIl19
@@ -13,5 +13,5 @@ type OnEventHandler = (event: {
13
13
  PhysicalResourceId?: string;
14
14
  Data?: Record<string, any>;
15
15
  }>;
16
- export declare const configurationSetSnsDestinationHandler: OnEventHandler;
16
+ export declare const handler: OnEventHandler;
17
17
  export {};
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configurationSetSnsDestinationHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const configurationSetSnsDestinationHandler = async (event) => {
7
- const AWS = require("aws-sdk");
8
- const ses = new AWS.SESV2();
3
+ exports.handler = void 0;
4
+ const client_sesv2_1 = require("@aws-sdk/client-sesv2");
5
+ const handler = async (event) => {
6
+ const sesv2Client = new client_sesv2_1.SESv2Client();
9
7
  const configurationSetName = event.ResourceProperties.ConfigurationSetName;
10
8
  const eventDestinationName = event.ResourceProperties.EventDestinationName;
11
9
  const snsTopicArn = event.ResourceProperties.SnsTopicArn;
12
- const matchingEventTypes = event.ResourceProperties.MatchingEventTypes;
10
+ const matchingEventTypes = event.ResourceProperties.MatchingEventTypes.map((eventType) => eventType);
13
11
  const eventDestination = {
14
12
  MatchingEventTypes: matchingEventTypes,
15
13
  Enabled: true,
@@ -20,24 +18,20 @@ const configurationSetSnsDestinationHandler = async (event) => {
20
18
  console.log(`EventDestination ${JSON.stringify(eventDestination)}`);
21
19
  switch (event.RequestType) {
22
20
  case "Delete":
23
- const deleteResponse = await ses
24
- .deleteConfigurationSetEventDestination({
21
+ const deleteResponse = await sesv2Client.send(new client_sesv2_1.DeleteConfigurationSetEventDestinationCommand({
25
22
  ConfigurationSetName: configurationSetName,
26
23
  EventDestinationName: eventDestinationName,
27
- })
28
- .promise();
24
+ }));
29
25
  console.log(`ses.deleteConfigurationSetEventDestination: ${JSON.stringify(deleteResponse)}`);
30
26
  return {
31
27
  PhysicalResourceId: event.PhysicalResourceId,
32
28
  };
33
29
  case "Create":
34
- const createResponse = await ses
35
- .createConfigurationSetEventDestination({
30
+ const createResponse = await sesv2Client.send(new client_sesv2_1.CreateConfigurationSetEventDestinationCommand({
36
31
  ConfigurationSetName: configurationSetName,
37
32
  EventDestinationName: eventDestinationName,
38
33
  EventDestination: eventDestination,
39
- })
40
- .promise();
34
+ }));
41
35
  console.log(`ses.createConfigurationSetEventDestination: ${JSON.stringify(createResponse)}`);
42
36
  return {
43
37
  PhysicalResourceId: `ConfigurationSetSnsDestination-${configurationSetName}-${eventDestinationName}`,
@@ -47,23 +41,19 @@ const configurationSetSnsDestinationHandler = async (event) => {
47
41
  const previousConfigurationSetName = event.OldResourceProperties.ConfigurationSetName;
48
42
  if (configurationSetName !== previousConfigurationSetName ||
49
43
  eventDestinationName !== previousEventDestinationName) {
50
- const createResponse = await ses
51
- .createConfigurationSetEventDestination({
44
+ const createResponse = await sesv2Client.send(new client_sesv2_1.CreateConfigurationSetEventDestinationCommand({
52
45
  ConfigurationSetName: configurationSetName,
53
46
  EventDestinationName: eventDestinationName,
54
47
  EventDestination: eventDestination,
55
- })
56
- .promise();
48
+ }));
57
49
  console.log(`ses.createConfigurationSetEventDestination: ${JSON.stringify(createResponse)}`);
58
50
  }
59
51
  else {
60
- const updateResponse = await ses
61
- .updateConfigurationSetEventDestination({
52
+ const updateResponse = await sesv2Client.send(new client_sesv2_1.UpdateConfigurationSetEventDestinationCommand({
62
53
  ConfigurationSetName: configurationSetName,
63
54
  EventDestinationName: eventDestinationName,
64
55
  EventDestination: eventDestination,
65
- })
66
- .promise();
56
+ }));
67
57
  console.log(`ses.UpdateConfigurationSetEventDestination: ${JSON.stringify(updateResponse)}`);
68
58
  }
69
59
  return {
@@ -71,5 +61,5 @@ const configurationSetSnsDestinationHandler = async (event) => {
71
61
  };
72
62
  }
73
63
  };
74
- exports.configurationSetSnsDestinationHandler = configurationSetSnsDestinationHandler;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvY29uZmlndXJhdGlvbnNldHNuc2Rlc3RpbmF0aW9uL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0JBLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDdEIsTUFBTSxxQ0FBcUMsR0FBbUIsS0FBSyxFQUN4RSxLQUFLLEVBQ0wsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLEdBQUcsR0FBYyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQWdCLENBQUE7SUFFcEQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUE7SUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUE7SUFDMUUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV0RSxNQUFNLGdCQUFnQixHQUFnRDtRQUNwRSxrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUU7WUFDZCxRQUFRLEVBQUUsV0FBVztTQUN0QjtLQUNGLENBQUE7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRW5FLFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLEtBQUssUUFBUTtZQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRztpQkFDN0Isc0NBQXNDLENBQUM7Z0JBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsb0JBQW9CLEVBQUUsb0JBQW9CO2FBQzNDLENBQUM7aUJBQ0QsT0FBTyxFQUFFLENBQUE7WUFDWixPQUFPLENBQUMsR0FBRyxDQUNULCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxjQUFjLENBQ2YsRUFBRSxDQUNKLENBQUE7WUFFRCxPQUFPO2dCQUNMLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7YUFDN0MsQ0FBQTtRQUVILEtBQUssUUFBUTtZQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRztpQkFDN0Isc0NBQXNDLENBQUM7Z0JBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7YUFDbkMsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQTtZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsa0NBQWtDLG9CQUFvQixJQUFJLG9CQUFvQixFQUFFO2FBQ3JHLENBQUE7UUFFSCxLQUFLLFFBQVE7WUFDWCxNQUFNLDRCQUE0QixHQUNoQyxLQUFLLENBQUMscUJBQXNCLENBQUMsb0JBQW9CLENBQUE7WUFDbkQsTUFBTSw0QkFBNEIsR0FDaEMsS0FBSyxDQUFDLHFCQUFzQixDQUFDLG9CQUFvQixDQUFBO1lBRW5ELElBQ0Usb0JBQW9CLEtBQUssNEJBQTRCO2dCQUNyRCxvQkFBb0IsS0FBSyw0QkFBNEIsRUFDckQsQ0FBQztnQkFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUc7cUJBQzdCLHNDQUFzQyxDQUFDO29CQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtvQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2lCQUNuQyxDQUFDO3FCQUNELE9BQU8sRUFBRSxDQUFBO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUc7cUJBQzdCLHNDQUFzQyxDQUFDO29CQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtvQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2lCQUNuQyxDQUFDO3FCQUNELE9BQU8sRUFBRSxDQUFBO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNILENBQUM7WUFFRCxPQUFPO2dCQUNMLGtCQUFrQixFQUFFLGtDQUFrQyxvQkFBb0IsSUFBSSxvQkFBb0IsRUFBRTthQUNyRyxDQUFBO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQTtBQWxHWSxRQUFBLHFDQUFxQyx5Q0FrR2pEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgKiBhcyBfQVdTIGZyb20gXCJhd3Mtc2RrXCJcblxuaW50ZXJmYWNlIFJlc291cmNlUHJvcHMge1xuICBDb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIEV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgU25zVG9waWNBcm46IHN0cmluZ1xuICBNYXRjaGluZ0V2ZW50VHlwZXM6IHN0cmluZ1tdXG59XG5cbnR5cGUgT25FdmVudEhhbmRsZXIgPSAoZXZlbnQ6IHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIFJlcXVlc3RUeXBlOiBcIkNyZWF0ZVwiIHwgXCJVcGRhdGVcIiB8IFwiRGVsZXRlXCJcbiAgUmVzb3VyY2VQcm9wZXJ0aWVzOiBSZXNvdXJjZVByb3BzXG4gIE9sZFJlc291cmNlUHJvcGVydGllcz86IFJlc291cmNlUHJvcHNcbn0pID0+IFByb21pc2U8e1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT5cbn0+XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyOiBPbkV2ZW50SGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIilcblxuICBjb25zdCBzZXM6IEFXUy5TRVNWMiA9IG5ldyBBV1MuU0VTVjIoKSBhcyBfQVdTLlNFU1YyXG5cbiAgY29uc3QgY29uZmlndXJhdGlvblNldE5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ29uZmlndXJhdGlvblNldE5hbWVcbiAgY29uc3QgZXZlbnREZXN0aW5hdGlvbk5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgY29uc3Qgc25zVG9waWNBcm4gPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuU25zVG9waWNBcm5cbiAgY29uc3QgbWF0Y2hpbmdFdmVudFR5cGVzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLk1hdGNoaW5nRXZlbnRUeXBlc1xuXG4gIGNvbnN0IGV2ZW50RGVzdGluYXRpb246IF9BV1MuU0VTVjIuVHlwZXMuRXZlbnREZXN0aW5hdGlvbkRlZmluaXRpb24gPSB7XG4gICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBtYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgRW5hYmxlZDogdHJ1ZSxcbiAgICBTbnNEZXN0aW5hdGlvbjoge1xuICAgICAgVG9waWNBcm46IHNuc1RvcGljQXJuLFxuICAgIH0sXG4gIH1cblxuICBjb25zb2xlLmxvZyhgRXZlbnREZXN0aW5hdGlvbiAke0pTT04uc3RyaW5naWZ5KGV2ZW50RGVzdGluYXRpb24pfWApXG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgXCJEZWxldGVcIjpcbiAgICAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgIC5kZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbih7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBzZXMuZGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZGVsZXRlUmVzcG9uc2UsXG4gICAgICAgICl9YCxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQsXG4gICAgICB9XG5cbiAgICBjYXNlIFwiQ3JlYXRlXCI6XG4gICAgICBjb25zdCBjcmVhdGVSZXNwb25zZSA9IGF3YWl0IHNlc1xuICAgICAgICAuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24oe1xuICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgICAgRXZlbnREZXN0aW5hdGlvbjogZXZlbnREZXN0aW5hdGlvbixcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgY3JlYXRlUmVzcG9uc2UsXG4gICAgICAgICl9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogYENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvbi0ke2NvbmZpZ3VyYXRpb25TZXROYW1lfS0ke2V2ZW50RGVzdGluYXRpb25OYW1lfWAsXG4gICAgICB9XG5cbiAgICBjYXNlIFwiVXBkYXRlXCI6XG4gICAgICBjb25zdCBwcmV2aW91c0V2ZW50RGVzdGluYXRpb25OYW1lID1cbiAgICAgICAgZXZlbnQuT2xkUmVzb3VyY2VQcm9wZXJ0aWVzIS5FdmVudERlc3RpbmF0aW9uTmFtZVxuICAgICAgY29uc3QgcHJldmlvdXNDb25maWd1cmF0aW9uU2V0TmFtZSA9XG4gICAgICAgIGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcyEuQ29uZmlndXJhdGlvblNldE5hbWVcblxuICAgICAgaWYgKFxuICAgICAgICBjb25maWd1cmF0aW9uU2V0TmFtZSAhPT0gcHJldmlvdXNDb25maWd1cmF0aW9uU2V0TmFtZSB8fFxuICAgICAgICBldmVudERlc3RpbmF0aW9uTmFtZSAhPT0gcHJldmlvdXNFdmVudERlc3RpbmF0aW9uTmFtZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgICAgLmNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucHJvbWlzZSgpXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBjcmVhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgICAgLnVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucHJvbWlzZSgpXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICB1cGRhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uLSR7Y29uZmlndXJhdGlvblNldE5hbWV9LSR7ZXZlbnREZXN0aW5hdGlvbk5hbWV9YCxcbiAgICAgIH1cbiAgfVxufVxuIl19
64
+ exports.handler = handler;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvY29uZmlndXJhdGlvbnNldHNuc2Rlc3RpbmF0aW9uL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBTzhCO0FBb0J2QixNQUFNLE9BQU8sR0FBbUIsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3JELE1BQU0sV0FBVyxHQUFHLElBQUksMEJBQVcsRUFBRSxDQUFBO0lBQ3JDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFBO0lBQzFFLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFBO0lBQzFFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUE7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUN4RSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBc0IsQ0FDdEMsQ0FBQTtJQUVELE1BQU0sZ0JBQWdCLEdBQStCO1FBQ25ELGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxPQUFPLEVBQUUsSUFBSTtRQUNiLGNBQWMsRUFBRTtZQUNkLFFBQVEsRUFBRSxXQUFXO1NBQ3RCO0tBQ0YsQ0FBQTtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFbkUsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUIsS0FBSyxRQUFRO1lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUMzQyxJQUFJLDREQUE2QyxDQUFDO2dCQUNoRCxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjthQUMzQyxDQUFDLENBQ0gsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUVELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUM3QyxDQUFBO1FBRUgsS0FBSyxRQUFRO1lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUMzQyxJQUFJLDREQUE2QyxDQUFDO2dCQUNoRCxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBQ25DLENBQUMsQ0FDSCxDQUFBO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0QsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxrQ0FBa0Msb0JBQW9CLElBQUksb0JBQW9CLEVBQUU7YUFDckcsQ0FBQTtRQUVILEtBQUssUUFBUTtZQUNYLE1BQU0sNEJBQTRCLEdBQ2hDLEtBQUssQ0FBQyxxQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQTtZQUNuRCxNQUFNLDRCQUE0QixHQUNoQyxLQUFLLENBQUMscUJBQXNCLENBQUMsb0JBQW9CLENBQUE7WUFFbkQsSUFDRSxvQkFBb0IsS0FBSyw0QkFBNEI7Z0JBQ3JELG9CQUFvQixLQUFLLDRCQUE0QixFQUNyRCxDQUFDO2dCQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FDM0MsSUFBSSw0REFBNkMsQ0FBQztvQkFDaEQsb0JBQW9CLEVBQUUsb0JBQW9CO29CQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtpQkFDbkMsQ0FBQyxDQUNILENBQUE7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FDM0MsSUFBSSw0REFBNkMsQ0FBQztvQkFDaEQsb0JBQW9CLEVBQUUsb0JBQW9CO29CQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtpQkFDbkMsQ0FBQyxDQUNILENBQUE7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0gsQ0FBQztZQUVELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsa0NBQWtDLG9CQUFvQixJQUFJLG9CQUFvQixFQUFFO2FBQ3JHLENBQUE7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBL0ZZLFFBQUEsT0FBTyxXQStGbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTRVN2MkNsaWVudCxcbiAgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kLFxuICBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgRXZlbnRUeXBlLFxuICBFdmVudERlc3RpbmF0aW9uRGVmaW5pdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZXN2MlwiXG5cbmludGVyZmFjZSBSZXNvdXJjZVByb3BzIHtcbiAgQ29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZ1xuICBFdmVudERlc3RpbmF0aW9uTmFtZTogc3RyaW5nXG4gIFNuc1RvcGljQXJuOiBzdHJpbmdcbiAgTWF0Y2hpbmdFdmVudFR5cGVzOiBzdHJpbmdbXVxufVxuXG50eXBlIE9uRXZlbnRIYW5kbGVyID0gKGV2ZW50OiB7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICBSZXF1ZXN0VHlwZTogXCJDcmVhdGVcIiB8IFwiVXBkYXRlXCIgfCBcIkRlbGV0ZVwiXG4gIFJlc291cmNlUHJvcGVydGllczogUmVzb3VyY2VQcm9wc1xuICBPbGRSZXNvdXJjZVByb3BlcnRpZXM/OiBSZXNvdXJjZVByb3BzXG59KSA9PiBQcm9taXNlPHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG59PlxuXG5leHBvcnQgY29uc3QgaGFuZGxlcjogT25FdmVudEhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgY29uc3Qgc2VzdjJDbGllbnQgPSBuZXcgU0VTdjJDbGllbnQoKVxuICBjb25zdCBjb25maWd1cmF0aW9uU2V0TmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Db25maWd1cmF0aW9uU2V0TmFtZVxuICBjb25zdCBldmVudERlc3RpbmF0aW9uTmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5FdmVudERlc3RpbmF0aW9uTmFtZVxuICBjb25zdCBzbnNUb3BpY0FybiA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5TbnNUb3BpY0FyblxuICBjb25zdCBtYXRjaGluZ0V2ZW50VHlwZXMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuTWF0Y2hpbmdFdmVudFR5cGVzLm1hcChcbiAgICAoZXZlbnRUeXBlKSA9PiBldmVudFR5cGUgYXMgRXZlbnRUeXBlLFxuICApXG5cbiAgY29uc3QgZXZlbnREZXN0aW5hdGlvbjogRXZlbnREZXN0aW5hdGlvbkRlZmluaXRpb24gPSB7XG4gICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBtYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgRW5hYmxlZDogdHJ1ZSxcbiAgICBTbnNEZXN0aW5hdGlvbjoge1xuICAgICAgVG9waWNBcm46IHNuc1RvcGljQXJuLFxuICAgIH0sXG4gIH1cblxuICBjb25zb2xlLmxvZyhgRXZlbnREZXN0aW5hdGlvbiAke0pTT04uc3RyaW5naWZ5KGV2ZW50RGVzdGluYXRpb24pfWApXG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgXCJEZWxldGVcIjpcbiAgICAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgbmV3IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYHNlcy5kZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBkZWxldGVSZXNwb25zZSxcbiAgICAgICAgKX1gLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICAgIH1cblxuICAgIGNhc2UgXCJDcmVhdGVcIjpcbiAgICAgIGNvbnN0IGNyZWF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgbmV3IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICBFdmVudERlc3RpbmF0aW9uOiBldmVudERlc3RpbmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgc2VzLmNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGNyZWF0ZVJlc3BvbnNlLFxuICAgICAgICApfWAsXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24tJHtjb25maWd1cmF0aW9uU2V0TmFtZX0tJHtldmVudERlc3RpbmF0aW9uTmFtZX1gLFxuICAgICAgfVxuXG4gICAgY2FzZSBcIlVwZGF0ZVwiOlxuICAgICAgY29uc3QgcHJldmlvdXNFdmVudERlc3RpbmF0aW9uTmFtZSA9XG4gICAgICAgIGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcyEuRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29uZmlndXJhdGlvblNldE5hbWUgPVxuICAgICAgICBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMhLkNvbmZpZ3VyYXRpb25TZXROYW1lXG5cbiAgICAgIGlmIChcbiAgICAgICAgY29uZmlndXJhdGlvblNldE5hbWUgIT09IHByZXZpb3VzQ29uZmlndXJhdGlvblNldE5hbWUgfHxcbiAgICAgICAgZXZlbnREZXN0aW5hdGlvbk5hbWUgIT09IHByZXZpb3VzRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBjcmVhdGVSZXNwb25zZSA9IGF3YWl0IHNlc3YyQ2xpZW50LnNlbmQoXG4gICAgICAgICAgbmV3IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgICBDb25maWd1cmF0aW9uU2V0TmFtZTogY29uZmlndXJhdGlvblNldE5hbWUsXG4gICAgICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgICAgICBFdmVudERlc3RpbmF0aW9uOiBldmVudERlc3RpbmF0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBjcmVhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgICBuZXcgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYHNlcy5VcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHVwZGF0ZVJlc3BvbnNlLFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24tJHtjb25maWd1cmF0aW9uU2V0TmFtZX0tJHtldmVudERlc3RpbmF0aW9uTmFtZX1gLFxuICAgICAgfVxuICB9XG59XG4iXX0=
@@ -6,9 +6,9 @@ const iam = require("aws-cdk-lib/aws-iam");
6
6
  const lambda = require("aws-cdk-lib/aws-lambda");
7
7
  const cdk = require("aws-cdk-lib");
8
8
  const cr = require("aws-cdk-lib/custom-resources");
9
- const handler_1 = require("./handler");
10
9
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
11
10
  const snsSubscriptions = require("aws-cdk-lib/aws-sns-subscriptions");
11
+ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
12
12
  class ConfigurationSetSnsDestination extends constructs.Construct {
13
13
  constructor(scope, id, props) {
14
14
  var _a;
@@ -26,7 +26,7 @@ class ConfigurationSetSnsDestination extends constructs.Construct {
26
26
  const sesEventLoggerFunction = new lambda.Function(this, "EventsHandler", {
27
27
  code: new lambda.InlineCode(`exports.handler = ${sesEventLoggerHandler.toString()};`),
28
28
  handler: "index.handler",
29
- runtime: lambda.Runtime.NODEJS_16_X,
29
+ runtime: lambda.Runtime.NODEJS_18_X,
30
30
  logRetention: aws_logs_1.RetentionDays.THREE_MONTHS,
31
31
  });
32
32
  if ((_a = props.logEvents) !== null && _a !== void 0 ? _a : true) {
@@ -51,11 +51,11 @@ class ConfigurationSetSnsDestinationProvider extends constructs.Construct {
51
51
  constructor(scope, id) {
52
52
  super(scope, id);
53
53
  this.provider = new cr.Provider(this, "Provider", {
54
- onEventHandler: new lambda.Function(this, "Function", {
55
- code: new lambda.InlineCode(`exports.handler = ${handler_1.configurationSetSnsDestinationHandler.toString()};`),
56
- handler: "index.handler",
57
- runtime: lambda.Runtime.NODEJS_16_X,
54
+ onEventHandler: new aws_lambda_nodejs_1.NodejsFunction(this, "Function", {
55
+ entry: require.resolve("./handler"),
56
+ runtime: lambda.Runtime.NODEJS_18_X,
58
57
  timeout: cdk.Duration.minutes(5),
58
+ awsSdkConnectionReuse: false,
59
59
  initialPolicy: [
60
60
  new iam.PolicyStatement({
61
61
  actions: [
@@ -72,4 +72,4 @@ class ConfigurationSetSnsDestinationProvider extends constructs.Construct {
72
72
  this.serviceToken = this.provider.serviceToken;
73
73
  }
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELHVDQUFpRTtBQUNqRSxtREFBb0Q7QUFDcEQsc0VBQXFFO0FBdUNyRSxNQUFhLDhCQUErQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3RFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTBDOztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFDVixzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUN2RSxVQUFVLEVBQUU7Z0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDcEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtnQkFDNUMsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3pEO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsd0JBQWEsQ0FBQyxZQUFZO1NBQ3pDLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDNUIsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUNoRSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5DRCx3RUFtQ0M7QUFFRCxNQUFNLHFCQUFxQixHQUFlLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2pFLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLHNDQUF1QyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUEyQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxNQUFNLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQTtRQUN6RCxPQUFPLENBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUE0QztZQUN2RSxJQUFJLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFLRCxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNwRCxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUN6QixxQkFBcUIsK0NBQXFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDekU7Z0JBQ0QsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCw0Q0FBNEM7NEJBQzVDLDRDQUE0Qzs0QkFDNUMsNENBQTRDOzRCQUM1QywwQ0FBMEM7eUJBQzNDO3dCQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyIH0gZnJvbSBcIi4vaGFuZGxlclwiXG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCJcbmltcG9ydCAqIGFzIHNuc1N1YnNjcmlwdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9uc1wiXG5pbXBvcnQgeyBTTlNIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGUgPVxuICB8IFwiU0VORFwiXG4gIHwgXCJSRUpFQ1RcIlxuICB8IFwiQk9VTkNFXCJcbiAgfCBcIkNPTVBMQUlOVFwiXG4gIHwgXCJERUxJVkVSWVwiXG4gIHwgXCJPUEVOXCJcbiAgfCBcIkNMSUNLXCJcbiAgfCBcIlJFTkRFUklOR19GQUlMVVJFXCJcbiAgfCBcIkRFTElWRVJZX0RFTEFZXCJcbiAgfCBcIlNVQlNDUklQVElPTlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBTRVMgZXZlbnRzIHdpbGwgYmUgbG9nZ2VkIHRvIENsb3VkV2F0Y2hcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgbG9nRXZlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogVGhlIFNFUyBjb25maWd1cmF0aW9uIHNldCBuYW1lXG4gICAqL1xuICBjb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IGV2ZW50IGRlc3RpbmF0aW9uIG5hbWVcbiAgICovXG4gIGV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIGJvdW5jZXMgdG9cbiAgICovXG4gIHNuc1RvcGljOiBzbnMuSVRvcGljXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB0byBtYXRjaFxuICAgKi9cbiAgbWF0Y2hpbmdFdmVudFR5cGVzOiBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGVbXVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46XG4gICAgICAgIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMpLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogcHJvcHMuZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgIFNuc1RvcGljQXJuOiBwcm9wcy5zbnNUb3BpYy50b3BpY0FybixcbiAgICAgICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBwcm9wcy5tYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgICAgIFNlcmlhbDogMSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRXZlbnRzSGFuZGxlclwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3Nlc0V2ZW50TG9nZ2VySGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgIH0pXG5cbiAgICBpZiAocHJvcHMubG9nRXZlbnRzID8/IHRydWUpIHtcbiAgICAgIHByb3BzLnNuc1RvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgICAgbmV3IHNuc1N1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24pLFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBzZXNFdmVudExvZ2dlckhhbmRsZXI6IFNOU0hhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQuUmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgY29uc29sZS5sb2coYFNFUyBldmVudCBtZXNzYWdlIGZyb20gU05TOiAke3JlY29yZC5TbnMuTWVzc2FnZX1gKSxcbiAgKVxufVxuXG5jbGFzcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlciBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2Yoc2NvcGUpXG4gICAgY29uc3QgaWQgPSBcImxpZmxpZy1jZGsuY29uZmlndXJhdGlvbi1zZXQtc25zLWRlc3RpbmF0aW9uXCJcbiAgICByZXR1cm4gKFxuICAgICAgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcikgfHxcbiAgICAgIG5ldyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcihzdGFjaywgaWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXJcbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VUb2tlbjogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIlByb3ZpZGVyXCIsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7Y29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgICApLFxuICAgICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICBcInNlczpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnNcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KVxuXG4gICAgdGhpcy5zZXJ2aWNlVG9rZW4gPSB0aGlzLnByb3ZpZGVyLnNlcnZpY2VUb2tlblxuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELG1EQUFvRDtBQUNwRCxzRUFBcUU7QUFFckUscUVBQThEO0FBc0M5RCxNQUFhLDhCQUErQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3RFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTBDOztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFDVixzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUN2RSxVQUFVLEVBQUU7Z0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDcEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtnQkFDNUMsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3pEO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsd0JBQWEsQ0FBQyxZQUFZO1NBQ3pDLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDNUIsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUNoRSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5DRCx3RUFtQ0M7QUFFRCxNQUFNLHFCQUFxQixHQUFlLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2pFLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLHNDQUF1QyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUEyQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxNQUFNLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQTtRQUN6RCxPQUFPLENBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUE0QztZQUN2RSxJQUFJLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFLRCxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksa0NBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNuRCxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLHFCQUFxQixFQUFFLEtBQUs7Z0JBQzVCLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCw0Q0FBNEM7NEJBQzVDLDRDQUE0Qzs0QkFDNUMsNENBQTRDOzRCQUM1QywwQ0FBMEM7eUJBQzNDO3dCQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCJcbmltcG9ydCAqIGFzIHNuc1N1YnNjcmlwdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9uc1wiXG5pbXBvcnQgeyBTTlNIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIlxuXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGUgPVxuICB8IFwiU0VORFwiXG4gIHwgXCJSRUpFQ1RcIlxuICB8IFwiQk9VTkNFXCJcbiAgfCBcIkNPTVBMQUlOVFwiXG4gIHwgXCJERUxJVkVSWVwiXG4gIHwgXCJPUEVOXCJcbiAgfCBcIkNMSUNLXCJcbiAgfCBcIlJFTkRFUklOR19GQUlMVVJFXCJcbiAgfCBcIkRFTElWRVJZX0RFTEFZXCJcbiAgfCBcIlNVQlNDUklQVElPTlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBTRVMgZXZlbnRzIHdpbGwgYmUgbG9nZ2VkIHRvIENsb3VkV2F0Y2hcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgbG9nRXZlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogVGhlIFNFUyBjb25maWd1cmF0aW9uIHNldCBuYW1lXG4gICAqL1xuICBjb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IGV2ZW50IGRlc3RpbmF0aW9uIG5hbWVcbiAgICovXG4gIGV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIGJvdW5jZXMgdG9cbiAgICovXG4gIHNuc1RvcGljOiBzbnMuSVRvcGljXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB0byBtYXRjaFxuICAgKi9cbiAgbWF0Y2hpbmdFdmVudFR5cGVzOiBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGVbXVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46XG4gICAgICAgIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMpLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogcHJvcHMuZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgIFNuc1RvcGljQXJuOiBwcm9wcy5zbnNUb3BpYy50b3BpY0FybixcbiAgICAgICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBwcm9wcy5tYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgICAgIFNlcmlhbDogMSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRXZlbnRzSGFuZGxlclwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3Nlc0V2ZW50TG9nZ2VySGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgIH0pXG5cbiAgICBpZiAocHJvcHMubG9nRXZlbnRzID8/IHRydWUpIHtcbiAgICAgIHByb3BzLnNuc1RvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgICAgbmV3IHNuc1N1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24pLFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBzZXNFdmVudExvZ2dlckhhbmRsZXI6IFNOU0hhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQuUmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgY29uc29sZS5sb2coYFNFUyBldmVudCBtZXNzYWdlIGZyb20gU05TOiAke3JlY29yZC5TbnMuTWVzc2FnZX1gKSxcbiAgKVxufVxuXG5jbGFzcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlciBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2Yoc2NvcGUpXG4gICAgY29uc3QgaWQgPSBcImxpZmxpZy1jZGsuY29uZmlndXJhdGlvbi1zZXQtc25zLWRlc3RpbmF0aW9uXCJcbiAgICByZXR1cm4gKFxuICAgICAgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcikgfHxcbiAgICAgIG5ldyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcihzdGFjaywgaWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXJcbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VUb2tlbjogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIlByb3ZpZGVyXCIsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgXCJGdW5jdGlvblwiLCB7XG4gICAgICAgIGVudHJ5OiByZXF1aXJlLnJlc29sdmUoXCIuL2hhbmRsZXJcIiksXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgYXdzU2RrQ29ubmVjdGlvblJldXNlOiBmYWxzZSxcbiAgICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgXCJzZXM6Q3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6VXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSlcblxuICAgIHRoaXMuc2VydmljZVRva2VuID0gdGhpcy5wcm92aWRlci5zZXJ2aWNlVG9rZW5cbiAgfVxufVxuIl19
@@ -6,5 +6,5 @@ type OnEventHandler = (event: {
6
6
  PhysicalResourceId?: string;
7
7
  Data?: Record<string, any>;
8
8
  }>;
9
- export declare const sesDomainHandler: OnEventHandler;
9
+ export declare const handler: OnEventHandler;
10
10
  export {};
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sesDomainHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const sesDomainHandler = async (event) => {
7
- const AWS = require("aws-sdk");
3
+ exports.handler = void 0;
4
+ const client_ses_1 = require("@aws-sdk/client-ses");
5
+ const client_sesv2_1 = require("@aws-sdk/client-sesv2");
6
+ const handler = async (event) => {
7
+ var _a;
8
+ const sesClient = new client_ses_1.SESClient();
9
+ const sesv2Client = new client_sesv2_1.SESv2Client();
8
10
  const ttl = "1800";
9
- const ses = new AWS.SES();
10
- const sesv2 = new AWS.SESV2();
11
11
  const domainName = event.ResourceProperties["DomainName"];
12
12
  const includeVerificationRecord = event.ResourceProperties["IncludeVerificationRecord"] == "true";
13
13
  const defaultConfigurationSetName = event.ResourceProperties["DefaultConfigurationSetName"];
@@ -36,39 +36,39 @@ const sesDomainHandler = async (event) => {
36
36
  }
37
37
  switch (event.RequestType) {
38
38
  case "Delete":
39
- const response = await ses
40
- .deleteIdentity({ Identity: domainName })
41
- .promise();
42
- console.log(`ses.deleteIdentity: ${JSON.stringify(response)}`);
39
+ const deleteIdentityResp = await sesClient.send(new client_ses_1.DeleteIdentityCommand({
40
+ Identity: domainName,
41
+ }));
42
+ console.log(`ses.deleteIdentity: ${JSON.stringify(deleteIdentityResp)}`);
43
43
  return {
44
44
  PhysicalResourceId: event.PhysicalResourceId,
45
45
  };
46
46
  case "Create":
47
47
  case "Update":
48
48
  // Idempotent.
49
- const response1 = await ses
50
- .verifyDomainIdentity({
49
+ const verifyDomainIdentityResp = await sesClient.send(new client_ses_1.VerifyDomainIdentityCommand({
51
50
  Domain: domainName,
52
- })
53
- .promise();
54
- console.log(`ses.verifyDomainIdentity: ${JSON.stringify(response1)}`);
55
- const verificationToken = response1["VerificationToken"];
51
+ }));
52
+ console.log(`ses.verifyDomainIdentity: ${JSON.stringify(verifyDomainIdentityResp)}`);
53
+ const verificationToken = verifyDomainIdentityResp.VerificationToken;
54
+ if (!verificationToken) {
55
+ throw new Error("Verification token not returned");
56
+ }
56
57
  // Idempotent.
57
- const response2 = await ses
58
- .verifyDomainDkim({ Domain: domainName })
59
- .promise();
60
- console.log(`ses.verifyDomainDkim: ${JSON.stringify(response2)}`);
61
- const dkimTokens = response2["DkimTokens"];
58
+ const verifyDomainDkimResp = await sesClient.send(new client_ses_1.VerifyDomainDkimCommand({
59
+ Domain: domainName,
60
+ }));
61
+ console.log(`ses.verifyDomainDkim: ${JSON.stringify(verifyDomainDkimResp)}`);
62
+ const dkimTokens = (_a = verifyDomainDkimResp.DkimTokens) !== null && _a !== void 0 ? _a : [];
63
+ if (!dkimTokens) {
64
+ throw new Error("DKIM tokens not returned");
65
+ }
62
66
  // Idempotent.
63
- const response3 = await sesv2
64
- .putEmailIdentityConfigurationSetAttributes({
67
+ const putEmailIdentityConfigResp = await sesv2Client.send(new client_sesv2_1.PutEmailIdentityConfigurationSetAttributesCommand({
65
68
  EmailIdentity: domainName,
66
- // ConfigurationSetName can be set to undefined to remove
67
- // the default configuration set from the identity.
68
69
  ConfigurationSetName: defaultConfigurationSetName,
69
- })
70
- .promise();
71
- console.log(`sesv2.putEmailIdentityConfigurationSetAttributes ${JSON.stringify(response3)}`);
70
+ }));
71
+ console.log(`sesv2.putEmailIdentityConfigurationSetAttributes ${JSON.stringify(putEmailIdentityConfigResp)}`);
72
72
  return {
73
73
  PhysicalResourceId: `SesDomain${domainName}`,
74
74
  Data: {
@@ -78,5 +78,5 @@ const sesDomainHandler = async (event) => {
78
78
  };
79
79
  }
80
80
  };
81
- exports.sesDomainHandler = sesDomainHandler;
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvc2VzZG9tYWluL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0JBLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDdEIsTUFBTSxnQkFBZ0IsR0FBbUIsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzlELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUE7SUFFbEIsTUFBTSxHQUFHLEdBQVksSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFjLENBQUE7SUFDOUMsTUFBTSxLQUFLLEdBQWMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFnQixDQUFBO0lBRXRELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN6RCxNQUFNLHlCQUF5QixHQUM3QixLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsSUFBSSxNQUFNLENBQUE7SUFFakUsTUFBTSwyQkFBMkIsR0FDL0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDLENBQUE7SUFFekQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxTQUFTLHVCQUF1QixDQUM5QixpQkFBeUIsRUFDekIsVUFBb0I7UUFFcEIsTUFBTSxPQUFPLEdBQXdCLEVBQUUsQ0FBQTtRQUV2QyxJQUFJLHlCQUF5QixFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxJQUFJLEVBQUUsY0FBYyxVQUFVLEdBQUc7Z0JBQ2pDLElBQUksRUFBRSxLQUFLO2dCQUNYLGVBQWUsRUFBRSxDQUFDLElBQUksaUJBQWlCLEdBQUcsQ0FBQztnQkFDM0MsR0FBRyxFQUFFLEdBQUc7YUFDVCxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLElBQUksRUFBRSxHQUFHLEtBQUssZUFBZSxVQUFVLEdBQUc7Z0JBQzFDLElBQUksRUFBRSxPQUFPO2dCQUNiLGVBQWUsRUFBRSxDQUFDLEdBQUcsS0FBSyxzQkFBc0IsQ0FBQztnQkFDakQsR0FBRyxFQUFFLEdBQUc7YUFDVCxDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLEtBQUssUUFBUTtZQUNYLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRztpQkFDdkIsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO2lCQUN4QyxPQUFPLEVBQUUsQ0FBQTtZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBRTlELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUM3QyxDQUFBO1FBRUgsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFFBQVE7WUFDWCxjQUFjO1lBQ2QsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHO2lCQUN4QixvQkFBb0IsQ0FBQztnQkFDcEIsTUFBTSxFQUFFLFVBQVU7YUFDbkIsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQTtZQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3JFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUE7WUFFeEQsY0FBYztZQUNkLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRztpQkFDeEIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7aUJBQ3hDLE9BQU8sRUFBRSxDQUFBO1lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDakUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBRTFDLGNBQWM7WUFDZCxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUs7aUJBQzFCLDBDQUEwQyxDQUFDO2dCQUMxQyxhQUFhLEVBQUUsVUFBVTtnQkFDekIseURBQXlEO2dCQUN6RCxtREFBbUQ7Z0JBQ25ELG9CQUFvQixFQUFFLDJCQUEyQjthQUNsRCxDQUFDO2lCQUNELE9BQU8sRUFBRSxDQUFBO1lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FDVCxvREFBb0QsSUFBSSxDQUFDLFNBQVMsQ0FDaEUsU0FBUyxDQUNWLEVBQUUsQ0FDSixDQUFBO1lBRUQsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxZQUFZLFVBQVUsRUFBRTtnQkFDNUMsSUFBSSxFQUFFO29CQUNKLGlCQUFpQixFQUFFLHVCQUF1QixDQUN4QyxpQkFBaUIsRUFDakIsVUFBVSxDQUNYO29CQUNELGlCQUFpQixFQUFFLGlCQUFpQjtpQkFDckM7YUFDRixDQUFBO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQTtBQXJHWSxRQUFBLGdCQUFnQixvQkFxRzVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgKiBhcyBfQVdTIGZyb20gXCJhd3Mtc2RrXCJcblxudHlwZSBPbkV2ZW50SGFuZGxlciA9IChldmVudDoge1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgUmVxdWVzdFR5cGU6IFwiQ3JlYXRlXCIgfCBcIlVwZGF0ZVwiIHwgXCJEZWxldGVcIlxuICBSZXNvdXJjZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn0pID0+IFByb21pc2U8e1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT5cbn0+XG5cbi8vIFR5cGUgdG8gbWFjaCBDbG91ZEZvcm1hdGlvbiBBV1M6OlJvdXRlNTM6OlJlY29yZFNldEdyb3VwIFJlY29yZFNldFxuaW50ZXJmYWNlIFJlY29yZFNldFByb3BlcnR5IHtcbiAgTmFtZTogc3RyaW5nXG4gIFR5cGU6IHN0cmluZ1xuICBSZXNvdXJjZVJlY29yZHM6IHN0cmluZ1tdXG4gIFRUTDogc3RyaW5nXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBzZXNEb21haW5IYW5kbGVyOiBPbkV2ZW50SGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge1xuICBjb25zdCBBV1MgPSByZXF1aXJlKFwiYXdzLXNka1wiKVxuXG4gIGNvbnN0IHR0bCA9IFwiMTgwMFwiXG5cbiAgY29uc3Qgc2VzOiBBV1MuU0VTID0gbmV3IEFXUy5TRVMoKSBhcyBfQVdTLlNFU1xuICBjb25zdCBzZXN2MjogQVdTLlNFU1YyID0gbmV3IEFXUy5TRVNWMigpIGFzIF9BV1MuU0VTVjJcblxuICBjb25zdCBkb21haW5OYW1lID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzW1wiRG9tYWluTmFtZVwiXVxuICBjb25zdCBpbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkID1cbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXNbXCJJbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkXCJdID09IFwidHJ1ZVwiXG5cbiAgY29uc3QgZGVmYXVsdENvbmZpZ3VyYXRpb25TZXROYW1lID1cbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXNbXCJEZWZhdWx0Q29uZmlndXJhdGlvblNldE5hbWVcIl1cblxuICBpZiAoIWluY2x1ZGVWZXJpZmljYXRpb25SZWNvcmQpIHtcbiAgICBjb25zb2xlLmxvZyhcIkV4Y2x1ZGluZyB2ZXJpZmljYXRpb24gVFhUIHJlY29yZFwiKVxuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlUm91dGU1M1JlY29yZFNldHMoXG4gICAgdmVyaWZpY2F0aW9uVG9rZW46IHN0cmluZyxcbiAgICBka2ltVG9rZW5zOiBzdHJpbmdbXSxcbiAgKSB7XG4gICAgY29uc3QgcmVjb3JkczogUmVjb3JkU2V0UHJvcGVydHlbXSA9IFtdXG5cbiAgICBpZiAoaW5jbHVkZVZlcmlmaWNhdGlvblJlY29yZCkge1xuICAgICAgcmVjb3Jkcy5wdXNoKHtcbiAgICAgICAgTmFtZTogYF9hbWF6b25zZXMuJHtkb21haW5OYW1lfS5gLFxuICAgICAgICBUeXBlOiBcIlRYVFwiLFxuICAgICAgICBSZXNvdXJjZVJlY29yZHM6IFtgXCIke3ZlcmlmaWNhdGlvblRva2VufVwiYF0sXG4gICAgICAgIFRUTDogdHRsLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIGRraW1Ub2tlbnMpIHtcbiAgICAgIHJlY29yZHMucHVzaCh7XG4gICAgICAgIE5hbWU6IGAke3Rva2VufS5fZG9tYWlua2V5LiR7ZG9tYWluTmFtZX0uYCxcbiAgICAgICAgVHlwZTogXCJDTkFNRVwiLFxuICAgICAgICBSZXNvdXJjZVJlY29yZHM6IFtgJHt0b2tlbn0uZGtpbS5hbWF6b25zZXMuY29tLmBdLFxuICAgICAgICBUVEw6IHR0bCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiByZWNvcmRzXG4gIH1cblxuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSBcIkRlbGV0ZVwiOlxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZXNcbiAgICAgICAgLmRlbGV0ZUlkZW50aXR5KHsgSWRlbnRpdHk6IGRvbWFpbk5hbWUgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coYHNlcy5kZWxldGVJZGVudGl0eTogJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQsXG4gICAgICB9XG5cbiAgICBjYXNlIFwiQ3JlYXRlXCI6XG4gICAgY2FzZSBcIlVwZGF0ZVwiOlxuICAgICAgLy8gSWRlbXBvdGVudC5cbiAgICAgIGNvbnN0IHJlc3BvbnNlMSA9IGF3YWl0IHNlc1xuICAgICAgICAudmVyaWZ5RG9tYWluSWRlbnRpdHkoe1xuICAgICAgICAgIERvbWFpbjogZG9tYWluTmFtZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuXG4gICAgICBjb25zb2xlLmxvZyhgc2VzLnZlcmlmeURvbWFpbklkZW50aXR5OiAke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlMSl9YClcbiAgICAgIGNvbnN0IHZlcmlmaWNhdGlvblRva2VuID0gcmVzcG9uc2UxW1wiVmVyaWZpY2F0aW9uVG9rZW5cIl1cblxuICAgICAgLy8gSWRlbXBvdGVudC5cbiAgICAgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IHNlc1xuICAgICAgICAudmVyaWZ5RG9tYWluRGtpbSh7IERvbWFpbjogZG9tYWluTmFtZSB9KVxuICAgICAgICAucHJvbWlzZSgpXG4gICAgICBjb25zb2xlLmxvZyhgc2VzLnZlcmlmeURvbWFpbkRraW06ICR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UyKX1gKVxuICAgICAgY29uc3QgZGtpbVRva2VucyA9IHJlc3BvbnNlMltcIkRraW1Ub2tlbnNcIl1cblxuICAgICAgLy8gSWRlbXBvdGVudC5cbiAgICAgIGNvbnN0IHJlc3BvbnNlMyA9IGF3YWl0IHNlc3YyXG4gICAgICAgIC5wdXRFbWFpbElkZW50aXR5Q29uZmlndXJhdGlvblNldEF0dHJpYnV0ZXMoe1xuICAgICAgICAgIEVtYWlsSWRlbnRpdHk6IGRvbWFpbk5hbWUsXG4gICAgICAgICAgLy8gQ29uZmlndXJhdGlvblNldE5hbWUgY2FuIGJlIHNldCB0byB1bmRlZmluZWQgdG8gcmVtb3ZlXG4gICAgICAgICAgLy8gdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBzZXQgZnJvbSB0aGUgaWRlbnRpdHkuXG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGRlZmF1bHRDb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBzZXN2Mi5wdXRFbWFpbElkZW50aXR5Q29uZmlndXJhdGlvblNldEF0dHJpYnV0ZXMgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICByZXNwb25zZTMsXG4gICAgICAgICl9YCxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBgU2VzRG9tYWluJHtkb21haW5OYW1lfWAsXG4gICAgICAgIERhdGE6IHtcbiAgICAgICAgICBSb3V0ZTUzUmVjb3JkU2V0czogY3JlYXRlUm91dGU1M1JlY29yZFNldHMoXG4gICAgICAgICAgICB2ZXJpZmljYXRpb25Ub2tlbixcbiAgICAgICAgICAgIGRraW1Ub2tlbnMsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBWZXJpZmljYXRpb25Ub2tlbjogdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gIH1cbn1cbiJdfQ==
81
+ exports.handler = handler;
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvc2VzZG9tYWluL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBSzRCO0FBRTVCLHdEQUc4QjtBQW9CdkIsTUFBTSxPQUFPLEdBQW1CLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTs7SUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxzQkFBUyxFQUFFLENBQUE7SUFDakMsTUFBTSxXQUFXLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUE7SUFFckMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFBO0lBRWxCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN6RCxNQUFNLHlCQUF5QixHQUM3QixLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsSUFBSSxNQUFNLENBQUE7SUFFakUsTUFBTSwyQkFBMkIsR0FDL0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDLENBQUE7SUFFekQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxTQUFTLHVCQUF1QixDQUM5QixpQkFBeUIsRUFDekIsVUFBb0I7UUFFcEIsTUFBTSxPQUFPLEdBQXdCLEVBQUUsQ0FBQTtRQUV2QyxJQUFJLHlCQUF5QixFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxJQUFJLEVBQUUsY0FBYyxVQUFVLEdBQUc7Z0JBQ2pDLElBQUksRUFBRSxLQUFLO2dCQUNYLGVBQWUsRUFBRSxDQUFDLElBQUksaUJBQWlCLEdBQUcsQ0FBQztnQkFDM0MsR0FBRyxFQUFFLEdBQUc7YUFDVCxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLElBQUksRUFBRSxHQUFHLEtBQUssZUFBZSxVQUFVLEdBQUc7Z0JBQzFDLElBQUksRUFBRSxPQUFPO2dCQUNiLGVBQWUsRUFBRSxDQUFDLEdBQUcsS0FBSyxzQkFBc0IsQ0FBQztnQkFDakQsR0FBRyxFQUFFLEdBQUc7YUFDVCxDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLEtBQUssUUFBUTtZQUNYLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUM3QyxJQUFJLGtDQUFxQixDQUFDO2dCQUN4QixRQUFRLEVBQUUsVUFBVTthQUNyQixDQUFDLENBQ0gsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUE7WUFFeEUsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO2FBQzdDLENBQUE7UUFFSCxLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssUUFBUTtZQUNYLGNBQWM7WUFDZCxNQUFNLHdCQUF3QixHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FDbkQsSUFBSSx3Q0FBMkIsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUNILENBQUE7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUNULDZCQUE2QixJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FDeEUsQ0FBQTtZQUNELE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLENBQUMsaUJBQWlCLENBQUE7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtZQUNwRCxDQUFDO1lBRUQsY0FBYztZQUNkLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUMvQyxJQUFJLG9DQUF1QixDQUFDO2dCQUMxQixNQUFNLEVBQUUsVUFBVTthQUNuQixDQUFDLENBQ0gsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQ1QseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUNoRSxDQUFBO1lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBQSxvQkFBb0IsQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQTtZQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtZQUM3QyxDQUFDO1lBRUQsY0FBYztZQUNkLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUN2RCxJQUFJLGdFQUFpRCxDQUFDO2dCQUNwRCxhQUFhLEVBQUUsVUFBVTtnQkFDekIsb0JBQW9CLEVBQUUsMkJBQTJCO2FBQ2xELENBQUMsQ0FDSCxDQUFBO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCxvREFBb0QsSUFBSSxDQUFDLFNBQVMsQ0FDaEUsMEJBQTBCLENBQzNCLEVBQUUsQ0FDSixDQUFBO1lBRUQsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxZQUFZLFVBQVUsRUFBRTtnQkFDNUMsSUFBSSxFQUFFO29CQUNKLGlCQUFpQixFQUFFLHVCQUF1QixDQUN4QyxpQkFBaUIsRUFDakIsVUFBVSxDQUNYO29CQUNELGlCQUFpQixFQUFFLGlCQUFpQjtpQkFDckM7YUFDRixDQUFBO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQTtBQTlHWSxRQUFBLE9BQU8sV0E4R25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU0VTQ2xpZW50LFxuICBWZXJpZnlEb21haW5JZGVudGl0eUNvbW1hbmQsXG4gIFZlcmlmeURvbWFpbkRraW1Db21tYW5kLFxuICBEZWxldGVJZGVudGl0eUNvbW1hbmQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VzXCJcblxuaW1wb3J0IHtcbiAgU0VTdjJDbGllbnQsXG4gIFB1dEVtYWlsSWRlbnRpdHlDb25maWd1cmF0aW9uU2V0QXR0cmlidXRlc0NvbW1hbmQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VzdjJcIlxuXG50eXBlIE9uRXZlbnRIYW5kbGVyID0gKGV2ZW50OiB7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICBSZXF1ZXN0VHlwZTogXCJDcmVhdGVcIiB8IFwiVXBkYXRlXCIgfCBcIkRlbGV0ZVwiXG4gIFJlc291cmNlUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxufSkgPT4gUHJvbWlzZTx7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBEYXRhPzogUmVjb3JkPHN0cmluZywgYW55PlxufT5cblxuLy8gVHlwZSB0byBtYWNoIENsb3VkRm9ybWF0aW9uIEFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0R3JvdXAgUmVjb3JkU2V0XG5pbnRlcmZhY2UgUmVjb3JkU2V0UHJvcGVydHkge1xuICBOYW1lOiBzdHJpbmdcbiAgVHlwZTogc3RyaW5nXG4gIFJlc291cmNlUmVjb3Jkczogc3RyaW5nW11cbiAgVFRMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IE9uRXZlbnRIYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHNlc0NsaWVudCA9IG5ldyBTRVNDbGllbnQoKVxuICBjb25zdCBzZXN2MkNsaWVudCA9IG5ldyBTRVN2MkNsaWVudCgpXG5cbiAgY29uc3QgdHRsID0gXCIxODAwXCJcblxuICBjb25zdCBkb21haW5OYW1lID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzW1wiRG9tYWluTmFtZVwiXVxuICBjb25zdCBpbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkID1cbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXNbXCJJbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkXCJdID09IFwidHJ1ZVwiXG5cbiAgY29uc3QgZGVmYXVsdENvbmZpZ3VyYXRpb25TZXROYW1lID1cbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXNbXCJEZWZhdWx0Q29uZmlndXJhdGlvblNldE5hbWVcIl1cblxuICBpZiAoIWluY2x1ZGVWZXJpZmljYXRpb25SZWNvcmQpIHtcbiAgICBjb25zb2xlLmxvZyhcIkV4Y2x1ZGluZyB2ZXJpZmljYXRpb24gVFhUIHJlY29yZFwiKVxuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlUm91dGU1M1JlY29yZFNldHMoXG4gICAgdmVyaWZpY2F0aW9uVG9rZW46IHN0cmluZyxcbiAgICBka2ltVG9rZW5zOiBzdHJpbmdbXSxcbiAgKSB7XG4gICAgY29uc3QgcmVjb3JkczogUmVjb3JkU2V0UHJvcGVydHlbXSA9IFtdXG5cbiAgICBpZiAoaW5jbHVkZVZlcmlmaWNhdGlvblJlY29yZCkge1xuICAgICAgcmVjb3Jkcy5wdXNoKHtcbiAgICAgICAgTmFtZTogYF9hbWF6b25zZXMuJHtkb21haW5OYW1lfS5gLFxuICAgICAgICBUeXBlOiBcIlRYVFwiLFxuICAgICAgICBSZXNvdXJjZVJlY29yZHM6IFtgXCIke3ZlcmlmaWNhdGlvblRva2VufVwiYF0sXG4gICAgICAgIFRUTDogdHRsLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIGRraW1Ub2tlbnMpIHtcbiAgICAgIHJlY29yZHMucHVzaCh7XG4gICAgICAgIE5hbWU6IGAke3Rva2VufS5fZG9tYWlua2V5LiR7ZG9tYWluTmFtZX0uYCxcbiAgICAgICAgVHlwZTogXCJDTkFNRVwiLFxuICAgICAgICBSZXNvdXJjZVJlY29yZHM6IFtgJHt0b2tlbn0uZGtpbS5hbWF6b25zZXMuY29tLmBdLFxuICAgICAgICBUVEw6IHR0bCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiByZWNvcmRzXG4gIH1cblxuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSBcIkRlbGV0ZVwiOlxuICAgICAgY29uc3QgZGVsZXRlSWRlbnRpdHlSZXNwID0gYXdhaXQgc2VzQ2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBEZWxldGVJZGVudGl0eUNvbW1hbmQoe1xuICAgICAgICAgIElkZW50aXR5OiBkb21haW5OYW1lLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIGNvbnNvbGUubG9nKGBzZXMuZGVsZXRlSWRlbnRpdHk6ICR7SlNPTi5zdHJpbmdpZnkoZGVsZXRlSWRlbnRpdHlSZXNwKX1gKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICAgIH1cblxuICAgIGNhc2UgXCJDcmVhdGVcIjpcbiAgICBjYXNlIFwiVXBkYXRlXCI6XG4gICAgICAvLyBJZGVtcG90ZW50LlxuICAgICAgY29uc3QgdmVyaWZ5RG9tYWluSWRlbnRpdHlSZXNwID0gYXdhaXQgc2VzQ2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBWZXJpZnlEb21haW5JZGVudGl0eUNvbW1hbmQoe1xuICAgICAgICAgIERvbWFpbjogZG9tYWluTmFtZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYHNlcy52ZXJpZnlEb21haW5JZGVudGl0eTogJHtKU09OLnN0cmluZ2lmeSh2ZXJpZnlEb21haW5JZGVudGl0eVJlc3ApfWAsXG4gICAgICApXG4gICAgICBjb25zdCB2ZXJpZmljYXRpb25Ub2tlbiA9IHZlcmlmeURvbWFpbklkZW50aXR5UmVzcC5WZXJpZmljYXRpb25Ub2tlblxuICAgICAgaWYgKCF2ZXJpZmljYXRpb25Ub2tlbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWZXJpZmljYXRpb24gdG9rZW4gbm90IHJldHVybmVkXCIpXG4gICAgICB9XG5cbiAgICAgIC8vIElkZW1wb3RlbnQuXG4gICAgICBjb25zdCB2ZXJpZnlEb21haW5Ea2ltUmVzcCA9IGF3YWl0IHNlc0NsaWVudC5zZW5kKFxuICAgICAgICBuZXcgVmVyaWZ5RG9tYWluRGtpbUNvbW1hbmQoe1xuICAgICAgICAgIERvbWFpbjogZG9tYWluTmFtZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYHNlcy52ZXJpZnlEb21haW5Ea2ltOiAke0pTT04uc3RyaW5naWZ5KHZlcmlmeURvbWFpbkRraW1SZXNwKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgZGtpbVRva2VucyA9IHZlcmlmeURvbWFpbkRraW1SZXNwLkRraW1Ub2tlbnMgPz8gW11cbiAgICAgIGlmICghZGtpbVRva2Vucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJES0lNIHRva2VucyBub3QgcmV0dXJuZWRcIilcbiAgICAgIH1cblxuICAgICAgLy8gSWRlbXBvdGVudC5cbiAgICAgIGNvbnN0IHB1dEVtYWlsSWRlbnRpdHlDb25maWdSZXNwID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgbmV3IFB1dEVtYWlsSWRlbnRpdHlDb25maWd1cmF0aW9uU2V0QXR0cmlidXRlc0NvbW1hbmQoe1xuICAgICAgICAgIEVtYWlsSWRlbnRpdHk6IGRvbWFpbk5hbWUsXG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGRlZmF1bHRDb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYHNlc3YyLnB1dEVtYWlsSWRlbnRpdHlDb25maWd1cmF0aW9uU2V0QXR0cmlidXRlcyAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHB1dEVtYWlsSWRlbnRpdHlDb25maWdSZXNwLFxuICAgICAgICApfWAsXG4gICAgICApXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogYFNlc0RvbWFpbiR7ZG9tYWluTmFtZX1gLFxuICAgICAgICBEYXRhOiB7XG4gICAgICAgICAgUm91dGU1M1JlY29yZFNldHM6IGNyZWF0ZVJvdXRlNTNSZWNvcmRTZXRzKFxuICAgICAgICAgICAgdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgICAgICBka2ltVG9rZW5zLFxuICAgICAgICAgICksXG4gICAgICAgICAgVmVyaWZpY2F0aW9uVG9rZW46IHZlcmlmaWNhdGlvblRva2VuLFxuICAgICAgICB9LFxuICAgICAgfVxuICB9XG59XG4iXX0=