@ashishpandeyone/cdk-lambda-web-function 0.1.11 → 0.1.13

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.
@@ -50,7 +50,7 @@ const web_function_1 = require("./web-function");
50
50
  * bundle, and `NODE_OPTIONS=--enable-source-maps` when source maps are on.
51
51
  */
52
52
  class NodejsWebFunction extends web_function_1.WebFunction {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.NodejsWebFunction", version: "0.1.11" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.NodejsWebFunction", version: "0.1.13" };
54
54
  /**
55
55
  * Identifies this class to property injectors (`PropertyInjectors.of(scope).add(...)`). A `NodejsWebFunction` gets
56
56
  * its own injector first, then `WebFunction`'s, as aws-cdk-lib's `NodejsFunction` does with `Function`'s.
@@ -8,6 +8,8 @@ export interface WebFunctionLogGroupProps {
8
8
  readonly logGroupName: string;
9
9
  readonly retention: logs.RetentionDays;
10
10
  readonly removalPolicy: RemovalPolicy;
11
+ /** A KMS key in `region`, by ARN. */
12
+ readonly kmsKeyArn?: string;
11
13
  }
12
14
  /** One Web Function log group in one (possibly remote) region, owned through the provider. */
13
15
  export declare class WebFunctionLogGroup extends Construct {
@@ -60,18 +60,27 @@ class WebFunctionLogGroup extends constructs_1.Construct {
60
60
  // per-region grants break when a region is removed (CloudFormation reverts or updates the role first).
61
61
  const webLogGroups = stack.formatArn({ service: 'logs', region: '*', resource: 'log-group', resourceName: '/aws/lambda/web/*', arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME });
62
62
  (0, provider_1.grantToProvider)(provider, {
63
- Action: ['logs:CreateLogGroup', 'logs:PutRetentionPolicy', 'logs:DeleteRetentionPolicy', 'logs:DeleteLogGroup'],
63
+ // The key actions too when no group has a key: removing one needs DisassociateKmsKey.
64
+ Action: [
65
+ 'logs:CreateLogGroup', 'logs:PutRetentionPolicy', 'logs:DeleteRetentionPolicy', 'logs:DeleteLogGroup',
66
+ 'logs:AssociateKmsKey', 'logs:DisassociateKmsKey',
67
+ ],
64
68
  Resource: webLogGroups,
65
69
  });
66
70
  (0, provider_1.grantToProvider)(provider, {
67
71
  Action: 'logs:DescribeLogGroups',
68
72
  Resource: stack.formatArn({ service: 'logs', region: '*', resource: 'log-group', resourceName: '*', arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME }),
69
73
  });
74
+ if (props.kmsKeyArn) {
75
+ // CreateLogGroup and AssociateKmsKey check that the caller can describe the key.
76
+ (0, provider_1.grantToProvider)(provider, { Action: 'kms:DescribeKey', Resource: props.kmsKeyArn });
77
+ }
70
78
  const properties = {
71
79
  Region: props.region,
72
80
  LogGroupName: props.logGroupName,
73
81
  RetentionInDays: props.retention === logs.RetentionDays.INFINITE ? 'Infinite' : String(props.retention),
74
82
  RemovalPolicy: props.removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY ? 'destroy' : 'retain',
83
+ KmsKeyId: props.kmsKeyArn,
75
84
  FlushWaitSeconds: String(exports.FLUSH_WAIT_SECONDS),
76
85
  RecheckWaitSeconds: String(RECHECK_WAIT_SECONDS),
77
86
  };
@@ -83,4 +92,4 @@ class WebFunctionLogGroup extends constructs_1.Construct {
83
92
  }
84
93
  }
85
94
  exports.WebFunctionLogGroup = WebFunctionLogGroup;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvbG9nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUE4RTtBQUM5RSwyREFBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLHlDQUFrRTtBQUNsRSwyREFBdUY7QUFFdkYsOEZBQThGO0FBQ2pGLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBU2hDLDhGQUE4RjtBQUM5RixNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hDLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQWlCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xHLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUkscURBQXFELEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBRXZDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsMEdBQTBHO1FBQzFHLHVHQUF1RztRQUN2RyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzSyxJQUFBLDBCQUFlLEVBQUMsUUFBUSxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLHFCQUFxQixDQUFDO1lBQy9HLFFBQVEsRUFBRSxZQUFZO1NBQ3ZCLENBQUMsQ0FBQztRQUNILElBQUEsMEJBQWUsRUFBQyxRQUFRLEVBQUU7WUFDeEIsTUFBTSxFQUFFLHdCQUF3QjtZQUNoQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHVCQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUNoSixDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBdUI7WUFDckMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN2RyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ25GLGdCQUFnQixFQUFFLE1BQU0sQ0FBQywwQkFBa0IsQ0FBQztZQUM1QyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7U0FDakQsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFlBQVksRUFBRSwyQ0FBdUI7WUFDckMsVUFBVSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUU7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekNELGtEQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFybkZvcm1hdCwgQ3VzdG9tUmVzb3VyY2UsIFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGdyYW50VG9Qcm92aWRlciwgd2ViRnVuY3Rpb25Qcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXInO1xuaW1wb3J0IHsgTE9HX0dST1VQX1JFU09VUkNFX1RZUEUsIHR5cGUgTG9nR3JvdXBQcm9wZXJ0aWVzIH0gZnJvbSAnLi9wcm92aWRlci1wcm90b2NvbCc7XG5cbi8qKiBTZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGRlbGV0aW5nIGEgZ3JvdXA7IHZlcmlmaWVkIGFnYWluc3QgbGF0ZSBmbHVzaGVzIGluIGV2ZXJ5IHJlZ2lvbi4gKi9cbmV4cG9ydCBjb25zdCBGTFVTSF9XQUlUX1NFQ09ORFMgPSA3NTtcbmNvbnN0IFJFQ0hFQ0tfV0FJVF9TRUNPTkRTID0gMzA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViRnVuY3Rpb25Mb2dHcm91cFByb3BzIHtcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xuICByZWFkb25seSByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cztcbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqIE9uZSBXZWIgRnVuY3Rpb24gbG9nIGdyb3VwIGluIG9uZSAocG9zc2libHkgcmVtb3RlKSByZWdpb24sIG93bmVkIHRocm91Z2ggdGhlIHByb3ZpZGVyLiAqL1xuZXhwb3J0IGNsYXNzIFdlYkZ1bmN0aW9uTG9nR3JvdXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsb2dHcm91cE5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV2ViRnVuY3Rpb25Mb2dHcm91cFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSAhPT0gUmVtb3ZhbFBvbGljeS5SRVRBSU4gJiYgcHJvcHMucmVtb3ZhbFBvbGljeSAhPT0gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5ub2RlLnBhdGh9OiBsb2dSZW1vdmFsUG9saWN5IG11c3QgYmUgUkVUQUlOIG9yIERFU1RST1ksIGdvdCAke3Byb3BzLnJlbW92YWxQb2xpY3l9YCk7XG4gICAgfVxuICAgIHRoaXMucmVnaW9uID0gcHJvcHMucmVnaW9uO1xuICAgIHRoaXMubG9nR3JvdXBOYW1lID0gcHJvcHMubG9nR3JvdXBOYW1lO1xuXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih0aGlzKTtcbiAgICBjb25zdCBwcm92aWRlciA9IHdlYkZ1bmN0aW9uUHJvdmlkZXIodGhpcyk7XG4gICAgLy8gU3RhYmxlIGdyYW50IChzZWUgZ3JhbnRUb1Byb3ZpZGVyKTogV2ViIEZ1bmN0aW9uIGxvZyBncm91cHMgb2YgdGhpcyBhY2NvdW50LCBpbiBhbnkgcmVnaW9uLiBQZXItbmFtZSBvclxuICAgIC8vIHBlci1yZWdpb24gZ3JhbnRzIGJyZWFrIHdoZW4gYSByZWdpb24gaXMgcmVtb3ZlZCAoQ2xvdWRGb3JtYXRpb24gcmV2ZXJ0cyBvciB1cGRhdGVzIHRoZSByb2xlIGZpcnN0KS5cbiAgICBjb25zdCB3ZWJMb2dHcm91cHMgPSBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnbG9ncycsIHJlZ2lvbjogJyonLCByZXNvdXJjZTogJ2xvZy1ncm91cCcsIHJlc291cmNlTmFtZTogJy9hd3MvbGFtYmRhL3dlYi8qJywgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSB9KTtcbiAgICBncmFudFRvUHJvdmlkZXIocHJvdmlkZXIsIHtcbiAgICAgIEFjdGlvbjogWydsb2dzOkNyZWF0ZUxvZ0dyb3VwJywgJ2xvZ3M6UHV0UmV0ZW50aW9uUG9saWN5JywgJ2xvZ3M6RGVsZXRlUmV0ZW50aW9uUG9saWN5JywgJ2xvZ3M6RGVsZXRlTG9nR3JvdXAnXSxcbiAgICAgIFJlc291cmNlOiB3ZWJMb2dHcm91cHMsXG4gICAgfSk7XG4gICAgZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyLCB7XG4gICAgICBBY3Rpb246ICdsb2dzOkRlc2NyaWJlTG9nR3JvdXBzJyxcbiAgICAgIFJlc291cmNlOiBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnbG9ncycsIHJlZ2lvbjogJyonLCByZXNvdXJjZTogJ2xvZy1ncm91cCcsIHJlc291cmNlTmFtZTogJyonLCBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FIH0pLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogTG9nR3JvdXBQcm9wZXJ0aWVzID0ge1xuICAgICAgUmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBMb2dHcm91cE5hbWU6IHByb3BzLmxvZ0dyb3VwTmFtZSxcbiAgICAgIFJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uID09PSBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEUgPyAnSW5maW5pdGUnIDogU3RyaW5nKHByb3BzLnJldGVudGlvbiksXG4gICAgICBSZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1kgPyAnZGVzdHJveScgOiAncmV0YWluJyxcbiAgICAgIEZsdXNoV2FpdFNlY29uZHM6IFN0cmluZyhGTFVTSF9XQUlUX1NFQ09ORFMpLFxuICAgICAgUmVjaGVja1dhaXRTZWNvbmRzOiBTdHJpbmcoUkVDSEVDS19XQUlUX1NFQ09ORFMpLFxuICAgIH07XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHJlc291cmNlVHlwZTogTE9HX0dST1VQX1JFU09VUkNFX1RZUEUsXG4gICAgICBwcm9wZXJ0aWVzOiB7IC4uLnByb3BlcnRpZXMgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvbG9nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUE4RTtBQUM5RSwyREFBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLHlDQUFrRTtBQUNsRSwyREFBdUY7QUFFdkYsOEZBQThGO0FBQ2pGLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBV2hDLDhGQUE4RjtBQUM5RixNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hDLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQWlCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xHLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUkscURBQXFELEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBRXZDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsMEdBQTBHO1FBQzFHLHVHQUF1RztRQUN2RyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzSyxJQUFBLDBCQUFlLEVBQUMsUUFBUSxFQUFFO1lBQ3hCLHNGQUFzRjtZQUN0RixNQUFNLEVBQUU7Z0JBQ04scUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCO2dCQUNyRyxzQkFBc0IsRUFBRSx5QkFBeUI7YUFDbEQ7WUFDRCxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFBLDBCQUFlLEVBQUMsUUFBUSxFQUFFO1lBQ3hCLE1BQU0sRUFBRSx3QkFBd0I7WUFDaEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDaEosQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsaUZBQWlGO1lBQ2pGLElBQUEsMEJBQWUsRUFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBdUI7WUFDckMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN2RyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ25GLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUztZQUN6QixnQkFBZ0IsRUFBRSxNQUFNLENBQUMsMEJBQWtCLENBQUM7WUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1NBQ2pELENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ25ELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxZQUFZLEVBQUUsMkNBQXVCO1lBQ3JDLFVBQVUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQW5ERCxrREFtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIEN1c3RvbVJlc291cmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBncmFudFRvUHJvdmlkZXIsIHdlYkZ1bmN0aW9uUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVyJztcbmltcG9ydCB7IExPR19HUk9VUF9SRVNPVVJDRV9UWVBFLCB0eXBlIExvZ0dyb3VwUHJvcGVydGllcyB9IGZyb20gJy4vcHJvdmlkZXItcHJvdG9jb2wnO1xuXG4vKiogU2Vjb25kcyB0byB3YWl0IGJlZm9yZSBkZWxldGluZyBhIGdyb3VwOyB2ZXJpZmllZCBhZ2FpbnN0IGxhdGUgZmx1c2hlcyBpbiBldmVyeSByZWdpb24uICovXG5leHBvcnQgY29uc3QgRkxVU0hfV0FJVF9TRUNPTkRTID0gNzU7XG5jb25zdCBSRUNIRUNLX1dBSVRfU0VDT05EUyA9IDMwO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYkZ1bmN0aW9uTG9nR3JvdXBQcm9wcyB7XG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBsb2dHcm91cE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXM7XG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3k7XG4gIC8qKiBBIEtNUyBrZXkgaW4gYHJlZ2lvbmAsIGJ5IEFSTi4gKi9cbiAgcmVhZG9ubHkga21zS2V5QXJuPzogc3RyaW5nO1xufVxuXG4vKiogT25lIFdlYiBGdW5jdGlvbiBsb2cgZ3JvdXAgaW4gb25lIChwb3NzaWJseSByZW1vdGUpIHJlZ2lvbiwgb3duZWQgdGhyb3VnaCB0aGUgcHJvdmlkZXIuICovXG5leHBvcnQgY2xhc3MgV2ViRnVuY3Rpb25Mb2dHcm91cCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByZWdpb246IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJGdW5jdGlvbkxvZ0dyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGlmIChwcm9wcy5yZW1vdmFsUG9saWN5ICE9PSBSZW1vdmFsUG9saWN5LlJFVEFJTiAmJiBwcm9wcy5yZW1vdmFsUG9saWN5ICE9PSBSZW1vdmFsUG9saWN5LkRFU1RST1kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5vZGUucGF0aH06IGxvZ1JlbW92YWxQb2xpY3kgbXVzdCBiZSBSRVRBSU4gb3IgREVTVFJPWSwgZ290ICR7cHJvcHMucmVtb3ZhbFBvbGljeX1gKTtcbiAgICB9XG4gICAgdGhpcy5yZWdpb24gPSBwcm9wcy5yZWdpb247XG4gICAgdGhpcy5sb2dHcm91cE5hbWUgPSBwcm9wcy5sb2dHcm91cE5hbWU7XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gd2ViRnVuY3Rpb25Qcm92aWRlcih0aGlzKTtcbiAgICAvLyBTdGFibGUgZ3JhbnQgKHNlZSBncmFudFRvUHJvdmlkZXIpOiBXZWIgRnVuY3Rpb24gbG9nIGdyb3VwcyBvZiB0aGlzIGFjY291bnQsIGluIGFueSByZWdpb24uIFBlci1uYW1lIG9yXG4gICAgLy8gcGVyLXJlZ2lvbiBncmFudHMgYnJlYWsgd2hlbiBhIHJlZ2lvbiBpcyByZW1vdmVkIChDbG91ZEZvcm1hdGlvbiByZXZlcnRzIG9yIHVwZGF0ZXMgdGhlIHJvbGUgZmlyc3QpLlxuICAgIGNvbnN0IHdlYkxvZ0dyb3VwcyA9IHN0YWNrLmZvcm1hdEFybih7IHNlcnZpY2U6ICdsb2dzJywgcmVnaW9uOiAnKicsIHJlc291cmNlOiAnbG9nLWdyb3VwJywgcmVzb3VyY2VOYW1lOiAnL2F3cy9sYW1iZGEvd2ViLyonLCBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FIH0pO1xuICAgIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgICAgLy8gVGhlIGtleSBhY3Rpb25zIHRvbyB3aGVuIG5vIGdyb3VwIGhhcyBhIGtleTogcmVtb3Zpbmcgb25lIG5lZWRzIERpc2Fzc29jaWF0ZUttc0tleS5cbiAgICAgIEFjdGlvbjogW1xuICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsICdsb2dzOlB1dFJldGVudGlvblBvbGljeScsICdsb2dzOkRlbGV0ZVJldGVudGlvblBvbGljeScsICdsb2dzOkRlbGV0ZUxvZ0dyb3VwJyxcbiAgICAgICAgJ2xvZ3M6QXNzb2NpYXRlS21zS2V5JywgJ2xvZ3M6RGlzYXNzb2NpYXRlS21zS2V5JyxcbiAgICAgIF0sXG4gICAgICBSZXNvdXJjZTogd2ViTG9nR3JvdXBzLFxuICAgIH0pO1xuICAgIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgICAgQWN0aW9uOiAnbG9nczpEZXNjcmliZUxvZ0dyb3VwcycsXG4gICAgICBSZXNvdXJjZTogc3RhY2suZm9ybWF0QXJuKHsgc2VydmljZTogJ2xvZ3MnLCByZWdpb246ICcqJywgcmVzb3VyY2U6ICdsb2ctZ3JvdXAnLCByZXNvdXJjZU5hbWU6ICcqJywgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSB9KSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5rbXNLZXlBcm4pIHtcbiAgICAgIC8vIENyZWF0ZUxvZ0dyb3VwIGFuZCBBc3NvY2lhdGVLbXNLZXkgY2hlY2sgdGhhdCB0aGUgY2FsbGVyIGNhbiBkZXNjcmliZSB0aGUga2V5LlxuICAgICAgZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyLCB7IEFjdGlvbjogJ2ttczpEZXNjcmliZUtleScsIFJlc291cmNlOiBwcm9wcy5rbXNLZXlBcm4gfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydGllczogTG9nR3JvdXBQcm9wZXJ0aWVzID0ge1xuICAgICAgUmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBMb2dHcm91cE5hbWU6IHByb3BzLmxvZ0dyb3VwTmFtZSxcbiAgICAgIFJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uID09PSBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEUgPyAnSW5maW5pdGUnIDogU3RyaW5nKHByb3BzLnJldGVudGlvbiksXG4gICAgICBSZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1kgPyAnZGVzdHJveScgOiAncmV0YWluJyxcbiAgICAgIEttc0tleUlkOiBwcm9wcy5rbXNLZXlBcm4sXG4gICAgICBGbHVzaFdhaXRTZWNvbmRzOiBTdHJpbmcoRkxVU0hfV0FJVF9TRUNPTkRTKSxcbiAgICAgIFJlY2hlY2tXYWl0U2Vjb25kczogU3RyaW5nKFJFQ0hFQ0tfV0FJVF9TRUNPTkRTKSxcbiAgICB9O1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6IExPR19HUk9VUF9SRVNPVVJDRV9UWVBFLFxuICAgICAgcHJvcGVydGllczogeyAuLi5wcm9wZXJ0aWVzIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -25,6 +25,8 @@ export interface LogGroupProperties {
25
25
  /** Days, or 'Infinite' for no retention. */
26
26
  readonly RetentionInDays: string;
27
27
  readonly RemovalPolicy: 'retain' | 'destroy';
28
+ /** The ARN of a KMS key in the group's region to encrypt it with; none means the service's own encryption. */
29
+ readonly KmsKeyId?: string;
28
30
  /** Seconds to wait before deleting, so environments still shutting down can flush their last lines. */
29
31
  readonly FlushWaitSeconds: string;
30
32
  /** Seconds to wait before checking once more that the service hasn't re-created the group. */
@@ -42,4 +42,4 @@ exports.EMPTY_ON_DELETE_TAG = { key: 'cdk-lambda-web:empty-on-delete', value: 't
42
42
  * (Web Functions have no AddPermission: the policy is a single document, so writers merge into it).
43
43
  */
44
44
  exports.RESOURCE_POLICY_STATEMENTS_RESOURCE_TYPE = 'Custom::LambdaWebResourcePolicyStatements';
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItcHJvdG9jb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci1wcm90b2NvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUEyQ0gsMERBRUM7QUEzQ0QsdUZBQXVGO0FBQzFFLFFBQUEsa0JBQWtCLEdBQUcsdUJBQXVCLENBQUM7QUFjMUQsdUdBQXVHO0FBQzFGLFFBQUEsdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7QUFjbkUsZ0hBQWdIO0FBQ25HLFFBQUEsNkJBQTZCLEdBQUcsaUNBQWlDLENBQUM7QUFTL0UsZ0ZBQWdGO0FBQ2hGLFNBQWdCLHVCQUF1QixDQUFDLE1BQWM7SUFDcEQsT0FBTyxVQUFVLE1BQU0sRUFBRSxDQUFDO0FBQzVCLENBQUM7QUFFRCxtSEFBbUg7QUFDdEcsUUFBQSw4QkFBOEIsR0FBRyxrQ0FBa0MsQ0FBQztBQWFqRjs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLCtCQUErQixDQUFDO0FBMkIzRSxrSEFBa0g7QUFDbEgsaUhBQWlIO0FBQ3BHLFFBQUEsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBQ2pDLFFBQUEsNEJBQTRCLEdBQUcsd0JBQXdCLENBQUM7QUFnQnJFLDBHQUEwRztBQUM3RixRQUFBLGlDQUFpQyxHQUFHLG9DQUFvQyxDQUFDO0FBRXRGOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBTTVGOzs7R0FHRztBQUNVLFFBQUEsd0NBQXdDLEdBQUcsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRyYWN0IGJldHdlZW4gdGhlIGNvbnN0cnVjdHMgYW5kIHRoZSBjdXN0b20gcmVzb3VyY2UgaGFuZGxlciBpblxuICogYGhhbmRsZXJzL3dlYi1mdW5jdGlvbi1wcm92aWRlcmAuIEJvdGggc2lkZXMgaW1wb3J0IHRoaXMgZmlsZSwgc28gcmVzb3VyY2VcbiAqIHR5cGVzIGFuZCBwcm9wZXJ0eSBuYW1lcyBjYW4ndCBkcmlmdCBhcGFydC5cbiAqXG4gKiBDbG91ZEZvcm1hdGlvbiBwYXNzZXMgZXZlcnkgc2NhbGFyIHByb3BlcnR5IHRvIHRoZSBoYW5kbGVyIGFzIGEgc3RyaW5nLlxuICovXG5cbi8qKiBDb3BpZXMgYSBjb2RlIHppcCBpbnRvIHRoZSBzdGFjaydzIGNvZGUgYnVja2V0IGFuZCByZXR1cm5zIHRoZSBvYmplY3QncyB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IENPREVfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkNvZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgU291cmNlQnVja2V0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IFNvdXJjZUtleTogc3RyaW5nO1xuICByZWFkb25seSBTb3VyY2VWZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSBEZXN0aW5hdGlvbkJ1Y2tldDogc3RyaW5nO1xuICByZWFkb25seSBEZXN0aW5hdGlvbktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVBdHRyaWJ1dGVzIHtcbiAgcmVhZG9ubHkgVmVyc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKiBFbnN1cmVzIG9uZSBsb2cgZ3JvdXAgKGluIGFueSByZWdpb24pIGV4aXN0cyB3aXRoIHRoZSBnaXZlbiByZXRlbnRpb24sIGFuZCByZW1vdmVzIGl0IG9uIGRlbGV0ZS4gKi9cbmV4cG9ydCBjb25zdCBMT0dfR1JPVVBfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkxvZ0dyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFByb3BlcnRpZXMge1xuICByZWFkb25seSBSZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgTG9nR3JvdXBOYW1lOiBzdHJpbmc7XG4gIC8qKiBEYXlzLCBvciAnSW5maW5pdGUnIGZvciBubyByZXRlbnRpb24uICovXG4gIHJlYWRvbmx5IFJldGVudGlvbkluRGF5czogc3RyaW5nO1xuICByZWFkb25seSBSZW1vdmFsUG9saWN5OiAncmV0YWluJyB8ICdkZXN0cm95JztcbiAgLyoqIFNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZGVsZXRpbmcsIHNvIGVudmlyb25tZW50cyBzdGlsbCBzaHV0dGluZyBkb3duIGNhbiBmbHVzaCB0aGVpciBsYXN0IGxpbmVzLiAqL1xuICByZWFkb25seSBGbHVzaFdhaXRTZWNvbmRzOiBzdHJpbmc7XG4gIC8qKiBTZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGNoZWNraW5nIG9uY2UgbW9yZSB0aGF0IHRoZSBzZXJ2aWNlIGhhc24ndCByZS1jcmVhdGVkIHRoZSBncm91cC4gKi9cbiAgcmVhZG9ubHkgUmVjaGVja1dhaXRTZWNvbmRzOiBzdHJpbmc7XG59XG5cbi8qKiBSZWFkcyBhbiBlbmRwb2ludCdzIHBlci1yZWdpb24gZG9tYWluIG5hbWVzLCB3aGljaCBDbG91ZEZvcm1hdGlvbiBjYW4ndCBpbmRleCBvdXQgb2YgYFJlZ2lvbmFsRW5kcG9pbnRzYC4gKi9cbmV4cG9ydCBjb25zdCBFTkRQT0lOVF9MT09LVVBfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkVuZHBvaW50TG9va3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludExvb2t1cFByb3BlcnRpZXMge1xuICByZWFkb25seSBGdW5jdGlvbkFybjogc3RyaW5nO1xuICByZWFkb25seSBFbmRwb2ludE5hbWU6IHN0cmluZztcbiAgLyoqIENoYW5nZXMgd2hlbmV2ZXIgdGhlIGVuZHBvaW50IGlzIHJlcGxhY2VkLCBzbyB0aGUgbG9va3VwIHJ1bnMgYWdhaW4uICovXG4gIHJlYWRvbmx5IEVuZHBvaW50QXJuOiBzdHJpbmc7XG59XG5cbi8qKiBBdHRyaWJ1dGUgbmFtZSBob2xkaW5nIHRoZSBkb21haW4gb2Ygb25lIHJlZ2lvbiwgZS5nLiBgRG9tYWluLnVzLWVhc3QtMWAuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaW9uYWxEb21haW5BdHRyaWJ1dGUocmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYERvbWFpbi4ke3JlZ2lvbn1gO1xufVxuXG4vKiogRGVsZXRlcyBhIGZ1bmN0aW9uJ3Mgb2xkZXN0IHJldmlzaW9ucyBiZXlvbmQgYSBjb3VudCwgZXhjZXB0IHRob3NlIHRoYXQgYXJlIGluIHVzZSBvciBtYXkgYmUgcm9sbGVkIGJhY2sgdG8uICovXG5leHBvcnQgY29uc3QgUkVWSVNJT05fQ0xFQU5VUF9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViUmV2aXNpb25DbGVhbnVwJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXZpc2lvbkNsZWFudXBQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgRnVuY3Rpb25Bcm46IHN0cmluZztcbiAgLyoqIEhvdyBtYW55IG9mIHRoZSBuZXdlc3QgcmV2aXNpb25zIHRvIGtlZXAuICovXG4gIHJlYWRvbmx5IEtlZXA6IHN0cmluZztcbiAgLyoqXG4gICAqIFJldmlzaW9ucyB0aGUgdGVtcGxhdGUgdXNlcyAodGhlIGN1cnJlbnQgb25lIGFuZCBhbnkgYW4gZW5kcG9pbnQgcm91dGVzIHRvKS4gQWx3YXlzIGtlcHQsIGFuZCBvbiBhbiB1cGRhdGVcbiAgICogdGhlIHByZXZpb3VzIHRlbXBsYXRlJ3MgYXJlIGtlcHQgdG9vOiB0aGV5J3JlIHdoYXQgYSByb2xsYmFjayByb3V0ZXMgYmFjayB0by5cbiAgICovXG4gIHJlYWRvbmx5IFJldmlzaW9uSWRzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBNb3ZlcyBhbiBlbmRwb2ludCdzIHRyYWZmaWMgdG8gYSByZXZpc2lvbiBpbiBzdGVwcywgd2F0Y2hpbmcgYWxhcm1zIChjYW5hcnkgYW5kIGxpbmVhciBkZXBsb3ltZW50cykuXG4gKiBTZXJ2ZWQgYnkgdGhlIGRlcGxveW1lbnQgcHJvdmlkZXIgKGBoYW5kbGVycy93ZWItZnVuY3Rpb24tZGVwbG95bWVudGApLCBub3QgdGhlIHNoYXJlZCBwcm92aWRlcjogaXQgY2FuIHJ1biBmb3IgdXAgdG8gYW4gaG91ci5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUZGSUNfU0hJRlRfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYlRyYWZmaWNTaGlmdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhZmZpY1NoaWZ0UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IEZ1bmN0aW9uQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEVuZHBvaW50TmFtZTogc3RyaW5nO1xuICAvKiogVGhlIHJldmlzaW9uIHRoYXQgZW5kcyB1cCB3aXRoIGFsbCBvZiB0aGUgZW5kcG9pbnQncyB0cmFmZmljLiAqL1xuICByZWFkb25seSBSZXZpc2lvbklkOiBzdHJpbmc7XG4gIC8qKiBUaGUgcmV2aXNpb24ncyBzaGFyZSBvZiB0cmFmZmljIGF0IGVhY2ggc3RlcCwgaW4gcGVyY2VudCwgY29tbWEtc2VwYXJhdGVkOyB0aGUgbGFzdCBpcyAxMDAuICovXG4gIHJlYWRvbmx5IFN0ZXBzOiBzdHJpbmc7XG4gIC8qKiBTZWNvbmRzIGVhY2ggc3RlcCBzZXJ2ZXMgKGNvdW50ZWQgZnJvbSB3aGVuIGl0cyB1cGRhdGUgc3RhcnRlZCkgYmVmb3JlIHRoZSBuZXh0LiAqL1xuICByZWFkb25seSBXYWl0U2Vjb25kczogc3RyaW5nO1xuICAvKiogQWxhcm1zIChpbiBhbnkgcmVnaW9uKSB0aGF0IHN0b3AgdGhlIGRlcGxveW1lbnQgYW5kIHJlc3RvcmUgdGhlIHByZXZpb3VzIHdlaWdodHMuICovXG4gIHJlYWRvbmx5IEFsYXJtQXJucz86IHN0cmluZ1tdO1xuICAvKiogSGFzaCBvZiB0aGUgZW5kcG9pbnQncyBvdGhlciBzZXR0aW5nczogYW55IGVuZHBvaW50IGNoYW5nZSByZS1jaGVja3MgaXRzIHRyYWZmaWMgYmVmb3JlIENsb3VkRm9ybWF0aW9uIHdyaXRlcyBpdC4gKi9cbiAgcmVhZG9ubHkgRW5kcG9pbnRDb25maWc6IHN0cmluZztcbn1cblxuLyoqIFdoYXQgYG9uRXZlbnRgIGhhbmRzIHRvIGBpc0NvbXBsZXRlYCAodGhlIFByb3ZpZGVyIGZyYW1ld29yayBwYXNzZXMgaXQgYXMgYERhdGFgKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhZmZpY1NoaWZ0U3RhdGUge1xuICAvKiogYG5vbmVgOiBub3RoaW5nIHRvIGRvOyBgc2hpZnRgOiBtb3ZpbmcgaW4gc3RlcHM7IGBzd2l0Y2hgOiBhbGwgYXQgb25jZSwgd2l0aG91dCBhbGFybXMgKHN0YWNrIHJvbGxiYWNrKS4gKi9cbiAgcmVhZG9ubHkgQWN0aW9uOiAnbm9uZScgfCAnc2hpZnQnIHwgJ3N3aXRjaCc7XG4gIC8qKiBgc2hpZnRgOiB0aGUgZW5kcG9pbnQncyB3ZWlnaHRzIGJlZm9yZSB0aGUgZGVwbG95bWVudCAoSlNPTiBgW3tyZXZpc2lvbklkLCB3ZWlnaHR9XWApLCByZXN0b3JlZCB3aGVuIGFuIGFsYXJtIGZpcmVzLiAqL1xuICByZWFkb25seSBQcmV2aW91c1dlaWdodHM/OiBzdHJpbmc7XG4gIC8qKiBgc3dpdGNoYDogdGhlIHdlaWdodHMgYmVpbmcgd3JpdHRlbiAoSlNPTiBgW3tyZXZpc2lvbklkLCB3ZWlnaHR9XWApLiAqL1xuICByZWFkb25seSBUYXJnZXRXZWlnaHRzPzogc3RyaW5nO1xufVxuXG4vKiogQ3JlYXRlcyBhIENsb3VkV2F0Y2ggbWV0cmljIGFsYXJtIGluIGFueSByZWdpb24gKENsb3VkRm9ybWF0aW9uIG9ubHkgY3JlYXRlcyBhbGFybXMgaW4gdGhlIHN0YWNrJ3MgcmVnaW9uKS4gKi9cbi8qKiBQcmVmaXggb2YgZXZlcnkgYWxhcm0gdGhpcyBsaWJyYXJ5IGNyZWF0ZXMgb3V0c2lkZSB0aGUgc3RhY2sncyByZWdpb247IHRoZSBwcm92aWRlcidzIElBTSBpcyBzY29wZWQgdG8gaXQuICovXG5leHBvcnQgY29uc3QgQUxBUk1fTkFNRV9QUkVGSVggPSAnTGFtYmRhV2ViLSc7XG5leHBvcnQgY29uc3QgUkVHSU9OQUxfQUxBUk1fUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkFsYXJtJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWdpb25hbEFsYXJtUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IFJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBBbGFybU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgQWxhcm1EZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogUHV0TWV0cmljQWxhcm0ncyBgTWV0cmljc2AsIGFzIEpTT04uICovXG4gIHJlYWRvbmx5IE1ldHJpY3M6IHN0cmluZztcbiAgcmVhZG9ubHkgVGhyZXNob2xkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEV2YWx1YXRpb25QZXJpb2RzOiBzdHJpbmc7XG4gIC8qKiBQdXRNZXRyaWNBbGFybSdzIGBDb21wYXJpc29uT3BlcmF0b3JgLiAqL1xuICByZWFkb25seSBDb21wYXJpc29uT3BlcmF0b3I6IHN0cmluZztcbiAgLyoqIFB1dE1ldHJpY0FsYXJtJ3MgYFRyZWF0TWlzc2luZ0RhdGFgLiAqL1xuICByZWFkb25seSBUcmVhdE1pc3NpbmdEYXRhOiBzdHJpbmc7XG59XG5cbi8qKiBFbXB0aWVzIHRoZSBzdGFjaydzIGNvZGUgYnVja2V0IChldmVyeSBvYmplY3QgdmVyc2lvbiBhbmQgZGVsZXRlIG1hcmtlcikgd2hlbiB0aGUgc3RhY2sgZGVsZXRlcyBpdC4gKi9cbmV4cG9ydCBjb25zdCBDT0RFX0JVQ0tFVF9DTEVBTlVQX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJDb2RlQnVja2V0Q2xlYW51cCc7XG5cbi8qKlxuICogVGFnIG9uIHRoZSBjb2RlIGJ1Y2tldCB0aGF0IGxldHMgdGhlIGNsZWFudXAgZW1wdHkgaXQuIEEgcm9sbGJhY2sgcmV2ZXJ0cyB0aGUgYnVja2V0J3MgdGFncyBiZWZvcmUgaXQgZGVsZXRlc1xuICogcmVzb3VyY2VzIHRoZSBmYWlsZWQgdXBkYXRlIGNyZWF0ZWQsIHNvIGEgY2xlYW51cCByZXNvdXJjZSBhZGRlZCB0byBhbiBleGlzdGluZyBidWNrZXQgbmV2ZXIgZW1wdGllcyBpdCBvbiByb2xsYmFjay5cbiAqL1xuZXhwb3J0IGNvbnN0IEVNUFRZX09OX0RFTEVURV9UQUcgPSB7IGtleTogJ2Nkay1sYW1iZGEtd2ViOmVtcHR5LW9uLWRlbGV0ZScsIHZhbHVlOiAndHJ1ZScgfTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVja2V0Q2xlYW51cFByb3BlcnRpZXMge1xuICByZWFkb25seSBCdWNrZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV3JpdGVzIG9uZSBzdGFjaydzIHN0YXRlbWVudHMgaW50byBhIFdlYiBGdW5jdGlvbidzIHJlc291cmNlIHBvbGljeSwga2VlcGluZyBldmVyeSBvdGhlciB3cml0ZXIncyBzdGF0ZW1lbnRzXG4gKiAoV2ViIEZ1bmN0aW9ucyBoYXZlIG5vIEFkZFBlcm1pc3Npb246IHRoZSBwb2xpY3kgaXMgYSBzaW5nbGUgZG9jdW1lbnQsIHNvIHdyaXRlcnMgbWVyZ2UgaW50byBpdCkuXG4gKi9cbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9QT0xJQ1lfU1RBVEVNRU5UU19SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBvbGljeVN0YXRlbWVudHNQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgRnVuY3Rpb25Bcm46IHN0cmluZztcbiAgLyoqIFRoZSBzdGF0ZW1lbnRzIHRoaXMgcmVzb3VyY2Ugb3ducywgZWFjaCB3aXRoIGEgU2lkIHVuaXF1ZSBpbiB0aGUgZnVuY3Rpb24ncyBwb2xpY3kuICovXG4gIHJlYWRvbmx5IFBvbGljeTogeyByZWFkb25seSBTdGF0ZW1lbnQ6IFJlYWRvbmx5QXJyYXk8eyByZWFkb25seSBTaWQ6IHN0cmluZzsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiB9O1xufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItcHJvdG9jb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci1wcm90b2NvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUE2Q0gsMERBRUM7QUE3Q0QsdUZBQXVGO0FBQzFFLFFBQUEsa0JBQWtCLEdBQUcsdUJBQXVCLENBQUM7QUFjMUQsdUdBQXVHO0FBQzFGLFFBQUEsdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7QUFnQm5FLGdIQUFnSDtBQUNuRyxRQUFBLDZCQUE2QixHQUFHLGlDQUFpQyxDQUFDO0FBUy9FLGdGQUFnRjtBQUNoRixTQUFnQix1QkFBdUIsQ0FBQyxNQUFjO0lBQ3BELE9BQU8sVUFBVSxNQUFNLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsbUhBQW1IO0FBQ3RHLFFBQUEsOEJBQThCLEdBQUcsa0NBQWtDLENBQUM7QUFhakY7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRywrQkFBK0IsQ0FBQztBQTJCM0Usa0hBQWtIO0FBQ2xILGlIQUFpSDtBQUNwRyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUNqQyxRQUFBLDRCQUE0QixHQUFHLHdCQUF3QixDQUFDO0FBZ0JyRSwwR0FBMEc7QUFDN0YsUUFBQSxpQ0FBaUMsR0FBRyxvQ0FBb0MsQ0FBQztBQUV0Rjs7O0dBR0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztBQU01Rjs7O0dBR0c7QUFDVSxRQUFBLHdDQUF3QyxHQUFHLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250cmFjdCBiZXR3ZWVuIHRoZSBjb25zdHJ1Y3RzIGFuZCB0aGUgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgaW5cbiAqIGBoYW5kbGVycy93ZWItZnVuY3Rpb24tcHJvdmlkZXJgLiBCb3RoIHNpZGVzIGltcG9ydCB0aGlzIGZpbGUsIHNvIHJlc291cmNlXG4gKiB0eXBlcyBhbmQgcHJvcGVydHkgbmFtZXMgY2FuJ3QgZHJpZnQgYXBhcnQuXG4gKlxuICogQ2xvdWRGb3JtYXRpb24gcGFzc2VzIGV2ZXJ5IHNjYWxhciBwcm9wZXJ0eSB0byB0aGUgaGFuZGxlciBhcyBhIHN0cmluZy5cbiAqL1xuXG4vKiogQ29waWVzIGEgY29kZSB6aXAgaW50byB0aGUgc3RhY2sncyBjb2RlIGJ1Y2tldCBhbmQgcmV0dXJucyB0aGUgb2JqZWN0J3MgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBDT0RFX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJDb2RlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IFNvdXJjZUJ1Y2tldDogc3RyaW5nO1xuICByZWFkb25seSBTb3VyY2VLZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgU291cmNlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzdGluYXRpb25CdWNrZXQ6IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzdGluYXRpb25LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQXR0cmlidXRlcyB7XG4gIHJlYWRvbmx5IFZlcnNpb25JZDogc3RyaW5nO1xufVxuXG4vKiogRW5zdXJlcyBvbmUgbG9nIGdyb3VwIChpbiBhbnkgcmVnaW9uKSBleGlzdHMgd2l0aCB0aGUgZ2l2ZW4gcmV0ZW50aW9uLCBhbmQgcmVtb3ZlcyBpdCBvbiBkZWxldGUuICovXG5leHBvcnQgY29uc3QgTE9HX0dST1VQX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJMb2dHcm91cCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nR3JvdXBQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IExvZ0dyb3VwTmFtZTogc3RyaW5nO1xuICAvKiogRGF5cywgb3IgJ0luZmluaXRlJyBmb3Igbm8gcmV0ZW50aW9uLiAqL1xuICByZWFkb25seSBSZXRlbnRpb25JbkRheXM6IHN0cmluZztcbiAgcmVhZG9ubHkgUmVtb3ZhbFBvbGljeTogJ3JldGFpbicgfCAnZGVzdHJveSc7XG4gIC8qKiBUaGUgQVJOIG9mIGEgS01TIGtleSBpbiB0aGUgZ3JvdXAncyByZWdpb24gdG8gZW5jcnlwdCBpdCB3aXRoOyBub25lIG1lYW5zIHRoZSBzZXJ2aWNlJ3Mgb3duIGVuY3J5cHRpb24uICovXG4gIHJlYWRvbmx5IEttc0tleUlkPzogc3RyaW5nO1xuICAvKiogU2Vjb25kcyB0byB3YWl0IGJlZm9yZSBkZWxldGluZywgc28gZW52aXJvbm1lbnRzIHN0aWxsIHNodXR0aW5nIGRvd24gY2FuIGZsdXNoIHRoZWlyIGxhc3QgbGluZXMuICovXG4gIHJlYWRvbmx5IEZsdXNoV2FpdFNlY29uZHM6IHN0cmluZztcbiAgLyoqIFNlY29uZHMgdG8gd2FpdCBiZWZvcmUgY2hlY2tpbmcgb25jZSBtb3JlIHRoYXQgdGhlIHNlcnZpY2UgaGFzbid0IHJlLWNyZWF0ZWQgdGhlIGdyb3VwLiAqL1xuICByZWFkb25seSBSZWNoZWNrV2FpdFNlY29uZHM6IHN0cmluZztcbn1cblxuLyoqIFJlYWRzIGFuIGVuZHBvaW50J3MgcGVyLXJlZ2lvbiBkb21haW4gbmFtZXMsIHdoaWNoIENsb3VkRm9ybWF0aW9uIGNhbid0IGluZGV4IG91dCBvZiBgUmVnaW9uYWxFbmRwb2ludHNgLiAqL1xuZXhwb3J0IGNvbnN0IEVORFBPSU5UX0xPT0tVUF9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViRW5kcG9pbnRMb29rdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVuZHBvaW50TG9va3VwUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IEZ1bmN0aW9uQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEVuZHBvaW50TmFtZTogc3RyaW5nO1xuICAvKiogQ2hhbmdlcyB3aGVuZXZlciB0aGUgZW5kcG9pbnQgaXMgcmVwbGFjZWQsIHNvIHRoZSBsb29rdXAgcnVucyBhZ2Fpbi4gKi9cbiAgcmVhZG9ubHkgRW5kcG9pbnRBcm46IHN0cmluZztcbn1cblxuLyoqIEF0dHJpYnV0ZSBuYW1lIGhvbGRpbmcgdGhlIGRvbWFpbiBvZiBvbmUgcmVnaW9uLCBlLmcuIGBEb21haW4udXMtZWFzdC0xYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpb25hbERvbWFpbkF0dHJpYnV0ZShyZWdpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgRG9tYWluLiR7cmVnaW9ufWA7XG59XG5cbi8qKiBEZWxldGVzIGEgZnVuY3Rpb24ncyBvbGRlc3QgcmV2aXNpb25zIGJleW9uZCBhIGNvdW50LCBleGNlcHQgdGhvc2UgdGhhdCBhcmUgaW4gdXNlIG9yIG1heSBiZSByb2xsZWQgYmFjayB0by4gKi9cbmV4cG9ydCBjb25zdCBSRVZJU0lPTl9DTEVBTlVQX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJSZXZpc2lvbkNsZWFudXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldmlzaW9uQ2xlYW51cFByb3BlcnRpZXMge1xuICByZWFkb25seSBGdW5jdGlvbkFybjogc3RyaW5nO1xuICAvKiogSG93IG1hbnkgb2YgdGhlIG5ld2VzdCByZXZpc2lvbnMgdG8ga2VlcC4gKi9cbiAgcmVhZG9ubHkgS2VlcDogc3RyaW5nO1xuICAvKipcbiAgICogUmV2aXNpb25zIHRoZSB0ZW1wbGF0ZSB1c2VzICh0aGUgY3VycmVudCBvbmUgYW5kIGFueSBhbiBlbmRwb2ludCByb3V0ZXMgdG8pLiBBbHdheXMga2VwdCwgYW5kIG9uIGFuIHVwZGF0ZVxuICAgKiB0aGUgcHJldmlvdXMgdGVtcGxhdGUncyBhcmUga2VwdCB0b286IHRoZXkncmUgd2hhdCBhIHJvbGxiYWNrIHJvdXRlcyBiYWNrIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgUmV2aXNpb25JZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE1vdmVzIGFuIGVuZHBvaW50J3MgdHJhZmZpYyB0byBhIHJldmlzaW9uIGluIHN0ZXBzLCB3YXRjaGluZyBhbGFybXMgKGNhbmFyeSBhbmQgbGluZWFyIGRlcGxveW1lbnRzKS5cbiAqIFNlcnZlZCBieSB0aGUgZGVwbG95bWVudCBwcm92aWRlciAoYGhhbmRsZXJzL3dlYi1mdW5jdGlvbi1kZXBsb3ltZW50YCksIG5vdCB0aGUgc2hhcmVkIHByb3ZpZGVyOiBpdCBjYW4gcnVuIGZvciB1cCB0byBhbiBob3VyLlxuICovXG5leHBvcnQgY29uc3QgVFJBRkZJQ19TSElGVF9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViVHJhZmZpY1NoaWZ0JztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFmZmljU2hpZnRQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgRnVuY3Rpb25Bcm46IHN0cmluZztcbiAgcmVhZG9ubHkgRW5kcG9pbnROYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgcmV2aXNpb24gdGhhdCBlbmRzIHVwIHdpdGggYWxsIG9mIHRoZSBlbmRwb2ludCdzIHRyYWZmaWMuICovXG4gIHJlYWRvbmx5IFJldmlzaW9uSWQ6IHN0cmluZztcbiAgLyoqIFRoZSByZXZpc2lvbidzIHNoYXJlIG9mIHRyYWZmaWMgYXQgZWFjaCBzdGVwLCBpbiBwZXJjZW50LCBjb21tYS1zZXBhcmF0ZWQ7IHRoZSBsYXN0IGlzIDEwMC4gKi9cbiAgcmVhZG9ubHkgU3RlcHM6IHN0cmluZztcbiAgLyoqIFNlY29uZHMgZWFjaCBzdGVwIHNlcnZlcyAoY291bnRlZCBmcm9tIHdoZW4gaXRzIHVwZGF0ZSBzdGFydGVkKSBiZWZvcmUgdGhlIG5leHQuICovXG4gIHJlYWRvbmx5IFdhaXRTZWNvbmRzOiBzdHJpbmc7XG4gIC8qKiBBbGFybXMgKGluIGFueSByZWdpb24pIHRoYXQgc3RvcCB0aGUgZGVwbG95bWVudCBhbmQgcmVzdG9yZSB0aGUgcHJldmlvdXMgd2VpZ2h0cy4gKi9cbiAgcmVhZG9ubHkgQWxhcm1Bcm5zPzogc3RyaW5nW107XG4gIC8qKiBIYXNoIG9mIHRoZSBlbmRwb2ludCdzIG90aGVyIHNldHRpbmdzOiBhbnkgZW5kcG9pbnQgY2hhbmdlIHJlLWNoZWNrcyBpdHMgdHJhZmZpYyBiZWZvcmUgQ2xvdWRGb3JtYXRpb24gd3JpdGVzIGl0LiAqL1xuICByZWFkb25seSBFbmRwb2ludENvbmZpZzogc3RyaW5nO1xufVxuXG4vKiogV2hhdCBgb25FdmVudGAgaGFuZHMgdG8gYGlzQ29tcGxldGVgICh0aGUgUHJvdmlkZXIgZnJhbWV3b3JrIHBhc3NlcyBpdCBhcyBgRGF0YWApLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFmZmljU2hpZnRTdGF0ZSB7XG4gIC8qKiBgbm9uZWA6IG5vdGhpbmcgdG8gZG87IGBzaGlmdGA6IG1vdmluZyBpbiBzdGVwczsgYHN3aXRjaGA6IGFsbCBhdCBvbmNlLCB3aXRob3V0IGFsYXJtcyAoc3RhY2sgcm9sbGJhY2spLiAqL1xuICByZWFkb25seSBBY3Rpb246ICdub25lJyB8ICdzaGlmdCcgfCAnc3dpdGNoJztcbiAgLyoqIGBzaGlmdGA6IHRoZSBlbmRwb2ludCdzIHdlaWdodHMgYmVmb3JlIHRoZSBkZXBsb3ltZW50IChKU09OIGBbe3JldmlzaW9uSWQsIHdlaWdodH1dYCksIHJlc3RvcmVkIHdoZW4gYW4gYWxhcm0gZmlyZXMuICovXG4gIHJlYWRvbmx5IFByZXZpb3VzV2VpZ2h0cz86IHN0cmluZztcbiAgLyoqIGBzd2l0Y2hgOiB0aGUgd2VpZ2h0cyBiZWluZyB3cml0dGVuIChKU09OIGBbe3JldmlzaW9uSWQsIHdlaWdodH1dYCkuICovXG4gIHJlYWRvbmx5IFRhcmdldFdlaWdodHM/OiBzdHJpbmc7XG59XG5cbi8qKiBDcmVhdGVzIGEgQ2xvdWRXYXRjaCBtZXRyaWMgYWxhcm0gaW4gYW55IHJlZ2lvbiAoQ2xvdWRGb3JtYXRpb24gb25seSBjcmVhdGVzIGFsYXJtcyBpbiB0aGUgc3RhY2sncyByZWdpb24pLiAqL1xuLyoqIFByZWZpeCBvZiBldmVyeSBhbGFybSB0aGlzIGxpYnJhcnkgY3JlYXRlcyBvdXRzaWRlIHRoZSBzdGFjaydzIHJlZ2lvbjsgdGhlIHByb3ZpZGVyJ3MgSUFNIGlzIHNjb3BlZCB0byBpdC4gKi9cbmV4cG9ydCBjb25zdCBBTEFSTV9OQU1FX1BSRUZJWCA9ICdMYW1iZGFXZWItJztcbmV4cG9ydCBjb25zdCBSRUdJT05BTF9BTEFSTV9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViQWxhcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbmFsQWxhcm1Qcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEFsYXJtTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBBbGFybURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKiBQdXRNZXRyaWNBbGFybSdzIGBNZXRyaWNzYCwgYXMgSlNPTi4gKi9cbiAgcmVhZG9ubHkgTWV0cmljczogc3RyaW5nO1xuICByZWFkb25seSBUaHJlc2hvbGQ6IHN0cmluZztcbiAgcmVhZG9ubHkgRXZhbHVhdGlvblBlcmlvZHM6IHN0cmluZztcbiAgLyoqIFB1dE1ldHJpY0FsYXJtJ3MgYENvbXBhcmlzb25PcGVyYXRvcmAuICovXG4gIHJlYWRvbmx5IENvbXBhcmlzb25PcGVyYXRvcjogc3RyaW5nO1xuICAvKiogUHV0TWV0cmljQWxhcm0ncyBgVHJlYXRNaXNzaW5nRGF0YWAuICovXG4gIHJlYWRvbmx5IFRyZWF0TWlzc2luZ0RhdGE6IHN0cmluZztcbn1cblxuLyoqIEVtcHRpZXMgdGhlIHN0YWNrJ3MgY29kZSBidWNrZXQgKGV2ZXJ5IG9iamVjdCB2ZXJzaW9uIGFuZCBkZWxldGUgbWFya2VyKSB3aGVuIHRoZSBzdGFjayBkZWxldGVzIGl0LiAqL1xuZXhwb3J0IGNvbnN0IENPREVfQlVDS0VUX0NMRUFOVVBfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkNvZGVCdWNrZXRDbGVhbnVwJztcblxuLyoqXG4gKiBUYWcgb24gdGhlIGNvZGUgYnVja2V0IHRoYXQgbGV0cyB0aGUgY2xlYW51cCBlbXB0eSBpdC4gQSByb2xsYmFjayByZXZlcnRzIHRoZSBidWNrZXQncyB0YWdzIGJlZm9yZSBpdCBkZWxldGVzXG4gKiByZXNvdXJjZXMgdGhlIGZhaWxlZCB1cGRhdGUgY3JlYXRlZCwgc28gYSBjbGVhbnVwIHJlc291cmNlIGFkZGVkIHRvIGFuIGV4aXN0aW5nIGJ1Y2tldCBuZXZlciBlbXB0aWVzIGl0IG9uIHJvbGxiYWNrLlxuICovXG5leHBvcnQgY29uc3QgRU1QVFlfT05fREVMRVRFX1RBRyA9IHsga2V5OiAnY2RrLWxhbWJkYS13ZWI6ZW1wdHktb24tZGVsZXRlJywgdmFsdWU6ICd0cnVlJyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWNrZXRDbGVhbnVwUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IEJ1Y2tldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcml0ZXMgb25lIHN0YWNrJ3Mgc3RhdGVtZW50cyBpbnRvIGEgV2ViIEZ1bmN0aW9uJ3MgcmVzb3VyY2UgcG9saWN5LCBrZWVwaW5nIGV2ZXJ5IG90aGVyIHdyaXRlcidzIHN0YXRlbWVudHNcbiAqIChXZWIgRnVuY3Rpb25zIGhhdmUgbm8gQWRkUGVybWlzc2lvbjogdGhlIHBvbGljeSBpcyBhIHNpbmdsZSBkb2N1bWVudCwgc28gd3JpdGVycyBtZXJnZSBpbnRvIGl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFU09VUkNFX1BPTElDWV9TVEFURU1FTlRTX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJSZXNvdXJjZVBvbGljeVN0YXRlbWVudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUG9saWN5U3RhdGVtZW50c1Byb3BlcnRpZXMge1xuICByZWFkb25seSBGdW5jdGlvbkFybjogc3RyaW5nO1xuICAvKiogVGhlIHN0YXRlbWVudHMgdGhpcyByZXNvdXJjZSBvd25zLCBlYWNoIHdpdGggYSBTaWQgdW5pcXVlIGluIHRoZSBmdW5jdGlvbidzIHBvbGljeS4gKi9cbiAgcmVhZG9ubHkgUG9saWN5OiB7IHJlYWRvbmx5IFN0YXRlbWVudDogUmVhZG9ubHlBcnJheTx7IHJlYWRvbmx5IFNpZDogc3RyaW5nOyByZWFkb25seSBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+IH07XG59XG4iXX0=
@@ -73,7 +73,7 @@ function webFunctionProvider(scope) {
73
73
  });
74
74
  const handler = provider.node.findChild('Handler');
75
75
  handler.addPropertyOverride('LoggingConfig', { LogGroup: logGroup.logGroupName, LogFormat: 'Text' });
76
- handler.addDependency(logGroup.node.defaultChild);
76
+ handler.addResourceDependency(logGroup.node.defaultChild);
77
77
  // Only write to that group. The default AWSLambdaBasicExecutionRole allows logs:CreateLogGroup, so log lines
78
78
  // Lambda delivers late, after CloudFormation deleted the group with the stack, would re-create it without retention.
79
79
  // No Role child when the app uses pre-created roles (iam.Role.customizeRoles): that role is managed outside CDK.
@@ -105,4 +105,4 @@ function grantToProvider(provider, statement) {
105
105
  seen.add(key);
106
106
  provider.addToRolePolicy({ Effect: 'Allow', ...statement });
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLGtEQWtDQztBQWdCRCwwQ0FVQztBQXhFRCxnREFBa0M7QUFDbEMsNkNBQXVKO0FBQ3ZKLDJEQUE2QztBQUU3QywyREFBd0Q7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxLQUFnQjtJQUNsRCxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixNQUFNLFFBQVEsR0FBRyxvQ0FBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQzlFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztRQUNsRixPQUFPLEVBQUUsMkNBQTZCLENBQUMsV0FBVztRQUNsRCx3RkFBd0Y7UUFDeEYsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFVLEVBQUUsa0JBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLFdBQVcsRUFBRSxzR0FBc0c7S0FDcEgsQ0FBQyxDQUFDO0lBQ0gsNkdBQTZHO0lBQzdHLHNHQUFzRztJQUN0RyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO1FBQ2hFLFFBQVEsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcscUNBQWlCLEdBQUcsRUFBRSxTQUFTLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUI7U0FDdkksQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDM0QsMEdBQTBHO0lBQzFHLCtGQUErRjtJQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1FBQ3ZDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87S0FDckMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFnQixDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBMkIsQ0FBQyxDQUFDO0lBQ2pFLDZHQUE2RztJQUM3RyxxSEFBcUg7SUFDckgsaUhBQWlIO0lBQ2hILFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBNkIsRUFBRSwyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xILGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNySCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxXQUFXLEdBQUcsbUNBQW1DLENBQUM7QUFDeEQsTUFBTSxZQUFZLEdBQUcsK0JBQStCLENBQUM7QUFFckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXVDLENBQUM7QUFFbkU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixlQUFlLENBQUMsUUFBZ0MsRUFBRSxTQUFxRTtJQUNySSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPO0lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IEFybkZvcm1hdCwgdHlwZSBDZm5SZXNvdXJjZSwgQ3VzdG9tUmVzb3VyY2VQcm92aWRlciwgQ3VzdG9tUmVzb3VyY2VQcm92aWRlclJ1bnRpbWUsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTaXplLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFMQVJNX05BTUVfUFJFRklYIH0gZnJvbSAnLi9wcm92aWRlci1wcm90b2NvbCc7XG5cbi8qKlxuICogVGhlIHNpbmdsZSBjdXN0b20gcmVzb3VyY2UgcHJvdmlkZXIgKG9uZSBMYW1iZGEgcGVyIHN0YWNrKSBiZWhpbmQgY29kZSBjb3BpZXMsIGxvZyBncm91cHMsXG4gKiBlbmRwb2ludCBsb29rdXBzLCByZXZpc2lvbiBjbGVhbnVwLCBhbGFybXMgaW4gb3RoZXIgcmVnaW9ucyBhbmQgZW1wdHlpbmcgdGhlIGNvZGUgYnVja2V0LiBJdCdzIGEgY29yZVxuICogYEN1c3RvbVJlc291cmNlUHJvdmlkZXJgLCBub3QgYSBgbGFtYmRhLkZ1bmN0aW9uYCwgc28gdG9vbHMgdGhhdCBkaXNjb3ZlciBmdW5jdGlvbnMgYnkgY2xhc3MgKGUuZy4gY2RrLXdhdGNoZnVsKVxuICogZG9uJ3QgcGljayBpdCB1cC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdlYkZ1bmN0aW9uUHJvdmlkZXIoc2NvcGU6IENvbnN0cnVjdCk6IEN1c3RvbVJlc291cmNlUHJvdmlkZXIge1xuICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgY29uc3QgcHJvdmlkZXIgPSBDdXN0b21SZXNvdXJjZVByb3ZpZGVyLmdldE9yQ3JlYXRlUHJvdmlkZXIoc2NvcGUsIFBST1ZJREVSX0lELCB7XG4gICAgY29kZURpcmVjdG9yeTogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICd3ZWItZnVuY3Rpb24tcHJvdmlkZXInKSxcbiAgICBydW50aW1lOiBDdXN0b21SZXNvdXJjZVByb3ZpZGVyUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAvLyBMb2cgZ3JvdXAgZGVsZXRpb24gd2FpdHMgZm9yIGxhdGUgZmx1c2hlcyAoNzVzICsgYSByZS1jaGVjaykgb24gdG9wIG9mIHRoZSBBUEkgY2FsbHMuXG4gICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICBtZW1vcnlTaXplOiBTaXplLm1lYmlieXRlcygyNTYpLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29waWVzIGNvZGUsIG1hbmFnZXMgbG9nIGdyb3VwcywgbG9va3MgdXAgZW5kcG9pbnRzIGFuZCBjbGVhbnMgdXAgcmV2aXNpb25zIGZvciBMYW1iZGEgV2ViIEZ1bmN0aW9ucycsXG4gIH0pO1xuICAvLyBHcmFudGVkIHdoZXRoZXIgb3Igbm90IGEgc3RhY2sgaGFzIGFsYXJtcyBpbiBvdGhlciByZWdpb25zIHlldDogYSBncmFudCBhZGRlZCBvciByZW1vdmVkIHRvZ2V0aGVyIHdpdGggdGhlXG4gIC8vIGFsYXJtIGZhaWxzIG9uIElBTSBwcm9wYWdhdGlvbiwgb3IgbGVhdmVzIHRoZSBhbGFybSBiZWhpbmQgd2hlbiBpdCdzIHJlbW92ZWQgKHNlZSBncmFudFRvUHJvdmlkZXIpLlxuICBncmFudFRvUHJvdmlkZXIocHJvdmlkZXIsIHtcbiAgICBBY3Rpb246IFsnY2xvdWR3YXRjaDpQdXRNZXRyaWNBbGFybScsICdjbG91ZHdhdGNoOkRlbGV0ZUFsYXJtcyddLFxuICAgIFJlc291cmNlOiBTdGFjay5vZihwcm92aWRlcikuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdjbG91ZHdhdGNoJywgcmVnaW9uOiAnKicsIHJlc291cmNlOiAnYWxhcm0nLCByZXNvdXJjZU5hbWU6IGAke0FMQVJNX05BTUVfUFJFRklYfSpgLCBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgIH0pLFxuICB9KTtcbiAgaWYgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKExPR19HUk9VUF9JRCkpIHJldHVybiBwcm92aWRlcjtcbiAgLy8gTG9ncyBnbyB0byBhIGdyb3VwIHRoZSBzdGFjayBvd25zLCB3aXRoIHJldGVudGlvbiwgZGVsZXRlZCB3aXRoIHRoZSBzdGFjazogdGhlIHByb3ZpZGVyJ3MgZGVmYXVsdCBncm91cFxuICAvLyAoL2F3cy9sYW1iZGEvPGZ1bmN0aW9uPikgd291bGQgYmUgY3JlYXRlZCBieSBMYW1iZGEgd2l0aG91dCByZXRlbnRpb24gYW5kIG91dGxpdmUgdGhlIHN0YWNrLlxuICBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHN0YWNrLCBMT0dfR1JPVVBfSUQsIHtcbiAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICB9KTtcbiAgY29uc3QgaGFuZGxlciA9IHByb3ZpZGVyLm5vZGUuZmluZENoaWxkKCdIYW5kbGVyJykgYXMgQ2ZuUmVzb3VyY2U7XG4gIGhhbmRsZXIuYWRkUHJvcGVydHlPdmVycmlkZSgnTG9nZ2luZ0NvbmZpZycsIHsgTG9nR3JvdXA6IGxvZ0dyb3VwLmxvZ0dyb3VwTmFtZSwgTG9nRm9ybWF0OiAnVGV4dCcgfSk7XG4gIGhhbmRsZXIuYWRkRGVwZW5kZW5jeShsb2dHcm91cC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5SZXNvdXJjZSk7XG4gIC8vIE9ubHkgd3JpdGUgdG8gdGhhdCBncm91cC4gVGhlIGRlZmF1bHQgQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlIGFsbG93cyBsb2dzOkNyZWF0ZUxvZ0dyb3VwLCBzbyBsb2cgbGluZXNcbiAgLy8gTGFtYmRhIGRlbGl2ZXJzIGxhdGUsIGFmdGVyIENsb3VkRm9ybWF0aW9uIGRlbGV0ZWQgdGhlIGdyb3VwIHdpdGggdGhlIHN0YWNrLCB3b3VsZCByZS1jcmVhdGUgaXQgd2l0aG91dCByZXRlbnRpb24uXG4gIC8vIE5vIFJvbGUgY2hpbGQgd2hlbiB0aGUgYXBwIHVzZXMgcHJlLWNyZWF0ZWQgcm9sZXMgKGlhbS5Sb2xlLmN1c3RvbWl6ZVJvbGVzKTogdGhhdCByb2xlIGlzIG1hbmFnZWQgb3V0c2lkZSBDREsuXG4gIChwcm92aWRlci5ub2RlLnRyeUZpbmRDaGlsZCgnUm9sZScpIGFzIENmblJlc291cmNlIHwgdW5kZWZpbmVkKT8uYWRkUHJvcGVydHlEZWxldGlvbk92ZXJyaWRlKCdNYW5hZ2VkUG9saWN5QXJucycpO1xuICBncmFudFRvUHJvdmlkZXIocHJvdmlkZXIsIHsgQWN0aW9uOiBbJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJywgJ2xvZ3M6UHV0TG9nRXZlbnRzJ10sIFJlc291cmNlOiBsb2dHcm91cC5sb2dHcm91cEFybiB9KTtcbiAgcmV0dXJuIHByb3ZpZGVyO1xufVxuXG5jb25zdCBQUk9WSURFUl9JRCA9ICdDdXN0b206OkxhbWJkYVdlYkZ1bmN0aW9uUHJvdmlkZXInO1xuY29uc3QgTE9HX0dST1VQX0lEID0gJ0xhbWJkYVdlYkZ1bmN0aW9uUHJvdmlkZXJMb2dzJztcblxuY29uc3QgZ3JhbnRlZCA9IG5ldyBXZWFrTWFwPEN1c3RvbVJlc291cmNlUHJvdmlkZXIsIFNldDxzdHJpbmc+PigpO1xuXG4vKipcbiAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIHNoYXJlZCBwcm92aWRlcidzIHJvbGUsIG9uY2UuXG4gKlxuICogR3JhbnRzIG11c3QgYmUgKipzdGFibGUgYWNyb3NzIHVwZGF0ZXMqKjogc2NvcGVkIGJ5IHByZWZpeGVzIHRoYXQgZG9uJ3QgY2hhbmdlIHdoZW4gYVxuICogcmVzb3VyY2UgaXMgcmVuYW1lZCBvciByZXBsYWNlZC4gQ2xvdWRGb3JtYXRpb24gdXBkYXRlcyB0aGUgcm9sZSBqdXN0IGJlZm9yZSAoYW5kIG9uIHJvbGxiYWNrLFxuICogcmV2ZXJ0cyBpdCBqdXN0IGJlZm9yZSkgdGhlIGN1c3RvbSByZXNvdXJjZXMgcnVuLCBhbmQgSUFNIHRha2VzIHNlY29uZHMgdG8gbWludXRlcyB0b1xuICogcHJvcGFnYXRlLCBzbyBwZXItbmFtZSBncmFudHMgZmFpbCB3aXRoIEFjY2Vzc0RlbmllZCBvbiByZW5hbWVzIGFuZCBvbiByb2xsYmFjayBjbGVhbnVwLlxuICogVGhleSBtdXN0IGFsc28gbmV2ZXIgcmVmZXJlbmNlIGF0dHJpYnV0ZXMgb2YgcmVzb3VyY2VzIHRoYXQgdXNlIHRoZSBwcm92aWRlciAoY3ljbGUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyOiBDdXN0b21SZXNvdXJjZVByb3ZpZGVyLCBzdGF0ZW1lbnQ6IHsgQWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXTsgUmVzb3VyY2U6IHN0cmluZyB8IHN0cmluZ1tdIH0pOiB2b2lkIHtcbiAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoU3RhY2sub2YocHJvdmlkZXIpLnJlc29sdmUoc3RhdGVtZW50KSk7XG4gIGxldCBzZWVuID0gZ3JhbnRlZC5nZXQocHJvdmlkZXIpO1xuICBpZiAoIXNlZW4pIHtcbiAgICBzZWVuID0gbmV3IFNldCgpO1xuICAgIGdyYW50ZWQuc2V0KHByb3ZpZGVyLCBzZWVuKTtcbiAgfVxuICBpZiAoc2Vlbi5oYXMoa2V5KSkgcmV0dXJuO1xuICBzZWVuLmFkZChrZXkpO1xuICBwcm92aWRlci5hZGRUb1JvbGVQb2xpY3koeyBFZmZlY3Q6ICdBbGxvdycsIC4uLnN0YXRlbWVudCB9KTtcbn1cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLGtEQWtDQztBQWdCRCwwQ0FVQztBQXhFRCxnREFBa0M7QUFDbEMsNkNBQXVKO0FBQ3ZKLDJEQUE2QztBQUU3QywyREFBd0Q7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxLQUFnQjtJQUNsRCxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixNQUFNLFFBQVEsR0FBRyxvQ0FBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQzlFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztRQUNsRixPQUFPLEVBQUUsMkNBQTZCLENBQUMsV0FBVztRQUNsRCx3RkFBd0Y7UUFDeEYsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFVLEVBQUUsa0JBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLFdBQVcsRUFBRSxzR0FBc0c7S0FDcEgsQ0FBQyxDQUFDO0lBQ0gsNkdBQTZHO0lBQzdHLHNHQUFzRztJQUN0RyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO1FBQ2hFLFFBQVEsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcscUNBQWlCLEdBQUcsRUFBRSxTQUFTLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUI7U0FDdkksQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDM0QsMEdBQTBHO0lBQzFHLCtGQUErRjtJQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1FBQ3ZDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87S0FDckMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFnQixDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRyxPQUFPLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUEyQixDQUFDLENBQUM7SUFDekUsNkdBQTZHO0lBQzdHLHFIQUFxSDtJQUNySCxpSEFBaUg7SUFDaEgsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUE2QixFQUFFLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEgsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLFlBQVksR0FBRywrQkFBK0IsQ0FBQztBQUVyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBdUMsQ0FBQztBQUVuRTs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxRQUFnQyxFQUFFLFNBQXFFO0lBQ3JJLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU87SUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgQXJuRm9ybWF0LCB0eXBlIENmblJlc291cmNlLCBDdXN0b21SZXNvdXJjZVByb3ZpZGVyLCBDdXN0b21SZXNvdXJjZVByb3ZpZGVyUnVudGltZSwgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFNpemUsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQUxBUk1fTkFNRV9QUkVGSVggfSBmcm9tICcuL3Byb3ZpZGVyLXByb3RvY29sJztcblxuLyoqXG4gKiBUaGUgc2luZ2xlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciAob25lIExhbWJkYSBwZXIgc3RhY2spIGJlaGluZCBjb2RlIGNvcGllcywgbG9nIGdyb3VwcyxcbiAqIGVuZHBvaW50IGxvb2t1cHMsIHJldmlzaW9uIGNsZWFudXAsIGFsYXJtcyBpbiBvdGhlciByZWdpb25zIGFuZCBlbXB0eWluZyB0aGUgY29kZSBidWNrZXQuIEl0J3MgYSBjb3JlXG4gKiBgQ3VzdG9tUmVzb3VyY2VQcm92aWRlcmAsIG5vdCBhIGBsYW1iZGEuRnVuY3Rpb25gLCBzbyB0b29scyB0aGF0IGRpc2NvdmVyIGZ1bmN0aW9ucyBieSBjbGFzcyAoZS5nLiBjZGstd2F0Y2hmdWwpXG4gKiBkb24ndCBwaWNrIGl0IHVwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2ViRnVuY3Rpb25Qcm92aWRlcihzY29wZTogQ29uc3RydWN0KTogQ3VzdG9tUmVzb3VyY2VQcm92aWRlciB7XG4gIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICBjb25zdCBwcm92aWRlciA9IEN1c3RvbVJlc291cmNlUHJvdmlkZXIuZ2V0T3JDcmVhdGVQcm92aWRlcihzY29wZSwgUFJPVklERVJfSUQsIHtcbiAgICBjb2RlRGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXNzZXRzJywgJ3dlYi1mdW5jdGlvbi1wcm92aWRlcicpLFxuICAgIHJ1bnRpbWU6IEN1c3RvbVJlc291cmNlUHJvdmlkZXJSdW50aW1lLk5PREVKU18yNF9YLFxuICAgIC8vIExvZyBncm91cCBkZWxldGlvbiB3YWl0cyBmb3IgbGF0ZSBmbHVzaGVzICg3NXMgKyBhIHJlLWNoZWNrKSBvbiB0b3Agb2YgdGhlIEFQSSBjYWxscy5cbiAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIG1lbW9yeVNpemU6IFNpemUubWViaWJ5dGVzKDI1NiksXG4gICAgZGVzY3JpcHRpb246ICdDb3BpZXMgY29kZSwgbWFuYWdlcyBsb2cgZ3JvdXBzLCBsb29rcyB1cCBlbmRwb2ludHMgYW5kIGNsZWFucyB1cCByZXZpc2lvbnMgZm9yIExhbWJkYSBXZWIgRnVuY3Rpb25zJyxcbiAgfSk7XG4gIC8vIEdyYW50ZWQgd2hldGhlciBvciBub3QgYSBzdGFjayBoYXMgYWxhcm1zIGluIG90aGVyIHJlZ2lvbnMgeWV0OiBhIGdyYW50IGFkZGVkIG9yIHJlbW92ZWQgdG9nZXRoZXIgd2l0aCB0aGVcbiAgLy8gYWxhcm0gZmFpbHMgb24gSUFNIHByb3BhZ2F0aW9uLCBvciBsZWF2ZXMgdGhlIGFsYXJtIGJlaGluZCB3aGVuIGl0J3MgcmVtb3ZlZCAoc2VlIGdyYW50VG9Qcm92aWRlcikuXG4gIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgIEFjdGlvbjogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0FsYXJtJywgJ2Nsb3Vkd2F0Y2g6RGVsZXRlQWxhcm1zJ10sXG4gICAgUmVzb3VyY2U6IFN0YWNrLm9mKHByb3ZpZGVyKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2Nsb3Vkd2F0Y2gnLCByZWdpb246ICcqJywgcmVzb3VyY2U6ICdhbGFybScsIHJlc291cmNlTmFtZTogYCR7QUxBUk1fTkFNRV9QUkVGSVh9KmAsIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgfSksXG4gIH0pO1xuICBpZiAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoTE9HX0dST1VQX0lEKSkgcmV0dXJuIHByb3ZpZGVyO1xuICAvLyBMb2dzIGdvIHRvIGEgZ3JvdXAgdGhlIHN0YWNrIG93bnMsIHdpdGggcmV0ZW50aW9uLCBkZWxldGVkIHdpdGggdGhlIHN0YWNrOiB0aGUgcHJvdmlkZXIncyBkZWZhdWx0IGdyb3VwXG4gIC8vICgvYXdzL2xhbWJkYS88ZnVuY3Rpb24+KSB3b3VsZCBiZSBjcmVhdGVkIGJ5IExhbWJkYSB3aXRob3V0IHJldGVudGlvbiBhbmQgb3V0bGl2ZSB0aGUgc3RhY2suXG4gIGNvbnN0IGxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAoc3RhY2ssIExPR19HUk9VUF9JRCwge1xuICAgIHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gIH0pO1xuICBjb25zdCBoYW5kbGVyID0gcHJvdmlkZXIubm9kZS5maW5kQ2hpbGQoJ0hhbmRsZXInKSBhcyBDZm5SZXNvdXJjZTtcbiAgaGFuZGxlci5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdMb2dnaW5nQ29uZmlnJywgeyBMb2dHcm91cDogbG9nR3JvdXAubG9nR3JvdXBOYW1lLCBMb2dGb3JtYXQ6ICdUZXh0JyB9KTtcbiAgaGFuZGxlci5hZGRSZXNvdXJjZURlcGVuZGVuY3kobG9nR3JvdXAubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUmVzb3VyY2UpO1xuICAvLyBPbmx5IHdyaXRlIHRvIHRoYXQgZ3JvdXAuIFRoZSBkZWZhdWx0IEFXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZSBhbGxvd3MgbG9nczpDcmVhdGVMb2dHcm91cCwgc28gbG9nIGxpbmVzXG4gIC8vIExhbWJkYSBkZWxpdmVycyBsYXRlLCBhZnRlciBDbG91ZEZvcm1hdGlvbiBkZWxldGVkIHRoZSBncm91cCB3aXRoIHRoZSBzdGFjaywgd291bGQgcmUtY3JlYXRlIGl0IHdpdGhvdXQgcmV0ZW50aW9uLlxuICAvLyBObyBSb2xlIGNoaWxkIHdoZW4gdGhlIGFwcCB1c2VzIHByZS1jcmVhdGVkIHJvbGVzIChpYW0uUm9sZS5jdXN0b21pemVSb2xlcyk6IHRoYXQgcm9sZSBpcyBtYW5hZ2VkIG91dHNpZGUgQ0RLLlxuICAocHJvdmlkZXIubm9kZS50cnlGaW5kQ2hpbGQoJ1JvbGUnKSBhcyBDZm5SZXNvdXJjZSB8IHVuZGVmaW5lZCk/LmFkZFByb3BlcnR5RGVsZXRpb25PdmVycmlkZSgnTWFuYWdlZFBvbGljeUFybnMnKTtcbiAgZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyLCB7IEFjdGlvbjogWydsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cyddLCBSZXNvdXJjZTogbG9nR3JvdXAubG9nR3JvdXBBcm4gfSk7XG4gIHJldHVybiBwcm92aWRlcjtcbn1cblxuY29uc3QgUFJPVklERVJfSUQgPSAnQ3VzdG9tOjpMYW1iZGFXZWJGdW5jdGlvblByb3ZpZGVyJztcbmNvbnN0IExPR19HUk9VUF9JRCA9ICdMYW1iZGFXZWJGdW5jdGlvblByb3ZpZGVyTG9ncyc7XG5cbmNvbnN0IGdyYW50ZWQgPSBuZXcgV2Vha01hcDxDdXN0b21SZXNvdXJjZVByb3ZpZGVyLCBTZXQ8c3RyaW5nPj4oKTtcblxuLyoqXG4gKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSBzaGFyZWQgcHJvdmlkZXIncyByb2xlLCBvbmNlLlxuICpcbiAqIEdyYW50cyBtdXN0IGJlICoqc3RhYmxlIGFjcm9zcyB1cGRhdGVzKio6IHNjb3BlZCBieSBwcmVmaXhlcyB0aGF0IGRvbid0IGNoYW5nZSB3aGVuIGFcbiAqIHJlc291cmNlIGlzIHJlbmFtZWQgb3IgcmVwbGFjZWQuIENsb3VkRm9ybWF0aW9uIHVwZGF0ZXMgdGhlIHJvbGUganVzdCBiZWZvcmUgKGFuZCBvbiByb2xsYmFjayxcbiAqIHJldmVydHMgaXQganVzdCBiZWZvcmUpIHRoZSBjdXN0b20gcmVzb3VyY2VzIHJ1biwgYW5kIElBTSB0YWtlcyBzZWNvbmRzIHRvIG1pbnV0ZXMgdG9cbiAqIHByb3BhZ2F0ZSwgc28gcGVyLW5hbWUgZ3JhbnRzIGZhaWwgd2l0aCBBY2Nlc3NEZW5pZWQgb24gcmVuYW1lcyBhbmQgb24gcm9sbGJhY2sgY2xlYW51cC5cbiAqIFRoZXkgbXVzdCBhbHNvIG5ldmVyIHJlZmVyZW5jZSBhdHRyaWJ1dGVzIG9mIHJlc291cmNlcyB0aGF0IHVzZSB0aGUgcHJvdmlkZXIgKGN5Y2xlKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYW50VG9Qcm92aWRlcihwcm92aWRlcjogQ3VzdG9tUmVzb3VyY2VQcm92aWRlciwgc3RhdGVtZW50OiB7IEFjdGlvbjogc3RyaW5nIHwgc3RyaW5nW107IFJlc291cmNlOiBzdHJpbmcgfCBzdHJpbmdbXSB9KTogdm9pZCB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFN0YWNrLm9mKHByb3ZpZGVyKS5yZXNvbHZlKHN0YXRlbWVudCkpO1xuICBsZXQgc2VlbiA9IGdyYW50ZWQuZ2V0KHByb3ZpZGVyKTtcbiAgaWYgKCFzZWVuKSB7XG4gICAgc2VlbiA9IG5ldyBTZXQoKTtcbiAgICBncmFudGVkLnNldChwcm92aWRlciwgc2Vlbik7XG4gIH1cbiAgaWYgKHNlZW4uaGFzKGtleSkpIHJldHVybjtcbiAgc2Vlbi5hZGQoa2V5KTtcbiAgcHJvdmlkZXIuYWRkVG9Sb2xlUG9saWN5KHsgRWZmZWN0OiAnQWxsb3cnLCAuLi5zdGF0ZW1lbnQgfSk7XG59XG4iXX0=
@@ -11,7 +11,7 @@ const MAX_STEPS = 20;
11
11
  * How an endpoint moves its traffic to a new revision.
12
12
  */
13
13
  class WebFunctionDeployment {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionDeployment", version: "0.1.11" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionDeployment", version: "0.1.13" };
15
15
  /**
16
16
  * All traffic moves to the new revision at once, as soon as it's ready (the default).
17
17
  */
@@ -53,7 +53,7 @@ const web_function_grants_1 = require("./web-function-grants");
53
53
  * Endpoints are created only through `WebFunction`, which owns their log groups in every region, so the constructor is private.
54
54
  */
55
55
  class WebFunctionEndpoint extends constructs_1.Construct {
56
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionEndpoint", version: "0.1.11" };
56
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionEndpoint", version: "0.1.13" };
57
57
  /**
58
58
  * Creates an endpoint of a Web Function. Used by `WebFunction`.
59
59
  *
@@ -42,7 +42,7 @@ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
42
42
  class WebFunctionGrants {
43
43
  endpointArns;
44
44
  webFunction;
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionGrants", version: "0.1.11" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionGrants", version: "0.1.13" };
46
46
  /**
47
47
  * @internal
48
48
  */
@@ -54,7 +54,7 @@ const OPT_IN_REGIONS = [
54
54
  * and only your distribution may call the endpoint. `new WebFunctionOrigin(endpoint)` is for a public (`NONE`) endpoint.
55
55
  */
56
56
  class WebFunctionOrigin extends cloudfront.OriginBase {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionOrigin", version: "0.1.11" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionOrigin", version: "0.1.13" };
58
58
  /**
59
59
  * An origin for an `AWS_IAM` endpoint, with origin access control: CloudFront signs every request to the endpoint
60
60
  * (`always-amz-auth`, which keeps the viewer's `Authorization` header for your application), and the function's
@@ -11,7 +11,7 @@ const constructs_1 = require("constructs");
11
11
  * only revisions within `revisionRetention`, or that an endpoint routes to, are kept.
12
12
  */
13
13
  class WebFunctionRevision extends constructs_1.Construct {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionRevision", version: "0.1.11" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionRevision", version: "0.1.13" };
15
15
  /**
16
16
  * References an existing revision of `webFunction`, e.g. to pin an endpoint to it or split traffic with it.
17
17
  */
@@ -105,6 +105,19 @@ export interface WebFunctionOptions {
105
105
  * @default RemovalPolicy.RETAIN
106
106
  */
107
107
  readonly logRemovalPolicy?: RemovalPolicy;
108
+ /**
109
+ * A customer managed KMS key for the function's log groups, in every region it serves from.
110
+ *
111
+ * CloudWatch Logs needs a key in each group's region: for regions other than the key's own, the construct uses the
112
+ * replica of a **multi-Region key** there (the same key ID). Each key's policy must allow CloudWatch Logs in its
113
+ * region (see `logEncryptionKeyPolicyStatement()`). A key defined in this app gets that statement for its own region.
114
+ *
115
+ * Removing the key decrypts nothing: the groups keep their existing events encrypted with it.
116
+ * [disable-awslint:prefer-ref-interface]
117
+ *
118
+ * @default - CloudWatch Logs' own encryption
119
+ */
120
+ readonly logEncryptionKey?: kms.IKey;
108
121
  /**
109
122
  * The minimum level of application logs to keep.
110
123
  *
@@ -342,6 +355,8 @@ export declare class WebFunction extends WebFunctionBase implements iam.IGrantab
342
355
  readonly role: iam.IRole;
343
356
  /** The customer managed key of the function's revisions, if any. */
344
357
  readonly encryptionKey?: kms.IKey;
358
+ /** The customer managed key of the function's log groups, if any. */
359
+ readonly logEncryptionKey?: kms.IKey;
345
360
  /** The principal to grant permissions to (the execution role). */
346
361
  readonly grantPrincipal: iam.IPrincipal;
347
362
  /**
@@ -393,8 +408,22 @@ export declare class WebFunction extends WebFunctionBase implements iam.IGrantab
393
408
  * yourself: replicas don't share their primary's policy.
394
409
  */
395
410
  encryptionKeyPolicyStatement(): iam.PolicyStatement;
411
+ /**
412
+ * The key-policy statement CloudWatch Logs needs in `region` to encrypt this function's log groups there with
413
+ * `logEncryptionKey`, limited to those groups (`kms:EncryptionContext:aws:logs:arn`).
414
+ *
415
+ * It's added to `logEncryptionKey` for the key's own region when the key is defined in this app. Add it to the
416
+ * replica in every other region the function serves from yourself: replicas don't share their primary's policy.
417
+ *
418
+ * @param region the region of the key or replica
419
+ */
420
+ logEncryptionKeyPolicyStatement(region: string): iam.PolicyStatement;
396
421
  /** Regional and multi-region endpoints need a multi-Region key: otherwise their other regions fail to activate. */
397
422
  private validateEncryptionKey;
423
+ /** Log groups outside the key's region need the replica of a multi-Region key there. */
424
+ private validateLogEncryptionKey;
425
+ /** The key for a log group in `region`: the key itself in its own region, otherwise its replica there (same key ID). */
426
+ private logKeyArnIn;
398
427
  private createEndpoint;
399
428
  /**
400
429
  * The default execution role: write to the function's own log groups only (the home region's and every region's