terraconstructs 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1693 -955
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +4 -3
- package/lib/aws/aws-asset-manager.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.d.ts +28 -4
- package/lib/aws/aws-stack.js +80 -22
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +1 -1
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.js +4 -4
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/api-definition.js +3 -3
- package/lib/aws/compute/api-key.js +2 -2
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.js +2 -2
- package/lib/aws/compute/base-path-mapping.js +1 -1
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/code.js +8 -8
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +1 -1
- package/lib/aws/compute/domain-name.js +1 -1
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.d.ts +10 -0
- package/lib/aws/compute/event-source-mapping.js +20 -23
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.d.ts +10 -0
- package/lib/aws/compute/event-sources/sqs.js +3 -3
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +2 -2
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs/function.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +3 -3
- package/lib/aws/compute/gateway-response.js +2 -2
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.js +1 -1
- package/lib/aws/compute/integrations/aws.js +1 -1
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +1 -1
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +1 -1
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/lambda-api.js +1 -1
- package/lib/aws/compute/launch-template.js +2 -2
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +5 -7
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/method.js +1 -1
- package/lib/aws/compute/model.js +3 -3
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/requestvalidator.js +1 -1
- package/lib/aws/compute/resource.js +3 -3
- package/lib/aws/compute/restapi.js +3 -3
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/runtime.d.ts +0 -1
- package/lib/aws/compute/runtime.js +5 -36
- package/lib/aws/compute/scalable-target.js +1 -1
- package/lib/aws/compute/schedule.js +1 -1
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/stage.js +2 -2
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.js +4 -4
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +1 -1
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/step-scaling-action.js +1 -1
- package/lib/aws/compute/step-scaling-policy.js +1 -1
- package/lib/aws/compute/stepfunctions-api.js +1 -1
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +10 -13
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/usage-plan.js +1 -1
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-link.js +1 -1
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/cx-api.d.ts +1 -0
- package/lib/aws/cx-api.js +6 -0
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +6 -6
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.js +1 -1
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/environment-aware.d.ts +41 -0
- package/lib/aws/environment-aware.js +3 -0
- package/lib/aws/iam/grant.d.ts +34 -0
- package/lib/aws/iam/grant.js +27 -6
- package/lib/aws/iam/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +1 -1
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.js +2 -1
- package/lib/aws/network/simple-ipv4-vpc.js +1 -1
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.js +4 -4
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/event-bus.d.ts +1 -1
- package/lib/aws/notify/event-bus.js +4 -4
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/index.d.ts +3 -1
- package/lib/aws/notify/index.js +5 -5
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-base.d.ts +241 -0
- package/lib/aws/notify/queue-base.js +161 -0
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.d.ts +157 -190
- package/lib/aws/notify/queue.js +239 -186
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/sqs-augmentations.generated.d.ts +3 -3
- package/lib/aws/notify/sqs-augmentations.generated.js +23 -26
- package/lib/aws/notify/sqs-grants.generated.d.ts +72 -0
- package/lib/aws/notify/sqs-grants.generated.js +139 -0
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +4 -4
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +1 -1
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +30 -27
- package/lib/aws/notify/subscriptions/subscription.d.ts +1 -1
- package/lib/aws/notify/subscriptions/subscription.js +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -1
- package/lib/aws/notify/targets/event-bus.d.ts +1 -1
- package/lib/aws/notify/targets/event-bus.js +2 -2
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +12 -14
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.js +1 -1
- package/lib/aws/notify/topic.js +1 -1
- package/lib/aws/region-lookup.d.ts +8 -0
- package/lib/aws/region-lookup.js +104 -0
- package/lib/aws/storage/assets/image-asset.js +3 -3
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.js +27 -24
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/ecr-repository.js +3 -3
- package/lib/aws/storage/encryption.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +17 -21
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/table.js +3 -3
- package/lib/aws/storage/util.d.ts +0 -10
- package/lib/aws/storage/util.js +4 -91
- package/lib/bundling.js +3 -3
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/helpers-internal/index.d.ts +1 -0
- package/lib/helpers-internal/index.js +16 -1
- package/lib/helpers-internal/validate-all-props.d.ts +29 -0
- package/lib/helpers-internal/validate-all-props.js +23 -0
- package/lib/size.js +1 -1
- package/lib/stack-base.d.ts +21 -5
- package/lib/stack-base.js +68 -5
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +3 -1
- package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +0 -7
- package/lib/aws/compute/lb-shared/access-logs-accounts.js +0 -46
- package/lib/aws/notify/queue-config.generated.d.ts +0 -98
- package/lib/aws/notify/queue-config.generated.js +0 -3
- package/lib/aws/partition.d.ts +0 -21
- package/lib/aws/partition.js +0 -42
|
@@ -155,5 +155,5 @@ class DomainName extends aws_construct_1.AwsConstructBase {
|
|
|
155
155
|
}
|
|
156
156
|
exports.DomainName = DomainName;
|
|
157
157
|
_a = JSII_RTTI_SYMBOL_1;
|
|
158
|
-
DomainName[_a] = { fqn: "terraconstructs.aws.compute.DomainName", version: "0.
|
|
158
|
+
DomainName[_a] = { fqn: "terraconstructs.aws.compute.DomainName", version: "0.2.0" };
|
|
159
159
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvZG9tYWluLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzR0FBc0c7QUFFdEcsc0RBRzZCO0FBQzdCLGlDQUE4QjtBQUU5QiwyREFBOEUsQ0FBQyxrQ0FBa0M7QUFDakgsdUNBQW1ELENBQUMsNkNBQTZDO0FBRWpHLHlDQUF1RDtBQUN2RCxvREFJMEI7QUFDMUIsNENBQXdDO0FBc0J4Qzs7R0FFRztBQUNILElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN4QiwyQkFBMkI7SUFDM0IscUNBQW1CLENBQUE7SUFFbkIsMkJBQTJCO0lBQzNCLHFDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxjQUFjLDhCQUFkLGNBQWMsUUFNekI7QUErRUQsTUFBYSxVQUFXLFNBQVEsZ0NBQWdCO0lBQzlDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHdCQUF3QixDQUNwQyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBMkI7UUFFM0IsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBS25DLElBQVcsT0FBTztnQkFDaEIsT0FBTztvQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQzNCLHlCQUF5QixFQUFFLElBQUksQ0FBQyx5QkFBeUI7b0JBQ3pELDJCQUEyQixFQUFFLElBQUksQ0FBQywyQkFBMkI7aUJBQzlELENBQUM7WUFDSixDQUFDO1lBQ0QsWUFBWSxDQUFZLEVBQUUsQ0FBUztnQkFDakMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ1Ysa0JBQWtCLEVBQUUsc0JBQXNCLG9CQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sYUFBYTtpQkFDekYsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO2dCQWQ3QixlQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDOUIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO2dCQUN4RCxnQ0FBMkIsR0FDekMsS0FBSyxDQUFDLDJCQUEyQixDQUFDO1lBWXBDLENBQUM7U0FDRjtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFVRCxJQUFXLE9BQU87UUFDaEIsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQix5QkFBeUIsRUFBRSxJQUFJLENBQUMseUJBQXlCO1lBQ3pELDJCQUEyQixFQUFFLElBQUksQ0FBQywyQkFBMkI7U0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBZFQsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO1FBZ0J6RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksc0JBQVksQ0FBQyxRQUFRLENBQUM7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxzQkFBWSxDQUFDLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFFM0MsSUFDRSxDQUFDLGFBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFDOUIsQ0FBQztZQUNELE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0Isd0RBQXdELEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FDM0UsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUNBQW9CLENBQUMsb0JBQW9CLENBQzNELElBQUksRUFDSixVQUFVLEVBQ1Y7WUFDRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkUsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJO2dCQUMzQixDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjO2dCQUNsQyxDQUFDLENBQUMsU0FBUztZQUNiLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3JELHVCQUF1QixFQUFFLFVBQVU7WUFDbkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1NBQ3JDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFFM0MsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUk7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBRXJDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtZQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFFakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFDaEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBYTtRQUNwQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssc0JBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxJQUFJLGdDQUF1QixDQUMvQixtRkFBbUYsQ0FDcEYsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxjQUFjO2dCQUNuQixJQUFJLENBQUMsY0FBYyxLQUFLLGNBQWMsQ0FBQyxPQUFPLEVBQzlDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLGdDQUF1QixDQUMvQiwyRUFBMkUsQ0FDNUUsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBYTtRQUNoQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsU0FBbUIsRUFDbkIsVUFBa0MsRUFBRTtRQUVwQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsY0FBYyxJQUFJLENBQUMsWUFBWSxtQ0FBbUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUNyRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksZ0NBQXVCLENBQy9CLGlGQUFpRixDQUNsRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsUUFBUTtZQUNyQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1gsTUFBTSxFQUFFLEdBQUcsT0FBTyxjQUFjLElBQUksb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFdkcsOEdBQThHO1FBQzlHLE9BQU8sSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDbkMsVUFBVSxFQUFFLElBQUksRUFBRSx1Q0FBdUM7WUFDekQsT0FBTyxFQUFFLFNBQVM7WUFDbEIsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsV0FBbUIsRUFDbkIsVUFBNkIsRUFBRTtRQUUvQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsbUNBQW1DLE9BQU8sQ0FBQyxRQUFRLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FDckcsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsUUFBUTtZQUNyQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1gsTUFBTSxFQUFFLEdBQUcsVUFBVSxjQUFjLElBQUksb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFNUcsSUFBSSxxQ0FBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzFELEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDcEMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsT0FBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWEsQ0FDbkIsVUFBdUI7UUFJdkIsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNsQyxPQUFPO1lBQ0wsYUFBYSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDL0QsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FDdEMsQ0FBQztJQUNKLENBQUM7O0FBNUxILGdDQTZMQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE4Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5L2xpYi9kb21haW4tbmFtZS50c1xuXG5pbXBvcnQge1xuICBhcGlHYXRld2F5RG9tYWluTmFtZSxcbiAgYXBpZ2F0ZXdheXYyQXBpTWFwcGluZyxcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQmFzZVBhdGhNYXBwaW5nLCBCYXNlUGF0aE1hcHBpbmdPcHRpb25zIH0gZnJvbSBcIi4vYmFzZS1wYXRoLW1hcHBpbmdcIjsgLy8gQXNzdW1pbmcgdGhpcyB3aWxsIGJlIGNvbnZlcnRlZFxuaW1wb3J0IHsgRW5kcG9pbnRUeXBlLCBJUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjsgLy8gQXNzdW1pbmcgdGhlc2Ugd2lsbCBiZSBjb252ZXJ0ZWQvYXZhaWxhYmxlXG5pbXBvcnQgeyBJU3RhZ2UgfSBmcm9tIFwiLi9zdGFnZVwiOyAvLyBBc3N1bWluZyB0aGlzIHdpbGwgYmUgY29udmVydGVkL2F2YWlsYWJsZVxuaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzXCI7XG5pbXBvcnQge1xuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbiAgSUF3c0NvbnN0cnVjdCxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gXCIuLi9lZGdlXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcIi4uL3N0b3JhZ2VcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhbiBhcGkgbWFwcGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaU1hcHBpbmdPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBhcGkgcGF0aCBuYW1lIHRoYXQgY2FsbGVycyBvZiB0aGUgQVBJIG11c3QgcHJvdmlkZSBpbiB0aGUgVVJMIGFmdGVyXG4gICAqIHRoZSBkb21haW4gbmFtZSAoZS5nLiBgZXhhbXBsZS5jb20vYmFzZS1wYXRoYCkuIElmIHlvdSBzcGVjaWZ5IHRoaXNcbiAgICogcHJvcGVydHksIGl0IGNhbid0IGJlIGFuIGVtcHR5IHN0cmluZy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyB1bmRlZmluZWQsIGEgbWFwcGluZyB3aWxsIGJlIGFkZGVkIGZvciB0aGUgZW1wdHkgcGF0aC4gQW55IHJlcXVlc3RcbiAgICogdGhhdCBkb2VzIG5vdCBtYXRjaCBhIG1hcHBpbmcgd2lsbCBnZXQgc2VudCB0byB0aGUgQVBJIHRoYXQgaGFzIGJlZW4gbWFwcGVkXG4gICAqIHRvIHRoZSBlbXB0eSBwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG1hcCByZXF1ZXN0cyBmcm9tIHRoZSBkb21haW4gcm9vdCAoZS5nLiBgZXhhbXBsZS5jb21gKS5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBtaW5pbXVtIHZlcnNpb24gb2YgdGhlIFNTTCBwcm90b2NvbCB0aGF0IHlvdSB3YW50IEFQSSBHYXRld2F5IHRvIHVzZSBmb3IgSFRUUFMgY29ubmVjdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIFNlY3VyaXR5UG9saWN5IHtcbiAgLyoqIENpcGhlciBzdWl0ZSBUTFMgMS4wICovXG4gIFRMU18xXzAgPSBcIlRMU18xXzBcIixcblxuICAvKiogQ2lwaGVyIHN1aXRlIFRMUyAxLjIgKi9cbiAgVExTXzFfMiA9IFwiVExTXzFfMlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbk5hbWVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gZG9tYWluIG5hbWUgZm9yIHlvdXIgQVBJLiBVcHBlcmNhc2UgbGV0dGVycyBhcmUgbm90IHN1cHBvcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSB0byBhbiBBV1MtbWFuYWdlZCBjZXJ0aWZpY2F0ZSBmb3IgdXNlIGJ5IHRoZSBlZGdlLW9wdGltaXplZFxuICAgKiBlbmRwb2ludCBmb3IgdGhlIGRvbWFpbiBuYW1lLiBGb3IgXCJFREdFXCIgZG9tYWluIG5hbWVzLCB0aGUgY2VydGlmaWNhdGVcbiAgICogbmVlZHMgdG8gYmUgaW4gdGhlIFVTIEVhc3QgKE4uIFZpcmdpbmlhKSByZWdpb24uXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZTogYWNtLklDZXJ0aWZpY2F0ZTtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgZW5kcG9pbnQgZm9yIHRoaXMgRG9tYWluTmFtZS5cbiAgICogQGRlZmF1bHQgUkVHSU9OQUxcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50VHlwZT86IEVuZHBvaW50VHlwZTtcblxuICAvKipcbiAgICogVGhlIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAoVExTKSB2ZXJzaW9uICsgY2lwaGVyIHN1aXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1hcGlnYXRld2F5LWRvbWFpbm5hbWUuaHRtbFxuICAgKiBAZGVmYXVsdCBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eVBvbGljeT86IFNlY3VyaXR5UG9saWN5O1xuXG4gIC8qKlxuICAgKiBUaGUgbXV0dWFsIFRMUyBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIGN1c3RvbSBkb21haW4gbmFtZS5cbiAgICogQGRlZmF1bHQgLSBtVExTIGlzIG5vdCBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgbXRscz86IE1UTFNDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGggbmFtZSB0aGF0IGNhbGxlcnMgb2YgdGhlIEFQSSBtdXN0IHByb3ZpZGUgaW4gdGhlIFVSTCBhZnRlclxuICAgKiB0aGUgZG9tYWluIG5hbWUgKGUuZy4gYGV4YW1wbGUuY29tL2Jhc2UtcGF0aGApLiBJZiB5b3Ugc3BlY2lmeSB0aGlzXG4gICAqIHByb3BlcnR5LCBpdCBjYW4ndCBiZSBhbiBlbXB0eSBzdHJpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbWFwIHJlcXVlc3RzIGZyb20gdGhlIGRvbWFpbiByb290IChlLmcuIGBleGFtcGxlLmNvbWApLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluTmFtZVByb3BzIGV4dGVuZHMgRG9tYWluTmFtZU9wdGlvbnMsIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIElmIHNwZWNpZmllZCwgYWxsIHJlcXVlc3RzIHRvIHRoaXMgZG9tYWluIHdpbGwgYmUgbWFwcGVkIHRvIHRoZSBwcm9kdWN0aW9uXG4gICAqIGRlcGxveW1lbnQgb2YgdGhpcyBBUEkuIElmIHlvdSB3aXNoIHRvIG1hcCB0aGlzIGRvbWFpbiB0byBtdWx0aXBsZSBBUElzXG4gICAqIHdpdGggZGlmZmVyZW50IGJhc2UgcGF0aHMsIHVzZSBgYWRkQmFzZVBhdGhNYXBwaW5nYCBvciBgYWRkQXBpTWFwcGluZ2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0geW91IHdpbGwgaGF2ZSB0byBjYWxsIGBhZGRCYXNlUGF0aE1hcHBpbmdgIHRvIG1hcCB0aGlzIGRvbWFpbiB0b1xuICAgKiBBUEkgZW5kcG9pbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFwcGluZz86IElSZXN0QXBpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEb21haW5OYW1lIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgKGUuZy4gYGV4YW1wbGUuY29tYClcbiAgICpcbiAgICogQGF0dHJpYnV0ZSBEb21haW5OYW1lXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBSb3V0ZTUzIGFsaWFzIHRhcmdldCB0byB1c2UgaW4gb3JkZXIgdG8gY29ubmVjdCBhIHJlY29yZCBzZXQgdG8gdGhpcyBkb21haW4gdGhyb3VnaCBhbiBhbGlhcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBEaXN0cmlidXRpb25Eb21haW5OYW1lLFJlZ2lvbmFsRG9tYWluTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZUFsaWFzRG9tYWluTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgUm91dGU1MyBob3N0ZWQgem9uZSBJRCB0byB1c2UgaW4gb3JkZXIgdG8gY29ubmVjdCBhIHJlY29yZCBzZXQgdG8gdGhpcyBkb21haW4gdGhyb3VnaCBhbiBhbGlhcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBEaXN0cmlidXRpb25Ib3N0ZWRab25lSWQsUmVnaW9uYWxIb3N0ZWRab25lSWRcbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRG9tYWluTmFtZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJRG9tYWluTmFtZSB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIGV4aXN0aW5nIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRG9tYWluTmFtZUF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBEb21haW5OYW1lQXR0cmlidXRlcyxcbiAgKTogSURvbWFpbk5hbWUge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJRG9tYWluTmFtZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZG9tYWluTmFtZSA9IGF0dHJzLmRvbWFpbk5hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZG9tYWluTmFtZUFsaWFzRG9tYWluTmFtZSA9IGF0dHJzLmRvbWFpbk5hbWVBbGlhc1RhcmdldDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQgPVxuICAgICAgICBhdHRycy5kb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ7XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLFxuICAgICAgICAgIGRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZUFsaWFzRG9tYWluTmFtZSxcbiAgICAgICAgICBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ6IHRoaXMuZG9tYWluTmFtZUFsaWFzSG9zdGVkWm9uZUlkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSwge1xuICAgICAgICAgIGVudmlyb25tZW50RnJvbUFybjogYGFybjphd3M6YXBpZ2F0ZXdheToke0F3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHMpLnJlZ2lvbn06Oi9yZXN0YXBpc2AsXG4gICAgICAgIH0pOyAvLyBEdW1teSBBUk4gZm9yIHJlZ2lvbi9hY2NvdW50IGNvbnRleHRcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VQYXRocyA9IG5ldyBTZXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyaXR5UG9saWN5PzogU2VjdXJpdHlQb2xpY3k7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGU7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IGFwaUdhdGV3YXlEb21haW5OYW1lLkFwaUdhdGV3YXlEb21haW5OYW1lO1xuXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLFxuICAgICAgZG9tYWluTmFtZUFsaWFzRG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lQWxpYXNEb21haW5OYW1lLFxuICAgICAgZG9tYWluTmFtZUFsaWFzSG9zdGVkWm9uZUlkOiB0aGlzLmRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZCxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5lbmRwb2ludFR5cGUgPSBwcm9wcy5lbmRwb2ludFR5cGUgfHwgRW5kcG9pbnRUeXBlLlJFR0lPTkFMO1xuICAgIGNvbnN0IGVkZ2UgPSB0aGlzLmVuZHBvaW50VHlwZSA9PT0gRW5kcG9pbnRUeXBlLkVER0U7XG4gICAgdGhpcy5zZWN1cml0eVBvbGljeSA9IHByb3BzLnNlY3VyaXR5UG9saWN5O1xuXG4gICAgaWYgKFxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kb21haW5OYW1lKSAmJlxuICAgICAgL1tBLVpdLy50ZXN0KHByb3BzLmRvbWFpbk5hbWUpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGBEb21haW4gbmFtZSBkb2VzIG5vdCBzdXBwb3J0IHVwcGVyY2FzZSBsZXR0ZXJzLiBHb3Q6ICR7cHJvcHMuZG9tYWluTmFtZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBtdGxzQ29uZmlnID0gdGhpcy5jb25maWd1cmVNVExTKHByb3BzLm10bHMpO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgYXBpR2F0ZXdheURvbWFpbk5hbWUuQXBpR2F0ZXdheURvbWFpbk5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lLFxuICAgICAgICBjZXJ0aWZpY2F0ZUFybjogZWRnZSA/IHByb3BzLmNlcnRpZmljYXRlLmNlcnRpZmljYXRlQXJuIDogdW5kZWZpbmVkLFxuICAgICAgICByZWdpb25hbENlcnRpZmljYXRlQXJuOiAhZWRnZVxuICAgICAgICAgID8gcHJvcHMuY2VydGlmaWNhdGUuY2VydGlmaWNhdGVBcm5cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW5kcG9pbnRDb25maWd1cmF0aW9uOiB7IHR5cGVzOiBbdGhpcy5lbmRwb2ludFR5cGVdIH0sXG4gICAgICAgIG11dHVhbFRsc0F1dGhlbnRpY2F0aW9uOiBtdGxzQ29uZmlnLFxuICAgICAgICBzZWN1cml0eVBvbGljeTogcHJvcHMuc2VjdXJpdHlQb2xpY3ksXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLmRvbWFpbk5hbWUgPSB0aGlzLnJlc291cmNlLmRvbWFpbk5hbWU7XG5cbiAgICB0aGlzLmRvbWFpbk5hbWVBbGlhc0RvbWFpbk5hbWUgPSBlZGdlXG4gICAgICA/IHRoaXMucmVzb3VyY2UuY2xvdWRmcm9udERvbWFpbk5hbWVcbiAgICAgIDogdGhpcy5yZXNvdXJjZS5yZWdpb25hbERvbWFpbk5hbWU7XG5cbiAgICB0aGlzLmRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZCA9IGVkZ2VcbiAgICAgID8gdGhpcy5yZXNvdXJjZS5jbG91ZGZyb250Wm9uZUlkXG4gICAgICA6IHRoaXMucmVzb3VyY2UucmVnaW9uYWxab25lSWQ7XG5cbiAgICBjb25zdCBtdWx0aUxldmVsID0gdGhpcy52YWxpZGF0ZUJhc2VQYXRoKHByb3BzLmJhc2VQYXRoKTtcbiAgICBpZiAocHJvcHMubWFwcGluZyAmJiAhbXVsdGlMZXZlbCkge1xuICAgICAgdGhpcy5hZGRCYXNlUGF0aE1hcHBpbmcocHJvcHMubWFwcGluZywge1xuICAgICAgICBiYXNlUGF0aDogcHJvcHMuYmFzZVBhdGgsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLm1hcHBpbmcgJiYgbXVsdGlMZXZlbCkge1xuICAgICAgdGhpcy5hZGRBcGlNYXBwaW5nKHByb3BzLm1hcHBpbmcuZGVwbG95bWVudFN0YWdlLCB7XG4gICAgICAgIGJhc2VQYXRoOiBwcm9wcy5iYXNlUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVCYXNlUGF0aChwYXRoPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNNdWx0aUxldmVsKHBhdGgpKSB7XG4gICAgICBpZiAodGhpcy5lbmRwb2ludFR5cGUgPT09IEVuZHBvaW50VHlwZS5FREdFKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBcIm11bHRpLWxldmVsIGJhc2VQYXRoIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gZW5kcG9pbnRUeXBlIGlzIEVuZHBvaW50VHlwZS5SRUdJT05BTFwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNlY3VyaXR5UG9saWN5ICYmXG4gICAgICAgIHRoaXMuc2VjdXJpdHlQb2xpY3kgIT09IFNlY3VyaXR5UG9saWN5LlRMU18xXzJcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgXCJzZWN1cml0eVBvbGljeSBtdXN0IGJlIHNldCB0byBUTFNfMV8yIGlmIG11bHRpLWxldmVsIGJhc2VQYXRoIGlzIHByb3ZpZGVkXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc011bHRpTGV2ZWwocGF0aD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAocGF0aD8uc3BsaXQoXCIvXCIpLmZpbHRlcigoeCkgPT4gISF4KSA/PyBbXSkubGVuZ3RoID49IDI7XG4gIH1cblxuICBwdWJsaWMgYWRkQmFzZVBhdGhNYXBwaW5nKFxuICAgIHRhcmdldEFwaTogSVJlc3RBcGksXG4gICAgb3B0aW9uczogQmFzZVBhdGhNYXBwaW5nT3B0aW9ucyA9IHt9LFxuICApOiBCYXNlUGF0aE1hcHBpbmcge1xuICAgIGlmICh0aGlzLmJhc2VQYXRocy5oYXMob3B0aW9ucy5iYXNlUGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYERvbWFpbk5hbWUgJHt0aGlzLmZyaWVuZGx5TmFtZX0gYWxyZWFkeSBoYXMgYSBtYXBwaW5nIGZvciBwYXRoICR7b3B0aW9ucy5iYXNlUGF0aH1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNNdWx0aUxldmVsKG9wdGlvbnMuYmFzZVBhdGgpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdCYXNlUGF0aE1hcHBpbmcgZG9lcyBub3Qgc3VwcG9ydCBtdWx0aS1sZXZlbCBwYXRocy4gVXNlIFwiYWRkQXBpTWFwcGluZyBpbnN0ZWFkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYmFzZVBhdGhzLmFkZChvcHRpb25zLmJhc2VQYXRoKTtcbiAgICBjb25zdCBiYXNlUGF0aElkUGFydCA9IG9wdGlvbnMuYmFzZVBhdGhcbiAgICAgID8gb3B0aW9ucy5iYXNlUGF0aC5yZXBsYWNlKC9cXC8vZywgXCJfXCIpXG4gICAgICA6IFwicm9vdFwiO1xuICAgIGNvbnN0IGlkID0gYE1hcC0ke2Jhc2VQYXRoSWRQYXJ0fS0ke0F3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpLnVuaXF1ZVJlc291cmNlTmFtZSh0YXJnZXRBcGkubm9kZSl9YDtcblxuICAgIC8vIEFzc3VtaW5nIEJhc2VQYXRoTWFwcGluZyBpcyBhIFRlcnJhQ29uc3RydWN0IHRoYXQgd3JhcHMgYXBpR2F0ZXdheUJhc2VQYXRoTWFwcGluZy5BcGlHYXRld2F5QmFzZVBhdGhNYXBwaW5nXG4gICAgcmV0dXJuIG5ldyBCYXNlUGF0aE1hcHBpbmcodGhpcywgaWQsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMsIC8vIFBhc3MgdGhlIERvbWFpbk5hbWUgY29uc3RydWN0IGl0c2VsZlxuICAgICAgcmVzdEFwaTogdGFyZ2V0QXBpLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRBcGlNYXBwaW5nKFxuICAgIHRhcmdldFN0YWdlOiBJU3RhZ2UsXG4gICAgb3B0aW9uczogQXBpTWFwcGluZ09wdGlvbnMgPSB7fSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmFzZVBhdGhzLmhhcyhvcHRpb25zLmJhc2VQYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgRG9tYWluTmFtZSAke3RoaXMubm9kZS5pZH0gYWxyZWFkeSBoYXMgYSBtYXBwaW5nIGZvciBwYXRoICR7b3B0aW9ucy5iYXNlUGF0aH0uICgke3RoaXMubm9kZS5wYXRofSlgLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZUJhc2VQYXRoKG9wdGlvbnMuYmFzZVBhdGgpO1xuICAgIHRoaXMuYmFzZVBhdGhzLmFkZChvcHRpb25zLmJhc2VQYXRoKTtcbiAgICBjb25zdCBiYXNlUGF0aElkUGFydCA9IG9wdGlvbnMuYmFzZVBhdGhcbiAgICAgID8gb3B0aW9ucy5iYXNlUGF0aC5yZXBsYWNlKC9cXC8vZywgXCJfXCIpXG4gICAgICA6IFwicm9vdFwiO1xuICAgIGNvbnN0IGlkID0gYEFwaU1hcC0ke2Jhc2VQYXRoSWRQYXJ0fS0ke0F3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpLnVuaXF1ZVJlc291cmNlTmFtZSh0YXJnZXRTdGFnZS5ub2RlKX1gO1xuXG4gICAgbmV3IGFwaWdhdGV3YXl2MkFwaU1hcHBpbmcuQXBpZ2F0ZXdheXYyQXBpTWFwcGluZyh0aGlzLCBpZCwge1xuICAgICAgYXBpSWQ6IHRhcmdldFN0YWdlLnJlc3RBcGkucmVzdEFwaUlkLFxuICAgICAgc3RhZ2U6IHRhcmdldFN0YWdlLnN0YWdlTmFtZSxcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZSxcbiAgICAgIGFwaU1hcHBpbmdLZXk6IG9wdGlvbnMuYmFzZVBhdGgsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZU1UTFMoXG4gICAgbXRsc0NvbmZpZz86IE1UTFNDb25maWcsXG4gICk6XG4gICAgfCBhcGlHYXRld2F5RG9tYWluTmFtZS5BcGlHYXRld2F5RG9tYWluTmFtZU11dHVhbFRsc0F1dGhlbnRpY2F0aW9uXG4gICAgfCB1bmRlZmluZWQge1xuICAgIGlmICghbXRsc0NvbmZpZykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgdHJ1c3RzdG9yZVVyaTogbXRsc0NvbmZpZy5idWNrZXQuczNVcmxGb3JPYmplY3QobXRsc0NvbmZpZy5rZXkpLFxuICAgICAgdHJ1c3RzdG9yZVZlcnNpb246IG10bHNDb25maWcudmVyc2lvbixcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluTmFtZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIGRvbWFpbiBuYW1lIChlLmcuIGBleGFtcGxlLmNvbWApXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBSb3V0ZTUzIGFsaWFzIHRhcmdldCB0byB1c2UgaW4gb3JkZXIgdG8gY29ubmVjdCBhIHJlY29yZCBzZXQgdG8gdGhpcyBkb21haW4gdGhyb3VnaCBhbiBhbGlhcy5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWVBbGlhc1RhcmdldDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgUm91dGU1MyBob3N0ZWQgem9uZSBJRCB0byB1c2UgaW4gb3JkZXIgdG8gY29ubmVjdCBhIHJlY29yZCBzZXQgdG8gdGhpcyBkb21haW4gdGhyb3VnaCBhbiBhbGlhcy5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBtVExTIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1UTFNDb25maWcge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCB0aGF0IHRoZSB0cnVzdCBzdG9yZSBpcyBob3N0ZWQgaW4uXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBrZXkgaW4gUzMgdG8gbG9vayBhdCBmb3IgdGhlIHRydXN0IHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBUaGUgdmVyc2lvbiBvZiB0aGUgUzMgb2JqZWN0IHRoYXQgY29udGFpbnMgeW91ciB0cnVzdHN0b3JlLlxuICAgKiAgVG8gc3BlY2lmeSBhIHZlcnNpb24sIHlvdSBtdXN0IGhhdmUgdmVyc2lvbmluZyBlbmFibGVkIGZvciB0aGUgUzMgYnVja2V0LlxuICAgKiAgQGRlZmF1bHQgLSBsYXRlc3QgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -59,5 +59,5 @@ class EventInvokeConfig extends aws_construct_1.AwsConstructBase {
|
|
|
59
59
|
}
|
|
60
60
|
exports.EventInvokeConfig = EventInvokeConfig;
|
|
61
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
62
|
-
EventInvokeConfig[_a] = { fqn: "terraconstructs.aws.compute.EventInvokeConfig", version: "0.
|
|
62
|
+
EventInvokeConfig[_a] = { fqn: "terraconstructs.aws.compute.EventInvokeConfig", version: "0.2.0" };
|
|
63
63
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaW52b2tlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9ldmVudC1pbnZva2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXNFO0FBRXRFLG9EQUF1RTtBQUV2RSxpRUFBdUU7QUFnRXZFOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLGdDQUFnQjtJQUVyRCxvQ0FBb0M7SUFDcEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUNFLEtBQUssQ0FBQyxXQUFXO1lBQ2pCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUN4QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixxRkFBcUYsQ0FDdEYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUNFLEtBQUssQ0FBQyxhQUFhO1lBQ25CLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFDcEQsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVE7WUFDWCxJQUFJLDhDQUErQixDQUFDLCtCQUErQixDQUNqRSxJQUFJLEVBQ0osVUFBVSxFQUNWO2dCQUNFLGlCQUFpQixFQUNmLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFNBQVM7b0JBQ2hDLENBQUMsQ0FBQzt3QkFDRSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVM7NEJBQ2pCLENBQUMsQ0FBQztnQ0FDRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0NBQ3BELElBQUksRUFBRSxzQ0FBZSxDQUFDLE9BQU87aUNBQzlCLENBQUM7NkJBQ0g7NEJBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVM7NEJBQ2pCLENBQUMsQ0FBQztnQ0FDRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0NBQ3BELElBQUksRUFBRSxzQ0FBZSxDQUFDLE9BQU87aUNBQzlCLENBQUM7NkJBQ0g7NEJBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztxQkFDUjtvQkFDSCxDQUFDLENBQUMsU0FBUztnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO2dCQUN6Qyx3QkFBd0IsRUFDdEIsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTtnQkFDcEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxTQUFTO2dCQUN0RCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxTQUFTO2FBQ3hDLENBQ0YsQ0FBQztJQUNOLENBQUM7O0FBekRILDhDQTBEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhbWJkYUZ1bmN0aW9uRXZlbnRJbnZva2VDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uLWJhc2VcIjtcbmltcG9ydCB7IERlc3RpbmF0aW9uVHlwZSwgSURlc3RpbmF0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb24tZGVzdGluYXRpb25cIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2R1cmF0aW9uXCI7XG5cbi8qKlxuICogT3B0aW9ucyB0byBhZGQgYW4gRXZlbnRJbnZva2VDb25maWcgdG8gYSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudEludm9rZUNvbmZpZ09wdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy5cbiAgICpcbiAgICogRW5zdXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gSUFNIFJvbGUgaGFzIG5lY2Vzc2FyeSBwZXJtaXNzaW9ucyBmb3IgdGhlIGRlc3RpbmF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzdGluYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IG9uRmFpbHVyZT86IElEZXN0aW5hdGlvbjtcblxuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIGZvciBzdWNjZXNzZnVsIGludm9jYXRpb25zLlxuICAgKlxuICAgKiBFbnN1cmUgdGhlIExhbWJkYSBGdW5jdGlvbiBJQU0gUm9sZSBoYXMgbmVjZXNzYXJ5IHBlcm1pc3Npb25zIGZvciB0aGUgZGVzdGluYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXN0aW5hdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgb25TdWNjZXNzPzogSURlc3RpbmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhZ2Ugb2YgYSByZXF1ZXN0IHRoYXQgTGFtYmRhIHNlbmRzIHRvIGEgZnVuY3Rpb24gZm9yXG4gICAqIHByb2Nlc3NpbmcuXG4gICAqXG4gICAqIE1pbmltdW06IDYwIHNlY29uZHNcbiAgICogTWF4aW11bTogNiBob3Vyc1xuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5ob3Vycyg2KVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4RXZlbnRBZ2U/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRvIHJldHJ5IHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgYW4gZXJyb3IuXG4gICAqXG4gICAqIE1pbmltdW06IDBcbiAgICogTWF4aW11bTogMlxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSByZXRyeUF0dGVtcHRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIEV2ZW50SW52b2tlQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRJbnZva2VDb25maWdQcm9wcyBleHRlbmRzIEV2ZW50SW52b2tlQ29uZmlnT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVhbGlmaWVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbGF0ZXN0IHZlcnNpb25cbiAgICovXG4gIHJlYWRvbmx5IHF1YWxpZmllcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXN5bmNocm9ub3VzIGludm9jYXRpb24gb24gYSB2ZXJzaW9uIG9yIGFuIGFsaWFzXG4gKlxuICogQnkgZGVmYXVsdCwgTGFtYmRhIHJldHJpZXMgYW4gYXN5bmNocm9ub3VzIGludm9jYXRpb24gdHdpY2UgaWYgdGhlIGZ1bmN0aW9uXG4gKiByZXR1cm5zIGFuIGVycm9yLiBJdCByZXRhaW5zIGV2ZW50cyBpbiBhIHF1ZXVlIGZvciB1cCB0byBzaXggaG91cnMuIFdoZW4gYW5cbiAqIGV2ZW50IGZhaWxzIGFsbCBwcm9jZXNzaW5nIGF0dGVtcHRzIG9yIHN0YXlzIGluIHRoZSBhc3luY2hyb25vdXMgaW52b2NhdGlvblxuICogcXVldWUgZm9yIHRvbyBsb25nLCBMYW1iZGEgZGlzY2FyZHMgaXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBFdmVudEludm9rZUNvbmZpZyBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IGxhbWJkYUZ1bmN0aW9uRXZlbnRJbnZva2VDb25maWcuTGFtYmRhRnVuY3Rpb25FdmVudEludm9rZUNvbmZpZztcbiAgLy8gVE9ETzogb3V0cHV0IHVuZGVmaW5lZCBzdXBwb3J0Li4uXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV2ZW50SW52b2tlQ29uZmlnUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKFxuICAgICAgcHJvcHMubWF4RXZlbnRBZ2UgJiZcbiAgICAgIChwcm9wcy5tYXhFdmVudEFnZS50b1NlY29uZHMoKSA8IDYwIHx8XG4gICAgICAgIHByb3BzLm1heEV2ZW50QWdlLnRvU2Vjb25kcygpID4gMjE2MDApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiYG1heGltdW1FdmVudEFnZWAgbXVzdCByZXByZXNlbnQgYSBgRHVyYXRpb25gIHRoYXQgaXMgYmV0d2VlbiA2MCBhbmQgMjE2MDAgc2Vjb25kcy5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMucmV0cnlBdHRlbXB0cyAmJlxuICAgICAgKHByb3BzLnJldHJ5QXR0ZW1wdHMgPCAwIHx8IHByb3BzLnJldHJ5QXR0ZW1wdHMgPiAyKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYHJldHJ5QXR0ZW1wdHNgIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyLlwiKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID1cbiAgICAgIG5ldyBsYW1iZGFGdW5jdGlvbkV2ZW50SW52b2tlQ29uZmlnLkxhbWJkYUZ1bmN0aW9uRXZlbnRJbnZva2VDb25maWcoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgICAge1xuICAgICAgICAgIGRlc3RpbmF0aW9uQ29uZmlnOlxuICAgICAgICAgICAgcHJvcHMub25GYWlsdXJlIHx8IHByb3BzLm9uU3VjY2Vzc1xuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIC4uLihwcm9wcy5vbkZhaWx1cmVcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkZhaWx1cmU6IHByb3BzLm9uRmFpbHVyZS5iaW5kKHRoaXMsIHByb3BzLmZ1bmN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IERlc3RpbmF0aW9uVHlwZS5GQUlMVVJFLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgICAgICAgIC4uLihwcm9wcy5vblN1Y2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2Vzcy5iaW5kKHRoaXMsIHByb3BzLmZ1bmN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IERlc3RpbmF0aW9uVHlwZS5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuZnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIG1heGltdW1FdmVudEFnZUluU2Vjb25kczpcbiAgICAgICAgICAgIHByb3BzLm1heEV2ZW50QWdlICYmIHByb3BzLm1heEV2ZW50QWdlLnRvU2Vjb25kcygpLFxuICAgICAgICAgIG1heGltdW1SZXRyeUF0dGVtcHRzOiBwcm9wcy5yZXRyeUF0dGVtcHRzID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICBxdWFsaWZpZXI6IHByb3BzLnF1YWxpZmllciB8fCBcIiRMQVRFU1RcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -68,7 +68,7 @@ class FilterRule {
|
|
|
68
68
|
}
|
|
69
69
|
exports.FilterRule = FilterRule;
|
|
70
70
|
_a = JSII_RTTI_SYMBOL_1;
|
|
71
|
-
FilterRule[_a] = { fqn: "terraconstructs.aws.compute.FilterRule", version: "0.
|
|
71
|
+
FilterRule[_a] = { fqn: "terraconstructs.aws.compute.FilterRule", version: "0.2.0" };
|
|
72
72
|
/**
|
|
73
73
|
* Filter criteria for Lambda event filtering
|
|
74
74
|
*/
|
|
@@ -82,5 +82,5 @@ class FilterCriteria {
|
|
|
82
82
|
}
|
|
83
83
|
exports.FilterCriteria = FilterCriteria;
|
|
84
84
|
_b = JSII_RTTI_SYMBOL_1;
|
|
85
|
-
FilterCriteria[_b] = { fqn: "terraconstructs.aws.compute.FilterCriteria", version: "0.
|
|
85
|
+
FilterCriteria[_b] = { fqn: "terraconstructs.aws.compute.FilterCriteria", version: "0.2.0" };
|
|
86
86
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc291cmNlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9ldmVudC1zb3VyY2UtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0dBQStHO0FBQy9HOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBQ3JCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBK0I7UUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQWM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDbEMsT0FBTyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQ25CLEtBQWEsRUFDYixNQUFjO1FBRWQsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNO1FBQ2xCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTO1FBQ3JCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNuQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDOztBQXBFSCxnQ0FxRUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUE4QjtRQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDOztBQU5ILHdDQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNTYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtbGFtYmRhL2xpYi9ldmVudC1zb3VyY2UtZmlsdGVyLnRzXG4vKipcbiAqIEZpbHRlciBydWxlcyBmb3IgTGFtYmRhIGV2ZW50IGZpbHRlcmluZ1xuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyUnVsZSB7XG4gIC8qKlxuICAgKiBOdWxsIGNvbXBhcmlzb24gb3BlcmF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbnVsbCgpOiBhbnkge1xuICAgIHJldHVybiBbbnVsbF07XG4gIH1cblxuICAvKipcbiAgICogRW1wdHkgY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbXB0eSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcIlwiXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVhbHMgY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0VxdWFsKGl0ZW06IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pOiBhbnkge1xuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgcmV0dXJuIFt7IG51bWVyaWM6IFtcIj1cIiwgaXRlbV0gfV07XG4gICAgfVxuICAgIHJldHVybiBbaXRlbV07XG4gIH1cblxuICAvKipcbiAgICogT3IgY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvciguLi5lbGVtOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZWxlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3QgZXF1YWxzIGNvbXBhcmlzb24gb3BlcmF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbm90RXF1YWxzKGVsZW06IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfVtdIHtcbiAgICByZXR1cm4gW3sgXCJhbnl0aGluZy1idXRcIjogW2VsZW1dIH1dO1xuICB9XG5cbiAgLyoqXG4gICAqIE51bWVyaWMgcmFuZ2UgY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBiZXR3ZWVuKFxuICAgIGZpcnN0OiBudW1iZXIsXG4gICAgc2Vjb25kOiBudW1iZXIsXG4gICk6IHsgW2tleTogc3RyaW5nXTogYW55W10gfVtdIHtcbiAgICByZXR1cm4gW3sgbnVtZXJpYzogW1wiPlwiLCBmaXJzdCwgXCI8PVwiLCBzZWNvbmRdIH1dO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4aXN0cyBjb21wYXJpc29uIG9wZXJhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4aXN0cygpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfVtdIHtcbiAgICByZXR1cm4gW3sgZXhpc3RzOiB0cnVlIH1dO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdCBleGlzdHMgY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub3RFeGlzdHMoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH1bXSB7XG4gICAgcmV0dXJuIFt7IGV4aXN0czogZmFsc2UgfV07XG4gIH1cblxuICAvKipcbiAgICogQmVnaW5zIHdpdGggY29tcGFyaXNvbiBvcGVyYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBiZWdpbnNXaXRoKGVsZW06IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1bXSB7XG4gICAgcmV0dXJuIFt7IHByZWZpeDogZWxlbSB9XTtcbiAgfVxufVxuXG4vKipcbiAqIEZpbHRlciBjcml0ZXJpYSBmb3IgTGFtYmRhIGV2ZW50IGZpbHRlcmluZ1xuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyQ3JpdGVyaWEge1xuICAvKipcbiAgICogRmlsdGVyIGZvciBldmVudCBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyKGZpbHRlcjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7IHBhdHRlcm46IEpTT04uc3RyaW5naWZ5KGZpbHRlcikgfTtcbiAgfVxufVxuIl19
|
|
@@ -3,6 +3,7 @@ import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../aws-const
|
|
|
3
3
|
import { IEventSourceDlq } from "./function";
|
|
4
4
|
import { IFunction } from "./function-base";
|
|
5
5
|
import { Duration } from "../../duration";
|
|
6
|
+
import { IKey } from "../encryption";
|
|
6
7
|
export interface EventSourceMappingOptions extends AwsConstructProps {
|
|
7
8
|
/**
|
|
8
9
|
* The Amazon Resource Name (ARN) of the event source. Any record added to
|
|
@@ -160,6 +161,15 @@ export interface EventSourceMappingOptions extends AwsConstructProps {
|
|
|
160
161
|
readonly filters?: Array<{
|
|
161
162
|
[key: string]: any;
|
|
162
163
|
}>;
|
|
164
|
+
/**
|
|
165
|
+
* Add Customer managed KMS key to encrypt Filter Criteria.
|
|
166
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html
|
|
167
|
+
* By default, Lambda will encrypt Filter Criteria using AWS managed keys
|
|
168
|
+
* @see https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
169
|
+
*
|
|
170
|
+
* @default - none
|
|
171
|
+
*/
|
|
172
|
+
readonly filterEncryption?: IKey;
|
|
163
173
|
/**
|
|
164
174
|
* Check if support S3 onfailure destination(ODF). Currently only MSK and self managed kafka event support S3 ODF
|
|
165
175
|
*
|
|
@@ -9,6 +9,7 @@ const arn_1 = require("../arn");
|
|
|
9
9
|
const aws_construct_1 = require("../aws-construct");
|
|
10
10
|
const aws_stack_1 = require("../aws-stack");
|
|
11
11
|
const token_1 = require("../../token");
|
|
12
|
+
const iam = require("../iam");
|
|
12
13
|
/**
|
|
13
14
|
* Defines a Lambda EventSourceMapping resource.
|
|
14
15
|
*
|
|
@@ -114,25 +115,21 @@ class EventSourceMapping extends aws_construct_1.AwsConstructBase {
|
|
|
114
115
|
if (props.kafkaConsumerGroupId) {
|
|
115
116
|
this.validateKafkaConsumerGroupIdOrThrow(props.kafkaConsumerGroupId);
|
|
116
117
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
// if (props.filterEncryption !== undefined) {
|
|
133
|
-
// const lambdaPrincipal = new iam.ServicePrincipal("lambda.amazonaws.com");
|
|
134
|
-
// props.filterEncryption.grantDecrypt(lambdaPrincipal);
|
|
135
|
-
// }
|
|
118
|
+
if (props.filterEncryption !== undefined && props.filters == undefined) {
|
|
119
|
+
throw new Error("filter criteria must be provided to enable setting filter criteria encryption");
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Grants the Lambda function permission to decrypt data using the specified KMS key.
|
|
123
|
+
* This step is necessary for setting up encrypted filter criteria.
|
|
124
|
+
*
|
|
125
|
+
* If the KMS key was created within this CloudFormation stack (via `new Key`), a Key policy
|
|
126
|
+
* will be attached to the key to allow the Lambda function to access it. However, if the
|
|
127
|
+
* Key is imported from an existing ARN (`Key.fromKeyArn`), no action will be taken.
|
|
128
|
+
*/
|
|
129
|
+
if (props.filterEncryption !== undefined) {
|
|
130
|
+
const lambdaPrincipal = new iam.ServicePrincipal("lambda.amazonaws.com");
|
|
131
|
+
props.filterEncryption.grantDecrypt(lambdaPrincipal);
|
|
132
|
+
}
|
|
136
133
|
let destinationConfig;
|
|
137
134
|
if (props.onFailure) {
|
|
138
135
|
destinationConfig = {
|
|
@@ -168,7 +165,7 @@ class EventSourceMapping extends aws_construct_1.AwsConstructBase {
|
|
|
168
165
|
maximumRecordAgeInSeconds: props.maxRecordAge?.toSeconds(),
|
|
169
166
|
maximumRetryAttempts: props.retryAttempts,
|
|
170
167
|
parallelizationFactor: props.parallelizationFactor,
|
|
171
|
-
topics: props.kafkaTopic
|
|
168
|
+
topics: props.kafkaTopic ? [props.kafkaTopic] : undefined,
|
|
172
169
|
tumblingWindowInSeconds: props.tumblingWindow?.toSeconds(),
|
|
173
170
|
scalingConfig: props.maxConcurrency
|
|
174
171
|
? { maximumConcurrency: props.maxConcurrency }
|
|
@@ -176,7 +173,7 @@ class EventSourceMapping extends aws_construct_1.AwsConstructBase {
|
|
|
176
173
|
sourceAccessConfiguration: props.sourceAccessConfigurations,
|
|
177
174
|
selfManagedEventSource,
|
|
178
175
|
filterCriteria: props.filters ? { filter: props.filters } : undefined,
|
|
179
|
-
|
|
176
|
+
kmsKeyArn: props.filterEncryption?.keyArn,
|
|
180
177
|
selfManagedKafkaEventSourceConfig: props.kafkaBootstrapServers
|
|
181
178
|
? consumerGroupConfig
|
|
182
179
|
: undefined,
|
|
@@ -206,7 +203,7 @@ class EventSourceMapping extends aws_construct_1.AwsConstructBase {
|
|
|
206
203
|
}
|
|
207
204
|
exports.EventSourceMapping = EventSourceMapping;
|
|
208
205
|
_a = JSII_RTTI_SYMBOL_1;
|
|
209
|
-
EventSourceMapping[_a] = { fqn: "terraconstructs.aws.compute.EventSourceMapping", version: "0.
|
|
206
|
+
EventSourceMapping[_a] = { fqn: "terraconstructs.aws.compute.EventSourceMapping", version: "0.2.0" };
|
|
210
207
|
/**
|
|
211
208
|
* The type of authentication protocol or the VPC components for your event source's SourceAccessConfiguration
|
|
212
209
|
* @see https://docs.aws.amazon.com/lambda/latest/dg/API_SourceAccessConfiguration.html#SSS-Type-SourceAccessConfiguration-Type
|
|
@@ -266,4 +263,4 @@ var StartingPosition;
|
|
|
266
263
|
*/
|
|
267
264
|
StartingPosition["AT_TIMESTAMP"] = "AT_TIMESTAMP";
|
|
268
265
|
})(StartingPosition || (exports.StartingPosition = StartingPosition = {}));
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc291cmNlLW1hcHBpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvZXZlbnQtc291cmNlLW1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBK0Q7QUFDL0QsK0JBQStCO0FBRS9CLGdDQUFtQztBQUNuQyxvREFJMEI7QUFDMUIsNENBQXdDO0FBSXhDLHVDQUEyQztBQWdQM0M7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBYSxrQkFDWCxTQUFRLGdDQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDcEMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLG9CQUE0QjtRQUU1QixNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FDeEQsS0FBSyxFQUNMLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBQXJDOztnQkFDa0IseUJBQW9CLEdBQUcsb0JBQW9CLENBQUM7Z0JBQzVDLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO2dCQUM5Qyw4QkFBeUIsR0FBRztvQkFDMUMsSUFBSSxFQUFFLG9CQUFvQjtpQkFDM0IsQ0FBQztZQUlKLENBQUM7WUFIQyxJQUFXLE9BQU87Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQ3hDLENBQUM7U0FDRjtRQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUN0QixLQUFnQixFQUNoQixvQkFBNEI7UUFFNUIsT0FBTyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUMsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLFNBQVMsRUFB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LENBQUE7QUFDL0IsQ0FBQyxFQW5CVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW1CM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYW1iZGFFdmVudFNvdXJjZU1hcHBpbmcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4uL2FyblwiO1xuaW1wb3J0IHtcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7IElFdmVudFNvdXJjZURscSB9IGZyb20gXCIuL2Z1bmN0aW9uXCI7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tIFwiLi9mdW5jdGlvbi1iYXNlXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLi9kdXJhdGlvblwiO1xuaW1wb3J0IHsgd2l0aFJlc29sdmVkIH0gZnJvbSBcIi4uLy4uL3Rva2VuXCI7XG4vLyBUT0RPOiByZS1hZGQgc3VwcG9ydCBmb3IgS01TXG4vLyBpbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiOyAvLyByZXF1aXJlZCB0byBncmFudCBLTVMgcGVybWlzc2lvbnNcbi8vIGltcG9ydCB7IElLZXkgfSBmcm9tIFwiLi4vZW5jcnlwdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U291cmNlTWFwcGluZ09wdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGV2ZW50IHNvdXJjZS4gQW55IHJlY29yZCBhZGRlZCB0b1xuICAgKiB0aGlzIHN0cmVhbSBjYW4gaW52b2tlIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldCBpZiB1c2luZyBhIHNlbGYgbWFuYWdlZCBLYWZrYSBjbHVzdGVyLCB0aHJvd3MgYW4gZXJyb3Igb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhcmdlc3QgbnVtYmVyIG9mIHJlY29yZHMgdGhhdCBBV1MgTGFtYmRhIHdpbGwgcmV0cmlldmUgZnJvbSB5b3VyIGV2ZW50XG4gICAqIHNvdXJjZSBhdCB0aGUgdGltZSBvZiBpbnZva2luZyB5b3VyIGZ1bmN0aW9uLiBZb3VyIGZ1bmN0aW9uIHJlY2VpdmVzIGFuXG4gICAqIGV2ZW50IHdpdGggYWxsIHRoZSByZXRyaWV2ZWQgcmVjb3Jkcy5cbiAgICpcbiAgICogVmFsaWQgUmFuZ2U6IE1pbmltdW0gdmFsdWUgb2YgMS4gTWF4aW11bSB2YWx1ZSBvZiAxMDAwMC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbWF6b24gS2luZXNpcywgQW1hem9uIER5bmFtb0RCLCBhbmQgQW1hem9uIE1TSyBpcyAxMDAgcmVjb3Jkcy5cbiAgICogVGhlIGRlZmF1bHQgZm9yIEFtYXpvbiBTUVMgaXMgMTAgbWVzc2FnZXMuIEZvciBzdGFuZGFyZCBTUVMgcXVldWVzLCB0aGUgbWF4aW11bSBpcyAxMCwwMDAuIEZvciBGSUZPIFNRUyBxdWV1ZXMsIHRoZSBtYXhpbXVtIGlzIDEwLlxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvciwgc3BsaXQgdGhlIGJhdGNoIGluIHR3byBhbmQgcmV0cnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBiaXNlY3RCYXRjaE9uRXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBBbWF6b24gU1FTIHF1ZXVlIG9yIEFtYXpvbiBTTlMgdG9waWMgZGVzdGluYXRpb24gZm9yIGRpc2NhcmRlZCByZWNvcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkaXNjYXJkZWQgcmVjb3JkcyBhcmUgaWdub3JlZFxuICAgKi9cbiAgcmVhZG9ubHkgb25GYWlsdXJlPzogSUV2ZW50U291cmNlRGxxO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSB0aGUgZXZlbnQgc291cmNlIHVwb24gY3JlYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gaW4gdGhlIER5bmFtb0RCLCBLaW5lc2lzIG9yIE1TSyBzdHJlYW0gd2hlcmUgQVdTIExhbWJkYSBzaG91bGRcbiAgICogc3RhcnQgcmVhZGluZy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va2luZXNpcy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRTaGFyZEl0ZXJhdG9yLmh0bWwjS2luZXNpcy1HZXRTaGFyZEl0ZXJhdG9yLXJlcXVlc3QtU2hhcmRJdGVyYXRvclR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdGFydGluZyBwb3NpdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRpbmdQb3NpdGlvbj86IFN0YXJ0aW5nUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGZyb20gd2hpY2ggdG8gc3RhcnQgcmVhZGluZywgaW4gVW5peCB0aW1lIHNlY29uZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdGltZXN0YW1wXG4gICAqL1xuICByZWFkb25seSBzdGFydGluZ1Bvc2l0aW9uVGltZXN0YW1wPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBmdW5jdGlvbnMgdG8gcmV0dXJuIHBhcnRpYWxseSBzdWNjZXNzZnVsIHJlc3BvbnNlcyBmb3IgYSBiYXRjaCBvZiByZWNvcmRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtZGRiLmh0bWwjc2VydmljZXMtZGRiLWJhdGNoZmFpbHVyZXJlcG9ydGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSB0byBnYXRoZXIgcmVjb3JkcyBiZWZvcmUgaW52b2tpbmcgdGhlIGZ1bmN0aW9uLlxuICAgKiBNYXhpbXVtIG9mIER1cmF0aW9uLm1pbnV0ZXMoNSlcbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QmF0Y2hpbmdXaW5kb3c/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gY29uY3VycmVuY3kgc2V0dGluZyBsaW1pdHMgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGluc3RhbmNlcyBvZiB0aGUgZnVuY3Rpb24gdGhhdCBhbiBBbWF6b24gU1FTIGV2ZW50IHNvdXJjZSBjYW4gaW52b2tlLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtc3FzLmh0bWwjZXZlbnRzLXNxcy1tYXgtY29uY3VycmVuY3lcbiAgICpcbiAgICogVmFsaWQgUmFuZ2U6IE1pbmltdW0gdmFsdWUgb2YgMi4gTWF4aW11bSB2YWx1ZSBvZiAxMDAwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNwZWNpZmljIGxpbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFnZSBvZiBhIHJlY29yZCB0aGF0IExhbWJkYSBzZW5kcyB0byBhIGZ1bmN0aW9uIGZvciBwcm9jZXNzaW5nLlxuICAgKiBWYWxpZCBSYW5nZTpcbiAgICogKiBNaW5pbXVtIHZhbHVlIG9mIDYwIHNlY29uZHNcbiAgICogKiBNYXhpbXVtIHZhbHVlIG9mIDcgZGF5c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGluZmluaXRlIG9yIHVudGlsIHRoZSByZWNvcmQgZXhwaXJlcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heFJlY29yZEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmV0cnkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvci5cbiAgICogU2V0IHRvIGB1bmRlZmluZWRgIGlmIHlvdSB3YW50IGxhbWJkYSB0byBrZWVwIHJldHJ5aW5nIGluZmluaXRlbHkgb3IgdW50aWxcbiAgICogdGhlIHJlY29yZCBleHBpcmVzLlxuICAgKlxuICAgKiBWYWxpZCBSYW5nZTpcbiAgICogKiBNaW5pbXVtIHZhbHVlIG9mIDBcbiAgICogKiBNYXhpbXVtIHZhbHVlIG9mIDEwMDAwXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaW5maW5pdGUgb3IgdW50aWwgdGhlIHJlY29yZCBleHBpcmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBiYXRjaGVzIHRvIHByb2Nlc3MgZnJvbSBlYWNoIHNoYXJkIGNvbmN1cnJlbnRseS5cbiAgICogVmFsaWQgUmFuZ2U6XG4gICAqICogTWluaW11bSB2YWx1ZSBvZiAxXG4gICAqICogTWF4aW11bSB2YWx1ZSBvZiAxMFxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBwYXJhbGxlbGl6YXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB0b3BpY1xuICAgKi9cbiAgcmVhZG9ubHkga2Fma2FUb3BpYz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHR1bWJsaW5nIHdpbmRvd3MgdG8gZ3JvdXAgcmVjb3JkcyBzZW50IHRvIER5bmFtb0RCIG9yIEtpbmVzaXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWRkYi5odG1sI3NlcnZpY2VzLWRkYi13aW5kb3dzXG4gICAqXG4gICAqIFZhbGlkIFJhbmdlOiAwIC0gMTUgbWludXRlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHR1bWJsaW5nV2luZG93PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBob3N0IGFuZCBwb3J0IHBhaXJzIHRoYXQgYXJlIHRoZSBhZGRyZXNzZXMgb2YgdGhlIEthZmthIGJyb2tlcnMgaW4gYSBzZWxmIG1hbmFnZWQgXCJib290c3RyYXBcIiBLYWZrYSBjbHVzdGVyXG4gICAqIHRoYXQgYSBLYWZrYSBjbGllbnQgY29ubmVjdHMgdG8gaW5pdGlhbGx5IHRvIGJvb3RzdHJhcCBpdHNlbGYuXG4gICAqIFRoZXkgYXJlIGluIHRoZSBmb3JtYXQgYGFiYy5leGFtcGxlLmNvbTo5MDk2YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBrYWZrYUJvb3RzdHJhcFNlcnZlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBLYWZrYSBjb25zdW1lciBncm91cCB0byBqb2luLiBUaGUgY29uc3VtZXIgZ3JvdXAgSUQgbXVzdCBiZSB1bmlxdWUgYW1vbmcgYWxsIHlvdXIgS2Fma2EgZXZlbnQgc291cmNlcy4gQWZ0ZXIgY3JlYXRpbmcgYSBLYWZrYSBldmVudCBzb3VyY2UgbWFwcGluZyB3aXRoIHRoZSBjb25zdW1lciBncm91cCBJRCBzcGVjaWZpZWQsIHlvdSBjYW5ub3QgdXBkYXRlIHRoaXMgdmFsdWUuIFRoZSB2YWx1ZSBtdXN0IGhhdmUgYSBsZW5naHQgYmV0d2VlbiAxIGFuZCAyMDAgYW5kIGZ1bGwgdGhlIHBhdHRlcm4gJ1thLXpBLVowLTktXFwvKjpfKz0uQC1dKicuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0N1c3RvbWl6YWJsZSBjb25zdW1lciBncm91cCBJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNzZXJ2aWNlcy1tc2stY29uc3VtZXItZ3JvdXAtaWQpLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmctYW1hem9ubWFuYWdlZGthZmthZXZlbnRzb3VyY2Vjb25maWcuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmctc2VsZm1hbmFnZWRrYWZrYWV2ZW50c291cmNlY29uZmlnLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBrYWZrYUNvbnN1bWVyR3JvdXBJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWMgc2V0dGluZ3MgbGlrZSB0aGUgYXV0aGVudGljYXRpb24gcHJvdG9jb2wgb3IgdGhlIFZQQyBjb21wb25lbnRzIHRvIHNlY3VyZSBhY2Nlc3MgdG8geW91ciBldmVudCBzb3VyY2UuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbGFtYmRhLWV2ZW50c291cmNlbWFwcGluZy1zb3VyY2VhY2Nlc3Njb25maWd1cmF0aW9uLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9ucz86IFNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogQWRkIGZpbHRlciBjcml0ZXJpYSB0byBFdmVudCBTb3VyY2UuXG4gICAqXG4gICAqIEEgc2V0IG9mIHVwIHRvIDUgZmlsdGVyLiBJZiBhbiBldmVudCBzYXRpc2ZpZXMgYXQgbGVhc3Qgb25lLCBMYW1iZGEgc2VuZHMgdGhlIGV2ZW50IHRvIHRoZSBmdW5jdGlvbiBvciBhZGRzIGl0IHRvIHRoZSBuZXh0IGJhdGNoLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2ludm9jYXRpb24tZXZlbnRmaWx0ZXJpbmcuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcnM/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PjtcblxuICAvLyBUT0RPOiByZS1hZGQgS01TIHN1cHBvcnRcbiAgLy8gLyoqXG4gIC8vICAqIEFkZCBDdXN0b21lciBtYW5hZ2VkIEtNUyBrZXkgdG8gZW5jcnlwdCBGaWx0ZXIgQ3JpdGVyaWEuXG4gIC8vICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sXG4gIC8vICAqIEJ5IGRlZmF1bHQsIExhbWJkYSB3aWxsIGVuY3J5cHQgRmlsdGVyIENyaXRlcmlhIHVzaW5nIEFXUyBtYW5hZ2VkIGtleXNcbiAgLy8gICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2F3cy1tYW5hZ2VkLWNta1xuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IGZpbHRlckVuY3J5cHRpb24/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBzdXBwb3J0IFMzIG9uZmFpbHVyZSBkZXN0aW5hdGlvbihPREYpLiBDdXJyZW50bHkgb25seSBNU0sgYW5kIHNlbGYgbWFuYWdlZCBrYWZrYSBldmVudCBzdXBwb3J0IFMzIE9ERlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcG9ydFMzT25GYWlsdXJlRGVzdGluYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlY2xhcmluZyBhIG5ldyBldmVudCBzb3VyY2UgbWFwcGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudFNvdXJjZU1hcHBpbmdQcm9wcyBleHRlbmRzIEV2ZW50U291cmNlTWFwcGluZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHRhcmdldCBBV1MgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0OiBJRnVuY3Rpb247XG59XG5cbi8qKlxuICogT3V0cHV0cyB0byBleHBvc2UgdmlhIHRoZSBncmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U291cmNlTWFwcGluZ091dHB1dHMge1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBFdmVudFNvdXJjZU1hcHBpbmcuXG4gICAqL1xuICByZWFkb25seSB1dWlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBldmVudCBzb3VyY2UgbWFwcGluZyBmb3IgYSBsYW1iZGEgZnVuY3Rpb24uXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2ludm9jYXRpb24tZXZlbnRzb3VyY2VtYXBwaW5nLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRXZlbnRTb3VyY2VNYXBwaW5nIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBzdHJvbmdseSB0eXBlZCBvdXRwdXRzXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzOiBFdmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciBmb3IgdGhpcyBFdmVudFNvdXJjZU1hcHBpbmdcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRTb3VyY2VNYXBwaW5nSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZXZlbnQgc291cmNlIG1hcHBpbmcgKGkuZS4gYXJuOmF3czpsYW1iZGE6cmVnaW9uOmFjY291bnQtaWQ6ZXZlbnQtc291cmNlLW1hcHBpbmcvZXZlbnQtc291cmNlLW1hcHBpbmctaWQpXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgTGFtYmRhIEV2ZW50U291cmNlTWFwcGluZyByZXNvdXJjZS5cbiAqXG4gKiBVc3VhbGx5LCB5b3Ugd29uJ3QgbmVlZCB0byBkZWZpbmUgdGhlIG1hcHBpbmcgeW91cnNlbGYuIFRoaXMgd2lsbCB1c3VhbGx5IGJlIGRvbmUgYnlcbiAqIGV2ZW50IHNvdXJjZXMuIEZvciBleGFtcGxlLCB0byBhZGQgYW4gU1FTIGV2ZW50IHNvdXJjZSB0byBhIGZ1bmN0aW9uOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBub3RpZnksIGNvbXB1dGUgfSBmcm9tICd0ZXJyYWNvbnN0cnVjdHMnO1xuICpcbiAqIGRlY2xhcmUgY29uc3QgaGFuZGxlcjogY29tcHV0ZS5GdW5jdGlvbjtcbiAqIGRlY2xhcmUgY29uc3QgcXVldWU6IG5vdGlmeS5RdWV1ZTtcbiAqXG4gKiBoYW5kbGVyLmFkZEV2ZW50U291cmNlKG5ldyBjb21wdXRlLmV2ZW50c291cmNlcy5TcXNFdmVudFNvdXJjZShxdWV1ZSkpO1xuICogYGBgXG4gKlxuICogVGhlIGBTcXNFdmVudFNvdXJjZWAgY2xhc3Mgd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB0aGUgbWFwcGluZywgYW5kIHdpbGwgYWxzb1xuICogbW9kaWZ5IHRoZSBMYW1iZGEncyBleGVjdXRpb24gcm9sZSBzbyBpdCBjYW4gY29uc3VtZSBtZXNzYWdlcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U291cmNlTWFwcGluZ1xuICBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2VcbiAgaW1wbGVtZW50cyBJRXZlbnRTb3VyY2VNYXBwaW5nXG57XG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXZlbnQgc291cmNlIGludG8gdGhpcyBzdGFjayBmcm9tIGl0cyBldmVudCBzb3VyY2UgaWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FdmVudFNvdXJjZU1hcHBpbmdJZChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZXZlbnRTb3VyY2VNYXBwaW5nSWQ6IHN0cmluZyxcbiAgKTogSUV2ZW50U291cmNlTWFwcGluZyB7XG4gICAgY29uc3QgZXZlbnRTb3VyY2VNYXBwaW5nQXJuID0gRXZlbnRTb3VyY2VNYXBwaW5nLmZvcm1hdEFybihcbiAgICAgIHNjb3BlLFxuICAgICAgZXZlbnRTb3VyY2VNYXBwaW5nSWQsXG4gICAgKTtcblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJRXZlbnRTb3VyY2VNYXBwaW5nIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdJZCA9IGV2ZW50U291cmNlTWFwcGluZ0lkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ0FybiA9IGV2ZW50U291cmNlTWFwcGluZ0FybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzID0ge1xuICAgICAgICB1dWlkOiBldmVudFNvdXJjZU1hcHBpbmdJZCxcbiAgICAgIH07XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50U291cmNlTWFwcGluZ091dHB1dHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXRBcm4oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBldmVudFNvdXJjZU1hcHBpbmdJZDogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6IFwibGFtYmRhXCIsXG4gICAgICByZXNvdXJjZTogXCJldmVudC1zb3VyY2UtbWFwcGluZ1wiLFxuICAgICAgcmVzb3VyY2VOYW1lOiBldmVudFNvdXJjZU1hcHBpbmdJZCxcbiAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRTb3VyY2VNYXBwaW5nSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ0Fybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRTb3VyY2VNYXBwaW5nT3V0cHV0czogRXZlbnRTb3VyY2VNYXBwaW5nT3V0cHV0cztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50U291cmNlTWFwcGluZ091dHB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRXZlbnRTb3VyY2VNYXBwaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuZXZlbnRTb3VyY2VBcm4gPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcm9wcy5rYWZrYUJvb3RzdHJhcFNlcnZlcnMgPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRWl0aGVyIGV2ZW50U291cmNlQXJuIG9yIGthZmthQm9vdHN0cmFwU2VydmVycyBtdXN0IGJlIHNldFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5ldmVudFNvdXJjZUFybiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcm9wcy5rYWZrYUJvb3RzdHJhcFNlcnZlcnMgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImV2ZW50U291cmNlQXJuIGFuZCBrYWZrYUJvb3RzdHJhcFNlcnZlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5rYWZrYUJvb3RzdHJhcFNlcnZlcnMgJiZcbiAgICAgIHByb3BzLmthZmthQm9vdHN0cmFwU2VydmVycz8ubGVuZ3RoIDwgMVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwia2Fma2FCb290U3RyYXBTZXJ2ZXJzIG11c3Qgbm90IGJlIGVtcHR5IGlmIHNldFwiKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cgJiYgcHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cudG9TZWNvbmRzKCkgPiAzMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYG1heEJhdGNoaW5nV2luZG93IGNhbm5vdCBiZSBvdmVyIDMwMCBzZWNvbmRzLCBnb3QgJHtwcm9wcy5tYXhCYXRjaGluZ1dpbmRvdy50b1NlY29uZHMoKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5tYXhDb25jdXJyZW5jeSAmJlxuICAgICAgIWNka3RmLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXhDb25jdXJyZW5jeSkgJiZcbiAgICAgIChwcm9wcy5tYXhDb25jdXJyZW5jeSA8IDIgfHwgcHJvcHMubWF4Q29uY3VycmVuY3kgPiAxMDAwKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIm1heENvbmN1cnJlbmN5IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAxMDAwIGNvbmN1cnJlbnQgaW5zdGFuY2VzXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLm1heFJlY29yZEFnZSAmJlxuICAgICAgKHByb3BzLm1heFJlY29yZEFnZS50b1NlY29uZHMoKSA8IDYwIHx8XG4gICAgICAgIHByb3BzLm1heFJlY29yZEFnZS50b0RheXMoeyBpbnRlZ3JhbDogZmFsc2UgfSkgPiA3KVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIm1heFJlY29yZEFnZSBtdXN0IGJlIGJldHdlZW4gNjAgc2Vjb25kcyBhbmQgNyBkYXlzIGluY2x1c2l2ZVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm9wcy5yZXRyeUF0dGVtcHRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHdpdGhSZXNvbHZlZChwcm9wcy5yZXRyeUF0dGVtcHRzLCAoYXR0ZW1wdHMpID0+IHtcbiAgICAgICAgaWYgKGF0dGVtcHRzIDwgMCB8fCBhdHRlbXB0cyA+IDEwMDAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYHJldHJ5QXR0ZW1wdHMgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMDAwIGluY2x1c2l2ZSwgZ290ICR7YXR0ZW1wdHN9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHByb3BzLnBhcmFsbGVsaXphdGlvbkZhY3RvciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB3aXRoUmVzb2x2ZWQocHJvcHMucGFyYWxsZWxpemF0aW9uRmFjdG9yLCAoZmFjdG9yKSA9PiB7XG4gICAgICAgIGlmIChmYWN0b3IgPCAxIHx8IGZhY3RvciA+IDEwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYHBhcmFsbGVsaXphdGlvbkZhY3RvciBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTAgaW5jbHVzaXZlLCBnb3QgJHtmYWN0b3J9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGlmIChcbiAgICAgIHByb3BzLnR1bWJsaW5nV2luZG93ICYmXG4gICAgICAhY2RrdGYuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLnR1bWJsaW5nV2luZG93KSAmJlxuICAgICAgcHJvcHMudHVtYmxpbmdXaW5kb3cudG9TZWNvbmRzKCkgPiA5MDBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHR1bWJsaW5nV2luZG93IGNhbm5vdCBiZSBvdmVyIDkwMCBzZWNvbmRzLCBnb3QgJHtwcm9wcy50dW1ibGluZ1dpbmRvdy50b1NlY29uZHMoKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5zdGFydGluZ1Bvc2l0aW9uID09PSBTdGFydGluZ1Bvc2l0aW9uLkFUX1RJTUVTVEFNUCAmJlxuICAgICAgIXByb3BzLnN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJzdGFydGluZ1Bvc2l0aW9uVGltZXN0YW1wIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBzdGFydGluZ1Bvc2l0aW9uIGlzIEFUX1RJTUVTVEFNUFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5zdGFydGluZ1Bvc2l0aW9uICE9PSBTdGFydGluZ1Bvc2l0aW9uLkFUX1RJTUVTVEFNUCAmJlxuICAgICAgcHJvcHMuc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcInN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXAgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIHN0YXJ0aW5nUG9zaXRpb24gaXMgQVRfVElNRVNUQU1QXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5rYWZrYUNvbnN1bWVyR3JvdXBJZCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUthZmthQ29uc3VtZXJHcm91cElkT3JUaHJvdyhwcm9wcy5rYWZrYUNvbnN1bWVyR3JvdXBJZCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmUtYWRkIEtNUyBzdXBwb3J0XG4gICAgLy8gaWYgKHByb3BzLmZpbHRlckVuY3J5cHRpb24gIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5maWx0ZXJzID09IHVuZGVmaW5lZCkge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKFxuICAgIC8vICAgICBcImZpbHRlciBjcml0ZXJpYSBtdXN0IGJlIHByb3ZpZGVkIHRvIGVuYWJsZSBzZXR0aW5nIGZpbHRlciBjcml0ZXJpYSBlbmNyeXB0aW9uXCIsXG4gICAgLy8gICApO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vIC8qKlxuICAgIC8vICAqIEdyYW50cyB0aGUgTGFtYmRhIGZ1bmN0aW9uIHBlcm1pc3Npb24gdG8gZGVjcnlwdCBkYXRhIHVzaW5nIHRoZSBzcGVjaWZpZWQgS01TIGtleS5cbiAgICAvLyAgKiBUaGlzIHN0ZXAgaXMgbmVjZXNzYXJ5IGZvciBzZXR0aW5nIHVwIGVuY3J5cHRlZCBmaWx0ZXIgY3JpdGVyaWEuXG4gICAgLy8gICpcbiAgICAvLyAgKiBJZiB0aGUgS01TIGtleSB3YXMgY3JlYXRlZCB3aXRoaW4gdGhpcyBDbG91ZEZvcm1hdGlvbiBzdGFjayAodmlhIGBuZXcgS2V5YCksIGEgS2V5IHBvbGljeVxuICAgIC8vICAqIHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIGtleSB0byBhbGxvdyB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRvIGFjY2VzcyBpdC4gSG93ZXZlciwgaWYgdGhlXG4gICAgLy8gICogS2V5IGlzIGltcG9ydGVkIGZyb20gYW4gZXhpc3RpbmcgQVJOIChgS2V5LmZyb21LZXlBcm5gKSwgbm8gYWN0aW9uIHdpbGwgYmUgdGFrZW4uXG4gICAgLy8gICovXG4gICAgLy8gaWYgKHByb3BzLmZpbHRlckVuY3J5cHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIC8vICAgY29uc3QgbGFtYmRhUHJpbmNpcGFsID0gbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwibGFtYmRhLmFtYXpvbmF3cy5jb21cIik7XG4gICAgLy8gICBwcm9wcy5maWx0ZXJFbmNyeXB0aW9uLmdyYW50RGVjcnlwdChsYW1iZGFQcmluY2lwYWwpO1xuICAgIC8vIH1cblxuICAgIGxldCBkZXN0aW5hdGlvbkNvbmZpZzogYW55O1xuXG4gICAgaWYgKHByb3BzLm9uRmFpbHVyZSkge1xuICAgICAgZGVzdGluYXRpb25Db25maWcgPSB7XG4gICAgICAgIG9uRmFpbHVyZTogcHJvcHMub25GYWlsdXJlLmJpbmQodGhpcywgcHJvcHMudGFyZ2V0KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgbGV0IHNlbGZNYW5hZ2VkRXZlbnRTb3VyY2U6XG4gICAgICB8IGxhbWJkYUV2ZW50U291cmNlTWFwcGluZy5MYW1iZGFFdmVudFNvdXJjZU1hcHBpbmdTZWxmTWFuYWdlZEV2ZW50U291cmNlXG4gICAgICB8IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMua2Fma2FCb290c3RyYXBTZXJ2ZXJzKSB7XG4gICAgICBzZWxmTWFuYWdlZEV2ZW50U291cmNlID0ge1xuICAgICAgICBlbmRwb2ludHM6IHtcbiAgICAgICAgICBLQUZLQV9CT09UU1RSQVBfU0VSVkVSUzogcHJvcHMua2Fma2FCb290c3RyYXBTZXJ2ZXJzLmpvaW4oXCIsXCIpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25zdW1lckdyb3VwQ29uZmlnID0gcHJvcHMua2Fma2FDb25zdW1lckdyb3VwSWRcbiAgICAgID8geyBjb25zdW1lckdyb3VwSWQ6IHByb3BzLmthZmthQ29uc3VtZXJHcm91cElkIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgbGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nLkxhbWJkYUV2ZW50U291cmNlTWFwcGluZyhcbiAgICAgIHRoaXMsXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplLFxuICAgICAgICBiaXNlY3RCYXRjaE9uRnVuY3Rpb25FcnJvcjogcHJvcHMuYmlzZWN0QmF0Y2hPbkVycm9yLFxuICAgICAgICBkZXN0aW5hdGlvbkNvbmZpZyxcbiAgICAgICAgZW5hYmxlZDogcHJvcHMuZW5hYmxlZCxcbiAgICAgICAgZXZlbnRTb3VyY2VBcm46IHByb3BzLmV2ZW50U291cmNlQXJuLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IHByb3BzLnRhcmdldC5mdW5jdGlvbk5hbWUsXG4gICAgICAgIHN0YXJ0aW5nUG9zaXRpb246IHByb3BzLnN0YXJ0aW5nUG9zaXRpb24sXG4gICAgICAgIHN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXA6IHByb3BzLnN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXBcbiAgICAgICAgICA/IG5ldyBEYXRlKHByb3BzLnN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXAgKiAxMDAwKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGZ1bmN0aW9uUmVzcG9uc2VUeXBlczogcHJvcHMucmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNcbiAgICAgICAgICA/IFtcIlJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzXCJdXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG1heGltdW1CYXRjaGluZ1dpbmRvd0luU2Vjb25kczogcHJvcHMubWF4QmF0Y2hpbmdXaW5kb3c/LnRvU2Vjb25kcygpLFxuICAgICAgICBtYXhpbXVtUmVjb3JkQWdlSW5TZWNvbmRzOiBwcm9wcy5tYXhSZWNvcmRBZ2U/LnRvU2Vjb25kcygpLFxuICAgICAgICBtYXhpbXVtUmV0cnlBdHRlbXB0czogcHJvcHMucmV0cnlBdHRlbXB0cyxcbiAgICAgICAgcGFyYWxsZWxpemF0aW9uRmFjdG9yOiBwcm9wcy5wYXJhbGxlbGl6YXRpb25GYWN0b3IsXG4gICAgICAgIHRvcGljczogcHJvcHMua2Fma2FUb3BpYyAhPT0gdW5kZWZpbmVkID8gW3Byb3BzLmthZmthVG9waWNdIDogdW5kZWZpbmVkLFxuICAgICAgICB0dW1ibGluZ1dpbmRvd0luU2Vjb25kczogcHJvcHMudHVtYmxpbmdXaW5kb3c/LnRvU2Vjb25kcygpLFxuICAgICAgICBzY2FsaW5nQ29uZmlnOiBwcm9wcy5tYXhDb25jdXJyZW5jeVxuICAgICAgICAgID8geyBtYXhpbXVtQ29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5IH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgc291cmNlQWNjZXNzQ29uZmlndXJhdGlvbjogcHJvcHMuc291cmNlQWNjZXNzQ29uZmlndXJhdGlvbnMsXG4gICAgICAgIHNlbGZNYW5hZ2VkRXZlbnRTb3VyY2UsXG4gICAgICAgIGZpbHRlckNyaXRlcmlhOiBwcm9wcy5maWx0ZXJzID8geyBmaWx0ZXI6IHByb3BzLmZpbHRlcnMgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgLy8ga21zS2V5QXJuOiBwcm9wcy5maWx0ZXJFbmNyeXB0aW9uPy5rZXlBcm4sIC8vIFRPRE86IHJlLWFkZCBLTVMgc3VwcG9ydFxuICAgICAgICBzZWxmTWFuYWdlZEthZmthRXZlbnRTb3VyY2VDb25maWc6IHByb3BzLmthZmthQm9vdHN0cmFwU2VydmVyc1xuICAgICAgICAgID8gY29uc3VtZXJHcm91cENvbmZpZ1xuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBhbWF6b25NYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZzogcHJvcHMuZXZlbnRTb3VyY2VBcm5cbiAgICAgICAgICA/IGNvbnN1bWVyR3JvdXBDb25maWdcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLmV2ZW50U291cmNlTWFwcGluZ0lkID0gcmVzb3VyY2UudXVpZDtcbiAgICB0aGlzLmV2ZW50U291cmNlTWFwcGluZ0FybiA9IEV2ZW50U291cmNlTWFwcGluZy5mb3JtYXRBcm4oXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy5ldmVudFNvdXJjZU1hcHBpbmdJZCxcbiAgICApO1xuXG4gICAgdGhpcy5ldmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzID0ge1xuICAgICAgdXVpZDogdGhpcy5ldmVudFNvdXJjZU1hcHBpbmdJZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUthZmthQ29uc3VtZXJHcm91cElkT3JUaHJvdyhrYWZrYUNvbnN1bWVyR3JvdXBJZDogc3RyaW5nKSB7XG4gICAgaWYgKGNka3RmLlRva2VuLmlzVW5yZXNvbHZlZChrYWZrYUNvbnN1bWVyR3JvdXBJZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoa2Fma2FDb25zdW1lckdyb3VwSWQubGVuZ3RoID4gMjAwIHx8IGthZmthQ29uc3VtZXJHcm91cElkLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJrYWZrYUNvbnN1bWVyR3JvdXBJZCBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGJldHdlZW4gMSBhbmQgMjAwIGNoYXJhY3RlcnNcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKC9bYS16QS1aMC05LVxcLyo6Xys9LkAtXSovKTtcbiAgICBjb25zdCBwYXR0ZXJuTWF0Y2ggPSByZWdleC5leGVjKGthZmthQ29uc3VtZXJHcm91cElkKTtcbiAgICBpZiAocGF0dGVybk1hdGNoID09PSBudWxsIHx8IHBhdHRlcm5NYXRjaFswXSAhPT0ga2Fma2FDb25zdW1lckdyb3VwSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ2thZmthQ29uc3VtZXJHcm91cElkIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycy4gQWxsb3dlZCB2YWx1ZXMgYXJlIFwiW2EtekEtWjAtOS0vKjpfKz0uQC1dXCInLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCBvciB0aGUgVlBDIGNvbXBvbmVudHMgZm9yIHlvdXIgZXZlbnQgc291cmNlJ3MgU291cmNlQWNjZXNzQ29uZmlndXJhdGlvblxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9BUElfU291cmNlQWNjZXNzQ29uZmlndXJhdGlvbi5odG1sI1NTUy1UeXBlLVNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb24tVHlwZVxuICovXG5leHBvcnQgZW51bSBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uVHlwZSB7XG4gIC8qKlxuICAgKiAoTVEpIFRoZSBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgc3RvcmVzIHlvdXIgYnJva2VyIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgQkFTSUNfQVVUSCA9IFwiQkFTSUNfQVVUSFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0cyBhc3NvY2lhdGVkIHdpdGggeW91ciBWUEMuIExhbWJkYSBjb25uZWN0cyB0byB0aGVzZSBzdWJuZXRzIHRvIGZldGNoIGRhdGEgZnJvbSB5b3VyIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgY2x1c3Rlci5cbiAgICovXG4gIFZQQ19TVUJORVQgPSBcIlZQQ19TVUJORVRcIixcblxuICAvKipcbiAgICogVGhlIFZQQyBzZWN1cml0eSBncm91cCB1c2VkIHRvIG1hbmFnZSBhY2Nlc3MgdG8geW91ciBTZWxmLU1hbmFnZWQgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gICAqL1xuICBWUENfU0VDVVJJVFlfR1JPVVAgPSBcIlZQQ19TRUNVUklUWV9HUk9VUFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgdXNlZCBmb3IgU0FTTCBTQ1JBTS0yNTYgYXV0aGVudGljYXRpb24gb2YgeW91ciBTZWxmLU1hbmFnZWQgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gICAqL1xuICBTQVNMX1NDUkFNXzI1Nl9BVVRIID0gXCJTQVNMX1NDUkFNXzI1Nl9BVVRIXCIsXG5cbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSB1c2VkIGZvciBTQVNMIFNDUkFNLTUxMiBhdXRoZW50aWNhdGlvbiBvZiB5b3VyIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAgICovXG4gIFNBU0xfU0NSQU1fNTEyX0FVVEggPSBcIlNBU0xfU0NSQU1fNTEyX0FVVEhcIixcblxuICAvKipcbiAgICogVGhlIFNlY3JldHMgTWFuYWdlciBBUk4gb2YgeW91ciBzZWNyZXQga2V5IGNvbnRhaW5pbmcgdGhlIGNlcnRpZmljYXRlIGNoYWluIChYLjUwOSBQRU0pLCBwcml2YXRlIGtleSAoUEtDUyM4IFBFTSksXG4gICAqIGFuZCBwcml2YXRlIGtleSBwYXNzd29yZCAob3B0aW9uYWwpIHVzZWQgZm9yIG11dHVhbCBUTFMgYXV0aGVudGljYXRpb24gb2YgeW91ciBNU0svQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gICAqL1xuICBDTElFTlRfQ0VSVElGSUNBVEVfVExTX0FVVEggPSBcIkNMSUVOVF9DRVJUSUZJQ0FURV9UTFNfQVVUSFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgY29udGFpbmluZyB0aGUgcm9vdCBDQSBjZXJ0aWZpY2F0ZSAoWC41MDkgUEVNKSB1c2VkIGZvciBUTFMgZW5jcnlwdGlvbiBvZiB5b3VyIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICAgKi9cbiAgU0VSVkVSX1JPT1RfQ0FfQ0VSVElGSUNBVEUgPSBcIlNFUlZFUl9ST09UX0NBX0NFUlRJRklDQVRFXCIsXG59XG5cbi8qKlxuICogU3BlY2lmaWMgc2V0dGluZ3MgbGlrZSB0aGUgYXV0aGVudGljYXRpb24gcHJvdG9jb2wgb3IgdGhlIFZQQyBjb21wb25lbnRzIHRvIHNlY3VyZSBhY2Nlc3MgdG8geW91ciBldmVudCBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlQWNjZXNzQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCBvciB0aGUgVlBDIGNvbXBvbmVudHMgZm9yIHlvdXIgZXZlbnQgc291cmNlLiBGb3IgZXhhbXBsZTogXCJTQVNMX1NDUkFNXzUxMl9BVVRIXCIuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uVHlwZTtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBmb3IgeW91ciBjaG9zZW4gY29uZmlndXJhdGlvbiBpbiB0eXBlLlxuICAgKiBGb3IgZXhhbXBsZTogXCJVUklcIjogXCJhcm46YXdzOnNlY3JldHNtYW5hZ2VyOnVzLWVhc3QtMTowMTIzNDU2Nzg5MDpzZWNyZXQ6TXlCcm9rZXJTZWNyZXROYW1lXCIuXG4gICAqIFRoZSBleGFjdCBzdHJpbmcgZGVwZW5kcyBvbiB0aGUgdHlwZS5cbiAgICogQHNlZSBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uVHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgdXJpOiBzdHJpbmc7XG59XG4vKipcbiAqIFRoZSBwb3NpdGlvbiBpbiB0aGUgRHluYW1vREIsIEtpbmVzaXMgb3IgTVNLIHN0cmVhbSB3aGVyZSBBV1MgTGFtYmRhIHNob3VsZCBzdGFydFxuICogcmVhZGluZy5cbiAqL1xuZXhwb3J0IGVudW0gU3RhcnRpbmdQb3NpdGlvbiB7XG4gIC8qKlxuICAgKiBTdGFydCByZWFkaW5nIGF0IHRoZSBsYXN0IHVudHJpbW1lZCByZWNvcmQgaW4gdGhlIHNoYXJkIGluIHRoZSBzeXN0ZW0sXG4gICAqIHdoaWNoIGlzIHRoZSBvbGRlc3QgZGF0YSByZWNvcmQgaW4gdGhlIHNoYXJkLlxuICAgKi9cbiAgVFJJTV9IT1JJWk9OID0gXCJUUklNX0hPUklaT05cIixcblxuICAvKipcbiAgICogU3RhcnQgcmVhZGluZyBqdXN0IGFmdGVyIHRoZSBtb3N0IHJlY2VudCByZWNvcmQgaW4gdGhlIHNoYXJkLCBzbyB0aGF0IHlvdVxuICAgKiBhbHdheXMgcmVhZCB0aGUgbW9zdCByZWNlbnQgZGF0YSBpbiB0aGUgc2hhcmRcbiAgICovXG4gIExBVEVTVCA9IFwiTEFURVNUXCIsXG5cbiAgLyoqXG4gICAqIFN0YXJ0IHJlYWRpbmcgZnJvbSBhIHBvc2l0aW9uIGRlZmluZWQgYnkgYSB0aW1lIHN0YW1wLlxuICAgKiBPbmx5IHN1cHBvcnRlZCBmb3IgQW1hem9uIEtpbmVzaXMgc3RyZWFtcywgb3RoZXJ3aXNlIGFuIGVycm9yIHdpbGwgb2NjdXIuXG4gICAqIElmIHN1cHBsaWVkLCBgc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcGAgbXVzdCBhbHNvIGJlIHNldC5cbiAgICovXG4gIEFUX1RJTUVTVEFNUCA9IFwiQVRfVElNRVNUQU1QXCIsXG59XG4iXX0=
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc291cmNlLW1hcHBpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvZXZlbnQtc291cmNlLW1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBK0Q7QUFDL0QsK0JBQStCO0FBRS9CLGdDQUFtQztBQUNuQyxvREFJMEI7QUFDMUIsNENBQXdDO0FBSXhDLHVDQUEyQztBQUUzQyw4QkFBOEI7QUE0TzlCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQWEsa0JBQ1gsU0FBUSxnQ0FBZ0I7SUFHeEI7O09BRUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQ3BDLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixvQkFBNEI7UUFFNUIsTUFBTSxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3hELEtBQUssRUFDTCxvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLE1BQU0sTUFBTyxTQUFRLGdDQUFnQjtZQUFyQzs7Z0JBQ2tCLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO2dCQUM1QywwQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztnQkFDOUMsOEJBQXlCLEdBQUc7b0JBQzFDLElBQUksRUFBRSxvQkFBb0I7aUJBQzNCLENBQUM7WUFJSixDQUFDO1lBSEMsSUFBVyxPQUFPO2dCQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUN4QyxDQUFDO1NBQ0Y7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sTUFBTSxDQUFDLFNBQVMsQ0FDdEIsS0FBZ0IsRUFDaEIsb0JBQTRCO1FBRTVCLE9BQU8sb0JBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlDLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsWUFBWSxFQUFFLG9CQUFvQjtZ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QkQ7OztHQUdHO0FBQ0gsSUFBWSxnQkFtQlg7QUFuQkQsV0FBWSxnQkFBZ0I7SUFDMUI7OztPQUdHO0lBQ0gsaURBQTZCLENBQUE7SUFFN0I7OztPQUdHO0lBQ0gscUNBQWlCLENBQUE7SUFFakI7Ozs7T0FJRztJQUNILGlEQUE2QixDQUFBO0FBQy9CLENBQUMsRUFuQlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFtQjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybkZvcm1hdCB9IGZyb20gXCIuLi9hcm5cIjtcbmltcG9ydCB7XG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgeyBJRXZlbnRTb3VyY2VEbHEgfSBmcm9tIFwiLi9mdW5jdGlvblwiO1xuaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb24tYmFzZVwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vZHVyYXRpb25cIjtcbmltcG9ydCB7IHdpdGhSZXNvbHZlZCB9IGZyb20gXCIuLi8uLi90b2tlblwiO1xuaW1wb3J0IHsgSUtleSB9IGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U291cmNlTWFwcGluZ09wdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGV2ZW50IHNvdXJjZS4gQW55IHJlY29yZCBhZGRlZCB0b1xuICAgKiB0aGlzIHN0cmVhbSBjYW4gaW52b2tlIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldCBpZiB1c2luZyBhIHNlbGYgbWFuYWdlZCBLYWZrYSBjbHVzdGVyLCB0aHJvd3MgYW4gZXJyb3Igb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhcmdlc3QgbnVtYmVyIG9mIHJlY29yZHMgdGhhdCBBV1MgTGFtYmRhIHdpbGwgcmV0cmlldmUgZnJvbSB5b3VyIGV2ZW50XG4gICAqIHNvdXJjZSBhdCB0aGUgdGltZSBvZiBpbnZva2luZyB5b3VyIGZ1bmN0aW9uLiBZb3VyIGZ1bmN0aW9uIHJlY2VpdmVzIGFuXG4gICAqIGV2ZW50IHdpdGggYWxsIHRoZSByZXRyaWV2ZWQgcmVjb3Jkcy5cbiAgICpcbiAgICogVmFsaWQgUmFuZ2U6IE1pbmltdW0gdmFsdWUgb2YgMS4gTWF4aW11bSB2YWx1ZSBvZiAxMDAwMC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbWF6b24gS2luZXNpcywgQW1hem9uIER5bmFtb0RCLCBhbmQgQW1hem9uIE1TSyBpcyAxMDAgcmVjb3Jkcy5cbiAgICogVGhlIGRlZmF1bHQgZm9yIEFtYXpvbiBTUVMgaXMgMTAgbWVzc2FnZXMuIEZvciBzdGFuZGFyZCBTUVMgcXVldWVzLCB0aGUgbWF4aW11bSBpcyAxMCwwMDAuIEZvciBGSUZPIFNRUyBxdWV1ZXMsIHRoZSBtYXhpbXVtIGlzIDEwLlxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvciwgc3BsaXQgdGhlIGJhdGNoIGluIHR3byBhbmQgcmV0cnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBiaXNlY3RCYXRjaE9uRXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBBbWF6b24gU1FTIHF1ZXVlIG9yIEFtYXpvbiBTTlMgdG9waWMgZGVzdGluYXRpb24gZm9yIGRpc2NhcmRlZCByZWNvcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkaXNjYXJkZWQgcmVjb3JkcyBhcmUgaWdub3JlZFxuICAgKi9cbiAgcmVhZG9ubHkgb25GYWlsdXJlPzogSUV2ZW50U291cmNlRGxxO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSB0aGUgZXZlbnQgc291cmNlIHVwb24gY3JlYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gaW4gdGhlIER5bmFtb0RCLCBLaW5lc2lzIG9yIE1TSyBzdHJlYW0gd2hlcmUgQVdTIExhbWJkYSBzaG91bGRcbiAgICogc3RhcnQgcmVhZGluZy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va2luZXNpcy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRTaGFyZEl0ZXJhdG9yLmh0bWwjS2luZXNpcy1HZXRTaGFyZEl0ZXJhdG9yLXJlcXVlc3QtU2hhcmRJdGVyYXRvclR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdGFydGluZyBwb3NpdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRpbmdQb3NpdGlvbj86IFN0YXJ0aW5nUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGZyb20gd2hpY2ggdG8gc3RhcnQgcmVhZGluZywgaW4gVW5peCB0aW1lIHNlY29uZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdGltZXN0YW1wXG4gICAqL1xuICByZWFkb25seSBzdGFydGluZ1Bvc2l0aW9uVGltZXN0YW1wPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBmdW5jdGlvbnMgdG8gcmV0dXJuIHBhcnRpYWxseSBzdWNjZXNzZnVsIHJlc3BvbnNlcyBmb3IgYSBiYXRjaCBvZiByZWNvcmRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtZGRiLmh0bWwjc2VydmljZXMtZGRiLWJhdGNoZmFpbHVyZXJlcG9ydGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSB0byBnYXRoZXIgcmVjb3JkcyBiZWZvcmUgaW52b2tpbmcgdGhlIGZ1bmN0aW9uLlxuICAgKiBNYXhpbXVtIG9mIER1cmF0aW9uLm1pbnV0ZXMoNSlcbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QmF0Y2hpbmdXaW5kb3c/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gY29uY3VycmVuY3kgc2V0dGluZyBsaW1pdHMgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGluc3RhbmNlcyBvZiB0aGUgZnVuY3Rpb24gdGhhdCBhbiBBbWF6b24gU1FTIGV2ZW50IHNvdXJjZSBjYW4gaW52b2tlLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtc3FzLmh0bWwjZXZlbnRzLXNxcy1tYXgtY29uY3VycmVuY3lcbiAgICpcbiAgICogVmFsaWQgUmFuZ2U6IE1pbmltdW0gdmFsdWUgb2YgMi4gTWF4aW11bSB2YWx1ZSBvZiAxMDAwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNwZWNpZmljIGxpbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFnZSBvZiBhIHJlY29yZCB0aGF0IExhbWJkYSBzZW5kcyB0byBhIGZ1bmN0aW9uIGZvciBwcm9jZXNzaW5nLlxuICAgKiBWYWxpZCBSYW5nZTpcbiAgICogKiBNaW5pbXVtIHZhbHVlIG9mIDYwIHNlY29uZHNcbiAgICogKiBNYXhpbXVtIHZhbHVlIG9mIDcgZGF5c1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGluZmluaXRlIG9yIHVudGlsIHRoZSByZWNvcmQgZXhwaXJlcy5cbiAgICovXG4gIHJlYWRvbmx5IG1heFJlY29yZEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmV0cnkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhbiBlcnJvci5cbiAgICogU2V0IHRvIGB1bmRlZmluZWRgIGlmIHlvdSB3YW50IGxhbWJkYSB0byBrZWVwIHJldHJ5aW5nIGluZmluaXRlbHkgb3IgdW50aWxcbiAgICogdGhlIHJlY29yZCBleHBpcmVzLlxuICAgKlxuICAgKiBWYWxpZCBSYW5nZTpcbiAgICogKiBNaW5pbXVtIHZhbHVlIG9mIDBcbiAgICogKiBNYXhpbXVtIHZhbHVlIG9mIDEwMDAwXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaW5maW5pdGUgb3IgdW50aWwgdGhlIHJlY29yZCBleHBpcmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV0cnlBdHRlbXB0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBiYXRjaGVzIHRvIHByb2Nlc3MgZnJvbSBlYWNoIHNoYXJkIGNvbmN1cnJlbnRseS5cbiAgICogVmFsaWQgUmFuZ2U6XG4gICAqICogTWluaW11bSB2YWx1ZSBvZiAxXG4gICAqICogTWF4aW11bSB2YWx1ZSBvZiAxMFxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBwYXJhbGxlbGl6YXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB0b3BpY1xuICAgKi9cbiAgcmVhZG9ubHkga2Fma2FUb3BpYz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHR1bWJsaW5nIHdpbmRvd3MgdG8gZ3JvdXAgcmVjb3JkcyBzZW50IHRvIER5bmFtb0RCIG9yIEtpbmVzaXNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLWRkYi5odG1sI3NlcnZpY2VzLWRkYi13aW5kb3dzXG4gICAqXG4gICAqIFZhbGlkIFJhbmdlOiAwIC0gMTUgbWludXRlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHR1bWJsaW5nV2luZG93PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBob3N0IGFuZCBwb3J0IHBhaXJzIHRoYXQgYXJlIHRoZSBhZGRyZXNzZXMgb2YgdGhlIEthZmthIGJyb2tlcnMgaW4gYSBzZWxmIG1hbmFnZWQgXCJib290c3RyYXBcIiBLYWZrYSBjbHVzdGVyXG4gICAqIHRoYXQgYSBLYWZrYSBjbGllbnQgY29ubmVjdHMgdG8gaW5pdGlhbGx5IHRvIGJvb3RzdHJhcCBpdHNlbGYuXG4gICAqIFRoZXkgYXJlIGluIHRoZSBmb3JtYXQgYGFiYy5leGFtcGxlLmNvbTo5MDk2YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBrYWZrYUJvb3RzdHJhcFNlcnZlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBLYWZrYSBjb25zdW1lciBncm91cCB0byBqb2luLiBUaGUgY29uc3VtZXIgZ3JvdXAgSUQgbXVzdCBiZSB1bmlxdWUgYW1vbmcgYWxsIHlvdXIgS2Fma2EgZXZlbnQgc291cmNlcy4gQWZ0ZXIgY3JlYXRpbmcgYSBLYWZrYSBldmVudCBzb3VyY2UgbWFwcGluZyB3aXRoIHRoZSBjb25zdW1lciBncm91cCBJRCBzcGVjaWZpZWQsIHlvdSBjYW5ub3QgdXBkYXRlIHRoaXMgdmFsdWUuIFRoZSB2YWx1ZSBtdXN0IGhhdmUgYSBsZW5naHQgYmV0d2VlbiAxIGFuZCAyMDAgYW5kIGZ1bGwgdGhlIHBhdHRlcm4gJ1thLXpBLVowLTktXFwvKjpfKz0uQC1dKicuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0N1c3RvbWl6YWJsZSBjb25zdW1lciBncm91cCBJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNzZXJ2aWNlcy1tc2stY29uc3VtZXItZ3JvdXAtaWQpLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmctYW1hem9ubWFuYWdlZGthZmthZXZlbnRzb3VyY2Vjb25maWcuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWxhbWJkYS1ldmVudHNvdXJjZW1hcHBpbmctc2VsZm1hbmFnZWRrYWZrYWV2ZW50c291cmNlY29uZmlnLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBrYWZrYUNvbnN1bWVyR3JvdXBJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWMgc2V0dGluZ3MgbGlrZSB0aGUgYXV0aGVudGljYXRpb24gcHJvdG9jb2wgb3IgdGhlIFZQQyBjb21wb25lbnRzIHRvIHNlY3VyZSBhY2Nlc3MgdG8geW91ciBldmVudCBzb3VyY2UuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbGFtYmRhLWV2ZW50c291cmNlbWFwcGluZy1zb3VyY2VhY2Nlc3Njb25maWd1cmF0aW9uLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9ucz86IFNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogQWRkIGZpbHRlciBjcml0ZXJpYSB0byBFdmVudCBTb3VyY2UuXG4gICAqXG4gICAqIEEgc2V0IG9mIHVwIHRvIDUgZmlsdGVyLiBJZiBhbiBldmVudCBzYXRpc2ZpZXMgYXQgbGVhc3Qgb25lLCBMYW1iZGEgc2VuZHMgdGhlIGV2ZW50IHRvIHRoZSBmdW5jdGlvbiBvciBhZGRzIGl0IHRvIHRoZSBuZXh0IGJhdGNoLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2ludm9jYXRpb24tZXZlbnRmaWx0ZXJpbmcuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcnM/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PjtcblxuICAvKipcbiAgICogQWRkIEN1c3RvbWVyIG1hbmFnZWQgS01TIGtleSB0byBlbmNyeXB0IEZpbHRlciBDcml0ZXJpYS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWV2ZW50ZmlsdGVyaW5nLmh0bWxcbiAgICogQnkgZGVmYXVsdCwgTGFtYmRhIHdpbGwgZW5jcnlwdCBGaWx0ZXIgQ3JpdGVyaWEgdXNpbmcgQVdTIG1hbmFnZWQga2V5c1xuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2NvbmNlcHRzLmh0bWwjYXdzLW1hbmFnZWQtY21rXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyRW5jcnlwdGlvbj86IElLZXk7XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHN1cHBvcnQgUzMgb25mYWlsdXJlIGRlc3RpbmF0aW9uKE9ERikuIEN1cnJlbnRseSBvbmx5IE1TSyBhbmQgc2VsZiBtYW5hZ2VkIGthZmthIGV2ZW50IHN1cHBvcnQgUzMgT0RGXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwb3J0UzNPbkZhaWx1cmVEZXN0aW5hdGlvbj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVjbGFyaW5nIGEgbmV3IGV2ZW50IHNvdXJjZSBtYXBwaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U291cmNlTWFwcGluZ1Byb3BzIGV4dGVuZHMgRXZlbnRTb3VyY2VNYXBwaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IEFXUyBMYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHRvIGV4cG9zZSB2aWEgdGhlIGdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRTb3VyY2VNYXBwaW5nT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEV2ZW50U291cmNlTWFwcGluZy5cbiAgICovXG4gIHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGV2ZW50IHNvdXJjZSBtYXBwaW5nIGZvciBhIGxhbWJkYSBmdW5jdGlvbi5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudHNvdXJjZW1hcHBpbmcuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFdmVudFNvdXJjZU1hcHBpbmcgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIHN0cm9uZ2x5IHR5cGVkIG91dHB1dHNcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ091dHB1dHM6IEV2ZW50U291cmNlTWFwcGluZ091dHB1dHM7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIGZvciB0aGlzIEV2ZW50U291cmNlTWFwcGluZ1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBldmVudCBzb3VyY2UgbWFwcGluZyAoaS5lLiBhcm46YXdzOmxhbWJkYTpyZWdpb246YWNjb3VudC1pZDpldmVudC1zb3VyY2UtbWFwcGluZy9ldmVudC1zb3VyY2UtbWFwcGluZy1pZClcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ0Fybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSBMYW1iZGEgRXZlbnRTb3VyY2VNYXBwaW5nIHJlc291cmNlLlxuICpcbiAqIFVzdWFsbHksIHlvdSB3b24ndCBuZWVkIHRvIGRlZmluZSB0aGUgbWFwcGluZyB5b3Vyc2VsZi4gVGhpcyB3aWxsIHVzdWFsbHkgYmUgZG9uZSBieVxuICogZXZlbnQgc291cmNlcy4gRm9yIGV4YW1wbGUsIHRvIGFkZCBhbiBTUVMgZXZlbnQgc291cmNlIHRvIGEgZnVuY3Rpb246XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG5vdGlmeSwgY29tcHV0ZSB9IGZyb20gJ3RlcnJhY29uc3RydWN0cyc7XG4gKlxuICogZGVjbGFyZSBjb25zdCBoYW5kbGVyOiBjb21wdXRlLkZ1bmN0aW9uO1xuICogZGVjbGFyZSBjb25zdCBxdWV1ZTogbm90aWZ5LlF1ZXVlO1xuICpcbiAqIGhhbmRsZXIuYWRkRXZlbnRTb3VyY2UobmV3IGNvbXB1dGUuZXZlbnRzb3VyY2VzLlNxc0V2ZW50U291cmNlKHF1ZXVlKSk7XG4gKiBgYGBcbiAqXG4gKiBUaGUgYFNxc0V2ZW50U291cmNlYCBjbGFzcyB3aWxsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIHRoZSBtYXBwaW5nLCBhbmQgd2lsbCBhbHNvXG4gKiBtb2RpZnkgdGhlIExhbWJkYSdzIGV4ZWN1dGlvbiByb2xlIHNvIGl0IGNhbiBjb25zdW1lIG1lc3NhZ2VzIGZyb20gdGhlIHF1ZXVlLlxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRTb3VyY2VNYXBwaW5nXG4gIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZVxuICBpbXBsZW1lbnRzIElFdmVudFNvdXJjZU1hcHBpbmdcbntcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBldmVudCBzb3VyY2UgaW50byB0aGlzIHN0YWNrIGZyb20gaXRzIGV2ZW50IHNvdXJjZSBpZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUV2ZW50U291cmNlTWFwcGluZ0lkKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBldmVudFNvdXJjZU1hcHBpbmdJZDogc3RyaW5nLFxuICApOiBJRXZlbnRTb3VyY2VNYXBwaW5nIHtcbiAgICBjb25zdCBldmVudFNvdXJjZU1hcHBpbmdBcm4gPSBFdmVudFNvdXJjZU1hcHBpbmcuZm9ybWF0QXJuKFxuICAgICAgc2NvcGUsXG4gICAgICBldmVudFNvdXJjZU1hcHBpbmdJZCxcbiAgICApO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElFdmVudFNvdXJjZU1hcHBpbmcge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ0lkID0gZXZlbnRTb3VyY2VNYXBwaW5nSWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRTb3VyY2VNYXBwaW5nQXJuID0gZXZlbnRTb3VyY2VNYXBwaW5nQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTWFwcGluZ091dHB1dHMgPSB7XG4gICAgICAgIHV1aWQ6IGV2ZW50U291cmNlTWFwcGluZ0lkLFxuICAgICAgfTtcbiAgICAgIHB1YmxpYyBnZXQgb3V0cHV0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnRTb3VyY2VNYXBwaW5nT3V0cHV0cztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZvcm1hdEFybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGV2ZW50U291cmNlTWFwcGluZ0lkOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogXCJsYW1iZGFcIixcbiAgICAgIHJlc291cmNlOiBcImV2ZW50LXNvdXJjZS1tYXBwaW5nXCIsXG4gICAgICByZXNvdXJjZU5hbWU6IGV2ZW50U291cmNlTWFwcGluZ0lkLFxuICAgICAgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRTb3VyY2VNYXBwaW5nQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBldmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzOiBFdmVudFNvdXJjZU1hcHBpbmdPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTb3VyY2VNYXBwaW5nT3V0cHV0cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmVudFNvdXJjZU1hcHBpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5ldmVudFNvdXJjZUFybiA9PSB1bmRlZmluZWQgJiZcbiAgICAgIHByb3BzLmthZmthQm9vdHN0cmFwU2VydmVycyA9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJFaXRoZXIgZXZlbnRTb3VyY2VBcm4gb3Iga2Fma2FCb290c3RyYXBTZXJ2ZXJzIG11c3QgYmUgc2V0XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLmV2ZW50U291cmNlQXJuICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHByb3BzLmthZmthQm9vdHN0cmFwU2VydmVycyAhPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiZXZlbnRTb3VyY2VBcm4gYW5kIGthZmthQm9vdHN0cmFwU2VydmVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLmthZmthQm9vdHN0cmFwU2VydmVycyAmJlxuICAgICAgcHJvcHMua2Fma2FCb290c3RyYXBTZXJ2ZXJzPy5sZW5ndGggPCAxXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJrYWZrYUJvb3RTdHJhcFNlcnZlcnMgbXVzdCBub3QgYmUgZW1wdHkgaWYgc2V0XCIpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXhCYXRjaGluZ1dpbmRvdyAmJiBwcm9wcy5tYXhCYXRjaGluZ1dpbmRvdy50b1NlY29uZHMoKSA+IDMwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgbWF4QmF0Y2hpbmdXaW5kb3cgY2Fubm90IGJlIG92ZXIgMzAwIHNlY29uZHMsIGdvdCAke3Byb3BzLm1heEJhdGNoaW5nV2luZG93LnRvU2Vjb25kcygpfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLm1heENvbmN1cnJlbmN5ICYmXG4gICAgICAhY2RrdGYuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLm1heENvbmN1cnJlbmN5KSAmJlxuICAgICAgKHByb3BzLm1heENvbmN1cnJlbmN5IDwgMiB8fCBwcm9wcy5tYXhDb25jdXJyZW5jeSA+IDEwMDApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwibWF4Q29uY3VycmVuY3kgbXVzdCBiZSBiZXR3ZWVuIDIgYW5kIDEwMDAgY29uY3VycmVudCBpbnN0YW5jZXNcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMubWF4UmVjb3JkQWdlICYmXG4gICAgICAocHJvcHMubWF4UmVjb3JkQWdlLnRvU2Vjb25kcygpIDwgNjAgfHxcbiAgICAgICAgcHJvcHMubWF4UmVjb3JkQWdlLnRvRGF5cyh7IGludGVncmFsOiBmYWxzZSB9KSA+IDcpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwibWF4UmVjb3JkQWdlIG11c3QgYmUgYmV0d2VlbiA2MCBzZWNvbmRzIGFuZCA3IGRheXMgaW5jbHVzaXZlXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHByb3BzLnJldHJ5QXR0ZW1wdHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgd2l0aFJlc29sdmVkKHByb3BzLnJldHJ5QXR0ZW1wdHMsIChhdHRlbXB0cykgPT4ge1xuICAgICAgICBpZiAoYXR0ZW1wdHMgPCAwIHx8IGF0dGVtcHRzID4gMTAwMDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgcmV0cnlBdHRlbXB0cyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMTAwMDAgaW5jbHVzaXZlLCBnb3QgJHthdHRlbXB0c31gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcHJvcHMucGFyYWxsZWxpemF0aW9uRmFjdG9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHdpdGhSZXNvbHZlZChwcm9wcy5wYXJhbGxlbGl6YXRpb25GYWN0b3IsIChmYWN0b3IpID0+IHtcbiAgICAgICAgaWYgKGZhY3RvciA8IDEgfHwgZmFjdG9yID4gMTApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgcGFyYWxsZWxpemF0aW9uRmFjdG9yIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAxMCBpbmNsdXNpdmUsIGdvdCAke2ZhY3Rvcn1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaWYgKFxuICAgICAgcHJvcHMudHVtYmxpbmdXaW5kb3cgJiZcbiAgICAgICFjZGt0Zi5Ub2tlbi5pc1VucmVzb2x2ZWQocHJvcHMudHVtYmxpbmdXaW5kb3cpICYmXG4gICAgICBwcm9wcy50dW1ibGluZ1dpbmRvdy50b1NlY29uZHMoKSA+IDkwMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgdHVtYmxpbmdXaW5kb3cgY2Fubm90IGJlIG92ZXIgOTAwIHNlY29uZHMsIGdvdCAke3Byb3BzLnR1bWJsaW5nV2luZG93LnRvU2Vjb25kcygpfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLnN0YXJ0aW5nUG9zaXRpb24gPT09IFN0YXJ0aW5nUG9zaXRpb24uQVRfVElNRVNUQU1QICYmXG4gICAgICAhcHJvcHMuc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcInN0YXJ0aW5nUG9zaXRpb25UaW1lc3RhbXAgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHN0YXJ0aW5nUG9zaXRpb24gaXMgQVRfVElNRVNUQU1QXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLnN0YXJ0aW5nUG9zaXRpb24gIT09IFN0YXJ0aW5nUG9zaXRpb24uQVRfVElNRVNUQU1QICYmXG4gICAgICBwcm9wcy5zdGFydGluZ1Bvc2l0aW9uVGltZXN0YW1wXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwic3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcCBjYW4gb25seSBiZSB1c2VkIHdoZW4gc3RhcnRpbmdQb3NpdGlvbiBpcyBBVF9USU1FU1RBTVBcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmthZmthQ29uc3VtZXJHcm91cElkKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlS2Fma2FDb25zdW1lckdyb3VwSWRPclRocm93KHByb3BzLmthZmthQ29uc3VtZXJHcm91cElkKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZmlsdGVyRW5jcnlwdGlvbiAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmZpbHRlcnMgPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiZmlsdGVyIGNyaXRlcmlhIG11c3QgYmUgcHJvdmlkZWQgdG8gZW5hYmxlIHNldHRpbmcgZmlsdGVyIGNyaXRlcmlhIGVuY3J5cHRpb25cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR3JhbnRzIHRoZSBMYW1iZGEgZnVuY3Rpb24gcGVybWlzc2lvbiB0byBkZWNyeXB0IGRhdGEgdXNpbmcgdGhlIHNwZWNpZmllZCBLTVMga2V5LlxuICAgICAqIFRoaXMgc3RlcCBpcyBuZWNlc3NhcnkgZm9yIHNldHRpbmcgdXAgZW5jcnlwdGVkIGZpbHRlciBjcml0ZXJpYS5cbiAgICAgKlxuICAgICAqIElmIHRoZSBLTVMga2V5IHdhcyBjcmVhdGVkIHdpdGhpbiB0aGlzIENsb3VkRm9ybWF0aW9uIHN0YWNrICh2aWEgYG5ldyBLZXlgKSwgYSBLZXkgcG9saWN5XG4gICAgICogd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUga2V5IHRvIGFsbG93IHRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gYWNjZXNzIGl0LiBIb3dldmVyLCBpZiB0aGVcbiAgICAgKiBLZXkgaXMgaW1wb3J0ZWQgZnJvbSBhbiBleGlzdGluZyBBUk4gKGBLZXkuZnJvbUtleUFybmApLCBubyBhY3Rpb24gd2lsbCBiZSB0YWtlbi5cbiAgICAgKi9cbiAgICBpZiAocHJvcHMuZmlsdGVyRW5jcnlwdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBsYW1iZGFQcmluY2lwYWwgPSBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKTtcbiAgICAgIHByb3BzLmZpbHRlckVuY3J5cHRpb24uZ3JhbnREZWNyeXB0KGxhbWJkYVByaW5jaXBhbCk7XG4gICAgfVxuXG4gICAgbGV0IGRlc3RpbmF0aW9uQ29uZmlnOiBhbnk7XG5cbiAgICBpZiAocHJvcHMub25GYWlsdXJlKSB7XG4gICAgICBkZXN0aW5hdGlvbkNvbmZpZyA9IHtcbiAgICAgICAgb25GYWlsdXJlOiBwcm9wcy5vbkZhaWx1cmUuYmluZCh0aGlzLCBwcm9wcy50YXJnZXQpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZk1hbmFnZWRFdmVudFNvdXJjZTpcbiAgICAgIHwgbGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nLkxhbWJkYUV2ZW50U291cmNlTWFwcGluZ1NlbGZNYW5hZ2VkRXZlbnRTb3VyY2VcbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5rYWZrYUJvb3RzdHJhcFNlcnZlcnMpIHtcbiAgICAgIHNlbGZNYW5hZ2VkRXZlbnRTb3VyY2UgPSB7XG4gICAgICAgIGVuZHBvaW50czoge1xuICAgICAgICAgIEtBRktBX0JPT1RTVFJBUF9TRVJWRVJTOiBwcm9wcy5rYWZrYUJvb3RzdHJhcFNlcnZlcnMuam9pbihcIixcIiksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnN1bWVyR3JvdXBDb25maWcgPSBwcm9wcy5rYWZrYUNvbnN1bWVyR3JvdXBJZFxuICAgICAgPyB7IGNvbnN1bWVyR3JvdXBJZDogcHJvcHMua2Fma2FDb25zdW1lckdyb3VwSWQgfVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBsYW1iZGFFdmVudFNvdXJjZU1hcHBpbmcuTGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgYmF0Y2hTaXplOiBwcm9wcy5iYXRjaFNpemUsXG4gICAgICAgIGJpc2VjdEJhdGNoT25GdW5jdGlvbkVycm9yOiBwcm9wcy5iaXNlY3RCYXRjaE9uRXJyb3IsXG4gICAgICAgIGRlc3RpbmF0aW9uQ29uZmlnLFxuICAgICAgICBlbmFibGVkOiBwcm9wcy5lbmFibGVkLFxuICAgICAgICBldmVudFNvdXJjZUFybjogcHJvcHMuZXZlbnRTb3VyY2VBcm4sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMudGFyZ2V0LmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgc3RhcnRpbmdQb3NpdGlvbjogcHJvcHMuc3RhcnRpbmdQb3NpdGlvbixcbiAgICAgICAgc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcDogcHJvcHMuc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcFxuICAgICAgICAgID8gbmV3IERhdGUocHJvcHMuc3RhcnRpbmdQb3NpdGlvblRpbWVzdGFtcCAqIDEwMDApLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZnVuY3Rpb25SZXNwb25zZVR5cGVzOiBwcm9wcy5yZXBvcnRCYXRjaEl0ZW1GYWlsdXJlc1xuICAgICAgICAgID8gW1wiUmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNcIl1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4aW11bUJhdGNoaW5nV2luZG93SW5TZWNvbmRzOiBwcm9wcy5tYXhCYXRjaGluZ1dpbmRvdz8udG9TZWNvbmRzKCksXG4gICAgICAgIG1heGltdW1SZWNvcmRBZ2VJblNlY29uZHM6IHByb3BzLm1heFJlY29yZEFnZT8udG9TZWNvbmRzKCksXG4gICAgICAgIG1heGltdW1SZXRyeUF0dGVtcHRzOiBwcm9wcy5yZXRyeUF0dGVtcHRzLFxuICAgICAgICBwYXJhbGxlbGl6YXRpb25GYWN0b3I6IHByb3BzLnBhcmFsbGVsaXphdGlvbkZhY3RvcixcbiAgICAgICAgdG9waWNzOiBwcm9wcy5rYWZrYVRvcGljID8gW3Byb3BzLmthZmthVG9waWNdIDogdW5kZWZpbmVkLFxuICAgICAgICB0dW1ibGluZ1dpbmRvd0luU2Vjb25kczogcHJvcHMudHVtYmxpbmdXaW5kb3c/LnRvU2Vjb25kcygpLFxuICAgICAgICBzY2FsaW5nQ29uZmlnOiBwcm9wcy5tYXhDb25jdXJyZW5jeVxuICAgICAgICAgID8geyBtYXhpbXVtQ29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5IH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgc291cmNlQWNjZXNzQ29uZmlndXJhdGlvbjogcHJvcHMuc291cmNlQWNjZXNzQ29uZmlndXJhdGlvbnMsXG4gICAgICAgIHNlbGZNYW5hZ2VkRXZlbnRTb3VyY2UsXG4gICAgICAgIGZpbHRlckNyaXRlcmlhOiBwcm9wcy5maWx0ZXJzID8geyBmaWx0ZXI6IHByb3BzLmZpbHRlcnMgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAga21zS2V5QXJuOiBwcm9wcy5maWx0ZXJFbmNyeXB0aW9uPy5rZXlBcm4sXG4gICAgICAgIHNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZUNvbmZpZzogcHJvcHMua2Fma2FCb290c3RyYXBTZXJ2ZXJzXG4gICAgICAgICAgPyBjb25zdW1lckdyb3VwQ29uZmlnXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGFtYXpvbk1hbmFnZWRLYWZrYUV2ZW50U291cmNlQ29uZmlnOiBwcm9wcy5ldmVudFNvdXJjZUFyblxuICAgICAgICAgID8gY29uc3VtZXJHcm91cENvbmZpZ1xuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuZXZlbnRTb3VyY2VNYXBwaW5nSWQgPSByZXNvdXJjZS51dWlkO1xuICAgIHRoaXMuZXZlbnRTb3VyY2VNYXBwaW5nQXJuID0gRXZlbnRTb3VyY2VNYXBwaW5nLmZvcm1hdEFybihcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLmV2ZW50U291cmNlTWFwcGluZ0lkLFxuICAgICk7XG5cbiAgICB0aGlzLmV2ZW50U291cmNlTWFwcGluZ091dHB1dHMgPSB7XG4gICAgICB1dWlkOiB0aGlzLmV2ZW50U291cmNlTWFwcGluZ0lkLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlS2Fma2FDb25zdW1lckdyb3VwSWRPclRocm93KGthZmthQ29uc3VtZXJHcm91cElkOiBzdHJpbmcpIHtcbiAgICBpZiAoY2RrdGYuVG9rZW4uaXNVbnJlc29sdmVkKGthZmthQ29uc3VtZXJHcm91cElkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChrYWZrYUNvbnN1bWVyR3JvdXBJZC5sZW5ndGggPiAyMDAgfHwga2Fma2FDb25zdW1lckdyb3VwSWQubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImthZmthQ29uc3VtZXJHcm91cElkIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgYmV0d2VlbiAxIGFuZCAyMDAgY2hhcmFjdGVyc1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoL1thLXpBLVowLTktXFwvKjpfKz0uQC1dKi8pO1xuICAgIGNvbnN0IHBhdHRlcm5NYXRjaCA9IHJlZ2V4LmV4ZWMoa2Fma2FDb25zdW1lckdyb3VwSWQpO1xuICAgIGlmIChwYXR0ZXJuTWF0Y2ggPT09IG51bGwgfHwgcGF0dGVybk1hdGNoWzBdICE9PSBrYWZrYUNvbnN1bWVyR3JvdXBJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAna2Fma2FDb25zdW1lckdyb3VwSWQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzLiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJbYS16QS1aMC05LS8qOl8rPS5ALV1cIicsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sIG9yIHRoZSBWUEMgY29tcG9uZW50cyBmb3IgeW91ciBldmVudCBzb3VyY2UncyBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL0FQSV9Tb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uLmh0bWwjU1NTLVR5cGUtU291cmNlQWNjZXNzQ29uZmlndXJhdGlvbi1UeXBlXG4gKi9cbmV4cG9ydCBlbnVtIFNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25UeXBlIHtcbiAgLyoqXG4gICAqIChNUSkgVGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgdGhhdCBzdG9yZXMgeW91ciBicm9rZXIgY3JlZGVudGlhbHMuXG4gICAqL1xuICBCQVNJQ19BVVRIID0gXCJCQVNJQ19BVVRIXCIsXG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRzIGFzc29jaWF0ZWQgd2l0aCB5b3VyIFZQQy4gTGFtYmRhIGNvbm5lY3RzIHRvIHRoZXNlIHN1Ym5ldHMgdG8gZmV0Y2ggZGF0YSBmcm9tIHlvdXIgU2VsZi1NYW5hZ2VkIEFwYWNoZSBLYWZrYSBjbHVzdGVyLlxuICAgKi9cbiAgVlBDX1NVQk5FVCA9IFwiVlBDX1NVQk5FVFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgVlBDIHNlY3VyaXR5IGdyb3VwIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byB5b3VyIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAgICovXG4gIFZQQ19TRUNVUklUWV9HUk9VUCA9IFwiVlBDX1NFQ1VSSVRZX0dST1VQXCIsXG5cbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSB1c2VkIGZvciBTQVNMIFNDUkFNLTI1NiBhdXRoZW50aWNhdGlvbiBvZiB5b3VyIFNlbGYtTWFuYWdlZCBBcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAgICovXG4gIFNBU0xfU0NSQU1fMjU2X0FVVEggPSBcIlNBU0xfU0NSQU1fMjU2X0FVVEhcIixcblxuICAvKipcbiAgICogVGhlIFNlY3JldHMgTWFuYWdlciBBUk4gb2YgeW91ciBzZWNyZXQga2V5IHVzZWQgZm9yIFNBU0wgU0NSQU0tNTEyIGF1dGhlbnRpY2F0aW9uIG9mIHlvdXIgU2VsZi1NYW5hZ2VkIEFwYWNoZSBLYWZrYSBicm9rZXJzLlxuICAgKi9cbiAgU0FTTF9TQ1JBTV81MTJfQVVUSCA9IFwiU0FTTF9TQ1JBTV81MTJfQVVUSFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgU2VjcmV0cyBNYW5hZ2VyIEFSTiBvZiB5b3VyIHNlY3JldCBrZXkgY29udGFpbmluZyB0aGUgY2VydGlmaWNhdGUgY2hhaW4gKFguNTA5IFBFTSksIHByaXZhdGUga2V5IChQS0NTIzggUEVNKSxcbiAgICogYW5kIHByaXZhdGUga2V5IHBhc3N3b3JkIChvcHRpb25hbCkgdXNlZCBmb3IgbXV0dWFsIFRMUyBhdXRoZW50aWNhdGlvbiBvZiB5b3VyIE1TSy9BcGFjaGUgS2Fma2EgYnJva2Vycy5cbiAgICovXG4gIENMSUVOVF9DRVJUSUZJQ0FURV9UTFNfQVVUSCA9IFwiQ0xJRU5UX0NFUlRJRklDQVRFX1RMU19BVVRIXCIsXG5cbiAgLyoqXG4gICAqIFRoZSBTZWNyZXRzIE1hbmFnZXIgQVJOIG9mIHlvdXIgc2VjcmV0IGtleSBjb250YWluaW5nIHRoZSByb290IENBIGNlcnRpZmljYXRlIChYLjUwOSBQRU0pIHVzZWQgZm9yIFRMUyBlbmNyeXB0aW9uIG9mIHlvdXIgQXBhY2hlIEthZmthIGJyb2tlcnMuXG4gICAqL1xuICBTRVJWRVJfUk9PVF9DQV9DRVJUSUZJQ0FURSA9IFwiU0VSVkVSX1JPT1RfQ0FfQ0VSVElGSUNBVEVcIixcbn1cblxuLyoqXG4gKiBTcGVjaWZpYyBzZXR0aW5ncyBsaWtlIHRoZSBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCBvciB0aGUgVlBDIGNvbXBvbmVudHMgdG8gc2VjdXJlIGFjY2VzcyB0byB5b3VyIGV2ZW50IHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VBY2Nlc3NDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sIG9yIHRoZSBWUEMgY29tcG9uZW50cyBmb3IgeW91ciBldmVudCBzb3VyY2UuIEZvciBleGFtcGxlOiBcIlNBU0xfU0NSQU1fNTEyX0FVVEhcIi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25UeXBlO1xuICAvKipcbiAgICogVGhlIHZhbHVlIGZvciB5b3VyIGNob3NlbiBjb25maWd1cmF0aW9uIGluIHR5cGUuXG4gICAqIEZvciBleGFtcGxlOiBcIlVSSVwiOiBcImFybjphd3M6c2VjcmV0c21hbmFnZXI6dXMtZWFzdC0xOjAxMjM0NTY3ODkwOnNlY3JldDpNeUJyb2tlclNlY3JldE5hbWVcIi5cbiAgICogVGhlIGV4YWN0IHN0cmluZyBkZXBlbmRzIG9uIHRoZSB0eXBlLlxuICAgKiBAc2VlIFNvdXJjZUFjY2Vzc0NvbmZpZ3VyYXRpb25UeXBlXG4gICAqL1xuICByZWFkb25seSB1cmk6IHN0cmluZztcbn1cbi8qKlxuICogVGhlIHBvc2l0aW9uIGluIHRoZSBEeW5hbW9EQiwgS2luZXNpcyBvciBNU0sgc3RyZWFtIHdoZXJlIEFXUyBMYW1iZGEgc2hvdWxkIHN0YXJ0XG4gKiByZWFkaW5nLlxuICovXG5leHBvcnQgZW51bSBTdGFydGluZ1Bvc2l0aW9uIHtcbiAgLyoqXG4gICAqIFN0YXJ0IHJlYWRpbmcgYXQgdGhlIGxhc3QgdW50cmltbWVkIHJlY29yZCBpbiB0aGUgc2hhcmQgaW4gdGhlIHN5c3RlbSxcbiAgICogd2hpY2ggaXMgdGhlIG9sZGVzdCBkYXRhIHJlY29yZCBpbiB0aGUgc2hhcmQuXG4gICAqL1xuICBUUklNX0hPUklaT04gPSBcIlRSSU1fSE9SSVpPTlwiLFxuXG4gIC8qKlxuICAgKiBTdGFydCByZWFkaW5nIGp1c3QgYWZ0ZXIgdGhlIG1vc3QgcmVjZW50IHJlY29yZCBpbiB0aGUgc2hhcmQsIHNvIHRoYXQgeW91XG4gICAqIGFsd2F5cyByZWFkIHRoZSBtb3N0IHJlY2VudCBkYXRhIGluIHRoZSBzaGFyZFxuICAgKi9cbiAgTEFURVNUID0gXCJMQVRFU1RcIixcblxuICAvKipcbiAgICogU3RhcnQgcmVhZGluZyBmcm9tIGEgcG9zaXRpb24gZGVmaW5lZCBieSBhIHRpbWUgc3RhbXAuXG4gICAqIE9ubHkgc3VwcG9ydGVkIGZvciBBbWF6b24gS2luZXNpcyBzdHJlYW1zLCBvdGhlcndpc2UgYW4gZXJyb3Igd2lsbCBvY2N1ci5cbiAgICogSWYgc3VwcGxpZWQsIGBzdGFydGluZ1Bvc2l0aW9uVGltZXN0YW1wYCBtdXN0IGFsc28gYmUgc2V0LlxuICAgKi9cbiAgQVRfVElNRVNUQU1QID0gXCJBVF9USU1FU1RBTVBcIixcbn1cbiJdfQ==
|
|
@@ -22,5 +22,5 @@ class S3OnFailureDestination {
|
|
|
22
22
|
}
|
|
23
23
|
exports.S3OnFailureDestination = S3OnFailureDestination;
|
|
24
24
|
_a = JSII_RTTI_SYMBOL_1;
|
|
25
|
-
S3OnFailureDestination[_a] = { fqn: "terraconstructs.aws.compute.sources.S3OnFailureDestination", version: "0.
|
|
25
|
+
S3OnFailureDestination[_a] = { fqn: "terraconstructs.aws.compute.sources.S3OnFailureDestination", version: "0.2.0" };
|
|
26
26
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtb25mYWlsdXJlLWRlc3RpbmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2V2ZW50LXNvdXJjZXMvczMtb25mYWlsdXJlLWRlc3RpbmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUE7O0dBRUc7QUFDSCxNQUFhLHNCQUFzQjtJQUNqQyxZQUE2QixNQUF1QjtRQUF2QixXQUFNLEdBQU4sTUFBTSxDQUFpQjtJQUFHLENBQUM7SUFFeEQ7O09BRUc7SUFDSSxJQUFJLENBQ1QsT0FBNEIsRUFDNUIsYUFBd0I7UUFFeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUMsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDbkMsQ0FBQztJQUNKLENBQUM7O0FBZkgsd0RBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGxxRGVzdGluYXRpb25Db25maWcsXG4gIElFdmVudFNvdXJjZURscSxcbiAgSUV2ZW50U291cmNlTWFwcGluZyxcbiAgSUZ1bmN0aW9uLFxufSBmcm9tIFwiLi4vXCI7XG5pbXBvcnQgKiBhcyBzdG9yYWdlIGZyb20gXCIuLi8uLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogQW4gUzMgZGVhZCBsZXR0ZXIgYnVja2V0IGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgTGFtYmRhIGV2ZW50IHNvdXJjZVxuICovXG5leHBvcnQgY2xhc3MgUzNPbkZhaWx1cmVEZXN0aW5hdGlvbiBpbXBsZW1lbnRzIElFdmVudFNvdXJjZURscSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBzdG9yYWdlLklCdWNrZXQpIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBkZXN0aW5hdGlvbiBjb25maWd1cmF0aW9uIGZvciB0aGUgRExRXG4gICAqL1xuICBwdWJsaWMgYmluZChcbiAgICBfdGFyZ2V0OiBJRXZlbnRTb3VyY2VNYXBwaW5nLFxuICAgIHRhcmdldEhhbmRsZXI6IElGdW5jdGlvbixcbiAgKTogRGxxRGVzdGluYXRpb25Db25maWcge1xuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZFdyaXRlKHRhcmdldEhhbmRsZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlc3RpbmF0aW9uOiB0aGlzLmJ1Y2tldC5idWNrZXRBcm4sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -21,5 +21,5 @@ class S3EventSource {
|
|
|
21
21
|
}
|
|
22
22
|
exports.S3EventSource = S3EventSource;
|
|
23
23
|
_a = JSII_RTTI_SYMBOL_1;
|
|
24
|
-
S3EventSource[_a] = { fqn: "terraconstructs.aws.compute.sources.S3EventSource", version: "0.
|
|
24
|
+
S3EventSource[_a] = { fqn: "terraconstructs.aws.compute.sources.S3EventSource", version: "0.2.0" };
|
|
25
25
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvZXZlbnQtc291cmNlcy9zMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDZEQUE2RDtBQWlCN0Q7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFDeEIsWUFDbUIsTUFBdUIsRUFDdkIsS0FBeUI7UUFEekIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFDekMsQ0FBQztJQUVHLElBQUksQ0FBQyxNQUF5QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDekMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQzlCLEtBQUssRUFDTCxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFDdEMsR0FBRyxPQUFPLENBQ1gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOztBQWZILHNDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uXCI7XG5pbXBvcnQgKiBhcyBzdG9yYWdlIGZyb20gXCIuLi8uLi9zdG9yYWdlXCI7XG5pbXBvcnQgKiBhcyBub3RpZnMgZnJvbSBcIi4uLy4uL3N0b3JhZ2Uvbm90aWZpY2F0aW9uLXRhcmdldHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTM0V2ZW50U291cmNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIHMzIGV2ZW50IHR5cGVzIHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBldmVudHM6IHN0b3JhZ2UuRXZlbnRUeXBlW107XG5cbiAgLyoqXG4gICAqIFMzIG9iamVjdCBrZXkgZmlsdGVyIHJ1bGVzIHRvIGRldGVybWluZSB3aGljaCBvYmplY3RzIHRyaWdnZXIgdGhpcyBldmVudC5cbiAgICogRWFjaCBmaWx0ZXIgbXVzdCBpbmNsdWRlIGEgYHByZWZpeGAgYW5kL29yIGBzdWZmaXhgIHRoYXQgd2lsbCBiZSBtYXRjaGVkXG4gICAqIGFnYWluc3QgdGhlIHMzIG9iamVjdCBrZXkuIFJlZmVyIHRvIHRoZSBTMyBEZXZlbG9wZXIgR3VpZGUgZm9yIGRldGFpbHNcbiAgICogYWJvdXQgYWxsb3dlZCBmaWx0ZXIgcnVsZXMuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJzPzogc3RvcmFnZS5Ob3RpZmljYXRpb25LZXlGaWx0ZXJbXTtcbn1cblxuLyoqXG4gKiBVc2UgUzMgYnVja2V0IG5vdGlmaWNhdGlvbnMgYXMgYW4gZXZlbnQgc291cmNlIGZvciBBV1MgTGFtYmRhLlxuICovXG5leHBvcnQgY2xhc3MgUzNFdmVudFNvdXJjZSBpbXBsZW1lbnRzIGNvbXB1dGUuSUV2ZW50U291cmNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBidWNrZXQ6IHN0b3JhZ2UuSUJ1Y2tldCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTM0V2ZW50U291cmNlUHJvcHMsXG4gICkge31cblxuICBwdWJsaWMgYmluZCh0YXJnZXQ6IGNvbXB1dGUuSUZ1bmN0aW9uKSB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMucHJvcHMuZmlsdGVycyB8fCBbXTtcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIHRoaXMucHJvcHMuZXZlbnRzKSB7XG4gICAgICB0aGlzLmJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG5ldyBub3RpZnMuRnVuY3Rpb25EZXN0aW5hdGlvbih0YXJnZXQpLFxuICAgICAgICAuLi5maWx0ZXJzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,5 +22,5 @@ class SqsDlq {
|
|
|
22
22
|
}
|
|
23
23
|
exports.SqsDlq = SqsDlq;
|
|
24
24
|
_a = JSII_RTTI_SYMBOL_1;
|
|
25
|
-
SqsDlq[_a] = { fqn: "terraconstructs.aws.compute.sources.SqsDlq", version: "0.
|
|
25
|
+
SqsDlq[_a] = { fqn: "terraconstructs.aws.compute.sources.SqsDlq", version: "0.2.0" };
|
|
26
26
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWRscS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9ldmVudC1zb3VyY2VzL3Nxcy1kbHEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQTs7R0FFRztBQUNILE1BQWEsTUFBTTtJQUNqQixZQUE2QixLQUFvQjtRQUFwQixVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQUcsQ0FBQztJQUVyRDs7T0FFRztJQUNJLElBQUksQ0FDVCxPQUE0QixFQUM1QixhQUF3QjtRQUV4QixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVDLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQ2pDLENBQUM7SUFDSixDQUFDOztBQWZILHdCQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERscURlc3RpbmF0aW9uQ29uZmlnLFxuICBJRXZlbnRTb3VyY2VEbHEsXG4gIElFdmVudFNvdXJjZU1hcHBpbmcsXG4gIElGdW5jdGlvbixcbn0gZnJvbSBcIi4uL1wiO1xuaW1wb3J0ICogYXMgbm90aWZ5IGZyb20gXCIuLi8uLi9ub3RpZnlcIjtcblxuLyoqXG4gKiBBbiBTUVMgZGVhZCBsZXR0ZXIgcXVldWUgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbiBmb3IgYSBMYW1iZGEgZXZlbnQgc291cmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBTcXNEbHEgaW1wbGVtZW50cyBJRXZlbnRTb3VyY2VEbHEge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHF1ZXVlOiBub3RpZnkuSVF1ZXVlKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhlIERMUVxuICAgKi9cbiAgcHVibGljIGJpbmQoXG4gICAgX3RhcmdldDogSUV2ZW50U291cmNlTWFwcGluZyxcbiAgICB0YXJnZXRIYW5kbGVyOiBJRnVuY3Rpb24sXG4gICk6IERscURlc3RpbmF0aW9uQ29uZmlnIHtcbiAgICB0aGlzLnF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKHRhcmdldEhhbmRsZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlc3RpbmF0aW9uOiB0aGlzLnF1ZXVlLnF1ZXVlQXJuLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as compute from "..";
|
|
2
2
|
import { Duration } from "../../..";
|
|
3
|
+
import { IKey } from "../../encryption";
|
|
3
4
|
import * as notify from "../../notify";
|
|
4
5
|
export interface SqsEventSourceProps {
|
|
5
6
|
/**
|
|
@@ -43,6 +44,15 @@ export interface SqsEventSourceProps {
|
|
|
43
44
|
readonly filters?: Array<{
|
|
44
45
|
[key: string]: any;
|
|
45
46
|
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Add Customer managed KMS key to encrypt Filter Criteria.
|
|
49
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html
|
|
50
|
+
* By default, Lambda will encrypt Filter Criteria using AWS managed keys
|
|
51
|
+
* @see https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
52
|
+
*
|
|
53
|
+
* @default - none
|
|
54
|
+
*/
|
|
55
|
+
readonly filterEncryption?: IKey;
|
|
46
56
|
/**
|
|
47
57
|
* The maximum concurrency setting limits the number of concurrent instances of the function that an Amazon SQS event source can invoke.
|
|
48
58
|
*
|
|
@@ -45,7 +45,7 @@ class SqsEventSource {
|
|
|
45
45
|
enabled: this.props.enabled,
|
|
46
46
|
eventSourceArn: this.queue.queueArn,
|
|
47
47
|
filters: this.props.filters,
|
|
48
|
-
|
|
48
|
+
filterEncryption: this.props.filterEncryption,
|
|
49
49
|
});
|
|
50
50
|
this._eventSourceMappingId = eventSourceMapping.eventSourceMappingId;
|
|
51
51
|
this._eventSourceMappingArn = eventSourceMapping.eventSourceMappingArn;
|
|
@@ -81,5 +81,5 @@ class SqsEventSource {
|
|
|
81
81
|
}
|
|
82
82
|
exports.SqsEventSource = SqsEventSource;
|
|
83
83
|
_a = JSII_RTTI_SYMBOL_1;
|
|
84
|
-
SqsEventSource[_a] = { fqn: "terraconstructs.aws.compute.sources.SqsEventSource", version: "0.
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2V2ZW50LXNvdXJjZXMvc3FzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOEdBQThHO0FBRTlHLGlDQUEyQztBQUUzQyw2QkFBaUM7QUF5RWpDOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBSXpCLFlBQ1csS0FBb0IsRUFDWixRQUE2QixFQUFFO1FBRHZDLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUEwQjtRQUwxQywwQkFBcUIsR0FBWSxTQUFTLENBQUM7UUFDM0MsMkJBQXNCLEdBQVksU0FBUyxDQUFDO1FBTWxELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELElBQ0UsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRTtnQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLEVBQzlDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUM5RyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVM7WUFDbEMsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQ3pDLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUztnQkFDMUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQzFELENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixtRUFBbUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLHNDQUFzQyxDQUM5SCxDQUFDO1lBQ0osQ0FBQztZQUNELElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTO2dCQUMxQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFDdkQsQ0FBQztnQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsMENBQTBDLENBQy9ILENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsTUFBeUI7UUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQ3JELGtCQUFrQixZQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFDdEQ7WUFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQy9CLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1lBQy9DLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7WUFDekMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUI7WUFDM0QsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDM0IsNkVBQTZFO1NBQzlFLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7UUFFdkUsMkRBQTJEO1FBQzNELCtDQUErQztRQUMvQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ04sb0VBQW9FO1lBQ3BFLG1CQUFXLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FDL0IsYUFBYSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUkscUNBQXFDO2dCQUNoRSwwREFBMEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQ3BGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxxQkFBcUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDckMsQ0FBQzs7QUFoR0gsd0NBaUdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTg2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzL3Rlc3Qvc3FzLnRlc3QudHNcblxuaW1wb3J0IHsgVG9rZW4sIEFubm90YXRpb25zIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vLi5cIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uXCI7XG5pbXBvcnQgKiBhcyBub3RpZnkgZnJvbSBcIi4uLy4uL25vdGlmeVwiO1xuLy8gaW1wb3J0IHsgSUtleSB9IGZyb20gXCIuLi8uLi9lbmNyeXB0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3FzRXZlbnRTb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbGFyZ2VzdCBudW1iZXIgb2YgcmVjb3JkcyB0aGF0IEFXUyBMYW1iZGEgd2lsbCByZXRyaWV2ZSBmcm9tIHlvdXIgZXZlbnRcbiAgICogc291cmNlIGF0IHRoZSB0aW1lIG9mIGludm9raW5nIHlvdXIgZnVuY3Rpb24uIFlvdXIgZnVuY3Rpb24gcmVjZWl2ZXMgYW5cbiAgICogZXZlbnQgd2l0aCBhbGwgdGhlIHJldHJpZXZlZCByZWNvcmRzLlxuICAgKlxuICAgKiBWYWxpZCBSYW5nZTogTWluaW11bSB2YWx1ZSBvZiAxLiBNYXhpbXVtIHZhbHVlIG9mIDEwLlxuICAgKiBJZiBgbWF4QmF0Y2hpbmdXaW5kb3dgIGlzIGNvbmZpZ3VyZWQsIHRoaXMgdmFsdWUgY2FuIGdvIHVwIHRvIDEwLDAwMC5cbiAgICpcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdG8gZ2F0aGVyIHJlY29yZHMgYmVmb3JlIGludm9raW5nIHRoZSBmdW5jdGlvbi5cbiAgICpcbiAgICogVmFsaWQgUmFuZ2U6IE1pbmltdW0gdmFsdWUgb2YgMCBtaW51dGVzLiBNYXhpbXVtIHZhbHVlIG9mIDUgbWludXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBiYXRjaGluZyB3aW5kb3cuIFRoZSBsYW1iZGEgZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkIGltbWVkaWF0ZWx5IHdpdGggdGhlIHJlY29yZHMgdGhhdCBhcmUgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QmF0Y2hpbmdXaW5kb3c/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogQWxsb3cgZnVuY3Rpb25zIHRvIHJldHVybiBwYXJ0aWFsbHkgc3VjY2Vzc2Z1bCByZXNwb25zZXMgZm9yIGEgYmF0Y2ggb2YgcmVjb3Jkcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLXNxcy5odG1sI3NlcnZpY2VzLXNxcy1iYXRjaGZhaWx1cmVyZXBvcnRpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdGhlIFNRUyBldmVudCBzb3VyY2UgbWFwcGluZyBzaG91bGQgYmUgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBmaWx0ZXIgY3JpdGVyaWEgb3B0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVycz86IEFycmF5PHsgW2tleTogc3RyaW5nXTogYW55IH0+O1xuXG4gIC8vIC8vIFRPRE86IFJlLUFkZCBLTVMgc3VwcG9ydFxuICAvLyAvKipcbiAgLy8gICogQWRkIEN1c3RvbWVyIG1hbmFnZWQgS01TIGtleSB0byBlbmNyeXB0IEZpbHRlciBDcml0ZXJpYS5cbiAgLy8gICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWV2ZW50ZmlsdGVyaW5nLmh0bWxcbiAgLy8gICogQnkgZGVmYXVsdCwgTGFtYmRhIHdpbGwgZW5jcnlwdCBGaWx0ZXIgQ3JpdGVyaWEgdXNpbmcgQVdTIG1hbmFnZWQga2V5c1xuICAvLyAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9rbXMvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2NvbmNlcHRzLmh0bWwjYXdzLW1hbmFnZWQtY21rXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IC0gbm9uZVxuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgZmlsdGVyRW5jcnlwdGlvbj86IElLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGNvbmN1cnJlbmN5IHNldHRpbmcgbGltaXRzIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBpbnN0YW5jZXMgb2YgdGhlIGZ1bmN0aW9uIHRoYXQgYW4gQW1hem9uIFNRUyBldmVudCBzb3VyY2UgY2FuIGludm9rZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy93aXRoLXNxcy5odG1sI2V2ZW50cy1zcXMtbWF4LWNvbmN1cnJlbmN5XG4gICAqXG4gICAqIFZhbGlkIFJhbmdlOiBNaW5pbXVtIHZhbHVlIG9mIDIuIE1heGltdW0gdmFsdWUgb2YgMTAwMC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzcGVjaWZpYyBsaW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbmN5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFVzZSBhbiBBbWF6b24gU1FTIHF1ZXVlIGFzIGFuIGV2ZW50IHNvdXJjZSBmb3IgQVdTIExhbWJkYS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNxc0V2ZW50U291cmNlIGltcGxlbWVudHMgY29tcHV0ZS5JRXZlbnRTb3VyY2Uge1xuICBwcml2YXRlIF9ldmVudFNvdXJjZU1hcHBpbmdJZD86IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VNYXBwaW5nQXJuPzogc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IHF1ZXVlOiBub3RpZnkuSVF1ZXVlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFNxc0V2ZW50U291cmNlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgaWYgKHRoaXMucHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHF1ZXVlLmZpZm8pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQmF0Y2hpbmcgd2luZG93IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIEZJRk8gcXVldWVzXCIpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5wcm9wcy5tYXhCYXRjaGluZ1dpbmRvdy5pc1VucmVzb2x2ZWQoKSAmJlxuICAgICAgICB0aGlzLnByb3BzLm1heEJhdGNoaW5nV2luZG93LnRvU2Vjb25kcygpID4gMzAwXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBNYXhpbXVtIGJhdGNoaW5nIHdpbmRvdyBtdXN0IGJlIDMwMCBzZWNvbmRzIG9yIGxlc3MgKGdpdmVuICR7dGhpcy5wcm9wcy5tYXhCYXRjaGluZ1dpbmRvdy50b0h1bWFuU3RyaW5nKCl9KWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMucHJvcHMuYmF0Y2hTaXplICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQodGhpcy5wcm9wcy5iYXRjaFNpemUpXG4gICAgKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAodGhpcy5wcm9wcy5iYXRjaFNpemUgPCAxIHx8IHRoaXMucHJvcHMuYmF0Y2hTaXplID4gMTAwMDApXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBNYXhpbXVtIGJhdGNoIHNpemUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEwMDAwIGluY2x1c2l2ZSAoZ2l2ZW4gJHt0aGlzLnByb3BzLmJhdGNoU2l6ZX0pIHdoZW4gYmF0Y2hpbmcgd2luZG93IGlzIHNwZWNpZmllZC5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnByb3BzLm1heEJhdGNoaW5nV2luZG93ID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHRoaXMucHJvcHMuYmF0Y2hTaXplIDwgMSB8fCB0aGlzLnByb3BzLmJhdGNoU2l6ZSA+IDEwKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTWF4aW11bSBiYXRjaCBzaXplIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAxMCBpbmNsdXNpdmUgKGdpdmVuICR7dGhpcy5wcm9wcy5iYXRjaFNpemV9KSB3aGVuIGJhdGNoaW5nIHdpbmRvdyBpcyBub3Qgc3BlY2lmaWVkLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJpbmQodGFyZ2V0OiBjb21wdXRlLklGdW5jdGlvbikge1xuICAgIGNvbnN0IGV2ZW50U291cmNlTWFwcGluZyA9IHRhcmdldC5hZGRFdmVudFNvdXJjZU1hcHBpbmcoXG4gICAgICBgU3FzRXZlbnRTb3VyY2U6JHtBd3NTdGFjay51bmlxdWVJZCh0aGlzLnF1ZXVlLm5vZGUpfWAsXG4gICAgICB7XG4gICAgICAgIGJhdGNoU2l6ZTogdGhpcy5wcm9wcy5iYXRjaFNpemUsXG4gICAgICAgIG1heEJhdGNoaW5nV2luZG93OiB0aGlzLnByb3BzLm1heEJhdGNoaW5nV2luZG93LFxuICAgICAgICBtYXhDb25jdXJyZW5jeTogdGhpcy5wcm9wcy5tYXhDb25jdXJyZW5jeSxcbiAgICAgICAgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXM6IHRoaXMucHJvcHMucmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXMsXG4gICAgICAgIGVuYWJsZWQ6IHRoaXMucHJvcHMuZW5hYmxlZCxcbiAgICAgICAgZXZlbnRTb3VyY2VBcm46IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICAgIGZpbHRlcnM6IHRoaXMucHJvcHMuZmlsdGVycyxcbiAgICAgICAgLy8gZmlsdGVyRW5jcnlwdGlvbjogdGhpcy5wcm9wcy5maWx0ZXJFbmNyeXB0aW9uLCAvLyBUT0RPOiBSZS1BZGQgS01TIHN1cHBvcnRcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZCA9IGV2ZW50U291cmNlTWFwcGluZy5ldmVudFNvdXJjZU1hcHBpbmdJZDtcbiAgICB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdBcm4gPSBldmVudFNvdXJjZU1hcHBpbmcuZXZlbnRTb3VyY2VNYXBwaW5nQXJuO1xuXG4gICAgLy8gb25seSBncmFudCBhY2Nlc3MgaWYgdGhlIGxhbWJkYSBmdW5jdGlvbiBoYXMgYW4gSUFNIHJvbGVcbiAgICAvLyBvdGhlcndpc2UgdGhlIElBTSBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlcnJvclxuICAgIGlmICh0YXJnZXQucm9sZSkge1xuICAgICAgdGhpcy5xdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyh0YXJnZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtZXZlbnQtc291cmNlczpzcXNGdW5jdGlvbkltcG9ydFdpdGhvdXRSb2xlXCIsXG4gICAgICBBbm5vdGF0aW9ucy5vZih0YXJnZXQpLmFkZFdhcm5pbmcoXG4gICAgICAgIGBGdW5jdGlvbiAnJHt0YXJnZXQubm9kZS5wYXRofScgd2FzIGltcG9ydGVkIHdpdGhvdXQgYW4gSUFNIHJvbGUgYCArXG4gICAgICAgICAgYHNvIGl0IHdhcyBub3QgZ3JhbnRlZCBhY2Nlc3MgdG8gY29uc3VtZSBtZXNzYWdlcyBmcm9tICcke3RoaXMucXVldWUubm9kZS5wYXRofSdgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoaXMgRXZlbnRTb3VyY2VNYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZ2V0IGV2ZW50U291cmNlTWFwcGluZ0lkKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlNxc0V2ZW50U291cmNlIGlzIG5vdCB5ZXQgYm91bmQgdG8gYW4gZXZlbnQgc291cmNlIG1hcHBpbmdcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIGZvciB0aGlzIEV2ZW50U291cmNlTWFwcGluZ1xuICAgKi9cbiAgcHVibGljIGdldCBldmVudFNvdXJjZU1hcHBpbmdBcm4oKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2V2ZW50U291cmNlTWFwcGluZ0Fybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlNxc0V2ZW50U291cmNlIGlzIG5vdCB5ZXQgYm91bmQgdG8gYW4gZXZlbnQgc291cmNlIG1hcHBpbmdcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdBcm47XG4gIH1cbn1cbiJdfQ==
|
|
84
|
+
SqsEventSource[_a] = { fqn: "terraconstructs.aws.compute.sources.SqsEventSource", version: "0.2.0" };
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2V2ZW50LXNvdXJjZXMvc3FzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOEdBQThHO0FBRTlHLGlDQUEyQztBQUUzQyw2QkFBaUM7QUF3RWpDOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBSXpCLFlBQ1csS0FBb0IsRUFDWixRQUE2QixFQUFFO1FBRHZDLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUEwQjtRQUwxQywwQkFBcUIsR0FBWSxTQUFTLENBQUM7UUFDM0MsMkJBQXNCLEdBQVksU0FBUyxDQUFDO1FBTWxELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELElBQ0UsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRTtnQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLEVBQzlDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUM5RyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVM7WUFDbEMsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQ3pDLENBQUM7WUFDRCxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUztnQkFDMUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQzFELENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixtRUFBbUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLHNDQUFzQyxDQUM5SCxDQUFDO1lBQ0osQ0FBQztZQUNELElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTO2dCQUMxQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFDdkQsQ0FBQztnQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsMENBQTBDLENBQy9ILENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsTUFBeUI7UUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQ3JELGtCQUFrQixZQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFDdEQ7WUFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQy9CLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1lBQy9DLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7WUFDekMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUI7WUFDM0QsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDM0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7U0FDOUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQ3JFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUV2RSwyREFBMkQ7UUFDM0QsK0NBQStDO1FBQy9DLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixvRUFBb0U7WUFDcEUsbUJBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUMvQixhQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxxQ0FBcUM7Z0JBQ2hFLDBEQUEwRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FDcEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLG9CQUFvQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHFCQUFxQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDOztBQWhHSCx3Q0FpR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtbGFtYmRhLWV2ZW50LXNvdXJjZXMvdGVzdC9zcXMudGVzdC50c1xuXG5pbXBvcnQgeyBUb2tlbiwgQW5ub3RhdGlvbnMgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLlwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vLi5cIjtcbmltcG9ydCB7IElLZXkgfSBmcm9tIFwiLi4vLi4vZW5jcnlwdGlvblwiO1xuaW1wb3J0ICogYXMgbm90aWZ5IGZyb20gXCIuLi8uLi9ub3RpZnlcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTcXNFdmVudFNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBsYXJnZXN0IG51bWJlciBvZiByZWNvcmRzIHRoYXQgQVdTIExhbWJkYSB3aWxsIHJldHJpZXZlIGZyb20geW91ciBldmVudFxuICAgKiBzb3VyY2UgYXQgdGhlIHRpbWUgb2YgaW52b2tpbmcgeW91ciBmdW5jdGlvbi4gWW91ciBmdW5jdGlvbiByZWNlaXZlcyBhblxuICAgKiBldmVudCB3aXRoIGFsbCB0aGUgcmV0cmlldmVkIHJlY29yZHMuXG4gICAqXG4gICAqIFZhbGlkIFJhbmdlOiBNaW5pbXVtIHZhbHVlIG9mIDEuIE1heGltdW0gdmFsdWUgb2YgMTAuXG4gICAqIElmIGBtYXhCYXRjaGluZ1dpbmRvd2AgaXMgY29uZmlndXJlZCwgdGhpcyB2YWx1ZSBjYW4gZ28gdXAgdG8gMTAsMDAwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSB0byBnYXRoZXIgcmVjb3JkcyBiZWZvcmUgaW52b2tpbmcgdGhlIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBWYWxpZCBSYW5nZTogTWluaW11bSB2YWx1ZSBvZiAwIG1pbnV0ZXMuIE1heGltdW0gdmFsdWUgb2YgNSBtaW51dGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGJhdGNoaW5nIHdpbmRvdy4gVGhlIGxhbWJkYSBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgaW1tZWRpYXRlbHkgd2l0aCB0aGUgcmVjb3JkcyB0aGF0IGFyZSBhdmFpbGFibGUuXG4gICAqL1xuICByZWFkb25seSBtYXhCYXRjaGluZ1dpbmRvdz86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBmdW5jdGlvbnMgdG8gcmV0dXJuIHBhcnRpYWxseSBzdWNjZXNzZnVsIHJlc3BvbnNlcyBmb3IgYSBiYXRjaCBvZiByZWNvcmRzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3dpdGgtc3FzLmh0bWwjc2VydmljZXMtc3FzLWJhdGNoZmFpbHVyZXJlcG9ydGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgU1FTIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHNob3VsZCBiZSBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGZpbHRlciBjcml0ZXJpYSBvcHRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJzPzogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT47XG5cbiAgLyoqXG4gICAqIEFkZCBDdXN0b21lciBtYW5hZ2VkIEtNUyBrZXkgdG8gZW5jcnlwdCBGaWx0ZXIgQ3JpdGVyaWEuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1ldmVudGZpbHRlcmluZy5odG1sXG4gICAqIEJ5IGRlZmF1bHQsIExhbWJkYSB3aWxsIGVuY3J5cHQgRmlsdGVyIENyaXRlcmlhIHVzaW5nIEFXUyBtYW5hZ2VkIGtleXNcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9jb25jZXB0cy5odG1sI2F3cy1tYW5hZ2VkLWNta1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlckVuY3J5cHRpb24/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBjb25jdXJyZW5jeSBzZXR0aW5nIGxpbWl0cyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgaW5zdGFuY2VzIG9mIHRoZSBmdW5jdGlvbiB0aGF0IGFuIEFtYXpvbiBTUVMgZXZlbnQgc291cmNlIGNhbiBpbnZva2UuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1zcXMuaHRtbCNldmVudHMtc3FzLW1heC1jb25jdXJyZW5jeVxuICAgKlxuICAgKiBWYWxpZCBSYW5nZTogTWluaW11bSB2YWx1ZSBvZiAyLiBNYXhpbXVtIHZhbHVlIG9mIDEwMDAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc3BlY2lmaWMgbGltaXQuXG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW5jeT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBVc2UgYW4gQW1hem9uIFNRUyBxdWV1ZSBhcyBhbiBldmVudCBzb3VyY2UgZm9yIEFXUyBMYW1iZGEuXG4gKi9cbmV4cG9ydCBjbGFzcyBTcXNFdmVudFNvdXJjZSBpbXBsZW1lbnRzIGNvbXB1dGUuSUV2ZW50U291cmNlIHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2VNYXBwaW5nSWQ/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlTWFwcGluZ0Fybj86IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBxdWV1ZTogbm90aWZ5LklRdWV1ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTcXNFdmVudFNvdXJjZVByb3BzID0ge30sXG4gICkge1xuICAgIGlmICh0aGlzLnByb3BzLm1heEJhdGNoaW5nV2luZG93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChxdWV1ZS5maWZvKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJhdGNoaW5nIHdpbmRvdyBpcyBub3Qgc3VwcG9ydGVkIGZvciBGSUZPIHF1ZXVlc1wiKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMucHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cuaXNVbnJlc29sdmVkKCkgJiZcbiAgICAgICAgdGhpcy5wcm9wcy5tYXhCYXRjaGluZ1dpbmRvdy50b1NlY29uZHMoKSA+IDMwMFxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTWF4aW11bSBiYXRjaGluZyB3aW5kb3cgbXVzdCBiZSAzMDAgc2Vjb25kcyBvciBsZXNzIChnaXZlbiAke3RoaXMucHJvcHMubWF4QmF0Y2hpbmdXaW5kb3cudG9IdW1hblN0cmluZygpfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnByb3BzLmJhdGNoU2l6ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMucHJvcHMuYmF0Y2hTaXplKVxuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnByb3BzLm1heEJhdGNoaW5nV2luZG93ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHRoaXMucHJvcHMuYmF0Y2hTaXplIDwgMSB8fCB0aGlzLnByb3BzLmJhdGNoU2l6ZSA+IDEwMDAwKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTWF4aW11bSBiYXRjaCBzaXplIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAxMDAwMCBpbmNsdXNpdmUgKGdpdmVuICR7dGhpcy5wcm9wcy5iYXRjaFNpemV9KSB3aGVuIGJhdGNoaW5nIHdpbmRvdyBpcyBzcGVjaWZpZWQuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5wcm9wcy5tYXhCYXRjaGluZ1dpbmRvdyA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICh0aGlzLnByb3BzLmJhdGNoU2l6ZSA8IDEgfHwgdGhpcy5wcm9wcy5iYXRjaFNpemUgPiAxMClcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYE1heGltdW0gYmF0Y2ggc2l6ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTAgaW5jbHVzaXZlIChnaXZlbiAke3RoaXMucHJvcHMuYmF0Y2hTaXplfSkgd2hlbiBiYXRjaGluZyB3aW5kb3cgaXMgbm90IHNwZWNpZmllZC5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHRhcmdldDogY29tcHV0ZS5JRnVuY3Rpb24pIHtcbiAgICBjb25zdCBldmVudFNvdXJjZU1hcHBpbmcgPSB0YXJnZXQuYWRkRXZlbnRTb3VyY2VNYXBwaW5nKFxuICAgICAgYFNxc0V2ZW50U291cmNlOiR7QXdzU3RhY2sudW5pcXVlSWQodGhpcy5xdWV1ZS5ub2RlKX1gLFxuICAgICAge1xuICAgICAgICBiYXRjaFNpemU6IHRoaXMucHJvcHMuYmF0Y2hTaXplLFxuICAgICAgICBtYXhCYXRjaGluZ1dpbmRvdzogdGhpcy5wcm9wcy5tYXhCYXRjaGluZ1dpbmRvdyxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IHRoaXMucHJvcHMubWF4Q29uY3VycmVuY3ksXG4gICAgICAgIHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzOiB0aGlzLnByb3BzLnJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzLFxuICAgICAgICBlbmFibGVkOiB0aGlzLnByb3BzLmVuYWJsZWQsXG4gICAgICAgIGV2ZW50U291cmNlQXJuOiB0aGlzLnF1ZXVlLnF1ZXVlQXJuLFxuICAgICAgICBmaWx0ZXJzOiB0aGlzLnByb3BzLmZpbHRlcnMsXG4gICAgICAgIGZpbHRlckVuY3J5cHRpb246IHRoaXMucHJvcHMuZmlsdGVyRW5jcnlwdGlvbixcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZCA9IGV2ZW50U291cmNlTWFwcGluZy5ldmVudFNvdXJjZU1hcHBpbmdJZDtcbiAgICB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdBcm4gPSBldmVudFNvdXJjZU1hcHBpbmcuZXZlbnRTb3VyY2VNYXBwaW5nQXJuO1xuXG4gICAgLy8gb25seSBncmFudCBhY2Nlc3MgaWYgdGhlIGxhbWJkYSBmdW5jdGlvbiBoYXMgYW4gSUFNIHJvbGVcbiAgICAvLyBvdGhlcndpc2UgdGhlIElBTSBtb2R1bGUgd2lsbCB0aHJvdyBhbiBlcnJvclxuICAgIGlmICh0YXJnZXQucm9sZSkge1xuICAgICAgdGhpcy5xdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyh0YXJnZXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtZXZlbnQtc291cmNlczpzcXNGdW5jdGlvbkltcG9ydFdpdGhvdXRSb2xlXCIsXG4gICAgICBBbm5vdGF0aW9ucy5vZih0YXJnZXQpLmFkZFdhcm5pbmcoXG4gICAgICAgIGBGdW5jdGlvbiAnJHt0YXJnZXQubm9kZS5wYXRofScgd2FzIGltcG9ydGVkIHdpdGhvdXQgYW4gSUFNIHJvbGUgYCArXG4gICAgICAgICAgYHNvIGl0IHdhcyBub3QgZ3JhbnRlZCBhY2Nlc3MgdG8gY29uc3VtZSBtZXNzYWdlcyBmcm9tICcke3RoaXMucXVldWUubm9kZS5wYXRofSdgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoaXMgRXZlbnRTb3VyY2VNYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZ2V0IGV2ZW50U291cmNlTWFwcGluZ0lkKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlNxc0V2ZW50U291cmNlIGlzIG5vdCB5ZXQgYm91bmQgdG8gYW4gZXZlbnQgc291cmNlIG1hcHBpbmdcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIGZvciB0aGlzIEV2ZW50U291cmNlTWFwcGluZ1xuICAgKi9cbiAgcHVibGljIGdldCBldmVudFNvdXJjZU1hcHBpbmdBcm4oKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2V2ZW50U291cmNlTWFwcGluZ0Fybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlNxc0V2ZW50U291cmNlIGlzIG5vdCB5ZXQgYm91bmQgdG8gYW4gZXZlbnQgc291cmNlIG1hcHBpbmdcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudFNvdXJjZU1hcHBpbmdBcm47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -357,7 +357,7 @@ class JsonPath {
|
|
|
357
357
|
}
|
|
358
358
|
exports.JsonPath = JsonPath;
|
|
359
359
|
_a = JSII_RTTI_SYMBOL_1;
|
|
360
|
-
JsonPath[_a] = { fqn: "terraconstructs.aws.compute.JsonPath", version: "0.
|
|
360
|
+
JsonPath[_a] = { fqn: "terraconstructs.aws.compute.JsonPath", version: "0.2.0" };
|
|
361
361
|
/**
|
|
362
362
|
* Special string value to discard state input, output or result.
|
|
363
363
|
*/
|
|
@@ -414,7 +414,7 @@ class Data {
|
|
|
414
414
|
}
|
|
415
415
|
exports.Data = Data;
|
|
416
416
|
_b = JSII_RTTI_SYMBOL_1;
|
|
417
|
-
Data[_b] = { fqn: "terraconstructs.aws.compute.Data", version: "0.
|
|
417
|
+
Data[_b] = { fqn: "terraconstructs.aws.compute.Data", version: "0.2.0" };
|
|
418
418
|
/**
|
|
419
419
|
* Extract a field from the State Machine Context data
|
|
420
420
|
*
|
|
@@ -460,7 +460,7 @@ class Context {
|
|
|
460
460
|
}
|
|
461
461
|
exports.Context = Context;
|
|
462
462
|
_c = JSII_RTTI_SYMBOL_1;
|
|
463
|
-
Context[_c] = { fqn: "terraconstructs.aws.compute.Context", version: "0.
|
|
463
|
+
Context[_c] = { fqn: "terraconstructs.aws.compute.Context", version: "0.2.0" };
|
|
464
464
|
/**
|
|
465
465
|
* Helper functions to work with structures containing fields
|
|
466
466
|
*/
|
|
@@ -491,7 +491,7 @@ class FieldUtils {
|
|
|
491
491
|
}
|
|
492
492
|
exports.FieldUtils = FieldUtils;
|
|
493
493
|
_d = JSII_RTTI_SYMBOL_1;
|
|
494
|
-
FieldUtils[_d] = { fqn: "terraconstructs.aws.compute.FieldUtils", version: "0.
|
|
494
|
+
FieldUtils[_d] = { fqn: "terraconstructs.aws.compute.FieldUtils", version: "0.2.0" };
|
|
495
495
|
function validateJsonPath(path) {
|
|
496
496
|
const intrinsicFunctionNames = [
|
|
497
497
|
// Intrinsics for arrays
|