terraconstructs 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.jsii +408 -111
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +1 -1
  4. package/lib/aws/aws-asset-manager.js +1 -1
  5. package/lib/aws/aws-construct.js +1 -1
  6. package/lib/aws/aws-stack.js +1 -1
  7. package/lib/aws/aws-tags.js +2 -2
  8. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  12. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  13. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  14. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  16. package/lib/aws/cloudwatch/alarm.js +1 -1
  17. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  18. package/lib/aws/cloudwatch/dashboard.js +1 -1
  19. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  20. package/lib/aws/cloudwatch/graph.js +8 -8
  21. package/lib/aws/cloudwatch/layout.js +3 -3
  22. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  23. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  24. package/lib/aws/cloudwatch/log-group.js +1 -1
  25. package/lib/aws/cloudwatch/log-query.js +1 -1
  26. package/lib/aws/cloudwatch/log-stream.js +1 -1
  27. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  28. package/lib/aws/cloudwatch/metric.js +2 -2
  29. package/lib/aws/cloudwatch/pattern.js +3 -3
  30. package/lib/aws/cloudwatch/policy.js +1 -1
  31. package/lib/aws/cloudwatch/query-definition.js +2 -2
  32. package/lib/aws/cloudwatch/stats.js +1 -1
  33. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  34. package/lib/aws/cloudwatch/text.js +1 -1
  35. package/lib/aws/cloudwatch/variable.js +3 -3
  36. package/lib/aws/cloudwatch/widget.js +1 -1
  37. package/lib/aws/compute/access-log.js +4 -4
  38. package/lib/aws/compute/activity.js +1 -1
  39. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  42. package/lib/aws/compute/alb/application-listener.js +1 -1
  43. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  44. package/lib/aws/compute/alb/application-target-group.js +1 -1
  45. package/lib/aws/compute/alb/conditions.js +1 -1
  46. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  47. package/lib/aws/compute/alb/trust-store.js +1 -1
  48. package/lib/aws/compute/api-definition.js +3 -3
  49. package/lib/aws/compute/api-key.js +2 -2
  50. package/lib/aws/compute/architecture.js +1 -1
  51. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  52. package/lib/aws/compute/authorizer.js +1 -1
  53. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  54. package/lib/aws/compute/authorizers/lambda.js +2 -2
  55. package/lib/aws/compute/base-path-mapping.js +1 -1
  56. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  57. package/lib/aws/compute/bastion-host.js +1 -1
  58. package/lib/aws/compute/chain.js +1 -1
  59. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  60. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  61. package/lib/aws/compute/client-vpn-route.js +2 -2
  62. package/lib/aws/compute/code.js +8 -8
  63. package/lib/aws/compute/condition.js +1 -1
  64. package/lib/aws/compute/connections.js +1 -1
  65. package/lib/aws/compute/cors.js +1 -1
  66. package/lib/aws/compute/deployment.js +1 -1
  67. package/lib/aws/compute/domain-name.js +1 -1
  68. package/lib/aws/compute/event-invoke-config.js +1 -1
  69. package/lib/aws/compute/event-source-filter.js +2 -2
  70. package/lib/aws/compute/event-source-mapping.js +1 -1
  71. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  72. package/lib/aws/compute/event-sources/s3.js +1 -1
  73. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs.js +1 -1
  75. package/lib/aws/compute/fields.js +4 -4
  76. package/lib/aws/compute/function-alias.js +1 -1
  77. package/lib/aws/compute/function-base.js +2 -2
  78. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  79. package/lib/aws/compute/function-destinations/function.js +1 -1
  80. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  81. package/lib/aws/compute/function-nodejs/function.js +1 -1
  82. package/lib/aws/compute/function-url.js +1 -1
  83. package/lib/aws/compute/function.js +1 -1
  84. package/lib/aws/compute/gateway-response.js +2 -2
  85. package/lib/aws/compute/handler.js +1 -1
  86. package/lib/aws/compute/instance-types.js +1 -1
  87. package/lib/aws/compute/instance.js +1 -1
  88. package/lib/aws/compute/integration.js +1 -1
  89. package/lib/aws/compute/integrations/aws.js +1 -1
  90. package/lib/aws/compute/integrations/http.js +1 -1
  91. package/lib/aws/compute/integrations/lambda.js +1 -1
  92. package/lib/aws/compute/integrations/mock.js +1 -1
  93. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  94. package/lib/aws/compute/ip-addresses.js +2 -2
  95. package/lib/aws/compute/ipam.js +1 -1
  96. package/lib/aws/compute/key-pair.js +1 -1
  97. package/lib/aws/compute/lambda-api.js +1 -1
  98. package/lib/aws/compute/launch-template.js +2 -2
  99. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  100. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  101. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  102. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  103. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  104. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  105. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  106. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  107. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  108. package/lib/aws/compute/load-balancer.js +3 -3
  109. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  110. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  111. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  112. package/lib/aws/compute/machine-image/common.js +1 -1
  113. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  114. package/lib/aws/compute/method.js +1 -1
  115. package/lib/aws/compute/model.js +3 -3
  116. package/lib/aws/compute/nat.js +5 -5
  117. package/lib/aws/compute/network-acl-types.js +2 -2
  118. package/lib/aws/compute/network-acl.js +3 -3
  119. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  120. package/lib/aws/compute/nlb/network-listener.js +1 -1
  121. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  122. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  123. package/lib/aws/compute/peer.js +1 -1
  124. package/lib/aws/compute/placement-group.js +1 -1
  125. package/lib/aws/compute/port.js +1 -1
  126. package/lib/aws/compute/prefix-list.js +1 -1
  127. package/lib/aws/compute/requestvalidator.js +1 -1
  128. package/lib/aws/compute/resource.js +3 -3
  129. package/lib/aws/compute/restapi.js +3 -3
  130. package/lib/aws/compute/route.js +8 -8
  131. package/lib/aws/compute/runtime.js +1 -1
  132. package/lib/aws/compute/scalable-target.js +1 -1
  133. package/lib/aws/compute/schedule.js +1 -1
  134. package/lib/aws/compute/security-group.js +1 -1
  135. package/lib/aws/compute/stage.js +2 -2
  136. package/lib/aws/compute/state-graph.js +1 -1
  137. package/lib/aws/compute/state-machine-fragment.js +1 -1
  138. package/lib/aws/compute/state-machine.js +4 -4
  139. package/lib/aws/compute/states/choice.js +1 -1
  140. package/lib/aws/compute/states/custom-state.js +1 -1
  141. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  142. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  143. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  144. package/lib/aws/compute/states/distributed-map.js +1 -1
  145. package/lib/aws/compute/states/fail.js +1 -1
  146. package/lib/aws/compute/states/map-base.js +1 -1
  147. package/lib/aws/compute/states/map.js +1 -1
  148. package/lib/aws/compute/states/parallel.js +1 -1
  149. package/lib/aws/compute/states/pass.js +2 -2
  150. package/lib/aws/compute/states/state.js +1 -1
  151. package/lib/aws/compute/states/succeed.js +1 -1
  152. package/lib/aws/compute/states/task-base.js +2 -2
  153. package/lib/aws/compute/states/task.js +1 -1
  154. package/lib/aws/compute/states/wait.js +2 -2
  155. package/lib/aws/compute/step-scaling-action.js +1 -1
  156. package/lib/aws/compute/step-scaling-policy.js +1 -1
  157. package/lib/aws/compute/stepfunctions-api.js +1 -1
  158. package/lib/aws/compute/subnet-v2.js +2 -2
  159. package/lib/aws/compute/subnet.js +1 -1
  160. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  161. package/lib/aws/compute/task-credentials.js +1 -1
  162. package/lib/aws/compute/task-input.js +1 -1
  163. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  164. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  165. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  166. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  167. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  168. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  169. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  170. package/lib/aws/compute/types.js +1 -1
  171. package/lib/aws/compute/usage-plan.js +1 -1
  172. package/lib/aws/compute/user-data.js +3 -3
  173. package/lib/aws/compute/volume.js +2 -2
  174. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  175. package/lib/aws/compute/vpc-endpoint.js +6 -6
  176. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  177. package/lib/aws/compute/vpc-link.js +1 -1
  178. package/lib/aws/compute/vpc-v2-base.js +1 -1
  179. package/lib/aws/compute/vpc-v2.js +2 -2
  180. package/lib/aws/compute/vpc.js +4 -4
  181. package/lib/aws/compute/vpn.js +3 -3
  182. package/lib/aws/edge/certificate.js +1 -1
  183. package/lib/aws/edge/distribution.js +3 -3
  184. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  185. package/lib/aws/edge/dns-record.js +13 -13
  186. package/lib/aws/edge/dns-zone.js +1 -1
  187. package/lib/aws/edge/function.js +2 -2
  188. package/lib/aws/edge/key-value-store.js +4 -4
  189. package/lib/aws/edge/origin.js +3 -3
  190. package/lib/aws/edge/response-headers-policy.js +1 -1
  191. package/lib/aws/encryption/alias.js +1 -1
  192. package/lib/aws/encryption/key.js +1 -1
  193. package/lib/aws/encryption/via-service-principal.js +1 -1
  194. package/lib/aws/iam/grant.js +3 -3
  195. package/lib/aws/iam/group.js +1 -1
  196. package/lib/aws/iam/instance-profile.js +1 -1
  197. package/lib/aws/iam/managed-policy.js +1 -1
  198. package/lib/aws/iam/oidc-provider.js +1 -1
  199. package/lib/aws/iam/policy-document.js +1 -1
  200. package/lib/aws/iam/policy-statement.js +1 -1
  201. package/lib/aws/iam/policy.js +1 -1
  202. package/lib/aws/iam/principals.js +20 -20
  203. package/lib/aws/iam/role.js +1 -1
  204. package/lib/aws/iam/saml-provider.js +2 -2
  205. package/lib/aws/iam/unknown-principal.js +1 -1
  206. package/lib/aws/iam/user.js +1 -1
  207. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  208. package/lib/aws/network/subnet-group.js +3 -3
  209. package/lib/aws/network/subnet.js +4 -4
  210. package/lib/aws/notify/archive.js +1 -1
  211. package/lib/aws/notify/connection.js +3 -3
  212. package/lib/aws/notify/event-bus.js +3 -3
  213. package/lib/aws/notify/event-pattern.js +1 -1
  214. package/lib/aws/notify/index.d.ts +1 -0
  215. package/lib/aws/notify/index.js +3 -1
  216. package/lib/aws/notify/input.js +2 -2
  217. package/lib/aws/notify/kinesis-stream.js +1 -1
  218. package/lib/aws/notify/notification-rule.js +1 -1
  219. package/lib/aws/notify/policy.js +1 -1
  220. package/lib/aws/notify/queue-base.js +1 -1
  221. package/lib/aws/notify/queue-policy.js +1 -1
  222. package/lib/aws/notify/queue.js +1 -1
  223. package/lib/aws/notify/resource-policy.js +1 -1
  224. package/lib/aws/notify/rule.js +1 -1
  225. package/lib/aws/notify/schedule.js +1 -1
  226. package/lib/aws/notify/sns-grants.generated.d.ts +39 -0
  227. package/lib/aws/notify/sns-grants.generated.js +77 -0
  228. package/lib/aws/notify/sqs-grants.generated.js +1 -1
  229. package/lib/aws/notify/subscription-filter.js +1 -1
  230. package/lib/aws/notify/subscription.d.ts +8 -2
  231. package/lib/aws/notify/subscription.js +6 -7
  232. package/lib/aws/notify/subscriptions/email.js +1 -1
  233. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  234. package/lib/aws/notify/subscriptions/sms.js +1 -1
  235. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  236. package/lib/aws/notify/subscriptions/url.js +1 -1
  237. package/lib/aws/notify/targets/event-bus.js +1 -1
  238. package/lib/aws/notify/targets/function.js +1 -1
  239. package/lib/aws/notify/targets/log-group.js +2 -2
  240. package/lib/aws/notify/targets/sqs.js +1 -1
  241. package/lib/aws/notify/targets/state-machine.js +1 -1
  242. package/lib/aws/notify/topic-base.d.ts +6 -0
  243. package/lib/aws/notify/topic-base.js +16 -19
  244. package/lib/aws/notify/topic.d.ts +29 -6
  245. package/lib/aws/notify/topic.js +50 -47
  246. package/lib/aws/storage/assets/image-asset.js +3 -3
  247. package/lib/aws/storage/assets/s3.js +1 -1
  248. package/lib/aws/storage/auth-token.js +2 -2
  249. package/lib/aws/storage/billing.js +1 -1
  250. package/lib/aws/storage/bucket-notifications.js +1 -1
  251. package/lib/aws/storage/bucket-policy.js +1 -1
  252. package/lib/aws/storage/bucket-source.js +1 -1
  253. package/lib/aws/storage/bucket.js +2 -2
  254. package/lib/aws/storage/capacity.js +1 -1
  255. package/lib/aws/storage/ecr-repository.js +3 -3
  256. package/lib/aws/storage/encryption.js +1 -1
  257. package/lib/aws/storage/notification-targets/function.js +1 -1
  258. package/lib/aws/storage/notification-targets/queue.js +1 -1
  259. package/lib/aws/storage/origin-access-identity.js +1 -1
  260. package/lib/aws/storage/parameter.js +2 -2
  261. package/lib/aws/storage/stream-grants.js +1 -1
  262. package/lib/aws/storage/table-grants.js +1 -1
  263. package/lib/aws/storage/table.js +3 -3
  264. package/lib/bundling.js +3 -3
  265. package/lib/construct-base.js +2 -2
  266. package/lib/duration.js +1 -1
  267. package/lib/errors.js +1 -1
  268. package/lib/expiration.js +1 -1
  269. package/lib/fs/ignore.js +4 -4
  270. package/lib/fs/index.js +1 -1
  271. package/lib/size.js +1 -1
  272. package/lib/stack-base.js +1 -1
  273. package/lib/terra-func.js +1 -1
  274. package/lib/time-zone.js +1 -1
  275. package/package.json +1 -1
@@ -74,7 +74,7 @@ class PrincipalPolicyFragment {
74
74
  }
75
75
  exports.PrincipalPolicyFragment = PrincipalPolicyFragment;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- PrincipalPolicyFragment[_a] = { fqn: "terraconstructs.aws.iam.PrincipalPolicyFragment", version: "0.2.2" };
77
+ PrincipalPolicyFragment[_a] = { fqn: "terraconstructs.aws.iam.PrincipalPolicyFragment", version: "0.2.3" };
78
78
  /**
79
79
  * Read from AWS Principal JSON to Terraform principals block(s)
80
80
  *
@@ -193,7 +193,7 @@ class PrincipalBase {
193
193
  }
194
194
  exports.PrincipalBase = PrincipalBase;
195
195
  _b = JSII_RTTI_SYMBOL_1;
196
- PrincipalBase[_b] = { fqn: "terraconstructs.aws.iam.PrincipalBase", version: "0.2.2" };
196
+ PrincipalBase[_b] = { fqn: "terraconstructs.aws.iam.PrincipalBase", version: "0.2.3" };
197
197
  /**
198
198
  * Specify a principal by the Amazon Resource Name (ARN).
199
199
  * You can specify AWS accounts, IAM users, Federated SAML users, IAM roles, and specific assumed-role sessions.
@@ -238,7 +238,7 @@ class ArnPrincipal extends PrincipalBase {
238
238
  }
239
239
  exports.ArnPrincipal = ArnPrincipal;
240
240
  _c = JSII_RTTI_SYMBOL_1;
241
- ArnPrincipal[_c] = { fqn: "terraconstructs.aws.iam.ArnPrincipal", version: "0.2.2" };
241
+ ArnPrincipal[_c] = { fqn: "terraconstructs.aws.iam.ArnPrincipal", version: "0.2.3" };
242
242
  /**
243
243
  * Specify AWS account ID as the principal entity in a policy to delegate authority to the account.
244
244
  */
@@ -261,7 +261,7 @@ class AccountPrincipal extends ArnPrincipal {
261
261
  }
262
262
  exports.AccountPrincipal = AccountPrincipal;
263
263
  _d = JSII_RTTI_SYMBOL_1;
264
- AccountPrincipal[_d] = { fqn: "terraconstructs.aws.iam.AccountPrincipal", version: "0.2.2" };
264
+ AccountPrincipal[_d] = { fqn: "terraconstructs.aws.iam.AccountPrincipal", version: "0.2.3" };
265
265
  /**
266
266
  * An IAM principal that represents an AWS service (i.e. `sqs.amazonaws.com`).
267
267
  */
@@ -318,7 +318,7 @@ class ServicePrincipal extends PrincipalBase {
318
318
  }
319
319
  exports.ServicePrincipal = ServicePrincipal;
320
320
  _e = JSII_RTTI_SYMBOL_1;
321
- ServicePrincipal[_e] = { fqn: "terraconstructs.aws.iam.ServicePrincipal", version: "0.2.2" };
321
+ ServicePrincipal[_e] = { fqn: "terraconstructs.aws.iam.ServicePrincipal", version: "0.2.3" };
322
322
  /**
323
323
  * A principal that represents an AWS Organization
324
324
  */
@@ -349,7 +349,7 @@ class OrganizationPrincipal extends PrincipalBase {
349
349
  }
350
350
  exports.OrganizationPrincipal = OrganizationPrincipal;
351
351
  _f = JSII_RTTI_SYMBOL_1;
352
- OrganizationPrincipal[_f] = { fqn: "terraconstructs.aws.iam.OrganizationPrincipal", version: "0.2.2" };
352
+ OrganizationPrincipal[_f] = { fqn: "terraconstructs.aws.iam.OrganizationPrincipal", version: "0.2.3" };
353
353
  /**
354
354
  * A policy principal for canonicalUserIds - useful for S3 bucket policies that use
355
355
  * Origin Access identities.
@@ -391,7 +391,7 @@ class CanonicalUserPrincipal extends PrincipalBase {
391
391
  }
392
392
  exports.CanonicalUserPrincipal = CanonicalUserPrincipal;
393
393
  _g = JSII_RTTI_SYMBOL_1;
394
- CanonicalUserPrincipal[_g] = { fqn: "terraconstructs.aws.iam.CanonicalUserPrincipal", version: "0.2.2" };
394
+ CanonicalUserPrincipal[_g] = { fqn: "terraconstructs.aws.iam.CanonicalUserPrincipal", version: "0.2.3" };
395
395
  /**
396
396
  * Principal entity that represents a federated identity provider such as Amazon Cognito,
397
397
  * that can be used to provide temporary security credentials to users who have been authenticated.
@@ -424,7 +424,7 @@ class FederatedPrincipal extends PrincipalBase {
424
424
  }
425
425
  exports.FederatedPrincipal = FederatedPrincipal;
426
426
  _h = JSII_RTTI_SYMBOL_1;
427
- FederatedPrincipal[_h] = { fqn: "terraconstructs.aws.iam.FederatedPrincipal", version: "0.2.2" };
427
+ FederatedPrincipal[_h] = { fqn: "terraconstructs.aws.iam.FederatedPrincipal", version: "0.2.3" };
428
428
  /**
429
429
  * A principal that represents a federated identity provider as Web Identity such as Cognito, Amazon,
430
430
  * Facebook, Google, etc.
@@ -449,7 +449,7 @@ class WebIdentityPrincipal extends FederatedPrincipal {
449
449
  }
450
450
  exports.WebIdentityPrincipal = WebIdentityPrincipal;
451
451
  _j = JSII_RTTI_SYMBOL_1;
452
- WebIdentityPrincipal[_j] = { fqn: "terraconstructs.aws.iam.WebIdentityPrincipal", version: "0.2.2" };
452
+ WebIdentityPrincipal[_j] = { fqn: "terraconstructs.aws.iam.WebIdentityPrincipal", version: "0.2.3" };
453
453
  /**
454
454
  * A principal that represents a federated identity provider as from a OpenID Connect provider.
455
455
  */
