terraconstructs 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1464 -315
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-asset-manager.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.js +1 -1
- 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.js +1 -1
- 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.js +1 -1
- 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 +1 -1
- 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 +2 -2
- 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.js +1 -1
- 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 +1 -1
- 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/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/iam/grant.js +3 -3
- 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 +14 -5
- 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/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.js +3 -3
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/index.d.ts +1 -0
- package/lib/aws/notify/index.js +3 -1
- 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.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- 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/sns-grants.generated.d.ts +39 -0
- package/lib/aws/notify/sns-grants.generated.js +77 -0
- package/lib/aws/notify/sqs-grants.generated.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.d.ts +8 -2
- package/lib/aws/notify/subscription.js +6 -7
- 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 +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- 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 +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.d.ts +6 -0
- package/lib/aws/notify/topic-base.js +16 -19
- package/lib/aws/notify/topic.d.ts +29 -6
- package/lib/aws/notify/topic.js +50 -47
- 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 +2 -2
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/dynamodb-perms.d.ts +2 -2
- package/lib/aws/storage/dynamodb-perms.js +9 -16
- package/lib/aws/storage/ecr-repository.js +3 -3
- package/lib/aws/storage/encryption.js +1 -1
- package/lib/aws/storage/index.d.ts +2 -0
- package/lib/aws/storage/index.js +3 -1
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/shared.d.ts +31 -2
- package/lib/aws/storage/shared.js +29 -2
- package/lib/aws/storage/stream-grants.d.ts +61 -0
- package/lib/aws/storage/stream-grants.js +72 -0
- package/lib/aws/storage/table-grants.d.ts +98 -0
- package/lib/aws/storage/table-grants.js +137 -0
- package/lib/aws/storage/table.d.ts +280 -8
- package/lib/aws/storage/table.js +350 -148
- 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/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +1 -1
|
@@ -36,5 +36,5 @@ class EventBus {
|
|
|
36
36
|
}
|
|
37
37
|
exports.EventBus = EventBus;
|
|
38
38
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
EventBus[_a] = { fqn: "terraconstructs.aws.notify.targets.EventBus", version: "0.2.
|
|
39
|
+
EventBus[_a] = { fqn: "terraconstructs.aws.notify.targets.EventBus", version: "0.2.3" };
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9ldmVudC1idXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxpQ0FBZ0Y7QUFDaEYsaUNBQWlDO0FBNEJqQzs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQixZQUNtQixRQUFtQixFQUNuQixRQUF1QixFQUFFO1FBRHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFDekMsQ0FBQztJQUVKLElBQUksQ0FBQyxJQUFXLEVBQUUsR0FBWTtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFBLHlCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQixJQUFBLHlDQUFrQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUM5QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7Z0JBQzFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7Z0JBQy9DLENBQUMsQ0FBQyxTQUFTO1lBQ2IsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQzdCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILDRCQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudEJ1cyB9IGZyb20gXCIuLi9ldmVudC1idXNcIjtcbmltcG9ydCB7IElRdWV1ZSB9IGZyb20gXCIuLi9xdWV1ZS1iYXNlXCI7XG5pbXBvcnQgeyBJUnVsZSB9IGZyb20gXCIuLi9ydWxlXCI7XG5pbXBvcnQgeyBJUnVsZVRhcmdldCwgUnVsZVRhcmdldENvbmZpZyB9IGZyb20gXCIuLi90YXJnZXRcIjtcbmltcG9ydCB7IHNpbmdsZXRvbkV2ZW50Um9sZSwgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIG9mIGFuIEV2ZW50IEJ1cyBldmVudFxuICpcbiAqIENhbm5vdCBleHRlbmQgVGFyZ2V0QmFzZVByb3BzLiBSZXRyeSBwb2xpY3kgaXMgbm90IHN1cHBvcnRlZCBmb3IgRXZlbnQgYnVzIHRhcmdldHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRCdXNQcm9wcyB7XG4gIC8qKlxuICAgKiBSb2xlIHRvIGJlIHVzZWQgdG8gcHVibGlzaCB0aGUgZXZlbnRcbiAgICpcbiAgICogQGRlZmF1bHQgYSBuZXcgcm9sZSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0byBiZSB1c2VkIGFzIGRlYWRMZXR0ZXJRdWV1ZS5cbiAgICogQ2hlY2sgb3V0IHRoZSBbY29uc2lkZXJhdGlvbnMgZm9yIHVzaW5nIGEgZGVhZC1sZXR0ZXIgcXVldWVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL3J1bGUtZGxxLmh0bWwjZGxxLWNvbnNpZGVyYXRpb25zKS5cbiAgICpcbiAgICogVGhlIGV2ZW50cyBub3Qgc3VjY2Vzc2Z1bGx5IGRlbGl2ZXJlZCBhcmUgYXV0b21hdGljYWxseSByZXRyaWVkIGZvciBhIHNwZWNpZmllZCBwZXJpb2Qgb2YgdGltZSxcbiAgICogZGVwZW5kaW5nIG9uIHRoZSByZXRyeSBwb2xpY3kgb2YgdGhlIHRhcmdldC5cbiAgICogSWYgYW4gZXZlbnQgaXMgbm90IGRlbGl2ZXJlZCBiZWZvcmUgYWxsIHJldHJ5IGF0dGVtcHRzIGFyZSBleGhhdXN0ZWQsIGl0IHdpbGwgYmUgc2VudCB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVhZC1sZXR0ZXIgcXVldWVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZT86IElRdWV1ZTtcbn1cblxuLyoqXG4gKiBOb3RpZnkgYW4gZXhpc3RpbmcgRXZlbnQgQnVzIG9mIGFuIGV2ZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBFdmVudEJ1cyBpbXBsZW1lbnRzIElSdWxlVGFyZ2V0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudEJ1czogSUV2ZW50QnVzLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEV2ZW50QnVzUHJvcHMgPSB7fSxcbiAgKSB7fVxuXG4gIGJpbmQocnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIGNvbnN0IHJvbGUgPSB0aGlzLnByb3BzLnJvbGUgPz8gc2luZ2xldG9uRXZlbnRSb2xlKHJ1bGUpO1xuICAgIHJvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3kodGhpcy5wdXRFdmVudFN0YXRlbWVudCgpKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSkge1xuICAgICAgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeShydWxlLCB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFybjogdGhpcy5ldmVudEJ1cy5ldmVudEJ1c0FybixcbiAgICAgIGRlYWRMZXR0ZXJDb25maWc6IHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlXG4gICAgICAgID8geyBhcm46IHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlPy5xdWV1ZUFybiB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcm9sZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRFdmVudFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogW1wiZXZlbnRzOlB1dEV2ZW50c1wiXSxcbiAgICAgIHJlc291cmNlczogW3RoaXMuZXZlbnRCdXMuZXZlbnRCdXNBcm5dLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -32,5 +32,5 @@ class LambdaFunction {
|
|
|
32
32
|
}
|
|
33
33
|
exports.LambdaFunction = LambdaFunction;
|
|
34
34
|
_a = JSII_RTTI_SYMBOL_1;
|
|
35
|
-
LambdaFunction[_a] = { fqn: "terraconstructs.aws.notify.targets.LambdaFunction", version: "0.2.
|
|
35
|
+
LambdaFunction[_a] = { fqn: "terraconstructs.aws.notify.targets.LambdaFunction", version: "0.2.3" };
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL25vdGlmeS90YXJnZXRzL2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUNBS2dCO0FBaUJoQjs7R0FFRztBQUNILE1BQWEsY0FBYztJQUN6QixZQUNtQixPQUEwQixFQUMxQixRQUE2QixFQUFFO1FBRC9CLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQTBCO0lBQy9DLENBQUM7SUFFSjs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBVyxFQUFFLEdBQVk7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUEsMEJBQW1CLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0IsSUFBQSx5Q0FBa0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsSUFBQSwyQkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDN0IsQ0FBQztJQUNKLENBQUM7O0FBeEJILHdDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGVUYXJnZXRJbnB1dCB9IGZyb20gXCIuLi9pbnB1dFwiO1xuaW1wb3J0IHsgSVJ1bGUgfSBmcm9tIFwiLi4vcnVsZVwiO1xuaW1wb3J0IHsgSVJ1bGVUYXJnZXQsIFJ1bGVUYXJnZXRDb25maWcgfSBmcm9tIFwiLi4vdGFyZ2V0XCI7XG5pbXBvcnQge1xuICBhZGRMYW1iZGFQZXJtaXNzaW9uLFxuICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5LFxuICBUYXJnZXRCYXNlUHJvcHMsXG4gIGJpbmRCYXNlVGFyZ2V0Q29uZmlnLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi8uLi9jb21wdXRlXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBMYW1iZGEgRXZlbnQgVGFyZ2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Qcm9wcyBleHRlbmRzIFRhcmdldEJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gc2VuZCB0byB0aGUgTGFtYmRhXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgcGF5bG9hZCBzZW50IHRvIHRoZSBMYW1iZGEgRnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBlbnRpcmUgRXZlbnRCcmlkZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50PzogUnVsZVRhcmdldElucHV0O1xufVxuXG4vKipcbiAqIFVzZSBhbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIGFzIGFuIGV2ZW50IHJ1bGUgdGFyZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRnVuY3Rpb24gaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcjogY29tcHV0ZS5JRnVuY3Rpb24sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTGFtYmRhRnVuY3Rpb25Qcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gdHJpZ2dlciB0aGlzIExhbWJkYSBhcyBhXG4gICAqIHJlc3VsdCBmcm9tIGFuIEV2ZW50QnJpZGdlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGJpbmQocnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gYmUgY2FsbGVkIGZyb20gcnVsZVxuICAgIGFkZExhbWJkYVBlcm1pc3Npb24ocnVsZSwgdGhpcy5oYW5kbGVyKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSkge1xuICAgICAgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeShydWxlLCB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJpbmRCYXNlVGFyZ2V0Q29uZmlnKHRoaXMucHJvcHMpLFxuICAgICAgYXJuOiB0aGlzLmhhbmRsZXIuZnVuY3Rpb25Bcm4sXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5ldmVudCxcbiAgICAgIHRhcmdldFJlc291cmNlOiB0aGlzLmhhbmRsZXIsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -30,7 +30,7 @@ class LogGroupTargetInput {
|
|
|
30
30
|
}
|
|
31
31
|
exports.LogGroupTargetInput = LogGroupTargetInput;
|
|
32
32
|
_a = JSII_RTTI_SYMBOL_1;
|
|
33
|
-
LogGroupTargetInput[_a] = { fqn: "terraconstructs.aws.notify.targets.LogGroupTargetInput", version: "0.2.
|
|
33
|
+
LogGroupTargetInput[_a] = { fqn: "terraconstructs.aws.notify.targets.LogGroupTargetInput", version: "0.2.3" };
|
|
34
34
|
/**
|
|
35
35
|
* Use an AWS CloudWatch LogGroup as an event rule target.
|
|
36
36
|
*/
|
|
@@ -106,5 +106,5 @@ class CloudWatchLogGroup {
|
|
|
106
106
|
}
|
|
107
107
|
exports.CloudWatchLogGroup = CloudWatchLogGroup;
|
|
108
108
|
_b = JSII_RTTI_SYMBOL_1;
|
|
109
|
-
CloudWatchLogGroup[_b] = { fqn: "terraconstructs.aws.notify.targets.CloudWatchLogGroup", version: "0.2.
|
|
109
|
+
CloudWatchLogGroup[_b] = { fqn: "terraconstructs.aws.notify.targets.CloudWatchLogGroup", version: "0.2.3" };
|
|
110
110
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9sb2ctZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvQ0FJa0I7QUFHbEIsbUNBQW1DO0FBQ25DLDZGQUE2RjtBQUM3Rix3RUFBd0U7QUFDeEUsaUNBQStEO0FBQy9ELG1DQUFzQztBQUN0QywrQ0FBMkM7QUFFM0MsaUNBQWlDO0FBMkJqQzs7R0FFRztBQUNILE1BQXNCLG1CQUFtQjtJQUN2Qzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQ3RCLE9BQW9DO1FBRXBDLE9BQU8sdUJBQWUsQ0FBQyxVQUFVLENBQUM7WUFDaEMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksa0JBQVUsQ0FBQyxJQUFJO1lBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLGtCQUFVLENBQUMsVUFBVTtTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWRILGtEQW9CQzs7O0FBMEJEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFFN0IsWUFDbUIsUUFBd0IsRUFDeEIsUUFBdUIsRUFBRTtRQUR6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFvQjtJQUN6QyxDQUFDO0lBRUo7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBWSxFQUFFLEdBQVk7UUFDcEMsTUFBTSxhQUFhLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxDQUNqRSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztRQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTztZQUNMLEdBQUcsSUFBQSwyQkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsV0FBVztnQkFDckIsU0FBUyxFQUFFLGVBQVMsQ0FBQyxtQkFBbUI7Z0JBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7YUFDekMsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQzFCLENBQUM7WUFDRixJQUFJLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLDBFQUEwRTtnQkFDMUUsdURBQXVEO2dCQUN2RCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQzdDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFDOUIsTUFBTSxDQUNQLENBQUM7Z0JBQ0YsSUFBSSxDQUFDO29CQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDckQsSUFDRSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDOUIsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO3dCQUN4QyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsQ0FBQzt3QkFDRCxPQUFPOzRCQUNMLG9IQUFvSDt5QkFDckgsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDaEIsT0FBTzt3QkFDTCwyQ0FBMkM7NEJBQ3pDLG9IQUFvSDt3QkFDdEgsQ0FBQztxQkFDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFsRkgsZ0RBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUnVsZVRhcmdldElucHV0UHJvcGVydGllcyxcbiAgUnVsZVRhcmdldElucHV0LFxuICBFdmVudEZpZWxkLFxufSBmcm9tIFwiLi4vaW5wdXRcIjtcbmltcG9ydCB7IElSdWxlIH0gZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB7IElSdWxlVGFyZ2V0LCBSdWxlVGFyZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL3RhcmdldFwiO1xuLy8gQ3VzdG9tIFJlc291cmNlIG5vIGxvbmdlciBuZWVkZWRcbi8vIGxvZ0dyb3VwIFJlc291cmNlUG9saWN5IHdhcyBhZGRlZCB0byBDRk4gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8xNzAxNS9maWxlc1xuLy8gaW1wb3J0IHsgTG9nR3JvdXBSZXNvdXJjZVBvbGljeSB9IGZyb20gXCIuL2xvZy1ncm91cC1yZXNvdXJjZS1wb2xpY3lcIjtcbmltcG9ydCB7IFRhcmdldEJhc2VQcm9wcywgYmluZEJhc2VUYXJnZXRDb25maWcgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSBcIi4uLy4uL2Nsb3Vkd2F0Y2hcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXJnZXQgaW5wdXQgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIHRoYXQgd2lsbCBhcHBlYXIgaW4gdGhlIENsb3VkV2F0Y2ggTG9ncyByZWNvcmRcbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC50aW1lXG4gICAqL1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBwcm92aWRlZCBoZXJlIHdpbGwgYmUgdXNlZCBpbiB0aGUgTG9nIFwibWVzc2FnZVwiIGZpZWxkLlxuICAgKlxuICAgKiBUaGlzIGZpZWxkIG11c3QgYmUgYSBzdHJpbmcuIElmIGFuIG9iamVjdCBpcyBwYXNzZWQgKGUuZy4gSlNPTiBkYXRhKVxuICAgKiBpdCB3aWxsIG5vdCB0aHJvdyBhbiBlcnJvciwgYnV0IHRoZSBtZXNzYWdlIHRoYXQgbWFrZXMgaXQgdG9cbiAgICogQ2xvdWRXYXRjaCBsb2dzIHdpbGwgYmUgaW5jb3JyZWN0LiBUaGlzIGlzIGEgbGlrZWx5IHNjZW5hcmlvIGlmXG4gICAqIGRvaW5nIHNvbWV0aGluZyBsaWtlOiBFdmVudEZpZWxkLmZyb21QYXRoKCckLmRldGFpbCcpIHNpbmNlIGluIG1vc3QgY2FzZXNcbiAgICogdGhlIGBkZXRhaWxgIGZpZWxkIGNvbnRhaW5zIEpTT04gZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC5kZXRhaWxUeXBlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogYW55O1xufVxuXG4vKipcbiAqIFRoZSBpbnB1dCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwIHRhcmdldFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9nR3JvdXBUYXJnZXRJbnB1dCB7XG4gIC8qKlxuICAgKiBQYXNzIGEgSlNPTiBvYmplY3QgdG8gdGhlIHRoZSBsb2cgZ3JvdXAgZXZlbnQgdGFyZ2V0XG4gICAqXG4gICAqIE1heSBjb250YWluIHN0cmluZ3MgcmV0dXJuZWQgYnkgYEV2ZW50RmllbGQuZnJvbSgpYCB0byBzdWJzdGl0dXRlIGluIHBhcnRzIG9mIHRoZVxuICAgKiBtYXRjaGVkIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KFxuICAgIG9wdGlvbnM/OiBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyxcbiAgKTogUnVsZVRhcmdldElucHV0IHtcbiAgICByZXR1cm4gUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgdGltZXN0YW1wOiBvcHRpb25zPy50aW1lc3RhbXAgPz8gRXZlbnRGaWVsZC50aW1lLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucz8ubWVzc2FnZSA/PyBFdmVudEZpZWxkLmRldGFpbFR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIGlucHV0IG9iamVjdFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQocnVsZTogSVJ1bGUpOiBSdWxlVGFyZ2V0SW5wdXRQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIEN1c3RvbWl6ZSB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cCBFdmVudCBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgZXZlbnQgbG9nZ2VkIGludG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgZW50aXJlIEV2ZW50QnJpZGdlIGV2ZW50XG4gICAqIEBkZXByZWNhdGVkIHVzZSBsb2dFdmVudCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBldmVudD86IFJ1bGVUYXJnZXRJbnB1dDtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIHNlbmQgdG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogVGhpcyB3aWxsIGJlIHRoZSBldmVudCBsb2dnZWQgaW50byB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBlbnRpcmUgRXZlbnRCcmlkZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0V2ZW50PzogTG9nR3JvdXBUYXJnZXRJbnB1dDtcbn1cblxuLyoqXG4gKiBVc2UgYW4gQVdTIENsb3VkV2F0Y2ggTG9nR3JvdXAgYXMgYW4gZXZlbnQgcnVsZSB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nR3JvdXAgaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIHByaXZhdGUgdGFyZ2V0PzogUnVsZVRhcmdldElucHV0UHJvcGVydGllcztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTG9nR3JvdXBQcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9nIGFuIGV2ZW50IGludG8gYSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqL1xuICBwdWJsaWMgYmluZChfcnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIGNvbnN0IGxvZ0dyb3VwU3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzLmxvZ0dyb3VwKTtcbiAgICBpZiAodGhpcy5wcm9wcy5ldmVudCAmJiB0aGlzLnByb3BzLmxvZ0V2ZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgb25lIG9mIFwiZXZlbnRcIiBvciBcImxvZ0V2ZW50XCIgY2FuIGJlIHNwZWNpZmllZCcpO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0ID0gdGhpcy5wcm9wcy5ldmVudD8uYmluZChfcnVsZSk7XG4gICAgaWYgKHRoaXMudGFyZ2V0Py5pbnB1dFBhdGggfHwgdGhpcy50YXJnZXQ/LmlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgZG9lcyBub3Qgc3VwcG9ydCBpbnB1dCBvciBpbnB1dFBhdGhcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dHcm91cC5ncmFudFdyaXRlKG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIpKTtcbiAgICBfcnVsZS5ub2RlLmFkZFZhbGlkYXRpb24oeyB2YWxpZGF0ZTogKCkgPT4gdGhpcy52YWxpZGF0ZUlucHV0VGVtcGxhdGUoKSB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iaW5kQmFzZVRhcmdldENvbmZpZyh0aGlzLnByb3BzKSxcbiAgICAgIGFybjogbG9nR3JvdXBTdGFjay5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImxvZ3NcIixcbiAgICAgICAgcmVzb3VyY2U6IFwibG9nLWdyb3VwXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogdGhpcy5sb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICB9KSxcbiAgICAgIGlucHV0OiB0aGlzLnByb3BzLmV2ZW50ID8/IHRoaXMucHJvcHMubG9nRXZlbnQsXG4gICAgICB0YXJnZXRSZXNvdXJjZTogdGhpcy5sb2dHcm91cCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgdGhlIHRhcmdldCBldmVudCBpbnB1dCB0ZW1wbGF0ZSBoYXMgdGhlIGNvcnJlY3QgZm9ybWF0LlxuICAgKiBUaGUgQ2xvdWRXYXRjaExvZ3MgdGFyZ2V0IG9ubHkgc3VwcG9ydHMgYSB0ZW1wbGF0ZSB3aXRoIHRoZSBmb3JtYXQgb2Y6XG4gICAqICAge1widGltZXN0YW1wXCI6IDx0aW1lPiwgXCJtZXNzYWdlXCI6IDxtZXNzYWdlPn1cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiB0aGUgZGVwcmVjYXRlZCBgZXZlbnRgIHByb3BlcnR5IGlzIHVzZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dFRhcmdldHMuaHRtbFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0VGVtcGxhdGUoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLnRhcmdldD8uaW5wdXRUZW1wbGF0ZSkge1xuICAgICAgY29uc3QgcmVzb2x2ZWRUZW1wbGF0ZSA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMubG9nR3JvdXApLnJlc29sdmUoXG4gICAgICAgIHRoaXMudGFyZ2V0LmlucHV0VGVtcGxhdGUsXG4gICAgICApO1xuICAgICAgaWYgKHR5cGVvZiByZXNvbHZlZFRlbXBsYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIC8vIG5lZWQgdG8gYWRkIHRoZSBxdW90ZXMgYmFjayB0byB0aGUgc3RyaW5nIHNvIHRoYXQgd2UgY2FuIHBhcnNlIHRoZSBqc29uXG4gICAgICAgIC8vICd7XCJ0aW1lc3RhbXBcIjogPHRpbWU+fScgLT4gJ3tcInRpbWVzdGFtcFwiOiBcIjx0aW1lPlwifSdcbiAgICAgICAgY29uc3QgcXVvdGVkVGVtcGxhdGUgPSByZXNvbHZlZFRlbXBsYXRlLnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChcIig8W148Pl0qPz4pXCIsIFwiZ1wiKSxcbiAgICAgICAgICAnXCIkMVwiJyxcbiAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBpbnB1dFRlbXBsYXRlID0gSlNPTi5wYXJzZShxdW90ZWRUZW1wbGF0ZSk7XG4gICAgICAgICAgY29uc3QgaW5wdXRUZW1wbGF0ZUtleXMgPSBPYmplY3Qua2V5cyhpbnB1dFRlbXBsYXRlKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpbnB1dFRlbXBsYXRlS2V5cy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICFpbnB1dFRlbXBsYXRlS2V5cy5pbmNsdWRlcyhcInRpbWVzdGFtcFwiKSB8fFxuICAgICAgICAgICAgIWlucHV0VGVtcGxhdGVLZXlzLmluY2x1ZGVzKFwibWVzc2FnZVwiKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgXCJDbG91ZFdhdGNoTG9nR3JvdXAgdGFyZ2V0cyBvbmx5IHN1cHBvcnQgaW5wdXQgdGVtcGxhdGVzIGluIHRoZSBmb3JtYXQge3RpbWVzdGFtcDogPHRpbWVzdGFtcD4sIG1lc3NhZ2U6IDxtZXNzYWdlPn1cIixcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgXCJDb3VsZCBub3QgcGFyc2UgaW5wdXQgdGVtcGxhdGUgYXMgSlNPTi5cXG5cIiArXG4gICAgICAgICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgb25seSBzdXBwb3J0IGlucHV0IHRlbXBsYXRlcyBpbiB0aGUgZm9ybWF0IHt0aW1lc3RhbXA6IDx0aW1lc3RhbXA+LCBtZXNzYWdlOiA8bWVzc2FnZT59XCIsXG4gICAgICAgICAgICBlLFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -67,5 +67,5 @@ class SqsQueue {
|
|
|
67
67
|
}
|
|
68
68
|
exports.SqsQueue = SqsQueue;
|
|
69
69
|
_a = JSII_RTTI_SYMBOL_1;
|
|
70
|
-
SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.2.
|
|
70
|
+
SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.2.3" };
|
|
71
71
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9zcXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FJZ0I7QUFDaEIsaUNBQWlDO0FBeUJqQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLFFBQVE7SUFDbkIsWUFDa0IsS0FBb0IsRUFDbkIsUUFBdUIsRUFBRTtRQUQxQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRTFDLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsSUFBa0IsRUFBRSxHQUFZO1FBQzFDLDJCQUEyQjtRQUMzQixJQUFJLFVBQVUsR0FBbUI7WUFDL0Isd0VBQXdFO1lBQ3hFLDhDQUE4QztZQUM5QztnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDM0I7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNwQyxVQUFVLEdBQUc7Z0JBQ1g7b0JBQ0UsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN2QjthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQzFCLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FDakUsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQixJQUFBLHlDQUFrQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxJQUFBLDJCQUFvQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMxQixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO2dCQUN0QyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7Z0JBQy9DLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztJQUNKLENBQUM7O0FBdkRILDRCQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG5vdGlmeSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7XG4gIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3ksXG4gIFRhcmdldEJhc2VQcm9wcyxcbiAgYmluZEJhc2VUYXJnZXRDb25maWcsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBTUVMgUXVldWUgRXZlbnQgVGFyZ2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FzUXVldWVQcm9wcyBleHRlbmRzIFRhcmdldEJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIEdyb3VwIElEIGZvciBtZXNzYWdlcyBzZW50IHRvIHRoaXMgcXVldWVcbiAgICpcbiAgICogUmVxdWlyZWQgZm9yIEZJRk8gcXVldWVzLCBsZWF2ZSBlbXB0eSBmb3IgcmVndWxhciBxdWV1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWVzc2FnZSBncm91cCBJRCAocmVndWxhciBxdWV1ZSlcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2VHcm91cElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogTXVzdCBiZSBhIHZhbGlkIEpTT04gdGV4dCBwYXNzZWQgdG8gdGhlIHRhcmdldCBxdWV1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGVudGlyZSBFdmVudEJyaWRnZSBldmVudFxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZT86IG5vdGlmeS5SdWxlVGFyZ2V0SW5wdXQ7XG59XG5cbi8qKlxuICogVXNlIGFuIFNRUyBRdWV1ZSBhcyBhIHRhcmdldCBmb3IgQW1hem9uIEV2ZW50QnJpZGdlIHJ1bGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAgIC8vLyBmaXh0dXJlPXdpdGhSZXBvQW5kU3FzUXVldWVcbiAqICAgLy8gcHVibGlzaCB0byBhbiBTUVMgcXVldWUgZXZlcnkgdGltZSBjb2RlIGlzIGNvbW1pdHRlZFxuICogICAvLyB0byBhIENvZGVDb21taXQgcmVwb3NpdG9yeVxuICogICByZXBvc2l0b3J5Lm9uQ29tbWl0KCdvbkNvbW1pdCcsIHsgdGFyZ2V0OiBuZXcgdGFyZ2V0cy5TcXNRdWV1ZShxdWV1ZSkgfSk7XG4gKlxuICovXG5leHBvcnQgY2xhc3MgU3FzUXVldWUgaW1wbGVtZW50cyBub3RpZnkuSVJ1bGVUYXJnZXQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVldWU6IG5vdGlmeS5JUXVldWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogU3FzUXVldWVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBpZiAocHJvcHMubWVzc2FnZUdyb3VwSWQgIT09IHVuZGVmaW5lZCAmJiAhcXVldWUuZmlmbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWVzc2FnZUdyb3VwSWQgY2Fubm90IGJlIHNwZWNpZmllZCBmb3Igbm9uLUZJRk8gcXVldWVzXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgUnVsZVRhcmdldCB0aGF0IGNhbiBiZSB1c2VkIHRvIHRyaWdnZXIgdGhpcyBTUVMgcXVldWUgYXMgYVxuICAgKiByZXN1bHQgZnJvbSBhbiBFdmVudEJyaWRnZSBldmVudC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZXZlbnRicmlkZ2UvbGF0ZXN0L3VzZXJndWlkZS9yZXNvdXJjZS1iYXNlZC1wb2xpY2llcy1ldmVudGJyaWRnZS5odG1sI3Nxcy1wZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIGJpbmQocnVsZTogbm90aWZ5LklSdWxlLCBfaWQ/OiBzdHJpbmcpOiBub3RpZnkuUnVsZVRhcmdldENvbmZpZyB7XG4gICAgLy8gcmVzdHJpY3QgdG8gc2FtZSBhY2NvdW50XG4gICAgbGV0IGNvbmRpdGlvbnM6IGlhbS5Db25kaXRpb25zID0gW1xuICAgICAgLy8gQWRkIG9ubHkgdGhlIGFjY291bnQgaWQgYXMgYSBjb25kaXRpb24sIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzExMTU4XG4gICAgICB7XG4gICAgICAgIHRlc3Q6IFwiU3RyaW5nRXF1YWxzXCIsXG4gICAgICAgIHZhcmlhYmxlOiBcImF3czpTb3VyY2VBY2NvdW50XCIsXG4gICAgICAgIHZhbHVlczogW3J1bGUuZW52LmFjY291bnRdLFxuICAgICAgfSxcbiAgICBdO1xuICAgIGlmICghdGhpcy5xdWV1ZS5lbmNyeXB0aW9uTWFzdGVyS2V5KSB7XG4gICAgICBjb25kaXRpb25zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdDogXCJBcm5FcXVhbHNcIixcbiAgICAgICAgICB2YXJpYWJsZTogXCJhd3M6U291cmNlQXJuXCIsXG4gICAgICAgICAgdmFsdWVzOiBbcnVsZS5ydWxlQXJuXSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gZGVkdXBsaWNhdGVkIGF1dG9tYXRpY2FsbHkgKGJ5IFBvbGljeURvY3VtZW50IFBvc3RQcm9jZXNzb3IpXG4gICAgdGhpcy5xdWV1ZS5ncmFudFNlbmRNZXNzYWdlcyhcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIsIHsgY29uZGl0aW9ucyB9KSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKSB7XG4gICAgICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5KHJ1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5tZXNzYWdlLFxuICAgICAgdGFyZ2V0UmVzb3VyY2U6IHRoaXMucXVldWUsXG4gICAgICBzcXNQYXJhbWV0ZXJzOiB0aGlzLnByb3BzLm1lc3NhZ2VHcm91cElkXG4gICAgICAgID8geyBtZXNzYWdlR3JvdXBJZDogdGhpcy5wcm9wcy5tZXNzYWdlR3JvdXBJZCB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -35,5 +35,5 @@ class SfnStateMachine {
|
|
|
35
35
|
}
|
|
36
36
|
exports.SfnStateMachine = SfnStateMachine;
|
|
37
37
|
_a = JSII_RTTI_SYMBOL_1;
|
|
38
|
-
SfnStateMachine[_a] = { fqn: "terraconstructs.aws.notify.targets.SfnStateMachine", version: "0.2.
|
|
38
|
+
SfnStateMachine[_a] = { fqn: "terraconstructs.aws.notify.targets.SfnStateMachine", version: "0.2.3" };
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RhcmdldHMvc3RhdGUtbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGlDQUtnQjtBQXVCaEI7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFHMUIsWUFDa0IsT0FBOEIsRUFDN0IsUUFBOEIsRUFBRTtRQURqQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUVqRCwrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUEseUJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxLQUFtQixFQUFFLEdBQVk7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUEseUNBQWtDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLElBQUEsMkJBQW9CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzdCLENBQUM7SUFDSixDQUFDOztBQTdCSCwwQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBub3RpZnkgZnJvbSBcIi4uXCI7XG5pbXBvcnQge1xuICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5LFxuICBiaW5kQmFzZVRhcmdldENvbmZpZyxcbiAgc2luZ2xldG9uRXZlbnRSb2xlLFxuICBUYXJnZXRCYXNlUHJvcHMsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uLy4uL2NvbXB1dGVcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBTdGVwIEZ1bmN0aW9ucyBTdGF0ZSBNYWNoaW5lIHRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNmblN0YXRlTWFjaGluZVByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCB0byB0aGUgc3RhdGUgbWFjaGluZSBleGVjdXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGVudGlyZSBFdmVudEJyaWRnZSBldmVudFxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ/OiBub3RpZnkuUnVsZVRhcmdldElucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdG8gYmUgYXNzdW1lZCB0byBleGVjdXRlIHRoZSBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuZXcgcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogVXNlIGEgU3RlcEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIGFzIGEgdGFyZ2V0IGZvciBBbWF6b24gRXZlbnRCcmlkZ2UgcnVsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZm5TdGF0ZU1hY2hpbmUgaW1wbGVtZW50cyBub3RpZnkuSVJ1bGVUYXJnZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFjaGluZTogY29tcHV0ZS5JU3RhdGVNYWNoaW5lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFNmblN0YXRlTWFjaGluZVByb3BzID0ge30sXG4gICkge1xuICAgIC8vIG5vIHN0YXRlbWVudHMgYXJlIHBhc3NlZCBiZWNhdXNlIHdlIGFyZSBjb25maWd1cmluZyBwZXJtaXNzaW9ucyBieSB1c2luZyBncmFudCogaGVscGVyIGJlbG93XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBzaW5nbGV0b25FdmVudFJvbGUobWFjaGluZSk7XG4gICAgbWFjaGluZS5ncmFudFN0YXJ0RXhlY3V0aW9uKHRoaXMucm9sZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb3BlcnRpZXMgdGhhdCBhcmUgdXNlZCBpbiBhbiBSdWxlIHRvIHRyaWdnZXIgdGhpcyBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2UtYmFzZWQtcG9saWNpZXMtZXZlbnRicmlkZ2UuaHRtbCNzbnMtcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBiaW5kKF9ydWxlOiBub3RpZnkuSVJ1bGUsIF9pZD86IHN0cmluZyk6IG5vdGlmeS5SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3koX3J1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMubWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5pbnB1dCxcbiAgICAgIHRhcmdldFJlc291cmNlOiB0aGlzLm1hY2hpbmUsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as constructs from "constructs";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { INotificationRuleTarget, NotificationRuleTargetConfig } from "./notification-rule-target";
|
|
4
|
+
import { TopicGrants } from "./sns-grants.generated";
|
|
4
5
|
import { ITopicSubscription } from "./subscriber";
|
|
5
6
|
import { Subscription } from "./subscription";
|
|
6
7
|
import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
@@ -97,6 +98,10 @@ export declare abstract class TopicBase extends AwsConstructBase implements ITop
|
|
|
97
98
|
abstract readonly masterKey?: IKey;
|
|
98
99
|
abstract readonly fifo: boolean;
|
|
99
100
|
abstract readonly contentBasedDeduplication: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Collection of grant methods for a Topic
|
|
103
|
+
*/
|
|
104
|
+
readonly grants: TopicGrants;
|
|
100
105
|
/**
|
|
101
106
|
* Controls automatic creation of policy objects.
|
|
102
107
|
*
|
|
@@ -138,6 +143,7 @@ export declare abstract class TopicBase extends AwsConstructBase implements ITop
|
|
|
138
143
|
* For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
|
|
139
144
|
*/
|
|
140
145
|
protected createSSLPolicyDocument(): iam.PolicyStatement;
|
|
146
|
+
grantOnKey(grantee: iam.IGrantable, ...actions: string[]): iam.GrantOnKeyResult;
|
|
141
147
|
/**
|
|
142
148
|
* Grant topic publishing permissions to the given identity
|
|
143
149
|
*/
|
|
@@ -3,9 +3,10 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.TopicBase = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
// https://github.com/aws/aws-cdk/blob/
|
|
6
|
+
// https://github.com/aws/aws-cdk/blob/v2.233.0/packages/aws-cdk-lib/aws-sns/lib/topic-base.ts
|
|
7
7
|
const cdktf_1 = require("cdktf");
|
|
8
8
|
const policy_1 = require("./policy");
|
|
9
|
+
const sns_grants_generated_1 = require("./sns-grants.generated");
|
|
9
10
|
const subscription_1 = require("./subscription");
|
|
10
11
|
const errors_1 = require("../../errors");
|
|
11
12
|
const aws_construct_1 = require("../aws-construct");
|
|
@@ -25,6 +26,10 @@ class TopicBase extends aws_construct_1.AwsConstructBase {
|
|
|
25
26
|
}
|
|
26
27
|
constructor(scope, id, props = {}) {
|
|
27
28
|
super(scope, id, props);
|
|
29
|
+
/**
|
|
30
|
+
* Collection of grant methods for a Topic
|
|
31
|
+
*/
|
|
32
|
+
this.grants = sns_grants_generated_1.TopicGrants.fromTopic(this);
|
|
28
33
|
this.node.addValidation({
|
|
29
34
|
validate: () => this.policy?.document.validateForResourcePolicy() ?? [],
|
|
30
35
|
});
|
|
@@ -111,31 +116,23 @@ class TopicBase extends aws_construct_1.AwsConstructBase {
|
|
|
111
116
|
principals: [new iam.StarPrincipal()],
|
|
112
117
|
});
|
|
113
118
|
}
|
|
119
|
+
grantOnKey(grantee, ...actions) {
|
|
120
|
+
const grant = this.masterKey
|
|
121
|
+
? this.masterKey.grant(grantee, ...actions)
|
|
122
|
+
: undefined;
|
|
123
|
+
return { grant };
|
|
124
|
+
}
|
|
114
125
|
/**
|
|
115
126
|
* Grant topic publishing permissions to the given identity
|
|
116
127
|
*/
|
|
117
128
|
grantPublish(grantee) {
|
|
118
|
-
|
|
119
|
-
grantee,
|
|
120
|
-
actions: ["sns:Publish"],
|
|
121
|
-
resourceArns: [this.topicArn],
|
|
122
|
-
resource: this,
|
|
123
|
-
});
|
|
124
|
-
if (this.masterKey) {
|
|
125
|
-
this.masterKey.grant(grantee, "kms:Decrypt", "kms:GenerateDataKey*");
|
|
126
|
-
}
|
|
127
|
-
return ret;
|
|
129
|
+
return this.grants.publish(grantee);
|
|
128
130
|
}
|
|
129
131
|
/**
|
|
130
132
|
* Grant topic subscribing permissions to the given identity
|
|
131
133
|
*/
|
|
132
134
|
grantSubscribe(grantee) {
|
|
133
|
-
return
|
|
134
|
-
grantee,
|
|
135
|
-
actions: ["sns:Subscribe"],
|
|
136
|
-
resourceArns: [this.topicArn],
|
|
137
|
-
resource: this,
|
|
138
|
-
});
|
|
135
|
+
return this.grants.subscribe(grantee);
|
|
139
136
|
}
|
|
140
137
|
/**
|
|
141
138
|
* Represents a notification target
|
|
@@ -171,5 +168,5 @@ class TopicBase extends aws_construct_1.AwsConstructBase {
|
|
|
171
168
|
}
|
|
172
169
|
exports.TopicBase = TopicBase;
|
|
173
170
|
_a = JSII_RTTI_SYMBOL_1;
|
|
174
|
-
TopicBase[_a] = { fqn: "terraconstructs.aws.notify.TopicBase", version: "0.2.
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RvcGljLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4SEFBOEg7QUFFOUgsaUNBQThCO0FBTzlCLHFDQUF1QztBQUV2QyxpREFBOEM7QUFDOUMseUNBQStDO0FBQy9DLG9EQUkwQjtBQUUxQiw4QkFBOEI7QUErRjlCOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLGdDQUFnQjtJQUN0RCxJQUFXLFlBQVk7UUFDckIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUF5QkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUEyQixFQUFFO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUU7U0FDeEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFDLGlCQUFxQztRQUMxRCxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO1FBQ3pELElBQUksRUFBRSxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLGFBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMs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QUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNmLHNCQUFzQjtnQkFDdEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztnQkFDckYsSUFBSSxXQUFXLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzlCLDRFQUE0RTtvQkFDNUUsVUFBVSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8scUJBQXFCLFVBQVUsRUFBRSxDQUFDO0lBQzNDLENBQUM7O0FBOU1ILDhCQStNQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2YxYzA5MjYzNGEzOTFiMGI3YWVkMGY3NTYyNmRkNmQwZmZkNTY1NjQvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXNucy9saWIvdG9waWMtYmFzZS50c1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIElOb3RpZmljYXRpb25SdWxlVGFyZ2V0LFxuICBOb3RpZmljYXRpb25SdWxlVGFyZ2V0Q29uZmlnLFxufSBmcm9tIFwiLi9ub3RpZmljYXRpb24tcnVsZS10YXJnZXRcIjtcbmltcG9ydCB7IFRvcGljUG9saWN5IH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQgeyBJVG9waWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9zdWJzY3JpYmVyXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9zdWJzY3JpcHRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvcnNcIjtcbmltcG9ydCB7XG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUtleSB9IGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIE91dHB1dHMgZm9yIHRoZSBTdWJzY3JpcHRpb24gY29uc3RydWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB0b3BpY1xuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBTTlMgdG9waWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9waWMgZXh0ZW5kcyBJQXdzQ29uc3RydWN0LCBJTm90aWZpY2F0aW9uUnVsZVRhcmdldCB7XG4gIC8qKlxuICAgKiBzdHJvbmdseSB0eXBlZCBvdXRwdXRzIGZvciB0aGUgdG9waWNcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljT3V0cHV0czogVG9waWNPdXRwdXRzO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRvcGljXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEtNUyBLZXksIGVpdGhlciBtYW5hZ2VkIGJ5IHRoaXMgQ0RLIGFwcCwgb3IgaW1wb3J0ZWQuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgYXBwbGllcyBvbmx5IHRvIHNlcnZlci1zaWRlIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlcnZlci1zaWRlLWVuY3J5cHRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbnRlbnQtYmFzZWQgZGVkdXBsaWNhdGlvbiBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyB0b3BpYyBpcyBhbiBBbWF6b24gU05TIEZJRk8gcXVldWUuIElmIGZhbHNlLCB0aGlzIGlzIGEgc3RhbmRhcmQgdG9waWMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGZpZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSBzb21lIGVuZHBvaW50IHRvIHRoaXMgdG9waWNcbiAgICovXG4gIGFkZFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb246IElUb3BpY1N1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLiBJZlxuICAgKiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRvcGljIHB1Ymxpc2hpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBncmFudFB1Ymxpc2goaWRlbnRpdHk6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCB0b3BpYyBzdWJzY3JpYmluZyBwZXJtaXNzaW9ucyB0byB0aGUgZ2l2ZW4gaWRlbnRpdHlcbiAgICovXG4gIGdyYW50U3Vic2NyaWJlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBFaXRoZXIgYSBuZXcgb3IgaW1wb3J0ZWQgVG9waWNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvcGljQmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJVG9waWMge1xuICBwdWJsaWMgZ2V0IHRvcGljT3V0cHV0cygpOiBUb3BpY091dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICB0b3BpY0FybjogdGhpcy50b3BpY0FybixcbiAgICAgIHRvcGljTmFtZTogdGhpcy50b3BpY05hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMudG9waWNPdXRwdXRzO1xuICB9XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY05hbWU6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbWFzdGVyS2V5PzogSUtleTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29udHJvbHMgYXV0b21hdGljIGNyZWF0aW9uIG9mIHBvbGljeSBvYmplY3RzLlxuICAgKlxuICAgKiBTZXQgYnkgc3ViY2xhc3Nlcy5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBhdXRvQ3JlYXRlUG9saWN5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIGVuZm9yY2UgZW5jcnlwdGlvbiBvZiBkYXRhIGluIHRyYW5zaXQgd2hlbiBwdWJsaXNoaW5nIHRvIHRoZSB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBlbmZvcmNlU1NMPzogYm9vbGVhbjtcblxuICBwcml2YXRlIHBvbGljeT86IFRvcGljUG9saWN5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDb25zdHJ1Y3RQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdGhpcy5wb2xpY3k/LmRvY3VtZW50LnZhbGlkYXRlRm9yUmVzb3VyY2VQb2xpY3koKSA/PyBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgc29tZSBlbmRwb2ludCB0byB0aGlzIHRvcGljXG4gICAqL1xuICBwdWJsaWMgYWRkU3Vic2NyaXB0aW9uKHRvcGljU3Vic2NyaXB0aW9uOiBJVG9waWNTdWJzY3JpcHRpb24pOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbkNvbmZpZyA9IHRvcGljU3Vic2NyaXB0aW9uLmJpbmQodGhpcyk7XG5cbiAgICBjb25zdCBzY29wZSA9IHN1YnNjcmlwdGlvbkNvbmZpZy5zdWJzY3JpYmVyU2NvcGUgfHwgdGhpcztcbiAgICBsZXQgaWQgPSBzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaWJlcklkO1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmliZXJJZCkpIHtcbiAgICAgIGlkID0gdGhpcy5uZXh0VG9rZW5JZChzY29wZSk7XG4gICAgfVxuXG4gICAgLy8gV2UgdXNlIHRoZSBzdWJzY3JpYmVyJ3MgaWQgYXMgdGhlIGNvbnN0cnVjdCBpZC4gVGhlcmUncyBubyBtZWFuaW5nXG4gICAgLy8gdG8gc3Vic2NyaWJpbmcgdGhlIHNhbWUgc3Vic2NyaWJlciB0d2ljZSBvbiB0aGUgc2FtZSB0b3BpYy5cbiAgICBpZiAoc2NvcGUubm9kZS50cnlGaW5kQ2hpbGQoaWQpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgQSBzdWJzY3JpcHRpb24gd2l0aCBpZCBcIiR7aWR9XCIgYWxyZWFkeSBleGlzdHMgdW5kZXIgdGhlIHNjb3BlICR7c2NvcGUubm9kZS5wYXRofWAsXG4gICAgICAgIHNjb3BlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKHNjb3BlLCBpZCwge1xuICAgICAgdG9waWM6IHRoaXMsXG4gICAgICAuLi5zdWJzY3JpcHRpb25Db25maWcsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBmb3IgdGhlIHN1YnNjcmlwdGlvbiwgZm9yIGV4YW1wbGUgZm9yIFNRUyBzdWJzY3JpcHRpb25cbiAgICAvLyB0aGUgcXVldWUgcG9saWN5IGhhcyB0byBkZXBsb3kgYmVmb3JlIHRoZSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZFxuICAgIGlmIChzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaXB0aW9uRGVwZW5kZW5jeSkge1xuICAgICAgc3Vic2NyaXB0aW9uLm5vZGUuYWRkRGVwZW5kZW5jeShcbiAgICAgICAgc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmlwdGlvbkRlcGVuZGVuY3ksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLlxuICAgKiBIb3dldmVyLCBpZiBgZW5mb3JjZVNTTGAgaXMgc2V0IHRvIGB0cnVlYCwgdGhlIHBvbGljeSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWRcbiAgICogYmVmb3JlIHRoZSBmaXJzdCBjYWxsIHRvIHRoaXMgbWV0aG9kLlxuICAgKlxuICAgKiBJZiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogZmFsc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgU1NMIHBvbGljeSB0byB0aGUgdG9waWMgcmVzb3VyY2UgcG9saWN5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZFNTTFBvbGljeSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHModGhpcy5jcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHRvcGljIHBvbGljeSBmb3IgdGhpcyB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVUb3BpY1BvbGljeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucG9saWN5ICYmIHRoaXMuYXV0b0NyZWF0ZVBvbGljeSkge1xuICAgICAgdGhpcy5wb2xpY3kgPSBuZXcgVG9waWNQb2xpY3kodGhpcywgXCJQb2xpY3lcIiwgeyB0b3BpY3M6IFt0aGlzXSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byBlbmZvcmNlIGVuY3J5cHRpb24gb2YgZGF0YSBpbiB0cmFuc2l0IHdoZW4gcHVibGlzaGluZyB0byB0aGUgdG9waWMuXG4gICAqXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlY3VyaXR5LWJlc3QtcHJhY3RpY2VzLmh0bWwjZW5mb3JjZS1lbmNyeXB0aW9uLWRhdGEtaW4tdHJhbnNpdC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpOiBpYW0uUG9saWN5U3RhdGVtZW50IHtcbiAgICByZXR1cm4gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiBcIkFsbG93UHVibGlzaFRocm91Z2hTU0xPbmx5XCIsXG4gICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy50b3BpY0Fybl0sXG4gICAgICBjb25kaXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3Q6IFwiQm9vbFwiLFxuICAgICAgICAgIHZhbHVlczogW1wiZmFsc2VcIl0sXG4gICAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNlY3VyZVRyYW5zcG9ydFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLlN0YXJQcmluY2lwYWwoKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9waWMgcHVibGlzaGluZyBwZXJtaXNzaW9ucyB0byB0aGUgZ2l2ZW4gaWRlbnRpdHlcbiAgICovXG4gIHB1YmxpYyBncmFudFB1Ymxpc2goZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICBjb25zdCByZXQgPSBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWxPclJlc291cmNlKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudG9waWNBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMubWFzdGVyS2V5KSB7XG4gICAgICB0aGlzLm1hc3RlcktleS5ncmFudChncmFudGVlLCBcImttczpEZWNyeXB0XCIsIFwia21zOkdlbmVyYXRlRGF0YUtleSpcIik7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9waWMgc3Vic2NyaWJpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBwdWJsaWMgZ3JhbnRTdWJzY3JpYmUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsT3JSZXNvdXJjZSh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogW1wic25zOlN1YnNjcmliZVwiXSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudG9waWNBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhIG5vdGlmaWNhdGlvbiB0YXJnZXRcbiAgICogVGhhdCBhbGxvd3MgU05TIHRvcGljIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgcnVsZSB0YXJnZXQuXG4gICAqL1xuICBwdWJsaWMgYmluZEFzTm90aWZpY2F0aW9uUnVsZVRhcmdldChcbiAgICBfc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICApOiBOb3RpZmljYXRpb25SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICAvLyBTTlMgdG9waWMgbmVlZCB0byBncmFudCBjb2Rlc3Rhci1ub3RpZmljYXRpb25zIHNlcnZpY2UgdG8gcHVibGlzaFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2R0Y29uc29sZS9sYXRlc3QvdXNlcmd1aWRlL3NldC11cC1zbnMuaHRtbFxuICAgIHRoaXMuZ3JhbnRQdWJsaXNoKFxuICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY29kZXN0YXItbm90aWZpY2F0aW9ucy5hbWF6b25hd3MuY29tXCIpLFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IFwiU05TXCIsXG4gICAgICB0YXJnZXRBZGRyZXNzOiB0aGlzLnRvcGljQXJuLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG5leHRUb2tlbklkKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBsZXQgbmV4dFN1ZmZpeCA9IDE7XG4gICAgY29uc3QgcmUgPSAvVG9rZW5TdWJzY3JpcHRpb246KFtcXGRdKikvZ207XG4gICAgLy8gU2VhcmNoIHRocm91Z2ggdGhlIGNvbnN0cnVjdCBhbmQgYWxsIG9mIGl0cyBjaGlsZHJlblxuICAgIC8vIGZvciBwcmV2aW91cyBzdWJzY3JpcHRpb25zIHRoYXQgbWF0Y2ggb3VyIHJlZ2V4IHBhdHRlcm5cbiAgICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBzY29wZS5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgY29uc3QgbSA9IHJlLmV4ZWMoc291cmNlLm5vZGUuaWQpOyAvLyBVc2UgcmVnZXggdG8gZmluZCBhIG1hdGNoXG4gICAgICBpZiAobSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBpZiB3ZSBmb3VuZCBhIG1hdGNoXG4gICAgICAgIGNvbnN0IG1hdGNoU3VmZml4ID0gcGFyc2VJbnQobVsxXSwgMTApOyAvLyBnZXQgdGhlIHN1ZmZpeCBmb3IgdGhhdCBtYXRjaCAoYXMgaW50ZWdlcilcbiAgICAgICAgaWYgKG1hdGNoU3VmZml4ID49IG5leHRTdWZmaXgpIHtcbiAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWF0Y2ggc3VmZml4IGlzIGxhcmdlciBvciBlcXVhbCB0byBjdXJyZW50bHkgcHJvcG9zZWQgc3VmZml4XG4gICAgICAgICAgbmV4dFN1ZmZpeCA9IG1hdGNoU3VmZml4ICsgMTsgLy8gaW5jcmVtZW50IHRoZSBzdWZmaXhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYFRva2VuU3Vic2NyaXB0aW9uOiR7bmV4dFN1ZmZpeH1gO1xuICB9XG59XG4iXX0=
|
|
171
|
+
TopicBase[_a] = { fqn: "terraconstructs.aws.notify.TopicBase", version: "0.2.3" };
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RvcGljLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4RkFBOEY7QUFFOUYsaUNBQThCO0FBTzlCLHFDQUF1QztBQUN2QyxpRUFBcUQ7QUFFckQsaURBQThDO0FBQzlDLHlDQUErQztBQUMvQyxvREFJMEI7QUFFMUIsOEJBQThCO0FBZ0c5Qjs7R0FFRztBQUNILE1BQXNCLFNBQVUsU0FBUSxnQ0FBZ0I7SUFDdEQsSUFBVyxZQUFZO1FBQ3JCLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBOEJELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBMkIsRUFBRTtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQXBCMUI7O1dBRUc7UUFDYSxXQUFNLEdBQWdCLGtDQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBbUJoRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMseUJBQXlCLEVBQUUsSUFBSSxFQUFFO1NBQ3hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxpQkFBcUM7UUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztRQUN6RCxJ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USxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztnQkFDckYsSUFBSSxXQUFXLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzlCLDRFQUE0RTtvQkFDNUUsVUFBVSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8scUJBQXFCLFVBQVUsRUFBRSxDQUFDO0lBQzNDLENBQUM7O0FBaE5ILDhCQWlOQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjIzMy4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zbnMvbGliL3RvcGljLWJhc2UudHNcblxuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBJTm90aWZpY2F0aW9uUnVsZVRhcmdldCxcbiAgTm90aWZpY2F0aW9uUnVsZVRhcmdldENvbmZpZyxcbn0gZnJvbSBcIi4vbm90aWZpY2F0aW9uLXJ1bGUtdGFyZ2V0XCI7XG5pbXBvcnQgeyBUb3BpY1BvbGljeSB9IGZyb20gXCIuL3BvbGljeVwiO1xuaW1wb3J0IHsgVG9waWNHcmFudHMgfSBmcm9tIFwiLi9zbnMtZ3JhbnRzLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgSVRvcGljU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4vc3Vic2NyaWJlclwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcIi4vc3Vic2NyaXB0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzXCI7XG5pbXBvcnQge1xuICBJQXdzQ29uc3RydWN0LFxuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElLZXkgfSBmcm9tIFwiLi4vZW5jcnlwdGlvblwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi9pYW1cIjtcblxuLyoqXG4gKiBPdXRwdXRzIGZvciB0aGUgU3Vic2NyaXB0aW9uIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb3BpY091dHB1dHMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRvcGljXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gU05TIHRvcGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRvcGljIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCwgSU5vdGlmaWNhdGlvblJ1bGVUYXJnZXQge1xuICAvKipcbiAgICogc3Ryb25nbHkgdHlwZWQgb3V0cHV0cyBmb3IgdGhlIHRvcGljXG4gICAqL1xuICByZWFkb25seSB0b3BpY091dHB1dHM6IFRvcGljT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRvcGljXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEtNUyBLZXksIGVpdGhlciBtYW5hZ2VkIGJ5IHRoaXMgQ0RLIGFwcCwgb3IgaW1wb3J0ZWQuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgYXBwbGllcyBvbmx5IHRvIHNlcnZlci1zaWRlIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlcnZlci1zaWRlLWVuY3J5cHRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbnRlbnQtYmFzZWQgZGVkdXBsaWNhdGlvbiBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyB0b3BpYyBpcyBhbiBBbWF6b24gU05TIEZJRk8gcXVldWUuIElmIGZhbHNlLCB0aGlzIGlzIGEgc3RhbmRhcmQgdG9waWMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGZpZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSBzb21lIGVuZHBvaW50IHRvIHRoaXMgdG9waWNcbiAgICovXG4gIGFkZFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb246IElUb3BpY1N1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLiBJZlxuICAgKiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRvcGljIHB1Ymxpc2hpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBncmFudFB1Ymxpc2goaWRlbnRpdHk6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCB0b3BpYyBzdWJzY3JpYmluZyBwZXJtaXNzaW9ucyB0byB0aGUgZ2l2ZW4gaWRlbnRpdHlcbiAgICovXG4gIGdyYW50U3Vic2NyaWJlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBFaXRoZXIgYSBuZXcgb3IgaW1wb3J0ZWQgVG9waWNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvcGljQmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJVG9waWMge1xuICBwdWJsaWMgZ2V0IHRvcGljT3V0cHV0cygpOiBUb3BpY091dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICB0b3BpY0FybjogdGhpcy50b3BpY0FybixcbiAgICAgIHRvcGljTmFtZTogdGhpcy50b3BpY05hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMudG9waWNPdXRwdXRzO1xuICB9XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY05hbWU6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbWFzdGVyS2V5PzogSUtleTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29sbGVjdGlvbiBvZiBncmFudCBtZXRob2RzIGZvciBhIFRvcGljXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRzOiBUb3BpY0dyYW50cyA9IFRvcGljR3JhbnRzLmZyb21Ub3BpYyh0aGlzKTtcblxuICAvKipcbiAgICogQ29udHJvbHMgYXV0b21hdGljIGNyZWF0aW9uIG9mIHBvbGljeSBvYmplY3RzLlxuICAgKlxuICAgKiBTZXQgYnkgc3ViY2xhc3Nlcy5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBhdXRvQ3JlYXRlUG9saWN5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIGVuZm9yY2UgZW5jcnlwdGlvbiBvZiBkYXRhIGluIHRyYW5zaXQgd2hlbiBwdWJsaXNoaW5nIHRvIHRoZSB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBlbmZvcmNlU1NMPzogYm9vbGVhbjtcblxuICBwcml2YXRlIHBvbGljeT86IFRvcGljUG9saWN5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDb25zdHJ1Y3RQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdGhpcy5wb2xpY3k/LmRvY3VtZW50LnZhbGlkYXRlRm9yUmVzb3VyY2VQb2xpY3koKSA/PyBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgc29tZSBlbmRwb2ludCB0byB0aGlzIHRvcGljXG4gICAqL1xuICBwdWJsaWMgYWRkU3Vic2NyaXB0aW9uKHRvcGljU3Vic2NyaXB0aW9uOiBJVG9waWNTdWJzY3JpcHRpb24pOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbkNvbmZpZyA9IHRvcGljU3Vic2NyaXB0aW9uLmJpbmQodGhpcyk7XG5cbiAgICBjb25zdCBzY29wZSA9IHN1YnNjcmlwdGlvbkNvbmZpZy5zdWJzY3JpYmVyU2NvcGUgfHwgdGhpcztcbiAgICBsZXQgaWQgPSBzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaWJlcklkO1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmliZXJJZCkpIHtcbiAgICAgIGlkID0gdGhpcy5uZXh0VG9rZW5JZChzY29wZSk7XG4gICAgfVxuXG4gICAgLy8gV2UgdXNlIHRoZSBzdWJzY3JpYmVyJ3MgaWQgYXMgdGhlIGNvbnN0cnVjdCBpZC4gVGhlcmUncyBubyBtZWFuaW5nXG4gICAgLy8gdG8gc3Vic2NyaWJpbmcgdGhlIHNhbWUgc3Vic2NyaWJlciB0d2ljZSBvbiB0aGUgc2FtZSB0b3BpYy5cbiAgICBpZiAoc2NvcGUubm9kZS50cnlGaW5kQ2hpbGQoaWQpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgQSBzdWJzY3JpcHRpb24gd2l0aCBpZCBcIiR7aWR9XCIgYWxyZWFkeSBleGlzdHMgdW5kZXIgdGhlIHNjb3BlICR7c2NvcGUubm9kZS5wYXRofWAsXG4gICAgICAgIHNjb3BlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKHNjb3BlLCBpZCwge1xuICAgICAgdG9waWM6IHRoaXMsXG4gICAgICAuLi5zdWJzY3JpcHRpb25Db25maWcsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBmb3IgdGhlIHN1YnNjcmlwdGlvbiwgZm9yIGV4YW1wbGUgZm9yIFNRUyBzdWJzY3JpcHRpb25cbiAgICAvLyB0aGUgcXVldWUgcG9saWN5IGhhcyB0byBkZXBsb3kgYmVmb3JlIHRoZSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZFxuICAgIGlmIChzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaXB0aW9uRGVwZW5kZW5jeSkge1xuICAgICAgc3Vic2NyaXB0aW9uLm5vZGUuYWRkRGVwZW5kZW5jeShcbiAgICAgICAgc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmlwdGlvbkRlcGVuZGVuY3ksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLlxuICAgKiBIb3dldmVyLCBpZiBgZW5mb3JjZVNTTGAgaXMgc2V0IHRvIGB0cnVlYCwgdGhlIHBvbGljeSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWRcbiAgICogYmVmb3JlIHRoZSBmaXJzdCBjYWxsIHRvIHRoaXMgbWV0aG9kLlxuICAgKlxuICAgKiBJZiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogZmFsc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgU1NMIHBvbGljeSB0byB0aGUgdG9waWMgcmVzb3VyY2UgcG9saWN5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZFNTTFBvbGljeSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHModGhpcy5jcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHRvcGljIHBvbGljeSBmb3IgdGhpcyB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVUb3BpY1BvbGljeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucG9saWN5ICYmIHRoaXMuYXV0b0NyZWF0ZVBvbGljeSkge1xuICAgICAgdGhpcy5wb2xpY3kgPSBuZXcgVG9waWNQb2xpY3kodGhpcywgXCJQb2xpY3lcIiwgeyB0b3BpY3M6IFt0aGlzXSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byBlbmZvcmNlIGVuY3J5cHRpb24gb2YgZGF0YSBpbiB0cmFuc2l0IHdoZW4gcHVibGlzaGluZyB0byB0aGUgdG9waWMuXG4gICAqXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlY3VyaXR5LWJlc3QtcHJhY3RpY2VzLmh0bWwjZW5mb3JjZS1lbmNyeXB0aW9uLWRhdGEtaW4tdHJhbnNpdC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpOiBpYW0uUG9saWN5U3RhdGVtZW50IHtcbiAgICByZXR1cm4gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiBcIkFsbG93UHVibGlzaFRocm91Z2hTU0xPbmx5XCIsXG4gICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy50b3BpY0Fybl0sXG4gICAgICBjb25kaXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3Q6IFwiQm9vbFwiLFxuICAgICAgICAgIHZhbHVlczogW1wiZmFsc2VcIl0sXG4gICAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNlY3VyZVRyYW5zcG9ydFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLlN0YXJQcmluY2lwYWwoKV0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRPbktleShcbiAgICBncmFudGVlOiBpYW0uSUdyYW50YWJsZSxcbiAgICAuLi5hY3Rpb25zOiBzdHJpbmdbXVxuICApOiBpYW0uR3JhbnRPbktleVJlc3VsdCB7XG4gICAgY29uc3QgZ3JhbnQgPSB0aGlzLm1hc3RlcktleVxuICAgICAgPyB0aGlzLm1hc3RlcktleS5ncmFudChncmFudGVlLCAuLi5hY3Rpb25zKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4geyBncmFudCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRvcGljIHB1Ymxpc2hpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBwdWJsaWMgZ3JhbnRQdWJsaXNoKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnRzLnB1Ymxpc2goZ3JhbnRlZSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9waWMgc3Vic2NyaWJpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBwdWJsaWMgZ3JhbnRTdWJzY3JpYmUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudHMuc3Vic2NyaWJlKGdyYW50ZWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYSBub3RpZmljYXRpb24gdGFyZ2V0XG4gICAqIFRoYXQgYWxsb3dzIFNOUyB0b3BpYyB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIHJ1bGUgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIGJpbmRBc05vdGlmaWNhdGlvblJ1bGVUYXJnZXQoXG4gICAgX3Njb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgKTogTm90aWZpY2F0aW9uUnVsZVRhcmdldENvbmZpZyB7XG4gICAgLy8gU05TIHRvcGljIG5lZWQgdG8gZ3JhbnQgY29kZXN0YXItbm90aWZpY2F0aW9ucyBzZXJ2aWNlIHRvIHB1Ymxpc2hcbiAgICAvLyBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kdGNvbnNvbGUvbGF0ZXN0L3VzZXJndWlkZS9zZXQtdXAtc25zLmh0bWxcbiAgICB0aGlzLmdyYW50UHVibGlzaChcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImNvZGVzdGFyLW5vdGlmaWNhdGlvbnMuYW1hem9uYXdzLmNvbVwiKSxcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBcIlNOU1wiLFxuICAgICAgdGFyZ2V0QWRkcmVzczogdGhpcy50b3BpY0FybixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBuZXh0VG9rZW5JZChzY29wZTogQ29uc3RydWN0KSB7XG4gICAgbGV0IG5leHRTdWZmaXggPSAxO1xuICAgIGNvbnN0IHJlID0gL1Rva2VuU3Vic2NyaXB0aW9uOihbXFxkXSopL2dtO1xuICAgIC8vIFNlYXJjaCB0aHJvdWdoIHRoZSBjb25zdHJ1Y3QgYW5kIGFsbCBvZiBpdHMgY2hpbGRyZW5cbiAgICAvLyBmb3IgcHJldmlvdXMgc3Vic2NyaXB0aW9ucyB0aGF0IG1hdGNoIG91ciByZWdleCBwYXR0ZXJuXG4gICAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc2NvcGUubm9kZS5maW5kQWxsKCkpIHtcbiAgICAgIGNvbnN0IG0gPSByZS5leGVjKHNvdXJjZS5ub2RlLmlkKTsgLy8gVXNlIHJlZ2V4IHRvIGZpbmQgYSBtYXRjaFxuICAgICAgaWYgKG0gIT09IG51bGwpIHtcbiAgICAgICAgLy8gaWYgd2UgZm91bmQgYSBtYXRjaFxuICAgICAgICBjb25zdCBtYXRjaFN1ZmZpeCA9IHBhcnNlSW50KG1bMV0sIDEwKTsgLy8gZ2V0IHRoZSBzdWZmaXggZm9yIHRoYXQgbWF0Y2ggKGFzIGludGVnZXIpXG4gICAgICAgIGlmIChtYXRjaFN1ZmZpeCA+PSBuZXh0U3VmZml4KSB7XG4gICAgICAgICAgLy8gY2hlY2sgaWYgdGhlIG1hdGNoIHN1ZmZpeCBpcyBsYXJnZXIgb3IgZXF1YWwgdG8gY3VycmVudGx5IHByb3Bvc2VkIHN1ZmZpeFxuICAgICAgICAgIG5leHRTdWZmaXggPSBtYXRjaFN1ZmZpeCArIDE7IC8vIGluY3JlbWVudCB0aGUgc3VmZml4XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGBUb2tlblN1YnNjcmlwdGlvbjoke25leHRTdWZmaXh9YDtcbiAgfVxufVxuIl19
|
|
@@ -87,6 +87,31 @@ export interface TopicProps extends AwsConstructProps {
|
|
|
87
87
|
* @default TracingConfig.PASS_THROUGH
|
|
88
88
|
*/
|
|
89
89
|
readonly tracingConfig?: TracingConfig;
|
|
90
|
+
/**
|
|
91
|
+
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
|
92
|
+
*
|
|
93
|
+
* You can only set this property when `fifo` is `true`.
|
|
94
|
+
*
|
|
95
|
+
* @default undefined - SNS default setting is FifoThroughputScope.TOPIC
|
|
96
|
+
*/
|
|
97
|
+
readonly fifoThroughputScope?: FifoThroughputScope;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The throughput quota and deduplication behavior to apply for the FIFO topic.
|
|
101
|
+
*/
|
|
102
|
+
export declare enum FifoThroughputScope {
|
|
103
|
+
/**
|
|
104
|
+
* Topic scope
|
|
105
|
+
* - Throughput: 3000 messages per second and a bandwidth of 20MB per second.
|
|
106
|
+
* - Deduplication: Message deduplication is verified on the entire FIFO topic.
|
|
107
|
+
*/
|
|
108
|
+
TOPIC = "Topic",
|
|
109
|
+
/**
|
|
110
|
+
* Message group scope
|
|
111
|
+
* - Throughput: Maximum regional limits.
|
|
112
|
+
* - Deduplication: Message deduplication is only verified within a message group.
|
|
113
|
+
*/
|
|
114
|
+
MESSAGE_GROUP = "MessageGroup"
|
|
90
115
|
}
|
|
91
116
|
/**
|
|
92
117
|
* A logging configuration for delivery status of messages sent from SNS topic to subscribed endpoints.
|
|
@@ -185,6 +210,10 @@ export interface TopicAttributes {
|
|
|
185
210
|
* @resource aws_sns_topic
|
|
186
211
|
*/
|
|
187
212
|
export declare class Topic extends TopicBase {
|
|
213
|
+
/**
|
|
214
|
+
* Uniquely identifies this class.
|
|
215
|
+
*/
|
|
216
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
188
217
|
/**
|
|
189
218
|
* Import an existing SNS topic provided an ARN
|
|
190
219
|
*
|
|
@@ -213,10 +242,4 @@ export declare class Topic extends TopicBase {
|
|
|
213
242
|
* Adds a delivery status logging configuration to the topic.
|
|
214
243
|
*/
|
|
215
244
|
addLoggingConfig(config: LoggingConfig): void;
|
|
216
|
-
/**
|
|
217
|
-
* Adds an IAM policy statement to enforce the use of TLS for publishing to this topic.
|
|
218
|
-
*
|
|
219
|
-
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit
|
|
220
|
-
*/
|
|
221
|
-
protected addSSLPolicy(): void;
|
|
222
245
|
}
|
package/lib/aws/notify/topic.js
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Topic = exports.TracingConfig = exports.LoggingProtocol = void 0;
|
|
4
|
+
exports.Topic = exports.TracingConfig = exports.LoggingProtocol = exports.FifoThroughputScope = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
// https://github.com/aws/aws-cdk/blob/
|
|
6
|
+
// https://github.com/aws/aws-cdk/blob/v2.233.0/packages/aws-cdk-lib/aws-sns/lib/topic.ts
|
|
7
7
|
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
8
8
|
const cdktf_1 = require("cdktf");
|
|
9
|
+
const errors_1 = require("../../errors");
|
|
9
10
|
const arn_1 = require("../arn");
|
|
10
11
|
const aws_stack_1 = require("../aws-stack");
|
|
11
12
|
const encryption = require("../encryption");
|
|
12
|
-
const iam = require("../iam");
|
|
13
13
|
const topic_base_1 = require("./topic-base");
|
|
14
|
+
/**
|
|
15
|
+
* The throughput quota and deduplication behavior to apply for the FIFO topic.
|
|
16
|
+
*/
|
|
17
|
+
var FifoThroughputScope;
|
|
18
|
+
(function (FifoThroughputScope) {
|
|
19
|
+
/**
|
|
20
|
+
* Topic scope
|
|
21
|
+
* - Throughput: 3000 messages per second and a bandwidth of 20MB per second.
|
|
22
|
+
* - Deduplication: Message deduplication is verified on the entire FIFO topic.
|
|
23
|
+
*/
|
|
24
|
+
FifoThroughputScope["TOPIC"] = "Topic";
|
|
25
|
+
/**
|
|
26
|
+
* Message group scope
|
|
27
|
+
* - Throughput: Maximum regional limits.
|
|
28
|
+
* - Deduplication: Message deduplication is only verified within a message group.
|
|
29
|
+
*/
|
|
30
|
+
FifoThroughputScope["MESSAGE_GROUP"] = "MessageGroup";
|
|
31
|
+
})(FifoThroughputScope || (exports.FifoThroughputScope = FifoThroughputScope = {}));
|
|
14
32
|
/**
|
|
15
33
|
* The type of supported protocol for delivery status logging.
|
|
16
34
|
*/
|
|
@@ -79,7 +97,7 @@ class Topic extends topic_base_1.TopicBase {
|
|
|
79
97
|
const topicName = stack.splitArn(attrs.topicArn, arn_1.ArnFormat.NO_RESOURCE_NAME).resource;
|
|
80
98
|
const fifo = topicName.endsWith(".fifo");
|
|
81
99
|
if (attrs.contentBasedDeduplication && !fifo) {
|
|
82
|
-
throw new
|
|
100
|
+
throw new errors_1.ValidationError("Cannot import topic; contentBasedDeduplication is only available for FIFO SNS topics.", scope);
|
|
83
101
|
}
|
|
84
102
|
class Import extends topic_base_1.TopicBase {
|
|
85
103
|
constructor() {
|
|
@@ -103,21 +121,20 @@ class Topic extends topic_base_1.TopicBase {
|
|
|
103
121
|
this.autoCreatePolicy = true;
|
|
104
122
|
this.enforceSSL = props.enforceSSL;
|
|
105
123
|
if (props.contentBasedDeduplication && !props.fifo) {
|
|
106
|
-
throw new
|
|
124
|
+
throw new errors_1.ValidationError("Content based deduplication can only be enabled for FIFO SNS topics.", this);
|
|
107
125
|
}
|
|
108
126
|
if (props.messageRetentionPeriodInDays && !props.fifo) {
|
|
109
|
-
throw new
|
|
127
|
+
throw new errors_1.ValidationError("`messageRetentionPeriodInDays` is only valid for FIFO SNS topics.", this);
|
|
128
|
+
}
|
|
129
|
+
if (props.fifoThroughputScope && !props.fifo) {
|
|
130
|
+
throw new errors_1.ValidationError("`fifoThroughputScope` can only be set for FIFO SNS topics.", this);
|
|
110
131
|
}
|
|
111
|
-
// TODO: fifoThroughputScope validation removed as property is not supported
|
|
112
|
-
// if (props.fifoThroughputScope && !props.fifo) {
|
|
113
|
-
// throw new Error('`fifoThroughputScope` can only be set for FIFO SNS topics.');
|
|
114
|
-
// }
|
|
115
132
|
if (props.messageRetentionPeriodInDays !== undefined &&
|
|
116
133
|
!cdktf_1.Token.isUnresolved(props.messageRetentionPeriodInDays) &&
|
|
117
134
|
(!Number.isInteger(props.messageRetentionPeriodInDays) ||
|
|
118
135
|
props.messageRetentionPeriodInDays > 365 ||
|
|
119
136
|
props.messageRetentionPeriodInDays < 1)) {
|
|
120
|
-
throw new
|
|
137
|
+
throw new errors_1.ValidationError("`messageRetentionPeriodInDays` must be an integer between 1 and 365", this);
|
|
121
138
|
}
|
|
122
139
|
let topicName = props.topicName;
|
|
123
140
|
if (props.fifo && props.topicName && !props.topicName.endsWith(".fifo")) {
|
|
@@ -135,16 +152,21 @@ class Topic extends topic_base_1.TopicBase {
|
|
|
135
152
|
!cdktf_1.Token.isUnresolved(props.signatureVersion) &&
|
|
136
153
|
props.signatureVersion !== "1" &&
|
|
137
154
|
props.signatureVersion !== "2") {
|
|
138
|
-
throw new
|
|
155
|
+
throw new errors_1.ValidationError(`signatureVersion must be "1" or "2", received: "${props.signatureVersion}"`, this);
|
|
139
156
|
}
|
|
140
157
|
if (props.displayName &&
|
|
141
158
|
!cdktf_1.Token.isUnresolved(props.displayName) &&
|
|
142
159
|
props.displayName.length > 100) {
|
|
143
|
-
throw new
|
|
160
|
+
throw new errors_1.ValidationError(`displayName must be less than or equal to 100 characters, got ${props.displayName.length}`, this);
|
|
144
161
|
}
|
|
145
162
|
this.resource = new provider_aws_1.snsTopic.SnsTopic(this, "Resource", {
|
|
146
|
-
|
|
163
|
+
archivePolicy: props.messageRetentionPeriodInDays
|
|
164
|
+
? JSON.stringify({
|
|
165
|
+
MessageRetentionPeriod: props.messageRetentionPeriodInDays,
|
|
166
|
+
})
|
|
167
|
+
: undefined,
|
|
147
168
|
displayName: props.displayName,
|
|
169
|
+
name: topicName,
|
|
148
170
|
kmsMasterKeyId: props.masterKey?.keyArn,
|
|
149
171
|
contentBasedDeduplication: props.contentBasedDeduplication,
|
|
150
172
|
fifoTopic: props.fifo,
|
|
@@ -152,12 +174,7 @@ class Topic extends topic_base_1.TopicBase {
|
|
|
152
174
|
? parseInt(props.signatureVersion, 10)
|
|
153
175
|
: undefined,
|
|
154
176
|
tracingConfig: props.tracingConfig,
|
|
155
|
-
|
|
156
|
-
? JSON.stringify({
|
|
157
|
-
MessageRetentionPeriod: props.messageRetentionPeriodInDays,
|
|
158
|
-
})
|
|
159
|
-
: undefined,
|
|
160
|
-
// TODO: fifoThroughputScope is not supported in Terraform as of provider v5.93.0
|
|
177
|
+
fifoThroughputScope: props.fifoThroughputScope,
|
|
161
178
|
});
|
|
162
179
|
// add logging config overrides
|
|
163
180
|
if (props.loggingConfigs) {
|
|
@@ -179,42 +196,28 @@ class Topic extends topic_base_1.TopicBase {
|
|
|
179
196
|
if (config.successFeedbackSampleRate !== undefined) {
|
|
180
197
|
const rate = config.successFeedbackSampleRate;
|
|
181
198
|
if (!Number.isInteger(rate) || rate < 0 || rate > 100) {
|
|
182
|
-
throw new
|
|
199
|
+
throw new errors_1.ValidationError("Success feedback sample rate must be an integer between 0 and 100", this);
|
|
183
200
|
}
|
|
184
201
|
}
|
|
185
202
|
if (config.failureFeedbackRole) {
|
|
186
|
-
this.resource
|
|
203
|
+
this.resource[`${config.protocol}FailureFeedbackRoleArn`] =
|
|
204
|
+
config.failureFeedbackRole.roleArn;
|
|
187
205
|
}
|
|
188
206
|
if (config.successFeedbackRole) {
|
|
189
|
-
this.resource
|
|
207
|
+
this.resource[`${config.protocol}SuccessFeedbackRoleArn`] =
|
|
208
|
+
config.successFeedbackRole.roleArn;
|
|
190
209
|
}
|
|
191
210
|
if (config.successFeedbackSampleRate !== undefined) {
|
|
192
|
-
this.resource
|
|
211
|
+
this.resource[`${config.protocol}SuccessFeedbackSampleRate`] =
|
|
212
|
+
config.successFeedbackSampleRate;
|
|
193
213
|
}
|
|
194
214
|
}
|
|
195
|
-
/**
|
|
196
|
-
* Adds an IAM policy statement to enforce the use of TLS for publishing to this topic.
|
|
197
|
-
*
|
|
198
|
-
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit
|
|
199
|
-
*/
|
|
200
|
-
addSSLPolicy() {
|
|
201
|
-
this.addToResourcePolicy(new iam.PolicyStatement({
|
|
202
|
-
sid: "EnforcePublishSSL",
|
|
203
|
-
actions: ["sns:Publish"],
|
|
204
|
-
effect: iam.Effect.DENY,
|
|
205
|
-
resources: [this.topicArn],
|
|
206
|
-
principals: [new iam.AnyPrincipal()],
|
|
207
|
-
condition: [
|
|
208
|
-
{
|
|
209
|
-
test: "Bool",
|
|
210
|
-
variable: "aws:SecureTransport",
|
|
211
|
-
values: ["false"],
|
|
212
|
-
},
|
|
213
|
-
],
|
|
214
|
-
}));
|
|
215
|
-
}
|
|
216
215
|
}
|
|
217
216
|
exports.Topic = Topic;
|
|
218
217
|
_a = JSII_RTTI_SYMBOL_1;
|
|
219
|
-
Topic[_a] = { fqn: "terraconstructs.aws.notify.Topic", version: "0.2.
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL25vdGlmeS90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlIQUF5SDtBQUV6SCxzREFBK0M7QUFDL0MsaUNBQThCO0FBRTlCLGdDQUFtQztBQUVuQyw0Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLDhCQUE4QjtBQUM5Qiw2Q0FBaUQ7QUFrS2pEOztHQUVHO0FBQ0gsSUFBWSxlQXlCWDtBQXpCRCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCxnQ0FBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxvQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILHdDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsOENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQXpCVyxlQUFlLCtCQUFmLGVBQWUsUUF5QjFCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCw2Q0FBNEIsQ0FBQTtJQUU1Qjs7T0FFRztJQUNILGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxhQUFhLDZCQUFiLGFBQWEsUUFVeEI7QUEyQkQ7Ozs7R0FJRztBQUNILE1BQWEsS0FBTSxTQUFRLHNCQUFTO0lBQ2xDOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixRQUFnQjtRQUVoQixPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUMvQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBc0I7UUFFdEIsTUFBTSxLQUFLLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMs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VDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ2xCO2FBQ0Y7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBL05ILHNCQWdPQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2E3NjMzYTk4Y2UzMjVhNjIwZjM2NGJmZGVkYTM1NDM0Mjc1MTkwMGEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXNucy9saWIvdG9waWMudHNcblxuaW1wb3J0IHsgc25zVG9waWMgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGVuY3J5cHRpb24gZnJvbSBcIi4uL2VuY3J5cHRpb25cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBJVG9waWMsIFRvcGljQmFzZSB9IGZyb20gXCIuL3RvcGljLWJhc2VcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIG5ldyBTTlMgdG9waWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb3BpY1Byb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogQSBkZXZlbG9wZXItZGVmaW5lZCBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGlzIFNOUyB0b3BpYy5cbiAgICpcbiAgICogVGhlIGRpc3BsYXkgbmFtZSBtdXN0IGJlIG1heGltdW0gMTAwIGNoYXJhY3RlcnMgbG9uZywgaW5jbHVkaW5nIGh5cGhlbnMgKC0pLFxuICAgKiB1bmRlcnNjb3JlcyAoXyksIHNwYWNlcywgYW5kIHRhYnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSB0b3BpYy5cbiAgICpcbiAgICogSWYgeW91IGRvbid0IHNwZWNpZnkgYSBuYW1lLCBBV1MgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVzIGEgdW5pcXVlXG4gICAqIHBoeXNpY2FsIElEIGFuZCB1c2VzIHRoYXQgSUQgZm9yIHRoZSB0b3BpYyBuYW1lLiBGb3IgbW9yZSBpbmZvcm1hdGlvbixcbiAgICogc2VlIE5hbWUgVHlwZS5cbiAgICpcbiAgICogQGRlZmF1bHQgR2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBLTVMgS2V5LCBlaXRoZXIgbWFuYWdlZCBieSB0aGlzIENESyBhcHAsIG9yIGltcG9ydGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBlbmNyeXB0aW9uLklLZXk7XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgY29udGVudC1iYXNlZCBkZWR1cGxpY2F0aW9uIGZvciBGSUZPIHRvcGljcy5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIGNyZWF0ZSBhIEZJRk8gdG9waWMuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGZpZm8/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBkZWxpdmVyeSBzdGF0dXMgbG9nZ2luZyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIHRvcGljLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy10b3BpYy1hdHRyaWJ1dGVzLmh0bWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdDb25maWdzPzogTG9nZ2luZ0NvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRheXMgQW1hem9uIFNOUyByZXRhaW5zIG1lc3NhZ2VzLlxuICAgKlxuICAgKiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIEZJRk8gdG9waWNzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL2ZpZm8tbWVzc2FnZS1hcmNoaXZpbmctcmVwbGF5Lmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgYXJjaGl2ZSBtZXNzYWdlc1xuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cz86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byBlbmZvcmNlIGVuY3J5cHRpb24gb2YgZGF0YSBpbiB0cmFuc2l0IHdoZW4gcHVibGlzaGluZyB0byB0aGUgdG9waWMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlY3VyaXR5LWJlc3QtcHJhY3RpY2VzLmh0bWwjZW5mb3JjZS1lbmNyeXB0aW9uLWRhdGEtaW4tdHJhbnNpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuZm9yY2VTU0w/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmF0dXJlIHZlcnNpb24gY29ycmVzcG9uZHMgdG8gdGhlIGhhc2hpbmcgYWxnb3JpdGhtIHVzZWQgd2hpbGUgY3JlYXRpbmcgdGhlIHNpZ25hdHVyZSBvZiB0aGUgbm90aWZpY2F0aW9ucyxcbiAgICogc3Vic2NyaXB0aW9uIGNvbmZpcm1hdGlvbnMsIG9yIHVuc3Vic2NyaWJlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcyBzZW50IGJ5IEFtYXpvbiBTTlMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXZlcmlmeS1zaWduYXR1cmUtb2YtbWVzc2FnZS5odG1sLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBzaWduYXR1cmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUcmFjaW5nIG1vZGUgb2YgYW4gQW1hem9uIFNOUyB0b3BpYy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9zbnMtYWN0aXZlLXRyYWNpbmcuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBUcmFjaW5nQ29uZmlnLlBBU1NfVEhST1VHSFxuICAgKi9cbiAgcmVhZG9ubHkgdHJhY2luZ0NvbmZpZz86IFRyYWNpbmdDb25maWc7XG5cbiAgLy8gVE9ETzogZmlmb1Rocm91Z2hwdXRTY29wZSBpcyBub3QgZGlyZWN0bHkgc3VwcG9ydGVkIGJ5IGF3c19zbnNfdG9waWMgaW4gVGVycmFmb3JtIGFzIG9mIHByb3ZpZGVyIHY1LjkzLjBcbiAgLy8gLyoqXG4gIC8vICAqIFNwZWNpZmllcyB0aGUgdGhyb3VnaHB1dCBxdW90YSBhbmQgZGVkdXBsaWNhdGlvbiBiZWhhdmlvciB0byBhcHBseSBmb3IgdGhlIEZJRk8gdG9waWMuXG4gIC8vICAqXG4gIC8vICAqIFlvdSBjYW4gb25seSBzZXQgdGhpcyBwcm9wZXJ0eSB3aGVuIGBmaWZvYCBpcyBgdHJ1ZWAuXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IHVuZGVmaW5lZCAtIFNOUyBkZWZhdWx0IHNldHRpbmcgaXMgRmlmb1Rocm91Z2hwdXRTY29wZS5UT1BJQ1xuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgZmlmb1Rocm91Z2hwdXRTY29wZT86IEZpZm9UaHJvdWdocHV0U2NvcGU7XG59XG5cbi8vIFRPRE86IGZpZm9UaHJvdWdocHV0U2NvcGUgaXMgbm90IGRpcmVjdGx5IHN1cHBvcnRlZCBieSBhd3Nfc25zX3RvcGljIGluIFRlcnJhZm9ybSBhcyBvZiBwcm92aWRlciB2NS45My4wXG4vLyAvKipcbi8vICAqIFRoZSB0aHJvdWdocHV0IHF1b3RhIGFuZCBkZWR1cGxpY2F0aW9uIGJlaGF2aW9yIHRvIGFwcGx5IGZvciB0aGUgRklGTyB0b3BpYy5cbi8vICAqL1xuLy8gZXhwb3J0IGVudW0gRmlmb1Rocm91Z2hwdXRTY29wZSB7XG4vLyAgIC8qKlxuLy8gICAgKiBUb3BpYyBzY29wZVxuLy8gICAgKiAtIFRocm91Z2hwdXQ6IDMwMDAgbWVzc2FnZXMgcGVyIHNlY29uZCBhbmQgYSBiYW5kd2lkdGggb2YgMjBNQiBwZXIgc2Vjb25kLlxuLy8gICAgKiAtIERlZHVwbGljYXRpb246IE1lc3NhZ2UgZGVkdXBsaWNhdGlvbiBpcyB2ZXJpZmllZCBvbiB0aGUgZW50aXJlIEZJRk8gdG9waWMuXG4vLyAgICAqL1xuLy8gICBUT1BJQyA9ICdUb3BpYycsXG5cbi8vICAgLyoqXG4vLyAgICAqIE1lc3NhZ2UgZ3JvdXAgc2NvcGVcbi8vICAgICogLSBUaHJvdWdocHV0OiBNYXhpbXVtIHJlZ2lvbmFsIGxpbWl0cy5cbi8vICAgICogLSBEZWR1cGxpY2F0aW9uOiBNZXNzYWdlIGRlZHVwbGljYXRpb24gaXMgb25seSB2ZXJpZmllZCB3aXRoaW4gYSBtZXNzYWdlIGdyb3VwLlxuLy8gICAgKi9cbi8vICAgTUVTU0FHRV9HUk9VUCA9ICdNZXNzYWdlR3JvdXAnLFxuLy8gfVxuXG4vKipcbiAqIEEgbG9nZ2luZyBjb25maWd1cmF0aW9uIGZvciBkZWxpdmVyeSBzdGF0dXMgb2YgbWVzc2FnZXMgc2VudCBmcm9tIFNOUyB0b3BpYyB0byBzdWJzY3JpYmVkIGVuZHBvaW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy10b3BpYy1hdHRyaWJ1dGVzLmh0bWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nZ2luZ0NvbmZpZyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb25lIG9mIHRoZSBzdXBwb3J0ZWQgcHJvdG9jb2xzIGZvciB0aGUgU05TIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w6IExvZ2dpbmdQcm90b2NvbDtcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRvIGJlIHVzZWQgd2hlbiBsb2dnaW5nIGZhaWxlZCBtZXNzYWdlIGRlbGl2ZXJpZXMgaW4gQW1hem9uIENsb3VkV2F0Y2guXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGZhaWx1cmVGZWVkYmFja1JvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0byBiZSB1c2VkIHdoZW4gbG9nZ2luZyBzdWNjZXNzZnVsIG1lc3NhZ2UgZGVsaXZlcmllcyBpbiBBbWF6b24gQ2xvdWRXYXRjaC5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2Vzc0ZlZWRiYWNrUm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIHBlcmNlbnRhZ2Ugb2Ygc3VjY2Vzc2Z1bCBtZXNzYWdlIGRlbGl2ZXJpZXMgdG8gYmUgbG9nZ2VkIGluIEFtYXpvbiBDbG91ZFdhdGNoLlxuICAgKlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIGludGVnZXIgYmV0d2VlbiAwLTEwMFxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzRmVlZGJhY2tTYW1wbGVSYXRlPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHN1cHBvcnRlZCBwcm90b2NvbCBmb3IgZGVsaXZlcnkgc3RhdHVzIGxvZ2dpbmcuXG4gKi9cbmV4cG9ydCBlbnVtIExvZ2dpbmdQcm90b2NvbCB7XG4gIC8qKlxuICAgKiBIVFRQXG4gICAqL1xuICBIVFRQID0gXCJodHRwXCIsIC8vIE5PVEU6IEFXU0NESyBlbnVtIHZhbHVlID0gXCJodHRwL3NcIixcblxuICAvKipcbiAgICogQW1hem9uIFNpbXBsZSBRdWV1ZSBTZXJ2aWNlXG4gICAqL1xuICBTUVMgPSBcInNxc1wiLFxuXG4gIC8qKlxuICAgKiBBV1MgTGFtYmRhXG4gICAqL1xuICBMQU1CREEgPSBcImxhbWJkYVwiLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gRGF0YSBGaXJlaG9zZVxuICAgKi9cbiAgRklSRUhPU0UgPSBcImZpcmVob3NlXCIsXG5cbiAgLyoqXG4gICAqIFBsYXRmb3JtIGFwcGxpY2F0aW9uIGVuZHBvaW50XG4gICAqL1xuICBBUFBMSUNBVElPTiA9IFwiYXBwbGljYXRpb25cIixcbn1cblxuLyoqXG4gKiBUaGUgdHJhY2luZyBtb2RlIG9mIGFuIEFtYXpvbiBTTlMgdG9waWNcbiAqL1xuZXhwb3J0IGVudW0gVHJhY2luZ0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgbW9kZSB0aGF0IHRvcGljIHBhc3NlcyB0cmFjZSBoZWFkZXJzIHJlY2VpdmVkIGZyb20gdGhlIEFtYXpvbiBTTlMgcHVibGlzaGVyIHRvIGl0cyBzdWJzY3JpcHRpb24uXG4gICAqL1xuICBQQVNTX1RIUk9VR0ggPSBcIlBhc3NUaHJvdWdoXCIsXG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlIHRoYXQgQW1hem9uIFNOUyB2ZW5kIFgtUmF5IHNlZ21lbnQgZGF0YSB0byB0b3BpYyBvd25lciBhY2NvdW50IGlmIHRoZSBzYW1wbGVkIGZsYWcgaW4gdGhlIHRyYWNpbmcgaGVhZGVyIGlzIHRydWUuXG4gICAqL1xuICBBQ1RJVkUgPSBcIkFjdGl2ZVwiLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gU05TIHRvcGljIGRlZmluZWQgb3V0c2lkZSBvZiB0aGlzIHN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBTTlMgdG9waWMuXG4gICAqL1xuICByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBLTVMgZW5jcnlwdGlvbiBrZXkgQVJOLCBpZiB0aGlzIHRvcGljIGlzIHNlcnZlci1zaWRlIGVuY3J5cHRlZCBieSBhIEtNUyBrZXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5QXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGNvbnRlbnQtYmFzZWQgZGVkdXBsaWNhdGlvbiBpcyBlbmFibGVkLlxuICAgKiBPbmx5IGFwcGxpY2FibGUgZm9yIEZJRk8gdG9waWNzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBuZXcgU05TIHRvcGljXG4gKlxuICogQHJlc291cmNlIGF3c19zbnNfdG9waWNcbiAqL1xuZXhwb3J0IGNsYXNzIFRvcGljIGV4dGVuZHMgVG9waWNCYXNlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBTTlMgdG9waWMgcHJvdmlkZWQgYW4gQVJOXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWVcbiAgICogQHBhcmFtIHRvcGljQXJuIHRvcGljIEFSTiAoaS5lLiBhcm46YXdzOnNuczp1cy1lYXN0LTI6NDQ0NDU1NTU2NjY2Ok15VG9waWMpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Ub3BpY0FybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdG9waWNBcm46IHN0cmluZyxcbiAgKTogSVRvcGljIHtcbiAgICByZXR1cm4gVG9waWMuZnJvbVRvcGljQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgdG9waWNBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIFNOUyB0b3BpYyBwcm92aWRlZCBhIHRvcGljIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gYXR0cnMgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHRvcGljIHRvIGltcG9ydFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVG9waWNBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogVG9waWNBdHRyaWJ1dGVzLFxuICApOiBJVG9waWMge1xuICAgIGNvbnN0IHN0YWNrID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpO1xuICAgIGNvbnN0IHRvcGljTmFtZSA9IHN0YWNrLnNwbGl0QXJuKFxuICAgICAgYXR0cnMudG9waWNBcm4sXG4gICAgICBBcm5Gb3JtYXQuTk9fUkVTT1VSQ0VfTkFNRSxcbiAgICApLnJlc291cmNlO1xuICAgIGNvbnN0IGZpZm8gPSB0b3BpY05hbWUuZW5kc1dpdGgoXCIuZmlmb1wiKTtcblxuICAgIGlmIChhdHRycy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uICYmICFmaWZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2Fubm90IGltcG9ydCB0b3BpYzsgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgRklGTyBTTlMgdG9waWNzLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBUb3BpY0Jhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRvcGljQXJuID0gYXR0cnMudG9waWNBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdG9waWNOYW1lID0gdG9waWNOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IG1hc3RlcktleSA9IGF0dHJzLmtleUFyblxuICAgICAgICA/IGVuY3J5cHRpb24uS2V5LmZyb21LZXlBcm4odGhpcywgXCJLZXlcIiwgYXR0cnMua2V5QXJuKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBmaWZvID0gZmlmbztcbiAgICAgIHB1YmxpYyByZWFkb25seSBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uID1cbiAgICAgICAgYXR0cnMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiB8fCBmYWxzZTtcbiAgICAgIHByb3RlY3RlZCBhdXRvQ3JlYXRlUG9saWN5OiBib29sZWFuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IGF0dHJzLnRvcGljQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHRvcGljQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0b3BpY05hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IG1hc3RlcktleT86IGVuY3J5cHRpb24uSUtleTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb246IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBmaWZvOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRvQ3JlYXRlUG9saWN5OiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBzbnNUb3BpYy5TbnNUb3BpYztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVG9waWNQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLmVuZm9yY2VTU0wgPSBwcm9wcy5lbmZvcmNlU1NMO1xuXG4gICAgaWYgKHByb3BzLmNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gJiYgIXByb3BzLmZpZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDb250ZW50IGJhc2VkIGRlZHVwbGljYXRpb24gY2FuIG9ubHkgYmUgZW5hYmxlZCBmb3IgRklGTyBTTlMgdG9waWNzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMgJiYgIXByb3BzLmZpZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJgbWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5c2AgaXMgb25seSB2YWxpZCBmb3IgRklGTyBTTlMgdG9waWNzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gVE9ETzogZmlmb1Rocm91Z2hwdXRTY29wZSB2YWxpZGF0aW9uIHJlbW92ZWQgYXMgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZFxuICAgIC8vIGlmIChwcm9wcy5maWZvVGhyb3VnaHB1dFNjb3BlICYmICFwcm9wcy5maWZvKSB7XG4gICAgLy8gICB0aHJvdyBuZXcgRXJyb3IoJ2BmaWZvVGhyb3VnaHB1dFNjb3BlYCBjYW4gb25seSBiZSBzZXQgZm9yIEZJRk8gU05TIHRvcGljcy4nKTtcbiAgICAvLyB9XG4gICAgaWYgKFxuICAgICAgcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMpICYmXG4gICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cykgfHxcbiAgICAgICAgcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cyA+IDM2NSB8fFxuICAgICAgICBwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzIDwgMSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJgbWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5c2AgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgMzY1XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCB0b3BpY05hbWUgPSBwcm9wcy50b3BpY05hbWU7XG4gICAgaWYgKHByb3BzLmZpZm8gJiYgcHJvcHMudG9waWNOYW1lICYmICFwcm9wcy50b3BpY05hbWUuZW5kc1dpdGgoXCIuZmlmb1wiKSkge1xuICAgICAgdG9waWNOYW1lID0gcHJvcHMudG9waWNOYW1lICsgXCIuZmlmb1wiO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuZmlmbyAmJiAhcHJvcHMudG9waWNOYW1lKSB7XG4gICAgICAvLyBNYXggbGVuZ3RoIGFsbG93ZWQgYnkgQ2xvdWRGb3JtYXRpb24gaXMgMjU2LCB3ZSBzdWJ0cmFjdCA1IHRvIGFsbG93IGZvciBcIi5maWZvXCIgc3VmZml4XG4gICAgICBjb25zdCBwcmVmaXhOYW1lID0gdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICBtYXhMZW5ndGg6IDI1NiAtIDUsXG4gICAgICAgIHNlcGFyYXRvcjogXCItXCIsXG4gICAgICB9KTtcbiAgICAgIHRvcGljTmFtZSA9IGAke3ByZWZpeE5hbWV9LmZpZm9gO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLnNpZ25hdHVyZVZlcnNpb24gJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuc2lnbmF0dXJlVmVyc2lvbikgJiZcbiAgICAgIHByb3BzLnNpZ25hdHVyZVZlcnNpb24gIT09IFwiMVwiICYmXG4gICAgICBwcm9wcy5zaWduYXR1cmVWZXJzaW9uICE9PSBcIjJcIlxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgc2lnbmF0dXJlVmVyc2lvbiBtdXN0IGJlIFwiMVwiIG9yIFwiMlwiLCByZWNlaXZlZDogXCIke3Byb3BzLnNpZ25hdHVyZVZlcnNpb259XCJgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5kaXNwbGF5TmFtZSAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kaXNwbGF5TmFtZSkgJiZcbiAgICAgIHByb3BzLmRpc3BsYXlOYW1lLmxlbmd0aCA+IDEwMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgZGlzcGxheU5hbWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTAwIGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmRpc3BsYXlOYW1lLmxlbmd0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IHNuc1RvcGljLlNuc1RvcGljKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgbmFtZTogdG9waWNOYW1lLFxuICAgICAgZGlzcGxheU5hbWU6IHByb3BzLmRpc3BsYXlOYW1lLFxuICAgICAga21zTWFzdGVyS2V5SWQ6IHByb3BzLm1hc3RlcktleT8ua2V5QXJuLFxuICAgICAgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogcHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbixcbiAgICAgIGZpZm9Ub3BpYzogcHJvcHMuZmlmbyxcbiAgICAgIHNpZ25hdHVyZVZlcnNpb246IHByb3BzLnNpZ25hdHVyZVZlcnNpb25cbiAgICAgICAgPyBwYXJzZUludChwcm9wcy5zaWduYXR1cmVWZXJzaW9uLCAxMClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB0cmFjaW5nQ29uZmlnOiBwcm9wcy50cmFjaW5nQ29uZmlnLFxuICAgICAgYXJjaGl2ZVBvbGljeTogcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5c1xuICAgICAgICA/IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIE1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q6IHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAvLyBUT0RPOiBmaWZvVGhyb3VnaHB1dFNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gVGVycmFmb3JtIGFzIG9mIHByb3ZpZGVyIHY1LjkzLjBcbiAgICB9KTtcblxuICAgIC8vIGFkZCBsb2dnaW5nIGNvbmZpZyBvdmVycmlkZXNcbiAgICBpZiAocHJvcHMubG9nZ2luZ0NvbmZpZ3MpIHtcbiAgICAgIHByb3BzLmxvZ2dpbmdDb25maWdzLmZvckVhY2goKGMpID0+IHRoaXMuYWRkTG9nZ2luZ0NvbmZpZyhjKSk7XG4gICAgfVxuXG4gICAgdGhpcy50b3BpY0FybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuICAgIHRoaXMudG9waWNOYW1lID0gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICAgIHRoaXMubWFzdGVyS2V5ID0gcHJvcHMubWFzdGVyS2V5O1xuICAgIHRoaXMuZmlmbyA9IHByb3BzLmZpZm8gfHwgZmFsc2U7XG4gICAgdGhpcy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uID0gcHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiB8fCBmYWxzZTtcblxuICAgIGlmICh0aGlzLmVuZm9yY2VTU0wpIHtcbiAgICAgIHRoaXMuYWRkU1NMUG9saWN5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBkZWxpdmVyeSBzdGF0dXMgbG9nZ2luZyBjb25maWd1cmF0aW9uIHRvIHRoZSB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyBhZGRMb2dnaW5nQ29uZmlnKGNvbmZpZzogTG9nZ2luZ0NvbmZpZykge1xuICAgIGlmIChjb25maWcuc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCByYXRlID0gY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGU7XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocmF0ZSkgfHwgcmF0ZSA8IDAgfHwgcmF0ZSA+IDEwMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJTdWNjZXNzIGZlZWRiYWNrIHNhbXBsZSByYXRlIG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDEwMFwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb25maWcuZmFpbHVyZUZlZWRiYWNrUm9sZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5hZGRPdmVycmlkZShcbiAgICAgICAgYCR7Y29uZmlnLnByb3RvY29sfV9mYWlsdXJlX2ZlZWRiYWNrX3JvbGVfYXJuYCxcbiAgICAgICAgY29uZmlnLmZhaWx1cmVGZWVkYmFja1JvbGUucm9sZUFybixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tSb2xlKSB7XG4gICAgICB0aGlzLnJlc291cmNlLmFkZE92ZXJyaWRlKFxuICAgICAgICBgJHtjb25maWcucHJvdG9jb2x9X3N1Y2Nlc3NfZmVlZGJhY2tfcm9sZV9hcm5gLFxuICAgICAgICBjb25maWcuc3VjY2Vzc0ZlZWRiYWNrUm9sZS5yb2xlQXJuLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5hZGRPdmVycmlkZShcbiAgICAgICAgYCR7Y29uZmlnLnByb3RvY29sfV9zdWNjZXNzX2ZlZWRiYWNrX3NhbXBsZV9yYXRlYCxcbiAgICAgICAgY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGUudG9TdHJpbmcoKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gSUFNIHBvbGljeSBzdGF0ZW1lbnQgdG8gZW5mb3JjZSB0aGUgdXNlIG9mIFRMUyBmb3IgcHVibGlzaGluZyB0byB0aGlzIHRvcGljLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy1zZWN1cml0eS1iZXN0LXByYWN0aWNlcy5odG1sI2VuZm9yY2UtZW5jcnlwdGlvbi1kYXRhLWluLXRyYW5zaXRcbiAgICovXG4gIHByb3RlY3RlZCBhZGRTU0xQb2xpY3koKTogdm9pZCB7XG4gICAgdGhpcy5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBzaWQ6IFwiRW5mb3JjZVB1Ymxpc2hTU0xcIixcbiAgICAgICAgYWN0aW9uczogW1wic25zOlB1Ymxpc2hcIl0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgICByZXNvdXJjZXM6IFt0aGlzLnRvcGljQXJuXSxcbiAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uQW55UHJpbmNpcGFsKCldLFxuICAgICAgICBjb25kaXRpb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXN0OiBcIkJvb2xcIixcbiAgICAgICAgICAgIHZhcmlhYmxlOiBcImF3czpTZWN1cmVUcmFuc3BvcnRcIixcbiAgICAgICAgICAgIHZhbHVlczogW1wiZmFsc2VcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
218
|
+
Topic[_a] = { fqn: "terraconstructs.aws.notify.Topic", version: "0.2.3" };
|
|
219
|
+
/**
|
|
220
|
+
* Uniquely identifies this class.
|
|
221
|
+
*/
|
|
222
|
+
Topic.PROPERTY_INJECTION_ID = "terraconstructs.aws.sns.Topic";
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL25vdGlmeS90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlGQUF5RjtBQUV6RixzREFBK0M7QUFDL0MsaUNBQThCO0FBRTlCLHlDQUErQztBQUMvQyxnQ0FBbUM7QUFFbkMsNENBQXdDO0FBQ3hDLDRDQUE0QztBQUU1Qyw2Q0FBaUQ7QUEwR2pEOztHQUVHO0FBQ0gsSUFBWSxtQkFjWDtBQWRELFdBQVksbUJBQW1CO0lBQzdCOzs7O09BSUc7SUFDSCxzQ0FBZSxDQUFBO0lBRWY7Ozs7T0FJRztJQUNILHFEQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFkVyxtQkFBbUIsbUNBQW5CLG1CQUFtQixRQWM5QjtBQXFDRDs7R0FFRztBQUNILElBQVksZUF5Qlg7QUF6QkQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsZ0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsOEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsb0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCx3Q0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILDhDQUEyQixDQUFBO0FBQzdCLENBQUMsRUF6QlcsZUFBZSwrQkFBZixlQUFlLFFBeUIxQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxhQVVYO0FBVkQsV0FBWSxhQUFhO0lBQ3ZCOztPQUVHO0lBQ0gsNkNBQTRCLENBQUE7SUFFNUI7O09BRUc7SUFDSCxrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVlcsYUFBYSw2QkFBYixhQUFhLFFBVXhCO0FBMkJEOzs7O0dBSUc7QUFDSCxNQUFhLEtBQU0sU0FBUSxzQkFBUztJQU9sQzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUN4QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsUUFBZ0I7UUFFaEIsT0FBTyxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxF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QUFDOztBQWhOSCxzQkFpTkM7OztBQWhOQzs7R0FFRztBQUNvQiwyQkFBcUIsR0FDMUMsK0JBQStCLEFBRFcsQ0FDViIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjIzMy4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zbnMvbGliL3RvcGljLnRzXG5cbmltcG9ydCB7IHNuc1RvcGljIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yc1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4uL2FyblwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgKiBhcyBlbmNyeXB0aW9uIGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgSVRvcGljLCBUb3BpY0Jhc2UgfSBmcm9tIFwiLi90b3BpYy1iYXNlXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgU05TIHRvcGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9waWNQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIEEgZGV2ZWxvcGVyLWRlZmluZWQgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgdG8gaWRlbnRpZnkgdGhpcyBTTlMgdG9waWMuXG4gICAqXG4gICAqIFRoZSBkaXNwbGF5IG5hbWUgbXVzdCBiZSBtYXhpbXVtIDEwMCBjaGFyYWN0ZXJzIGxvbmcsIGluY2x1ZGluZyBoeXBoZW5zICgtKSxcbiAgICogdW5kZXJzY29yZXMgKF8pLCBzcGFjZXMsIGFuZCB0YWJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGUgdG9waWMuXG4gICAqXG4gICAqIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQVdTIENsb3VkRm9ybWF0aW9uIGdlbmVyYXRlcyBhIHVuaXF1ZVxuICAgKiBwaHlzaWNhbCBJRCBhbmQgdXNlcyB0aGF0IElEIGZvciB0aGUgdG9waWMgbmFtZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sXG4gICAqIHNlZSBOYW1lIFR5cGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IEdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSB0b3BpY05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgS01TIEtleSwgZWl0aGVyIG1hbmFnZWQgYnkgdGhpcyBDREsgYXBwLCBvciBpbXBvcnRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbWFzdGVyS2V5PzogZW5jcnlwdGlvbi5JS2V5O1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbnRlbnQtYmFzZWQgZGVkdXBsaWNhdGlvbiBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBjcmVhdGUgYSBGSUZPIHRvcGljLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBmaWZvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgZGVsaXZlcnkgc3RhdHVzIGxvZ2dpbmcgY29uZmlndXJhdGlvbnMgZm9yIHRoZSB0b3BpYy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9zbnMtdG9waWMtYXR0cmlidXRlcy5odG1sLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nQ29uZmlncz86IExvZ2dpbmdDb25maWdbXTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXlzIEFtYXpvbiBTTlMgcmV0YWlucyBtZXNzYWdlcy5cbiAgICpcbiAgICogSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBGSUZPIHRvcGljcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9maWZvLW1lc3NhZ2UtYXJjaGl2aW5nLXJlcGxheS5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IGFyY2hpdmUgbWVzc2FnZXNcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gZW5mb3JjZSBlbmNyeXB0aW9uIG9mIGRhdGEgaW4gdHJhbnNpdCB3aGVuIHB1Ymxpc2hpbmcgdG8gdGhlIHRvcGljLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy1zZWN1cml0eS1iZXN0LXByYWN0aWNlcy5odG1sI2VuZm9yY2UtZW5jcnlwdGlvbi1kYXRhLWluLXRyYW5zaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmZvcmNlU1NMPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNpZ25hdHVyZSB2ZXJzaW9uIGNvcnJlc3BvbmRzIHRvIHRoZSBoYXNoaW5nIGFsZ29yaXRobSB1c2VkIHdoaWxlIGNyZWF0aW5nIHRoZSBzaWduYXR1cmUgb2YgdGhlIG5vdGlmaWNhdGlvbnMsXG4gICAqIHN1YnNjcmlwdGlvbiBjb25maXJtYXRpb25zLCBvciB1bnN1YnNjcmliZSBjb25maXJtYXRpb24gbWVzc2FnZXMgc2VudCBieSBBbWF6b24gU05TLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy12ZXJpZnktc2lnbmF0dXJlLW9mLW1lc3NhZ2UuaHRtbC5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmF0dXJlVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVHJhY2luZyBtb2RlIG9mIGFuIEFtYXpvbiBTTlMgdG9waWMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLWFjdGl2ZS10cmFjaW5nLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgVHJhY2luZ0NvbmZpZy5QQVNTX1RIUk9VR0hcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmdDb25maWc/OiBUcmFjaW5nQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRocm91Z2hwdXQgcXVvdGEgYW5kIGRlZHVwbGljYXRpb24gYmVoYXZpb3IgdG8gYXBwbHkgZm9yIHRoZSBGSUZPIHRvcGljLlxuICAgKlxuICAgKiBZb3UgY2FuIG9ubHkgc2V0IHRoaXMgcHJvcGVydHkgd2hlbiBgZmlmb2AgaXMgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgLSBTTlMgZGVmYXVsdCBzZXR0aW5nIGlzIEZpZm9UaHJvdWdocHV0U2NvcGUuVE9QSUNcbiAgICovXG4gIHJlYWRvbmx5IGZpZm9UaHJvdWdocHV0U2NvcGU/OiBGaWZvVGhyb3VnaHB1dFNjb3BlO1xufVxuXG4vKipcbiAqIFRoZSB0aHJvdWdocHV0IHF1b3RhIGFuZCBkZWR1cGxpY2F0aW9uIGJlaGF2aW9yIHRvIGFwcGx5IGZvciB0aGUgRklGTyB0b3BpYy5cbiAqL1xuZXhwb3J0IGVudW0gRmlmb1Rocm91Z2hwdXRTY29wZSB7XG4gIC8qKlxuICAgKiBUb3BpYyBzY29wZVxuICAgKiAtIFRocm91Z2hwdXQ6IDMwMDAgbWVzc2FnZXMgcGVyIHNlY29uZCBhbmQgYSBiYW5kd2lkdGggb2YgMjBNQiBwZXIgc2Vjb25kLlxuICAgKiAtIERlZHVwbGljYXRpb246IE1lc3NhZ2UgZGVkdXBsaWNhdGlvbiBpcyB2ZXJpZmllZCBvbiB0aGUgZW50aXJlIEZJRk8gdG9waWMuXG4gICAqL1xuICBUT1BJQyA9IFwiVG9waWNcIixcblxuICAvKipcbiAgICogTWVzc2FnZSBncm91cCBzY29wZVxuICAgKiAtIFRocm91Z2hwdXQ6IE1heGltdW0gcmVnaW9uYWwgbGltaXRzLlxuICAgKiAtIERlZHVwbGljYXRpb246IE1lc3NhZ2UgZGVkdXBsaWNhdGlvbiBpcyBvbmx5IHZlcmlmaWVkIHdpdGhpbiBhIG1lc3NhZ2UgZ3JvdXAuXG4gICAqL1xuICBNRVNTQUdFX0dST1VQID0gXCJNZXNzYWdlR3JvdXBcIixcbn1cblxuLyoqXG4gKiBBIGxvZ2dpbmcgY29uZmlndXJhdGlvbiBmb3IgZGVsaXZlcnkgc3RhdHVzIG9mIG1lc3NhZ2VzIHNlbnQgZnJvbSBTTlMgdG9waWMgdG8gc3Vic2NyaWJlZCBlbmRwb2ludHMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9zbnMtdG9waWMtYXR0cmlidXRlcy5odG1sLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dpbmdDb25maWcge1xuICAvKipcbiAgICogSW5kaWNhdGVzIG9uZSBvZiB0aGUgc3VwcG9ydGVkIHByb3RvY29scyBmb3IgdGhlIFNOUyB0b3BpYy5cbiAgICovXG4gIHJlYWRvbmx5IHByb3RvY29sOiBMb2dnaW5nUHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0byBiZSB1c2VkIHdoZW4gbG9nZ2luZyBmYWlsZWQgbWVzc2FnZSBkZWxpdmVyaWVzIGluIEFtYXpvbiBDbG91ZFdhdGNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBmYWlsdXJlRmVlZGJhY2tSb2xlPzogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdG8gYmUgdXNlZCB3aGVuIGxvZ2dpbmcgc3VjY2Vzc2Z1bCBtZXNzYWdlIGRlbGl2ZXJpZXMgaW4gQW1hem9uIENsb3VkV2F0Y2guXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NGZWVkYmFja1JvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJjZW50YWdlIG9mIHN1Y2Nlc3NmdWwgbWVzc2FnZSBkZWxpdmVyaWVzIHRvIGJlIGxvZ2dlZCBpbiBBbWF6b24gQ2xvdWRXYXRjaC5cbiAgICpcbiAgICogVmFsaWQgdmFsdWVzIGFyZSBpbnRlZ2VyIGJldHdlZW4gMC0xMDBcbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBzdXBwb3J0ZWQgcHJvdG9jb2wgZm9yIGRlbGl2ZXJ5IHN0YXR1cyBsb2dnaW5nLlxuICovXG5leHBvcnQgZW51bSBMb2dnaW5nUHJvdG9jb2wge1xuICAvKipcbiAgICogSFRUUFxuICAgKi9cbiAgSFRUUCA9IFwiaHR0cFwiLCAvLyBOT1RFOiBBV1NDREsgZW51bSB2YWx1ZSA9IFwiaHR0cC9zXCIsXG5cbiAgLyoqXG4gICAqIEFtYXpvbiBTaW1wbGUgUXVldWUgU2VydmljZVxuICAgKi9cbiAgU1FTID0gXCJzcXNcIixcblxuICAvKipcbiAgICogQVdTIExhbWJkYVxuICAgKi9cbiAgTEFNQkRBID0gXCJsYW1iZGFcIixcblxuICAvKipcbiAgICogQW1hem9uIERhdGEgRmlyZWhvc2VcbiAgICovXG4gIEZJUkVIT1NFID0gXCJmaXJlaG9zZVwiLFxuXG4gIC8qKlxuICAgKiBQbGF0Zm9ybSBhcHBsaWNhdGlvbiBlbmRwb2ludFxuICAgKi9cbiAgQVBQTElDQVRJT04gPSBcImFwcGxpY2F0aW9uXCIsXG59XG5cbi8qKlxuICogVGhlIHRyYWNpbmcgbW9kZSBvZiBhbiBBbWF6b24gU05TIHRvcGljXG4gKi9cbmV4cG9ydCBlbnVtIFRyYWNpbmdDb25maWcge1xuICAvKipcbiAgICogVGhlIG1vZGUgdGhhdCB0b3BpYyBwYXNzZXMgdHJhY2UgaGVhZGVycyByZWNlaXZlZCBmcm9tIHRoZSBBbWF6b24gU05TIHB1Ymxpc2hlciB0byBpdHMgc3Vic2NyaXB0aW9uLlxuICAgKi9cbiAgUEFTU19USFJPVUdIID0gXCJQYXNzVGhyb3VnaFwiLFxuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSB0aGF0IEFtYXpvbiBTTlMgdmVuZCBYLVJheSBzZWdtZW50IGRhdGEgdG8gdG9waWMgb3duZXIgYWNjb3VudCBpZiB0aGUgc2FtcGxlZCBmbGFnIGluIHRoZSB0cmFjaW5nIGhlYWRlciBpcyB0cnVlLlxuICAgKi9cbiAgQUNUSVZFID0gXCJBY3RpdmVcIixcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIFNOUyB0b3BpYyBkZWZpbmVkIG91dHNpZGUgb2YgdGhpcyBzdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb3BpY0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgU05TIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogS01TIGVuY3J5cHRpb24ga2V5IEFSTiwgaWYgdGhpcyB0b3BpYyBpcyBzZXJ2ZXItc2lkZSBlbmNyeXB0ZWQgYnkgYSBLTVMga2V5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGtleUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBjb250ZW50LWJhc2VkIGRlZHVwbGljYXRpb24gaXMgZW5hYmxlZC5cbiAgICogT25seSBhcHBsaWNhYmxlIGZvciBGSUZPIHRvcGljcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgbmV3IFNOUyB0b3BpY1xuICpcbiAqIEByZXNvdXJjZSBhd3Nfc25zX3RvcGljXG4gKi9cbmV4cG9ydCBjbGFzcyBUb3BpYyBleHRlbmRzIFRvcGljQmFzZSB7XG4gIC8qKlxuICAgKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID1cbiAgICBcInRlcnJhY29uc3RydWN0cy5hd3Muc25zLlRvcGljXCI7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBTTlMgdG9waWMgcHJvdmlkZWQgYW4gQVJOXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWVcbiAgICogQHBhcmFtIHRvcGljQXJuIHRvcGljIEFSTiAoaS5lLiBhcm46YXdzOnNuczp1cy1lYXN0LTI6NDQ0NDU1NTU2NjY2Ok15VG9waWMpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Ub3BpY0FybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdG9waWNBcm46IHN0cmluZyxcbiAgKTogSVRvcGljIHtcbiAgICByZXR1cm4gVG9waWMuZnJvbVRvcGljQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgdG9waWNBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIFNOUyB0b3BpYyBwcm92aWRlZCBhIHRvcGljIGF0dHJpYnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gYXR0cnMgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHRvcGljIHRvIGltcG9ydFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVG9waWNBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogVG9waWNBdHRyaWJ1dGVzLFxuICApOiBJVG9waWMge1xuICAgIGNvbnN0IHN0YWNrID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpO1xuICAgIGNvbnN0IHRvcGljTmFtZSA9IHN0YWNrLnNwbGl0QXJuKFxuICAgICAgYXR0cnMudG9waWNBcm4sXG4gICAgICBBcm5Gb3JtYXQuTk9fUkVTT1VSQ0VfTkFNRSxcbiAgICApLnJlc291cmNlO1xuICAgIGNvbnN0IGZpZm8gPSB0b3BpY05hbWUuZW5kc1dpdGgoXCIuZmlmb1wiKTtcblxuICAgIGlmIChhdHRycy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uICYmICFmaWZvKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBcIkNhbm5vdCBpbXBvcnQgdG9waWM7IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gaXMgb25seSBhdmFpbGFibGUgZm9yIEZJRk8gU05TIHRvcGljcy5cIixcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFRvcGljQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdG9waWNBcm4gPSBhdHRycy50b3BpY0FybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0b3BpY05hbWUgPSB0b3BpY05hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbWFzdGVyS2V5ID0gYXR0cnMua2V5QXJuXG4gICAgICAgID8gZW5jcnlwdGlvbi5LZXkuZnJvbUtleUFybih0aGlzLCBcIktleVwiLCBhdHRycy5rZXlBcm4pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGZpZm8gPSBmaWZvO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gPVxuICAgICAgICBhdHRycy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uIHx8IGZhbHNlO1xuICAgICAgcHJvdGVjdGVkIGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHtcbiAgICAgIGVudmlyb25tZW50RnJvbUFybjogYXR0cnMudG9waWNBcm4sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWFzdGVyS2V5PzogZW5jcnlwdGlvbi5JS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGZpZm86IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IHNuc1RvcGljLlNuc1RvcGljO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUb3BpY1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuZW5mb3JjZVNTTCA9IHByb3BzLmVuZm9yY2VTU0w7XG5cbiAgICBpZiAocHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiAmJiAhcHJvcHMuZmlmbykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJDb250ZW50IGJhc2VkIGRlZHVwbGljYXRpb24gY2FuIG9ubHkgYmUgZW5hYmxlZCBmb3IgRklGTyBTTlMgdG9waWNzLlwiLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMgJiYgIXByb3BzLmZpZm8pIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIFwiYG1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXNgIGlzIG9ubHkgdmFsaWQgZm9yIEZJRk8gU05TIHRvcGljcy5cIixcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5maWZvVGhyb3VnaHB1dFNjb3BlICYmICFwcm9wcy5maWZvKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBcImBmaWZvVGhyb3VnaHB1dFNjb3BlYCBjYW4gb25seSBiZSBzZXQgZm9yIEZJRk8gU05TIHRvcGljcy5cIixcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzKSAmJlxuICAgICAgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMpIHx8XG4gICAgICAgIHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMgPiAzNjUgfHxcbiAgICAgICAgcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cyA8IDEpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBcImBtZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzYCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzNjVcIixcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHRvcGljTmFtZSA9IHByb3BzLnRvcGljTmFtZTtcbiAgICBpZiAocHJvcHMuZmlmbyAmJiBwcm9wcy50b3BpY05hbWUgJiYgIXByb3BzLnRvcGljTmFtZS5lbmRzV2l0aChcIi5maWZvXCIpKSB7XG4gICAgICB0b3BpY05hbWUgPSBwcm9wcy50b3BpY05hbWUgKyBcIi5maWZvXCI7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5maWZvICYmICFwcm9wcy50b3BpY05hbWUpIHtcbiAgICAgIC8vIE1heCBsZW5ndGggYWxsb3dlZCBieSBDbG91ZEZvcm1hdGlvbiBpcyAyNTYsIHdlIHN1YnRyYWN0IDUgdG8gYWxsb3cgZm9yIFwiLmZpZm9cIiBzdWZmaXhcbiAgICAgIGNvbnN0IHByZWZpeE5hbWUgPSB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7XG4gICAgICAgIG1heExlbmd0aDogMjU2IC0gNSxcbiAgICAgICAgc2VwYXJhdG9yOiBcIi1cIixcbiAgICAgIH0pO1xuICAgICAgdG9waWNOYW1lID0gYCR7cHJlZml4TmFtZX0uZmlmb2A7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuc2lnbmF0dXJlVmVyc2lvbiAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5zaWduYXR1cmVWZXJzaW9uKSAmJlxuICAgICAgcHJvcHMuc2lnbmF0dXJlVmVyc2lvbiAhPT0gXCIxXCIgJiZcbiAgICAgIHByb3BzLnNpZ25hdHVyZVZlcnNpb24gIT09IFwiMlwiXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgc2lnbmF0dXJlVmVyc2lvbiBtdXN0IGJlIFwiMVwiIG9yIFwiMlwiLCByZWNlaXZlZDogXCIke3Byb3BzLnNpZ25hdHVyZVZlcnNpb259XCJgLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5kaXNwbGF5TmFtZSAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kaXNwbGF5TmFtZSkgJiZcbiAgICAgIHByb3BzLmRpc3BsYXlOYW1lLmxlbmd0aCA+IDEwMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYGRpc3BsYXlOYW1lIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwMCBjaGFyYWN0ZXJzLCBnb3QgJHtwcm9wcy5kaXNwbGF5TmFtZS5sZW5ndGh9YCxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzbnNUb3BpYy5TbnNUb3BpYyh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGFyY2hpdmVQb2xpY3k6IHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXNcbiAgICAgICAgPyBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBNZXNzYWdlUmV0ZW50aW9uUGVyaW9kOiBwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzLFxuICAgICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGlzcGxheU5hbWU6IHByb3BzLmRpc3BsYXlOYW1lLFxuICAgICAgbmFtZTogdG9waWNOYW1lLFxuICAgICAga21zTWFzdGVyS2V5SWQ6IHByb3BzLm1hc3RlcktleT8ua2V5QXJuLFxuICAgICAgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogcHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbixcbiAgICAgIGZpZm9Ub3BpYzogcHJvcHMuZmlmbyxcbiAgICAgIHNpZ25hdHVyZVZlcnNpb246IHByb3BzLnNpZ25hdHVyZVZlcnNpb25cbiAgICAgICAgPyBwYXJzZUludChwcm9wcy5zaWduYXR1cmVWZXJzaW9uLCAxMClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB0cmFjaW5nQ29uZmlnOiBwcm9wcy50cmFjaW5nQ29uZmlnLFxuICAgICAgZmlmb1Rocm91Z2hwdXRTY29wZTogcHJvcHMuZmlmb1Rocm91Z2hwdXRTY29wZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBsb2dnaW5nIGNvbmZpZyBvdmVycmlkZXNcbiAgICBpZiAocHJvcHMubG9nZ2luZ0NvbmZpZ3MpIHtcbiAgICAgIHByb3BzLmxvZ2dpbmdDb25maWdzLmZvckVhY2goKGMpID0+IHRoaXMuYWRkTG9nZ2luZ0NvbmZpZyhjKSk7XG4gICAgfVxuXG4gICAgdGhpcy50b3BpY0FybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuICAgIHRoaXMudG9waWNOYW1lID0gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICAgIHRoaXMubWFzdGVyS2V5ID0gcHJvcHMubWFzdGVyS2V5O1xuICAgIHRoaXMuZmlmbyA9IHByb3BzLmZpZm8gfHwgZmFsc2U7XG4gICAgdGhpcy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uID0gcHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiB8fCBmYWxzZTtcblxuICAgIGlmICh0aGlzLmVuZm9yY2VTU0wpIHtcbiAgICAgIHRoaXMuYWRkU1NMUG9saWN5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBkZWxpdmVyeSBzdGF0dXMgbG9nZ2luZyBjb25maWd1cmF0aW9uIHRvIHRoZSB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyBhZGRMb2dnaW5nQ29uZmlnKGNvbmZpZzogTG9nZ2luZ0NvbmZpZykge1xuICAgIGlmIChjb25maWcuc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCByYXRlID0gY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGU7XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocmF0ZSkgfHwgcmF0ZSA8IDAgfHwgcmF0ZSA+IDEwMCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIFwiU3VjY2VzcyBmZWVkYmFjayBzYW1wbGUgcmF0ZSBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCAxMDBcIixcbiAgICAgICAgICB0aGlzLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb25maWcuZmFpbHVyZUZlZWRiYWNrUm9sZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZVtgJHtjb25maWcucHJvdG9jb2x9RmFpbHVyZUZlZWRiYWNrUm9sZUFybmBdID1cbiAgICAgICAgY29uZmlnLmZhaWx1cmVGZWVkYmFja1JvbGUucm9sZUFybjtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1JvbGUpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VbYCR7Y29uZmlnLnByb3RvY29sfVN1Y2Nlc3NGZWVkYmFja1JvbGVBcm5gXSA9XG4gICAgICAgIGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tSb2xlLnJvbGVBcm47XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tTYW1wbGVSYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VbYCR7Y29uZmlnLnByb3RvY29sfVN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGVgXSA9XG4gICAgICAgIGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tTYW1wbGVSYXRlO1xuICAgIH1cbiAgfVxufVxuIl19
|