terraconstructs 0.0.17 → 0.0.19

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.
Files changed (225) hide show
  1. package/.jsii +4536 -6
  2. package/lib/aws/arn.js +1 -1
  3. package/lib/aws/aws-construct.js +1 -1
  4. package/lib/aws/aws-stack.js +1 -1
  5. package/lib/aws/aws-tags.js +2 -2
  6. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  7. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  8. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  9. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  10. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  11. package/lib/aws/cloudwatch/alarm.js +1 -1
  12. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  13. package/lib/aws/cloudwatch/dashboard.js +1 -1
  14. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  15. package/lib/aws/cloudwatch/graph.js +8 -8
  16. package/lib/aws/cloudwatch/layout.js +3 -3
  17. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  18. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  19. package/lib/aws/cloudwatch/log-group.js +1 -1
  20. package/lib/aws/cloudwatch/log-query.js +1 -1
  21. package/lib/aws/cloudwatch/log-stream.js +1 -1
  22. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  23. package/lib/aws/cloudwatch/metric.js +2 -2
  24. package/lib/aws/cloudwatch/pattern.js +3 -3
  25. package/lib/aws/cloudwatch/policy.js +1 -1
  26. package/lib/aws/cloudwatch/query-definition.js +2 -2
  27. package/lib/aws/cloudwatch/stats.js +1 -1
  28. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  29. package/lib/aws/cloudwatch/text.js +1 -1
  30. package/lib/aws/cloudwatch/variable.js +3 -3
  31. package/lib/aws/cloudwatch/widget.js +1 -1
  32. package/lib/aws/compute/activity.js +1 -1
  33. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  34. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  35. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  36. package/lib/aws/compute/alb/application-listener.js +1 -1
  37. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  38. package/lib/aws/compute/alb/application-target-group.js +1 -1
  39. package/lib/aws/compute/alb/conditions.js +1 -1
  40. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  41. package/lib/aws/compute/alb/trust-store.js +1 -1
  42. package/lib/aws/compute/architecture.js +1 -1
  43. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  44. package/lib/aws/compute/bastion-host.js +1 -1
  45. package/lib/aws/compute/chain.js +1 -1
  46. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  47. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  48. package/lib/aws/compute/client-vpn-route.js +2 -2
  49. package/lib/aws/compute/condition.js +1 -1
  50. package/lib/aws/compute/connections.js +1 -1
  51. package/lib/aws/compute/event-invoke-config.js +1 -1
  52. package/lib/aws/compute/event-source-filter.js +2 -2
  53. package/lib/aws/compute/event-source-mapping.js +1 -1
  54. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  55. package/lib/aws/compute/event-sources/s3.js +1 -1
  56. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  57. package/lib/aws/compute/event-sources/sqs.js +1 -1
  58. package/lib/aws/compute/fields.js +4 -4
  59. package/lib/aws/compute/function-alias.js +1 -1
  60. package/lib/aws/compute/function-base.js +2 -2
  61. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  62. package/lib/aws/compute/function-destinations/function.js +1 -1
  63. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  64. package/lib/aws/compute/function-nodejs.js +1 -1
  65. package/lib/aws/compute/function-url.js +1 -1
  66. package/lib/aws/compute/function.js +1 -1
  67. package/lib/aws/compute/instance-types.js +1 -1
  68. package/lib/aws/compute/instance.js +1 -1
  69. package/lib/aws/compute/ip-addresses.js +2 -2
  70. package/lib/aws/compute/ipam.js +1 -1
  71. package/lib/aws/compute/key-pair.js +1 -1
  72. package/lib/aws/compute/launch-template.js +3 -7
  73. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  74. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  75. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  76. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  77. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  78. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  79. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  80. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  81. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  82. package/lib/aws/compute/load-balancer.js +3 -3
  83. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  84. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  85. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  86. package/lib/aws/compute/machine-image/common.js +1 -1
  87. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  88. package/lib/aws/compute/nat.js +5 -5
  89. package/lib/aws/compute/network-acl-types.js +2 -2
  90. package/lib/aws/compute/network-acl.js +3 -3
  91. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  92. package/lib/aws/compute/nlb/network-listener.js +1 -1
  93. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  94. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  95. package/lib/aws/compute/peer.js +1 -1
  96. package/lib/aws/compute/placement-group.js +1 -1
  97. package/lib/aws/compute/port.js +1 -1
  98. package/lib/aws/compute/prefix-list.js +1 -1
  99. package/lib/aws/compute/route.js +8 -8
  100. package/lib/aws/compute/security-group.js +1 -1
  101. package/lib/aws/compute/state-graph.js +1 -1
  102. package/lib/aws/compute/state-machine-fragment.js +1 -1
  103. package/lib/aws/compute/state-machine.js +4 -4
  104. package/lib/aws/compute/states/choice.js +1 -1
  105. package/lib/aws/compute/states/custom-state.js +1 -1
  106. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  107. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  108. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  109. package/lib/aws/compute/states/distributed-map.js +1 -1
  110. package/lib/aws/compute/states/fail.js +1 -1
  111. package/lib/aws/compute/states/map-base.js +1 -1
  112. package/lib/aws/compute/states/map.js +1 -1
  113. package/lib/aws/compute/states/parallel.js +1 -1
  114. package/lib/aws/compute/states/pass.js +2 -2
  115. package/lib/aws/compute/states/state.js +1 -1
  116. package/lib/aws/compute/states/succeed.js +1 -1
  117. package/lib/aws/compute/states/task-base.js +2 -2
  118. package/lib/aws/compute/states/task.js +1 -1
  119. package/lib/aws/compute/states/wait.js +2 -2
  120. package/lib/aws/compute/subnet-v2.js +2 -2
  121. package/lib/aws/compute/subnet.js +1 -1
  122. package/lib/aws/compute/task-credentials.js +1 -1
  123. package/lib/aws/compute/task-input.js +1 -1
  124. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  125. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  126. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  127. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  128. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  129. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  130. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  131. package/lib/aws/compute/types.js +1 -1
  132. package/lib/aws/compute/user-data.js +3 -3
  133. package/lib/aws/compute/volume.js +2 -2
  134. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  135. package/lib/aws/compute/vpc-endpoint.js +6 -6
  136. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  137. package/lib/aws/compute/vpc-v2-base.js +1 -1
  138. package/lib/aws/compute/vpc-v2.js +2 -2
  139. package/lib/aws/compute/vpc.js +4 -4
  140. package/lib/aws/compute/vpn.js +3 -3
  141. package/lib/aws/edge/certificate.js +1 -1
  142. package/lib/aws/edge/distribution.js +3 -3
  143. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  144. package/lib/aws/edge/dns-record.js +13 -13
  145. package/lib/aws/edge/dns-zone.js +1 -1
  146. package/lib/aws/edge/function.js +2 -2
  147. package/lib/aws/edge/key-value-store.js +4 -4
  148. package/lib/aws/edge/origin.js +3 -3
  149. package/lib/aws/edge/response-headers-policy.js +1 -1
  150. package/lib/aws/encryption/alias.js +1 -1
  151. package/lib/aws/encryption/key.js +1 -1
  152. package/lib/aws/encryption/via-service-principal.js +1 -1
  153. package/lib/aws/iam/grant.js +2 -2
  154. package/lib/aws/iam/group.js +1 -1
  155. package/lib/aws/iam/instance-profile.js +1 -1
  156. package/lib/aws/iam/managed-policy.js +1 -1
  157. package/lib/aws/iam/oidc-provider.js +1 -1
  158. package/lib/aws/iam/policy-document.js +1 -1
  159. package/lib/aws/iam/policy-statement.js +1 -1
  160. package/lib/aws/iam/policy.js +1 -1
  161. package/lib/aws/iam/principals.js +20 -20
  162. package/lib/aws/iam/role.js +1 -1
  163. package/lib/aws/iam/saml-provider.js +2 -2
  164. package/lib/aws/iam/unknown-principal.js +1 -1
  165. package/lib/aws/iam/user.js +1 -1
  166. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  167. package/lib/aws/network/subnet-group.js +3 -3
  168. package/lib/aws/network/subnet.js +4 -4
  169. package/lib/aws/notify/archive.js +1 -1
  170. package/lib/aws/notify/connection.js +3 -3
  171. package/lib/aws/notify/delivery-policy.d.ts +114 -0
  172. package/lib/aws/notify/delivery-policy.js +27 -0
  173. package/lib/aws/notify/event-bus.js +3 -3
  174. package/lib/aws/notify/event-pattern.js +1 -1
  175. package/lib/aws/notify/index.d.ts +11 -0
  176. package/lib/aws/notify/index.js +14 -1
  177. package/lib/aws/notify/input.js +2 -2
  178. package/lib/aws/notify/kinesis-stream.js +1 -1
  179. package/lib/aws/notify/notification-rule-source.d.ts +20 -0
  180. package/lib/aws/notify/notification-rule-source.js +4 -0
  181. package/lib/aws/notify/notification-rule-target.d.ts +24 -0
  182. package/lib/aws/notify/notification-rule-target.js +4 -0
  183. package/lib/aws/notify/notification-rule.d.ts +123 -0
  184. package/lib/aws/notify/notification-rule.js +129 -0
  185. package/lib/aws/notify/policy.d.ts +56 -0
  186. package/lib/aws/notify/policy.js +83 -0
  187. package/lib/aws/notify/queue-policy.js +1 -1
  188. package/lib/aws/notify/queue.js +1 -1
  189. package/lib/aws/notify/resource-policy.js +1 -1
  190. package/lib/aws/notify/rule.js +1 -1
  191. package/lib/aws/notify/schedule.js +1 -1
  192. package/lib/aws/notify/sns-augmentations.generated.d.ts +125 -0
  193. package/lib/aws/notify/sns-augmentations.generated.js +71 -0
  194. package/lib/aws/notify/sns-canned-metrics.generated.d.ts +33 -0
  195. package/lib/aws/notify/sns-canned-metrics.generated.js +47 -0
  196. package/lib/aws/notify/subscriber.d.ts +44 -0
  197. package/lib/aws/notify/subscriber.js +4 -0
  198. package/lib/aws/notify/subscription-filter.d.ts +129 -0
  199. package/lib/aws/notify/subscription-filter.js +105 -0
  200. package/lib/aws/notify/subscription.d.ts +219 -0
  201. package/lib/aws/notify/subscription.js +357 -0
  202. package/lib/aws/notify/targets/event-bus.js +1 -1
  203. package/lib/aws/notify/targets/function.js +1 -1
  204. package/lib/aws/notify/targets/log-group.js +2 -2
  205. package/lib/aws/notify/targets/sqs.js +1 -1
  206. package/lib/aws/notify/targets/state-machine.js +1 -1
  207. package/lib/aws/notify/topic-base.d.ts +155 -0
  208. package/lib/aws/notify/topic-base.js +175 -0
  209. package/lib/aws/notify/topic.d.ts +222 -0
  210. package/lib/aws/notify/topic.js +219 -0
  211. package/lib/aws/storage/bucket-notifications.js +1 -1
  212. package/lib/aws/storage/bucket-policy.js +1 -1
  213. package/lib/aws/storage/bucket-source.js +1 -1
  214. package/lib/aws/storage/bucket.js +2 -2
  215. package/lib/aws/storage/notification-targets/function.js +1 -1
  216. package/lib/aws/storage/notification-targets/queue.js +1 -1
  217. package/lib/aws/storage/origin-access-identity.js +1 -1
  218. package/lib/aws/storage/parameter.js +2 -2
  219. package/lib/construct-base.js +2 -2
  220. package/lib/duration.js +1 -1
  221. package/lib/expiration.js +1 -1
  222. package/lib/size.js +1 -1
  223. package/lib/stack-base.js +1 -1
  224. package/lib/terra-func.js +1 -1
  225. package/package.json +1 -1
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ var _a, _b, _c, _d;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Policy = exports.Filter = exports.FilterOrPolicy = exports.FilterOrPolicyType = exports.SubscriptionProtocol = exports.Subscription = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/6b9e47a1529319561bc1040739fe02bac15895bf/packages/aws-cdk-lib/aws-sns/lib/subscription.ts
7
+ const provider_aws_1 = require("@cdktf/provider-aws");
8
+ const aws_construct_1 = require("../aws-construct");
9
+ const iam = require("../iam");
10
+ /**
11
+ * A new subscription.
12
+ *
13
+ * Prefer to use the `ITopic.addSubscription()` methods to create instances of
14
+ * this class.
15
+ *
16
+ * @resource aws_sns_topic_subscription
17
+ */
18
+ class Subscription extends aws_construct_1.AwsConstructBase {
19
+ get outputs() {
20
+ return this.subscriptionOutputs;
21
+ }
22
+ constructor(scope, id, props) {
23
+ super(scope, id, props);
24
+ if (props.rawMessageDelivery &&
25
+ [
26
+ SubscriptionProtocol.HTTP,
27
+ SubscriptionProtocol.HTTPS,
28
+ SubscriptionProtocol.SQS,
29
+ SubscriptionProtocol.FIREHOSE,
30
+ ].indexOf(props.protocol) < 0) {
31
+ // TODO: re-add ValidationError
32
+ throw new Error("Raw message delivery can only be enabled for HTTP, HTTPS, SQS, and Firehose subscriptions.");
33
+ }
34
+ let filterPolicyJson;
35
+ /** Whether the filter_policy applies to MessageAttributes (default) or MessageBody */
36
+ let filterPolicyScope;
37
+ if (props.filterPolicy && props.filterPolicyWithMessageBody) {
38
+ throw new Error("A maximum of one of `filterPolicyWithMessageBody` and `filterPolicy` may be used.");
39
+ }
40
+ if (props.filterPolicy) {
41
+ if (Object.keys(props.filterPolicy).length > 5) {
42
+ throw new Error("A filter policy can have a maximum of 5 attribute names.");
43
+ }
44
+ const filterPolicyConditions = Object.entries(props.filterPolicy).reduce((acc, [k, v]) => ({ ...acc, [k]: v.conditions }), {});
45
+ let total = 1;
46
+ Object.values(filterPolicyConditions).forEach((filter) => {
47
+ total *= filter.length;
48
+ });
49
+ if (total > 150) {
50
+ // TODO: re-add ValidationError
51
+ throw new Error(`The total combination of values (${total}) must not exceed 150.`);
52
+ }
53
+ filterPolicyJson = JSON.stringify(filterPolicyConditions);
54
+ filterPolicyScope = "MessageAttributes"; // Default scope
55
+ }
56
+ else if (props.filterPolicyWithMessageBody) {
57
+ if (Object.keys(props.filterPolicyWithMessageBody).length > 5) {
58
+ throw new Error("A filter policy can have a maximum of 5 attribute names.");
59
+ }
60
+ const builtPolicy = buildFilterPolicyWithMessageBody(this, props.filterPolicyWithMessageBody);
61
+ filterPolicyJson = JSON.stringify(builtPolicy);
62
+ filterPolicyScope = "MessageBody";
63
+ }
64
+ if (props.protocol === SubscriptionProtocol.FIREHOSE &&
65
+ !props.subscriptionRoleArn) {
66
+ throw new Error("Subscription role arn is required field for subscriptions with a firehose protocol.");
67
+ }
68
+ this.deadLetterQueue = this.buildDeadLetterQueue(props);
69
+ const redrivePolicyJson = this.buildDeadLetterConfig(this.deadLetterQueue);
70
+ const deliveryPolicyJson = props.deliveryPolicy
71
+ ? this.renderDeliveryPolicy(props.deliveryPolicy, props.protocol)
72
+ : undefined;
73
+ this.resource = new provider_aws_1.snsTopicSubscription.SnsTopicSubscription(this, "Resource", {
74
+ endpoint: props.endpoint,
75
+ protocol: props.protocol,
76
+ topicArn: props.topic.topicArn,
77
+ rawMessageDelivery: props.rawMessageDelivery,
78
+ filterPolicy: filterPolicyJson,
79
+ filterPolicyScope: filterPolicyScope,
80
+ redrivePolicy: redrivePolicyJson,
81
+ subscriptionRoleArn: props.subscriptionRoleArn,
82
+ deliveryPolicy: deliveryPolicyJson,
83
+ // confirmationTimeoutInMinutes: // Not directly available in CDK props
84
+ // endpointAutoConfirms: // Not directly available in CDK props
85
+ // replayPolicy: // Not directly available in CDK props (missing in AWS CDK)
86
+ });
87
+ this.subscriptionOutputs = {
88
+ subscriptionArn: this.resource.arn,
89
+ };
90
+ }
91
+ renderDeliveryPolicy(deliveryPolicy, protocol) {
92
+ // TODO: re-add ValidationError(s)
93
+ if (![SubscriptionProtocol.HTTP, SubscriptionProtocol.HTTPS].includes(protocol)) {
94
+ throw new Error(`Delivery policy is only supported for HTTP and HTTPS subscriptions, got: ${protocol}`);
95
+ }
96
+ const { healthyRetryPolicy, throttlePolicy, requestPolicy } = deliveryPolicy;
97
+ const renderedPolicy = {};
98
+ if (healthyRetryPolicy) {
99
+ const delayTargetLimitSecs = 3600;
100
+ const minDelayTarget = healthyRetryPolicy.minDelayTarget;
101
+ const maxDelayTarget = healthyRetryPolicy.maxDelayTarget;
102
+ if (minDelayTarget !== undefined) {
103
+ if (minDelayTarget.toMilliseconds() % 1000 !== 0) {
104
+ throw new Error(`minDelayTarget must be a whole number of seconds, got: ${minDelayTarget}`);
105
+ }
106
+ const minDelayTargetSecs = minDelayTarget.toSeconds();
107
+ if (minDelayTargetSecs < 1 ||
108
+ minDelayTargetSecs > delayTargetLimitSecs) {
109
+ throw new Error(`minDelayTarget must be between 1 and ${delayTargetLimitSecs} seconds inclusive, got: ${minDelayTargetSecs}s`);
110
+ }
111
+ }
112
+ if (maxDelayTarget !== undefined) {
113
+ if (maxDelayTarget.toMilliseconds() % 1000 !== 0) {
114
+ throw new Error(`maxDelayTarget must be a whole number of seconds, got: ${maxDelayTarget}`);
115
+ }
116
+ const maxDelayTargetSecs = maxDelayTarget.toSeconds();
117
+ if (maxDelayTargetSecs < 1 ||
118
+ maxDelayTargetSecs > delayTargetLimitSecs) {
119
+ throw new Error(`maxDelayTarget must be between 1 and ${delayTargetLimitSecs} seconds inclusive, got: ${maxDelayTargetSecs}s`);
120
+ }
121
+ if (minDelayTarget !== undefined &&
122
+ minDelayTarget.toSeconds() > maxDelayTargetSecs) {
123
+ throw new Error("minDelayTarget must not exceed maxDelayTarget");
124
+ }
125
+ }
126
+ const numRetriesLimit = 100;
127
+ if (healthyRetryPolicy.numRetries &&
128
+ (healthyRetryPolicy.numRetries < 0 ||
129
+ healthyRetryPolicy.numRetries > numRetriesLimit)) {
130
+ throw new Error(`numRetries must be between 0 and ${numRetriesLimit} inclusive, got: ${healthyRetryPolicy.numRetries}`);
131
+ }
132
+ const { numNoDelayRetries, numMinDelayRetries, numMaxDelayRetries } = healthyRetryPolicy;
133
+ if (numNoDelayRetries &&
134
+ (numNoDelayRetries < 0 || !Number.isInteger(numNoDelayRetries))) {
135
+ throw new Error(`numNoDelayRetries must be an integer zero or greater, got: ${numNoDelayRetries}`);
136
+ }
137
+ if (numMinDelayRetries &&
138
+ (numMinDelayRetries < 0 || !Number.isInteger(numMinDelayRetries))) {
139
+ throw new Error(`numMinDelayRetries must be an integer zero or greater, got: ${numMinDelayRetries}`);
140
+ }
141
+ if (numMaxDelayRetries &&
142
+ (numMaxDelayRetries < 0 || !Number.isInteger(numMaxDelayRetries))) {
143
+ throw new Error(`numMaxDelayRetries must be an integer zero or greater, got: ${numMaxDelayRetries}`);
144
+ }
145
+ renderedPolicy.healthyRetryPolicy = {
146
+ minDelayTarget: healthyRetryPolicy.minDelayTarget === undefined
147
+ ? 20
148
+ : healthyRetryPolicy.minDelayTarget.toSeconds(),
149
+ maxDelayTarget: healthyRetryPolicy.maxDelayTarget === undefined
150
+ ? 20
151
+ : healthyRetryPolicy.maxDelayTarget.toSeconds(),
152
+ numRetries: healthyRetryPolicy.numRetries === undefined
153
+ ? 3
154
+ : healthyRetryPolicy.numRetries,
155
+ numNoDelayRetries: healthyRetryPolicy.numNoDelayRetries,
156
+ numMinDelayRetries: healthyRetryPolicy.numMinDelayRetries,
157
+ numMaxDelayRetries: healthyRetryPolicy.numMaxDelayRetries,
158
+ backoffFunction: healthyRetryPolicy.backoffFunction,
159
+ };
160
+ }
161
+ if (throttlePolicy) {
162
+ const maxReceivesPerSecond = throttlePolicy.maxReceivesPerSecond;
163
+ if (maxReceivesPerSecond !== undefined &&
164
+ (maxReceivesPerSecond < 1 || !Number.isInteger(maxReceivesPerSecond))) {
165
+ throw new Error(`maxReceivesPerSecond must be an integer greater than zero, got: ${maxReceivesPerSecond}`);
166
+ }
167
+ renderedPolicy.throttlePolicy = {
168
+ maxReceivesPerSecond: throttlePolicy.maxReceivesPerSecond,
169
+ };
170
+ }
171
+ if (requestPolicy) {
172
+ renderedPolicy.requestPolicy = {
173
+ headerContentType: requestPolicy.headerContentType,
174
+ };
175
+ }
176
+ return JSON.stringify(renderedPolicy);
177
+ }
178
+ buildDeadLetterQueue(props) {
179
+ if (!props.deadLetterQueue) {
180
+ return undefined;
181
+ }
182
+ const deadLetterQueue = props.deadLetterQueue;
183
+ deadLetterQueue.addToResourcePolicy(new iam.PolicyStatement({
184
+ resources: [deadLetterQueue.queueArn],
185
+ actions: ["sqs:SendMessage"],
186
+ principals: [new iam.ServicePrincipal("sns.amazonaws.com")],
187
+ condition: [
188
+ {
189
+ test: "ArnEquals",
190
+ variable: "aws:SourceArn",
191
+ values: [props.topic.topicArn],
192
+ },
193
+ ],
194
+ }));
195
+ return deadLetterQueue;
196
+ }
197
+ buildDeadLetterConfig(deadLetterQueue) {
198
+ if (deadLetterQueue) {
199
+ return JSON.stringify({
200
+ deadLetterTargetArn: deadLetterQueue.queueArn,
201
+ });
202
+ }
203
+ else {
204
+ return undefined;
205
+ }
206
+ }
207
+ }
208
+ exports.Subscription = Subscription;
209
+ _a = JSII_RTTI_SYMBOL_1;
210
+ Subscription[_a] = { fqn: "terraconstructs.aws.notify.Subscription", version: "0.0.19" };
211
+ /**
212
+ * The type of subscription, controlling the type of the endpoint parameter.
213
+ */
214
+ var SubscriptionProtocol;
215
+ (function (SubscriptionProtocol) {
216
+ /**
217
+ * JSON-encoded message is POSTED to an HTTP url.
218
+ */
219
+ SubscriptionProtocol["HTTP"] = "http";
220
+ /**
221
+ * JSON-encoded message is POSTed to an HTTPS url.
222
+ */
223
+ SubscriptionProtocol["HTTPS"] = "https";
224
+ /**
225
+ * Notifications are sent via email.
226
+ */
227
+ SubscriptionProtocol["EMAIL"] = "email";
228
+ /**
229
+ * Notifications are JSON-encoded and sent via mail.
230
+ */
231
+ SubscriptionProtocol["EMAIL_JSON"] = "email-json";
232
+ /**
233
+ * Notification is delivered by SMS
234
+ */
235
+ SubscriptionProtocol["SMS"] = "sms";
236
+ /**
237
+ * Notifications are enqueued into an SQS queue.
238
+ */
239
+ SubscriptionProtocol["SQS"] = "sqs";
240
+ /**
241
+ * JSON-encoded notifications are sent to a mobile app endpoint.
242
+ */
243
+ SubscriptionProtocol["APPLICATION"] = "application";
244
+ /**
245
+ * Notifications trigger a Lambda function.
246
+ */
247
+ SubscriptionProtocol["LAMBDA"] = "lambda";
248
+ /**
249
+ * Notifications put records into a firehose delivery stream.
250
+ */
251
+ SubscriptionProtocol["FIREHOSE"] = "firehose";
252
+ })(SubscriptionProtocol || (exports.SubscriptionProtocol = SubscriptionProtocol = {}));
253
+ function buildFilterPolicyWithMessageBody(scope, inputObject, depth = 1, totalCombinationValues = [1]) {
254
+ const result = {};
255
+ for (const [key, filterOrPolicy] of Object.entries(inputObject)) {
256
+ if (filterOrPolicy.isPolicy()) {
257
+ result[key] = buildFilterPolicyWithMessageBody(scope, filterOrPolicy.policyDoc, depth + 1, totalCombinationValues);
258
+ }
259
+ else if (filterOrPolicy.isFilter()) {
260
+ const filter = filterOrPolicy.filterDoc.conditions;
261
+ result[key] = filter;
262
+ totalCombinationValues[0] *= filter.length * depth;
263
+ }
264
+ }
265
+ // https://docs.aws.amazon.com/sns/latest/dg/subscription-filter-policy-constraints.html
266
+ if (totalCombinationValues[0] > 150) {
267
+ throw new Error(`The total combination of values (${totalCombinationValues}) must not exceed 150.`);
268
+ }
269
+ return result;
270
+ }
271
+ /**
272
+ * The type of the MessageBody at a given key value pair
273
+ */
274
+ var FilterOrPolicyType;
275
+ (function (FilterOrPolicyType) {
276
+ /**
277
+ * The filter of the MessageBody
278
+ */
279
+ FilterOrPolicyType[FilterOrPolicyType["FILTER"] = 0] = "FILTER";
280
+ /**
281
+ * A nested key of the MessageBody
282
+ */
283
+ FilterOrPolicyType[FilterOrPolicyType["POLICY"] = 1] = "POLICY";
284
+ })(FilterOrPolicyType || (exports.FilterOrPolicyType = FilterOrPolicyType = {}));
285
+ /**
286
+ * Class for building the FilterPolicy by avoiding union types
287
+ */
288
+ class FilterOrPolicy {
289
+ /**
290
+ * Filter of MessageBody
291
+ */
292
+ static filter(filter) {
293
+ return new Filter(filter);
294
+ }
295
+ /**
296
+ * Policy of MessageBody
297
+ */
298
+ static policy(policy) {
299
+ return new Policy(policy);
300
+ }
301
+ /**
302
+ * Check if instance is `Policy` type
303
+ */
304
+ isPolicy() {
305
+ return this.type === FilterOrPolicyType.POLICY;
306
+ }
307
+ /**
308
+ * Check if instance is `Filter` type
309
+ */
310
+ isFilter() {
311
+ return this.type === FilterOrPolicyType.FILTER;
312
+ }
313
+ }
314
+ exports.FilterOrPolicy = FilterOrPolicy;
315
+ _b = JSII_RTTI_SYMBOL_1;
316
+ FilterOrPolicy[_b] = { fqn: "terraconstructs.aws.notify.FilterOrPolicy", version: "0.0.19" };
317
+ /**
318
+ * Filter implementation of FilterOrPolicy
319
+ */
320
+ class Filter extends FilterOrPolicy {
321
+ /**
322
+ * Policy constructor
323
+ * @param filterDoc filter argument to construct
324
+ */
325
+ constructor(filterDoc) {
326
+ super();
327
+ this.filterDoc = filterDoc;
328
+ /**
329
+ * Type used in DFS buildFilterPolicyWithMessageBody to determine json value type
330
+ */
331
+ this.type = FilterOrPolicyType.FILTER;
332
+ }
333
+ }
334
+ exports.Filter = Filter;
335
+ _c = JSII_RTTI_SYMBOL_1;
336
+ Filter[_c] = { fqn: "terraconstructs.aws.notify.Filter", version: "0.0.19" };
337
+ /**
338
+ * Policy Implementation of FilterOrPolicy
339
+ */
340
+ class Policy extends FilterOrPolicy {
341
+ /**
342
+ * Policy constructor
343
+ * @param policyDoc policy argument to construct
344
+ */
345
+ constructor(policyDoc) {
346
+ super();
347
+ this.policyDoc = policyDoc;
348
+ /**
349
+ * Type used in DFS buildFilterPolicyWithMessageBody to determine json value type
350
+ */
351
+ this.type = FilterOrPolicyType.POLICY;
352
+ }
353
+ }
354
+ exports.Policy = Policy;
355
+ _d = JSII_RTTI_SYMBOL_1;
356
+ Policy[_d] = { fqn: "terraconstructs.aws.notify.Policy", version: "0.0.19" };
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0lBQWdJO0FBRWhJLHNEQUEyRDtBQUszRCxvREFBdUU7QUFDdkUsOEJBQThCO0FBZ0c5Qjs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxZQUFhLFNBQVEsZ0NBQWdCO0lBU2hELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUNFLEtBQUssQ0FBQyxrQkFBa0I7WUFDeEI7Z0JBQ0Usb0JBQW9CLENBQUMsSUFBSTtnQkFDekIsb0JBQW9CLENBQUMsS0FBSztnQkFDMUIsb0JBQW9CLENBQUMsR0FBRztnQkFDeEIsb0JBQW9CLENBQUMsUUFBUTthQUM5QixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUM3QixDQUFDO1lBQ0QsK0JBQStCO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEZBQTRGLENBQzdGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxnQkFBb0MsQ0FBQztRQUN6QyxzRkFBc0Y7UUFDdEYsSUFBSSxpQkFBa0UsQ0FBQztRQUV2RSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FDYixtRkFBbUYsQ0FDcEYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsQ0FDM0QsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FDdEUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNoRCxFQUFFLENBQ0gsQ0FBQztZQUVGLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDNUQsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsK0JBQStCO2dCQUMvQixNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxLQUFLLHdCQUF3QixDQUNsRSxDQUFDO1lBQ0osQ0FBQztZQUNELGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMxRCxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLGdCQUFnQjtRQUMzRCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUM3QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxDQUMzRCxDQUFDO1lBQ0osQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLGdDQUFnQyxDQUNsRCxJQUFJLEVBQ0osS0FBSyxDQUFDLDJCQUEyQixDQUNsQyxDQUFDO1lBQ0YsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQyxpQkFBaUIsR0FBRyxhQUFhLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQ0UsS0FBSyxDQUFDLFFBQVEsS0FBSyxvQkFBb0IsQ0FBQyxRQUFRO1lBQ2hELENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUMxQixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixxRkFBcUYsQ0FDdEYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0UsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsY0FBYztZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNqRSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1DQUFvQixDQUFDLG9CQUFvQixDQUMzRCxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQzlCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsWUFBWSxFQUFFLGdCQUFnQjtZQUM5QixpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsYUFBYSxFQUFFLGlCQUFpQjtZQUNoQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsdUVBQXVFO1lBQ3ZFLCtEQUErRDtZQUMvRCw0RUFBNEU7U0FDN0UsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHO1lBQ3pCLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUc7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0IsQ0FDMUIsY0FBOEIsRUFDOUIsUUFBOEI7UUFFOUIsa0NBQWtDO1FBQ2xDLElBQ0UsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQy9ELFFBQVEsQ0FDVCxFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDRFQUE0RSxRQUFRLEVBQUUsQ0FDdkYsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxHQUN6RCxjQUFjLENBQUM7UUFDakIsTUFBTSxjQUFjLEdBQVEsRUFBRSxDQUFDO1FBRS9CLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNsQyxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7WUFDekQsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDO1lBQ3pELElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2pELE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELGNBQWMsRUFBRSxDQUMzRSxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RELElBQ0Usa0JBQWtCLEdBQUcsQ0FBQztvQkFDdEIsa0JBQWtCLEdBQUcsb0JBQW9CLEVBQ3pDLENBQUM7b0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYix3Q0FBd0Msb0JBQW9CLDRCQUE0QixrQkFBa0IsR0FBRyxDQUM5RyxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksY0FBYyxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDakQsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsY0FBYyxFQUFFLENBQzNFLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEQsSUFDRSxrQkFBa0IsR0FBRyxDQUFDO29CQUN0QixrQkFBa0IsR0FBRyxvQkFBb0IsRUFDekMsQ0FBQztvQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLHdDQUF3QyxvQkFBb0IsNEJBQTRCLGtCQUFrQixHQUFHLENBQzlHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxJQUNFLGNBQWMsS0FBSyxTQUFTO29CQUM1QixjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsa0JBQWtCLEVBQy9DLENBQUM7b0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUM1QixJQUNFLGtCQUFrQixDQUFDLFVBQVU7Z0JBQzdCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLENBQUM7b0JBQ2hDLGtCQUFrQixDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsRUFDbEQsQ0FBQztnQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxlQUFlLG9CQUFvQixrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FDdkcsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsR0FDakUsa0JBQWtCLENBQUM7WUFDckIsSUFDRSxpQkFBaUI7Z0JBQ2pCLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQy9ELENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsaUJBQWlCLEVBQUUsQ0FDbEYsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUNFLGtCQUFrQjtnQkFDbEIsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFDakUsQ0FBQztnQkFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxrQkFBa0IsRUFBRSxDQUNwRixDQUFDO1lBQ0osQ0FBQztZQUNELElBQ0Usa0JBQWtCO2dCQUNsQixDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUNqRSxDQUFDO2dCQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsK0RBQStELGtCQUFrQixFQUFFLENBQ3BGLENBQUM7WUFDSixDQUFDO1lBRUQsY0FBYyxDQUFDLGtCQUFrQixHQUFHO2dCQUNsQyxjQUFjLEVBQ1osa0JBQWtCLENBQUMsY0FBYyxLQUFLLFNBQVM7b0JBQzdDLENBQUMsQ0FBQyxFQUFFO29CQUNKLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxjQUFjLEVBQ1osa0JBQWtCLENBQUMsY0FBYyxLQUFLLFNBQVM7b0JBQzdDLENBQUMsQ0FBQyxFQUFFO29CQUNKLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxVQUFVLEVBQ1Isa0JBQWtCLENBQUMsVUFBVSxLQUFLLFNBQVM7b0JBQ3pDLENBQUMsQ0FBQyxDQUFDO29CQUNILENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVO2dCQUNuQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUI7Z0JBQ3ZELGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLGtCQUFrQjtnQkFDekQsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCO2dCQUN6RCxlQUFlLEVBQUUsa0JBQWtCLENBQUMsZUFBZTthQUNwRCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUMsb0JBQW9CLENBQUM7WUFDakUsSUFDRSxvQkFBb0IsS0FBSyxTQUFTO2dCQUNsQyxDQUFDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUNyRSxDQUFDO2dCQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsbUVBQW1FLG9CQUFvQixFQUFFLENBQzFGLENBQUM7WUFDSixDQUFDO1lBQ0QsY0FBYyxDQUFDLGNBQWMsR0FBRztnQkFDOUIsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLG9CQUFvQjthQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsY0FBYyxDQUFDLGFBQWEsR0FBRztnQkFDN0IsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLGlCQUFpQjthQUNuRCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sb0JBQW9CLENBQzFCLEtBQXdCO1FBRXhCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFFOUMsZUFBZSxDQUFDLG1CQUFtQixDQUNqQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNELFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxJQUFJLEVBQUUsV0FBVztvQkFDakIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUMvQjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU8scUJBQXFCLENBQzNCLGVBQStCO1FBRS9CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNwQixtQkFBbUIsRUFBRSxlQUFlLENBQUMsUUFBUTthQUM5QyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDOztBQXpTSCxvQ0EwU0M7OztBQUVEOztHQUVHO0FBQ0gsSUFBWSxvQkE2Q1g7QUE3Q0QsV0FBWSxvQkFBb0I7SUFDOUI7O09BRUc7SUFDSCxxQ0FBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCx1Q0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCx1Q0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCxpREFBeUIsQ0FBQTtJQUV6Qjs7T0FFRztJQUNILG1DQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILG1DQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILG1EQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gseUNBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCw2Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBN0NXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBNkMvQjtBQUVELFNBQVMsZ0NBQWdDLENBQ3ZDLEtBQWdCLEVBQ2hCLFdBQThDLEVBQzlDLEtBQUssR0FBRyxDQUFDLEVBQ1Qsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFNUIsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUUxQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ2hFLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdDQUFnQyxDQUM1QyxLQUFLLEVBQ0wsY0FBYyxDQUFDLFNBQVMsRUFDeEIsS0FBSyxHQUFHLENBQUMsRUFDVCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDckIsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCx3RkFBd0Y7SUFDeEYsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxNQUFNLElBQUksS0FBSyxDQUNiLG9DQUFvQyxzQkFBc0Isd0JBQXdCLENBQ25GLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsSUFBWSxrQkFTWDtBQVRELFdBQVksa0JBQWtCO0lBQzVCOztPQUVHO0lBQ0gsK0RBQU0sQ0FBQTtJQUNOOztPQUVHO0lBQ0gsK0RBQU0sQ0FBQTtBQUNSLENBQUMsRUFUVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQVM3QjtBQUVEOztHQUVHO0FBQ0gsTUFBc0IsY0FBYztJQUNsQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBMEI7UUFDN0MsT0FBTyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQStDO1FBQ2xFLE9BQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQU9EOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQzs7QUFoQ0gsd0NBaUNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsTUFBTyxTQUFRLGNBQWM7SUFLeEM7OztPQUdHO0lBQ0gsWUFBbUMsU0FBNkI7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFEeUIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFSaEU7O1dBRUc7UUFDYSxTQUFJLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBT2pELENBQUM7O0FBWEgsd0JBWUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsY0FBYztJQUt4Qzs7O09BR0c7SUFDSCxZQUNrQixTQUFrRDtRQUVsRSxLQUFLLEVBQUUsQ0FBQztRQUZRLGNBQVMsR0FBVCxTQUFTLENBQXlDO1FBVHBFOztXQUVHO1FBQ2EsU0FBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQVNqRCxDQUFDOztBQWJILHdCQWNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvNmI5ZTQ3YTE1MjkzMTk1NjFiYzEwNDA3MzlmZTAyYmFjMTU4OTViZi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc25zL2xpYi9zdWJzY3JpcHRpb24udHNcblxuaW1wb3J0IHsgc25zVG9waWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERlbGl2ZXJ5UG9saWN5IH0gZnJvbSBcIi4vZGVsaXZlcnktcG9saWN5XCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25GaWx0ZXIgfSBmcm9tIFwiLi9zdWJzY3JpcHRpb24tZmlsdGVyXCI7XG5pbXBvcnQgeyBJVG9waWMgfSBmcm9tIFwiLi90b3BpYy1iYXNlXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlLCBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0ICogYXMgbm90aWZ5IGZyb20gXCIuLi9ub3RpZnlcIjtcblxuLyoqXG4gKiBPdXRwdXRzIGZvciB0aGUgU3Vic2NyaXB0aW9uIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb25PdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbkFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgbmV3IHN1YnNjcmlwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbk9wdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGF0IHR5cGUgb2Ygc3Vic2NyaXB0aW9uIHRvIGFkZC5cbiAgICovXG4gIHJlYWRvbmx5IHByb3RvY29sOiBTdWJzY3JpcHRpb25Qcm90b2NvbDtcblxuICAvKipcbiAgICogVGhlIHN1YnNjcmlwdGlvbiBlbmRwb2ludC5cbiAgICpcbiAgICogVGhlIG1lYW5pbmcgb2YgdGhpcyB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBmb3IgJ3Byb3RvY29sJy5cbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRydWUgaWYgcmF3IG1lc3NhZ2UgZGVsaXZlcnkgaXMgZW5hYmxlZCBmb3IgdGhlIHN1YnNjcmlwdGlvbi4gUmF3IG1lc3NhZ2VzIGFyZSBmcmVlIG9mIEpTT04gZm9ybWF0dGluZyBhbmQgY2FuIGJlXG4gICAqIHNlbnQgdG8gSFRUUC9TIGFuZCBBbWF6b24gU1FTIGVuZHBvaW50cy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzIGluIHRoZSBBbWF6b24gU2ltcGxlXG4gICAqIE5vdGlmaWNhdGlvbiBTZXJ2aWNlIEFQSSBSZWZlcmVuY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByYXdNZXNzYWdlRGVsaXZlcnk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsdGVyIHBvbGljeS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgbWVzc2FnZXMgYXJlIGRlbGl2ZXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyUG9saWN5PzogeyBbYXR0cmlidXRlOiBzdHJpbmddOiBTdWJzY3JpcHRpb25GaWx0ZXIgfTtcblxuICAvKipcbiAgICogVGhlIGZpbHRlciBwb2xpY3kgdGhhdCBpcyBhcHBsaWVkIG9uIHRoZSBtZXNzYWdlIGJvZHkuXG4gICAqIFRvIGFwcGx5IGEgZmlsdGVyIHBvbGljeSB0byB0aGUgbWVzc2FnZSBhdHRyaWJ1dGVzLCB1c2UgYGZpbHRlclBvbGljeWAuIEEgbWF4aW11bSBvZiBvbmUgb2YgYGZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keWAgYW5kIGBmaWx0ZXJQb2xpY3lgIG1heSBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBtZXNzYWdlcyBhcmUgZGVsaXZlcmVkXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQb2xpY3lXaXRoTWVzc2FnZUJvZHk/OiB7XG4gICAgW2F0dHJpYnV0ZTogc3RyaW5nXTogRmlsdGVyT3JQb2xpY3k7XG4gIH07XG5cbiAgLy8gVE9ETzogQ3Jvc3MtcmVnaW9uIHN1YnNjcmlwdGlvbnMgbWlnaHQgcmVxdWlyZSBwcm92aWRlciBhbGlhc2VzIGluIENES1RGLlxuICAvLyBUaGUgc25zX3RvcGljX3N1YnNjcmlwdGlvbiByZXNvdXJjZSBpdHNlbGYgZG9lc24ndCBoYXZlIGEgcmVnaW9uIHBhcmFtZXRlci5cbiAgLy8gLyoqXG4gIC8vICAqIFRoZSByZWdpb24gd2hlcmUgdGhlIHRvcGljIHJlc2lkZXMsIGluIHRoZSBjYXNlIG9mIGNyb3NzLXJlZ2lvbiBzdWJzY3JpcHRpb25zXG4gIC8vICAqIEBsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1zbnMtc3Vic2NyaXB0aW9uLmh0bWwjY2ZuLXNucy1zdWJzY3JpcHRpb24tcmVnaW9uXG4gIC8vICAqIEBkZWZhdWx0IC0gdGhlIHJlZ2lvbiB3aGVyZSB0aGUgc3RhY2sgaXMgYmVpbmcgZGVwbG95ZWQuXG4gIC8vICAqL1xuICAvLyByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFF1ZXVlIHRvIGJlIHVzZWQgYXMgZGVhZCBsZXR0ZXIgcXVldWUuXG4gICAqIElmIG5vdCBwYXNzZWQgbm8gZGVhZCBsZXR0ZXIgcXVldWUgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZWFkIGxldHRlciBxdWV1ZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlPzogbm90aWZ5LklRdWV1ZTtcblxuICAvKipcbiAgICogQXJuIG9mIHJvbGUgYWxsb3dpbmcgYWNjZXNzIHRvIGZpcmVob3NlIGRlbGl2ZXJ5IHN0cmVhbS5cbiAgICogUmVxdWlyZWQgZm9yIGEgZmlyZWhvc2Ugc3Vic2NyaXB0aW9uIHByb3RvY29sLlxuICAgKiBAZGVmYXVsdCAtIE5vIHN1YnNjcmlwdGlvbiByb2xlIGlzIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBzdWJzY3JpcHRpb25Sb2xlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVsaXZlcnkgcG9saWN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGlmIHRoZSBpbml0aWFsIGRlbGl2ZXJ5IG9mIHRoZSBtZXNzYWdlIGZhaWxzLCB0aHJlZSByZXRyaWVzIHdpdGggYSBkZWxheSBiZXR3ZWVuIGZhaWxlZCBhdHRlbXB0cyBzZXQgYXQgMjAgc2Vjb25kc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVsaXZlcnlQb2xpY3k/OiBEZWxpdmVyeVBvbGljeTtcbn1cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBuZXcgc3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uUHJvcHMgZXh0ZW5kcyBTdWJzY3JpcHRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSB0b3BpYyB0byBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICByZWFkb25seSB0b3BpYzogSVRvcGljO1xufVxuXG4vKipcbiAqIEEgbmV3IHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBQcmVmZXIgdG8gdXNlIHRoZSBgSVRvcGljLmFkZFN1YnNjcmlwdGlvbigpYCBtZXRob2RzIHRvIGNyZWF0ZSBpbnN0YW5jZXMgb2ZcbiAqIHRoaXMgY2xhc3MuXG4gKlxuICogQHJlc291cmNlIGF3c19zbnNfdG9waWNfc3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb24gZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBETFEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3Vic2NyaXB0aW9uIGlmIHByZXNlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlPzogbm90aWZ5LklRdWV1ZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBzbnNUb3BpY1N1YnNjcmlwdGlvbi5TbnNUb3BpY1N1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3Vic2NyaXB0aW9uT3V0cHV0czogU3Vic2NyaXB0aW9uT3V0cHV0cztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbk91dHB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3Vic2NyaXB0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmIChcbiAgICAgIHByb3BzLnJhd01lc3NhZ2VEZWxpdmVyeSAmJlxuICAgICAgW1xuICAgICAgICBTdWJzY3JpcHRpb25Qcm90b2NvbC5IVFRQLFxuICAgICAgICBTdWJzY3JpcHRpb25Qcm90b2NvbC5IVFRQUyxcbiAgICAgICAgU3Vic2NyaXB0aW9uUHJvdG9jb2wuU1FTLFxuICAgICAgICBTdWJzY3JpcHRpb25Qcm90b2NvbC5GSVJFSE9TRSxcbiAgICAgIF0uaW5kZXhPZihwcm9wcy5wcm90b2NvbCkgPCAwXG4gICAgKSB7XG4gICAgICAvLyBUT0RPOiByZS1hZGQgVmFsaWRhdGlvbkVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiUmF3IG1lc3NhZ2UgZGVsaXZlcnkgY2FuIG9ubHkgYmUgZW5hYmxlZCBmb3IgSFRUUCwgSFRUUFMsIFNRUywgYW5kIEZpcmVob3NlIHN1YnNjcmlwdGlvbnMuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBmaWx0ZXJQb2xpY3lKc29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpbHRlcl9wb2xpY3kgYXBwbGllcyB0byBNZXNzYWdlQXR0cmlidXRlcyAoZGVmYXVsdCkgb3IgTWVzc2FnZUJvZHkgKi9cbiAgICBsZXQgZmlsdGVyUG9saWN5U2NvcGU6IFwiTWVzc2FnZUF0dHJpYnV0ZXNcIiB8IFwiTWVzc2FnZUJvZHlcIiB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChwcm9wcy5maWx0ZXJQb2xpY3kgJiYgcHJvcHMuZmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQSBtYXhpbXVtIG9mIG9uZSBvZiBgZmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5YCBhbmQgYGZpbHRlclBvbGljeWAgbWF5IGJlIHVzZWQuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5maWx0ZXJQb2xpY3kpIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhwcm9wcy5maWx0ZXJQb2xpY3kpLmxlbmd0aCA+IDUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiQSBmaWx0ZXIgcG9saWN5IGNhbiBoYXZlIGEgbWF4aW11bSBvZiA1IGF0dHJpYnV0ZSBuYW1lcy5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsdGVyUG9saWN5Q29uZGl0aW9ucyA9IE9iamVjdC5lbnRyaWVzKHByb3BzLmZpbHRlclBvbGljeSkucmVkdWNlKFxuICAgICAgICAoYWNjLCBbaywgdl0pID0+ICh7IC4uLmFjYywgW2tdOiB2LmNvbmRpdGlvbnMgfSksXG4gICAgICAgIHt9LFxuICAgICAgKTtcblxuICAgICAgbGV0IHRvdGFsID0gMTtcbiAgICAgIE9iamVjdC52YWx1ZXMoZmlsdGVyUG9saWN5Q29uZGl0aW9ucykuZm9yRWFjaCgoZmlsdGVyOiBhbnkpID0+IHtcbiAgICAgICAgdG90YWwgKj0gZmlsdGVyLmxlbmd0aDtcbiAgICAgIH0pO1xuICAgICAgaWYgKHRvdGFsID4gMTUwKSB7XG4gICAgICAgIC8vIFRPRE86IHJlLWFkZCBWYWxpZGF0aW9uRXJyb3JcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGUgdG90YWwgY29tYmluYXRpb24gb2YgdmFsdWVzICgke3RvdGFsfSkgbXVzdCBub3QgZXhjZWVkIDE1MC5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZmlsdGVyUG9saWN5SnNvbiA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBvbGljeUNvbmRpdGlvbnMpO1xuICAgICAgZmlsdGVyUG9saWN5U2NvcGUgPSBcIk1lc3NhZ2VBdHRyaWJ1dGVzXCI7IC8vIERlZmF1bHQgc2NvcGVcbiAgICB9IGVsc2UgaWYgKHByb3BzLmZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keSkge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKHByb3BzLmZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keSkubGVuZ3RoID4gNSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJBIGZpbHRlciBwb2xpY3kgY2FuIGhhdmUgYSBtYXhpbXVtIG9mIDUgYXR0cmlidXRlIG5hbWVzLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgYnVpbHRQb2xpY3kgPSBidWlsZEZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgcHJvcHMuZmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5LFxuICAgICAgKTtcbiAgICAgIGZpbHRlclBvbGljeUpzb24gPSBKU09OLnN0cmluZ2lmeShidWlsdFBvbGljeSk7XG4gICAgICBmaWx0ZXJQb2xpY3lTY29wZSA9IFwiTWVzc2FnZUJvZHlcIjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wcy5wcm90b2NvbCA9PT0gU3Vic2NyaXB0aW9uUHJvdG9jb2wuRklSRUhPU0UgJiZcbiAgICAgICFwcm9wcy5zdWJzY3JpcHRpb25Sb2xlQXJuXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiU3Vic2NyaXB0aW9uIHJvbGUgYXJuIGlzIHJlcXVpcmVkIGZpZWxkIGZvciBzdWJzY3JpcHRpb25zIHdpdGggYSBmaXJlaG9zZSBwcm90b2NvbC5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSB0aGlzLmJ1aWxkRGVhZExldHRlclF1ZXVlKHByb3BzKTtcbiAgICBjb25zdCByZWRyaXZlUG9saWN5SnNvbiA9IHRoaXMuYnVpbGREZWFkTGV0dGVyQ29uZmlnKHRoaXMuZGVhZExldHRlclF1ZXVlKTtcbiAgICBjb25zdCBkZWxpdmVyeVBvbGljeUpzb24gPSBwcm9wcy5kZWxpdmVyeVBvbGljeVxuICAgICAgPyB0aGlzLnJlbmRlckRlbGl2ZXJ5UG9saWN5KHByb3BzLmRlbGl2ZXJ5UG9saWN5LCBwcm9wcy5wcm90b2NvbClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzbnNUb3BpY1N1YnNjcmlwdGlvbi5TbnNUb3BpY1N1YnNjcmlwdGlvbihcbiAgICAgIHRoaXMsXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIGVuZHBvaW50OiBwcm9wcy5lbmRwb2ludCxcbiAgICAgICAgcHJvdG9jb2w6IHByb3BzLnByb3RvY29sLFxuICAgICAgICB0b3BpY0FybjogcHJvcHMudG9waWMudG9waWNBcm4sXG4gICAgICAgIHJhd01lc3NhZ2VEZWxpdmVyeTogcHJvcHMucmF3TWVzc2FnZURlbGl2ZXJ5LFxuICAgICAgICBmaWx0ZXJQb2xpY3k6IGZpbHRlclBvbGljeUpzb24sXG4gICAgICAgIGZpbHRlclBvbGljeVNjb3BlOiBmaWx0ZXJQb2xpY3lTY29wZSxcbiAgICAgICAgcmVkcml2ZVBvbGljeTogcmVkcml2ZVBvbGljeUpzb24sXG4gICAgICAgIHN1YnNjcmlwdGlvblJvbGVBcm46IHByb3BzLnN1YnNjcmlwdGlvblJvbGVBcm4sXG4gICAgICAgIGRlbGl2ZXJ5UG9saWN5OiBkZWxpdmVyeVBvbGljeUpzb24sXG4gICAgICAgIC8vIGNvbmZpcm1hdGlvblRpbWVvdXRJbk1pbnV0ZXM6IC8vIE5vdCBkaXJlY3RseSBhdmFpbGFibGUgaW4gQ0RLIHByb3BzXG4gICAgICAgIC8vIGVuZHBvaW50QXV0b0NvbmZpcm1zOiAvLyBOb3QgZGlyZWN0bHkgYXZhaWxhYmxlIGluIENESyBwcm9wc1xuICAgICAgICAvLyByZXBsYXlQb2xpY3k6IC8vIE5vdCBkaXJlY3RseSBhdmFpbGFibGUgaW4gQ0RLIHByb3BzIChtaXNzaW5nIGluIEFXUyBDREspXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbk91dHB1dHMgPSB7XG4gICAgICBzdWJzY3JpcHRpb25Bcm46IHRoaXMucmVzb3VyY2UuYXJuLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckRlbGl2ZXJ5UG9saWN5KFxuICAgIGRlbGl2ZXJ5UG9saWN5OiBEZWxpdmVyeVBvbGljeSxcbiAgICBwcm90b2NvbDogU3Vic2NyaXB0aW9uUHJvdG9jb2wsXG4gICk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogcmUtYWRkIFZhbGlkYXRpb25FcnJvcihzKVxuICAgIGlmIChcbiAgICAgICFbU3Vic2NyaXB0aW9uUHJvdG9jb2wuSFRUUCwgU3Vic2NyaXB0aW9uUHJvdG9jb2wuSFRUUFNdLmluY2x1ZGVzKFxuICAgICAgICBwcm90b2NvbCxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYERlbGl2ZXJ5IHBvbGljeSBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgSFRUUCBhbmQgSFRUUFMgc3Vic2NyaXB0aW9ucywgZ290OiAke3Byb3RvY29sfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB7IGhlYWx0aHlSZXRyeVBvbGljeSwgdGhyb3R0bGVQb2xpY3ksIHJlcXVlc3RQb2xpY3kgfSA9XG4gICAgICBkZWxpdmVyeVBvbGljeTtcbiAgICBjb25zdCByZW5kZXJlZFBvbGljeTogYW55ID0ge307XG5cbiAgICBpZiAoaGVhbHRoeVJldHJ5UG9saWN5KSB7XG4gICAgICBjb25zdCBkZWxheVRhcmdldExpbWl0U2VjcyA9IDM2MDA7XG4gICAgICBjb25zdCBtaW5EZWxheVRhcmdldCA9IGhlYWx0aHlSZXRyeVBvbGljeS5taW5EZWxheVRhcmdldDtcbiAgICAgIGNvbnN0IG1heERlbGF5VGFyZ2V0ID0gaGVhbHRoeVJldHJ5UG9saWN5Lm1heERlbGF5VGFyZ2V0O1xuICAgICAgaWYgKG1pbkRlbGF5VGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKG1pbkRlbGF5VGFyZ2V0LnRvTWlsbGlzZWNvbmRzKCkgJSAxMDAwICE9PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYG1pbkRlbGF5VGFyZ2V0IG11c3QgYmUgYSB3aG9sZSBudW1iZXIgb2Ygc2Vjb25kcywgZ290OiAke21pbkRlbGF5VGFyZ2V0fWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtaW5EZWxheVRhcmdldFNlY3MgPSBtaW5EZWxheVRhcmdldC50b1NlY29uZHMoKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG1pbkRlbGF5VGFyZ2V0U2VjcyA8IDEgfHxcbiAgICAgICAgICBtaW5EZWxheVRhcmdldFNlY3MgPiBkZWxheVRhcmdldExpbWl0U2Vjc1xuICAgICAgICApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgbWluRGVsYXlUYXJnZXQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kICR7ZGVsYXlUYXJnZXRMaW1pdFNlY3N9IHNlY29uZHMgaW5jbHVzaXZlLCBnb3Q6ICR7bWluRGVsYXlUYXJnZXRTZWNzfXNgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtYXhEZWxheVRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChtYXhEZWxheVRhcmdldC50b01pbGxpc2Vjb25kcygpICUgMTAwMCAhPT0gMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBtYXhEZWxheVRhcmdldCBtdXN0IGJlIGEgd2hvbGUgbnVtYmVyIG9mIHNlY29uZHMsIGdvdDogJHttYXhEZWxheVRhcmdldH1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF4RGVsYXlUYXJnZXRTZWNzID0gbWF4RGVsYXlUYXJnZXQudG9TZWNvbmRzKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtYXhEZWxheVRhcmdldFNlY3MgPCAxIHx8XG4gICAgICAgICAgbWF4RGVsYXlUYXJnZXRTZWNzID4gZGVsYXlUYXJnZXRMaW1pdFNlY3NcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYG1heERlbGF5VGFyZ2V0IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAke2RlbGF5VGFyZ2V0TGltaXRTZWNzfSBzZWNvbmRzIGluY2x1c2l2ZSwgZ290OiAke21heERlbGF5VGFyZ2V0U2Vjc31zYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtaW5EZWxheVRhcmdldCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbWluRGVsYXlUYXJnZXQudG9TZWNvbmRzKCkgPiBtYXhEZWxheVRhcmdldFNlY3NcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWluRGVsYXlUYXJnZXQgbXVzdCBub3QgZXhjZWVkIG1heERlbGF5VGFyZ2V0XCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG51bVJldHJpZXNMaW1pdCA9IDEwMDtcbiAgICAgIGlmIChcbiAgICAgICAgaGVhbHRoeVJldHJ5UG9saWN5Lm51bVJldHJpZXMgJiZcbiAgICAgICAgKGhlYWx0aHlSZXRyeVBvbGljeS5udW1SZXRyaWVzIDwgMCB8fFxuICAgICAgICAgIGhlYWx0aHlSZXRyeVBvbGljeS5udW1SZXRyaWVzID4gbnVtUmV0cmllc0xpbWl0KVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgbnVtUmV0cmllcyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgJHtudW1SZXRyaWVzTGltaXR9IGluY2x1c2l2ZSwgZ290OiAke2hlYWx0aHlSZXRyeVBvbGljeS5udW1SZXRyaWVzfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCB7IG51bU5vRGVsYXlSZXRyaWVzLCBudW1NaW5EZWxheVJldHJpZXMsIG51bU1heERlbGF5UmV0cmllcyB9ID1cbiAgICAgICAgaGVhbHRoeVJldHJ5UG9saWN5O1xuICAgICAgaWYgKFxuICAgICAgICBudW1Ob0RlbGF5UmV0cmllcyAmJlxuICAgICAgICAobnVtTm9EZWxheVJldHJpZXMgPCAwIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG51bU5vRGVsYXlSZXRyaWVzKSlcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG51bU5vRGVsYXlSZXRyaWVzIG11c3QgYmUgYW4gaW50ZWdlciB6ZXJvIG9yIGdyZWF0ZXIsIGdvdDogJHtudW1Ob0RlbGF5UmV0cmllc31gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBudW1NaW5EZWxheVJldHJpZXMgJiZcbiAgICAgICAgKG51bU1pbkRlbGF5UmV0cmllcyA8IDAgfHwgIU51bWJlci5pc0ludGVnZXIobnVtTWluRGVsYXlSZXRyaWVzKSlcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG51bU1pbkRlbGF5UmV0cmllcyBtdXN0IGJlIGFuIGludGVnZXIgemVybyBvciBncmVhdGVyLCBnb3Q6ICR7bnVtTWluRGVsYXlSZXRyaWVzfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIG51bU1heERlbGF5UmV0cmllcyAmJlxuICAgICAgICAobnVtTWF4RGVsYXlSZXRyaWVzIDwgMCB8fCAhTnVtYmVyLmlzSW50ZWdlcihudW1NYXhEZWxheVJldHJpZXMpKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgbnVtTWF4RGVsYXlSZXRyaWVzIG11c3QgYmUgYW4gaW50ZWdlciB6ZXJvIG9yIGdyZWF0ZXIsIGdvdDogJHtudW1NYXhEZWxheVJldHJpZXN9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmVuZGVyZWRQb2xpY3kuaGVhbHRoeVJldHJ5UG9saWN5ID0ge1xuICAgICAgICBtaW5EZWxheVRhcmdldDpcbiAgICAgICAgICBoZWFsdGh5UmV0cnlQb2xpY3kubWluRGVsYXlUYXJnZXQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyAyMFxuICAgICAgICAgICAgOiBoZWFsdGh5UmV0cnlQb2xpY3kubWluRGVsYXlUYXJnZXQudG9TZWNvbmRzKCksXG4gICAgICAgIG1heERlbGF5VGFyZ2V0OlxuICAgICAgICAgIGhlYWx0aHlSZXRyeVBvbGljeS5tYXhEZWxheVRhcmdldCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IDIwXG4gICAgICAgICAgICA6IGhlYWx0aHlSZXRyeVBvbGljeS5tYXhEZWxheVRhcmdldC50b1NlY29uZHMoKSxcbiAgICAgICAgbnVtUmV0cmllczpcbiAgICAgICAgICBoZWFsdGh5UmV0cnlQb2xpY3kubnVtUmV0cmllcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IDNcbiAgICAgICAgICAgIDogaGVhbHRoeVJldHJ5UG9saWN5Lm51bVJldHJpZXMsXG4gICAgICAgIG51bU5vRGVsYXlSZXRyaWVzOiBoZWFsdGh5UmV0cnlQb2xpY3kubnVtTm9EZWxheVJldHJpZXMsXG4gICAgICAgIG51bU1pbkRlbGF5UmV0cmllczogaGVhbHRoeVJldHJ5UG9saWN5Lm51bU1pbkRlbGF5UmV0cmllcyxcbiAgICAgICAgbnVtTWF4RGVsYXlSZXRyaWVzOiBoZWFsdGh5UmV0cnlQb2xpY3kubnVtTWF4RGVsYXlSZXRyaWVzLFxuICAgICAgICBiYWNrb2ZmRnVuY3Rpb246IGhlYWx0aHlSZXRyeVBvbGljeS5iYWNrb2ZmRnVuY3Rpb24sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aHJvdHRsZVBvbGljeSkge1xuICAgICAgY29uc3QgbWF4UmVjZWl2ZXNQZXJTZWNvbmQgPSB0aHJvdHRsZVBvbGljeS5tYXhSZWNlaXZlc1BlclNlY29uZDtcbiAgICAgIGlmIChcbiAgICAgICAgbWF4UmVjZWl2ZXNQZXJTZWNvbmQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAobWF4UmVjZWl2ZXNQZXJTZWNvbmQgPCAxIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG1heFJlY2VpdmVzUGVyU2Vjb25kKSlcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG1heFJlY2VpdmVzUGVyU2Vjb25kIG11c3QgYmUgYW4gaW50ZWdlciBncmVhdGVyIHRoYW4gemVybywgZ290OiAke21heFJlY2VpdmVzUGVyU2Vjb25kfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZW5kZXJlZFBvbGljeS50aHJvdHRsZVBvbGljeSA9IHtcbiAgICAgICAgbWF4UmVjZWl2ZXNQZXJTZWNvbmQ6IHRocm90dGxlUG9saWN5Lm1heFJlY2VpdmVzUGVyU2Vjb25kLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdFBvbGljeSkge1xuICAgICAgcmVuZGVyZWRQb2xpY3kucmVxdWVzdFBvbGljeSA9IHtcbiAgICAgICAgaGVhZGVyQ29udGVudFR5cGU6IHJlcXVlc3RQb2xpY3kuaGVhZGVyQ29udGVudFR5cGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyZW5kZXJlZFBvbGljeSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRGVhZExldHRlclF1ZXVlKFxuICAgIHByb3BzOiBTdWJzY3JpcHRpb25Qcm9wcyxcbiAgKTogbm90aWZ5LklRdWV1ZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgZGVhZExldHRlclF1ZXVlID0gcHJvcHMuZGVhZExldHRlclF1ZXVlO1xuXG4gICAgZGVhZExldHRlclF1ZXVlLmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW2RlYWRMZXR0ZXJRdWV1ZS5xdWV1ZUFybl0sXG4gICAgICAgIGFjdGlvbnM6IFtcInNxczpTZW5kTWVzc2FnZVwiXSxcbiAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uU2VydmljZVByaW5jaXBhbChcInNucy5hbWF6b25hd3MuY29tXCIpXSxcbiAgICAgICAgY29uZGl0aW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVzdDogXCJBcm5FcXVhbHNcIixcbiAgICAgICAgICAgIHZhcmlhYmxlOiBcImF3czpTb3VyY2VBcm5cIixcbiAgICAgICAgICAgIHZhbHVlczogW3Byb3BzLnRvcGljLnRvcGljQXJuXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHJldHVybiBkZWFkTGV0dGVyUXVldWU7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRGVhZExldHRlckNvbmZpZyhcbiAgICBkZWFkTGV0dGVyUXVldWU/OiBub3RpZnkuSVF1ZXVlLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChkZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGRlYWRMZXR0ZXJUYXJnZXRBcm46IGRlYWRMZXR0ZXJRdWV1ZS5xdWV1ZUFybixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHN1YnNjcmlwdGlvbiwgY29udHJvbGxpbmcgdGhlIHR5cGUgb2YgdGhlIGVuZHBvaW50IHBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGVudW0gU3Vic2NyaXB0aW9uUHJvdG9jb2wge1xuICAvKipcbiAgICogSlNPTi1lbmNvZGVkIG1lc3NhZ2UgaXMgUE9TVEVEIHRvIGFuIEhUVFAgdXJsLlxuICAgKi9cbiAgSFRUUCA9IFwiaHR0cFwiLFxuXG4gIC8qKlxuICAgKiBKU09OLWVuY29kZWQgbWVzc2FnZSBpcyBQT1NUZWQgdG8gYW4gSFRUUFMgdXJsLlxuICAgKi9cbiAgSFRUUFMgPSBcImh0dHBzXCIsXG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdmlhIGVtYWlsLlxuICAgKi9cbiAgRU1BSUwgPSBcImVtYWlsXCIsXG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbnMgYXJlIEpTT04tZW5jb2RlZCBhbmQgc2VudCB2aWEgbWFpbC5cbiAgICovXG4gIEVNQUlMX0pTT04gPSBcImVtYWlsLWpzb25cIixcblxuICAvKipcbiAgICogTm90aWZpY2F0aW9uIGlzIGRlbGl2ZXJlZCBieSBTTVNcbiAgICovXG4gIFNNUyA9IFwic21zXCIsXG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbnMgYXJlIGVucXVldWVkIGludG8gYW4gU1FTIHF1ZXVlLlxuICAgKi9cbiAgU1FTID0gXCJzcXNcIixcblxuICAvKipcbiAgICogSlNPTi1lbmNvZGVkIG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdG8gYSBtb2JpbGUgYXBwIGVuZHBvaW50LlxuICAgKi9cbiAgQVBQTElDQVRJT04gPSBcImFwcGxpY2F0aW9uXCIsXG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbnMgdHJpZ2dlciBhIExhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIExBTUJEQSA9IFwibGFtYmRhXCIsXG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbnMgcHV0IHJlY29yZHMgaW50byBhIGZpcmVob3NlIGRlbGl2ZXJ5IHN0cmVhbS5cbiAgICovXG4gIEZJUkVIT1NFID0gXCJmaXJlaG9zZVwiLFxufVxuXG5mdW5jdGlvbiBidWlsZEZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keShcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaW5wdXRPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogRmlsdGVyT3JQb2xpY3kgfSxcbiAgZGVwdGggPSAxLFxuICB0b3RhbENvbWJpbmF0aW9uVmFsdWVzID0gWzFdLFxuKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2tleSwgZmlsdGVyT3JQb2xpY3ldIG9mIE9iamVjdC5lbnRyaWVzKGlucHV0T2JqZWN0KSkge1xuICAgIGlmIChmaWx0ZXJPclBvbGljeS5pc1BvbGljeSgpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGJ1aWxkRmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5KFxuICAgICAgICBzY29wZSxcbiAgICAgICAgZmlsdGVyT3JQb2xpY3kucG9saWN5RG9jLFxuICAgICAgICBkZXB0aCArIDEsXG4gICAgICAgIHRvdGFsQ29tYmluYXRpb25WYWx1ZXMsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoZmlsdGVyT3JQb2xpY3kuaXNGaWx0ZXIoKSkge1xuICAgICAgY29uc3QgZmlsdGVyID0gZmlsdGVyT3JQb2xpY3kuZmlsdGVyRG9jLmNvbmRpdGlvbnM7XG4gICAgICByZXN1bHRba2V5XSA9IGZpbHRlcjtcbiAgICAgIHRvdGFsQ29tYmluYXRpb25WYWx1ZXNbMF0gKj0gZmlsdGVyLmxlbmd0aCAqIGRlcHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3N1YnNjcmlwdGlvbi1maWx0ZXItcG9saWN5LWNvbnN0cmFpbnRzLmh0bWxcbiAgaWYgKHRvdGFsQ29tYmluYXRpb25WYWx1ZXNbMF0gPiAxNTApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHRvdGFsIGNvbWJpbmF0aW9uIG9mIHZhbHVlcyAoJHt0b3RhbENvbWJpbmF0aW9uVmFsdWVzfSkgbXVzdCBub3QgZXhjZWVkIDE1MC5gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBNZXNzYWdlQm9keSBhdCBhIGdpdmVuIGtleSB2YWx1ZSBwYWlyXG4gKi9cbmV4cG9ydCBlbnVtIEZpbHRlck9yUG9saWN5VHlwZSB7XG4gIC8qKlxuICAgKiBUaGUgZmlsdGVyIG9mIHRoZSBNZXNzYWdlQm9keVxuICAgKi9cbiAgRklMVEVSLFxuICAvKipcbiAgICogQSBuZXN0ZWQga2V5IG9mIHRoZSBNZXNzYWdlQm9keVxuICAgKi9cbiAgUE9MSUNZLFxufVxuXG4vKipcbiAqIENsYXNzIGZvciBidWlsZGluZyB0aGUgRmlsdGVyUG9saWN5IGJ5IGF2b2lkaW5nIHVuaW9uIHR5cGVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJPclBvbGljeSB7XG4gIC8qKlxuICAgKiBGaWx0ZXIgb2YgTWVzc2FnZUJvZHlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyKGZpbHRlcjogU3Vic2NyaXB0aW9uRmlsdGVyKSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXIoZmlsdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQb2xpY3kgb2YgTWVzc2FnZUJvZHlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcG9saWN5KHBvbGljeTogeyBbYXR0cmlidXRlOiBzdHJpbmddOiBGaWx0ZXJPclBvbGljeSB9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2xpY3kocG9saWN5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUeXBlIHN3aXRjaCBmb3IgZGlzYW1iaWd1YXRpbmcgYmV0d2VlbiBzdWJjbGFzc2VzXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSB0eXBlOiBGaWx0ZXJPclBvbGljeVR5cGU7XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGluc3RhbmNlIGlzIGBQb2xpY3lgIHR5cGVcbiAgICovXG4gIHB1YmxpYyBpc1BvbGljeSgpOiB0aGlzIGlzIFBvbGljeSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRmlsdGVyT3JQb2xpY3lUeXBlLlBPTElDWTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBpbnN0YW5jZSBpcyBgRmlsdGVyYCB0eXBlXG4gICAqL1xuICBwdWJsaWMgaXNGaWx0ZXIoKTogdGhpcyBpcyBGaWx0ZXIge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEZpbHRlck9yUG9saWN5VHlwZS5GSUxURVI7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXIgaW1wbGVtZW50YXRpb24gb2YgRmlsdGVyT3JQb2xpY3lcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbHRlciBleHRlbmRzIEZpbHRlck9yUG9saWN5IHtcbiAgLyoqXG4gICAqIFR5cGUgdXNlZCBpbiBERlMgYnVpbGRGaWx0ZXJQb2xpY3lXaXRoTWVzc2FnZUJvZHkgdG8gZGV0ZXJtaW5lIGpzb24gdmFsdWUgdHlwZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBGaWx0ZXJPclBvbGljeVR5cGUuRklMVEVSO1xuICAvKipcbiAgICogUG9saWN5IGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBmaWx0ZXJEb2MgZmlsdGVyIGFyZ3VtZW50IHRvIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBmaWx0ZXJEb2M6IFN1YnNjcmlwdGlvbkZpbHRlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBQb2xpY3kgSW1wbGVtZW50YXRpb24gb2YgRmlsdGVyT3JQb2xpY3lcbiAqL1xuZXhwb3J0IGNsYXNzIFBvbGljeSBleHRlbmRzIEZpbHRlck9yUG9saWN5IHtcbiAgLyoqXG4gICAqIFR5cGUgdXNlZCBpbiBERlMgYnVpbGRGaWx0ZXJQb2xpY3lXaXRoTWVzc2FnZUJvZHkgdG8gZGV0ZXJtaW5lIGpzb24gdmFsdWUgdHlwZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBGaWx0ZXJPclBvbGljeVR5cGUuUE9MSUNZO1xuICAvKipcbiAgICogUG9saWN5IGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBwb2xpY3lEb2MgcG9saWN5IGFyZ3VtZW50IHRvIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwb2xpY3lEb2M6IHsgW2F0dHJpYnV0ZTogc3RyaW5nXTogRmlsdGVyT3JQb2xpY3kgfSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
@@ -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.0.17" };
39
+ EventBus[_a] = { fqn: "terraconstructs.aws.notify.targets.EventBus", version: "0.0.19" };
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9ldmVudC1idXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxpQ0FBZ0Y7QUFDaEYsaUNBQWlDO0FBNEJqQzs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQixZQUNtQixRQUFtQixFQUNuQixRQUF1QixFQUFFO1FBRHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFDekMsQ0FBQztJQUVKLElBQUksQ0FBQyxJQUFXLEVBQUUsR0FBWTtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFBLHlCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQixJQUFBLHlDQUFrQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUM5QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7Z0JBQzFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7Z0JBQy9DLENBQUMsQ0FBQyxTQUFTO1lBQ2IsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQzdCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILDRCQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudEJ1cyB9IGZyb20gXCIuLi9ldmVudC1idXNcIjtcbmltcG9ydCB7IElRdWV1ZSB9IGZyb20gXCIuLi9xdWV1ZVwiO1xuaW1wb3J0IHsgSVJ1bGUgfSBmcm9tIFwiLi4vcnVsZVwiO1xuaW1wb3J0IHsgSVJ1bGVUYXJnZXQsIFJ1bGVUYXJnZXRDb25maWcgfSBmcm9tIFwiLi4vdGFyZ2V0XCI7XG5pbXBvcnQgeyBzaW5nbGV0b25FdmVudFJvbGUsIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3kgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uLy4uL2lhbVwiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBvZiBhbiBFdmVudCBCdXMgZXZlbnRcbiAqXG4gKiBDYW5ub3QgZXh0ZW5kIFRhcmdldEJhc2VQcm9wcy4gUmV0cnkgcG9saWN5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIEV2ZW50IGJ1cyB0YXJnZXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnVzUHJvcHMge1xuICAvKipcbiAgICogUm9sZSB0byBiZSB1c2VkIHRvIHB1Ymxpc2ggdGhlIGV2ZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IGEgbmV3IHJvbGUgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdG8gYmUgdXNlZCBhcyBkZWFkTGV0dGVyUXVldWUuXG4gICAqIENoZWNrIG91dCB0aGUgW2NvbnNpZGVyYXRpb25zIGZvciB1c2luZyBhIGRlYWQtbGV0dGVyIHF1ZXVlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZXZlbnRicmlkZ2UvbGF0ZXN0L3VzZXJndWlkZS9ydWxlLWRscS5odG1sI2RscS1jb25zaWRlcmF0aW9ucykuXG4gICAqXG4gICAqIFRoZSBldmVudHMgbm90IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYXJlIGF1dG9tYXRpY2FsbHkgcmV0cmllZCBmb3IgYSBzcGVjaWZpZWQgcGVyaW9kIG9mIHRpbWUsXG4gICAqIGRlcGVuZGluZyBvbiB0aGUgcmV0cnkgcG9saWN5IG9mIHRoZSB0YXJnZXQuXG4gICAqIElmIGFuIGV2ZW50IGlzIG5vdCBkZWxpdmVyZWQgYmVmb3JlIGFsbCByZXRyeSBhdHRlbXB0cyBhcmUgZXhoYXVzdGVkLCBpdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGRlYWQgbGV0dGVyIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlYWQtbGV0dGVyIHF1ZXVlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBJUXVldWU7XG59XG5cbi8qKlxuICogTm90aWZ5IGFuIGV4aXN0aW5nIEV2ZW50IEJ1cyBvZiBhbiBldmVudFxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRCdXMgaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCdXM6IElFdmVudEJ1cyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBFdmVudEJ1c1Byb3BzID0ge30sXG4gICkge31cblxuICBiaW5kKHJ1bGU6IElSdWxlLCBfaWQ/OiBzdHJpbmcpOiBSdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICBjb25zdCByb2xlID0gdGhpcy5wcm9wcy5yb2xlID8/IHNpbmdsZXRvbkV2ZW50Um9sZShydWxlKTtcbiAgICByb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KHRoaXMucHV0RXZlbnRTdGF0ZW1lbnQoKSk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3kocnVsZSwgdGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcm46IHRoaXMuZXZlbnRCdXMuZXZlbnRCdXNBcm4sXG4gICAgICBkZWFkTGV0dGVyQ29uZmlnOiB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZVxuICAgICAgICA/IHsgYXJuOiB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZT8ucXVldWVBcm4gfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJvbGUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0RXZlbnRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcImV2ZW50czpQdXRFdmVudHNcIl0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLmV2ZW50QnVzLmV2ZW50QnVzQXJuXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -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.0.17" };
35
+ LambdaFunction[_a] = { fqn: "terraconstructs.aws.notify.targets.LambdaFunction", version: "0.0.19" };
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.0.17" };
33
+ LogGroupTargetInput[_a] = { fqn: "terraconstructs.aws.notify.targets.LogGroupTargetInput", version: "0.0.19" };
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.0.17" };
109
+ CloudWatchLogGroup[_b] = { fqn: "terraconstructs.aws.notify.targets.CloudWatchLogGroup", version: "0.0.19" };
110
110
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9sb2ctZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvQ0FJa0I7QUFHbEIsbUNBQW1DO0FBQ25DLDZGQUE2RjtBQUM3Rix3RUFBd0U7QUFDeEUsaUNBQStEO0FBQy9ELG1DQUFzQztBQUN0QywrQ0FBMkM7QUFFM0MsaUNBQWlDO0FBMkJqQzs7R0FFRztBQUNILE1BQXNCLG1CQUFtQjtJQUN2Qzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQ3RCLE9BQW9DO1FBRXBDLE9BQU8sdUJBQWUsQ0FBQyxVQUFVLENBQUM7WUFDaEMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksa0JBQVUsQ0FBQyxJQUFJO1lBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLGtCQUFVLENBQUMsVUFBVTtTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWRILGtEQW9CQzs7O0FBMEJEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFFN0IsWUFDbUIsUUFBd0IsRUFDeEIsUUFBdUIsRUFBRTtRQUR6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFvQjtJQUN6QyxDQUFDO0lBRUo7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBWSxFQUFFLEdBQVk7UUFDcEMsTUFBTSxhQUFhLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxDQUNqRSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztRQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTztZQUNMLEdBQUcsSUFBQSwyQkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsV0FBVztnQkFDckIsU0FBUyxFQUFFLGVBQVMsQ0FBQyxtQkFBbUI7Z0JBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7YUFDekMsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQzFCLENBQUM7WUFDRixJQUFJLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLDBFQUEwRTtnQkFDMUUsdURBQXVEO2dCQUN2RCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQzdDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFDOUIsTUFBTSxDQUNQLENBQUM7Z0JBQ0YsSUFBSSxDQUFDO29CQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDckQsSUFDRSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDOUIsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO3dCQUN4QyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsQ0FBQzt3QkFDRCxPQUFPOzRCQUNMLG9IQUFvSDt5QkFDckgsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDaEIsT0FBTzt3QkFDTCwyQ0FBMkM7NEJBQ3pDLG9IQUFvSDt3QkFDdEgsQ0FBQztxQkFDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFsRkgsZ0RBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUnVsZVRhcmdldElucHV0UHJvcGVydGllcyxcbiAgUnVsZVRhcmdldElucHV0LFxuICBFdmVudEZpZWxkLFxufSBmcm9tIFwiLi4vaW5wdXRcIjtcbmltcG9ydCB7IElSdWxlIH0gZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB7IElSdWxlVGFyZ2V0LCBSdWxlVGFyZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL3RhcmdldFwiO1xuLy8gQ3VzdG9tIFJlc291cmNlIG5vIGxvbmdlciBuZWVkZWRcbi8vIGxvZ0dyb3VwIFJlc291cmNlUG9saWN5IHdhcyBhZGRlZCB0byBDRk4gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8xNzAxNS9maWxlc1xuLy8gaW1wb3J0IHsgTG9nR3JvdXBSZXNvdXJjZVBvbGljeSB9IGZyb20gXCIuL2xvZy1ncm91cC1yZXNvdXJjZS1wb2xpY3lcIjtcbmltcG9ydCB7IFRhcmdldEJhc2VQcm9wcywgYmluZEJhc2VUYXJnZXRDb25maWcgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSBcIi4uLy4uL2Nsb3Vkd2F0Y2hcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXJnZXQgaW5wdXQgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIHRoYXQgd2lsbCBhcHBlYXIgaW4gdGhlIENsb3VkV2F0Y2ggTG9ncyByZWNvcmRcbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC50aW1lXG4gICAqL1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBwcm92aWRlZCBoZXJlIHdpbGwgYmUgdXNlZCBpbiB0aGUgTG9nIFwibWVzc2FnZVwiIGZpZWxkLlxuICAgKlxuICAgKiBUaGlzIGZpZWxkIG11c3QgYmUgYSBzdHJpbmcuIElmIGFuIG9iamVjdCBpcyBwYXNzZWQgKGUuZy4gSlNPTiBkYXRhKVxuICAgKiBpdCB3aWxsIG5vdCB0aHJvdyBhbiBlcnJvciwgYnV0IHRoZSBtZXNzYWdlIHRoYXQgbWFrZXMgaXQgdG9cbiAgICogQ2xvdWRXYXRjaCBsb2dzIHdpbGwgYmUgaW5jb3JyZWN0LiBUaGlzIGlzIGEgbGlrZWx5IHNjZW5hcmlvIGlmXG4gICAqIGRvaW5nIHNvbWV0aGluZyBsaWtlOiBFdmVudEZpZWxkLmZyb21QYXRoKCckLmRldGFpbCcpIHNpbmNlIGluIG1vc3QgY2FzZXNcbiAgICogdGhlIGBkZXRhaWxgIGZpZWxkIGNvbnRhaW5zIEpTT04gZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC5kZXRhaWxUeXBlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogYW55O1xufVxuXG4vKipcbiAqIFRoZSBpbnB1dCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwIHRhcmdldFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9nR3JvdXBUYXJnZXRJbnB1dCB7XG4gIC8qKlxuICAgKiBQYXNzIGEgSlNPTiBvYmplY3QgdG8gdGhlIHRoZSBsb2cgZ3JvdXAgZXZlbnQgdGFyZ2V0XG4gICAqXG4gICAqIE1heSBjb250YWluIHN0cmluZ3MgcmV0dXJuZWQgYnkgYEV2ZW50RmllbGQuZnJvbSgpYCB0byBzdWJzdGl0dXRlIGluIHBhcnRzIG9mIHRoZVxuICAgKiBtYXRjaGVkIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KFxuICAgIG9wdGlvbnM/OiBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyxcbiAgKTogUnVsZVRhcmdldElucHV0IHtcbiAgICByZXR1cm4gUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgdGltZXN0YW1wOiBvcHRpb25zPy50aW1lc3RhbXAgPz8gRXZlbnRGaWVsZC50aW1lLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucz8ubWVzc2FnZSA/PyBFdmVudEZpZWxkLmRldGFpbFR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIGlucHV0IG9iamVjdFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQocnVsZTogSVJ1bGUpOiBSdWxlVGFyZ2V0SW5wdXRQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIEN1c3RvbWl6ZSB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cCBFdmVudCBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgZXZlbnQgbG9nZ2VkIGludG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgZW50aXJlIEV2ZW50QnJpZGdlIGV2ZW50XG4gICAqIEBkZXByZWNhdGVkIHVzZSBsb2dFdmVudCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBldmVudD86IFJ1bGVUYXJnZXRJbnB1dDtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIHNlbmQgdG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogVGhpcyB3aWxsIGJlIHRoZSBldmVudCBsb2dnZWQgaW50byB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBlbnRpcmUgRXZlbnRCcmlkZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0V2ZW50PzogTG9nR3JvdXBUYXJnZXRJbnB1dDtcbn1cblxuLyoqXG4gKiBVc2UgYW4gQVdTIENsb3VkV2F0Y2ggTG9nR3JvdXAgYXMgYW4gZXZlbnQgcnVsZSB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nR3JvdXAgaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIHByaXZhdGUgdGFyZ2V0PzogUnVsZVRhcmdldElucHV0UHJvcGVydGllcztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTG9nR3JvdXBQcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9nIGFuIGV2ZW50IGludG8gYSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqL1xuICBwdWJsaWMgYmluZChfcnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIGNvbnN0IGxvZ0dyb3VwU3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzLmxvZ0dyb3VwKTtcbiAgICBpZiAodGhpcy5wcm9wcy5ldmVudCAmJiB0aGlzLnByb3BzLmxvZ0V2ZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgb25lIG9mIFwiZXZlbnRcIiBvciBcImxvZ0V2ZW50XCIgY2FuIGJlIHNwZWNpZmllZCcpO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0ID0gdGhpcy5wcm9wcy5ldmVudD8uYmluZChfcnVsZSk7XG4gICAgaWYgKHRoaXMudGFyZ2V0Py5pbnB1dFBhdGggfHwgdGhpcy50YXJnZXQ/LmlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgZG9lcyBub3Qgc3VwcG9ydCBpbnB1dCBvciBpbnB1dFBhdGhcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dHcm91cC5ncmFudFdyaXRlKG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIpKTtcbiAgICBfcnVsZS5ub2RlLmFkZFZhbGlkYXRpb24oeyB2YWxpZGF0ZTogKCkgPT4gdGhpcy52YWxpZGF0ZUlucHV0VGVtcGxhdGUoKSB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iaW5kQmFzZVRhcmdldENvbmZpZyh0aGlzLnByb3BzKSxcbiAgICAgIGFybjogbG9nR3JvdXBTdGFjay5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImxvZ3NcIixcbiAgICAgICAgcmVzb3VyY2U6IFwibG9nLWdyb3VwXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogdGhpcy5sb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICB9KSxcbiAgICAgIGlucHV0OiB0aGlzLnByb3BzLmV2ZW50ID8/IHRoaXMucHJvcHMubG9nRXZlbnQsXG4gICAgICB0YXJnZXRSZXNvdXJjZTogdGhpcy5sb2dHcm91cCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgdGhlIHRhcmdldCBldmVudCBpbnB1dCB0ZW1wbGF0ZSBoYXMgdGhlIGNvcnJlY3QgZm9ybWF0LlxuICAgKiBUaGUgQ2xvdWRXYXRjaExvZ3MgdGFyZ2V0IG9ubHkgc3VwcG9ydHMgYSB0ZW1wbGF0ZSB3aXRoIHRoZSBmb3JtYXQgb2Y6XG4gICAqICAge1widGltZXN0YW1wXCI6IDx0aW1lPiwgXCJtZXNzYWdlXCI6IDxtZXNzYWdlPn1cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiB0aGUgZGVwcmVjYXRlZCBgZXZlbnRgIHByb3BlcnR5IGlzIHVzZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dFRhcmdldHMuaHRtbFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0VGVtcGxhdGUoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLnRhcmdldD8uaW5wdXRUZW1wbGF0ZSkge1xuICAgICAgY29uc3QgcmVzb2x2ZWRUZW1wbGF0ZSA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMubG9nR3JvdXApLnJlc29sdmUoXG4gICAgICAgIHRoaXMudGFyZ2V0LmlucHV0VGVtcGxhdGUsXG4gICAgICApO1xuICAgICAgaWYgKHR5cGVvZiByZXNvbHZlZFRlbXBsYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIC8vIG5lZWQgdG8gYWRkIHRoZSBxdW90ZXMgYmFjayB0byB0aGUgc3RyaW5nIHNvIHRoYXQgd2UgY2FuIHBhcnNlIHRoZSBqc29uXG4gICAgICAgIC8vICd7XCJ0aW1lc3RhbXBcIjogPHRpbWU+fScgLT4gJ3tcInRpbWVzdGFtcFwiOiBcIjx0aW1lPlwifSdcbiAgICAgICAgY29uc3QgcXVvdGVkVGVtcGxhdGUgPSByZXNvbHZlZFRlbXBsYXRlLnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChcIig8W148Pl0qPz4pXCIsIFwiZ1wiKSxcbiAgICAgICAgICAnXCIkMVwiJyxcbiAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBpbnB1dFRlbXBsYXRlID0gSlNPTi5wYXJzZShxdW90ZWRUZW1wbGF0ZSk7XG4gICAgICAgICAgY29uc3QgaW5wdXRUZW1wbGF0ZUtleXMgPSBPYmplY3Qua2V5cyhpbnB1dFRlbXBsYXRlKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpbnB1dFRlbXBsYXRlS2V5cy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICFpbnB1dFRlbXBsYXRlS2V5cy5pbmNsdWRlcyhcInRpbWVzdGFtcFwiKSB8fFxuICAgICAgICAgICAgIWlucHV0VGVtcGxhdGVLZXlzLmluY2x1ZGVzKFwibWVzc2FnZVwiKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgXCJDbG91ZFdhdGNoTG9nR3JvdXAgdGFyZ2V0cyBvbmx5IHN1cHBvcnQgaW5wdXQgdGVtcGxhdGVzIGluIHRoZSBmb3JtYXQge3RpbWVzdGFtcDogPHRpbWVzdGFtcD4sIG1lc3NhZ2U6IDxtZXNzYWdlPn1cIixcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgXCJDb3VsZCBub3QgcGFyc2UgaW5wdXQgdGVtcGxhdGUgYXMgSlNPTi5cXG5cIiArXG4gICAgICAgICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgb25seSBzdXBwb3J0IGlucHV0IHRlbXBsYXRlcyBpbiB0aGUgZm9ybWF0IHt0aW1lc3RhbXA6IDx0aW1lc3RhbXA+LCBtZXNzYWdlOiA8bWVzc2FnZT59XCIsXG4gICAgICAgICAgICBlLFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
@@ -69,5 +69,5 @@ class SqsQueue {
69
69
  }