@@ -472,7 +472,7 @@ class OpenIdConnectPrincipal extends WebIdentityPrincipal {
472
472
  }
473
473
  exports.OpenIdConnectPrincipal = OpenIdConnectPrincipal;
474
474
  _k = JSII_RTTI_SYMBOL_1;
475
- OpenIdConnectPrincipal[_k] = { fqn: "terraconstructs.aws.iam.OpenIdConnectPrincipal", version: "0.2.2" };
475
+ OpenIdConnectPrincipal[_k] = { fqn: "terraconstructs.aws.iam.OpenIdConnectPrincipal", version: "0.2.3" };
476
476
  /**
477
477
  * Principal entity that represents a SAML federated identity provider
478
478
  */
@@ -486,7 +486,7 @@ class SamlPrincipal extends FederatedPrincipal {
486
486
  }
487
487
  exports.SamlPrincipal = SamlPrincipal;
488
488
  _l = JSII_RTTI_SYMBOL_1;
489
- SamlPrincipal[_l] = { fqn: "terraconstructs.aws.iam.SamlPrincipal", version: "0.2.2" };
489
+ SamlPrincipal[_l] = { fqn: "terraconstructs.aws.iam.SamlPrincipal", version: "0.2.3" };
490
490
  /**
491
491
  * Principal entity that represents a SAML federated identity provider for
492
492
  * programmatic and AWS Management Console access.
@@ -529,7 +529,7 @@ class SamlConsolePrincipal extends SamlPrincipal {
529
529
  }
530
530
  exports.SamlConsolePrincipal = SamlConsolePrincipal;
531
531
  _m = JSII_RTTI_SYMBOL_1;
532
- SamlConsolePrincipal[_m] = { fqn: "terraconstructs.aws.iam.SamlConsolePrincipal", version: "0.2.2" };
532
+ SamlConsolePrincipal[_m] = { fqn: "terraconstructs.aws.iam.SamlConsolePrincipal", version: "0.2.3" };
533
533
  /**
534
534
  * Use the AWS account into which a stack is deployed as the principal entity in a policy
535
535
  */
@@ -543,7 +543,7 @@ class AccountRootPrincipal extends AccountPrincipal {
543
543
  }
544
544
  exports.AccountRootPrincipal = AccountRootPrincipal;
545
545
  _o = JSII_RTTI_SYMBOL_1;
546
- AccountRootPrincipal[_o] = { fqn: "terraconstructs.aws.iam.AccountRootPrincipal", version: "0.2.2" };
546
+ AccountRootPrincipal[_o] = { fqn: "terraconstructs.aws.iam.AccountRootPrincipal", version: "0.2.3" };
547
547
  /**
548
548
  * A principal representing all AWS identities in all accounts
549
549
  *
@@ -564,7 +564,7 @@ class AnyPrincipal extends ArnPrincipal {
564
564
  }
565
565
  exports.AnyPrincipal = AnyPrincipal;
566
566
  _p = JSII_RTTI_SYMBOL_1;
567
- AnyPrincipal[_p] = { fqn: "terraconstructs.aws.iam.AnyPrincipal", version: "0.2.2" };
567
+ AnyPrincipal[_p] = { fqn: "terraconstructs.aws.iam.AnyPrincipal", version: "0.2.3" };
568
568
  /**
569
569
  * A principal representing all identities in all accounts
570
570
  * @deprecated use `AnyPrincipal`
@@ -573,7 +573,7 @@ class Anyone extends AnyPrincipal {
573
573
  }
574
574
  exports.Anyone = Anyone;
575
575
  _q = JSII_RTTI_SYMBOL_1;
576
- Anyone[_q] = { fqn: "terraconstructs.aws.iam.Anyone", version: "0.2.2" };
576
+ Anyone[_q] = { fqn: "terraconstructs.aws.iam.Anyone", version: "0.2.3" };
577
577
  /**
578
578
  * A principal that uses a literal '*' in the IAM JSON language
579
579
  *
@@ -602,7 +602,7 @@ class StarPrincipal extends PrincipalBase {
602
602
  }
603
603
  exports.StarPrincipal = StarPrincipal;
604
604
  _r = JSII_RTTI_SYMBOL_1;
605
- StarPrincipal[_r] = { fqn: "terraconstructs.aws.iam.StarPrincipal", version: "0.2.2" };
605
+ StarPrincipal[_r] = { fqn: "terraconstructs.aws.iam.StarPrincipal", version: "0.2.3" };
606
606
  /**
607
607
  * Represents a principal that has multiple types of principals. A composite principal cannot
608
608
  * have conditions. i.e. multiple ServicePrincipals that form a composite principal
@@ -667,7 +667,7 @@ class CompositePrincipal extends PrincipalBase {
667
667
  }
668
668
  exports.CompositePrincipal = CompositePrincipal;
669
669
  _s = JSII_RTTI_SYMBOL_1;
670
- CompositePrincipal[_s] = { fqn: "terraconstructs.aws.iam.CompositePrincipal", version: "0.2.2" };
670
+ CompositePrincipal[_s] = { fqn: "terraconstructs.aws.iam.CompositePrincipal", version: "0.2.3" };
671
671
  /**
672
672
  * Base class for Principals that wrap other principals
673
673
  */
@@ -715,7 +715,7 @@ class ComparablePrincipal {
715
715
  }
716
716
  exports.ComparablePrincipal = ComparablePrincipal;
717
717
  _t = JSII_RTTI_SYMBOL_1;
718
- ComparablePrincipal[_t] = { fqn: "terraconstructs.aws.iam.ComparablePrincipal", version: "0.2.2" };
718
+ ComparablePrincipal[_t] = { fqn: "terraconstructs.aws.iam.ComparablePrincipal", version: "0.2.3" };
719
719
  /**
720
720
  * An IAM principal with additional conditions specifying when the policy is in effect.
721
721
  *
@@ -870,7 +870,7 @@ class PrincipalWithConditions extends PrincipalAdapter {
870
870
  }
871
871
  exports.PrincipalWithConditions = PrincipalWithConditions;
872
872
  _u = JSII_RTTI_SYMBOL_1;
873
- PrincipalWithConditions[_u] = { fqn: "terraconstructs.aws.iam.PrincipalWithConditions", version: "0.2.2" };
873
+ PrincipalWithConditions[_u] = { fqn: "terraconstructs.aws.iam.PrincipalWithConditions", version: "0.2.3" };
874
874
  /**
875
875
  * Enables session tags on role assumptions from a principal
876
876
  *
@@ -897,7 +897,7 @@ class SessionTagsPrincipal extends PrincipalAdapter {
897
897
  }
898
898
  exports.SessionTagsPrincipal = SessionTagsPrincipal;
899
899
  _v = JSII_RTTI_SYMBOL_1;
900
- SessionTagsPrincipal[_v] = { fqn: "terraconstructs.aws.iam.SessionTagsPrincipal", version: "0.2.2" };
900
+ SessionTagsPrincipal[_v] = { fqn: "terraconstructs.aws.iam.SessionTagsPrincipal", version: "0.2.3" };
901
901
  /**
902
902
  * Add a principal to an AssumeRolePolicyDocument in the right way
903
903
  *
@@ -370,7 +370,7 @@ class Role extends aws_construct_1.AwsConstructBase {
370
370
  }
371
371
  exports.Role = Role;
372
372
  _a = JSII_RTTI_SYMBOL_1;
373
- Role[_a] = { fqn: "terraconstructs.aws.iam.Role", version: "0.2.2" };
373
+ Role[_a] = { fqn: "terraconstructs.aws.iam.Role", version: "0.2.3" };
374
374
  function createAssumeRolePolicy(scope, id, principal, externalIds) {
375
375
  const actualDoc = new policy_document_1.PolicyDocument(scope, id);
376
376
  // If requested, add externalIds to every statement added to this doc
@@ -26,7 +26,7 @@ class SamlMetadataDocument {
26
26
  }
27
27
  exports.SamlMetadataDocument = SamlMetadataDocument;
28
28
  _a = JSII_RTTI_SYMBOL_1;
29
- SamlMetadataDocument[_a] = { fqn: "terraconstructs.aws.iam.SamlMetadataDocument", version: "0.2.2" };
29
+ SamlMetadataDocument[_a] = { fqn: "terraconstructs.aws.iam.SamlMetadataDocument", version: "0.2.3" };
30
30
  /**
31
31
  * A SAML provider
32
32
  */
@@ -75,5 +75,5 @@ class SamlProvider extends aws_construct_1.AwsConstructBase {
75
75
  }
76
76
  exports.SamlProvider = SamlProvider;
77
77
  _b = JSII_RTTI_SYMBOL_1;