70
70
  exports.SqsQueue = SqsQueue;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.0.17" };
72
+ SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.0.19" };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9zcXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FJZ0I7QUFDaEIsaUNBQWlDO0FBeUJqQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLFFBQVE7SUFDbkIsWUFDa0IsS0FBb0IsRUFDbkIsUUFBdUIsRUFBRTtRQUQxQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRTFDLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsSUFBa0IsRUFBRSxHQUFZO1FBQzFDLDJCQUEyQjtRQUMzQixJQUFJLFVBQVUsR0FBbUI7WUFDL0Isd0VBQXdFO1lBQ3hFLDhDQUE4QztZQUM5QztnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDM0I7U0FDRixDQUFDO1FBQ0YsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQix5Q0FBeUM7UUFDekMsaUJBQWlCO1FBQ2pCLE1BQU07UUFDTix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLDhCQUE4QjtRQUM5QixPQUFPO1FBQ1AsS0FBSztRQUNMLElBQUk7UUFFSiwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDMUIsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUNqRSxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUEseUNBQWtDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLElBQUEsMkJBQW9CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtnQkFDL0MsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7QUF6REgsNEJBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbm90aWZ5IGZyb20gXCIuLlwiO1xuaW1wb3J0IHtcbiAgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeSxcbiAgVGFyZ2V0QmFzZVByb3BzLFxuICBiaW5kQmFzZVRhcmdldENvbmZpZyxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi8uLi9pYW1cIjtcblxuLyoqXG4gKiBDdXN0b21pemUgdGhlIFNRUyBRdWV1ZSBFdmVudCBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcXNRdWV1ZVByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgR3JvdXAgSUQgZm9yIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBxdWV1ZVxuICAgKlxuICAgKiBSZXF1aXJlZCBmb3IgRklGTyBxdWV1ZXMsIGxlYXZlIGVtcHR5IGZvciByZWd1bGFyIHF1ZXVlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBtZXNzYWdlIGdyb3VwIElEIChyZWd1bGFyIHF1ZXVlKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZUdyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHNlbmQgdG8gdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBNdXN0IGJlIGEgdmFsaWQgSlNPTiB0ZXh0IHBhc3NlZCB0byB0aGUgdGFyZ2V0IHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgZW50aXJlIEV2ZW50QnJpZGdlIGV2ZW50XG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogbm90aWZ5LlJ1bGVUYXJnZXRJbnB1dDtcbn1cblxuLyoqXG4gKiBVc2UgYW4gU1FTIFF1ZXVlIGFzIGEgdGFyZ2V0IGZvciBBbWF6b24gRXZlbnRCcmlkZ2UgcnVsZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqICAgLy8vIGZpeHR1cmU9d2l0aFJlcG9BbmRTcXNRdWV1ZVxuICogICAvLyBwdWJsaXNoIHRvIGFuIFNRUyBxdWV1ZSBldmVyeSB0aW1lIGNvZGUgaXMgY29tbWl0dGVkXG4gKiAgIC8vIHRvIGEgQ29kZUNvbW1pdCByZXBvc2l0b3J5XG4gKiAgIHJlcG9zaXRvcnkub25Db21taXQoJ29uQ29tbWl0JywgeyB0YXJnZXQ6IG5ldyB0YXJnZXRzLlNxc1F1ZXVlKHF1ZXVlKSB9KTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTcXNRdWV1ZSBpbXBsZW1lbnRzIG5vdGlmeS5JUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBxdWV1ZTogbm90aWZ5LklRdWV1ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTcXNRdWV1ZVByb3BzID0ge30sXG4gICkge1xuICAgIGlmIChwcm9wcy5tZXNzYWdlR3JvdXBJZCAhPT0gdW5kZWZpbmVkICYmICFxdWV1ZS5maWZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJtZXNzYWdlR3JvdXBJZCBjYW5ub3QgYmUgc3BlY2lmaWVkIGZvciBub24tRklGTyBxdWV1ZXNcIik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gdHJpZ2dlciB0aGlzIFNRUyBxdWV1ZSBhcyBhXG4gICAqIHJlc3VsdCBmcm9tIGFuIEV2ZW50QnJpZGdlIGV2ZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL3Jlc291cmNlLWJhc2VkLXBvbGljaWVzLWV2ZW50YnJpZGdlLmh0bWwjc3FzLXBlcm1pc3Npb25zXG4gICAqL1xuICBwdWJsaWMgYmluZChydWxlOiBub3RpZnkuSVJ1bGUsIF9pZD86IHN0cmluZyk6IG5vdGlmeS5SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICAvLyByZXN0cmljdCB0byBzYW1lIGFjY291bnRcbiAgICBsZXQgY29uZGl0aW9uczogaWFtLkNvbmRpdGlvbnMgPSBbXG4gICAgICAvLyBBZGQgb25seSB0aGUgYWNjb3VudCBpZCBhcyBhIGNvbmRpdGlvbiwgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeS5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTExNThcbiAgICAgIHtcbiAgICAgICAgdGVzdDogXCJTdHJpbmdFcXVhbHNcIixcbiAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNvdXJjZUFjY291bnRcIixcbiAgICAgICAgdmFsdWVzOiBbcnVsZS5lbnYuYWNjb3VudF0sXG4gICAgICB9LFxuICAgIF07XG4gICAgLy8gLy9UT0RPOiBSZS1hZGQgS01TIHN1cHBvcnRcbiAgICAvLyAvL1RPRE86IFVwZGF0ZSBUZXN0cyBhcyB3ZWxsXG4gICAgLy8gaWYgKCF0aGlzLnF1ZXVlLmVuY3J5cHRpb25NYXN0ZXJLZXkpIHtcbiAgICAvLyBjb25kaXRpb25zID0gW1xuICAgIC8vICAge1xuICAgIC8vICAgICB0ZXN0OiBcIkFybkVxdWFsc1wiLFxuICAgIC8vICAgICB2YXJpYWJsZTogXCJhd3M6U291cmNlQXJuXCIsXG4gICAgLy8gICAgIHZhbHVlczogW3J1bGUucnVsZUFybl0sXG4gICAgLy8gICB9LFxuICAgIC8vIF07XG4gICAgLy8gfVxuXG4gICAgLy8gZGVkdXBsaWNhdGVkIGF1dG9tYXRpY2FsbHkgKGJ5IFBvbGljeURvY3VtZW50IFBvc3RQcm9jZXNzb3IpXG4gICAgdGhpcy5xdWV1ZS5ncmFudFNlbmRNZXNzYWdlcyhcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIsIHsgY29uZGl0aW9ucyB9KSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKSB7XG4gICAgICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5KHJ1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5tZXNzYWdlLFxuICAgICAgdGFyZ2V0UmVzb3VyY2U6IHRoaXMucXVldWUsXG4gICAgICBzcXNQYXJhbWV0ZXJzOiB0aGlzLnByb3BzLm1lc3NhZ2VHcm91cElkXG4gICAgICAgID8geyBtZXNzYWdlR3JvdXBJZDogdGhpcy5wcm9wcy5tZXNzYWdlR3JvdXBJZCB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -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.0.17" };
38
+ SfnStateMachine[_a] = { fqn: "terraconstructs.aws.notify.targets.SfnStateMachine", version: "0.0.19" };
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RhcmdldHMvc3RhdGUtbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGlDQUtnQjtBQXVCaEI7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFHMUIsWUFDa0IsT0FBOEIsRUFDN0IsUUFBOEIsRUFBRTtRQURqQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUVqRCwrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUEseUJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxLQUFtQixFQUFFLEdBQVk7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUEseUNBQWtDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLElBQUEsMkJBQW9CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzdCLENBQUM7SUFDSixDQUFDOztBQTdCSCwwQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBub3RpZnkgZnJvbSBcIi4uXCI7XG5pbXBvcnQge1xuICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5LFxuICBiaW5kQmFzZVRhcmdldENvbmZpZyxcbiAgc2luZ2xldG9uRXZlbnRSb2xlLFxuICBUYXJnZXRCYXNlUHJvcHMsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uLy4uL2NvbXB1dGVcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBTdGVwIEZ1bmN0aW9ucyBTdGF0ZSBNYWNoaW5lIHRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNmblN0YXRlTWFjaGluZVByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCB0byB0aGUgc3RhdGUgbWFjaGluZSBleGVjdXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGVudGlyZSBFdmVudEJyaWRnZSBldmVudFxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ/OiBub3RpZnkuUnVsZVRhcmdldElucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdG8gYmUgYXNzdW1lZCB0byBleGVjdXRlIHRoZSBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuZXcgcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogVXNlIGEgU3RlcEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIGFzIGEgdGFyZ2V0IGZvciBBbWF6b24gRXZlbnRCcmlkZ2UgcnVsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZm5TdGF0ZU1hY2hpbmUgaW1wbGVtZW50cyBub3RpZnkuSVJ1bGVUYXJnZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFjaGluZTogY29tcHV0ZS5JU3RhdGVNYWNoaW5lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFNmblN0YXRlTWFjaGluZVByb3BzID0ge30sXG4gICkge1xuICAgIC8vIG5vIHN0YXRlbWVudHMgYXJlIHBhc3NlZCBiZWNhdXNlIHdlIGFyZSBjb25maWd1cmluZyBwZXJtaXNzaW9ucyBieSB1c2luZyBncmFudCogaGVscGVyIGJlbG93XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBzaW5nbGV0b25FdmVudFJvbGUobWFjaGluZSk7XG4gICAgbWFjaGluZS5ncmFudFN0YXJ0RXhlY3V0aW9uKHRoaXMucm9sZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb3BlcnRpZXMgdGhhdCBhcmUgdXNlZCBpbiBhbiBSdWxlIHRvIHRyaWdnZXIgdGhpcyBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2UtYmFzZWQtcG9saWNpZXMtZXZlbnRicmlkZ2UuaHRtbCNzbnMtcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBiaW5kKF9ydWxlOiBub3RpZnkuSVJ1bGUsIF9pZD86IHN0cmluZyk6IG5vdGlmeS5SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3koX3J1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMubWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5pbnB1dCxcbiAgICAgIHRhcmdldFJlc291cmNlOiB0aGlzLm1hY2hpbmUsXG4gICAgfTtcbiAgfVxufVxuIl19