78
- SamlProvider[_b] = { fqn: "terraconstructs.aws.iam.SamlProvider", version: "0.2.2" };
78
+ SamlProvider[_b] = { fqn: "terraconstructs.aws.iam.SamlProvider", version: "0.2.3" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvaWFtL3NhbWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsc0RBQXNEO0FBQ3RELGlDQUE4QjtBQUU5QixvREFJMEI7QUFxRDFCOztHQUVHO0FBQ0gsTUFBc0Isb0JBQW9CO0lBQ3hDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXO1FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVk7UUFDakMsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7O0FBYkgsb0RBbUJDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGdDQUFnQjtJQUNoRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FDL0IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLGVBQXVCO1FBRXZCLE1BQU0sTUFBTyxTQUFRLGdDQUFnQjtZQUFyQzs7Z0JBQ2tCLG9CQUFlLEdBQUcsZUFBZSxDQUFDO2dCQUNsQyx3QkFBbUIsR0FBRztvQkFDcEMsR0FBRyxFQUFFLGVBQWU7aUJBQ3JCLENBQUM7WUFJSixDQUFDO1lBSEMsSUFBVyxPQUFPO2dCQUNoQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNsQyxDQUFDO1NBQ0Y7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBS0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUNFLEtBQUssQ0FBQyxJQUFJO1lBQ1YsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDL0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUN2QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwyUEFBMlAsQ0FDNVAsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksOEJBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNwRSxJQUFJLEVBQ0YsS0FBSyxDQUFDLElBQUk7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xDLHdCQUF3QixFQUFFLFNBQVM7b0JBQ25DLFNBQVMsRUFBRSxHQUFHO2lCQUNmLENBQUM7WUFDSixvQkFBb0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRztZQUN6QixHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDMUIsQ0FBQztJQUNKLENBQUM7O0FBdkRILG9DQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgaWFtU2FtbFByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbFByb3ZpZGVyT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIFNBTUwgcHJvdmlkZXIuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIFNBTUwgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2FtbFByb3ZpZGVyIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8vIHN0cm9uZ2x5IHR5cGVkIG91dHB1dHNcbiAgcmVhZG9ubHkgc2FtbFByb3ZpZGVyT3V0cHV0czogU2FtbFByb3ZpZGVyT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBwcm92aWRlclxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzYW1sUHJvdmlkZXJBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNBTUwgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1sUHJvdmlkZXJQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm92aWRlciB0byBjcmVhdGUuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBhIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGNvbnNpc3Rpbmcgb2YgdXBwZXIgYW5kXG4gICAqIGxvd2VyY2FzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyB3aXRoIG5vIHNwYWNlcy4gWW91IGNhbiBhbHNvIGluY2x1ZGVcbiAgICogYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogXys9LC5ALVxuICAgKlxuICAgKiBMZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgdW5pcXVlIG5hbWUgYmFzZWQgb24gcGF0aCB3aXRoaW4gc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIFhNTCBkb2N1bWVudCBnZW5lcmF0ZWQgYnkgYW4gaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgdGhhdCBzdXBwb3J0c1xuICAgKiBTQU1MIDIuMC4gVGhlIGRvY3VtZW50IGluY2x1ZGVzIHRoZSBpc3N1ZXIncyBuYW1lLCBleHBpcmF0aW9uIGluZm9ybWF0aW9uLFxuICAgKiBhbmQga2V5cyB0aGF0IGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBTQU1MIGF1dGhlbnRpY2F0aW9uIHJlc3BvbnNlXG4gICAqIChhc3NlcnRpb25zKSB0aGF0IGFyZSByZWNlaXZlZCBmcm9tIHRoZSBJZFAuIFlvdSBtdXN0IGdlbmVyYXRlIHRoZSBtZXRhZGF0YVxuICAgKiBkb2N1bWVudCB1c2luZyB0aGUgaWRlbnRpdHkgbWFuYWdlbWVudCBzb2Z0d2FyZSB0aGF0IGlzIHVzZWQgYXMgeW91clxuICAgKiBvcmdhbml6YXRpb24ncyBJZFAuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YURvY3VtZW50OiBTYW1sTWV0YWRhdGFEb2N1bWVudDtcbn1cblxuLyoqXG4gKiBBIFNBTUwgbWV0YWRhdGEgZG9jdW1lbnRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhbWxNZXRhZGF0YURvY3VtZW50IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIFNBTUwgbWV0YWRhdGEgZG9jdW1lbnQgZnJvbSBhIFhNTCBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVhtbCh4bWw6IHN0cmluZyk6IFNhbWxNZXRhZGF0YURvY3VtZW50IHtcbiAgICByZXR1cm4geyB4bWwgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBTQU1MIG1ldGFkYXRhIGRvY3VtZW50IGZyb20gYSBYTUwgZmlsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRmlsZShwYXRoOiBzdHJpbmcpOiBTYW1sTWV0YWRhdGFEb2N1bWVudCB7XG4gICAgcmV0dXJuIHsgeG1sOiBmcy5yZWFkRmlsZVN5bmMocGF0aCwgXCJ1dGYtOFwiKSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBYTUwgY29udGVudCBvZiB0aGUgbWV0YWRhdGEgZG9jdW1lbnRcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB4bWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIFNBTUwgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbWxQcm92aWRlciBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJU2FtbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBwcm92aWRlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2FtbFByb3ZpZGVyQXJuKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzYW1sUHJvdmlkZXJBcm46IHN0cmluZyxcbiAgKTogSVNhbWxQcm92aWRlciB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElTYW1sUHJvdmlkZXIge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHNhbWxQcm92aWRlckFybiA9IHNhbWxQcm92aWRlckFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzYW1sUHJvdmlkZXJPdXRwdXRzID0ge1xuICAgICAgICBhcm46IHNhbWxQcm92aWRlckFybixcbiAgICAgIH07XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbWxQcm92aWRlck91dHB1dHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge30pO1xuICB9XG4gIHB1YmxpYyByZWFkb25seSBzYW1sUHJvdmlkZXJPdXRwdXRzOiBTYW1sUHJvdmlkZXJPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2FtbFByb3ZpZGVyT3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogaWFtU2FtbFByb3ZpZGVyLklhbVNhbWxQcm92aWRlcjtcbiAgcHVibGljIHJlYWRvbmx5IHNhbWxQcm92aWRlckFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTYW1sUHJvdmlkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKFxuICAgICAgcHJvcHMubmFtZSAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5uYW1lKSAmJlxuICAgICAgIS9eW1xcdys9LC5ALV17MSwxMjh9JC8udGVzdChwcm9wcy5uYW1lKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkludmFsaWQgU0FNTCBwcm92aWRlciBuYW1lLiBUaGUgbmFtZSBtdXN0IGJlIGEgc3RyaW5nIG9mIGNoYXJhY3RlcnMgY29uc2lzdGluZyBvZiB1cHBlciBhbmQgbG93ZXJjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIHdpdGggbm8gc3BhY2VzLiBZb3UgY2FuIGFsc28gaW5jbHVkZSBhbnkgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBfKz0sLkAtLiBMZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGlhbVNhbWxQcm92aWRlci5JYW1TYW1sUHJvdmlkZXIodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBuYW1lOlxuICAgICAgICBwcm9wcy5uYW1lID8/XG4gICAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgICBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6IFwiXys9LC5ALVwiLFxuICAgICAgICAgIG1heExlbmd0aDogMTI4LFxuICAgICAgICB9KSxcbiAgICAgIHNhbWxNZXRhZGF0YURvY3VtZW50OiBwcm9wcy5tZXRhZGF0YURvY3VtZW50LnhtbCxcbiAgICB9KTtcblxuICAgIHRoaXMuc2FtbFByb3ZpZGVyQXJuID0gdGhpcy5yZXNvdXJjZS5hcm47XG4gICAgdGhpcy5zYW1sUHJvdmlkZXJPdXRwdXRzID0ge1xuICAgICAgYXJuOiB0aGlzLnNhbWxQcm92aWRlckFybixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -41,5 +41,5 @@ class UnknownPrincipal {
41
41
  }
42
42
  exports.UnknownPrincipal = UnknownPrincipal;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- UnknownPrincipal[_a] = { fqn: "terraconstructs.aws.iam.UnknownPrincipal", version: "0.2.2" };
44
+ UnknownPrincipal[_a] = { fqn: "terraconstructs.aws.iam.UnknownPrincipal", version: "0.2.3" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5rbm93bi1wcmluY2lwYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2lhbS91bmtub3duLXByaW5jaXBhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFHQUFxRztBQUNyRyxpQ0FBb0M7QUFDcEMsMkNBQStEO0FBQy9ELDRDQUF3QztBQWtCeEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsZ0JBQWdCO0lBSzNCLFlBQVksS0FBNEI7UUFKeEIscUJBQWdCLEdBQVcsZ0JBQWdCLENBQUM7UUFLMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYixpQ0FBaUMsaUJBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksb0NBQW9DLENBQ2pHLENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CLENBQ3pCLFNBQTBCO1FBRTFCLE1BQU0sS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RCx5REFBeUQ7UUFDekQsbUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FDdEMsMENBQTBDLElBQUksRUFBRSxDQUNqRCxDQUFDO1FBQ0Ysb0VBQW9FO1FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksNEJBQWUsRUFBRSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUEwQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDN0QsQ0FBQzs7QUEvQkgsNENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTU2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWlhbS9saWIvdW5rbm93bi1wcmluY2lwYWwudHNcbmltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5R3JvdXAsIElDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiLi9wb2xpY3ktc3RhdGVtZW50XCI7XG5pbXBvcnQge1xuICBBZGRUb1ByaW5jaXBhbFBvbGljeVJlc3VsdCxcbiAgSVByaW5jaXBhbCxcbiAgUHJpbmNpcGFsUG9saWN5RnJhZ21lbnQsXG59IGZyb20gXCIuL3ByaW5jaXBhbHNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhbiBVbmtub3duUHJpbmNpcGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5rbm93blByaW5jaXBhbFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSB0aGUgcm9sZSBwcm94eSBpcyBmb3JcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlOiBJQ29uc3RydWN0O1xufVxuXG4vKipcbiAqIEEgcHJpbmNpcGFsIGZvciB1c2UgaW4gcmVzb3VyY2VzIHRoYXQgbmVlZCB0byBoYXZlIGEgcm9sZSBidXQgaXQncyB1bmtub3duXG4gKlxuICogU29tZSByZXNvdXJjZXMgaGF2ZSByb2xlcyBhc3NvY2lhdGVkIHdpdGggdGhlbSB3aGljaCB0aGV5IGFzc3VtZSwgc3VjaCBhc1xuICogTGFtYmRhIEZ1bmN0aW9ucywgQ29kZUJ1aWxkIHByb2plY3RzLCBTdGVwRnVuY3Rpb25zIG1hY2hpbmVzLCBldGMuXG4gKlxuICogV2hlbiB0aG9zZSByZXNvdXJjZXMgYXJlIGltcG9ydGVkLCB0aGVpciBhY3R1YWwgcm9sZXMgYXJlIG5vdCBhbHdheXNcbiAqIGltcG9ydGVkIHdpdGggdGhlbS4gV2hlbiB0aGF0IGhhcHBlbnMsIHdlIHVzZSBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzXG4gKiBpbnN0ZWFkLCB3aGljaCB3aWxsIGFkZCB1c2VyIHdhcm5pbmdzIHdoZW4gc3RhdGVtZW50cyBhcmUgYXR0ZW1wdGVkIHRvIGJlXG4gKiBhZGRlZCB0byBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFVua25vd25QcmluY2lwYWwgaW1wbGVtZW50cyBJUHJpbmNpcGFsIHtcbiAgcHVibGljIHJlYWRvbmx5IGFzc3VtZVJvbGVBY3Rpb246IHN0cmluZyA9IFwic3RzOkFzc3VtZVJvbGVcIjtcbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBJUHJpbmNpcGFsO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBJQ29uc3RydWN0O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBVbmtub3duUHJpbmNpcGFsUHJvcHMpIHtcbiAgICB0aGlzLnJlc291cmNlID0gcHJvcHMucmVzb3VyY2U7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvbGljeUZyYWdtZW50KCk6IFByaW5jaXBhbFBvbGljeUZyYWdtZW50IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGdldCBwb2xpY3kgZnJhZ21lbnQgb2YgJHtOb2RlLm9mKHRoaXMucmVzb3VyY2UpLnBhdGh9LCByZXNvdXJjZSBpbXBvcnRlZCB3aXRob3V0IGEgcm9sZWAsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1ByaW5jaXBhbFBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IFBvbGljeVN0YXRlbWVudCxcbiAgKTogQWRkVG9QcmluY2lwYWxQb2xpY3lSZXN1bHQge1xuICAgIGNvbnN0IHN0YWNrID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcy5yZXNvdXJjZSk7XG4gICAgY29uc3QgcmVwciA9IEpTT04uc3RyaW5naWZ5KHN0YWNrLnJlc29sdmUoc3RhdGVtZW50KSk7XG4gICAgLy8gXCJAYXdzLWNkay9hd3MtaWFtOnVua25vd25QcmluY2lwYWxBZGRTdGF0ZW1lbnRUb1JvbGVcIixcbiAgICBBbm5vdGF0aW9ucy5vZih0aGlzLnJlc291cmNlKS5hZGRXYXJuaW5nKFxuICAgICAgYEFkZCBzdGF0ZW1lbnQgdG8gdGhpcyByZXNvdXJjZSdzIHJvbGU6ICR7cmVwcn1gLFxuICAgICk7XG4gICAgLy8gUHJldGVuZCB3ZSBkaWQgdGhlIHdvcmsuIFRoZSBodW1hbiB3aWxsIGRvIGl0IGZvciB1cywgZXZlbnR1YWxseS5cbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogdHJ1ZSwgcG9saWN5RGVwZW5kYWJsZTogbmV3IERlcGVuZGVuY3lHcm91cCgpIH07XG4gIH1cblxuICBwdWJsaWMgYWRkVG9Qb2xpY3koc3RhdGVtZW50OiBQb2xpY3lTdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpLnN0YXRlbWVudEFkZGVkO1xuICB9XG59XG4iXX0=
@@ -232,5 +232,5 @@ class User extends aws_construct_1.AwsConstructBase {
232
232
  }
233
233
  exports.User = User;
234
234
  _a = JSII_RTTI_SYMBOL_1;
235
- User[_a] = { fqn: "terraconstructs.aws.iam.User", version: "0.2.2" };
235
+ User[_a] = { fqn: "terraconstructs.aws.iam.User", version: "0.2.3" };
236
236
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvaWFtL3VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3SEFBd0g7QUFFeEgsc0RBSzZCO0FBRzdCLGdDQUF3QztBQUN4QyxvREFBdUU7QUFDdkUsNENBQXdDO0FBR3hDLHFDQUFrQztBQUVsQyw2Q0FLc0I7QUFDdEIseUNBQWtEO0FBbUhsRDs7R0FFRztBQUNILE1BQWEsSUFBSyxTQUFRLGdDQUFnQjtJQUN4Qyx3QkFBd0I7SUFFeEI7O09BRUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUN4QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsUUFBZ0I7UUFFaEIsTUFBTSxPQUFPLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZELE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsTUFBTTtZQUNoQixZQUFZLEVBQUUsUUFBUTtTQUN2QixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUN2QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsT0FBZTtRQUVmLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDOUIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXFCO1FBRXJCLE1BQU0sTUFBTyxTQUFRLGdDQUFnQjtZQUFyQzs7Z0JBVWtCLG1CQUFjLEdBQWUsSUFBSSxDQUFDO2dCQUNsQyxxQkFBZ0IsR0FBRyxvQkFBUSxD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Qjs7Ozs7O1dBTUc7UUFDSCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELHlFQUF5RTtRQUN6RSw0SEFBNEg7UUFDNUgsNkNBQTZDO1FBQzdDLDJFQUEyRTtRQUMzRSxzR0FBc0c7UUFDdEcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckQsTUFBTSxFQUFFLEdBQUcsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1lBQzVFLDhCQUE4QjtZQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFBRSxTQUFTO1lBRXpDLElBQUksc0NBQXVCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7YUFDcEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUEvUkgsb0JBZ1NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvZjlmMzY4MWJlOWZjNmEwYzk5OGNkMjYxMTkwNTNjNTgzMmVmOTgwNi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtaWFtL2xpYi91c2VyLnRzXG5cbmltcG9ydCB7XG4gIGlhbVVzZXIsXG4gIGlhbVVzZXJQb2xpY3lBdHRhY2htZW50LFxuICBpYW1Vc2VyR3JvdXBNZW1iZXJzaGlwLFxuICBpYW1Vc2VyTG9naW5Qcm9maWxlLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgQXJuLCBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlLCBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7IElHcm91cCB9IGZyb20gXCIuL2dyb3VwXCI7XG5pbXBvcnQgeyBJTWFuYWdlZFBvbGljeSB9IGZyb20gXCIuL21hbmFnZWQtcG9saWN5XCI7XG5pbXBvcnQgeyBQb2xpY3kgfSBmcm9tIFwiLi9wb2xpY3lcIjtcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gXCIuL3BvbGljeS1zdGF0ZW1lbnRcIjtcbmltcG9ydCB7XG4gIEFkZFRvUHJpbmNpcGFsUG9saWN5UmVzdWx0LFxuICBBcm5QcmluY2lwYWwsXG4gIElQcmluY2lwYWwsXG4gIFByaW5jaXBhbFBvbGljeUZyYWdtZW50LFxufSBmcm9tIFwiLi9wcmluY2lwYWxzXCI7XG5pbXBvcnQgeyBBdHRhY2hlZFBvbGljaWVzIH0gZnJvbSBcIi4vcHJpdmF0ZS91dGlsXCI7XG5cbi8qKlxuICogT3V0cHV0cyB3aGljaCBtYXkgYmUgcmVnaXN0ZXJlZCBmb3Igb3V0cHV0IHZpYSB0aGUgR3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyT3V0cHV0cyB7XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJQU0gdXNlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVXNlciBleHRlbmRzIGlhbS5JSWRlbnRpdHkge1xuICAvKipcbiAgICogc3Ryb25nbHkgdHlwZWQgcm9sZU91dHB1dHNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlck91dHB1dHM6IFVzZXJPdXRwdXRzO1xuICAvKipcbiAgICogVGhlIHVzZXIncyBuYW1lLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB1c2VyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlcidzIEFSTi5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgdXNlciB0byBhIGdyb3VwLlxuICAgKi9cbiAgYWRkVG9Hcm91cChncm91cDogSUdyb3VwKTogdm9pZDtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhbiBJQU0gdXNlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBHcm91cHMgdG8gYWRkIHRoaXMgdXNlciB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBncm91cHMuXG4gICAqL1xuICByZWFkb25seSBncm91cHM/OiBJR3JvdXBbXTtcblxuICAvKipcbiAgICogTWFuYWdlZCBwb2xpY2llcyB0byBhdHRhY2ggdG8gdGhpcyB1c2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG1hbmFnZWQgcG9saWNpZXMuXG4gICAqL1xuICByZWFkb25seSBtYW5hZ2VkUG9saWNpZXM/OiBJTWFuYWdlZFBvbGljeVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBmb3IgdGhlIHVzZXIgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIvXCJcbiAgICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYW5hZ2VkIHBvbGljeSB0byB1c2UgYXMgdGhlIHBlcm1pc3Npb25zIGJvdW5kYXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHBlcm1pc3Npb25zIGJvdW5kYXJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnNCb3VuZGFyeT86IElNYW5hZ2VkUG9saWN5O1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBJQU0gdXNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBHZW5lcmF0ZWQgYnkgQ2xvdWRGb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSB1c2VyTmFtZT86IHN0cmluZztcblxuICAvLyBhZGQgU3VwcG9ydCBmb3IgcGdwS2V5IGZvciBVc2VyUHJvZmlsZVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIGxvZ2luIHByb2ZpbGUgZm9yIHRoZSBVc2VyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gY29uc29sZSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVMb2dpblByb2ZpbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgZm9yIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZExlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHVzZXIgbXVzdCByZXNldCB0aGUgcGFzc3dvcmQgdXBvbiBmaXJzdCBzaWdu4oCTaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZFJlc2V0UmVxdWlyZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyBJQU0gdXNlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB1c2VyLlxuICAgKlxuICAgKiBGb3JtYXQ6IGFybjo8cGFydGl0aW9uPjppYW06OjxhY2NvdW50LWlkPjp1c2VyLzx1c2VyLW5hbWUtd2l0aC1wYXRoPlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSBuZXcgSUFNIHVzZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElVc2VyIHtcbiAgLy8gU3RhdGljIGltcG9ydCBtZXRob2RzXG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIGdpdmVuIGEgdXNlcm5hbWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Vc2VyTmFtZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdXNlck5hbWU6IHN0cmluZyxcbiAgKTogSVVzZXIge1xuICAgIGNvbnN0IHVzZXJBcm4gPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6IFwiaWFtXCIsXG4gICAgICByZWdpb246IFwiXCIsXG4gICAgICByZXNvdXJjZTogXCJ1c2VyXCIsXG4gICAgICByZXNvdXJjZU5hbWU6IHVzZXJOYW1lLFxuICAgIH0pO1xuICAgIHJldHVybiBVc2VyLmZyb21Vc2VyQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgdXNlckFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgdXNlciBnaXZlbiBhIHVzZXIgQVJOLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVXNlckFybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdXNlckFybjogc3RyaW5nLFxuICApOiBJVXNlciB7XG4gICAgcmV0dXJuIFVzZXIuZnJvbVVzZXJBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyB1c2VyQXJuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIGdpdmVuIHVzZXIgYXR0cmlidXRlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVVzZXJBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogVXNlckF0dHJpYnV0ZXMsXG4gICk6IElVc2VyIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSVVzZXIge1xuICAgICAgcHVibGljIGdldCB1c2VyT3V0cHV0cygpOiBVc2VyT3V0cHV0cyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYXJuOiB0aGlzLnVzZXJBcm4sXG4gICAgICAgICAgbmFtZTogdGhpcy51c2VyTmFtZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck91dHB1dHM7XG4gICAgICB9XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6IElQcmluY2lwYWwgPSB0aGlzO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHByaW5jaXBhbEFjY291bnQgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChcbiAgICAgICAgc2NvcGUsXG4gICAgICApLnNwbGl0QXJuKGF0dHJzLnVzZXJBcm4sIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5hY2NvdW50O1xuICAgICAgLy8gRXh0cmFjdCB0aGUgdXNlciBuYW1lIGZyb20gdGhlIEFSTi4gRm9yIGEgdXNlciBBUk4sIHRoZSByZXNvdXJjZSBwYXJ0IGluY2x1ZGVzIHRoZSBwYXRoLlxuICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXJOYW1lOiBzdHJpbmcgPSBBcm4uZXh0cmFjdFJlc291cmNlTmFtZShcbiAgICAgICAgYXR0cnMudXNlckFybixcbiAgICAgICAgXCJ1c2VyXCIsXG4gICAgICApXG4gICAgICAgIC5zcGxpdChcIi9cIilcbiAgICAgICAgLnBvcCgpITtcbiAgICAgIHB1YmxpYyByZWFkb25seSB1c2VyQXJuOiBzdHJpbmcgPSBhdHRycy51c2VyQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFzc3VtZVJvbGVBY3Rpb246IHN0cmluZyA9IFwic3RzOkFzc3VtZVJvbGVcIjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBwb2xpY3lGcmFnbWVudDogUHJpbmNpcGFsUG9saWN5RnJhZ21lbnQgPVxuICAgICAgICBuZXcgQXJuUHJpbmNpcGFsKGF0dHJzLnVzZXJBcm4pLnBvbGljeUZyYWdtZW50O1xuICAgICAgcHJpdmF0ZSByZWFkb25seSBhdHRhY2hlZFBvbGljaWVzID0gbmV3IEF0dGFjaGVkUG9saWNpZXMoKTtcbiAgICAgIHByaXZhdGUgZGVmYXVsdFBvbGljeT86IFBvbGljeTtcbiAgICAgIHByaXZhdGUgZ3JvdXBJZCA9IDA7XG5cbiAgICAgIHB1YmxpYyBhZGRUb1BvbGljeShzdGF0ZW1lbnQ6IFBvbGljeVN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpLnN0YXRlbWVudEFkZGVkO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gICAgICAgIHN0YXRlbWVudDogUG9saWN5U3RhdGVtZW50LFxuICAgICAgKTogQWRkVG9QcmluY2lwYWxQb2xpY3lSZXN1bHQge1xuICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdFBvbGljeSkge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFBvbGljeSA9IG5ldyBQb2xpY3kodGhpcywgXCJQb2xpY3lcIik7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0UG9saWN5LmF0dGFjaFRvVXNlcih0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlZmF1bHRQb2xpY3kuYWRkU3RhdGVtZW50cyhzdGF0ZW1lbnQpO1xuICAgICAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogdHJ1ZSwgcG9saWN5RGVwZW5kYWJsZTogdGhpcy5kZWZhdWx0UG9saWN5IH07XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBhZGRUb0dyb3VwKGdyb3VwOiBJR3JvdXApOiB2b2lkIHtcbiAgICAgICAgbmV3IGlhbVVzZXJHcm91cE1lbWJlcnNoaXAuSWFtVXNlckdyb3VwTWVtYmVyc2hpcChcbiAgICAgICAgICBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChncm91cCksXG4gICAgICAgICAgYCR7dGhpcy51c2VyTmFtZX1Hcm91cCR7dGhpcy5ncm91cElkfWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZ3JvdXBzOiBbZ3JvdXAuZ3JvdXBOYW1lXSxcbiAgICAgICAgICAgIHVzZXI6IHRoaXMudXNlck5hbWUsXG4gICAgICAgICAgICAvLyBncm91cHM6IGdyb3VwLmdyb3VwTmFtZSxcbiAgICAgICAgICAgIC8vIHVzZXJzOiBbdGhpcy51c2VyTmFtZV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5ncm91cElkICs9IDE7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBhdHRhY2hJbmxpbmVQb2xpY3kocG9saWN5OiBQb2xpY3kpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdHRhY2hlZFBvbGljaWVzLmF0dGFjaChwb2xpY3kpO1xuICAgICAgICBwb2xpY3kuYXR0YWNoVG9Vc2VyKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgYWRkTWFuYWdlZFBvbGljeShfcG9saWN5OiBJTWFuYWdlZFBvbGljeSk6IHZvaWQge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYWRkIG1hbmFnZWQgcG9saWN5IHRvIGltcG9ydGVkIFVzZXJcIik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6IElQcmluY2lwYWwgPSB0aGlzO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpbmNpcGFsQWNjb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5lbnYuYWNjb3VudDtcbiAgcHVibGljIHJlYWRvbmx5IGFzc3VtZVJvbGVBY3Rpb246IHN0cmluZyA9IFwic3RzOkFzc3VtZVJvbGVcIjtcbiAgcHVibGljIGdldCB1c2VyT3V0cHV0cygpOiBVc2VyT3V0cHV0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFybjogdGhpcy51c2VyQXJuLFxuICAgICAgbmFtZTogdGhpcy51c2VyTmFtZSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyT3V0cHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHVzZXIncyBuYW1lLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSB1c2VyJ3MgQVJOLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlckFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgYm91bmRhcnkgYXNzaWduZWQgdG8gdGhpcyB1c2VyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zQm91bmRhcnk/OiBJTWFuYWdlZFBvbGljeTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9saWN5RnJhZ21lbnQ6IFByaW5jaXBhbFBvbGljeUZyYWdtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IG1hbmFnZWRQb2xpY2llczogSU1hbmFnZWRQb2xpY3lbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGF0dGFjaGVkUG9saWNpZXMgPSBuZXcgQXR0YWNoZWRQb2xpY2llcygpO1xuICBwcml2YXRlIGRlZmF1bHRQb2xpY3k/OiBQb2xpY3k7XG4gIHByaXZhdGUgZ3JvdXBJZCA9IDA7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFVzZXJQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3QgdXNlck5hbWUgPVxuICAgICAgcHJvcHMudXNlck5hbWUgfHxcbiAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgcHJlZml4OiB0aGlzLmdyaWRVVUlELFxuICAgICAgfSk7XG5cbiAgICBpZiAocHJvcHMubWFuYWdlZFBvbGljaWVzKSB7XG4gICAgICB0aGlzLm1hbmFnZWRQb2xpY2llcy5wdXNoKC4uLnByb3BzLm1hbmFnZWRQb2xpY2llcyk7XG4gICAgfVxuICAgIHRoaXMucGVybWlzc2lvbnNCb3VuZGFyeSA9IHByb3BzLnBlcm1pc3Npb25zQm91bmRhcnk7XG5cbiAgICBjb25zdCB1c2VyUmVzb3VyY2UgPSBuZXcgaWFtVXNlci5JYW1Vc2VyKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgbmFtZTogdXNlck5hbWUsXG4gICAgICBwYXRoOiBwcm9wcy5wYXRoLFxuICAgICAgcGVybWlzc2lvbnNCb3VuZGFyeTogdGhpcy5wZXJtaXNzaW9uc0JvdW5kYXJ5XG4gICAgICAgID8gdGhpcy5wZXJtaXNzaW9uc0JvdW5kYXJ5Lm1hbmFnZWRQb2xpY3lBcm5cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBmb3JjZURlc3Ryb3k6IGZhbHNlLFxuICAgICAgLy8gbG9naW5Qcm9maWxlOiB0aGlzLnBhcnNlTG9naW5Qcm9maWxlKHByb3BzKSxcbiAgICAgIC8vIHRhZ3M6IHVuZGVmaW5lZElmRW1wdHkoKCkgPT4gdGhpcy50YWdzKSxcbiAgICB9KTtcblxuICAgIHRoaXMudXNlck5hbWUgPSB1c2VyUmVzb3VyY2UubmFtZTtcbiAgICB0aGlzLnVzZXJBcm4gPSB1c2VyUmVzb3VyY2UuYXJuO1xuICAgIC8vIHRoaXMuZ2V0UmVzb3VyY2VBcm5BdHRyaWJ1dGUodXNlclJlc291cmNlLmFybiwge1xuICAgIC8vICAgcmVnaW9uOiBcIlwiLFxuICAgIC8vICAgc2VydmljZTogXCJpYW1cIixcbiAgICAvLyAgIHJlc291cmNlOiBcInVzZXJcIixcbiAgICAvLyAgIC8vIFJlbW92ZSBhIGxlYWRpbmcgc2xhc2ggZnJvbSB0aGUgcGF0aCBpZiBwcmVzZW50LlxuICAgIC8vICAgcmVzb3VyY2VOYW1lOiBgJHtwcm9wcy5wYXRoID8gcHJvcHMucGF0aC5yZXBsYWNlKC9eXFwvLywgXCJcIikgOiBcIlwifSR7dGhpcy5waHlzaWNhbE5hbWV9YCxcbiAgICAvLyB9KTtcblxuICAgIGlmIChwcm9wcy5jcmVhdGVMb2dpblByb2ZpbGUpIHtcbiAgICAgIG5ldyBpYW1Vc2VyTG9naW5Qcm9maWxlLklhbVVzZXJMb2dpblByb2ZpbGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGAke3VzZXJOYW1lfS1Mb2dpblByb2ZpbGVgLFxuICAgICAgICB7XG4gICAgICAgICAgdXNlcjogdGhpcy51c2VyTmFtZSxcbiAgICAgICAgICBwYXNzd29yZExlbmd0aDogcHJvcHMucGFzc3dvcmRMZW5ndGgsXG4gICAgICAgICAgcGFzc3dvcmRSZXNldFJlcXVpcmVkOiBwcm9wcy5wYXNzd29yZFJlc2V0UmVxdWlyZWQsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucG9saWN5RnJhZ21lbnQgPSBuZXcgQXJuUHJpbmNpcGFsKHRoaXMudXNlckFybikucG9saWN5RnJhZ21lbnQ7XG5cbiAgICBpZiAocHJvcHMuZ3JvdXBzKSB7XG4gICAgICBwcm9wcy5ncm91cHMuZm9yRWFjaCgoZykgPT4gdGhpcy5hZGRUb0dyb3VwKGcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGlzIHVzZXIgdG8gdGhlIHNwZWNpZmllZCBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhZGRUb0dyb3VwKGdyb3VwOiBJR3JvdXApOiB2b2lkIHtcbiAgICAvLyBgJHt0aGlzLnVzZXJOYW1lfS1Hcm91cCR7dGhpcy5ncm91cElkfWAsXG4gICAgY29uc3QgaWQgPSBgR3JvdXAke3RoaXMuZ3JvdXBJZH1gO1xuICAgIG5ldyBpYW1Vc2VyR3JvdXBNZW1iZXJzaGlwLklhbVVzZXJHcm91cE1lbWJlcnNoaXAodGhpcywgaWQsIHtcbiAgICAgIGdyb3VwczogW2dyb3VwLmdyb3VwTmFtZV0sXG4gICAgICB1c2VyOiB0aGlzLnVzZXJOYW1lLFxuICAgICAgLy8gZ3JvdXBOYW1lOiBncm91cC5ncm91cE5hbWUsXG4gICAgICAvLyB1c2VyczogW3RoaXMudXNlck5hbWVdLFxuICAgIH0pO1xuICAgIHRoaXMuZ3JvdXBJZCsrO1xuICAgIHRoaXMuZ3JvdXBzLnB1c2goZ3JvdXAuZ3JvdXBOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIG1hbmFnZWQgcG9saWN5IHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgcHVibGljIGFkZE1hbmFnZWRQb2xpY3kocG9saWN5OiBJTWFuYWdlZFBvbGljeSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1hbmFnZWRQb2xpY2llcy5maW5kKChtcCkgPT4gbXAgPT09IHBvbGljeSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tYW5hZ2VkUG9saWNpZXMucHVzaChwb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGFuIGlubGluZSBwb2xpY3kgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoSW5saW5lUG9saWN5KHBvbGljeTogUG9saWN5KTogdm9pZCB7XG4gICAgdGhpcy5hdHRhY2hlZFBvbGljaWVzLmF0dGFjaChwb2xpY3kpO1xuICAgIHBvbGljeS5hdHRhY2hUb1VzZXIodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBJQU0gc3RhdGVtZW50IHRvIHRoZSBkZWZhdWx0IGlubGluZSBwb2xpY3kuXG4gICAqXG4gICAqIElmIG5vIGRlZmF1bHQgcG9saWN5IGV4aXN0cyB5ZXQsIG9uZSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcHVibGljIGFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgIHN0YXRlbWVudDogUG9saWN5U3RhdGVtZW50LFxuICApOiBBZGRUb1ByaW5jaXBhbFBvbGljeVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLmRlZmF1bHRQb2xpY3kpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFBvbGljeSA9IG5ldyBQb2xpY3kodGhpcywgXCJEZWZhdWx0UG9saWN5XCIpO1xuICAgICAgdGhpcy5kZWZhdWx0UG9saWN5LmF0dGFjaFRvVXNlcih0aGlzKTtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0UG9saWN5LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogdHJ1ZSwgcG9saWN5RGVwZW5kYWJsZTogdGhpcy5kZWZhdWx0UG9saWN5IH07XG4gIH1cblxuICBwdWJsaWMgYWRkVG9Qb2xpY3koc3RhdGVtZW50OiBQb2xpY3lTdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpLnN0YXRlbWVudEFkZGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICpcbiAgICogY2FsbGVkIGJ5IFRlcnJhZm9ybVN0YWNrLnByZXBhcmVTdGFjaygpXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICAvKipcbiAgICAgKiBBIHByZXBhcmluZyByZXNvbHZlIHJ1biBtaWdodCBhZGQgbmV3IHJlc291cmNlcyB0byB0aGUgc3RhY2tcbiAgICAgKlxuICAgICAqIHNob3VsZCBub3QgYWRkIHJlc291cmNlcyBpZiBgZm9yY2VgIGlzIGBmYWxzZWAgYW5kIHRoZSBwb2xpY3lcbiAgICAgKiBkb2N1bWVudCBpcyBlbXB0eSBvciBub3QgYXR0YWNoZWRcbiAgICAgKiByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE0My4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1pYW0vbGliL3BvbGljeS50cyNMMTQ5XG4gICAgICovXG4gICAgaWYgKHRoaXMubWFuYWdlZFBvbGljaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIC8vIGFkZCBpYW1Vc2VyUG9saWN5QXR0YWNobWVudCByZXNvdXJjZSBmb3IgZWFjaCByZWZlcmVuY2VkIE1hbmFnZWRQb2xpY3lcbiAgICAvLyBOT1RFOiBUaGUgVGVycmFmb3JtRGVwZW5kZW5kYWJsZUFzcGVjdCB3aWxsIHByb3BnYXRlIGNvbnN0cnVjdCBkZXBlbmRlbmNpZXMgb24gdGhpcyBwb2xpY3kgdG8gaXRzIElhbVJvbGVQb2xpY3kgcmVzb3VyY2VzXG4gICAgLy8gbm90IHN1cmUgaWYgdGltZS5zbGVlcCBpcyBzdGlsbCBuZWNlc3Nhcnk/XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3B1bHVtaS9wdWx1bWktYXdzL2lzc3Vlcy8yMjYwI2lzc3VlY29tbWVudC0xOTc3NjA2NTA5XG4gICAgLy8gZWxzZSBuZWVkOiBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1wcm92aWRlci1hd3MvaXNzdWVzLzI5ODI4I2lzc3VlY29tbWVudC0xNjkzMzA3NTAwXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1hbmFnZWRQb2xpY2llcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaWQgPSBgUmVzb3VyY2VNYW5hZ2VkUG9saWN5JHtpfWA7IC8vIHVuaXF1ZSBpZCBmb3IgZWFjaCBtYW5hZ2VkIHBvbGljeVxuICAgICAgLy8gaWdub3JlIGlmIGFscmVhZHkgZ2VuZXJhdGVkXG4gICAgICBpZiAodGhpcy5ub2RlLnRyeUZpbmRDaGlsZChpZCkpIGNvbnRpbnVlO1xuXG4gICAgICBuZXcgaWFtVXNlclBvbGljeUF0dGFjaG1lbnQuSWFtVXNlclBvbGljeUF0dGFjaG1lbnQodGhpcywgaWQsIHtcbiAgICAgICAgdXNlcjogdGhpcy51c2VyTmFtZSxcbiAgICAgICAgcG9saWN5QXJuOiB0aGlzLm1hbmFnZWRQb2xpY2llc1tpXS5tYW5hZ2VkUG9saWN5QXJuLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19
@@ -233,5 +233,5 @@ class SimpleIPv4Vpc extends aws_construct_1.AwsConstructBase {
233
233
  }
234
234
  exports.SimpleIPv4Vpc = SimpleIPv4Vpc;
235
235
  _a = JSII_RTTI_SYMBOL_1;
236
- SimpleIPv4Vpc[_a] = { fqn: "terraconstructs.aws.network.SimpleIPv4Vpc", version: "0.2.2" };
236
+ SimpleIPv4Vpc[_a] = { fqn: "terraconstructs.aws.network.SimpleIPv4Vpc", version: "0.2.3" };
237
237
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWlwdjQtdnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9uZXR3b3JrL3NpbXBsZS1pcHY0LXZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQU82QjtBQUM3QixpQ0FBaUM7QUFFakMsb0RBQXVFO0FBRXZFLHFDQUE0RTtBQUM1RSxpREFJd0I7QUFFeEIsSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLDZEQUF5QyxDQUFBO0lBQ3pDLDJFQUF1RCxDQUFBO0FBQ3pELENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQjtBQXlCRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsZ0NBQWdCO0lBR2pELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVFELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUdELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFHRCxJQUFXLDRCQUE0QjtRQUNyQyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxH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QUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsZ0JBQWdCO2dCQUNoQixhQUFhLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztnQkFDM0MsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLGdCQUFnQixnQkFBZ0IsRUFBRTtvQkFDNUQscUJBQXFCLEVBQUUsTUFBTTtvQkFDN0IscUJBQXFCLEVBQUUsVUFBVTtpQkFDbEM7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs7QUF4T0gsc0NBeU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdnBjLFxuICBuYXRHYXRld2F5LFxuICByb3V0ZVRhYmxlLFxuICBpbnRlcm5ldEdhdGV3YXksXG4gIGRlZmF1bHRSb3V0ZVRhYmxlLFxuICBzZXJ2aWNlRGlzY292ZXJ5UHJpdmF0ZURuc05hbWVzcGFjZSxcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEZuLCBMYXp5IH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSU5ldHdvcmssIE5ldHdvcmtPdXRwdXRzIH0gZnJvbSBcIi4vbmV0d29ya1wiO1xuaW1wb3J0IHsgUHVibGljU3VibmV0LCBQcml2YXRlU3VibmV0LCBEYXRhU3VibmV0LCBJU3VibmV0IH0gZnJvbSBcIi4vc3VibmV0XCI7XG5pbXBvcnQge1xuICBJU3VibmV0R3JvdXAsXG4gIERiU3VibmV0R3JvdXAsXG4gIEVsYXN0aUNhY2hlU3VibmV0R3JvdXAsXG59IGZyb20gXCIuL3N1Ym5ldC1ncm91cFwiO1xuXG5leHBvcnQgZW51bSBOYXRHYXRld2F5T3B0aW9uIHtcbiAgU0lOR0xFX05BVF9HQVRFV0FZID0gXCJzaW5nbGUtbmF0LWdhdGV3YXlcIixcbiAgTkFUX1BFUl9BVkFJTEFCSUxJVFlfWk9ORSA9IFwibmF0LXBlci1hdmFpbGFiaWxpdHktem9uZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZUlQdjRQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYXZhaWxhYmlsaXR5IHpvbmVzIHRvIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgYXpDb3VudD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgZm9yIHRoZSBWUEMuXG4gICAqL1xuICByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTkFUIEdhdGV3YXkgc2V0IHVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOYXRHYXRld2F5T3B0aW9uLk5BVF9QRVJfQVZBSUxBQklMSVRZX1pPTkVcbiAgICovXG4gIHJlYWRvbmx5IG5hdEdhdGV3YXlPcHRpb24/OiBOYXRHYXRld2F5T3B0aW9uO1xuICAvKipcbiAgICogUHJvdmlzaW9ucyBhIFNlcnZpY2UgRGlzY292ZXJ5IFByaXZhdGUgRE5TIE5hbWVzcGFjZSByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGludGVybmFsRG9tYWluOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lIGFuIEFXUyBWaXJ0dWFsIFByaXZhdGUgQ2xvdWQgc2ltcGxlIElQdjQgbmV0d29yay5cbiAqXG4gKiBTZWUgdGhlIHBhY2thZ2UtbGV2ZWwgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHBhY2thZ2UgZm9yIGFuIG92ZXJ2aWV3XG4gKiBvZiB0aGUgdmFyaW91cyBkaW1lbnNpb25zIGluIHdoaWNoIHlvdSBjYW4gY29uZmlndXJlIHlvdXIgVlBDLlxuICpcbiAqIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCBuZXR3b3JrID0gbmV3IG5ldHdvcmsuU2ltcGxlSVB2NChhd3NTdGFjaywgXCJuZXR3b3JrXCIsIHtcbiAqICBpcHY0Q2lkckJsb2NrOiBcIjEwLjAuMC4wLzE2XCIsXG4gKiAgaW50ZXJuYWxEb21haW46IFwiZXhhbXBsZS5sb2NhbFwiLFxuICogfSk7XG4gKlxuICogLy8gQWRkIGEgc3VibmV0IGdyb3VwIGZvciBSRFNcbiAqIG5ldHdvcmsuZW5hYmxlRGJTdWJuZXRHcm91cCgpO1xuICogYGBgXG4gKlxuICogQHJlc291cmNlIGF3c192cGNcbiAqIEBiZWFjb24tY2xhc3MgbmV0d29yay5TaW1wbGVJUHY0VnBjXG4gKiBAZGVwcmVjYXRlZCB1c2UgY29tcHV0ZS92cGMgaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlSVB2NFZwYyBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJTmV0d29yayB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Byb3BzOiBTaW1wbGVJUHY0UHJvcHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgX291dHB1dHM6IE5ldHdvcmtPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG5ldHdvcmtPdXRwdXRzKCk6IE5ldHdvcmtPdXRwdXRzIHtcbiAgICByZXR1cm4gdGhpcy5fb3V0cHV0cztcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dHM7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmF0R2F0ZXdheU9wdGlvbjogTmF0R2F0ZXdheU9wdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBuYXRHYXRld2F5czogbmF0R2F0ZXdheS5OYXRHYXRld2F5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBwcml2YXRlUm91dGVUYWJsZXM6IHJvdXRlVGFibGUuUm91dGVUYWJsZVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgYXpDb3VudDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB2cGM6IHZwYy5WcGM7XG4gIHB1YmxpYyBnZXQgdnBjSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52cGMuaWQ7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfcHVibGljU3VibmV0czogUHVibGljU3VibmV0W10gPSBbXTtcbiAgcHVibGljIGdldCBwdWJsaWNTdWJuZXRzKCk6IElTdWJuZXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3B1YmxpY1N1Ym5ldHM7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfcHJpdmF0ZVN1Ym5ldHM6IFByaXZhdGVTdWJuZXRbXSA9IFtdO1xuICBwdWJsaWMgZ2V0IHByaXZhdGVTdWJuZXRzKCk6IElTdWJuZXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByaXZhdGVTdWJuZXRzO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTdWJuZXRzOiBEYXRhU3VibmV0W10gPSBbXTtcbiAgcHVibGljIGdldCBkYXRhU3VibmV0cygpOiBJU3VibmV0W10ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhU3VibmV0cztcbiAgfVxuXG4gIHByaXZhdGUgX2RiU3VibmV0R3JvdXA/OiBJU3VibmV0R3JvdXA7XG4gIHB1YmxpYyBnZXQgZGJTdWJuZXRHcm91cCgpOiBJU3VibmV0R3JvdXAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYlN1Ym5ldEdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBfZWxhc3RpQ2FjaGVTdWJuZXRHcm91cD86IElTdWJuZXRHcm91cDtcbiAgcHVibGljIGdldCBlbGFzdGlDYWNoZVN1Ym5ldEdyb3VwKCk6IElTdWJuZXRHcm91cCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsYXN0aUNhY2hlU3VibmV0R3JvdXA7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VEaXNjb3ZlcnlOYW1lc3BhY2U6IHNlcnZpY2VEaXNjb3ZlcnlQcml2YXRlRG5zTmFtZXNwYWNlLlNlcnZpY2VEaXNjb3ZlcnlQcml2YXRlRG5zTmFtZXNwYWNlO1xuICBwdWJsaWMgZ2V0IHNlcnZpY2VEaXNjb3ZlcnlOYW1lc3BhY2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlRGlzY292ZXJ5TmFtZXNwYWNlLmFybjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTaW1wbGVJUHY0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLl9wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuYXpDb3VudCA9IHRoaXMuX3Byb3BzLmF6Q291bnQgPz8gMjtcbiAgICBpZiAodGhpcy5hekNvdW50ID4gNCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYXpDb3VudCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byA0XCIpO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZXMgPSB0aGlzLnN0YWNrLmF2YWlsYWJpbGl0eVpvbmVzKHRoaXMuYXpDb3VudCk7XG4gICAgdGhpcy5pcHY0Q2lkckJsb2NrID0gdGhpcy5fcHJvcHMuaXB2NENpZHJCbG9jaztcbiAgICB0aGlzLnZwYyA9IG5ldyB2cGMuVnBjKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgY2lkckJsb2NrOiB0aGlzLmlwdjRDaWRyQmxvY2ssXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaWd3ID0gbmV3IGludGVybmV0R2F0ZXdheS5JbnRlcm5ldEdhdGV3YXkodGhpcywgXCJpZ3dcIiwge1xuICAgICAgdnBjSWQ6IHRoaXMudnBjLmlkLFxuICAgICAgdGFnczoge1xuICAgICAgICBOYW1lOiBgJHt0aGlzLmZyaWVuZGx5TmFtZX0taWd3YCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBhZG9wdCBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCBhZGQgdGFnc1xuICAgIG5ldyBkZWZhdWx0Um91dGVUYWJsZS5EZWZhdWx0Um91dGVUYWJsZSh0aGlzLCBcIkRlZmF1bHRSb3V0ZVRhYmxlXCIsIHtcbiAgICAgIGRlZmF1bHRSb3V0ZVRhYmxlSWQ6IHRoaXMudnBjLmRlZmF1bHRSb3V0ZVRhYmxlSWQsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIE5hbWU6IGAke3RoaXMuZnJpZW5kbHlOYW1lfS1kZWZhdWx0LXJvdXRlLXRhYmxlYCxcbiAgICAgIH0sXG4gICAgICByb3V0ZTogW1xuICAgICAgICB7XG4gICAgICAgICAgY2lkckJsb2NrOiBcIjAuMC4wLjAvMFwiLFxuICAgICAgICAgIGdhdGV3YXlJZDogaWd3LmlkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMubmF0R2F0ZXdheU9wdGlvbiA9XG4gICAgICB0aGlzLl9wcm9wcy5uYXRHYXRld2F5T3B0aW9uID8/XG4gICAgICBOYXRHYXRld2F5T3B0aW9uLk5BVF9QRVJfQVZBSUxBQklMSVRZX1pPTkU7XG5cbiAgICB0aGlzLmNyZWF0ZVB1YmxpY1N1Ym5ldHMoRm4uY2lkcnN1Ym5ldCh0aGlzLmlwdjRDaWRyQmxvY2ssIDIsIDApKTtcbiAgICB0aGlzLmNyZWF0ZVByaXZhdGVTdWJuZXRzKEZuLmNpZHJzdWJuZXQodGhpcy5pcHY0Q2lkckJsb2NrLCAyLCAxKSk7XG4gICAgdGhpcy5jcmVhdGVEYXRhU3VibmV0cyhGbi5jaWRyc3VibmV0KHRoaXMuaXB2NENpZHJCbG9jaywgMiwgMikpO1xuXG4gICAgdGhpcy5zZXJ2aWNlRGlzY292ZXJ5TmFtZXNwYWNlID1cbiAgICAgIG5ldyBzZXJ2aWNlRGlzY292ZXJ5UHJpdmF0ZURuc05hbWVzcGFjZS5TZXJ2aWNlRGlzY292ZXJ5UHJpdmF0ZURuc05hbWVzcGFjZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJTZXJ2aWNlRGlzY292ZXJ5TmFtZXNwYWNlXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiB0aGlzLl9wcm9wcy5pbnRlcm5hbERvbWFpbixcbiAgICAgICAgICB2cGM6IHRoaXMudnBjLmlkLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUHJpdmF0ZSBETlMgbmFtZXNwYWNlIGZvciAke3RoaXMuZnJpZW5kbHlOYW1lfWAsXG4gICAgICAgICAgdGFnczoge1xuICAgICAgICAgICAgTmFtZTogYCR7dGhpcy5mcmllbmRseU5hbWV9LXNlcnZpY2UtZGlzY292ZXJ5LW5hbWVzcGFjZWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICB0aGlzLl9vdXRwdXRzID0ge1xuICAgICAgdnBjSWQ6IHRoaXMudnBjLmlkLFxuICAgICAgcHVibGljU3VibmV0SWRzOiB0aGlzLnB1YmxpY1N1Ym5ldHMubWFwKChzdWJuZXQpID0+IHN1Ym5ldC5zdWJuZXRJZCksXG4gICAgICBwcml2YXRlU3VibmV0SWRzOiB0aGlzLnByaXZhdGVTdWJuZXRzLm1hcCgoc3VibmV0KSA9PiBzdWJuZXQuc3VibmV0SWQpLFxuICAgICAgZGF0YVN1Ym5ldElkczogdGhpcy5kYXRhU3VibmV0cy5tYXAoKHN1Ym5ldCkgPT4gc3VibmV0LnN1Ym5ldElkKSxcbiAgICAgIC8vIG9ubHkga25vd24gYXQgc3ludGggdGltZVxuICAgICAgLy8gZXhwbGljaXQgYG51bGxgIHJlcXVpcmVkIHRvIGF2b2lkIHN5bnRheCBlcnJvcnMgd2hlbiB1c2luZyBzdHJpbmdWYWx1ZSAmJiBcInVuZGVmaW5lZFwiXG4gICAgICBkYlN1Ym5ldEdyb3VwOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy5kYlN1Ym5ldEdyb3VwPy5ncmlkVVVJRCA/PyBudWxsLFxuICAgICAgfSksXG4gICAgICBlbGFzdGlDYWNoZVN1Ym5ldEdyb3VwOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy5lbGFzdGlDYWNoZVN1Ym5ldEdyb3VwPy5ncmlkVVVJRCA/PyBudWxsLFxuICAgICAgfSksXG4gICAgICBzZXJ2aWNlRGlzY292ZXJ5TmFtZXNwYWNlTmFtZTogdGhpcy5zZXJ2aWNlRGlzY292ZXJ5TmFtZXNwYWNlLm5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVEYlN1Ym5ldEdyb3VwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kYlN1Ym5ldEdyb3VwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2RiU3VibmV0R3JvdXAgPSBuZXcgRGJTdWJuZXRHcm91cCh0aGlzLCBcIkRiU3VibmV0R3JvdXBcIiwge1xuICAgICAgc3VibmV0czogdGhpcy5fZGF0YVN1Ym5ldHMsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIE5hbWU6IGAke3RoaXMuZnJpZW5kbHlOYW1lfS1kYi1kZWZhdWx0LXN1Ym5ldC1ncm91cGAsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZUVsYXN0aUNhY2hlU3VibmV0R3JvdXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VsYXN0aUNhY2hlU3VibmV0R3JvdXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZWxhc3RpQ2FjaGVTdWJuZXRHcm91cCA9IG5ldyBFbGFzdGlDYWNoZVN1Ym5ldEdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIFwiRWxhc3RpQ2FjaGVTdWJuZXRHcm91cFwiLFxuICAgICAge1xuICAgICAgICBzdWJuZXRzOiB0aGlzLl9kYXRhU3VibmV0cyxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIE5hbWU6IGAke3RoaXMuZnJpZW5kbHlOYW1lfS1lbGFzdGljYWNoZS1kZWZhdWx0LXN1Ym5ldC1ncm91cGAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVB1YmxpY1N1Ym5ldHMocHVibGljSXB2NENpZHJCbG9jazogc3RyaW5nKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmF6Q291bnQ7IGkrKykge1xuICAgICAgLy8gaWYgU2luZ2xlTmF0R2F0ZXdheSwgb25seSBjcmVhdGUgTkFUIEdhdGV3YXkgZm9yIGZpcnN0IHB1YmxpYyBzdWJuZXRcbiAgICAgIGNvbnN0IGNyZWF0ZU5hdEdhdGV3YXkgPVxuICAgICAgICB0aGlzLm5hdEdhdGV3YXlPcHRpb24gIT09IE5hdEdhdGV3YXlPcHRpb24uU0lOR0xFX05BVF9HQVRFV0FZIHx8XG4gICAgICAgIGkgPT09IDA7XG4gICAgICBjb25zdCBhdmFpbGFiaWxpdHlab25lID0gdGhpcy5hdmFpbGFiaWxpdHlab25lc1tpXTtcbiAgICAgIGNvbnN0IHB1YmxpY1N1Ym5ldCA9IG5ldyBQdWJsaWNTdWJuZXQodGhpcywgYFB1YmxpY1N1Ym5ldCR7aX1gLCB7XG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgIGlwdjRDaWRyQmxvY2s6IEZuLmNpZHJzdWJuZXQocHVibGljSXB2NENpZHJCbG9jaywgMiwgaSksXG4gICAgICAgIGRlZmF1bHRSb3V0ZVRhYmxlSWQ6IHRoaXMudnBjLmRlZmF1bHRSb3V0ZVRhYmxlSWQsXG4gICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICBOYW1lOiBgJHt0aGlzLmZyaWVuZGx5TmFtZX0tcHVibGljLXN1Ym5ldC0ke2F2YWlsYWJpbGl0eVpvbmV9YCxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlTmF0R2F0ZXdheSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY3JlYXRlTmF0R2F0ZXdheSkge1xuICAgICAgICBjb25zdCBndyA9IHB1YmxpY1N1Ym5ldC5uYXRnYXRld2F5ITtcbiAgICAgICAgLy8gY3JlYXRlIHJvdXRlIHRhYmxlIHBlciBOQVQgZ2F0ZXdheVxuICAgICAgICB0aGlzLnByaXZhdGVSb3V0ZVRhYmxlcy5wdXNoKFxuICAgICAgICAgIG5ldyByb3V0ZVRhYmxlLlJvdXRlVGFibGUodGhpcywgYFByaXZhdGVSb3V0ZVRhYmxlJHtpfWAsIHtcbiAgICAgICAgICAgIHZwY0lkOiB0aGlzLnZwYy5pZCxcbiAgICAgICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaWRyQmxvY2s6IFwiMC4wLjAuMC8wXCIsXG4gICAgICAgICAgICAgICAgbmF0R2F0ZXdheUlkOiBndy5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgICAgIE5hbWU6IGAke3RoaXMuZnJpZW5kbHlOYW1lfS1wcml2YXRlLXJvdXRlLXRhYmxlLSR7YXZhaWxhYmlsaXR5Wm9uZX1gLFxuICAgICAgICAgICAgICBcImF3cy1jZGs6c3VibmV0LW5hbWVcIjogXCJQdWJsaWNcIixcbiAgICAgICAgICAgICAgXCJhd3MtY2RrOnN1Ym5ldC10eXBlXCI6IFwiUHVibGljXCIsXG4gICAgICAgICAgICAgIFwia3ViZXJuZXRlcy5pby9yb2xlL2VsYlwiOiBcIjFcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubmF0R2F0ZXdheXMucHVzaChndyk7XG4gICAgICB9XG4gICAgICB0aGlzLl9wdWJsaWNTdWJuZXRzLnB1c2gocHVibGljU3VibmV0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVByaXZhdGVTdWJuZXRzKHByaXZhdGVJcHY0Q2lkckJsb2NrOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYXpDb3VudDsgaSsrKSB7XG4gICAgICBjb25zdCBhdmFpbGFiaWxpdHlab25lID0gdGhpcy5hdmFpbGFiaWxpdHlab25lc1tpXTtcbiAgICAgIGNvbnN0IHJ0YklkeCA9IHRoaXMucHJpdmF0ZVJvdXRlVGFibGVzLmxlbmd0aCA+PSB0aGlzLmF6Q291bnQgPyBpIDogMDtcbiAgICAgIGNvbnN0IHByaXZhdGVTdWJuZXQgPSBuZXcgUHJpdmF0ZVN1Ym5ldCh0aGlzLCBgUHJpdmF0ZVN1Ym5ldCR7aX1gLCB7XG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgIGlwdjRDaWRyQmxvY2s6IEZuLmNpZHJzdWJuZXQocHJpdmF0ZUlwdjRDaWRyQmxvY2ssIDIsIGkpLFxuICAgICAgICByb3V0ZVRhYmxlOiB0aGlzLnByaXZhdGVSb3V0ZVRhYmxlc1tydGJJZHhdLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgTmFtZTogYCR7dGhpcy5mcmllbmRseU5hbWV9LXByaXZhdGUtc3VibmV0LSR7YXZhaWxhYmlsaXR5Wm9uZX1gLFxuICAgICAgICAgIFwiYXdzLWNkazpzdWJuZXQtbmFtZVwiOiBcIlByaXZhdGVcIixcbiAgICAgICAgICBcImF3cy1jZGs6c3VibmV0LXR5cGVcIjogXCJQcml2YXRlXCIsXG4gICAgICAgICAgXCJrdWJlcm5ldGVzLmlvL3JvbGUvaW50ZXJuYWwtZWxiXCI6IFwiMVwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9wcml2YXRlU3VibmV0cy5wdXNoKHByaXZhdGVTdWJuZXQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGF0YVN1Ym5ldHMoZGF0YUlwdjRDaWRyQmxvY2s6IHN0cmluZykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5hekNvdW50OyBpKyspIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJpbGl0eVpvbmUgPSB0aGlzLmF2YWlsYWJpbGl0eVpvbmVzW2ldO1xuICAgICAgY29uc3QgcnRiSWR4ID0gdGhpcy5wcml2YXRlUm91dGVUYWJsZXMubGVuZ3RoID49IHRoaXMuYXpDb3VudCA/IGkgOiAwO1xuICAgICAgY29uc3QgZGF0YVN1Ym5ldCA9IG5ldyBEYXRhU3VibmV0KHRoaXMsIGBEYXRhU3VibmV0JHtpfWAsIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgaXB2NENpZHJCbG9jazogRm4uY2lkcnN1Ym5ldChkYXRhSXB2NENpZHJCbG9jaywgMiwgaSksXG4gICAgICAgIHJvdXRlVGFibGU6IHRoaXMucHJpdmF0ZVJvdXRlVGFibGVzW3J0YklkeF0sXG4gICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICBOYW1lOiBgJHt0aGlzLmZyaWVuZGx5TmFtZX0tZGF0YS1zdWJuZXQtJHthdmFpbGFiaWxpdHlab25lfWAsXG4gICAgICAgICAgXCJhd3MtY2RrOnN1Ym5ldC1uYW1lXCI6IFwiRGF0YVwiLFxuICAgICAgICAgIFwiYXdzLWNkazpzdWJuZXQtdHlwZVwiOiBcIklzb2xhdGVkXCIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX2RhdGFTdWJuZXRzLnB1c2goZGF0YVN1Ym5ldCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -36,7 +36,7 @@ class BaseSubnetGroup extends aws_construct_1.AwsConstructBase {
36
36
  }
37
37
  exports.BaseSubnetGroup = BaseSubnetGroup;
38
38
  _a = JSII_RTTI_SYMBOL_1;
39
- BaseSubnetGroup[_a] = { fqn: "terraconstructs.aws.network.BaseSubnetGroup", version: "0.2.2" };
39
+ BaseSubnetGroup[_a] = { fqn: "terraconstructs.aws.network.BaseSubnetGroup", version: "0.2.3" };
40
40
  class DbSubnetGroup extends BaseSubnetGroup {
41
41
  get arn() {
42
42
  return this.resource.arn;
@@ -52,7 +52,7 @@ class DbSubnetGroup extends BaseSubnetGroup {
52
52
  }
53
53
  exports.DbSubnetGroup = DbSubnetGroup;
54
54
  _b = JSII_RTTI_SYMBOL_1;
55
- DbSubnetGroup[_b] = { fqn: "terraconstructs.aws.network.DbSubnetGroup", version: "0.2.2" };
55
+ DbSubnetGroup[_b] = { fqn: "terraconstructs.aws.network.DbSubnetGroup", version: "0.2.3" };
56
56
  class ElastiCacheSubnetGroup extends BaseSubnetGroup {
57
57
  get arn() {
58
58
  return this.resource.arn;
@@ -68,5 +68,5 @@ class ElastiCacheSubnetGroup extends BaseSubnetGroup {
68
68
  }
69
69
  exports.ElastiCacheSubnetGroup = ElastiCacheSubnetGroup;
70
70
  _c = JSII_RTTI_SYMBOL_1;
71
- ElastiCacheSubnetGroup[_c] = { fqn: "terraconstructs.aws.network.ElastiCacheSubnetGroup", version: "0.2.2" };
71
+ ElastiCacheSubnetGroup[_c] = { fqn: "terraconstructs.aws.network.ElastiCacheSubnetGroup", version: "0.2.3" };
72
72
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9uZXR3b3JrL3N1Ym5ldC1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUk2QjtBQUU3QixvREFJMEI7QUFHMUIsSUFBWSxlQVNYO0FBVEQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsNEJBQVMsQ0FBQTtJQUNUOztPQUVHO0lBQ0gsOENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVRXLGVBQWUsK0JBQWYsZUFBZSxRQVMxQjtBQWFELE1BQXNCLGVBQ3BCLFNBQVEsZ0NBQWdCO0lBT3hCLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsSUFBcUIsRUFDckIsS0FBdUI7UUFFdkIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNoQyxDQUFDOztBQTlCSCwwQ0ErQkM7OztBQUVELE1BQWEsYUFBYyxTQUFRLGVBQWU7SUFFaEQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBQ0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2hFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDeEQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBWkgsc0NBYUM7OztBQUVELE1BQWEsc0JBQXVCLFNBQVEsZUFBZTtJQUV6RCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFDRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHFDQUFzQixDQUFDLHNCQUFzQixDQUMvRCxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUFoQkgsd0RBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZGJTdWJuZXRHcm91cCxcbiAgZWxhc3RpY2FjaGVTdWJuZXRHcm91cCxcbiAgLy8gZG9jZGJTdWJuZXRHcm91cCwgLy8gbm90IG5lZWRlZCwgcmRzIGFuZCBkb2NkYiBzaGFyZSBzdWJuZXQgZ3JvdXBzXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG4gIElBd3NDb25zdHJ1Y3QsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBJU3VibmV0IH0gZnJvbSBcIi4vc3VibmV0XCI7XG5cbmV4cG9ydCBlbnVtIFN1Ym5ldEdyb3VwVHlwZSB7XG4gIC8qKlxuICAgKiBSRFMgYW5kIERvY0RiIFN1Ym5ldEdyb3VwXG4gICAqL1xuICBEQiA9IFwiREJcIixcbiAgLyoqXG4gICAqIEVsYXN0aUNhY2hlIFN1Ym5ldEdyb3VwXG4gICAqL1xuICBFTEFTVElDQUNIRSA9IFwiRUxBU1RJQ0FDSEVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRHcm91cFByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICByZWFkb25seSBzdWJuZXRzOiBJU3VibmV0W107XG4gIHJlYWRvbmx5IHRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdWJuZXRHcm91cCBleHRlbmRzIElBd3NDb25zdHJ1Y3Qge1xuICByZWFkb25seSB0eXBlOiBTdWJuZXRHcm91cFR5cGU7XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBzdWJuZXRzOiBJU3VibmV0W107XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU3VibmV0R3JvdXBcbiAgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlXG4gIGltcGxlbWVudHMgSVN1Ym5ldEdyb3VwXG57XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBTdWJuZXRHcm91cFR5cGU7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJuZXRzOiBJU3VibmV0W107XG4gIHB1YmxpYyBnZXQgc3VibmV0cygpOiBJU3VibmV0W10ge1xuICAgIHJldHVybiB0aGlzLl9zdWJuZXRzO1xuICB9XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgYXJuKCk6IHN0cmluZztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBhcm46IHRoaXMuYXJuLFxuICAgICAgc3VibmV0czogdGhpcy5zdWJuZXRzLm1hcCgoc3VibmV0KSA9PiBzdWJuZXQub3V0cHV0cyksXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB0eXBlOiBTdWJuZXRHcm91cFR5cGUsXG4gICAgcHJvcHM6IFN1Ym5ldEdyb3VwUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50YWdzID0gcHJvcHMudGFncztcbiAgICB0aGlzLl9zdWJuZXRzID0gcHJvcHMuc3VibmV0cztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGJTdWJuZXRHcm91cCBleHRlbmRzIEJhc2VTdWJuZXRHcm91cCB7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogZGJTdWJuZXRHcm91cC5EYlN1Ym5ldEdyb3VwO1xuICBwdWJsaWMgZ2V0IGFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlLmFybjtcbiAgfVxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3VibmV0R3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgU3VibmV0R3JvdXBUeXBlLkRCLCBwcm9wcyk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBkYlN1Ym5ldEdyb3VwLkRiU3VibmV0R3JvdXAodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBuYW1lOiB0aGlzLmdyaWRVVUlELFxuICAgICAgc3VibmV0SWRzOiB0aGlzLnN1Ym5ldHMubWFwKChzdWJuZXQpID0+IHN1Ym5ldC5zdWJuZXRJZCksXG4gICAgICB0YWdzOiB0aGlzLnRhZ3MsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlU3VibmV0R3JvdXAgZXh0ZW5kcyBCYXNlU3VibmV0R3JvdXAge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IGVsYXN0aWNhY2hlU3VibmV0R3JvdXAuRWxhc3RpY2FjaGVTdWJuZXRHcm91cDtcbiAgcHVibGljIGdldCBhcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hcm47XG4gIH1cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN1Ym5ldEdyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFN1Ym5ldEdyb3VwVHlwZS5FTEFTVElDQUNIRSwgcHJvcHMpO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgZWxhc3RpY2FjaGVTdWJuZXRHcm91cC5FbGFzdGljYWNoZVN1Ym5ldEdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy5ncmlkVVVJRCxcbiAgICAgICAgc3VibmV0SWRzOiB0aGlzLnN1Ym5ldHMubWFwKChzdWJuZXQpID0+IHN1Ym5ldC5zdWJuZXRJZCksXG4gICAgICAgIHRhZ3M6IHRoaXMudGFncyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -49,7 +49,7 @@ class BaseSubnet extends aws_construct_1.AwsConstructBase {
49
49
  }
50
50
  exports.BaseSubnet = BaseSubnet;
51
51
  _a = JSII_RTTI_SYMBOL_1;
52
- BaseSubnet[_a] = { fqn: "terraconstructs.aws.network.BaseSubnet", version: "0.2.2" };
52
+ BaseSubnet[_a] = { fqn: "terraconstructs.aws.network.BaseSubnet", version: "0.2.3" };
53
53
  /**
54
54
  * @deprecated: use compute/subnets instead
55
55
  */
@@ -86,7 +86,7 @@ class PublicSubnet extends BaseSubnet {
86
86
  }
87
87
  exports.PublicSubnet = PublicSubnet;
88
88
  _b = JSII_RTTI_SYMBOL_1;
89
- PublicSubnet[_b] = { fqn: "terraconstructs.aws.network.PublicSubnet", version: "0.2.2" };
89
+ PublicSubnet[_b] = { fqn: "terraconstructs.aws.network.PublicSubnet", version: "0.2.3" };
90
90
  /**
91
91
  * @deprecated: use compute/subnets instead
92
92
  */
@@ -107,7 +107,7 @@ class PrivateSubnet extends BaseSubnet {
107
107
  }
108
108
  exports.PrivateSubnet = PrivateSubnet;
109
109
  _c = JSII_RTTI_SYMBOL_1;
110
- PrivateSubnet[_c] = { fqn: "terraconstructs.aws.network.PrivateSubnet", version: "0.2.2" };
110
+ PrivateSubnet[_c] = { fqn: "terraconstructs.aws.network.PrivateSubnet", version: "0.2.3" };
111
111
  /**
112
112
  * @deprecated: use compute/subnets instead
113
113
  */
@@ -128,5 +128,5 @@ class DataSubnet extends BaseSubnet {
128
128
  }
129
129
  exports.DataSubnet = DataSubnet;
130
130
  _d = JSII_RTTI_SYMBOL_1;
131
- DataSubnet[_d] = { fqn: "terraconstructs.aws.network.DataSubnet", version: "0.2.2" };
131
+ DataSubnet[_d] = { fqn: "terraconstructs.aws.network.DataSubnet", version: "0.2.3" };
132
132
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9uZXR3b3JrL3N1Ym5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQVE2QjtBQUU3QixvREFJMEI7QUFFMUIsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLGlDQUFtQixDQUFBO0lBQ25CLDJCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsVUFBVSwwQkFBVixVQUFVLFFBSXJCO0FBMENELE1BQXNCLFVBQVcsU0FBUSxnQ0FBZ0I7SUFHdkQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBR0QsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsSUFBZ0IsRUFDaEIsS0FBc0I7UUFFdEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlC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QUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQzVCLENBQUM7O0FBbkJILHNDQW9CQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxVQUFVO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRTtZQUNoQyxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxvQ0FBcUIsQ0FBQyxxQkFBcUIsQ0FDN0MsSUFBSSxFQUNKLHVCQUF1QixFQUN2QjtZQUNFLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDOztBQW5CSCxnQ0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB2cGMsXG4gIHN1Ym5ldCxcbiAgbmF0R2F0ZXdheSxcbiAgZWlwLFxuICBkYXRhQXdzRWlwLFxuICByb3V0ZVRhYmxlLFxuICByb3V0ZVRhYmxlQXNzb2NpYXRpb24sXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG4gIElBd3NDb25zdHJ1Y3QsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBlbnVtIFN1Ym5ldFR5cGUge1xuICBQVUJMSUMgPSBcIlBVQkxJQ1wiLFxuICBQUklWQVRFID0gXCJQUklWQVRFXCIsXG4gIERBVEEgPSBcIkRBVEFcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlU3VibmV0UHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIHRvIGNyZWF0ZSB0aGUgc3VibmV0IGludG9cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogdnBjLlZwYztcbiAgLyoqXG4gICAqIFRoZSBJUHY0IENJRFIgYmxvY2sgZm9yIHRoZSBzdWJuZXQuXG4gICAqL1xuICByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmlsaXR5IHpvbmUgZm9yIHRoZSBzdWJuZXQuXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHRhZ3MgZm9yIHRoZSBzdWJuZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYWRkaXRpb25hbCB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3VibmV0IGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIElEIG9mIHRoZSBzdWJuZXQuXG4gICAqL1xuICByZWFkb25seSB2cGNJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIElQdjQgQ0lEUiBibG9jayBmb3IgdGhlIHN1Ym5ldC5cbiAgICovXG4gIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHkgem9uZSBmb3IgdGhlIHN1Ym5ldC5cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzdWJuZXQgSUQgb2YgdGhlIHN1Ym5ldC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU3VibmV0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElTdWJuZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHR5cGU6IFN1Ym5ldFR5cGU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcbiAgcHVibGljIGdldCBhdmFpbGFiaWxpdHlab25lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJpbGl0eVpvbmU7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VibmV0SWQ6IHN0cmluZztcbiAgcHVibGljIGdldCBzdWJuZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdWJuZXRJZDtcbiAgfVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjOiB2cGMuVnBjO1xuICBwdWJsaWMgZ2V0IHZwY0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudnBjLmlkO1xuICB9XG4gIHByb3RlY3RlZCByZWFkb25seSBjaWRyOiBzdHJpbmc7XG4gIHB1YmxpYyBnZXQgaXB2NENpZHJCbG9jaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNpZHI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnN1Ym5ldElkLFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdGhpcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgaXB2NENpZHJCbG9jazogdGhpcy5pcHY0Q2lkckJsb2NrLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IHN1Ym5ldC5TdWJuZXQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB0eXBlOiBTdWJuZXRUeXBlLFxuICAgIHByb3BzOiBCYXNlU3VibmV0UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjO1xuICAgIHRoaXMuY2lkciA9IHByb3BzLmlwdjRDaWRyQmxvY2s7XG4gICAgdGhpcy5fYXZhaWxhYmlsaXR5Wm9uZSA9IHByb3BzLmF2YWlsYWJpbGl0eVpvbmU7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnJlc291cmNlID0gbmV3IHN1Ym5ldC5TdWJuZXQodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICB2cGNJZDogdGhpcy52cGMuaWQsXG4gICAgICBjaWRyQmxvY2s6IHRoaXMuY2lkcixcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHRoaXMuX2F2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBtYXBQdWJsaWNJcE9uTGF1bmNoOiB0aGlzLnR5cGUgPT09IFN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICB9KTtcbiAgICB0aGlzLl9zdWJuZXRJZCA9IHRoaXMucmVzb3VyY2UuaWQ7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNTdWJuZXRQcm9wcyBleHRlbmRzIEJhc2VTdWJuZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIE5BVCBnYXRld2F5IGluIHRoZSBzdWJuZXQuXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVOYXRHYXRld2F5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBFSVAgYWxsb2NhdGlvbiBJRCB0byB1c2UgZm9yIHRoZSBOQVQgZ2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIG5ldyBFSVAgaXMgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZWlwQWxsb2NhdGlvbklkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFJvdXRlIFRhYmxlIElEIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBzdWJuZXQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSBjb21wdXRlL3N1Ym5ldHMgaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgUHVibGljU3VibmV0IGV4dGVuZHMgQmFzZVN1Ym5ldCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmF0R2F0ZXdheT86IG5hdEdhdGV3YXkuTmF0R2F0ZXdheTtcbiAgcHJpdmF0ZSByZWFkb25seSBlaXA/OiBlaXAuRWlwIHwgZGF0YUF3c0VpcC5EYXRhQXdzRWlwO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaWNTdWJuZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgU3VibmV0VHlwZS5QVUJMSUMsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jcmVhdGVOYXRHYXRld2F5KSB7XG4gICAgICBpZiAocHJvcHMuZWlwQWxsb2NhdGlvbklkICYmIHByb3BzLmVpcEFsbG9jYXRpb25JZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuZWlwID0gbmV3IGRhdGFBd3NFaXAuRGF0YUF3c0VpcCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICAgICAgaWQ6IHByb3BzLmVpcEFsbG9jYXRpb25JZCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuYW1lID0gcHJvcHMudGFncz8uTmFtZSA/PyB0aGlzLmZyaWVuZGx5TmFtZTtcbiAgICAgICAgdGhpcy5laXAgPSBuZXcgZWlwLkVpcCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICAgICAgZG9tYWluOiBcInZwY1wiLFxuICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgIE5hbWU6IGAke25hbWV9LW5hdC1nYXRld2F5YCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5uYXRHYXRld2F5ID0gbmV3IG5hdEdhdGV3YXkuTmF0R2F0ZXdheSh0aGlzLCBcIk5hdEdhdGV3YXlcIiwge1xuICAgICAgICBhbGxvY2F0aW9uSWQ6IHRoaXMuZWlwLmlkLFxuICAgICAgICBzdWJuZXRJZDogdGhpcy5zdWJuZXRJZCxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIE5hbWU6IGAke3Byb3BzLnRhZ3M/Lk5hbWUgPz8gdGhpcy5mcmllbmRseU5hbWV9LW5hdC1nYXRld2F5YCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IG5hdGdhdGV3YXkoKTogbmF0R2F0ZXdheS5OYXRHYXRld2F5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5uYXRHYXRld2F5O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJpdmF0ZVN1Ym5ldFByb3BzIGV4dGVuZHMgQmFzZVN1Ym5ldFByb3BzIHtcbiAgcmVhZG9ubHkgcm91dGVUYWJsZTogcm91dGVUYWJsZS5Sb3V0ZVRhYmxlO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2UgY29tcHV0ZS9zdWJuZXRzIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIFByaXZhdGVTdWJuZXQgZXh0ZW5kcyBCYXNlU3VibmV0IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZVRhYmxlOiByb3V0ZVRhYmxlLlJvdXRlVGFibGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByaXZhdGVTdWJuZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgU3VibmV0VHlwZS5QUklWQVRFLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlVGFibGUgPSBwcm9wcy5yb3V0ZVRhYmxlO1xuICAgIG5ldyByb3V0ZVRhYmxlQXNzb2NpYXRpb24uUm91dGVUYWJsZUFzc29jaWF0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUm91dGVUYWJsZUFzc29jaWF0aW9uXCIsXG4gICAgICB7XG4gICAgICAgIHJvdXRlVGFibGVJZDogcHJvcHMucm91dGVUYWJsZS5pZCxcbiAgICAgICAgc3VibmV0SWQ6IHRoaXMuc3VibmV0SWQsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbiAgcHVibGljIGdldCByb3V0ZVRhYmxlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVRhYmxlLmlkO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSBjb21wdXRlL3N1Ym5ldHMgaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgRGF0YVN1Ym5ldCBleHRlbmRzIEJhc2VTdWJuZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlVGFibGU6IHJvdXRlVGFibGUuUm91dGVUYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJpdmF0ZVN1Ym5ldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBTdWJuZXRUeXBlLkRBVEEsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIHRoaXMucm91dGVUYWJsZSA9IHByb3BzLnJvdXRlVGFibGU7XG4gICAgbmV3IHJvdXRlVGFibGVBc3NvY2lhdGlvbi5Sb3V0ZVRhYmxlQXNzb2NpYXRpb24oXG4gICAgICB0aGlzLFxuICAgICAgXCJSb3V0ZVRhYmxlQXNzb2NpYXRpb25cIixcbiAgICAgIHtcbiAgICAgICAgcm91dGVUYWJsZUlkOiBwcm9wcy5yb3V0ZVRhYmxlLmlkLFxuICAgICAgICBzdWJuZXRJZDogdGhpcy5zdWJuZXRJZCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdXRlVGFibGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJvdXRlVGFibGUuaWQ7XG4gIH1cbn1cbiJdfQ==
@@ -59,5 +59,5 @@ class Archive extends aws_construct_1.AwsConstructBase {
59
59
  }
60
60
  exports.Archive = Archive;
61
61
  _a = JSII_RTTI_SYMBOL_1;
62
- Archive[_a] = { fqn: "terraconstructs.aws.notify.Archive", version: "0.2.2" };
62
+ Archive[_a] = { fqn: "terraconstructs.aws.notify.Archive", version: "0.2.3" };
63
63
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L2FyY2hpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4RkFBOEY7QUFFOUYsc0RBQTZEO0FBRTdELG9EQUF1RTtBQUd2RSxpQ0FBNEM7QUF3RDVDOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxnQ0FBZ0I7SUFFM0M7OztPQUdHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1CO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sSUFBSSxHQUNSLEtBQUssQ0FBQyxXQUFXO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFO2dCQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHO2dCQUMzQix3QkFBd0IsRUFBRSxLQUFLO2dCQUMvQixTQUFTLEVBQUUsRUFBRTthQUNkLENBQUMsQ0FBQztRQUVMLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLDJFQUEyRSxDQUM1RSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxxQ0FBc0IsQ0FBQyxzQkFBc0IsQ0FDL0QsSUFBSSxFQUNKLFVBQVUsRUFDVjtZQUNFLElBQUk7WUFDSixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXO1lBQ2hELFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixZQUFZLEVBQUUsSUFBQSx5QkFBa0IsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ3BELGFBQWEsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDaEUsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3ZCLENBQUM7SUFDSixDQUFDOztBQTdESCwwQkE4REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNTYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZXZlbnRzL2xpYi9hcmNoaXZlLnRzXG5cbmltcG9ydCB7IGNsb3Vkd2F0Y2hFdmVudEFyY2hpdmUgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElFdmVudEJ1cyB9IGZyb20gXCIuL2V2ZW50LWJ1c1wiO1xuaW1wb3J0IHsgRXZlbnRQYXR0ZXJuIH0gZnJvbSBcIi4vZXZlbnQtcGF0dGVyblwiO1xuaW1wb3J0IHsgcmVuZGVyRXZlbnRQYXR0ZXJuIH0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi5cIjtcblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIGNhbiBiZSBleHBvc2VkIHRocm91Z2ggdGhlIGdyaWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcmNoaXZlT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhcmNoaXZlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBhcmNoaXZlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyY2hpdmUgYmFzZSBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFyY2hpdmVQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhcmNoaXZlLlxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZXZlbnRicmlkZ2UvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlQXJjaGl2ZS5odG1sI2V2ZW50YnJpZGdlLUNyZWF0ZUFyY2hpdmUtcmVxdWVzdC1BcmNoaXZlTmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBhcmNoaXZlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gZm9yIHRoZSBhcmNoaXZlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQW4gZXZlbnQgcGF0dGVybiB0byB1c2UgdG8gZmlsdGVyIGV2ZW50cyBzZW50IHRvIHRoZSBhcmNoaXZlLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRQYXR0ZXJuOiBFdmVudFBhdHRlcm47XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRheXMgdG8gcmV0YWluIGV2ZW50cyBmb3IuIERlZmF1bHQgdmFsdWUgaXMgMC4gSWYgc2V0IHRvIDAsIGV2ZW50cyBhcmUgcmV0YWluZWQgaW5kZWZpbml0ZWx5LlxuICAgKiBAZGVmYXVsdCAtIEluZmluaXRlXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb24/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgZXZlbnQgYXJjaGl2ZSBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJjaGl2ZVByb3BzIGV4dGVuZHMgQmFzZUFyY2hpdmVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgc291cmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXJjaGl2ZS5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUV2ZW50QnVzOiBJRXZlbnRCdXM7XG59XG5cbi8qKlxuICogRGVmaW5lIGFuIEV2ZW50QnJpZGdlIEFyY2hpdmVcbiAqXG4gKiBAcmVzb3VyY2UgYXdzX2Nsb3Vkd2F0Y2hfZXZlbnRfYXJjaGl2ZVxuICovXG5leHBvcnQgY2xhc3MgQXJjaGl2ZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICBwdWJsaWMgcmVzb3VyY2U6IGNsb3Vkd2F0Y2hFdmVudEFyY2hpdmUuQ2xvdWR3YXRjaEV2ZW50QXJjaGl2ZTtcbiAgLyoqXG4gICAqIFRoZSBhcmNoaXZlIG5hbWUuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBnZXQgYXJjaGl2ZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhcmNoaXZlIGNyZWF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBnZXQgYXJjaGl2ZUFybigpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hcm47XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgYXJjaGl2ZU91dHB1dHM6IEFyY2hpdmVPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXJjaGl2ZU91dHB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXJjaGl2ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHByb3BzLmFyY2hpdmVOYW1lIHx8XG4gICAgICB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZVByZWZpeCh0aGlzLCB7XG4gICAgICAgIHByZWZpeDogdGhpcy5ncmlkVVVJRCArIFwiLVwiLFxuICAgICAgICBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6IFwiLi1fXCIsXG4gICAgICAgIG1heExlbmd0aDogNDgsXG4gICAgICB9KTtcblxuICAgIGlmIChuYW1lLmxlbmd0aCA8IDEgfHwgbmFtZS5sZW5ndGggPiA0OCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImFyY2hpdmVOYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0OCBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghbmFtZS5tYXRjaCgvXltcXC5cXC1fQS1aYS16MC05XSskLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJhcmNoaXZlTmFtZSBtdXN0IG9ubHkgY29udGFpbiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IC4gLSBfIEEtWiBhLXogMC05XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY2xvdWR3YXRjaEV2ZW50QXJjaGl2ZS5DbG91ZHdhdGNoRXZlbnRBcmNoaXZlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZXZlbnRTb3VyY2VBcm46IHByb3BzLnNvdXJjZUV2ZW50QnVzLmV2ZW50QnVzQXJuLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIGV2ZW50UGF0dGVybjogcmVuZGVyRXZlbnRQYXR0ZXJuKHByb3BzLmV2ZW50UGF0dGVybiksXG4gICAgICAgIHJldGVudGlvbkRheXM6IHByb3BzLnJldGVudGlvbj8udG9EYXlzKHsgaW50ZWdyYWw6IHRydWUgfSkgfHwgMCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuYXJjaGl2ZU91dHB1dHMgPSB7XG4gICAgICBhcm46IHRoaXMuYXJjaGl2ZUFybixcbiAgICAgIG5hbWU6IHRoaXMuYXJjaGl2ZU5hbWUsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -86,7 +86,7 @@ class Authorization {
86
86
  }
87
87
  exports.Authorization = Authorization;
88
88
  _a = JSII_RTTI_SYMBOL_1;
89
- Authorization[_a] = { fqn: "terraconstructs.aws.notify.Authorization", version: "0.2.2" };
89
+ Authorization[_a] = { fqn: "terraconstructs.aws.notify.Authorization", version: "0.2.3" };
90
90
  /**
91
91
  * An additional HTTP parameter to send along with the OAuth request
92
92
  */
@@ -124,7 +124,7 @@ class HttpParameter {
124
124
  }
125
125
  exports.HttpParameter = HttpParameter;
126
126
  _b = JSII_RTTI_SYMBOL_1;
127
- HttpParameter[_b] = { fqn: "terraconstructs.aws.notify.HttpParameter", version: "0.2.2" };
127
+ HttpParameter[_b] = { fqn: "terraconstructs.aws.notify.HttpParameter", version: "0.2.3" };
128
128
  /**
129
129
  * Define an EventBridge Connection
130
130
  *
@@ -198,7 +198,7 @@ class Connection extends aws_construct_1.AwsConstructBase {
198
198
  }
199
199
  exports.Connection = Connection;
200
200
  _c = JSII_RTTI_SYMBOL_1;
201
- Connection[_c] = { fqn: "terraconstructs.aws.notify.Connection", version: "0.2.2" };
201
+ Connection[_c] = { fqn: "terraconstructs.aws.notify.Connection", version: "0.2.3" };
202
202
  class ImportedConnection extends aws_construct_1.AwsConstructBase {
203
203
  get connectionOutputs() {
204
204
  return {
@@ -240,7 +240,7 @@ class EventBus extends EventBusBase {
240
240
  }
241
241
  exports.EventBus = EventBus;
242
242
  _a = JSII_RTTI_SYMBOL_1;
243
- EventBus[_a] = { fqn: "terraconstructs.aws.notify.EventBus", version: "0.2.2" };
243
+ EventBus[_a] = { fqn: "terraconstructs.aws.notify.EventBus", version: "0.2.3" };
244
244
  class ImportedEventBus extends EventBusBase {
245
245
  get outputs() {
246
246
  return this.eventBusOutputs;
@@ -303,7 +303,7 @@ class EventBusPolicy extends aws_construct_1.AwsConstructBase {
303
303
  }
304
304
  exports.EventBusPolicy = EventBusPolicy;
305
305
  _b = JSII_RTTI_SYMBOL_1;
306
- EventBusPolicy[_b] = { fqn: "terraconstructs.aws.notify.EventBusPolicy", version: "0.2.2" };
306
+ EventBusPolicy[_b] = { fqn: "terraconstructs.aws.notify.EventBusPolicy", version: "0.2.3" };
307
307
  /**
308
308
  * A single permission for an Event Bus
309
309
  *
@@ -333,5 +333,5 @@ class EventBridgePermission extends aws_construct_1.AwsConstructBase {
333
333
  }
334
334
  exports.EventBridgePermission = EventBridgePermission;
335
335
  _c = JSII_RTTI_SYMBOL_1;
336
- EventBridgePermission[_c] = { fqn: "terraconstructs.aws.notify.EventBridgePermission", version: "0.2.2" };
336
+ EventBridgePermission[_c] = { fqn: "terraconstructs.aws.notify.EventBridgePermission", version: "0.2.3" };
337
337
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvZXZlbnQtYnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0dBQWdHO0FBRWhHLHNEQUk2QjtBQUM3QixpQ0FBb0M7QUFFcEMseUNBQXdFO0FBQ3hFLGdDQUFtQztBQUNuQyxvREFBdUU7QUFDdkUsNENBQXdDO0FBQ3hDLHVDQUFzRDtBQUV0RCw4QkFBOEI7QUFtSjlCLE1BQWUsWUFBYSxTQUFRLGdDQUFnQjtJQWlCM0MsT0FBTyxDQUFDLEVBQVUsRUFBRSxLQUF1QjtRQUNoRCxPQUFPLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzNCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFdBQVcsRUFDVCxLQUFLLENBQUMsV0FBVyxJQUFJLHFCQUFxQixJQUFJLENBQUMsWUFBWSxZQUFZO1lBQ3pFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUF1QjtRQUM3QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUM3QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FLRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxZQUFZO0lBQ3hDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFdBQW1CO1FBRW5CLE1BQU0sS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFD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QUFVLEVBQUU7WUFDeEUsdUZBQXVGO1lBQ3ZGLEdBQUcsS0FBSztZQUNSLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFaSCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1ldmVudHMvbGliL2V2ZW50LWJ1cy50c1xuXG5pbXBvcnQge1xuICBjbG91ZHdhdGNoRXZlbnRCdXMsXG4gIGNsb3Vkd2F0Y2hFdmVudEJ1c1BvbGljeSxcbiAgY2xvdWR3YXRjaEV2ZW50UGVybWlzc2lvbixcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IExhenksIFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IsIFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvcnNcIjtcbmltcG9ydCB7IEFybkZvcm1hdCB9IGZyb20gXCIuLi9hcm5cIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgQXJjaGl2ZSwgQmFzZUFyY2hpdmVQcm9wcyB9IGZyb20gXCIuL2FyY2hpdmVcIjtcbmltcG9ydCAqIGFzIGVuY3J5cHRpb24gZnJvbSBcIi4uL2VuY3J5cHRpb25cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBJUXVldWUgfSBmcm9tIFwiLi9xdWV1ZS1iYXNlXCI7XG5cbi8qKlxuICogT3V0cHV0cyB0byByZWdpc3RlciB3aXRoIHRoZSBHcmlkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRCdXNPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIGV2ZW50IGJ1cyByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgZXZlbnQgYnVzIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhcnRuZXIgZXZlbnQgc291cmNlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgZXZlbnQgYnVzIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHdoaWNoIGFsbCBFdmVudEJ1cyBiYXNlZCBjbGFzc2VzIE1VU1QgaW1wbGVtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50QnVzIGV4dGVuZHMgaWFtLklBd3NDb25zdHJ1Y3RXaXRoUG9saWN5IHtcbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIGV2ZW50IGJ1cyByZXNvdXJjZVxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1ldmVudHMtZXZlbnRidXMuaHRtbCNjZm4tZXZlbnRzLWV2ZW50YnVzLW5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50QnVzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgZXZlbnQgYnVzIHJlc291cmNlXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI0Fybi1mbjo6Z2V0YXR0XG4gICAqL1xuICByZWFkb25seSBldmVudEJ1c0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFydG5lciBldmVudCBzb3VyY2UgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI2Nmbi1ldmVudHMtZXZlbnRidXMtZXZlbnRzb3VyY2VuYW1lXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBFdmVudEJyaWRnZSBhcmNoaXZlIHRvIHNlbmQgZXZlbnRzIHRvLlxuICAgKiBXaGVuIHlvdSBjcmVhdGUgYW4gYXJjaGl2ZSwgaW5jb21pbmcgZXZlbnRzIG1pZ2h0IG5vdCBpbW1lZGlhdGVseSBzdGFydCBiZWluZyBzZW50IHRvIHRoZSBhcmNoaXZlLlxuICAgKiBBbGxvdyBhIHNob3J0IHBlcmlvZCBvZiB0aW1lIGZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBvZiB0aGUgYXJjaGl2ZVxuICAgKi9cbiAgYXJjaGl2ZShpZDogc3RyaW5nLCBwcm9wczogQmFzZUFyY2hpdmVQcm9wcyk6IEFyY2hpdmU7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBhbiBJQU0gUHJpbmNpcGFsIHRvIHNlbmQgY3VzdG9tIGV2ZW50cyB0byB0aGUgZXZlbnRCdXNcbiAgICogc28gdGhhdCB0aGV5IGNhbiBiZSBtYXRjaGVkIHRvIHJ1bGVzLlxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIChuby1vcCBpZiB1bmRlZmluZWQpXG4gICAqL1xuICBncmFudFB1dEV2ZW50c1RvKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gZGVmaW5lIGFuIGV2ZW50IGJ1c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnVzUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgYnVzIHlvdSBhcmUgY3JlYXRpbmdcbiAgICogTm90ZTogSWYgJ2V2ZW50U291cmNlTmFtZScgaXMgcGFzc2VkIGluLCB5b3UgY2Fubm90IHNldCB0aGlzXG4gICAqXG4gICAqIE5PVEU6IHRoZSBuYW1lcyBvZiBjdXN0b20gZXZlbnQgYnVzZXMgY2FuJ3QgY29udGFpbiB0aGUgJy8nIGNoYXJhY3RlclxuICAgKlxuICAgKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZXZlbnRzLWV2ZW50YnVzLmh0bWwjY2ZuLWV2ZW50cy1ldmVudGJ1cy1uYW1lXG4gICAqIEBkZWZhdWx0IC0gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRCdXNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFydG5lciBldmVudCBzb3VyY2UgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICogTm90ZTogSWYgJ2V2ZW50QnVzTmFtZScgaXMgcGFzc2VkIGluLCB5b3UgY2Fubm90IHNldCB0aGlzXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1ldmVudHMtZXZlbnRidXMuaHRtbCNjZm4tZXZlbnRzLWV2ZW50YnVzLWV2ZW50c291cmNlbmFtZVxuICAgKiBAZGVmYXVsdCAtIG5vIHBhcnRuZXIgZXZlbnQgc291cmNlXG4gICAqL1xuICByZWFkb25seSBldmVudFNvdXJjZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlYWQtbGV0dGVyIHF1ZXVlIGZvciB0aGUgZXZlbnQgYnVzXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvZWItcnVsZS1ldmVudC1kZWxpdmVyeS5odG1sI2ViLXJ1bGUtZGxxXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVhZC1sZXR0ZXIgcXVldWVcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZT86IElRdWV1ZTtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IGJ1cyBkZXNjcmlwdGlvbi5cbiAgICpcbiAgICogVGhlIGRlc2NyaXB0aW9uIGNhbiBiZSB1cCB0byA1MTIgY2hhcmFjdGVycyBsb25nLlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI2Nmbi1ldmVudHMtZXZlbnRidXMtZGVzY3JpcHRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b21lciBtYW5hZ2VkIGtleSB0aGF0IGVuY3J5cHQgZXZlbnRzIG9uIHRoaXMgZXZlbnQgYnVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSBhbiBBV1MgbWFuYWdlZCBrZXlcbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGVuY3J5cHRpb24uSUtleTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2Ugd2l0aCBwcm9wZXJ0aWVzIG5lY2Vzc2FyeSB0byBpbXBvcnQgYSByZXVzYWJsZSBFdmVudEJ1c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnVzQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwgSUQgb2YgdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI2Nmbi1ldmVudHMtZXZlbnRidXMtbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRCdXNOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI0Fybi1mbjo6Z2V0YXR0XG4gICAqL1xuICByZWFkb25seSBldmVudEJ1c0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFydG5lciBldmVudCBzb3VyY2UgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWV2ZW50cy1ldmVudGJ1cy5odG1sI2Nmbi1ldmVudHMtZXZlbnRidXMtZXZlbnRzb3VyY2VuYW1lXG4gICAqIEBkZWZhdWx0IC0gbm8gcGFydG5lciBldmVudCBzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50U291cmNlTmFtZT86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgRXZlbnRCdXNCYXNlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElFdmVudEJ1cyB7XG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwgSUQgb2YgdGhpcyBldmVudCBidXMgcmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBldmVudEJ1c05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZXZlbnQgYnVzLCBzdWNoIGFzOlxuICAgKiBhcm46YXdzOmV2ZW50czp1cy1lYXN0LTI6MTIzNDU2Nzg5MDEyOmV2ZW50LWJ1cy9hd3MucGFydG5lci9QYXJ0bmVyTmFtZS9hY2N0MS9yZXBvMS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBldmVudEJ1c0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFydG5lciBldmVudCBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBldmVudFNvdXJjZU5hbWU/OiBzdHJpbmc7XG5cbiAgcHVibGljIGFyY2hpdmUoaWQ6IHN0cmluZywgcHJvcHM6IEJhc2VBcmNoaXZlUHJvcHMpOiBBcmNoaXZlIHtcbiAgICByZXR1cm4gbmV3IEFyY2hpdmUodGhpcywgaWQsIHtcbiAgICAgIHNvdXJjZUV2ZW50QnVzOiB0aGlzLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIHByb3BzLmRlc2NyaXB0aW9uIHx8IGBFdmVudCBBcmNoaXZlIGZvciAke3RoaXMuZXZlbnRCdXNOYW1lfSBFdmVudCBCdXNgLFxuICAgICAgZXZlbnRQYXR0ZXJuOiBwcm9wcy5ldmVudFBhdHRlcm4sXG4gICAgICByZXRlbnRpb246IHByb3BzLnJldGVudGlvbixcbiAgICAgIGFyY2hpdmVOYW1lOiBwcm9wcy5hcmNoaXZlTmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudFB1dEV2ZW50c1RvKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbXCJldmVudHM6UHV0RXZlbnRzXCJdLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5ldmVudEJ1c0Fybl0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0O1xufVxuXG4vKipcbiAqIERlZmluZSBhbiBFdmVudEJyaWRnZSBFdmVudEJ1c1xuICpcbiAqIEByZXNvdXJjZSBhd3NfY2xvdWR3YXRjaF9ldmVudF9idXNcbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50QnVzIGV4dGVuZHMgRXZlbnRCdXNCYXNlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBldmVudCBidXMgcmVzb3VyY2VcbiAgICogQHBhcmFtIHNjb3BlIFBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIENvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gZXZlbnRCdXNBcm4gQVJOIG9mIGltcG9ydGVkIGV2ZW50IGJ1c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRXZlbnRCdXNBcm4oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGV2ZW50QnVzQXJuOiBzdHJpbmcsXG4gICk6IElFdmVudEJ1cyB7XG4gICAgY29uc3QgcGFydHMgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSkuc3BsaXRBcm4oXG4gICAgICBldmVudEJ1c0FybixcbiAgICAgIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydGVkRXZlbnRCdXMoc2NvcGUsIGlkLCB7XG4gICAgICBldmVudEJ1c0FybjogZXZlbnRCdXNBcm4sXG4gICAgICBldmVudEJ1c05hbWU6IHBhcnRzLnJlc291cmNlTmFtZSB8fCBcIlwiLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBldmVudCBidXMgcmVzb3VyY2VcbiAgICogQHBhcmFtIHNjb3BlIFBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIENvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gZXZlbnRCdXNOYW1lIE5hbWUgb2YgaW1wb3J0ZWQgZXZlbnQgYnVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FdmVudEJ1c05hbWUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGV2ZW50QnVzTmFtZTogc3RyaW5nLFxuICApOiBJRXZlbnRCdXMge1xuICAgIGNvbnN0IGV2ZW50QnVzQXJuID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICByZXNvdXJjZTogXCJldmVudC1idXNcIixcbiAgICAgIHNlcnZpY2U6IFwiZXZlbnRzXCIsXG4gICAgICByZXNvdXJjZU5hbWU6IGV2ZW50QnVzTmFtZSxcbiAgICB9KTtcblxuICAgIHJldHVybiBFdmVudEJ1cy5mcm9tRXZlbnRCdXNBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgZXZlbnRCdXNOYW1lOiBldmVudEJ1c05hbWUsXG4gICAgICBldmVudEJ1c0FybjogZXZlbnRCdXNBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGV2ZW50IGJ1cyByZXNvdXJjZVxuICAgKiBAcGFyYW0gc2NvcGUgUGFyZW50IGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgQ29uc3RydWN0IElEXG4gICAqIEBwYXJhbSBhdHRycyBJbXBvcnRlZCBldmVudCBidXMgcHJvcGVydGllc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRXZlbnRCdXNBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogRXZlbnRCdXNBdHRyaWJ1dGVzLFxuICApOiBJRXZlbnRCdXMge1xuICAgIHJldHVybiBuZXcgSW1wb3J0ZWRFdmVudEJ1cyhzY29wZSwgaWQsIGF0dHJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBQcmluY2lwYWwgdG8gc2VuZCBjdXN0b20gZXZlbnRzIHRvIEV2ZW50QnJpZGdlXG4gICAqIHNvIHRoYXQgdGhleSBjYW4gYmUgbWF0Y2hlZCB0byBydWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCAobm8tb3AgaWYgdW5kZWZpbmVkKVxuICAgKiBAZGVwcmVjYXRlZCB1c2UgZ3JhbnRBbGxQdXRFdmVudHMgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBncmFudFB1dEV2ZW50cyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgLy8gSXQncyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIHRvIHJlc3RyaWN0IFB1dEV2ZW50cyB0byBzcGVjaWZpYyByZXNvdXJjZXMuXG4gICAgLy8gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL3Blcm1pc3Npb25zLXJlZmVyZW5jZS1ldmVudGJyaWRnZS5odG1sXG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogW1wiZXZlbnRzOlB1dEV2ZW50c1wiXSxcbiAgICAgIHJlc291cmNlQXJuczogW1wiKlwiXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBQcmluY2lwYWwgdG8gc2VuZCBjdXN0b20gZXZlbnRzIHRvIEV2ZW50QnJpZGdlXG4gICAqIHNvIHRoYXQgdGhleSBjYW4gYmUgbWF0Y2hlZCB0byBydWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCAobm8tb3AgaWYgdW5kZWZpbmVkKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBncmFudEFsbFB1dEV2ZW50cyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogW1wiZXZlbnRzOlB1dEV2ZW50c1wiXSxcbiAgICAgIHJlc291cmNlQXJuczogW1wiKlwiXSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV2ZW50QnVzUHJvcHMoXG4gICAgZGVmYXVsdEV2ZW50QnVzTmFtZTogc3RyaW5nLFxuICAgIHByb3BzOiBFdmVudEJ1c1Byb3BzID0ge30sXG4gICkge1xuICAgIGNvbnN0IHsgZXZlbnRCdXNOYW1lLCBldmVudFNvdXJjZU5hbWUgfSA9IHByb3BzO1xuICAgIGNvbnN0IGV2ZW50QnVzTmFtZVJlZ2V4ID0gL15bXFwvXFwuXFwtX0EtWmEtejAtOV17MSwyNTZ9JC87XG5cbiAgICBpZiAoZXZlbnRCdXNOYW1lICE9PSB1bmRlZmluZWQgJiYgZXZlbnRTb3VyY2VOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCInZXZlbnRCdXNOYW1lJyBhbmQgJ2V2ZW50U291cmNlTmFtZScgY2Fubm90IGJvdGggYmUgcHJvdmlkZWRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50QnVzTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChldmVudEJ1c05hbWUpKSB7XG4gICAgICAgIGlmIChldmVudEJ1c05hbWUgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgXCInZXZlbnRCdXNOYW1lJyBtdXN0IG5vdCBiZSAnZGVmYXVsdCdcIixcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50QnVzTmFtZS5pbmRleE9mKFwiL1wiKSA+IC0xKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgXCInZXZlbnRCdXNOYW1lJyBtdXN0IG5vdCBjb250YWluICcvJ1wiLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWV2ZW50QnVzTmFtZVJlZ2V4LnRlc3QoZXZlbnRCdXNOYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAgIGAnZXZlbnRCdXNOYW1lJyBtdXN0IHNhdGlzZnk6ICR7ZXZlbnRCdXNOYW1lUmVnZXh9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyBldmVudEJ1c05hbWUgfTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnRTb3VyY2VOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGV2ZW50U291cmNlTmFtZSkpIHtcbiAgICAgICAgLy8gRXg6IGF3cy5wYXJ0bmVyL1BhcnRuZXJOYW1lL2FjY3QxL3JlcG8xXG4gICAgICAgIGNvbnN0IGV2ZW50U291cmNlTmFtZVJlZ2V4ID0gL15hd3NcXC5wYXJ0bmVyKFxcL1tcXC5cXC1fQS1aYS16MC05XSspezIsfSQvO1xuICAgICAgICBpZiAoIWV2ZW50U291cmNlTmFtZVJlZ2V4LnRlc3QoZXZlbnRTb3VyY2VOYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAgIGAnZXZlbnRTb3VyY2VOYW1lJyBtdXN0IHNhdGlzZnk6ICR7ZXZlbnRTb3VyY2VOYW1lUmVnZXh9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKCFldmVudEJ1c05hbWVSZWdleC50ZXN0KGV2ZW50U291cmNlTmFtZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICBgJ2V2ZW50U291cmNlTmFtZScgbXVzdCBzYXRpc2Z5OiAke2V2ZW50QnVzTmFtZVJlZ2V4fWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgZXZlbnRCdXNOYW1lOiBldmVudFNvdXJjZU5hbWUsIGV2ZW50U291cmNlTmFtZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IGV2ZW50QnVzTmFtZTogZGVmYXVsdEV2ZW50QnVzTmFtZSB9O1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZHdhdGNoRXZlbnRCdXMuQ2xvdWR3YXRjaEV2ZW50QnVzO1xuXG4gIHB1YmxpYyByZWFkb25seSBldmVudEJ1c091dHB1dHM6IEV2ZW50QnVzT3V0cHV0cztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50QnVzT3V0cHV0cztcbiAgfVxuXG4gIHByaXZhdGUgcG9saWN5PzogRXZlbnRCdXNQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIGV2ZW50IGJ1cyByZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIGdldCBldmVudEJ1c05hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGV2ZW50IGJ1cywgc3VjaCBhczpcbiAgICogYXJuOmF3czpldmVudHM6dXMtZWFzdC0yOjEyMzQ1Njc4OTAxMjpldmVudC1idXMvYXdzLnBhcnRuZXIvUGFydG5lck5hbWUvYWNjdDEvcmVwbzEuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGV2ZW50QnVzQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuYXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJ0bmVyIGV2ZW50IHNvdXJjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTmFtZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IEV2ZW50QnVzUHJvcHMpIHtcbiAgICBjb25zdCB7IGV2ZW50QnVzTmFtZSwgZXZlbnRTb3VyY2VOYW1lIH0gPSBFdmVudEJ1cy5ldmVudEJ1c1Byb3BzKFxuICAgICAgLy8gVE9ETyh2aW5jZW50KTogRmlndXJlIG91dCBob3cgdGhpcyB3b3Jrcy4uLlxuICAgICAgTGF6eS5zdHJpbmdWYWx1ZSh7IHByb2R1Y2U6ICgpID0+IEF3c1N0YWNrLnVuaXF1ZUlkKHRoaXMpIH0pLFxuICAgICAgcHJvcHMsXG4gICAgKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKFxuICAgICAgcHJvcHM/LmRlc2NyaXB0aW9uICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSAmJlxuICAgICAgcHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RoID4gNTEyXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgZGVzY3JpcHRpb24gbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNTEyIGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmRlc2NyaXB0aW9uLmxlbmd0aH1gLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3Vkd2F0Y2hFdmVudEJ1cy5DbG91ZHdhdGNoRXZlbnRCdXMoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBuYW1lOiBldmVudEJ1c05hbWUsXG4gICAgICAgIGV2ZW50U291cmNlTmFtZSxcbiAgICAgICAga21zS2V5SWRlbnRpZmllcjogcHJvcHM/Lmttc0tleT8ua2V5QXJuLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHM/LmRlc2NyaXB0aW9uLFxuICAgICAgICBkZWFkTGV0dGVyQ29uZmlnOiBwcm9wcz8uZGVhZExldHRlclF1ZXVlXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGFybjogcHJvcHMuZGVhZExldHRlclF1ZXVlLnF1ZXVlQXJuLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQWxsb3cgRXZlbnRCcmlkZ2UgdG8gdXNlIGN1c3RvbWVyIG1hbmFnZWQga2V5XG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL2ViLWVuY3J5cHRpb24ta2V5LXBvbGljeS5odG1sI2ViLWVuY3J5cHRpb24ta2V5LXBvbGljeS1idXNcbiAgICAgKi9cbiAgICBpZiAocHJvcHM/Lmttc0tleSkge1xuICAgICAgcHJvcHM/Lmttc0tleS5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIGFjdGlvbnM6IFtcImttczpEZWNyeXB0XCIsIFwia21zOkdlbmVyYXRlRGF0YUtleVwiLCBcImttczpEZXNjcmliZUtleVwiXSxcbiAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZXZlbnRzLmFtYXpvbmF3cy5jb21cIildLFxuICAgICAgICAgIGNvbmRpdGlvbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0OiBcIlN0cmluZ0VxdWFsc1wiLFxuICAgICAgICAgICAgICB2YXJpYWJsZTogXCJhd3M6U291cmNlQWNjb3VudFwiLFxuICAgICAgICAgICAgICB2YWx1ZXM6IFt0aGlzLnN0YWNrLmFjY291bnRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdDogXCJTdHJpbmdFcXVhbHNcIixcbiAgICAgICAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNvdXJjZUFyblwiLFxuICAgICAgICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICAgICAgICBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgICAgICAgc2VydmljZTogXCJldmVudHNcIixcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlOiBcImV2ZW50LWJ1c1wiLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBldmVudEJ1c05hbWUsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0OiBcIlN0cmluZ0VxdWFsc1wiLFxuICAgICAgICAgICAgICB2YXJpYWJsZTogXCJrbXM6RW5jcnlwdGlvbkNvbnRleHQ6YXdzOmV2ZW50czpldmVudC1idXM6YXJuXCIsXG4gICAgICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAgICAgIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICAgICAgICBzZXJ2aWNlOiBcImV2ZW50c1wiLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2U6IFwiZXZlbnQtYnVzXCIsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IGV2ZW50QnVzTmFtZSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZXZlbnRTb3VyY2VOYW1lID0gdGhpcy5yZXNvdXJjZS5ldmVudFNvdXJjZU5hbWU7XG4gICAgdGhpcy5ldmVudEJ1c091dHB1dHMgPSB7XG4gICAgICBuYW1lOiB0aGlzLmV2ZW50QnVzTmFtZSxcbiAgICAgIGFybjogdGhpcy5ldmVudEJ1c0FybixcbiAgICAgIGV2ZW50U291cmNlTmFtZTogdGhpcy5ldmVudFNvdXJjZU5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSBJQU0gcmVzb3VyY2UgcG9saWN5IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV2ZW50IGJ1cy5cbiAgICovXG4gIHB1YmxpYyBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIGlmICghdGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5ID0gbmV3IEV2ZW50QnVzUG9saWN5KHRoaXMsIFwiUG9saWN5XCIsIHsgZXZlbnRCdXM6IHRoaXMgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucG9saWN5KSB7XG4gICAgICB0aGlzLnBvbGljeS5kb2N1bWVudC5hZGRTdGF0ZW1lbnRzKHN0YXRlbWVudCk7XG4gICAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogdHJ1ZSwgcG9saWN5RGVwZW5kYWJsZTogdGhpcy5wb2xpY3kgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogZmFsc2UgfTtcbiAgfVxufVxuXG5jbGFzcyBJbXBvcnRlZEV2ZW50QnVzIGV4dGVuZHMgRXZlbnRCdXNCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50QnVzQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBldmVudEJ1c05hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50U291cmNlTmFtZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50QnVzT3V0cHV0czogRXZlbnRCdXNPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRCdXNPdXRwdXRzO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IEV2ZW50QnVzQXR0cmlidXRlcykge1xuICAgIGNvbnN0IGFyblBhcnRzID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgYXR0cnMuZXZlbnRCdXNBcm4sXG4gICAgICBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICApO1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgYWNjb3VudDogYXJuUGFydHMuYWNjb3VudCxcbiAgICAgIHJlZ2lvbjogYXJuUGFydHMucmVnaW9uLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ldmVudEJ1c0FybiA9IGF0dHJzLmV2ZW50QnVzQXJuO1xuICAgIHRoaXMuZXZlbnRCdXNOYW1lID0gYXR0cnMuZXZlbnRCdXNOYW1lO1xuICAgIHRoaXMuZXZlbnRTb3VyY2VOYW1lID0gYXR0cnMuZXZlbnRTb3VyY2VOYW1lO1xuICAgIHRoaXMuZXZlbnRCdXNPdXRwdXRzID0ge1xuICAgICAgbmFtZTogdGhpcy5ldmVudEJ1c05hbWUsXG4gICAgICBhcm46IHRoaXMuZXZlbnRCdXNBcm4sXG4gICAgICBldmVudFNvdXJjZU5hbWU6IHRoaXMuZXZlbnRTb3VyY2VOYW1lLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBfc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50LFxuICApOiBpYW0uQWRkVG9SZXNvdXJjZVBvbGljeVJlc3VsdCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICBcIkNhbm5vdCBhZGQgYSBzdGF0ZW1lbnQgdG8gYW4gaW1wb3J0ZWQgRXZlbnRCdXMuIFlvdSBtYXkgdXNlIGBFdmVudEJyaWRnZVBlcm1pc3Npb25gIGluc3RlYWQuXCIsXG4gICAgICAgIFwiSWYgdGhlIEV2ZW50QnVzIGFscmVhZHkgaGFzIGEgcG9saWN5IGF0dGFjaGVkLCB0aGUgcGVybWlzc2lvbnMgd2lsbCBiZSBvdmVyd3JpdHRlbi5cIixcbiAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBhc3NvY2lhdGUgRXZlbnQgQnVzZXMgd2l0aCBhIHBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnVzUG9saWN5UHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgYnVzIHRvIHdoaWNoIHRoZSBwb2xpY3kgYXBwbGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRCdXM6IElFdmVudEJ1cztcbn1cblxuLyoqXG4gKiBUaGUgcG9saWN5IGZvciBhbiBFdmVudCBCdXNcbiAqXG4gKiBQb2xpY2llcyBkZWZpbmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgYWxsb3dlZCBvbiB0aGlzIHJlc291cmNlLlxuICpcbiAqIFlvdSBhbG1vc3QgbmV2ZXIgbmVlZCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QgZGlyZWN0bHkuXG4gKlxuICogVGhlIEV2ZW50QnVzUG9saWN5IHJlc291cmNlIChgYXdzX2Nsb3Vkd2F0Y2hfZXZlbnRfYnVzX3BvbGljeWApXG4gKiBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgRXZlbnRCcmlkZ2VQZXJtaXNzaW9uIHJlc291cmNlIChgYXdzX2Nsb3Vkd2F0Y2hfZXZlbnRfcGVybWlzc2lvbmApXG4gKiBhbmQgd2lsbCBvdmVyd3JpdGUgcGVybWlzc2lvbnMuXG4gKlxuICogQWxsIEFXUyByZXNvdXJjZXMgdGhhdCBzdXBwb3J0IHJlc291cmNlIHBvbGljaWVzIGhhdmUgYSBtZXRob2QgY2FsbGVkXG4gKiBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyByZXNvdXJjZVxuICogcG9saWN5IGlmIG9uZSBkb2Vzbid0IGV4aXN0IHlldCwgb3RoZXJ3aXNlIGl0IHdpbGwgYWRkIHRvIHRoZSBleGlzdGluZ1xuICogcG9saWN5LlxuICpcbiAqIFByZWZlciB0byB1c2UgYGFkZFRvUmVzb3VyY2VQb2xpY3koKWAgaW5zdGVhZC5cbiAqXG4gKiBAcmVzb3VyY2UgYXdzX2Nsb3Vkd2F0Y2hfZXZlbnRfYnVzX3BvbGljeVxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRCdXNQb2xpY3kgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBJQU0gcG9saWN5IGRvY3VtZW50IGZvciB0aGlzIHBvbGljeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudDogaWFtLlBvbGljeURvY3VtZW50O1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQub3V0cHV0cztcbiAgfVxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRXZlbnRCdXNQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuZG9jdW1lbnQgPSBuZXcgaWFtLlBvbGljeURvY3VtZW50KHRoaXMsIFwiRG9jdW1lbnRcIik7XG5cbiAgICBuZXcgY2xvdWR3YXRjaEV2ZW50QnVzUG9saWN5LkNsb3Vkd2F0Y2hFdmVudEJ1c1BvbGljeSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLXByb3ZpZGVyLWF3cy9wdWxsLzE2ODc0I2Rpc2N1c3Npb25fcjY1NjAyNDgzMFxuICAgICAgcG9saWN5OiB0aGlzLmRvY3VtZW50Lmpzb24sXG4gICAgICBldmVudEJ1c05hbWU6IHByb3BzLmV2ZW50QnVzLmV2ZW50QnVzTmFtZSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gYWRkIHBlcm1pc3Npb25zIHRvIGFuIEV2ZW50IEJ1c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnJpZGdlUGVybWlzc2lvblByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvLyBUT0RPOiBBdXRvIGdlbmVyYXRlIHRoaXMgdXNpbmcgc3RydWN0IGJ1aWxkZXIgdG8ga2VlcCBkb2NzIHVwZGF0ZWQ/XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgYnVzIHRvIHdoaWNoIHRoZSBwb2xpY3kgYXBwbGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRCdXM6IElFdmVudEJ1cztcbiAgLyoqXG4gICAqIEFuIGlkZW50aWZpZXIgc3RyaW5nIGZvciB0aGUgZXh0ZXJuYWwgYWNjb3VudCB0aGF0XG4gICAqIHlvdSBhcmUgZ3JhbnRpbmcgcGVybWlzc2lvbnMgdG8uXG4gICAqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL2Nsb3Vkd2F0Y2hfZXZlbnRfcGVybWlzc2lvbiNzdGF0ZW1lbnRfaWQgQ2xvdWR3YXRjaEV2ZW50UGVybWlzc2lvbiNzdGF0ZW1lbnRfaWR9XG4gICAqL1xuICByZWFkb25seSBzdGF0ZW1lbnRJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFjdGlvbiB0aGF0IHlvdSBhcmUgZW5hYmxpbmcgdGhlIG90aGVyIGFjY291bnQgdG8gcGVyZm9ybS4gRGVmYXVsdHMgdG8gZXZlbnRzOlB1dEV2ZW50c1xuICAgKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9jbG91ZHdhdGNoX2V2ZW50X3Blcm1pc3Npb24jYWN0aW9uIENsb3Vkd2F0Y2hFdmVudFBlcm1pc3Npb24jYWN0aW9ufVxuICAgKiBAZGVmYXVsdCBcImV2ZW50czpQdXRFdmVudHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvY2xvdWR3YXRjaF9ldmVudF9wZXJtaXNzaW9uI2V2ZW50X2J1c19uYW1lIENsb3Vkd2F0Y2hFdmVudFBlcm1pc3Npb24jZXZlbnRfYnVzX25hbWV9XG4gICAqL1xuICByZWFkb25seSBldmVudEJ1c05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9jbG91ZHdhdGNoX2V2ZW50X3Blcm1pc3Npb24jaWQgQ2xvdWR3YXRjaEV2ZW50UGVybWlzc2lvbiNpZH1cbiAgICpcbiAgICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgMTItZGlnaXQgQVdTIGFjY291bnQgSUQgdGhhdCB5b3UgYXJlIHBlcm1pdHRpbmcgdG8gcHV0IGV2ZW50cyB0byB5b3VyIGRlZmF1bHQgZXZlbnQgYnVzLlxuICAgKiBTcGVjaWZ5ICogdG8gcGVybWl0IGFueSBhY2NvdW50IHRvIHB1dCBldmVudHMgdG8geW91ciBkZWZhdWx0IGV2ZW50IGJ1cywgb3B0aW9uYWxseSBsaW1pdGVkXG4gICAqIGJ5IGNvbmRpdGlvbi5cbiAgICpcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvY2xvdWR3YXRjaF9ldmVudF9wZXJtaXNzaW9uI3ByaW5jaXBhbCBDbG91ZHdhdGNoRXZlbnRQZXJtaXNzaW9uI3ByaW5jaXBhbH1cbiAgICovXG4gIHJlYWRvbmx5IHByaW5jaXBhbDogc3RyaW5nO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBibG9jayB0byBsaW1pdCB0aGUgZXZlbnQgYnVzIHBlcm1pc3Npb25zIHlvdSBhcmUgZ3JhbnRpbmcgdG8gb25seSBhY2NvdW50cyB0aGF0XG4gICAqIGZ1bGZpbGwgdGhlIGNvbmRpdGlvbi5jb25kaXRpb24gYmxvY2tcbiAgICpcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvY2xvdWR3YXRjaF9ldmVudF9wZXJtaXNzaW9uI2NvbmRpdGlvbiBDbG91ZHdhdGNoRXZlbnRQZXJtaXNzaW9uI2NvbmRpdGlvbn1cbiAgICovXG4gIHJlYWRvbmx5IGNvbmRpdGlvbj86IGNsb3Vkd2F0Y2hFdmVudFBlcm1pc3Npb24uQ2xvdWR3YXRjaEV2ZW50UGVybWlzc2lvbkNvbmRpdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBwZXJtaXNzaW9uIGZvciBhbiBFdmVudCBCdXNcbiAqXG4gKiBBbGwgQVdTIHJlc291cmNlcyB0aGF0IHN1cHBvcnQgcmVzb3VyY2UgcG9saWNpZXMgaGF2ZSBhIG1ldGhvZCBjYWxsZWRcbiAqIGBhZGRUb1Jlc291cmNlUG9saWN5KClgLCB3aGljaCB3aWxsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgbmV3IHJlc291cmNlXG4gKiBwb2xpY3kgaWYgb25lIGRvZXNuJ3QgZXhpc3QgeWV0LCBvdGhlcndpc2UgaXQgd2lsbCBhZGQgdG8gdGhlIGV4aXN0aW5nXG4gKiBwb2xpY3kuXG4gKlxuICogSWYgYGFkZFRvUmVzb3VyY2VQb2xpY3koKWAgd2FzIHVzZWQgb24gdGhlIGV2ZW50IGJ1cywgVGhlIEV2ZW50QnVzUG9saWN5IHJlc291cmNlXG4gKiAoYGF3c19jbG91ZHdhdGNoX2V2ZW50X2J1c19wb2xpY3lgKSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGlzIHJlc291cmNlIGFuZFxuICogd2lsbCBvdmVyd3JpdGUgcGVybWlzc2lvbnMuXG4gKlxuICogQHJlc291cmNlIGF3c19jbG91ZHdhdGNoX2V2ZW50X3Blcm1pc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50QnJpZGdlUGVybWlzc2lvbiBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmVudEJyaWRnZVBlcm1pc3Npb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbmV3IGNsb3Vkd2F0Y2hFdmVudFBlcm1pc3Npb24uQ2xvdWR3YXRjaEV2ZW50UGVybWlzc2lvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLXByb3ZpZGVyLWF3cy9wdWxsLzE2ODc0I2Rpc2N1c3Npb25fcjY1NjAyNDgzMFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBldmVudEJ1c05hbWU6IHByb3BzLmV2ZW50QnVzLmV2ZW50QnVzTmFtZSxcbiAgICB9KTtcbiAgfVxufVxuIl19