terraconstructs 0.2.4 → 0.2.6

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 (412) hide show
  1. package/.jsii +3099 -2917
  2. package/CLAUDE.md +6 -6
  3. package/README.md +1 -1
  4. package/lib/asset-staging.js +3 -3
  5. package/lib/aws/arn.js +5 -5
  6. package/lib/aws/aws-asset-manager.js +9 -9
  7. package/lib/aws/aws-construct.js +1 -1
  8. package/lib/aws/aws-stack.d.ts +19 -4
  9. package/lib/aws/aws-stack.js +43 -18
  10. package/lib/aws/aws-tags.d.ts +1 -1
  11. package/lib/aws/aws-tags.js +5 -5
  12. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  13. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  14. package/lib/aws/cloudwatch/actions/lambda.js +2 -2
  15. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  16. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  17. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  18. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  19. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  20. package/lib/aws/cloudwatch/alarm.d.ts +1 -1
  21. package/lib/aws/cloudwatch/alarm.js +10 -10
  22. package/lib/aws/cloudwatch/composite-alarm.d.ts +1 -1
  23. package/lib/aws/cloudwatch/composite-alarm.js +7 -7
  24. package/lib/aws/cloudwatch/dashboard.d.ts +1 -1
  25. package/lib/aws/cloudwatch/dashboard.js +7 -7
  26. package/lib/aws/cloudwatch/data-protection-policy.d.ts +1 -1
  27. package/lib/aws/cloudwatch/data-protection-policy.js +5 -5
  28. package/lib/aws/cloudwatch/graph.js +8 -8
  29. package/lib/aws/cloudwatch/layout.js +3 -3
  30. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  31. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  32. package/lib/aws/cloudwatch/log-group.d.ts +1 -1
  33. package/lib/aws/cloudwatch/log-group.js +7 -7
  34. package/lib/aws/cloudwatch/log-query.js +1 -1
  35. package/lib/aws/cloudwatch/log-stream.d.ts +1 -1
  36. package/lib/aws/cloudwatch/log-stream.js +3 -3
  37. package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
  38. package/lib/aws/cloudwatch/metric-filter.js +3 -3
  39. package/lib/aws/cloudwatch/metric.js +6 -6
  40. package/lib/aws/cloudwatch/pattern.js +3 -3
  41. package/lib/aws/cloudwatch/policy.d.ts +1 -1
  42. package/lib/aws/cloudwatch/policy.js +3 -3
  43. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +1 -1
  44. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +1 -1
  45. package/lib/aws/cloudwatch/private/env-tokens.js +6 -6
  46. package/lib/aws/cloudwatch/query-definition.d.ts +1 -1
  47. package/lib/aws/cloudwatch/query-definition.js +4 -4
  48. package/lib/aws/cloudwatch/stats.js +1 -1
  49. package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
  50. package/lib/aws/cloudwatch/subscription-filter.js +6 -6
  51. package/lib/aws/cloudwatch/text.js +1 -1
  52. package/lib/aws/cloudwatch/variable.js +3 -3
  53. package/lib/aws/cloudwatch/widget.js +1 -1
  54. package/lib/aws/compute/access-log.d.ts +1 -1
  55. package/lib/aws/compute/access-log.js +5 -5
  56. package/lib/aws/compute/activity.d.ts +1 -1
  57. package/lib/aws/compute/activity.js +5 -5
  58. package/lib/aws/compute/alb/application-listener-action.d.ts +1 -1
  59. package/lib/aws/compute/alb/application-listener-action.js +5 -5
  60. package/lib/aws/compute/alb/application-listener-certificate.js +3 -3
  61. package/lib/aws/compute/alb/application-listener-rule.js +9 -9
  62. package/lib/aws/compute/alb/application-listener.js +5 -5
  63. package/lib/aws/compute/alb/application-load-balancer.js +8 -8
  64. package/lib/aws/compute/alb/application-target-group.js +7 -7
  65. package/lib/aws/compute/alb/conditions.js +3 -3
  66. package/lib/aws/compute/alb/trust-store-revocation.js +3 -3
  67. package/lib/aws/compute/alb/trust-store.js +7 -7
  68. package/lib/aws/compute/api-definition.js +9 -9
  69. package/lib/aws/compute/api-key.js +6 -6
  70. package/lib/aws/compute/architecture.js +1 -1
  71. package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +1 -1
  72. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +6 -6
  73. package/lib/aws/compute/authorizer.js +1 -1
  74. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  75. package/lib/aws/compute/authorizers/lambda.d.ts +1 -1
  76. package/lib/aws/compute/authorizers/lambda.js +6 -6
  77. package/lib/aws/compute/base-path-mapping.js +5 -5
  78. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  79. package/lib/aws/compute/bastion-host.js +4 -4
  80. package/lib/aws/compute/chain.js +1 -1
  81. package/lib/aws/compute/client-vpn-authorization-rule.js +3 -3
  82. package/lib/aws/compute/client-vpn-endpoint.d.ts +1 -1
  83. package/lib/aws/compute/client-vpn-endpoint.js +9 -9
  84. package/lib/aws/compute/client-vpn-route.d.ts +1 -1
  85. package/lib/aws/compute/client-vpn-route.js +4 -4
  86. package/lib/aws/compute/code.d.ts +3 -3
  87. package/lib/aws/compute/code.js +15 -15
  88. package/lib/aws/compute/condition.js +1 -1
  89. package/lib/aws/compute/connections.js +1 -1
  90. package/lib/aws/compute/cors.js +1 -1
  91. package/lib/aws/compute/deployment.js +5 -5
  92. package/lib/aws/compute/domain-name.js +5 -5
  93. package/lib/aws/compute/event-invoke-config.d.ts +1 -1
  94. package/lib/aws/compute/event-invoke-config.js +3 -3
  95. package/lib/aws/compute/event-source-filter.js +2 -2
  96. package/lib/aws/compute/event-source-mapping.js +7 -7
  97. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  98. package/lib/aws/compute/event-sources/s3.js +1 -1
  99. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  100. package/lib/aws/compute/event-sources/sqs.js +5 -5
  101. package/lib/aws/compute/fields.d.ts +1 -1
  102. package/lib/aws/compute/fields.js +12 -12
  103. package/lib/aws/compute/function-alias.d.ts +1 -1
  104. package/lib/aws/compute/function-alias.js +3 -3
  105. package/lib/aws/compute/function-base.d.ts +1 -1
  106. package/lib/aws/compute/function-base.js +10 -9
  107. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  108. package/lib/aws/compute/function-destinations/function.js +1 -1
  109. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  110. package/lib/aws/compute/function-nodejs/bundling.js +6 -6
  111. package/lib/aws/compute/function-nodejs/function.js +4 -4
  112. package/lib/aws/compute/function-url.d.ts +1 -1
  113. package/lib/aws/compute/function-url.js +3 -3
  114. package/lib/aws/compute/function-vpc-config.generated.d.ts +5 -5
  115. package/lib/aws/compute/function-vpc-config.generated.js +1 -1
  116. package/lib/aws/compute/function.d.ts +2 -2
  117. package/lib/aws/compute/function.js +9 -9
  118. package/lib/aws/compute/gateway-response.d.ts +1 -1
  119. package/lib/aws/compute/gateway-response.js +4 -4
  120. package/lib/aws/compute/handler.js +1 -1
  121. package/lib/aws/compute/instance-types.js +1 -1
  122. package/lib/aws/compute/instance.d.ts +1 -1
  123. package/lib/aws/compute/instance.js +9 -9
  124. package/lib/aws/compute/integration.js +4 -4
  125. package/lib/aws/compute/integrations/aws.js +3 -3
  126. package/lib/aws/compute/integrations/http.js +1 -1
  127. package/lib/aws/compute/integrations/lambda.js +5 -5
  128. package/lib/aws/compute/integrations/mock.js +1 -1
  129. package/lib/aws/compute/integrations/stepfunctions.js +4 -4
  130. package/lib/aws/compute/ip-addresses.d.ts +1 -1
  131. package/lib/aws/compute/ip-addresses.js +10 -10
  132. package/lib/aws/compute/ipam.d.ts +1 -1
  133. package/lib/aws/compute/ipam.js +5 -5
  134. package/lib/aws/compute/key-pair.d.ts +1 -1
  135. package/lib/aws/compute/key-pair.js +6 -6
  136. package/lib/aws/compute/lambda-api.js +1 -1
  137. package/lib/aws/compute/launch-template.d.ts +1 -1
  138. package/lib/aws/compute/launch-template.js +12 -12
  139. package/lib/aws/compute/lb-shared/base-listener.js +9 -9
  140. package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +2 -2
  141. package/lib/aws/compute/lb-shared/base-load-balancer.js +12 -12
  142. package/lib/aws/compute/lb-shared/base-target-group.d.ts +1 -1
  143. package/lib/aws/compute/lb-shared/base-target-group.js +15 -15
  144. package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +34 -34
  145. package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +1 -1
  146. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +11 -6
  147. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +1 -1
  148. package/lib/aws/compute/lb-shared/listener-action.d.ts +1 -1
  149. package/lib/aws/compute/lb-shared/listener-action.js +1 -1
  150. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  151. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  152. package/lib/aws/compute/lb-shared/util.js +5 -5
  153. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  154. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  155. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  156. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  157. package/lib/aws/compute/load-balancer.d.ts +1 -1
  158. package/lib/aws/compute/load-balancer.js +8 -8
  159. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  160. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  161. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  162. package/lib/aws/compute/machine-image/common.js +1 -1
  163. package/lib/aws/compute/machine-image/machine-image.js +10 -10
  164. package/lib/aws/compute/method.js +6 -6
  165. package/lib/aws/compute/model.js +5 -5
  166. package/lib/aws/compute/nat.js +10 -10
  167. package/lib/aws/compute/network-acl-types.js +2 -2
  168. package/lib/aws/compute/network-acl.d.ts +1 -1
  169. package/lib/aws/compute/network-acl.js +5 -5
  170. package/lib/aws/compute/nlb/network-listener-action.d.ts +1 -1
  171. package/lib/aws/compute/nlb/network-listener-action.js +2 -2
  172. package/lib/aws/compute/nlb/network-listener-certificate.js +2 -2
  173. package/lib/aws/compute/nlb/network-listener.js +5 -5
  174. package/lib/aws/compute/nlb/network-load-balancer.js +6 -6
  175. package/lib/aws/compute/nlb/network-target-group.js +4 -4
  176. package/lib/aws/compute/peer.js +7 -7
  177. package/lib/aws/compute/placement-group.d.ts +1 -1
  178. package/lib/aws/compute/placement-group.js +3 -3
  179. package/lib/aws/compute/port.js +5 -5
  180. package/lib/aws/compute/prefix-list.d.ts +1 -1
  181. package/lib/aws/compute/prefix-list.js +5 -5
  182. package/lib/aws/compute/private/context-stub.js +7 -7
  183. package/lib/aws/compute/private/ebs-util.d.ts +1 -1
  184. package/lib/aws/compute/private/ebs-util.js +3 -3
  185. package/lib/aws/compute/private/json-path.d.ts +1 -1
  186. package/lib/aws/compute/private/json-path.js +8 -8
  187. package/lib/aws/compute/requestvalidator.js +3 -3
  188. package/lib/aws/compute/resource.js +5 -5
  189. package/lib/aws/compute/restapi.d.ts +1 -1
  190. package/lib/aws/compute/restapi.js +11 -11
  191. package/lib/aws/compute/route.d.ts +1 -1
  192. package/lib/aws/compute/route.js +12 -12
  193. package/lib/aws/compute/runtime.js +3 -3
  194. package/lib/aws/compute/scalable-target.d.ts +1 -1
  195. package/lib/aws/compute/scalable-target.js +3 -3
  196. package/lib/aws/compute/schedule.js +4 -4
  197. package/lib/aws/compute/security-group.js +12 -12
  198. package/lib/aws/compute/stage.d.ts +1 -1
  199. package/lib/aws/compute/stage.js +6 -6
  200. package/lib/aws/compute/state-graph.js +1 -1
  201. package/lib/aws/compute/state-machine-fragment.js +1 -1
  202. package/lib/aws/compute/state-machine.d.ts +2 -2
  203. package/lib/aws/compute/state-machine.js +8 -8
  204. package/lib/aws/compute/states/choice.js +1 -1
  205. package/lib/aws/compute/states/custom-state.js +5 -5
  206. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  207. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  208. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  209. package/lib/aws/compute/states/distributed-map.js +4 -4
  210. package/lib/aws/compute/states/fail.js +4 -4
  211. package/lib/aws/compute/states/map-base.js +4 -4
  212. package/lib/aws/compute/states/map.js +1 -1
  213. package/lib/aws/compute/states/parallel.js +1 -1
  214. package/lib/aws/compute/states/pass.js +2 -2
  215. package/lib/aws/compute/states/state.js +4 -4
  216. package/lib/aws/compute/states/succeed.js +1 -1
  217. package/lib/aws/compute/states/task-base.js +2 -2
  218. package/lib/aws/compute/states/task.js +1 -1
  219. package/lib/aws/compute/states/wait.js +2 -2
  220. package/lib/aws/compute/step-scaling-action.js +5 -5
  221. package/lib/aws/compute/step-scaling-policy.js +7 -7
  222. package/lib/aws/compute/stepfunctions-api.js +2 -2
  223. package/lib/aws/compute/subnet-v2.d.ts +1 -1
  224. package/lib/aws/compute/subnet-v2.js +5 -5
  225. package/lib/aws/compute/subnet.js +4 -4
  226. package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
  227. package/lib/aws/compute/task-credentials.js +1 -1
  228. package/lib/aws/compute/task-input.js +1 -1
  229. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +5 -5
  230. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  231. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  232. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  233. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  234. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  235. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  236. package/lib/aws/compute/types.js +1 -1
  237. package/lib/aws/compute/usage-plan.js +5 -5
  238. package/lib/aws/compute/user-data.d.ts +2 -2
  239. package/lib/aws/compute/user-data.js +10 -10
  240. package/lib/aws/compute/volume.d.ts +1 -1
  241. package/lib/aws/compute/volume.js +7 -7
  242. package/lib/aws/compute/vpc-endpoint-service.js +3 -3
  243. package/lib/aws/compute/vpc-endpoint.d.ts +1 -1
  244. package/lib/aws/compute/vpc-endpoint.js +13 -13
  245. package/lib/aws/compute/vpc-flow-logs.d.ts +1 -1
  246. package/lib/aws/compute/vpc-flow-logs.js +8 -8
  247. package/lib/aws/compute/vpc-link.js +5 -5
  248. package/lib/aws/compute/vpc-v2-base.js +6 -6
  249. package/lib/aws/compute/vpc-v2.d.ts +2 -2
  250. package/lib/aws/compute/vpc-v2.js +4 -4
  251. package/lib/aws/compute/vpc.d.ts +1 -1
  252. package/lib/aws/compute/vpc.js +24 -22
  253. package/lib/aws/compute/vpn.js +8 -8
  254. package/lib/aws/context-provider.js +4 -4
  255. package/lib/aws/edge/certificate.d.ts +1 -1
  256. package/lib/aws/edge/certificate.js +6 -6
  257. package/lib/aws/edge/distribution.d.ts +1 -1
  258. package/lib/aws/edge/distribution.js +9 -9
  259. package/lib/aws/edge/dns-alias-record-targets.d.ts +1 -1
  260. package/lib/aws/edge/dns-alias-record-targets.js +7 -7
  261. package/lib/aws/edge/dns-record.d.ts +1 -1
  262. package/lib/aws/edge/dns-record.js +19 -19
  263. package/lib/aws/edge/dns-zone.d.ts +2 -2
  264. package/lib/aws/edge/dns-zone.js +5 -5
  265. package/lib/aws/edge/function.d.ts +1 -1
  266. package/lib/aws/edge/function.js +4 -4
  267. package/lib/aws/edge/key-value-store.d.ts +1 -1
  268. package/lib/aws/edge/key-value-store.js +6 -6
  269. package/lib/aws/edge/origin.d.ts +1 -1
  270. package/lib/aws/edge/origin.js +6 -6
  271. package/lib/aws/edge/response-headers-policy.d.ts +1 -1
  272. package/lib/aws/edge/response-headers-policy.js +6 -6
  273. package/lib/aws/encryption/alias.d.ts +1 -1
  274. package/lib/aws/encryption/alias.js +8 -8
  275. package/lib/aws/encryption/key.d.ts +1 -1
  276. package/lib/aws/encryption/key.js +6 -6
  277. package/lib/aws/encryption/via-service-principal.js +1 -1
  278. package/lib/aws/iam/grant.js +3 -3
  279. package/lib/aws/iam/group.js +5 -5
  280. package/lib/aws/iam/instance-profile.d.ts +1 -1
  281. package/lib/aws/iam/instance-profile.js +3 -3
  282. package/lib/aws/iam/managed-policy.d.ts +1 -1
  283. package/lib/aws/iam/managed-policy.js +3 -3
  284. package/lib/aws/iam/oidc-provider.d.ts +1 -1
  285. package/lib/aws/iam/oidc-provider.js +3 -3
  286. package/lib/aws/iam/policy-document-config.generated.d.ts +9 -9
  287. package/lib/aws/iam/policy-document-config.generated.js +1 -1
  288. package/lib/aws/iam/policy-document.d.ts +1 -1
  289. package/lib/aws/iam/policy-document.js +5 -5
  290. package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
  291. package/lib/aws/iam/policy-statement-props.generated.js +1 -1
  292. package/lib/aws/iam/policy-statement.d.ts +1 -1
  293. package/lib/aws/iam/policy-statement.js +8 -8
  294. package/lib/aws/iam/policy.js +3 -3
  295. package/lib/aws/iam/principals.js +25 -25
  296. package/lib/aws/iam/private/imported-role.js +3 -3
  297. package/lib/aws/iam/private/postprocess-policy-document.d.ts +1 -1
  298. package/lib/aws/iam/private/postprocess-policy-document.js +1 -1
  299. package/lib/aws/iam/private/util.d.ts +1 -1
  300. package/lib/aws/iam/private/util.js +5 -5
  301. package/lib/aws/iam/role.d.ts +1 -1
  302. package/lib/aws/iam/role.js +6 -6
  303. package/lib/aws/iam/saml-provider.d.ts +1 -1
  304. package/lib/aws/iam/saml-provider.js +6 -6
  305. package/lib/aws/iam/unknown-principal.js +4 -4
  306. package/lib/aws/iam/user.js +3 -3
  307. package/lib/aws/network/network.d.ts +1 -1
  308. package/lib/aws/network/network.js +1 -1
  309. package/lib/aws/network/simple-ipv4-vpc.js +12 -12
  310. package/lib/aws/network/subnet-group.d.ts +1 -1
  311. package/lib/aws/network/subnet-group.js +5 -5
  312. package/lib/aws/network/subnet.d.ts +1 -1
  313. package/lib/aws/network/subnet.js +6 -6
  314. package/lib/aws/notify/archive.d.ts +1 -1
  315. package/lib/aws/notify/archive.js +3 -3
  316. package/lib/aws/notify/connection.d.ts +1 -1
  317. package/lib/aws/notify/connection.js +5 -5
  318. package/lib/aws/notify/event-bus.d.ts +1 -1
  319. package/lib/aws/notify/event-bus.js +10 -10
  320. package/lib/aws/notify/event-pattern.d.ts +1 -1
  321. package/lib/aws/notify/event-pattern.js +5 -5
  322. package/lib/aws/notify/input.d.ts +1 -1
  323. package/lib/aws/notify/input.js +12 -12
  324. package/lib/aws/notify/kinesis-stream.d.ts +1 -1
  325. package/lib/aws/notify/kinesis-stream.js +7 -7
  326. package/lib/aws/notify/notification-rule.js +8 -8
  327. package/lib/aws/notify/policy.js +3 -3
  328. package/lib/aws/notify/queue-base.js +1 -1
  329. package/lib/aws/notify/queue-policy.js +3 -3
  330. package/lib/aws/notify/queue.d.ts +1 -1
  331. package/lib/aws/notify/queue.js +8 -8
  332. package/lib/aws/notify/resource-policy.js +3 -3
  333. package/lib/aws/notify/rule.d.ts +1 -1
  334. package/lib/aws/notify/rule.js +6 -6
  335. package/lib/aws/notify/schedule.js +4 -4
  336. package/lib/aws/notify/sns-grants.generated.js +1 -1
  337. package/lib/aws/notify/sqs-grants.generated.js +1 -1
  338. package/lib/aws/notify/subscription-filter.js +1 -1
  339. package/lib/aws/notify/subscription.js +6 -6
  340. package/lib/aws/notify/subscriptions/email.js +1 -1
  341. package/lib/aws/notify/subscriptions/lambda.js +4 -4
  342. package/lib/aws/notify/subscriptions/sms.js +1 -1
  343. package/lib/aws/notify/subscriptions/sqs.js +4 -4
  344. package/lib/aws/notify/subscriptions/url.js +4 -4
  345. package/lib/aws/notify/target.d.ts +1 -1
  346. package/lib/aws/notify/target.js +1 -1
  347. package/lib/aws/notify/targets/event-bus.js +1 -1
  348. package/lib/aws/notify/targets/function.js +1 -1
  349. package/lib/aws/notify/targets/log-group.js +2 -2
  350. package/lib/aws/notify/targets/sqs.js +1 -1
  351. package/lib/aws/notify/targets/state-machine.js +1 -1
  352. package/lib/aws/notify/targets/util.js +3 -3
  353. package/lib/aws/notify/topic-base.js +4 -4
  354. package/lib/aws/notify/topic.js +7 -7
  355. package/lib/aws/provider-config.generated.d.ts +42 -36
  356. package/lib/aws/provider-config.generated.js +1 -1
  357. package/lib/aws/region-lookup.js +4 -4
  358. package/lib/aws/storage/assets/image-asset.js +8 -8
  359. package/lib/aws/storage/assets/s3.js +1 -1
  360. package/lib/aws/storage/auth-token.js +2 -2
  361. package/lib/aws/storage/billing.js +1 -1
  362. package/lib/aws/storage/bucket-notifications.d.ts +1 -1
  363. package/lib/aws/storage/bucket-notifications.js +8 -8
  364. package/lib/aws/storage/bucket-policy.d.ts +1 -1
  365. package/lib/aws/storage/bucket-policy.js +3 -3
  366. package/lib/aws/storage/bucket-source.d.ts +1 -1
  367. package/lib/aws/storage/bucket-source.js +7 -7
  368. package/lib/aws/storage/bucket.d.ts +1 -1
  369. package/lib/aws/storage/bucket.js +8 -8
  370. package/lib/aws/storage/capacity.js +1 -1
  371. package/lib/aws/storage/cors-config.generated.d.ts +5 -5
  372. package/lib/aws/storage/cors-config.generated.js +1 -1
  373. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  374. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  375. package/lib/aws/storage/ecr-repository.js +11 -11
  376. package/lib/aws/storage/encryption.d.ts +1 -1
  377. package/lib/aws/storage/encryption.js +5 -5
  378. package/lib/aws/storage/lifecycle-config.generated.d.ts +9 -9
  379. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  380. package/lib/aws/storage/notification-targets/function.js +2 -2
  381. package/lib/aws/storage/notification-targets/queue.js +4 -4
  382. package/lib/aws/storage/origin-access-identity.d.ts +2 -2
  383. package/lib/aws/storage/origin-access-identity.js +3 -3
  384. package/lib/aws/storage/parameter-util.js +5 -5
  385. package/lib/aws/storage/parameter.d.ts +2 -2
  386. package/lib/aws/storage/parameter.js +16 -16
  387. package/lib/aws/storage/stream-grants.js +1 -1
  388. package/lib/aws/storage/table-grants.js +1 -1
  389. package/lib/aws/storage/table.d.ts +1 -1
  390. package/lib/aws/storage/table.js +10 -10
  391. package/lib/aws/storage/website-config.generated.d.ts +8 -8
  392. package/lib/aws/storage/website-config.generated.js +1 -1
  393. package/lib/bundling.js +5 -5
  394. package/lib/construct-base.d.ts +1 -1
  395. package/lib/construct-base.js +10 -10
  396. package/lib/duration.js +9 -9
  397. package/lib/errors.js +1 -1
  398. package/lib/expiration.js +1 -1
  399. package/lib/fs/ignore.js +4 -4
  400. package/lib/fs/index.js +1 -1
  401. package/lib/private/terraform-dependables-aspect.d.ts +1 -1
  402. package/lib/private/terraform-dependables-aspect.js +6 -6
  403. package/lib/private/unique-resource-name.js +3 -3
  404. package/lib/size.js +6 -6
  405. package/lib/stack-base.d.ts +2 -2
  406. package/lib/stack-base.js +16 -16
  407. package/lib/terra-func.d.ts +1 -1
  408. package/lib/terra-func.js +18 -18
  409. package/lib/time-zone.js +1 -1
  410. package/lib/token.js +5 -5
  411. package/package.json +17 -17
  412. package/setup.js +2 -2
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  // https://github.com/aws/aws-cdk/blob/v2.168.0/packages/aws-cdk-lib/aws-ecr-assets/lib/image-asset.ts
7
7
  const fs = require("fs");
8
8
  const path = require("path");
9
- const cdktf_1 = require("cdktf");
9
+ const cdktn_1 = require("cdktn");
10
10
  const constructs_1 = require("constructs");
11
11
  const ecr = require("..");
12
12
  const __1 = require("../../..");
@@ -41,7 +41,7 @@ class NetworkMode {
41
41
  }
42
42
  exports.NetworkMode = NetworkMode;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- NetworkMode[_a] = { fqn: "terraconstructs.aws.storage.assets.NetworkMode", version: "0.2.4" };
44
+ NetworkMode[_a] = { fqn: "terraconstructs.aws.storage.assets.NetworkMode", version: "0.2.6" };
45
45
  /**
46
46
  * The default networking mode if omitted, create a network stack on the default Docker bridge
47
47
  */
@@ -76,7 +76,7 @@ class Platform {
76
76
  }
77
77
  exports.Platform = Platform;
78
78
  _b = JSII_RTTI_SYMBOL_1;
79
- Platform[_b] = { fqn: "terraconstructs.aws.storage.assets.Platform", version: "0.2.4" };
79
+ Platform[_b] = { fqn: "terraconstructs.aws.storage.assets.Platform", version: "0.2.6" };
80
80
  /**
81
81
  * Build for linux/amd64
82
82
  */
@@ -133,7 +133,7 @@ class DockerImageAsset extends constructs_1.Construct {
133
133
  exclude.push("cdk.out");
134
134
  if (props.repositoryName) {
135
135
  // "@aws-cdk/aws-ecr-assets:repositoryNameDeprecated",
136
- cdktf_1.Annotations.of(this).addWarning('DockerImageAsset.repositoryName is deprecated. Override "core.Stack.addDockerImageAsset" to control asset locations');
136
+ cdktn_1.Annotations.of(this).addWarning('DockerImageAsset.repositoryName is deprecated. Override "core.Stack.addDockerImageAsset" to control asset locations');
137
137
  }
138
138
  // include build context in "extra" so it will impact the hash
139
139
  const extraHash = {};
@@ -217,10 +217,10 @@ class DockerImageAsset extends constructs_1.Construct {
217
217
  }
218
218
  exports.DockerImageAsset = DockerImageAsset;
219
219
  _c = JSII_RTTI_SYMBOL_1;
220
- DockerImageAsset[_c] = { fqn: "terraconstructs.aws.storage.assets.DockerImageAsset", version: "0.2.4" };
220
+ DockerImageAsset[_c] = { fqn: "terraconstructs.aws.storage.assets.DockerImageAsset", version: "0.2.6" };
221
221
  function validateProps(props) {
222
222
  for (const [key, value] of Object.entries(props)) {
223
- if (cdktf_1.Token.isUnresolved(value)) {
223
+ if (cdktn_1.Token.isUnresolved(value)) {
224
224
  throw new __1.UnscopedValidationError(`Cannot use Token as value of '${key}': this value is used before deployment starts`);
225
225
  }
226
226
  }
@@ -229,7 +229,7 @@ function validateProps(props) {
229
229
  }
230
230
  function validateBuildProps(buildPropName, buildProps) {
231
231
  for (const [key, value] of Object.entries(buildProps || {})) {
232
- if (cdktf_1.Token.isUnresolved(key) || cdktf_1.Token.isUnresolved(value)) {
232
+ if (cdktn_1.Token.isUnresolved(key) || cdktn_1.Token.isUnresolved(value)) {
233
233
  throw new __1.UnscopedValidationError(`Cannot use tokens in keys or values of "${buildPropName}" since they are needed before deployment`);
234
234
  }
235
235
  }
@@ -240,4 +240,4 @@ function validateBuildArgs(buildArgs) {
240
240
  function validateBuildSecrets(buildSecrets) {
241
241
  validateBuildProps("buildSecrets", buildSecrets);
242
242
  }
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYXNzZXRzL2ltYWdlLWFzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0dBQXNHO0FBRXRHLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsaUNBQTJDO0FBQzNDLDJDQUF1QztBQUN2QywwQkFBMEI7QUFDMUIsZ0NBT2tCO0FBQ2xCLCtDQUEyQztBQUUzQzs7R0FFRztBQUNILE1BQWEsV0FBVztJQWdCdEI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBbUI7UUFDN0MsT0FBTyxJQUFJLFdBQVcsQ0FBQyxhQUFhLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBb0MsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDOztBQXRDdEQsa0NBdUNDOzs7QUF0Q0M7O0dBRUc7QUFDb0IsbUJBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUU1RDs7R0FFRztBQUNvQixnQkFBSSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXREOztHQUVHO0FBQ29CLGdCQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUEyQnhEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBV25COzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFnQjtRQUNuQyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQW9DLFFBQWdCO1FBQWhCLGFBQVEs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LFlBQVksRUFBRSxTQUFTLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvRCxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyRSxTQUFTLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3RCxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6RCxTQUFTLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxjQUFjLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6RSxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxXQUFXLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuRSxTQUFTLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDNUMs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LENBQUMsU0FBcUM7SUFDOUQsa0JBQWtCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFlBQXdDO0lBQ3BFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTY4LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMvbGliL2ltYWdlLWFzc2V0LnRzXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZWNyIGZyb20gXCIuLlwiO1xuaW1wb3J0IHtcbiAgQXNzZXRTdGFnaW5nLFxuICBGaWxlRmluZ2VycHJpbnRPcHRpb25zLFxuICBJZ25vcmVNb2RlLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLFxuICBJQXNzZXQsXG59IGZyb20gXCIuLi8uLi8uLlwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vLi4vYXdzLXN0YWNrXCI7XG5cbi8qKlxuICogbmV0d29ya2luZyBtb2RlIG9uIGJ1aWxkIHRpbWUgc3VwcG9ydGVkIGJ5IGRvY2tlclxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya01vZGUge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgbmV0d29ya2luZyBtb2RlIGlmIG9taXR0ZWQsIGNyZWF0ZSBhIG5ldHdvcmsgc3RhY2sgb24gdGhlIGRlZmF1bHQgRG9ja2VyIGJyaWRnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUID0gbmV3IE5ldHdvcmtNb2RlKFwiZGVmYXVsdFwiKTtcblxuICAvKipcbiAgICogVXNlIHRoZSBEb2NrZXIgaG9zdCBuZXR3b3JrIHN0YWNrXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhPU1QgPSBuZXcgTmV0d29ya01vZGUoXCJob3N0XCIpO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBuZXR3b3JrIHN0YWNrLCBvbmx5IHRoZSBsb29wYmFjayBkZXZpY2Ugd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgTmV0d29ya01vZGUoXCJub25lXCIpO1xuXG4gIC8qKlxuICAgKiBSZXVzZSBhbm90aGVyIGNvbnRhaW5lcidzIG5ldHdvcmsgc3RhY2tcbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lcklkIFRoZSB0YXJnZXQgY29udGFpbmVyJ3MgaWQgb3IgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29udGFpbmVyKGNvbnRhaW5lcklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IE5ldHdvcmtNb2RlKGBjb250YWluZXI6JHtjb250YWluZXJJZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbmV0d29ya2luZyBtb2RlXG4gICAqIFVzZSB0aGlzIGlmIHRoZSBuZXR3b3JraW5nIG1vZGUgbmFtZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSB0aGUgQ0RLLlxuICAgKlxuICAgKiBAcGFyYW0gbW9kZSBUaGUgbmV0d29ya2luZyBtb2RlIHRvIHVzZSBmb3IgZG9ja2VyIGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShtb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IE5ldHdvcmtNb2RlKG1vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBtb2RlIFRoZSBuZXR3b3JraW5nIG1vZGUgdG8gdXNlIGZvciBkb2NrZXIgYnVpbGRcbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IHN0cmluZykge31cbn1cblxuLyoqXG4gKiBwbGF0Zm9ybSBzdXBwb3J0ZWQgYnkgZG9ja2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybSB7XG4gIC8qKlxuICAgKiBCdWlsZCBmb3IgbGludXgvYW1kNjRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElOVVhfQU1ENjQgPSBuZXcgUGxhdGZvcm0oXCJsaW51eC9hbWQ2NFwiKTtcblxuICAvKipcbiAgICogQnVpbGQgZm9yIGxpbnV4L2FybTY0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTlVYX0FSTTY0ID0gbmV3IFBsYXRmb3JtKFwibGludXgvYXJtNjRcIik7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBwbGF0Zm9ybVxuICAgKiBVc2UgdGhpcyBpZiB0aGUgcGxhdGZvcm0gbmFtZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSB0aGUgQ0RLLlxuICAgKlxuICAgKiBAcGFyYW0gcGxhdGZvcm0gVGhlIHBsYXRmb3JtIHRvIHVzZSBmb3IgZG9ja2VyIGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShwbGF0Zm9ybTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBQbGF0Zm9ybShwbGF0Zm9ybSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHBsYXRmb3JtIFRoZSBwbGF0Zm9ybSB0byB1c2UgZm9yIGRvY2tlciBidWlsZFxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGxhdGZvcm06IHN0cmluZykge31cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNvbnRyb2wgaW52YWxpZGF0aW9uIG9mIGBEb2NrZXJJbWFnZUFzc2V0YCBhc3NldCBoYXNoZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJJbWFnZUFzc2V0SW52YWxpZGF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBVc2UgYGV4dHJhSGFzaGAgd2hpbGUgY2FsY3VsYXRpbmcgdGhlIGFzc2V0IGhhc2hcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFIYXNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIGBidWlsZEFyZ3NgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgYnVpbGRTZWNyZXRzYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBidWlsZFNlY3JldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYGJ1aWxkU3NoYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBidWlsZFNzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgdGFyZ2V0YCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYGZpbGVgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYHJlcG9zaXRvcnlOYW1lYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgbmV0d29ya01vZGVgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIGBwbGF0Zm9ybWAgd2hpbGUgY2FsY3VsYXRpbmcgdGhlIGFzc2V0IGhhc2hcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYG91dHB1dHNgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBib29sZWFuO1xufVxuXG4vLyBUT0RPOiBEdXBsaWNhdGUgZnJvbSBjb3JlLkRvY2tlckNhY2hlT3B0aW9uP1xuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgRG9ja2VyIGNhY2hlIGJhY2tlbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDYWNoZU9wdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBjYWNoZSB0byB1c2UuXG4gICAqIFJlZmVyIHRvIGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2J1aWxkL2NhY2hlL2JhY2tlbmRzLyBmb3IgZnVsbCBsaXN0IG9mIGJhY2tlbmRzLlxuICAgKiBAZGVmYXVsdCAtIHVuc3BlY2lmaWVkXG4gICAqXG4gICAqIEBleGFtcGxlICdyZWdpc3RyeSdcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEFueSBwYXJhbWV0ZXJzIHRvIHBhc3MgaW50byB0aGUgZG9ja2VyIGNhY2hlIGJhY2tlbmQgY29uZmlndXJhdGlvbi5cbiAgICogUmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvIGZvciBjYWNoZSBiYWNrZW5kIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBkZWZhdWx0IHt9IE5vIG9wdGlvbnMgcHJvdmlkZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogZGVjbGFyZSBjb25zdCBicmFuY2g6IHN0cmluZztcbiAgICpcbiAgICogY29uc3QgcGFyYW1zID0ge1xuICAgKiAgIHJlZjogYDEyMzQ1Njc4LmRrci5lY3IudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20vY2FjaGU6JHticmFuY2h9YCxcbiAgICogICBtb2RlOiBcIm1heFwiLFxuICAgKiB9O1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBEb2NrZXJJbWFnZUFzc2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgZXh0ZW5kcyBGaWxlRmluZ2VycHJpbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVDUiByZXBvc2l0b3J5IG5hbWVcbiAgICpcbiAgICogU3BlY2lmeSB0aGlzIHByb3BlcnR5IGlmIHlvdSBuZWVkIHRvIHN0YXRpY2FsbHkgYWRkcmVzcyB0aGUgaW1hZ2UsIGUuZy5cbiAgICogZnJvbSBhIEt1YmVybmV0ZXMgUG9kLiBOb3RlLCB0aGlzIGlzIG9ubHkgdGhlIHJlcG9zaXRvcnkgbmFtZSwgd2l0aG91dCB0aGVcbiAgICogcmVnaXN0cnkgYW5kIHRoZSB0YWcgcGFydHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGRlZmF1bHQgRUNSIHJlcG9zaXRvcnkgZm9yIENESyBhc3NldHNcbiAgICogQGRlcHJlY2F0ZWQgdG8gY29udHJvbCB0aGUgbG9jYXRpb24gb2YgZG9ja2VyIGltYWdlIGFzc2V0cywgcGxlYXNlIG92ZXJyaWRlXG4gICAqIGBTdGFjay5hZGREb2NrZXJJbWFnZUFzc2V0YC4gdGhpcyBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmVcbiAgICogcmVsZWFzZXMuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGQgYXJncyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKlxuICAgKiBTaW5jZSBEb2NrZXIgYnVpbGQgYXJndW1lbnRzIGFyZSByZXNvbHZlZCBiZWZvcmUgZGVwbG95bWVudCwga2V5cyBhbmRcbiAgICogdmFsdWVzIGNhbm5vdCByZWZlciB0byB1bnJlc29sdmVkIHRva2VucyAoc3VjaCBhcyBgbGFtYmRhLmZ1bmN0aW9uQXJuYCBvclxuICAgKiBgcXVldWUucXVldWVVcmxgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBidWlsZCBhcmdzIGFyZSBwYXNzZWRcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHNlY3JldHMuXG4gICAqXG4gICAqIERvY2tlciBCdWlsZEtpdCBtdXN0IGJlIGVuYWJsZWQgdG8gdXNlIGJ1aWxkIHNlY3JldHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvYnVpbGRraXQvXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVpbGQgc2VjcmV0c1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpbXBvcnQgeyBEb2NrZXJCdWlsZFNlY3JldCB9IGZyb20gJ2F3cy1jZGstbGliJztcbiAgICpcbiAgICogY29uc3QgYnVpbGRTZWNyZXRzID0ge1xuICAgKiAgICdNWV9TRUNSRVQnOiBEb2NrZXJCdWlsZFNlY3JldC5mcm9tU3JjKCdmaWxlLnR4dCcpXG4gICAqIH07XG4gICAqL1xuICByZWFkb25seSBidWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTU0ggYWdlbnQgc29ja2V0IG9yIGtleXMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICpcbiAgICogRG9ja2VyIEJ1aWxkS2l0IG11c3QgYmUgZW5hYmxlZCB0byB1c2UgdGhlIHNzaCBmbGFnXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvYnVpbGRraXQvXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gLS1zc2ggZmxhZ1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRTc2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvY2tlciB0YXJnZXQgdG8gYnVpbGQgdG9cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgRG9ja2VyZmlsZSAocmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdEb2NrZXJmaWxlJ1xuICAgKi9cbiAgcmVhZG9ubHkgZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogTmV0d29ya2luZyBtb2RlIGZvciB0aGUgUlVOIGNvbW1hbmRzIGR1cmluZyBidWlsZC4gU3VwcG9ydCBkb2NrZXIgQVBJIDEuMjUrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5ldHdvcmtpbmcgbW9kZSBzcGVjaWZpZWQgKHRoZSBkZWZhdWx0IG5ldHdvcmtpbmcgbW9kZSBgTmV0d29ya01vZGUuREVGQVVMVGAgd2lsbCBiZSB1c2VkKVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya01vZGU/OiBOZXR3b3JrTW9kZTtcblxuICAvKipcbiAgICogUGxhdGZvcm0gdG8gYnVpbGQgZm9yLiBfUmVxdWlyZXMgRG9ja2VyIEJ1aWxkeF8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcGxhdGZvcm0gc3BlY2lmaWVkICh0aGUgY3VycmVudCBtYWNoaW5lIGFyY2hpdGVjdHVyZSB3aWxsIGJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIHRvIGNvbnRyb2wgd2hpY2ggcGFyYW1ldGVycyBhcmUgdXNlZCB0byBpbnZhbGlkYXRlIHRoZSBhc3NldCBoYXNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGhhc2ggYWxsIHBhcmFtZXRlcnNcbiAgICovXG4gIHJlYWRvbmx5IGludmFsaWRhdGlvbj86IERvY2tlckltYWdlQXNzZXRJbnZhbGlkYXRpb25PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBPdXRwdXRzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gb3V0cHV0cyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kIChkZWZhdWx0IG91dHB1dHMgYXJlIHVzZWQpXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9jb21tYW5kbGluZS9idWlsZC8jY3VzdG9tLWJ1aWxkLW91dHB1dHNcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY2tlciBpbWFnZSBhc3NldCBhbmQgaXRzIHBvdGVudGlhbCByZXZpc2lvbnMuXG4gICAqIFJlcXVpcmVkIGlmIHVzaW5nIEFwcFNjb3BlZFN0YWdpbmdTeW50aGVzaXplci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NldCBuYW1lXG4gICAqL1xuICByZWFkb25seSBhc3NldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhY2hlIGZyb20gb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNhY2hlIGZyb20gb3B0aW9ucyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvXG4gICAqL1xuICByZWFkb25seSBjYWNoZUZyb20/OiBEb2NrZXJDYWNoZU9wdGlvbltdO1xuXG4gIC8qKlxuICAgKiBDYWNoZSB0byBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY2FjaGUgdG8gb3B0aW9ucyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvXG4gICAqL1xuICByZWFkb25seSBjYWNoZVRvPzogRG9ja2VyQ2FjaGVPcHRpb247XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGNhY2hlIGFuZCBwYXNzIGAtLW5vLWNhY2hlYCB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBjYWNoZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjYWNoZURpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgRG9ja2VySW1hZ2VBc3NldHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJJbWFnZUFzc2V0UHJvcHMgZXh0ZW5kcyBEb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZFxuICAgKlxuICAgKiBBbnkgZGlyZWN0b3J5IGluc2lkZSB3aXRoIGEgbmFtZSB0aGF0IG1hdGNoZXMgdGhlIENESyBvdXRwdXQgZm9sZGVyIChjZGsub3V0IGJ5IGRlZmF1bHQpIHdpbGwgYmUgZXhjbHVkZWQgZnJvbSB0aGUgYXNzZXRcbiAgICovXG4gIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2V0IHRoYXQgcmVwcmVzZW50cyBhIERvY2tlciBpbWFnZS5cbiAqXG4gKiBUaGUgaW1hZ2Ugd2lsbCBiZSBjcmVhdGVkIGluIGJ1aWxkIHRpbWUgYW5kIHVwbG9hZGVkIHRvIGFuIEVDUiByZXBvc2l0b3J5LlxuICpcbiAqIFdBUk5JTkc6IGBEb2NrZXJBc3NldFswLTldKmAgYW5kIGBEb2NrZXJBc3NldF9JbWFnZVswLTldKmAgaWRlbnRpZmllcnMgYXJlXG4gKiB1c2VkIGludGVybmFsbHkgYnkgdGhlIFN0YWNrIEFzc2V0IE1hbmFnZXIgYW5kIHdpbGwgY2F1c2UgSWQgY29uZmxpY3RzLlxuICovXG5leHBvcnQgY2xhc3MgRG9ja2VySW1hZ2VBc3NldCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBc3NldCB7XG4gIC8qKlxuICAgKiBUaGUgZnVsbCBVUkkgb2YgdGhlIGltYWdlIChpbmNsdWRpbmcgYSB0YWcpLiBVc2UgdGhpcyByZWZlcmVuY2UgdG8gcHVsbFxuICAgKiB0aGUgYXNzZXQuXG4gICAqL1xuICBwdWJsaWMgaW1hZ2VVcmk6IHN0cmluZztcblxuICAvKipcbiAgICogUmVwb3NpdG9yeSB3aGVyZSB0aGUgaW1hZ2UgaXMgc3RvcmVkXG4gICAqL1xuICBwdWJsaWMgcmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBBIGhhc2ggb2YgdGhlIHNvdXJjZSBvZiB0aGlzIGFzc2V0LCB3aGljaCBpcyBhdmFpbGFibGUgYXQgY29uc3RydWN0aW9uIHRpbWUuIEFzIHRoaXMgaXMgYSBwbGFpblxuICAgKiBzdHJpbmcsIGl0IGNhbiBiZSB1c2VkIGluIGNvbnN0cnVjdCBJRHMgaW4gb3JkZXIgdG8gZW5mb3JjZSBjcmVhdGlvbiBvZiBhIG5ldyByZXNvdXJjZSB3aGVuXG4gICAqIHRoZSBjb250ZW50IGhhc2ggaGFzIGNoYW5nZWQuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBhc3NldEhhc2hcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VIYXNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgaGFzaCBvZiB0aGlzIGFzc2V0LCB3aGljaCBpcyBhdmFpbGFibGUgYXQgY29uc3RydWN0aW9uIHRpbWUuIEFzIHRoaXMgaXMgYSBwbGFpbiBzdHJpbmcsIGl0XG4gICAqIGNhbiBiZSB1c2VkIGluIGNvbnN0cnVjdCBJRHMgaW4gb3JkZXIgdG8gZW5mb3JjZSBjcmVhdGlvbiBvZiBhIG5ldyByZXNvdXJjZSB3aGVuIHRoZSBjb250ZW50XG4gICAqIGhhc2ggaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRIYXNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWcgb2YgdGhpcyBhc3NldCB3aGVuIGl0IGlzIHVwbG9hZGVkIHRvIEVDUi4gVGhlIHRhZyBtYXkgZGlmZmVyIGZyb20gdGhlIGFzc2V0SGFzaCBpZiBhIHN0YWNrIHN5bnRoZXNpemVyIGFkZHMgYSBkb2NrZXJUYWdQcmVmaXguXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VUYWc6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIGFzc2V0LCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBDbG91ZCBBc3NlbWJseVxuICAgKlxuICAgKiBJZiBhc3NldCBzdGFnaW5nIGlzIGRpc2FibGVkLCB0aGlzIHdpbGwganVzdCBiZSB0aGUgb3JpZ2luYWwgcGF0aC5cbiAgICpcbiAgICogSWYgYXNzZXQgc3RhZ2luZyBpcyBlbmFibGVkIGl0IHdpbGwgYmUgdGhlIHN0YWdlZCBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhc3NldFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIERvY2tlcmZpbGUsIHJlbGF0aXZlIHRvIHRoZSBhc3NldFBhdGhcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyZmlsZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFyZ3MgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQnVpbGRBcmdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQnVpbGQgc2VjcmV0cyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkb2NrZXJCdWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTU0ggYWdlbnQgc29ja2V0IG9yIGtleXMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQnVpbGRTc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdXRwdXRzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlck91dHB1dHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY2tlciBpbWFnZSBhc3NldCBhbmQgaXRzIHBvdGVudGlhbCByZXZpc2lvbnMuXG4gICAqIFJlcXVpcmVkIGlmIHVzaW5nIEFwcFNjb3BlZFN0YWdpbmdTeW50aGVzaXplci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NldCBuYW1lXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFzc2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2FjaGUgZnJvbSBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckNhY2hlRnJvbT86IERvY2tlckNhY2hlT3B0aW9uW107XG5cbiAgLyoqXG4gICAqIENhY2hlIHRvIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQ2FjaGVUbz86IERvY2tlckNhY2hlT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBjYWNoZSBhbmQgcGFzcyBgLS1uby1jYWNoZWAgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckNhY2hlRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgdGFyZ2V0IHRvIGJ1aWxkIHRvXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckJ1aWxkVGFyZ2V0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEb2NrZXJJbWFnZUFzc2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gbm9uZSBvZiB0aGUgcHJvcGVydGllcyB1c2UgdG9rZW5zXG4gICAgdmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICAvLyByZXNvbHZlIGZ1bGwgcGF0aFxuICAgIGNvbnN0IGRpciA9IHBhdGgucmVzb2x2ZShwcm9wcy5kaXJlY3RvcnkpO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhkaXIpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDYW5ub3QgZmluZCBpbWFnZSBkaXJlY3RvcnkgYXQgJHtkaXJ9YCwgdGhpcyk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgdGhlIGRvY2tlciBmaWxlIGV4aXN0c1xuICAgIHRoaXMuZG9ja2VyZmlsZVBhdGggPSBwcm9wcy5maWxlIHx8IFwiRG9ja2VyZmlsZVwiO1xuICAgIGNvbnN0IGZpbGUgPSBwYXRoLmpvaW4oZGlyLCB0aGlzLmRvY2tlcmZpbGVQYXRoKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYENhbm5vdCBmaW5kIGZpbGUgYXQgJHtmaWxlfWAsIHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBpZ25vcmVNb2RlID0gcHJvcHMuaWdub3JlTW9kZSA/PyBJZ25vcmVNb2RlLkRPQ0tFUjtcblxuICAgIGxldCBleGNsdWRlOiBzdHJpbmdbXSA9IHByb3BzLmV4Y2x1ZGUgfHwgW107XG5cbiAgICBjb25zdCBpZ25vcmUgPSBwYXRoLmpvaW4oZGlyLCBcIi5kb2NrZXJpZ25vcmVcIik7XG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyhpZ25vcmUpKSB7XG4gICAgICBjb25zdCBkb2NrZXJJZ25vcmVQYXR0ZXJucyA9IGZzXG4gICAgICAgIC5yZWFkRmlsZVN5bmMoaWdub3JlKVxuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gISFlKTtcblxuICAgICAgZXhjbHVkZSA9IFtcbiAgICAgICAgLi4uZG9ja2VySWdub3JlUGF0dGVybnMsXG4gICAgICAgIC4uLmV4Y2x1ZGUsXG5cbiAgICAgICAgLy8gRW5zdXJlIC5kb2NrZXJpZ25vcmUgaXMgaW5jbHVkZWQgbm8gbWF0dGVyIHdoYXQuXG4gICAgICAgIFwiIS5kb2NrZXJpZ25vcmVcIixcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoZSBEb2NrZXJmaWxlIGlzIGluY2x1ZGVkIG5vIG1hdHRlciB3aGF0LlxuICAgIGV4Y2x1ZGUucHVzaChcIiFcIiArIHBhdGguYmFzZW5hbWUoZmlsZSkpO1xuICAgIC8vIEVuc3VyZSB0aGUgY2RrLm91dCBmb2xkZXIgaXMgbm90IGluY2x1ZGVkIHRvIGF2b2lkIGluZmluaXRlIGxvb3BzLlxuICAgIC8vIGNvbnN0IGNka291dCA9IFN0YWdlLm9mKHRoaXMpPy5vdXRkaXIgPz8gXCJjZGsub3V0XCI7XG4gICAgLy8gZXhjbHVkZS5wdXNoKGNka291dCk7XG4gICAgZXhjbHVkZS5wdXNoKFwiY2RrLm91dFwiKTtcblxuICAgIGlmIChwcm9wcy5yZXBvc2l0b3J5TmFtZSkge1xuICAgICAgLy8gXCJAYXdzLWNkay9hd3MtZWNyLWFzc2V0czpyZXBvc2l0b3J5TmFtZURlcHJlY2F0ZWRcIixcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoXG4gICAgICAgICdEb2NrZXJJbWFnZUFzc2V0LnJlcG9zaXRvcnlOYW1lIGlzIGRlcHJlY2F0ZWQuIE92ZXJyaWRlIFwiY29yZS5TdGFjay5hZGREb2NrZXJJbWFnZUFzc2V0XCIgdG8gY29udHJvbCBhc3NldCBsb2NhdGlvbnMnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBpbmNsdWRlIGJ1aWxkIGNvbnRleHQgaW4gXCJleHRyYVwiIHNvIGl0IHdpbGwgaW1wYWN0IHRoZSBoYXNoXG4gICAgY29uc3QgZXh0cmFIYXNoOiB7IFtmaWVsZDogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICBpZiAocHJvcHMuaW52YWxpZGF0aW9uPy5leHRyYUhhc2ggIT09IGZhbHNlICYmIHByb3BzLmV4dHJhSGFzaCkge1xuICAgICAgZXh0cmFIYXNoLnVzZXIgPSBwcm9wcy5leHRyYUhhc2g7XG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnZhbGlkYXRpb24/LmJ1aWxkQXJncyAhPT0gZmFsc2UgJiYgcHJvcHMuYnVpbGRBcmdzKSB7XG4gICAgICBleHRyYUhhc2guYnVpbGRBcmdzID0gcHJvcHMuYnVpbGRBcmdzO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaW52YWxpZGF0aW9uPy5idWlsZFNlY3JldHMgIT09IGZhbHNlICYmIHByb3BzLmJ1aWxkU2VjcmV0cykge1xuICAgICAgZXh0cmFIYXNoLmJ1aWxkU2VjcmV0cyA9IHByb3BzLmJ1aWxkU2VjcmV0cztcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8uYnVpbGRTc2ggIT09IGZhbHNlICYmIHByb3BzLmJ1aWxkU3NoKSB7XG4gICAgICBleHRyYUhhc2guYnVpbGRTc2ggPSBwcm9wcy5idWlsZFNzaDtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8udGFyZ2V0ICE9PSBmYWxzZSAmJiBwcm9wcy50YXJnZXQpIHtcbiAgICAgIGV4dHJhSGFzaC50YXJnZXQgPSBwcm9wcy50YXJnZXQ7XG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnZhbGlkYXRpb24/LmZpbGUgIT09IGZhbHNlICYmIHByb3BzLmZpbGUpIHtcbiAgICAgIGV4dHJhSGFzaC5maWxlID0gcHJvcHMuZmlsZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ucmVwb3NpdG9yeU5hbWUgIT09IGZhbHNlICYmIHByb3BzLnJlcG9zaXRvcnlOYW1lKSB7XG4gICAgICBleHRyYUhhc2gucmVwb3NpdG9yeU5hbWUgPSBwcm9wcy5yZXBvc2l0b3J5TmFtZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ubmV0d29ya01vZGUgIT09IGZhbHNlICYmIHByb3BzLm5ldHdvcmtNb2RlKSB7XG4gICAgICBleHRyYUhhc2gubmV0d29ya01vZGUgPSBwcm9wcy5uZXR3b3JrTW9kZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ucGxhdGZvcm0gIT09IGZhbHNlICYmIHByb3BzLnBsYXRmb3JtKSB7XG4gICAgICBleHRyYUhhc2gucGxhdGZvcm0gPSBwcm9wcy5wbGF0Zm9ybTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ub3V0cHV0cyAhPT0gZmFsc2UgJiYgcHJvcHMub3V0cHV0cykge1xuICAgICAgZXh0cmFIYXNoLm91dHB1dHMgPSBwcm9wcy5vdXRwdXRzO1xuICAgIH1cblxuICAgIC8vIGFkZCBcInNhbHRcIiB0byB0aGUgaGFzaCBpbiBvcmRlciB0byBpbnZhbGlkYXRlIHRoZSBpbWFnZSBpbiB0aGUgdXBncmFkZSB0b1xuICAgIC8vIDEuMjEuMCB3aGljaCByZW1vdmVzIHRoZSBBZG9wdGVkUmVwb3NpdG9yeSByZXNvdXJjZSAoYW5kIHdpbGwgY2F1c2UgdGhlXG4gICAgLy8gZGVsZXRpb24gb2YgdGhlIEVDUiByZXBvc2l0b3J5IHRoZSBhcHAgdXNlZCkuXG4gICAgZXh0cmFIYXNoLnZlcnNpb24gPSBcIjEuMjEuMFwiO1xuXG4gICAgY29uc3Qgc3RhZ2luZyA9IG5ldyBBc3NldFN0YWdpbmcodGhpcywgXCJTdGFnaW5nXCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZm9sbG93OiBwcm9wcy5mb2xsb3dTeW1saW5rcyxcbiAgICAgIGV4Y2x1ZGUsXG4gICAgICBpZ25vcmVNb2RlLFxuICAgICAgc291cmNlUGF0aDogZGlyLFxuICAgICAgZXh0cmFIYXNoOlxuICAgICAgICBPYmplY3Qua2V5cyhleHRyYUhhc2gpLmxlbmd0aCA9PT0gMFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShleHRyYUhhc2gpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldEhhc2ggPSBzdGFnaW5nLmFzc2V0SGFzaDtcbiAgICB0aGlzLnNvdXJjZUhhc2ggPSB0aGlzLmFzc2V0SGFzaDtcblxuICAgIGNvbnN0IHN0YWNrID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcyk7XG4gICAgdGhpcy5hc3NldFBhdGggPSBzdGFnaW5nLnJlbGF0aXZlU3RhZ2VkUGF0aChzdGFjayk7XG4gICAgdGhpcy5hc3NldE5hbWUgPSBwcm9wcy5hc3NldE5hbWU7XG4gICAgdGhpcy5kb2NrZXJCdWlsZEFyZ3MgPSBwcm9wcy5idWlsZEFyZ3M7XG4gICAgdGhpcy5kb2NrZXJCdWlsZFNlY3JldHMgPSBwcm9wcy5idWlsZFNlY3JldHM7XG4gICAgdGhpcy5kb2NrZXJCdWlsZFNzaCA9IHByb3BzLmJ1aWxkU3NoO1xuICAgIHRoaXMuZG9ja2VyQnVpbGRUYXJnZXQgPSBwcm9wcy50YXJnZXQ7XG4gICAgdGhpcy5kb2NrZXJPdXRwdXRzID0gcHJvcHMub3V0cHV0cztcbiAgICB0aGlzLmRvY2tlckNhY2hlRnJvbSA9IHByb3BzLmNhY2hlRnJvbTtcbiAgICB0aGlzLmRvY2tlckNhY2hlVG8gPSBwcm9wcy5jYWNoZVRvO1xuICAgIHRoaXMuZG9ja2VyQ2FjaGVEaXNhYmxlZCA9IHByb3BzLmNhY2hlRGlzYWJsZWQ7XG5cbiAgICBjb25zdCBsb2NhdGlvbiA9IHN0YWNrLmFkZERvY2tlckltYWdlQXNzZXQoe1xuICAgICAgZGlyZWN0b3J5TmFtZTogdGhpcy5hc3NldFBhdGgsXG4gICAgICBhc3NldE5hbWU6IHRoaXMuYXNzZXROYW1lLFxuICAgICAgZG9ja2VyQnVpbGRBcmdzOiB0aGlzLmRvY2tlckJ1aWxkQXJncyxcbiAgICAgIGRvY2tlckJ1aWxkU2VjcmV0czogdGhpcy5kb2NrZXJCdWlsZFNlY3JldHMsXG4gICAgICBkb2NrZXJCdWlsZFNzaDogdGhpcy5kb2NrZXJCdWlsZFNzaCxcbiAgICAgIGRvY2tlckJ1aWxkVGFyZ2V0OiB0aGlzLmRvY2tlckJ1aWxkVGFyZ2V0LFxuICAgICAgZG9ja2VyRmlsZTogcHJvcHMuZmlsZSxcbiAgICAgIHNvdXJjZUhhc2g6IHN0YWdpbmcuYXNzZXRIYXNoLFxuICAgICAgbmV0d29ya01vZGU6IHByb3BzLm5ldHdvcmtNb2RlPy5tb2RlLFxuICAgICAgcGxhdGZvcm06IHByb3BzLnBsYXRmb3JtPy5wbGF0Zm9ybSxcbiAgICAgIGRvY2tlck91dHB1dHM6IHRoaXMuZG9ja2VyT3V0cHV0cyxcbiAgICAgIGRvY2tlckNhY2hlRnJvbTogdGhpcy5kb2NrZXJDYWNoZUZyb20sXG4gICAgICBkb2NrZXJDYWNoZVRvOiB0aGlzLmRvY2tlckNhY2hlVG8sXG4gICAgICBkb2NrZXJDYWNoZURpc2FibGVkOiB0aGlzLmRvY2tlckNhY2hlRGlzYWJsZWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlcG9zaXRvcnkgPSBlY3IuUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXBvc2l0b3J5XCIsXG4gICAgICBsb2NhdGlvbi5yZXBvc2l0b3J5TmFtZSxcbiAgICApO1xuICAgIHRoaXMuaW1hZ2VVcmkgPSBsb2NhdGlvbi5pbWFnZVVyaTtcbiAgICB0aGlzLmltYWdlVGFnID0gbG9jYXRpb24uaW1hZ2VUYWcgPz8gdGhpcy5hc3NldEhhc2g7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wcyhwcm9wczogRG9ja2VySW1hZ2VBc3NldFByb3BzKSB7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHByb3BzKSkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgdXNlIFRva2VuIGFzIHZhbHVlIG9mICcke2tleX0nOiB0aGlzIHZhbHVlIGlzIHVzZWQgYmVmb3JlIGRlcGxveW1lbnQgc3RhcnRzYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVCdWlsZEFyZ3MocHJvcHMuYnVpbGRBcmdzKTtcbiAgdmFsaWRhdGVCdWlsZFNlY3JldHMocHJvcHMuYnVpbGRTZWNyZXRzKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVCdWlsZFByb3BzKFxuICBidWlsZFByb3BOYW1lOiBzdHJpbmcsXG4gIGJ1aWxkUHJvcHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuKSB7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGJ1aWxkUHJvcHMgfHwge30pKSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChrZXkpIHx8IFRva2VuLmlzVW5yZXNvbHZlZCh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYENhbm5vdCB1c2UgdG9rZW5zIGluIGtleXMgb3IgdmFsdWVzIG9mIFwiJHtidWlsZFByb3BOYW1lfVwiIHNpbmNlIHRoZXkgYXJlIG5lZWRlZCBiZWZvcmUgZGVwbG95bWVudGAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUJ1aWxkQXJncyhidWlsZEFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIHZhbGlkYXRlQnVpbGRQcm9wcyhcImJ1aWxkQXJnc1wiLCBidWlsZEFyZ3MpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUJ1aWxkU2VjcmV0cyhidWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIHZhbGlkYXRlQnVpbGRQcm9wcyhcImJ1aWxkU2VjcmV0c1wiLCBidWlsZFNlY3JldHMpO1xufVxuIl19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYXNzZXRzL2ltYWdlLWFzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0dBQXNHO0FBRXRHLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsaUNBQTJDO0FBQzNDLDJDQUF1QztBQUN2QywwQkFBMEI7QUFDMUIsZ0NBT2tCO0FBQ2xCLCtDQUEyQztBQUUzQzs7R0FFRztBQUNILE1BQWEsV0FBVztJQWdCdEI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBbUI7UUFDN0MsT0FBTyxJQUFJLFdBQVcsQ0FBQyxhQUFhLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBb0MsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDOztBQXRDdEQsa0NBdUNDOzs7QUF0Q0M7O0dBRUc7QUFDb0IsbUJBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUU1RDs7R0FFRztBQUNvQixnQkFBSSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXREOztHQUVHO0FBQ29CLGdCQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUEyQnhEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBV25COzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFnQjtRQUNuQyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQW9DLFFBQWdCO1FBQWhCLGFBQVEs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LFlBQVksRUFBRSxTQUFTLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvRCxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyRSxTQUFTLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3RCxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6RCxTQUFTLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxjQUFjLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6RSxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxXQUFXLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuRSxTQUFTLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDNUMs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LENBQUMsU0FBcUM7SUFDOUQsa0JBQWtCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFlBQXdDO0lBQ3BFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTY4LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMvbGliL2ltYWdlLWFzc2V0LnRzXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIFRva2VuIH0gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZWNyIGZyb20gXCIuLlwiO1xuaW1wb3J0IHtcbiAgQXNzZXRTdGFnaW5nLFxuICBGaWxlRmluZ2VycHJpbnRPcHRpb25zLFxuICBJZ25vcmVNb2RlLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLFxuICBJQXNzZXQsXG59IGZyb20gXCIuLi8uLi8uLlwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vLi4vYXdzLXN0YWNrXCI7XG5cbi8qKlxuICogbmV0d29ya2luZyBtb2RlIG9uIGJ1aWxkIHRpbWUgc3VwcG9ydGVkIGJ5IGRvY2tlclxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya01vZGUge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgbmV0d29ya2luZyBtb2RlIGlmIG9taXR0ZWQsIGNyZWF0ZSBhIG5ldHdvcmsgc3RhY2sgb24gdGhlIGRlZmF1bHQgRG9ja2VyIGJyaWRnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUID0gbmV3IE5ldHdvcmtNb2RlKFwiZGVmYXVsdFwiKTtcblxuICAvKipcbiAgICogVXNlIHRoZSBEb2NrZXIgaG9zdCBuZXR3b3JrIHN0YWNrXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhPU1QgPSBuZXcgTmV0d29ya01vZGUoXCJob3N0XCIpO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBuZXR3b3JrIHN0YWNrLCBvbmx5IHRoZSBsb29wYmFjayBkZXZpY2Ugd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgTmV0d29ya01vZGUoXCJub25lXCIpO1xuXG4gIC8qKlxuICAgKiBSZXVzZSBhbm90aGVyIGNvbnRhaW5lcidzIG5ldHdvcmsgc3RhY2tcbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lcklkIFRoZSB0YXJnZXQgY29udGFpbmVyJ3MgaWQgb3IgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29udGFpbmVyKGNvbnRhaW5lcklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IE5ldHdvcmtNb2RlKGBjb250YWluZXI6JHtjb250YWluZXJJZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbmV0d29ya2luZyBtb2RlXG4gICAqIFVzZSB0aGlzIGlmIHRoZSBuZXR3b3JraW5nIG1vZGUgbmFtZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSB0aGUgQ0RLLlxuICAgKlxuICAgKiBAcGFyYW0gbW9kZSBUaGUgbmV0d29ya2luZyBtb2RlIHRvIHVzZSBmb3IgZG9ja2VyIGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShtb2RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IE5ldHdvcmtNb2RlKG1vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBtb2RlIFRoZSBuZXR3b3JraW5nIG1vZGUgdG8gdXNlIGZvciBkb2NrZXIgYnVpbGRcbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IHN0cmluZykge31cbn1cblxuLyoqXG4gKiBwbGF0Zm9ybSBzdXBwb3J0ZWQgYnkgZG9ja2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybSB7XG4gIC8qKlxuICAgKiBCdWlsZCBmb3IgbGludXgvYW1kNjRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElOVVhfQU1ENjQgPSBuZXcgUGxhdGZvcm0oXCJsaW51eC9hbWQ2NFwiKTtcblxuICAvKipcbiAgICogQnVpbGQgZm9yIGxpbnV4L2FybTY0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTlVYX0FSTTY0ID0gbmV3IFBsYXRmb3JtKFwibGludXgvYXJtNjRcIik7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBwbGF0Zm9ybVxuICAgKiBVc2UgdGhpcyBpZiB0aGUgcGxhdGZvcm0gbmFtZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSB0aGUgQ0RLLlxuICAgKlxuICAgKiBAcGFyYW0gcGxhdGZvcm0gVGhlIHBsYXRmb3JtIHRvIHVzZSBmb3IgZG9ja2VyIGJ1aWxkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShwbGF0Zm9ybTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBQbGF0Zm9ybShwbGF0Zm9ybSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHBsYXRmb3JtIFRoZSBwbGF0Zm9ybSB0byB1c2UgZm9yIGRvY2tlciBidWlsZFxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGxhdGZvcm06IHN0cmluZykge31cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNvbnRyb2wgaW52YWxpZGF0aW9uIG9mIGBEb2NrZXJJbWFnZUFzc2V0YCBhc3NldCBoYXNoZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJJbWFnZUFzc2V0SW52YWxpZGF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBVc2UgYGV4dHJhSGFzaGAgd2hpbGUgY2FsY3VsYXRpbmcgdGhlIGFzc2V0IGhhc2hcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFIYXNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIGBidWlsZEFyZ3NgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgYnVpbGRTZWNyZXRzYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBidWlsZFNlY3JldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYGJ1aWxkU3NoYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBidWlsZFNzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgdGFyZ2V0YCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYGZpbGVgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYHJlcG9zaXRvcnlOYW1lYCB3aGlsZSBjYWxjdWxhdGluZyB0aGUgYXNzZXQgaGFzaFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBgbmV0d29ya01vZGVgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIGBwbGF0Zm9ybWAgd2hpbGUgY2FsY3VsYXRpbmcgdGhlIGFzc2V0IGhhc2hcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgYG91dHB1dHNgIHdoaWxlIGNhbGN1bGF0aW5nIHRoZSBhc3NldCBoYXNoXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBib29sZWFuO1xufVxuXG4vLyBUT0RPOiBEdXBsaWNhdGUgZnJvbSBjb3JlLkRvY2tlckNhY2hlT3B0aW9uP1xuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgRG9ja2VyIGNhY2hlIGJhY2tlbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDYWNoZU9wdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBjYWNoZSB0byB1c2UuXG4gICAqIFJlZmVyIHRvIGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2J1aWxkL2NhY2hlL2JhY2tlbmRzLyBmb3IgZnVsbCBsaXN0IG9mIGJhY2tlbmRzLlxuICAgKiBAZGVmYXVsdCAtIHVuc3BlY2lmaWVkXG4gICAqXG4gICAqIEBleGFtcGxlICdyZWdpc3RyeSdcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEFueSBwYXJhbWV0ZXJzIHRvIHBhc3MgaW50byB0aGUgZG9ja2VyIGNhY2hlIGJhY2tlbmQgY29uZmlndXJhdGlvbi5cbiAgICogUmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvIGZvciBjYWNoZSBiYWNrZW5kIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBkZWZhdWx0IHt9IE5vIG9wdGlvbnMgcHJvdmlkZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogZGVjbGFyZSBjb25zdCBicmFuY2g6IHN0cmluZztcbiAgICpcbiAgICogY29uc3QgcGFyYW1zID0ge1xuICAgKiAgIHJlZjogYDEyMzQ1Njc4LmRrci5lY3IudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20vY2FjaGU6JHticmFuY2h9YCxcbiAgICogICBtb2RlOiBcIm1heFwiLFxuICAgKiB9O1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBEb2NrZXJJbWFnZUFzc2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgZXh0ZW5kcyBGaWxlRmluZ2VycHJpbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVDUiByZXBvc2l0b3J5IG5hbWVcbiAgICpcbiAgICogU3BlY2lmeSB0aGlzIHByb3BlcnR5IGlmIHlvdSBuZWVkIHRvIHN0YXRpY2FsbHkgYWRkcmVzcyB0aGUgaW1hZ2UsIGUuZy5cbiAgICogZnJvbSBhIEt1YmVybmV0ZXMgUG9kLiBOb3RlLCB0aGlzIGlzIG9ubHkgdGhlIHJlcG9zaXRvcnkgbmFtZSwgd2l0aG91dCB0aGVcbiAgICogcmVnaXN0cnkgYW5kIHRoZSB0YWcgcGFydHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGRlZmF1bHQgRUNSIHJlcG9zaXRvcnkgZm9yIENESyBhc3NldHNcbiAgICogQGRlcHJlY2F0ZWQgdG8gY29udHJvbCB0aGUgbG9jYXRpb24gb2YgZG9ja2VyIGltYWdlIGFzc2V0cywgcGxlYXNlIG92ZXJyaWRlXG4gICAqIGBTdGFjay5hZGREb2NrZXJJbWFnZUFzc2V0YC4gdGhpcyBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmVcbiAgICogcmVsZWFzZXMuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGQgYXJncyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKlxuICAgKiBTaW5jZSBEb2NrZXIgYnVpbGQgYXJndW1lbnRzIGFyZSByZXNvbHZlZCBiZWZvcmUgZGVwbG95bWVudCwga2V5cyBhbmRcbiAgICogdmFsdWVzIGNhbm5vdCByZWZlciB0byB1bnJlc29sdmVkIHRva2VucyAoc3VjaCBhcyBgbGFtYmRhLmZ1bmN0aW9uQXJuYCBvclxuICAgKiBgcXVldWUucXVldWVVcmxgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBidWlsZCBhcmdzIGFyZSBwYXNzZWRcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHNlY3JldHMuXG4gICAqXG4gICAqIERvY2tlciBCdWlsZEtpdCBtdXN0IGJlIGVuYWJsZWQgdG8gdXNlIGJ1aWxkIHNlY3JldHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvYnVpbGRraXQvXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVpbGQgc2VjcmV0c1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpbXBvcnQgeyBEb2NrZXJCdWlsZFNlY3JldCB9IGZyb20gJ2F3cy1jZGstbGliJztcbiAgICpcbiAgICogY29uc3QgYnVpbGRTZWNyZXRzID0ge1xuICAgKiAgICdNWV9TRUNSRVQnOiBEb2NrZXJCdWlsZFNlY3JldC5mcm9tU3JjKCdmaWxlLnR4dCcpXG4gICAqIH07XG4gICAqL1xuICByZWFkb25seSBidWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTU0ggYWdlbnQgc29ja2V0IG9yIGtleXMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICpcbiAgICogRG9ja2VyIEJ1aWxkS2l0IG11c3QgYmUgZW5hYmxlZCB0byB1c2UgdGhlIHNzaCBmbGFnXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvYnVpbGRraXQvXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gLS1zc2ggZmxhZ1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRTc2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvY2tlciB0YXJnZXQgdG8gYnVpbGQgdG9cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgRG9ja2VyZmlsZSAocmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdEb2NrZXJmaWxlJ1xuICAgKi9cbiAgcmVhZG9ubHkgZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogTmV0d29ya2luZyBtb2RlIGZvciB0aGUgUlVOIGNvbW1hbmRzIGR1cmluZyBidWlsZC4gU3VwcG9ydCBkb2NrZXIgQVBJIDEuMjUrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5ldHdvcmtpbmcgbW9kZSBzcGVjaWZpZWQgKHRoZSBkZWZhdWx0IG5ldHdvcmtpbmcgbW9kZSBgTmV0d29ya01vZGUuREVGQVVMVGAgd2lsbCBiZSB1c2VkKVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya01vZGU/OiBOZXR3b3JrTW9kZTtcblxuICAvKipcbiAgICogUGxhdGZvcm0gdG8gYnVpbGQgZm9yLiBfUmVxdWlyZXMgRG9ja2VyIEJ1aWxkeF8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcGxhdGZvcm0gc3BlY2lmaWVkICh0aGUgY3VycmVudCBtYWNoaW5lIGFyY2hpdGVjdHVyZSB3aWxsIGJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIHRvIGNvbnRyb2wgd2hpY2ggcGFyYW1ldGVycyBhcmUgdXNlZCB0byBpbnZhbGlkYXRlIHRoZSBhc3NldCBoYXNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGhhc2ggYWxsIHBhcmFtZXRlcnNcbiAgICovXG4gIHJlYWRvbmx5IGludmFsaWRhdGlvbj86IERvY2tlckltYWdlQXNzZXRJbnZhbGlkYXRpb25PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBPdXRwdXRzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gb3V0cHV0cyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kIChkZWZhdWx0IG91dHB1dHMgYXJlIHVzZWQpXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9jb21tYW5kbGluZS9idWlsZC8jY3VzdG9tLWJ1aWxkLW91dHB1dHNcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY2tlciBpbWFnZSBhc3NldCBhbmQgaXRzIHBvdGVudGlhbCByZXZpc2lvbnMuXG4gICAqIFJlcXVpcmVkIGlmIHVzaW5nIEFwcFNjb3BlZFN0YWdpbmdTeW50aGVzaXplci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NldCBuYW1lXG4gICAqL1xuICByZWFkb25seSBhc3NldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhY2hlIGZyb20gb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNhY2hlIGZyb20gb3B0aW9ucyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvXG4gICAqL1xuICByZWFkb25seSBjYWNoZUZyb20/OiBEb2NrZXJDYWNoZU9wdGlvbltdO1xuXG4gIC8qKlxuICAgKiBDYWNoZSB0byBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY2FjaGUgdG8gb3B0aW9ucyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vYnVpbGQvY2FjaGUvYmFja2VuZHMvXG4gICAqL1xuICByZWFkb25seSBjYWNoZVRvPzogRG9ja2VyQ2FjaGVPcHRpb247XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGNhY2hlIGFuZCBwYXNzIGAtLW5vLWNhY2hlYCB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBjYWNoZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjYWNoZURpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgRG9ja2VySW1hZ2VBc3NldHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJJbWFnZUFzc2V0UHJvcHMgZXh0ZW5kcyBEb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZFxuICAgKlxuICAgKiBBbnkgZGlyZWN0b3J5IGluc2lkZSB3aXRoIGEgbmFtZSB0aGF0IG1hdGNoZXMgdGhlIENESyBvdXRwdXQgZm9sZGVyIChjZGsub3V0IGJ5IGRlZmF1bHQpIHdpbGwgYmUgZXhjbHVkZWQgZnJvbSB0aGUgYXNzZXRcbiAgICovXG4gIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2V0IHRoYXQgcmVwcmVzZW50cyBhIERvY2tlciBpbWFnZS5cbiAqXG4gKiBUaGUgaW1hZ2Ugd2lsbCBiZSBjcmVhdGVkIGluIGJ1aWxkIHRpbWUgYW5kIHVwbG9hZGVkIHRvIGFuIEVDUiByZXBvc2l0b3J5LlxuICpcbiAqIFdBUk5JTkc6IGBEb2NrZXJBc3NldFswLTldKmAgYW5kIGBEb2NrZXJBc3NldF9JbWFnZVswLTldKmAgaWRlbnRpZmllcnMgYXJlXG4gKiB1c2VkIGludGVybmFsbHkgYnkgdGhlIFN0YWNrIEFzc2V0IE1hbmFnZXIgYW5kIHdpbGwgY2F1c2UgSWQgY29uZmxpY3RzLlxuICovXG5leHBvcnQgY2xhc3MgRG9ja2VySW1hZ2VBc3NldCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBc3NldCB7XG4gIC8qKlxuICAgKiBUaGUgZnVsbCBVUkkgb2YgdGhlIGltYWdlIChpbmNsdWRpbmcgYSB0YWcpLiBVc2UgdGhpcyByZWZlcmVuY2UgdG8gcHVsbFxuICAgKiB0aGUgYXNzZXQuXG4gICAqL1xuICBwdWJsaWMgaW1hZ2VVcmk6IHN0cmluZztcblxuICAvKipcbiAgICogUmVwb3NpdG9yeSB3aGVyZSB0aGUgaW1hZ2UgaXMgc3RvcmVkXG4gICAqL1xuICBwdWJsaWMgcmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBBIGhhc2ggb2YgdGhlIHNvdXJjZSBvZiB0aGlzIGFzc2V0LCB3aGljaCBpcyBhdmFpbGFibGUgYXQgY29uc3RydWN0aW9uIHRpbWUuIEFzIHRoaXMgaXMgYSBwbGFpblxuICAgKiBzdHJpbmcsIGl0IGNhbiBiZSB1c2VkIGluIGNvbnN0cnVjdCBJRHMgaW4gb3JkZXIgdG8gZW5mb3JjZSBjcmVhdGlvbiBvZiBhIG5ldyByZXNvdXJjZSB3aGVuXG4gICAqIHRoZSBjb250ZW50IGhhc2ggaGFzIGNoYW5nZWQuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBhc3NldEhhc2hcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VIYXNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgaGFzaCBvZiB0aGlzIGFzc2V0LCB3aGljaCBpcyBhdmFpbGFibGUgYXQgY29uc3RydWN0aW9uIHRpbWUuIEFzIHRoaXMgaXMgYSBwbGFpbiBzdHJpbmcsIGl0XG4gICAqIGNhbiBiZSB1c2VkIGluIGNvbnN0cnVjdCBJRHMgaW4gb3JkZXIgdG8gZW5mb3JjZSBjcmVhdGlvbiBvZiBhIG5ldyByZXNvdXJjZSB3aGVuIHRoZSBjb250ZW50XG4gICAqIGhhc2ggaGFzIGNoYW5nZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRIYXNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWcgb2YgdGhpcyBhc3NldCB3aGVuIGl0IGlzIHVwbG9hZGVkIHRvIEVDUi4gVGhlIHRhZyBtYXkgZGlmZmVyIGZyb20gdGhlIGFzc2V0SGFzaCBpZiBhIHN0YWNrIHN5bnRoZXNpemVyIGFkZHMgYSBkb2NrZXJUYWdQcmVmaXguXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VUYWc6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIGFzc2V0LCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBDbG91ZCBBc3NlbWJseVxuICAgKlxuICAgKiBJZiBhc3NldCBzdGFnaW5nIGlzIGRpc2FibGVkLCB0aGlzIHdpbGwganVzdCBiZSB0aGUgb3JpZ2luYWwgcGF0aC5cbiAgICpcbiAgICogSWYgYXNzZXQgc3RhZ2luZyBpcyBlbmFibGVkIGl0IHdpbGwgYmUgdGhlIHN0YWdlZCBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhc3NldFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIERvY2tlcmZpbGUsIHJlbGF0aXZlIHRvIHRoZSBhc3NldFBhdGhcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyZmlsZVBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFyZ3MgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQnVpbGRBcmdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQnVpbGQgc2VjcmV0cyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkb2NrZXJCdWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTU0ggYWdlbnQgc29ja2V0IG9yIGtleXMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQnVpbGRTc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdXRwdXRzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlck91dHB1dHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRvY2tlciBpbWFnZSBhc3NldCBhbmQgaXRzIHBvdGVudGlhbCByZXZpc2lvbnMuXG4gICAqIFJlcXVpcmVkIGlmIHVzaW5nIEFwcFNjb3BlZFN0YWdpbmdTeW50aGVzaXplci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NldCBuYW1lXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFzc2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2FjaGUgZnJvbSBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckNhY2hlRnJvbT86IERvY2tlckNhY2hlT3B0aW9uW107XG5cbiAgLyoqXG4gICAqIENhY2hlIHRvIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyQ2FjaGVUbz86IERvY2tlckNhY2hlT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBjYWNoZSBhbmQgcGFzcyBgLS1uby1jYWNoZWAgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckNhY2hlRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgdGFyZ2V0IHRvIGJ1aWxkIHRvXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY2tlckJ1aWxkVGFyZ2V0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEb2NrZXJJbWFnZUFzc2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gbm9uZSBvZiB0aGUgcHJvcGVydGllcyB1c2UgdG9rZW5zXG4gICAgdmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICAvLyByZXNvbHZlIGZ1bGwgcGF0aFxuICAgIGNvbnN0IGRpciA9IHBhdGgucmVzb2x2ZShwcm9wcy5kaXJlY3RvcnkpO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhkaXIpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDYW5ub3QgZmluZCBpbWFnZSBkaXJlY3RvcnkgYXQgJHtkaXJ9YCwgdGhpcyk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgdGhlIGRvY2tlciBmaWxlIGV4aXN0c1xuICAgIHRoaXMuZG9ja2VyZmlsZVBhdGggPSBwcm9wcy5maWxlIHx8IFwiRG9ja2VyZmlsZVwiO1xuICAgIGNvbnN0IGZpbGUgPSBwYXRoLmpvaW4oZGlyLCB0aGlzLmRvY2tlcmZpbGVQYXRoKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYENhbm5vdCBmaW5kIGZpbGUgYXQgJHtmaWxlfWAsIHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBpZ25vcmVNb2RlID0gcHJvcHMuaWdub3JlTW9kZSA/PyBJZ25vcmVNb2RlLkRPQ0tFUjtcblxuICAgIGxldCBleGNsdWRlOiBzdHJpbmdbXSA9IHByb3BzLmV4Y2x1ZGUgfHwgW107XG5cbiAgICBjb25zdCBpZ25vcmUgPSBwYXRoLmpvaW4oZGlyLCBcIi5kb2NrZXJpZ25vcmVcIik7XG5cbiAgICBpZiAoZnMuZXhpc3RzU3luYyhpZ25vcmUpKSB7XG4gICAgICBjb25zdCBkb2NrZXJJZ25vcmVQYXR0ZXJucyA9IGZzXG4gICAgICAgIC5yZWFkRmlsZVN5bmMoaWdub3JlKVxuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gISFlKTtcblxuICAgICAgZXhjbHVkZSA9IFtcbiAgICAgICAgLi4uZG9ja2VySWdub3JlUGF0dGVybnMsXG4gICAgICAgIC4uLmV4Y2x1ZGUsXG5cbiAgICAgICAgLy8gRW5zdXJlIC5kb2NrZXJpZ25vcmUgaXMgaW5jbHVkZWQgbm8gbWF0dGVyIHdoYXQuXG4gICAgICAgIFwiIS5kb2NrZXJpZ25vcmVcIixcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoZSBEb2NrZXJmaWxlIGlzIGluY2x1ZGVkIG5vIG1hdHRlciB3aGF0LlxuICAgIGV4Y2x1ZGUucHVzaChcIiFcIiArIHBhdGguYmFzZW5hbWUoZmlsZSkpO1xuICAgIC8vIEVuc3VyZSB0aGUgY2RrLm91dCBmb2xkZXIgaXMgbm90IGluY2x1ZGVkIHRvIGF2b2lkIGluZmluaXRlIGxvb3BzLlxuICAgIC8vIGNvbnN0IGNka291dCA9IFN0YWdlLm9mKHRoaXMpPy5vdXRkaXIgPz8gXCJjZGsub3V0XCI7XG4gICAgLy8gZXhjbHVkZS5wdXNoKGNka291dCk7XG4gICAgZXhjbHVkZS5wdXNoKFwiY2RrLm91dFwiKTtcblxuICAgIGlmIChwcm9wcy5yZXBvc2l0b3J5TmFtZSkge1xuICAgICAgLy8gXCJAYXdzLWNkay9hd3MtZWNyLWFzc2V0czpyZXBvc2l0b3J5TmFtZURlcHJlY2F0ZWRcIixcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoXG4gICAgICAgICdEb2NrZXJJbWFnZUFzc2V0LnJlcG9zaXRvcnlOYW1lIGlzIGRlcHJlY2F0ZWQuIE92ZXJyaWRlIFwiY29yZS5TdGFjay5hZGREb2NrZXJJbWFnZUFzc2V0XCIgdG8gY29udHJvbCBhc3NldCBsb2NhdGlvbnMnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBpbmNsdWRlIGJ1aWxkIGNvbnRleHQgaW4gXCJleHRyYVwiIHNvIGl0IHdpbGwgaW1wYWN0IHRoZSBoYXNoXG4gICAgY29uc3QgZXh0cmFIYXNoOiB7IFtmaWVsZDogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICBpZiAocHJvcHMuaW52YWxpZGF0aW9uPy5leHRyYUhhc2ggIT09IGZhbHNlICYmIHByb3BzLmV4dHJhSGFzaCkge1xuICAgICAgZXh0cmFIYXNoLnVzZXIgPSBwcm9wcy5leHRyYUhhc2g7XG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnZhbGlkYXRpb24/LmJ1aWxkQXJncyAhPT0gZmFsc2UgJiYgcHJvcHMuYnVpbGRBcmdzKSB7XG4gICAgICBleHRyYUhhc2guYnVpbGRBcmdzID0gcHJvcHMuYnVpbGRBcmdzO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaW52YWxpZGF0aW9uPy5idWlsZFNlY3JldHMgIT09IGZhbHNlICYmIHByb3BzLmJ1aWxkU2VjcmV0cykge1xuICAgICAgZXh0cmFIYXNoLmJ1aWxkU2VjcmV0cyA9IHByb3BzLmJ1aWxkU2VjcmV0cztcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8uYnVpbGRTc2ggIT09IGZhbHNlICYmIHByb3BzLmJ1aWxkU3NoKSB7XG4gICAgICBleHRyYUhhc2guYnVpbGRTc2ggPSBwcm9wcy5idWlsZFNzaDtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8udGFyZ2V0ICE9PSBmYWxzZSAmJiBwcm9wcy50YXJnZXQpIHtcbiAgICAgIGV4dHJhSGFzaC50YXJnZXQgPSBwcm9wcy50YXJnZXQ7XG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnZhbGlkYXRpb24/LmZpbGUgIT09IGZhbHNlICYmIHByb3BzLmZpbGUpIHtcbiAgICAgIGV4dHJhSGFzaC5maWxlID0gcHJvcHMuZmlsZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ucmVwb3NpdG9yeU5hbWUgIT09IGZhbHNlICYmIHByb3BzLnJlcG9zaXRvcnlOYW1lKSB7XG4gICAgICBleHRyYUhhc2gucmVwb3NpdG9yeU5hbWUgPSBwcm9wcy5yZXBvc2l0b3J5TmFtZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ubmV0d29ya01vZGUgIT09IGZhbHNlICYmIHByb3BzLm5ldHdvcmtNb2RlKSB7XG4gICAgICBleHRyYUhhc2gubmV0d29ya01vZGUgPSBwcm9wcy5uZXR3b3JrTW9kZTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ucGxhdGZvcm0gIT09IGZhbHNlICYmIHByb3BzLnBsYXRmb3JtKSB7XG4gICAgICBleHRyYUhhc2gucGxhdGZvcm0gPSBwcm9wcy5wbGF0Zm9ybTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmludmFsaWRhdGlvbj8ub3V0cHV0cyAhPT0gZmFsc2UgJiYgcHJvcHMub3V0cHV0cykge1xuICAgICAgZXh0cmFIYXNoLm91dHB1dHMgPSBwcm9wcy5vdXRwdXRzO1xuICAgIH1cblxuICAgIC8vIGFkZCBcInNhbHRcIiB0byB0aGUgaGFzaCBpbiBvcmRlciB0byBpbnZhbGlkYXRlIHRoZSBpbWFnZSBpbiB0aGUgdXBncmFkZSB0b1xuICAgIC8vIDEuMjEuMCB3aGljaCByZW1vdmVzIHRoZSBBZG9wdGVkUmVwb3NpdG9yeSByZXNvdXJjZSAoYW5kIHdpbGwgY2F1c2UgdGhlXG4gICAgLy8gZGVsZXRpb24gb2YgdGhlIEVDUiByZXBvc2l0b3J5IHRoZSBhcHAgdXNlZCkuXG4gICAgZXh0cmFIYXNoLnZlcnNpb24gPSBcIjEuMjEuMFwiO1xuXG4gICAgY29uc3Qgc3RhZ2luZyA9IG5ldyBBc3NldFN0YWdpbmcodGhpcywgXCJTdGFnaW5nXCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZm9sbG93OiBwcm9wcy5mb2xsb3dTeW1saW5rcyxcbiAgICAgIGV4Y2x1ZGUsXG4gICAgICBpZ25vcmVNb2RlLFxuICAgICAgc291cmNlUGF0aDogZGlyLFxuICAgICAgZXh0cmFIYXNoOlxuICAgICAgICBPYmplY3Qua2V5cyhleHRyYUhhc2gpLmxlbmd0aCA9PT0gMFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShleHRyYUhhc2gpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldEhhc2ggPSBzdGFnaW5nLmFzc2V0SGFzaDtcbiAgICB0aGlzLnNvdXJjZUhhc2ggPSB0aGlzLmFzc2V0SGFzaDtcblxuICAgIGNvbnN0IHN0YWNrID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcyk7XG4gICAgdGhpcy5hc3NldFBhdGggPSBzdGFnaW5nLnJlbGF0aXZlU3RhZ2VkUGF0aChzdGFjayk7XG4gICAgdGhpcy5hc3NldE5hbWUgPSBwcm9wcy5hc3NldE5hbWU7XG4gICAgdGhpcy5kb2NrZXJCdWlsZEFyZ3MgPSBwcm9wcy5idWlsZEFyZ3M7XG4gICAgdGhpcy5kb2NrZXJCdWlsZFNlY3JldHMgPSBwcm9wcy5idWlsZFNlY3JldHM7XG4gICAgdGhpcy5kb2NrZXJCdWlsZFNzaCA9IHByb3BzLmJ1aWxkU3NoO1xuICAgIHRoaXMuZG9ja2VyQnVpbGRUYXJnZXQgPSBwcm9wcy50YXJnZXQ7XG4gICAgdGhpcy5kb2NrZXJPdXRwdXRzID0gcHJvcHMub3V0cHV0cztcbiAgICB0aGlzLmRvY2tlckNhY2hlRnJvbSA9IHByb3BzLmNhY2hlRnJvbTtcbiAgICB0aGlzLmRvY2tlckNhY2hlVG8gPSBwcm9wcy5jYWNoZVRvO1xuICAgIHRoaXMuZG9ja2VyQ2FjaGVEaXNhYmxlZCA9IHByb3BzLmNhY2hlRGlzYWJsZWQ7XG5cbiAgICBjb25zdCBsb2NhdGlvbiA9IHN0YWNrLmFkZERvY2tlckltYWdlQXNzZXQoe1xuICAgICAgZGlyZWN0b3J5TmFtZTogdGhpcy5hc3NldFBhdGgsXG4gICAgICBhc3NldE5hbWU6IHRoaXMuYXNzZXROYW1lLFxuICAgICAgZG9ja2VyQnVpbGRBcmdzOiB0aGlzLmRvY2tlckJ1aWxkQXJncyxcbiAgICAgIGRvY2tlckJ1aWxkU2VjcmV0czogdGhpcy5kb2NrZXJCdWlsZFNlY3JldHMsXG4gICAgICBkb2NrZXJCdWlsZFNzaDogdGhpcy5kb2NrZXJCdWlsZFNzaCxcbiAgICAgIGRvY2tlckJ1aWxkVGFyZ2V0OiB0aGlzLmRvY2tlckJ1aWxkVGFyZ2V0LFxuICAgICAgZG9ja2VyRmlsZTogcHJvcHMuZmlsZSxcbiAgICAgIHNvdXJjZUhhc2g6IHN0YWdpbmcuYXNzZXRIYXNoLFxuICAgICAgbmV0d29ya01vZGU6IHByb3BzLm5ldHdvcmtNb2RlPy5tb2RlLFxuICAgICAgcGxhdGZvcm06IHByb3BzLnBsYXRmb3JtPy5wbGF0Zm9ybSxcbiAgICAgIGRvY2tlck91dHB1dHM6IHRoaXMuZG9ja2VyT3V0cHV0cyxcbiAgICAgIGRvY2tlckNhY2hlRnJvbTogdGhpcy5kb2NrZXJDYWNoZUZyb20sXG4gICAgICBkb2NrZXJDYWNoZVRvOiB0aGlzLmRvY2tlckNhY2hlVG8sXG4gICAgICBkb2NrZXJDYWNoZURpc2FibGVkOiB0aGlzLmRvY2tlckNhY2hlRGlzYWJsZWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlcG9zaXRvcnkgPSBlY3IuUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXBvc2l0b3J5XCIsXG4gICAgICBsb2NhdGlvbi5yZXBvc2l0b3J5TmFtZSxcbiAgICApO1xuICAgIHRoaXMuaW1hZ2VVcmkgPSBsb2NhdGlvbi5pbWFnZVVyaTtcbiAgICB0aGlzLmltYWdlVGFnID0gbG9jYXRpb24uaW1hZ2VUYWcgPz8gdGhpcy5hc3NldEhhc2g7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wcyhwcm9wczogRG9ja2VySW1hZ2VBc3NldFByb3BzKSB7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHByb3BzKSkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgdXNlIFRva2VuIGFzIHZhbHVlIG9mICcke2tleX0nOiB0aGlzIHZhbHVlIGlzIHVzZWQgYmVmb3JlIGRlcGxveW1lbnQgc3RhcnRzYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVCdWlsZEFyZ3MocHJvcHMuYnVpbGRBcmdzKTtcbiAgdmFsaWRhdGVCdWlsZFNlY3JldHMocHJvcHMuYnVpbGRTZWNyZXRzKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVCdWlsZFByb3BzKFxuICBidWlsZFByb3BOYW1lOiBzdHJpbmcsXG4gIGJ1aWxkUHJvcHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuKSB7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGJ1aWxkUHJvcHMgfHwge30pKSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChrZXkpIHx8IFRva2VuLmlzVW5yZXNvbHZlZCh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYENhbm5vdCB1c2UgdG9rZW5zIGluIGtleXMgb3IgdmFsdWVzIG9mIFwiJHtidWlsZFByb3BOYW1lfVwiIHNpbmNlIHRoZXkgYXJlIG5lZWRlZCBiZWZvcmUgZGVwbG95bWVudGAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUJ1aWxkQXJncyhidWlsZEFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIHZhbGlkYXRlQnVpbGRQcm9wcyhcImJ1aWxkQXJnc1wiLCBidWlsZEFyZ3MpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUJ1aWxkU2VjcmV0cyhidWlsZFNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gIHZhbGlkYXRlQnVpbGRQcm9wcyhcImJ1aWxkU2VjcmV0c1wiLCBidWlsZFNlY3JldHMpO1xufVxuIl19
@@ -76,5 +76,5 @@ class Asset extends constructs_1.Construct {
76
76
  }
77
77
  exports.Asset = Asset;
78
78
  _a = JSII_RTTI_SYMBOL_1;
79
- Asset[_a] = { fqn: "terraconstructs.aws.storage.assets.Asset", version: "0.2.4" };
79
+ Asset[_a] = { fqn: "terraconstructs.aws.storage.assets.Asset", version: "0.2.6" };
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYXNzZXRzL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0ZBQStGO0FBRS9GLDZCQUE2QjtBQUM3QiwyQ0FBdUM7QUFDdkMseUJBQXlCO0FBQ3pCLGdDQUFnQztBQUNoQyw0Q0FBa0Q7QUFDbEQsK0NBQTJDO0FBQzNDLHdDQUF3QztBQThEeEM7Ozs7OztHQU1HO0FBQ0gsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUErRGxDLE1BQU07SUFDTixnRUFBZ0U7SUFDaEUsTUFBTTtJQUNOLGdHQUFnRztJQUVoRyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksd0JBQWUsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsMkNBQTJDO1FBRTNDLDBDQUEwQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNsRCxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxLQUFLLENBQUMsY0FBYztZQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsVUFBVTtTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRWpDLE1BQU0sS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBRWhFLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixVQUFVLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsOEJBQThCO1FBRTdELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxTQUFTO1lBQy9CLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDckQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ2hFLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM3QixhQUFhLEVBQUUsTUFBTTtTQUN0QixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLE9BQXVCO1FBQ3RDLHdFQUF3RTtRQUN4RSxzRUFBc0U7UUFDdEUsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O0FBbElILHNCQW1JQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE4Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMvbGliL2Fzc2V0LnRzXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiLi5cIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiLi4vLi4vLi5cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCIuLi8uLi8uLi9lcnJvcnNcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uLy4uL2F3cy1zdGFja1wiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCIuLi8uLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uLy4uL2lhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0T3B0aW9ucyBleHRlbmRzIGNkay5GaWxlQ29weU9wdGlvbnMsIGNkay5Bc3NldE9wdGlvbnMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHByaW5jaXBhbHMgdGhhdCBzaG91bGQgYmUgYWJsZSB0byByZWFkIHRoaXMgYXNzZXQgZnJvbSBTMy5cbiAgICogWW91IGNhbiB1c2UgYGFzc2V0LmdyYW50UmVhZChwcmluY2lwYWwpYCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIGxhdGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHByaW5jaXBhbHMgdGhhdCBjYW4gcmVhZCBmaWxlIGFzc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGVycz86IGlhbS5JR3JhbnRhYmxlW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBoYXNoIHRvIHVzZSB3aGVuIGlkZW50aWZ5aW5nIHRoZSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBhc3NldC4gRm9yIGNvbnNpc3RlbmN5LFxuICAgKiB0aGlzIGN1c3RvbSBoYXNoIHdpbGwgYmUgU0hBMjU2IGhhc2hlZCBhbmQgZW5jb2RlZCBhcyBoZXguIFRoZSByZXN1bHRpbmcgaGFzaCB3aWxsIGJlXG4gICAqIHRoZSBhc3NldCBoYXNoLlxuICAgKlxuICAgKiBOT1RFOiB0aGUgc291cmNlIGhhc2ggaXMgdXNlZCBpbiBvcmRlciB0byBpZGVudGlmeSBhIHNwZWNpZmljIHJldmlzaW9uIG9mIHRoZSBhc3NldCxcbiAgICogYW5kIHVzZWQgZm9yIG9wdGltaXppbmcgYW5kIGNhY2hpbmcgZGVwbG95bWVudCBhY3Rpdml0aWVzIHJlbGF0ZWQgdG8gdGhpcyBhc3NldCBzdWNoIGFzXG4gICAqIHBhY2thZ2luZywgdXBsb2FkaW5nIHRvIEFtYXpvbiBTMywgZXRjLiBJZiB5b3UgY2hvc2UgdG8gY3VzdG9taXplIHRoZSBzb3VyY2UgaGFzaCxcbiAgICogeW91IHdpbGwgbmVlZCB0byBtYWtlIHN1cmUgaXQgaXMgdXBkYXRlZCBldmVyeSB0aW1lIHRoZSBzb3VyY2UgY2hhbmdlcywgb3Igb3RoZXJ3aXNlXG4gICAqIGl0IGlzIHBvc3NpYmxlIHRoYXQgc29tZSBkZXBsb3ltZW50cyB3aWxsIG5vdCBiZSBpbnZhbGlkYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZSBzb3VyY2UgaGFzaCBiYXNlZCBvbiB0aGUgY29udGVudHNcbiAgICogb2YgdGhlIHNvdXJjZSBmaWxlIG9yIGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgc2VlIGBhc3NldEhhc2hgIGFuZCBgYXNzZXRIYXNoVHlwZWBcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUhhc2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBhc3NldCBuZWVkcyB0byBleGlzdCBiZXlvbmQgZGVwbG95bWVudCB0aW1lOyBpLmUuXG4gICAqIGFyZSBjb3BpZWQgb3ZlciB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBhbmQgbm90IG5lZWRlZCBhZnRlcndhcmRzLlxuICAgKiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgdG8gdHJ1ZSBoYXMgYW4gaW1wYWN0IG9uIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGFzc2V0LFxuICAgKiBiZWNhdXNlIHdlIHdpbGwgYXNzdW1lIHRoYXQgaXQgaXMgc2FmZSB0byBkZWxldGUgYWZ0ZXIgdGhlIENsb3VkRm9ybWF0aW9uXG4gICAqIGRlcGxveW1lbnQgc3VjY2VlZHMuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBMYW1iZGEgRnVuY3Rpb24gYXNzZXRzIGFyZSBjb3BpZWQgb3ZlciB0byBMYW1iZGEgZHVyaW5nXG4gICAqIGRlcGxveW1lbnQuIFRoZXJlZm9yZSwgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byBzdG9yZSB0aGUgYXNzZXQgaW4gUzMsIHNvXG4gICAqIHdlIGNvbnNpZGVyIHRob3NlIGRlcGxveVRpbWUgYXNzZXRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95VGltZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBLTVMga2V5IHVzZWQgdG8gZW5jcnlwdCB0aGUgaGFuZGxlciBjb2RlLlxuICAgKiBAZGVmYXVsdCAtIHRoZSBkZWZhdWx0IHNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBBbWF6b24gUzMgbWFuYWdlZCBrZXlzKFNTRS1TMykga2V5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUtNU0tleT86IGttcy5JS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHJvcHMgZXh0ZW5kcyBBc3NldE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRpc2sgbG9jYXRpb24gb2YgdGhlIGFzc2V0LlxuICAgKlxuICAgKiBUaGUgcGF0aCBzaG91bGQgcmVmZXIgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqIC0gQSByZWd1bGFyIGZpbGUgb3IgYSAuemlwIGZpbGUsIGluIHdoaWNoIGNhc2UgdGhlIGZpbGUgd2lsbCBiZSB1cGxvYWRlZCBhcy1pcyB0byBTMy5cbiAgICogLSBBIGRpcmVjdG9yeSwgaW4gd2hpY2ggY2FzZSBpdCB3aWxsIGJlIGFyY2hpdmVkIGludG8gYSAuemlwIGZpbGUgYW5kIHVwbG9hZGVkIHRvIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2V0IHJlcHJlc2VudHMgYSBsb2NhbCBmaWxlIG9yIGRpcmVjdG9yeSwgd2hpY2ggaXMgYXV0b21hdGljYWxseSB1cGxvYWRlZCB0byBTM1xuICogYW5kIHRoZW4gY2FuIGJlIHJlZmVyZW5jZWQgd2l0aGluIGEgQ0RLIGFwcGxpY2F0aW9uLlxuICpcbiAqIFdBUk5JTkc6IGBGaWxlQXNzZXRbMC05XSpgIGFuZCBgRmlsZUFzc2V0X1MzWzAtOV0qYCBpZGVudGlmaWVycyBhcmUgdXNlZCBpbnRlcm5hbGx5XG4gKiBieSB0aGUgU3RhY2sgQXNzZXQgTWFuYWdlciBhbmQgd2lsbCBjYXVzZSBJZCBjb25mbGljdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NldCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIGNkay5JQXNzZXQge1xuICAvKipcbiAgICogQXR0cmlidXRlIHRoYXQgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiB0aGUgYnVja2V0IHRoaXMgYXNzZXQgZXhpc3RzIGluLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzQnVja2V0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgd2hpY2ggcmVwcmVzZW50cyB0aGUgUzMgb2JqZWN0IGtleSBvZiB0aGlzIGFzc2V0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzT2JqZWN0S2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSB3aGljaCByZXByZXNlbnRzIHRoZSBTMyBVUkwgb2YgdGhpcyBhc3NldC5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBodHRwVXJsYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSB3aGljaCByZXByZXNlbnRzIHRoZSBTMyBIVFRQIFVSTCBvZiB0aGlzIGFzc2V0LlxuICAgKiBGb3IgZXhhbXBsZSwgYGh0dHBzOi8vczMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20vYnVja2V0L2tleWBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBodHRwVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSB3aGljaCByZXByZXNlbnRzIHRoZSBTMyBVUkwgb2YgdGhpcyBhc3NldC5cbiAgICogRm9yIGV4YW1wbGUsIGBzMzovL2J1Y2tldC9rZXlgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNPYmplY3RVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIGFzc2V0LCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBDbG91ZCBBc3NlbWJseVxuICAgKlxuICAgKiBJZiBhc3NldCBzdGFnaW5nIGlzIGRpc2FibGVkLCB0aGlzIHdpbGwganVzdCBiZSB0aGUgb3JpZ2luYWwgcGF0aC5cbiAgICogSWYgYXNzZXQgc3RhZ2luZyBpcyBlbmFibGVkIGl0IHdpbGwgYmUgdGhlIHN0YWdlZCBwYXRoLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgUzMgYnVja2V0IGluIHdoaWNoIHRoaXMgYXNzZXQgcmVzaWRlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGlzIGFzc2V0IGlzIGEgc2luZ2xlIGZpbGUuIEFsbG93cyBjb25zdHJ1Y3RzIHRvIGVuc3VyZSB0aGF0IHRoZVxuICAgKiBjb3JyZWN0IGZpbGUgdHlwZSB3YXMgdXNlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0ZpbGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGlzIGFzc2V0IGlzIGEgemlwIGFyY2hpdmUuIEFsbG93cyBjb25zdHJ1Y3RzIHRvIGVuc3VyZSB0aGF0IHRoZVxuICAgKiBjb3JyZWN0IGZpbGUgdHlwZSB3YXMgdXNlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc1ppcEFyY2hpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY3J5cHRvZ3JhcGhpYyBoYXNoIG9mIHRoZSBhc3NldC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgc2VlIGBhc3NldEhhc2hgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBhc3NldEhhc2g6IHN0cmluZztcblxuICAvLyAvKipcbiAgLy8gICogSW5kaWNhdGVzIGlmIHRoaXMgYXNzZXQgZ290IGJ1bmRsZWQgYmVmb3JlIHN0YWdlZCwgb3Igbm90LlxuICAvLyAgKi9cbiAgLy8gcHJpdmF0ZSByZWFkb25seSBpc0J1bmRsZWQ6IGJvb2xlYW47IC8vIFRPRE86IG9ubHkgbmVlZGVkIGZvciBBV1MgQ0RLJ3MgYWRkUmVzb3VyY2VNZXRhZGF0YSgpXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFzc2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKCFwcm9wcy5wYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFwiQXNzZXQgcGF0aCBjYW5ub3QgYmUgZW1wdHlcIiwgdGhpcyk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5pc0J1bmRsZWQgPSBwcm9wcy5idW5kbGluZyAhPSBudWxsO1xuXG4gICAgLy8gc3RhZ2UgdGhlIGFzc2V0IHNvdXJjZSAoY29uZGl0aW9uYWxseSkuXG4gICAgY29uc3Qgc3RhZ2luZyA9IG5ldyBjZGsuQXNzZXRTdGFnaW5nKHRoaXMsIFwiU3RhZ2VcIiwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBzb3VyY2VQYXRoOiBwYXRoLnJlc29sdmUocHJvcHMucGF0aCksXG4gICAgICBmb2xsb3c6IHByb3BzLmZvbGxvd1N5bWxpbmtzLFxuICAgICAgYXNzZXRIYXNoOiBwcm9wcy5hc3NldEhhc2ggPz8gcHJvcHMuc291cmNlSGFzaCxcbiAgICB9KTtcblxuICAgIHRoaXMuYXNzZXRIYXNoID0gc3RhZ2luZy5hc3NldEhhc2g7XG4gICAgdGhpcy5zb3VyY2VIYXNoID0gdGhpcy5hc3NldEhhc2g7XG5cbiAgICBjb25zdCBzdGFjayA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpO1xuXG4gICAgdGhpcy5hc3NldFBhdGggPSBzdGFnaW5nLnJlbGF0aXZlU3RhZ2VkUGF0aChzdGFjayk7XG5cbiAgICB0aGlzLmlzRmlsZSA9IHN0YWdpbmcucGFja2FnaW5nID09PSBjZGsuRmlsZUFzc2V0UGFja2FnaW5nLkZJTEU7XG5cbiAgICB0aGlzLmlzWmlwQXJjaGl2ZSA9IHN0YWdpbmcuaXNBcmNoaXZlO1xuXG4gICAgY29uc3QgbG9jYXRpb24gPSBzdGFjay5hZGRGaWxlQXNzZXQoe1xuICAgICAgcGFja2FnaW5nOiBzdGFnaW5nLnBhY2thZ2luZyxcbiAgICAgIHNvdXJjZUhhc2g6IHN0YWdpbmcuYXNzZXRIYXNoLFxuICAgICAgZmlsZU5hbWU6IHRoaXMuYXNzZXRQYXRoLFxuICAgICAgZGVwbG95VGltZTogcHJvcHMuZGVwbG95VGltZSxcbiAgICB9KTtcbiAgICB0aGlzLnMzQnVja2V0TmFtZSA9IGxvY2F0aW9uLmJ1Y2tldE5hbWU7XG4gICAgdGhpcy5zM09iamVjdEtleSA9IGxvY2F0aW9uLm9iamVjdEtleTtcbiAgICB0aGlzLnMzT2JqZWN0VXJsID0gbG9jYXRpb24uczNPYmplY3RVcmw7XG4gICAgdGhpcy5odHRwVXJsID0gbG9jYXRpb24uaHR0cFVybDtcbiAgICB0aGlzLnMzVXJsID0gbG9jYXRpb24uaHR0cFVybDsgLy8gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiAgICBjb25zdCBrbXNLZXkgPSBsb2NhdGlvbi5rbXNLZXlBcm5cbiAgICAgID8ga21zLktleS5mcm9tS2V5QXJuKHRoaXMsIFwiS2V5XCIsIGxvY2F0aW9uLmttc0tleUFybilcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5idWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldEF0dHJpYnV0ZXModGhpcywgXCJBc3NldEJ1Y2tldFwiLCB7XG4gICAgICBidWNrZXROYW1lOiB0aGlzLnMzQnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb25LZXk6IGttc0tleSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgcmVhZGVyIG9mIHByb3BzLnJlYWRlcnMgPz8gW10pIHtcbiAgICAgIHRoaXMuZ3JhbnRSZWFkKHJlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkIHBlcm1pc3Npb25zIHRvIHRoZSBwcmluY2lwYWwgb24gdGhlIGFzc2V0cyBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKSB7XG4gICAgLy8gd2UgZ2l2ZSBwZXJtaXNzaW9ucyBvbiBhbGwgZmlsZXMgaW4gdGhlIGJ1Y2tldCBzaW5jZSB3ZSBkb24ndCB3YW50IHRvXG4gICAgLy8gYWNjaWRlbnRhbGx5IHJldm9rZSBwZXJtaXNzaW9uIG9uIG9sZCB2ZXJzaW9ucyB3aGVuIGRlcGxveWluZyBhIG5ld1xuICAgIC8vIHZlcnNpb24gKGZvciBleGFtcGxlLCB3aGVuIHVzaW5nIExhbWJkYSB0cmFmZmljIHNoaWZ0aW5nKS5cbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoZ3JhbnRlZSk7XG4gIH1cbn1cbiJdfQ==
@@ -25,7 +25,7 @@ class AuthorizationToken {
25
25
  }
26
26
  exports.AuthorizationToken = AuthorizationToken;
27
27
  _a = JSII_RTTI_SYMBOL_1;
28
- AuthorizationToken[_a] = { fqn: "terraconstructs.aws.storage.AuthorizationToken", version: "0.2.4" };
28
+ AuthorizationToken[_a] = { fqn: "terraconstructs.aws.storage.AuthorizationToken", version: "0.2.6" };
29
29
  /**
30
30
  * Authorization token to access the global public ECR Gallery via Docker CLI.
31
31
  *
@@ -50,5 +50,5 @@ class PublicGalleryAuthorizationToken {
50
50
  }
51
51
  exports.PublicGalleryAuthorizationToken = PublicGalleryAuthorizationToken;
52
52
  _b = JSII_RTTI_SYMBOL_1;
53
- PublicGalleryAuthorizationToken[_b] = { fqn: "terraconstructs.aws.storage.PublicGalleryAuthorizationToken", version: "0.2.4" };
53
+ PublicGalleryAuthorizationToken[_b] = { fqn: "terraconstructs.aws.storage.PublicGalleryAuthorizationToken", version: "0.2.6" };
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9hdXRoLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOEZBQThGO0FBRTlGLDhCQUE4QjtBQUU5Qjs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDN0I7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQXVCO1FBQzdDLE9BQU8sQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQ3pDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUN0QywrTUFBK007WUFDL00sU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUF1QixDQUFDOztBQWQxQixnREFlQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsK0JBQStCO0lBQzFDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUF1QjtRQUM3QyxPQUFPLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUN6QyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGtDQUFrQztnQkFDbEMsMkJBQTJCO2FBQzVCO1lBQ0QsK01BQStNO1lBQy9NLGlNQUFpTTtZQUNqTSxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQXVCLENBQUM7O0FBbEIxQiwwRUFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWNyL2xpYi9hdXRoLXRva2VuLnRzXG5cbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiB0b2tlbiB0byBhY2Nlc3MgcHJpdmF0ZSBFQ1IgcmVwb3NpdG9yaWVzIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50IHZpYSBEb2NrZXIgQ0xJLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUi9sYXRlc3QvdXNlcmd1aWRlL3JlZ2lzdHJ5X2F1dGguaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvblRva2VuIHtcbiAgLyoqXG4gICAqIEdyYW50IGFjY2VzcyB0byByZXRyaWV2ZSBhbiBhdXRob3JpemF0aW9uIHRva2VuLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICBncmFudGVlLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuXCJdLFxuICAgICAgICAvLyBHZXRBdXRob3JpemF0aW9uVG9rZW4gb25seSBhbGxvd3MgJyonLiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYW1hem9uZWxhc3RpY2NvbnRhaW5lcnJlZ2lzdHJ5Lmh0bWwjYW1hem9uZWxhc3RpY2NvbnRhaW5lcnJlZ2lzdHJ5LWFjdGlvbnMtYXMtcGVybWlzc2lvbnNcbiAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxufVxuXG4vKipcbiAqIEF1dGhvcml6YXRpb24gdG9rZW4gdG8gYWNjZXNzIHRoZSBnbG9iYWwgcHVibGljIEVDUiBHYWxsZXJ5IHZpYSBEb2NrZXIgQ0xJLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUi9sYXRlc3QvcHVibGljL3B1YmxpYy1yZWdpc3RyaWVzLmh0bWwjcHVibGljLXJlZ2lzdHJ5LWF1dGhcbiAqL1xuZXhwb3J0IGNsYXNzIFB1YmxpY0dhbGxlcnlBdXRob3JpemF0aW9uVG9rZW4ge1xuICAvKipcbiAgICogR3JhbnQgYWNjZXNzIHRvIHJldHJpZXZlIGFuIGF1dGhvcml6YXRpb24gdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSkge1xuICAgIGdyYW50ZWUuZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImVjci1wdWJsaWM6R2V0QXV0aG9yaXphdGlvblRva2VuXCIsXG4gICAgICAgICAgXCJzdHM6R2V0U2VydmljZUJlYXJlclRva2VuXCIsXG4gICAgICAgIF0sXG4gICAgICAgIC8vIEdldEF1dGhvcml6YXRpb25Ub2tlbiBvbmx5IGFsbG93cyAnKicuIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hbWF6b25lbGFzdGljY29udGFpbmVycmVnaXN0cnkuaHRtbCNhbWF6b25lbGFzdGljY29udGFpbmVycmVnaXN0cnktYWN0aW9ucy1hcy1wZXJtaXNzaW9uc1xuICAgICAgICAvLyBHZXRTZXJ2aWNlQmVhcmVyVG9rZW4gb25seSBhbGxvd3MgJyonLiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzc2VjdXJpdHl0b2tlbnNlcnZpY2UuaHRtbCNhd3NzZWN1cml0eXRva2Vuc2VydmljZS1hY3Rpb25zLWFzLXBlcm1pc3Npb25zXG4gICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
@@ -45,5 +45,5 @@ class Billing {
45
45
  }
46
46
  exports.Billing = Billing;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- Billing[_a] = { fqn: "terraconstructs.aws.storage.Billing", version: "0.2.4" };
48
+ Billing[_a] = { fqn: "terraconstructs.aws.storage.Billing", version: "0.2.6" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9iaWxsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUNBQXVDO0FBc0N2Qzs7O0dBR0c7QUFDSCxNQUFzQixPQUFPO0lBQzNCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQTBCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEtBQU0sU0FBUSxPQUFPO1lBQ3hCLG1CQUFtQjtnQkFDeEIsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLENBQUM7WUFDcEMsQ0FBQztZQUVNLG9CQUFvQjtnQkFDekIsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLENBQUM7WUFDckMsQ0FBQztTQUNGLENBQUMsQ0FBQyxvQkFBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFzQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFNLFNBQVEsT0FBTztZQUN4QixtQkFBbUI7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2xELENBQUM7WUFFTSxvQkFBb0I7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3BELENBQUM7U0FDRixDQUFDLENBQUMsb0JBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBb0MsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUFHLENBQUM7O0FBbkMzRCwwQkE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXBhY2l0eSB9IGZyb20gXCIuL2NhcGFjaXR5XCI7XG5pbXBvcnQgeyBCaWxsaW5nTW9kZSB9IGZyb20gXCIuL3NoYXJlZFwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgdXNlZCB0byBjb25maWd1cmUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBmb3IgYSBEeW5hbW9EQiB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaHJvdWdocHV0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHJlYWQgY2FwYWNpdHkuXG4gICAqL1xuICByZWFkb25seSByZWFkQ2FwYWNpdHk6IENhcGFjaXR5O1xuXG4gIC8qKlxuICAgKiBUaGUgd3JpdGUgY2FwYWNpdHkuXG4gICAqL1xuICByZWFkb25seSB3cml0ZUNhcGFjaXR5OiBDYXBhY2l0eTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIG1heGltdW0gdGhyb3VnaHB1dCBmb3IgYW4gb24tZGVtYW5kIHRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1heFRocm91Z2hwdXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4IHJlYWQgcmVxdWVzdCB1bml0cy5cbiAgICogQGRlZmF1bHQgLSBpZiB0YWJsZSBtb2RlIGlzIG9uLWRlbWFuZCBhbmQgdGhpcyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQsXG4gICAqIG5vIG1heGltdW0gdGhyb3VnaHB1dCBsaW1pdCB3aWxsIGJlIHB1dCBpbiBwbGFjZSBmb3IgcmVhZCByZXF1ZXN0cy5cbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIHRhYmxlcyB1c2luZyBvbi1kZW1hbmQgbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heFJlYWRSZXF1ZXN0VW5pdHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXggd3JpdGUgcmVxdWVzdCB1bml0cy5cbiAgICogQGRlZmF1bHQgLSBpZiB0YWJsZSBtb2RlIGlzIG9uLWRlbWFuZCBhbmQgdGhpcyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQsXG4gICAqIG5vIG1heGltdW0gdGhyb3VnaHB1dCBsaW1pdCB3aWxsIGJlIHB1dCBpbiBwbGFjZSBmb3Igd3JpdGUgcmVxdWVzdHMuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgb25seSBhcHBsaWNhYmxlIGZvciB0YWJsZXMgdXNpbmcgb24tZGVtYW5kIG1vZGUuXG4gICAqL1xuICByZWFkb25seSBtYXhXcml0ZVJlcXVlc3RVbml0cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGhvdyBjYXBhY2l0eSBpcyBtYW5hZ2VkIGFuZCBob3cgeW91IGFyZSBjaGFyZ2VkIGZvciByZWFkIGFuZCB3cml0ZSB0aHJvdWdocHV0XG4gKiBmb3IgYSBEeW5hbW9EQiB0YWJsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJpbGxpbmcge1xuICAvKipcbiAgICogRmxleGlibGUgYmlsbGluZyBvcHRpb24gY2FwYWJsZSBvZiBzZXJ2aW5nIHJlcXVlc3RzIHdpdGhvdXQgY2FwYWNpdHkgcGxhbm5pbmcuXG4gICAqXG4gICAqIE5vdGU6IEJpbGxpbmcgbW9kZSB3aWxsIGJlIFBBWV9QRVJfUkVRVUVTVC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb25EZW1hbmQocHJvcHM/OiBNYXhUaHJvdWdocHV0UHJvcHMpOiBCaWxsaW5nIHtcbiAgICByZXR1cm4gbmV3IChjbGFzcyBleHRlbmRzIEJpbGxpbmcge1xuICAgICAgcHVibGljIF9yZW5kZXJSZWFkQ2FwYWNpdHkoKSB7XG4gICAgICAgIHJldHVybiBwcm9wcz8ubWF4UmVhZFJlcXVlc3RVbml0cztcbiAgICAgIH1cblxuICAgICAgcHVibGljIF9yZW5kZXJXcml0ZUNhcGFjaXR5KCkge1xuICAgICAgICByZXR1cm4gcHJvcHM/Lm1heFdyaXRlUmVxdWVzdFVuaXRzO1xuICAgICAgfVxuICAgIH0pKEJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCk7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlYWRzIGFuZCB3cml0ZXMgcGVyIHNlY29uZCB0aGF0IHlvdSBuZWVkIGZvciB5b3VyIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgc3BlY2lmeSByZWFkIGFuZCB3cml0ZSBjYXBhY2l0eSBjb25maWd1cmF0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcHJvdmlzaW9uZWQocHJvcHM6IFRocm91Z2hwdXRQcm9wcyk6IEJpbGxpbmcge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgQmlsbGluZyB7XG4gICAgICBwdWJsaWMgX3JlbmRlclJlYWRDYXBhY2l0eSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3BzLnJlYWRDYXBhY2l0eS5fcmVuZGVyUmVhZENhcGFjaXR5KCk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBfcmVuZGVyV3JpdGVDYXBhY2l0eSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3BzLndyaXRlQ2FwYWNpdHkuX3JlbmRlcldyaXRlQ2FwYWNpdHkoKTtcbiAgICAgIH1cbiAgICB9KShCaWxsaW5nTW9kZS5QUk9WSVNJT05FRCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBtb2RlOiBCaWxsaW5nTW9kZSkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlclJlYWRDYXBhY2l0eSgpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXJXcml0ZUNhcGFjaXR5KCk6IGFueTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { s3BucketNotification } from "@cdktf/provider-aws";
1
+ import { s3BucketNotification } from "@cdktn/provider-aws";
2
2
  import { Construct } from "constructs";
3
3
  import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
4
4
  import { IBucket, EventType, NotificationKeyFilter } from "./bucket";
@@ -3,8 +3,8 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.BucketNotifications = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const provider_aws_1 = require("@cdktf/provider-aws");
7
- const cdktf_1 = require("cdktf");
6
+ const provider_aws_1 = require("@cdktn/provider-aws");
7
+ const cdktn_1 = require("cdktn");
8
8
  const aws_construct_1 = require("../aws-construct");
9
9
  const bucket_destination_1 = require("./bucket-destination");
10
10
  /**
@@ -124,20 +124,20 @@ class BucketNotifications extends aws_construct_1.AwsConstructBase {
124
124
  if (!this.resource) {
125
125
  this.resource = new provider_aws_1.s3BucketNotification.S3BucketNotification(this, "Resource", {
126
126
  bucket: this.bucket.bucketName,
127
- eventbridge: cdktf_1.Lazy.anyValue({
127
+ eventbridge: cdktn_1.Lazy.anyValue({
128
128
  produce: () => this.eventBridgeEnabled,
129
129
  }),
130
- lambdaFunction: cdktf_1.Lazy.anyValue({
130
+ lambdaFunction: cdktn_1.Lazy.anyValue({
131
131
  produce: () => this.lambdaNotifications.length > 0
132
132
  ? this.lambdaNotifications.map((l) => provider_aws_1.s3BucketNotification.s3BucketNotificationLambdaFunctionToTerraform(l))
133
133
  : undefined,
134
134
  }),
135
- queue: cdktf_1.Lazy.anyValue({
135
+ queue: cdktn_1.Lazy.anyValue({
136
136
  produce: () => this.queueNotifications.length > 0
137
137
  ? this.queueNotifications.map((q) => provider_aws_1.s3BucketNotification.s3BucketNotificationQueueToTerraform(q))
138
138
  : undefined,
139
139
  }),
140
- topic: cdktf_1.Lazy.anyValue({
140
+ topic: cdktn_1.Lazy.anyValue({
141
141
  produce: () => this.topicNotifications.length > 0
142
142
  ? this.topicNotifications.map((t) => provider_aws_1.s3BucketNotification.s3BucketNotificationTopicToTerraform(t))
143
143
  : undefined,
@@ -165,5 +165,5 @@ class BucketNotifications extends aws_construct_1.AwsConstructBase {
165
165
  }
166
166
  exports.BucketNotifications = BucketNotifications;
167
167
  _a = JSII_RTTI_SYMBOL_1;
168
- BucketNotifications[_a] = { fqn: "terraconstructs.aws.storage.BucketNotifications", version: "0.2.4" };
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYnVja2V0LW5vdGlmaWNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBMkQ7QUFDM0QsaUNBQTZCO0FBRTdCLG9EQUF1RTtBQUV2RSw2REFHOEI7QUFTOUI7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGdDQUFnQjtJQUV2RCxJQUFXLE9BQU87UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBV0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBVlgsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUNsQyxJQUFJLEtBQUssRUFBMkQsQ0FBQztRQUN0RCx1QkFBa0IsR0FDakMsSUFBSSxLQUFLLEVBQWtELENBQUM7UUFDN0MsdUJBQWtCLEdBQ2pDLElBQUksS0FBSyxFQUFrRCxDQUFDO1FBSzVELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FDcEIsS0FBZ0IsRUFDaEIsTUFBc0MsRUFDdEMsR0FBRyxPQUFnQztRQUVuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxpRkFBaUY7UUFDakYseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLDBDQUEwQztZQUMxQyxxQkFBcUI7WUFDckIscUVBQXFFO1lBQ3JFLE9BQU87WUFDUCxJQUFJO1lBQ0osdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsaUVBQWlFO1lBQ2pFLFNBQVM7WUFDVCxNQUFNO1lBQ04sc0JBQXNCO1lBQ3RCLElBQUk7WUFDSix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixpRUFBaUU7WUFDakUsU0FBUztZQUNULE1BQU07WUFDTixzQkFBc0I7WUFDdEIsSUFBSTtZQUNKLGtGQUFrRjtZQUNsRixpREFBaUQ7WUFDakQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE1BQU0sWUFBWSxHQUF3QjtnQkFDeEMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUNmLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDYixZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU07Z0JBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTTthQUM1QixDQUFDO1lBRUYsMkRBQTJEO1lBQzNELHdGQUF3RjtZQUN4RiwyREFBMkQ7WUFDM0QsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFFRCxxRUFBcUU7WUFDckUsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLEtBQUssc0RBQWlDLENBQUMsTUFBTTtvQkFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQzt3QkFDNUIsR0FBRyxZQUFZO3dCQUNmLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxHQUFHO3FCQUNuQyxDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFFUixLQUFLLHNEQUFpQyxDQUFDLEtBQUs7b0JBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7d0JBQzNCLEdBQUcsWUFBWTt3QkFDZixRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUc7cUJBQzFCLENBQUMsQ0FBQztvQkFDSCxNQUFNO2dCQUVSLDJCQUEyQjtnQkFDM0IsS0FBSyxzREFBaUMsQ0FBQyxLQUFLO29CQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO3dCQUMzQixHQUFHLFlBQVk7d0JBQ2YsUUFBUSxFQUFFLFdBQVcsQ0FBQyxHQUFHO3FCQUMxQixDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUNiLHVDQUF1Qzt3QkFDckMsc0RBQWlDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUN0RCxDQUFDO1lBQ04sQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sNkJBQTZCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUNBQW9CLENBQUMsb0JBQW9CLENBQzNELElBQUksRUFDSixVQUFVLEVBQ1Y7Z0JBQ0UsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtnQkFDOUIsV0FBVyxFQUFFLFlBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO2lCQUN2QyxDQUFDO2dCQUNGLGNBQWMsRUFBRSxZQUFJLENBQUMsUUFBUSxDQUFDO29CQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQ1osSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDO3dCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2pDLG1DQUFvQixDQUFDLDZDQUE2QyxDQUNoRSxDQUFDLENBQ0YsQ0FDRjt3QkFDSCxDQUFDLENBQUMsU0FBUztpQkFDaEIsQ0FBQztnQkFDRixLQUFLLEVBQUUsWUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNoQyxtQ0FBb0IsQ0FBQyxvQ0FBb0MsQ0FDdkQsQ0FBQyxDQUNGLENBQ0Y7d0JBQ0gsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hCLENBQUM7Z0JBQ0YsS0FBSyxFQUFFLFlBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7d0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDaEMsbUNBQW9CLENBQUMsb0NBQW9DLENBQ3ZELENBQUMsQ0FDRixDQUNGO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNoQixDQUFDO2FBQ0gsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVc7UUFDaEIsd0VBQXdFO1FBQ3hFLDRGQUE0RjtRQUM1RixrREFBa0Q7UUFDbEQscUhBQXFIO1FBQ3JILGtHQUFrRztRQUNsRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQXBMSCxrREFxTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzM0J1Y2tldE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBMYXp5IH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUJ1Y2tldCwgRXZlbnRUeXBlLCBOb3RpZmljYXRpb25LZXlGaWx0ZXIgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7XG4gIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZSxcbiAgSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLFxufSBmcm9tIFwiLi9idWNrZXQtZGVzdGluYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRvIG1hbmFnZSBub3RpZmljYXRpb25zIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuLyoqXG4gKiBBIGN1c3RvbSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0aGF0IHVwZGF0ZXMgYnVja2V0IG5vdGlmaWNhdGlvbnMgZm9yIGFcbiAqIGJ1Y2tldC4gVGhlIHJlYXNvbiB3ZSBuZWVkIGl0IGlzIGJlY2F1c2UgdGhlIEFXUzo6UzM6OkJ1Y2tldCBub3RpZmljYXRpb25cbiAqIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBvbiB0aGUgYnVja2V0IGl0c2VsZiwgd2hpY2ggbWFrZXMgaXQgaW1wb3NzaWJsZSB0b1xuICogcHJvdmlzaW9uIG5vdGlmaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgdGFyZ2V0IChzaW5jZVxuICogUHV0QnVja2V0Tm90aWZpY2F0aW9ucyB2YWxpZGF0ZXMgdGhlIHRhcmdldHMpLlxuICpcbiAqIFNpbmNlIG9ubHkgYSBzaW5nbGUgQnVja2V0Tm90aWZpY2F0aW9ucyByZXNvdXJjZSBpcyBhbGxvd2VkIGZvciBlYWNoIEJ1Y2tldCxcbiAqIHRoaXMgY29uc3RydWN0IGlzIG5vdCBleHBvcnRlZCBpbiB0aGUgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZS4gSW5zdGVhZCwgaXRcbiAqIGlzIGNyZWF0ZWQganVzdC1pbi10aW1lIGJ5IGBzMy5CdWNrZXQub25FdmVudGAsIHNvIGEgMToxIHJlbGF0aW9uc2hpcCBpc1xuICogZW5zdXJlZC5cbiAqXG4gKiBAc2VlXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zMy1idWNrZXQtbm90aWZpY2F0aW9uY29uZmlnLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgcHVibGljIHJlc291cmNlPzogczNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb247XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGV2ZW50QnJpZGdlRW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYU5vdGlmaWNhdGlvbnMgPVxuICAgIG5ldyBBcnJheTxzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlTm90aWZpY2F0aW9ucyA9XG4gICAgbmV3IEFycmF5PHMzQnVja2V0Tm90aWZpY2F0aW9uLlMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID1cbiAgICBuZXcgQXJyYXk8czNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb25Ub3BpYz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vdGlmaWNhdGlvbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gZm9yIHRoaXMgYnVja2V0LlxuICAgKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24sIGEgQnVja2V0Tm90aWZpY2F0aW9uIHJlc291cmNlIGlzIGFkZGVkIHRvIHRoZSBzdGFjay5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IFRoZSB0eXBlIG9mIGV2ZW50XG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGZpbHRlcnMgQSBzZXQgb2YgUzMga2V5IGZpbHRlcnNcbiAgICovXG4gIHB1YmxpYyBhZGROb3RpZmljYXRpb24oXG4gICAgZXZlbnQ6IEV2ZW50VHlwZSxcbiAgICB0YXJnZXQ6IElCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbixcbiAgICAuLi5maWx0ZXJzOiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXVxuICApIHtcbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuY3JlYXRlUmVzb3VyY2VPbmNlKCk7XG4gICAgLy8gVE9ETzogU2VlbXMgVGVycmFmb3JtIHByb3ZpZGVyIGRvZXMgbm90IGhhdmUgbGltaXRhdGlvbnMgb24gcHJlZml4IGFuZCBzdWZmaXg/XG4gICAgLy8gbGV0IGhhc1ByZWZpeCA9IGZhbHNlO1xuICAgIC8vIGxldCBoYXNTdWZmaXggPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICAvLyBpZiAoIWZpbHRlci5zdWZmaXggJiYgIWZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgLy8gICAgIFwiTm90aWZpY2F0aW9uS2V5RmlsdGVyIG11c3Qgc3BlY2lmeSBgcHJlZml4YCBhbmQvb3IgYHN1ZmZpeGBcIixcbiAgICAgIC8vICAgKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChmaWx0ZXIuc3VmZml4KSB7XG4gICAgICAvLyAgIGlmIChoYXNTdWZmaXgpIHtcbiAgICAgIC8vICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAvLyAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgc3VmZml4IHJ1bGUgaW4gYSBmaWx0ZXIuXCIsXG4gICAgICAvLyAgICAgKTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gICBoYXNTdWZmaXggPSB0cnVlO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKGZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgaWYgKGhhc1ByZWZpeCkge1xuICAgICAgLy8gICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIC8vICAgICAgIFwiQ2Fubm90IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBwcmVmaXggcnVsZSBpbiBhIGZpbHRlci5cIixcbiAgICAgIC8vICAgICApO1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIGhhc1ByZWZpeCA9IHRydWU7XG4gICAgICAvLyB9XG4gICAgICAvLyByZXNvbHZlIHRhcmdldC4gdGhpcyBhbHNvIHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgdGFyZ2V0IHRvIGUuZy4gdXBkYXRlXG4gICAgICAvLyBwb2xpY2llcyB0byBhbGxvdyB0aGlzIG5vdGlmaWNhdGlvbiB0byBoYXBwZW4uXG4gICAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5iaW5kKHRoaXMsIHRoaXMuYnVja2V0KTtcbiAgICAgIGNvbnN0IGNvbW1vbkNvbmZpZzogQ29tbW9uQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgZXZlbnRzOiBbZXZlbnRdLFxuICAgICAgICBpZDogZmlsdGVyLmlkLFxuICAgICAgICBmaWx0ZXJQcmVmaXg6IGZpbHRlci5wcmVmaXgsXG4gICAgICAgIGZpbHRlclN1ZmZpeDogZmlsdGVyLnN1ZmZpeCxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIHRoZSB0YXJnZXQgc3BlY2lmaWVzIGFueSBkZXBlbmRlbmNpZXMsIGFkZCB0aGVtIGhlcmUuXG4gICAgICAvLyBmb3IgZXhhbXBsZSwgdGhlIFNOUyB0b3BpYyBwb2xpY3kgbXVzdCBiZSBjcmVhdGVkIC9iZWZvcmUvIHRoZSBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgaWYgKHRhcmdldFByb3BzLmRlcGVuZGVuY2llcykge1xuICAgICAgICByZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3koLi4udGFyZ2V0UHJvcHMuZGVwZW5kZW5jaWVzKTtcbiAgICAgIH1cblxuICAgICAgLy8gYmFzZWQgb24gdGhlIHRhcmdldCB0eXBlLCBhZGQgdGhlIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb25zIGFycmF5XG4gICAgICBzd2l0Y2ggKHRhcmdldFByb3BzLnR5cGUpIHtcbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTEFNQkRBOlxuICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuUVVFVUU6XG4gICAgICAgICAgdGhpcy5xdWV1ZU5vdGlmaWNhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAuLi5jb21tb25Db25maWcsXG4gICAgICAgICAgICBxdWV1ZUFybjogdGFyZ2V0UHJvcHMuYXJuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIFRPRE86IHJlLWFkZCBTTlMgc3VwcG9ydFxuICAgICAgICBjYXNlIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5UT1BJQzpcbiAgICAgICAgICB0aGlzLnRvcGljTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIHRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcIlVuc3VwcG9ydGVkIG5vdGlmaWNhdGlvbiB0YXJnZXQgdHlwZTpcIiArXG4gICAgICAgICAgICAgIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZVt0YXJnZXRQcm9wcy50eXBlXSxcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVFdmVudEJyaWRnZU5vdGlmaWNhdGlvbigpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc291cmNlT25jZSgpO1xuICAgIHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBidWNrZXQgbm90aWZpY2F0aW9ucyByZXNvdXJjZXMgaW4gdGhlIHN0YWNrIG9ubHkgb25jZS5cbiAgICogVGhpcyBpcyBjYWxsZWQgbGF6aWx5IGFzIHdlIGFkZCBub3RpZmljYXRpb25zLCBzbyB0aGF0IGlmIG5vdGlmaWNhdGlvbnMgYXJlIG5vdCBhZGRlZCxcbiAgICogdGhlcmUgaXMgbm8gbm90aWZpY2F0aW9ucyByZXNvdXJjZS5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlUmVzb3VyY2VPbmNlKCkge1xuICAgIGlmICghdGhpcy5yZXNvdXJjZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgYnVja2V0OiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIGV2ZW50YnJpZGdlOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+IHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMubWFwKChsKSA9PlxuICAgICAgICAgICAgICAgICAgICBzM0J1Y2tldE5vdGlmaWNhdGlvbi5zM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uVG9UZXJyYWZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgbCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBxdWV1ZTogTGF6eS5hbnlWYWx1ZSh7XG4gICAgICAgICAgICBwcm9kdWNlOiAoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5tYXAoKHEpID0+XG4gICAgICAgICAgICAgICAgICAgIHMzQnVja2V0Tm90aWZpY2F0aW9uLnMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWVUb1RlcnJhZm9ybShcbiAgICAgICAgICAgICAgICAgICAgICBxLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvcGljOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IHRoaXMudG9waWNOb3RpZmljYXRpb25zLm1hcCgodCkgPT5cbiAgICAgICAgICAgICAgICAgICAgczNCdWNrZXROb3RpZmljYXRpb24uczNCdWNrZXROb3RpZmljYXRpb25Ub3BpY1RvVGVycmFmb3JtKFxuICAgICAgICAgICAgICAgICAgICAgIHQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHJlc291cmNlIHRvIHRoZSBUZXJyYWZvcm0gSlNPTiBvdXRwdXQgYXQgU3ludGggdGltZS5cbiAgICpcbiAgICogY2FsbGVkIGJ5IFRlcnJhZm9ybVN0YWNrLnByZXBhcmVTdGFjaygpXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBvbiBidWNrZXQgcG9saWN5IGlmIGl0IGV4aXN0cyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnNcbiAgICAvLyBTMyBkb2VzIG5vdCBhbGxvdyBjYWxsaW5nIFB1dEJ1Y2tldFBvbGljeSBhbmQgUHV0QnVja2V0Tm90aWZpY2F0aW9uIEFQSXMgYXQgdGhlIHNhbWUgdGltZVxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzI3NjAwXG4gICAgLy8gcHJlcGFyZVN0YWNrIGFyZSB1c2VkIGhlcmUgYmVjYXVzZSBidWNrZXQgcG9saWN5IG1heWJlIGFkZGVkIHRvIGNvbnN0cnVjdCBhZnRlciBhZGRpdGlvbiBvZiBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgLy8gYnV0IHdlIG5lZWQgdGhpcyBkZWZpbmVkIGJlZm9yZSBzdGFjayBBc3BlY3QgbWFwcyBjb25zdHJ1Y3QgZGVwZW5kZW5jaWVzIHRvIFRlcnJhZm9ybSBkZXBlbmRzT25cbiAgICBpZiAodGhpcy5idWNrZXQucG9saWN5KSB7XG4gICAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmJ1Y2tldC5wb2xpY3kpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X25vdGlmaWNhdGlvbiNpZCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNpZH1cbiAgICpcbiAgICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50czogc3RyaW5nW107XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9zM19idWNrZXRfbm90aWZpY2F0aW9uI2ZpbHRlcl9wcmVmaXggUzNCdWNrZXROb3RpZmljYXRpb24jZmlsdGVyX3ByZWZpeH1cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3MzX2J1Y2tldF9ub3RpZmljYXRpb24jZmlsdGVyX3N1ZmZpeCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNmaWx0ZXJfc3VmZml4fVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyU3VmZml4Pzogc3RyaW5nO1xufVxuIl19
168
+ BucketNotifications[_a] = { fqn: "terraconstructs.aws.storage.BucketNotifications", version: "0.2.6" };
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYnVja2V0LW5vdGlmaWNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBMkQ7QUFDM0QsaUNBQTZCO0FBRTdCLG9EQUF1RTtBQUV2RSw2REFHOEI7QUFTOUI7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGdDQUFnQjtJQUV2RCxJQUFXLE9BQU87UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBV0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBVlgsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUNsQyxJQUFJLEtBQUssRUFBMkQsQ0FBQztRQUN0RCx1QkFBa0IsR0FDakMsSUFBSSxLQUFLLEVBQWtELENBQUM7UUFDN0MsdUJBQWtCLEdBQ2pDLElBQUksS0FBSyxFQUFrRCxDQUFDO1FBSzVELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FDcEIsS0FBZ0IsRUFDaEIsTUFBc0MsRUFDdEMsR0FBRyxPQUFnQztRQUVuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxpRkFBaUY7UUFDakYseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLDBDQUEwQztZQUMxQyxxQkFBcUI7WUFDckIscUVBQXFFO1lBQ3JFLE9BQU87WUFDUCxJQUFJO1lBQ0osdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsaUVBQWlFO1lBQ2pFLFNB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WUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNoQyxtQ0FBb0IsQ0FBQyxvQ0FBb0MsQ0FDdkQsQ0FBQyxDQUNGLENBQ0Y7d0JBQ0gsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hCLENBQUM7Z0JBQ0YsS0FBSyxFQUFFLFlBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7d0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDaEMsbUNBQW9CLENBQUMsb0NBQW9DLENBQ3ZELENBQUMsQ0FDRixDQUNGO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNoQixDQUFDO2FBQ0gsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVc7UUFDaEIsd0VBQXdFO1FBQ3hFLDRGQUE0RjtRQUM1RixrREFBa0Q7UUFDbEQscUhBQXFIO1FBQ3JILGtHQUFrRztRQUNsRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQXBMSCxrREFxTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzM0J1Y2tldE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBMYXp5IH0gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUJ1Y2tldCwgRXZlbnRUeXBlLCBOb3RpZmljYXRpb25LZXlGaWx0ZXIgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7XG4gIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZSxcbiAgSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLFxufSBmcm9tIFwiLi9idWNrZXQtZGVzdGluYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRvIG1hbmFnZSBub3RpZmljYXRpb25zIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuLyoqXG4gKiBBIGN1c3RvbSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0aGF0IHVwZGF0ZXMgYnVja2V0IG5vdGlmaWNhdGlvbnMgZm9yIGFcbiAqIGJ1Y2tldC4gVGhlIHJlYXNvbiB3ZSBuZWVkIGl0IGlzIGJlY2F1c2UgdGhlIEFXUzo6UzM6OkJ1Y2tldCBub3RpZmljYXRpb25cbiAqIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBvbiB0aGUgYnVja2V0IGl0c2VsZiwgd2hpY2ggbWFrZXMgaXQgaW1wb3NzaWJsZSB0b1xuICogcHJvdmlzaW9uIG5vdGlmaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgdGFyZ2V0IChzaW5jZVxuICogUHV0QnVja2V0Tm90aWZpY2F0aW9ucyB2YWxpZGF0ZXMgdGhlIHRhcmdldHMpLlxuICpcbiAqIFNpbmNlIG9ubHkgYSBzaW5nbGUgQnVja2V0Tm90aWZpY2F0aW9ucyByZXNvdXJjZSBpcyBhbGxvd2VkIGZvciBlYWNoIEJ1Y2tldCxcbiAqIHRoaXMgY29uc3RydWN0IGlzIG5vdCBleHBvcnRlZCBpbiB0aGUgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZS4gSW5zdGVhZCwgaXRcbiAqIGlzIGNyZWF0ZWQganVzdC1pbi10aW1lIGJ5IGBzMy5CdWNrZXQub25FdmVudGAsIHNvIGEgMToxIHJlbGF0aW9uc2hpcCBpc1xuICogZW5zdXJlZC5cbiAqXG4gKiBAc2VlXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zMy1idWNrZXQtbm90aWZpY2F0aW9uY29uZmlnLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgcHVibGljIHJlc291cmNlPzogczNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb247XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGV2ZW50QnJpZGdlRW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYU5vdGlmaWNhdGlvbnMgPVxuICAgIG5ldyBBcnJheTxzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlTm90aWZpY2F0aW9ucyA9XG4gICAgbmV3IEFycmF5PHMzQnVja2V0Tm90aWZpY2F0aW9uLlMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID1cbiAgICBuZXcgQXJyYXk8czNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb25Ub3BpYz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vdGlmaWNhdGlvbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gZm9yIHRoaXMgYnVja2V0LlxuICAgKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24sIGEgQnVja2V0Tm90aWZpY2F0aW9uIHJlc291cmNlIGlzIGFkZGVkIHRvIHRoZSBzdGFjay5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IFRoZSB0eXBlIG9mIGV2ZW50XG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGZpbHRlcnMgQSBzZXQgb2YgUzMga2V5IGZpbHRlcnNcbiAgICovXG4gIHB1YmxpYyBhZGROb3RpZmljYXRpb24oXG4gICAgZXZlbnQ6IEV2ZW50VHlwZSxcbiAgICB0YXJnZXQ6IElCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbixcbiAgICAuLi5maWx0ZXJzOiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXVxuICApIHtcbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuY3JlYXRlUmVzb3VyY2VPbmNlKCk7XG4gICAgLy8gVE9ETzogU2VlbXMgVGVycmFmb3JtIHByb3ZpZGVyIGRvZXMgbm90IGhhdmUgbGltaXRhdGlvbnMgb24gcHJlZml4IGFuZCBzdWZmaXg/XG4gICAgLy8gbGV0IGhhc1ByZWZpeCA9IGZhbHNlO1xuICAgIC8vIGxldCBoYXNTdWZmaXggPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICAvLyBpZiAoIWZpbHRlci5zdWZmaXggJiYgIWZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgLy8gICAgIFwiTm90aWZpY2F0aW9uS2V5RmlsdGVyIG11c3Qgc3BlY2lmeSBgcHJlZml4YCBhbmQvb3IgYHN1ZmZpeGBcIixcbiAgICAgIC8vICAgKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChmaWx0ZXIuc3VmZml4KSB7XG4gICAgICAvLyAgIGlmIChoYXNTdWZmaXgpIHtcbiAgICAgIC8vICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAvLyAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgc3VmZml4IHJ1bGUgaW4gYSBmaWx0ZXIuXCIsXG4gICAgICAvLyAgICAgKTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gICBoYXNTdWZmaXggPSB0cnVlO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKGZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgaWYgKGhhc1ByZWZpeCkge1xuICAgICAgLy8gICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIC8vICAgICAgIFwiQ2Fubm90IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBwcmVmaXggcnVsZSBpbiBhIGZpbHRlci5cIixcbiAgICAgIC8vICAgICApO1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIGhhc1ByZWZpeCA9IHRydWU7XG4gICAgICAvLyB9XG4gICAgICAvLyByZXNvbHZlIHRhcmdldC4gdGhpcyBhbHNvIHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgdGFyZ2V0IHRvIGUuZy4gdXBkYXRlXG4gICAgICAvLyBwb2xpY2llcyB0byBhbGxvdyB0aGlzIG5vdGlmaWNhdGlvbiB0byBoYXBwZW4uXG4gICAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5iaW5kKHRoaXMsIHRoaXMuYnVja2V0KTtcbiAgICAgIGNvbnN0IGNvbW1vbkNvbmZpZzogQ29tbW9uQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgZXZlbnRzOiBbZXZlbnRdLFxuICAgICAgICBpZDogZmlsdGVyLmlkLFxuICAgICAgICBmaWx0ZXJQcmVmaXg6IGZpbHRlci5wcmVmaXgsXG4gICAgICAgIGZpbHRlclN1ZmZpeDogZmlsdGVyLnN1ZmZpeCxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIHRoZSB0YXJnZXQgc3BlY2lmaWVzIGFueSBkZXBlbmRlbmNpZXMsIGFkZCB0aGVtIGhlcmUuXG4gICAgICAvLyBmb3IgZXhhbXBsZSwgdGhlIFNOUyB0b3BpYyBwb2xpY3kgbXVzdCBiZSBjcmVhdGVkIC9iZWZvcmUvIHRoZSBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgaWYgKHRhcmdldFByb3BzLmRlcGVuZGVuY2llcykge1xuICAgICAgICByZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3koLi4udGFyZ2V0UHJvcHMuZGVwZW5kZW5jaWVzKTtcbiAgICAgIH1cblxuICAgICAgLy8gYmFzZWQgb24gdGhlIHRhcmdldCB0eXBlLCBhZGQgdGhlIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb25zIGFycmF5XG4gICAgICBzd2l0Y2ggKHRhcmdldFByb3BzLnR5cGUpIHtcbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTEFNQkRBOlxuICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuUVVFVUU6XG4gICAgICAgICAgdGhpcy5xdWV1ZU5vdGlmaWNhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAuLi5jb21tb25Db25maWcsXG4gICAgICAgICAgICBxdWV1ZUFybjogdGFyZ2V0UHJvcHMuYXJuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIFRPRE86IHJlLWFkZCBTTlMgc3VwcG9ydFxuICAgICAgICBjYXNlIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5UT1BJQzpcbiAgICAgICAgICB0aGlzLnRvcGljTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIHRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcIlVuc3VwcG9ydGVkIG5vdGlmaWNhdGlvbiB0YXJnZXQgdHlwZTpcIiArXG4gICAgICAgICAgICAgIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZVt0YXJnZXRQcm9wcy50eXBlXSxcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVFdmVudEJyaWRnZU5vdGlmaWNhdGlvbigpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc291cmNlT25jZSgpO1xuICAgIHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBidWNrZXQgbm90aWZpY2F0aW9ucyByZXNvdXJjZXMgaW4gdGhlIHN0YWNrIG9ubHkgb25jZS5cbiAgICogVGhpcyBpcyBjYWxsZWQgbGF6aWx5IGFzIHdlIGFkZCBub3RpZmljYXRpb25zLCBzbyB0aGF0IGlmIG5vdGlmaWNhdGlvbnMgYXJlIG5vdCBhZGRlZCxcbiAgICogdGhlcmUgaXMgbm8gbm90aWZpY2F0aW9ucyByZXNvdXJjZS5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlUmVzb3VyY2VPbmNlKCkge1xuICAgIGlmICghdGhpcy5yZXNvdXJjZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgYnVja2V0OiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIGV2ZW50YnJpZGdlOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+IHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMubWFwKChsKSA9PlxuICAgICAgICAgICAgICAgICAgICBzM0J1Y2tldE5vdGlmaWNhdGlvbi5zM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uVG9UZXJyYWZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgbCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBxdWV1ZTogTGF6eS5hbnlWYWx1ZSh7XG4gICAgICAgICAgICBwcm9kdWNlOiAoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5tYXAoKHEpID0+XG4gICAgICAgICAgICAgICAgICAgIHMzQnVja2V0Tm90aWZpY2F0aW9uLnMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWVUb1RlcnJhZm9ybShcbiAgICAgICAgICAgICAgICAgICAgICBxLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvcGljOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IHRoaXMudG9waWNOb3RpZmljYXRpb25zLm1hcCgodCkgPT5cbiAgICAgICAgICAgICAgICAgICAgczNCdWNrZXROb3RpZmljYXRpb24uczNCdWNrZXROb3RpZmljYXRpb25Ub3BpY1RvVGVycmFmb3JtKFxuICAgICAgICAgICAgICAgICAgICAgIHQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHJlc291cmNlIHRvIHRoZSBUZXJyYWZvcm0gSlNPTiBvdXRwdXQgYXQgU3ludGggdGltZS5cbiAgICpcbiAgICogY2FsbGVkIGJ5IFRlcnJhZm9ybVN0YWNrLnByZXBhcmVTdGFjaygpXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBvbiBidWNrZXQgcG9saWN5IGlmIGl0IGV4aXN0cyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnNcbiAgICAvLyBTMyBkb2VzIG5vdCBhbGxvdyBjYWxsaW5nIFB1dEJ1Y2tldFBvbGljeSBhbmQgUHV0QnVja2V0Tm90aWZpY2F0aW9uIEFQSXMgYXQgdGhlIHNhbWUgdGltZVxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzI3NjAwXG4gICAgLy8gcHJlcGFyZVN0YWNrIGFyZSB1c2VkIGhlcmUgYmVjYXVzZSBidWNrZXQgcG9saWN5IG1heWJlIGFkZGVkIHRvIGNvbnN0cnVjdCBhZnRlciBhZGRpdGlvbiBvZiBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgLy8gYnV0IHdlIG5lZWQgdGhpcyBkZWZpbmVkIGJlZm9yZSBzdGFjayBBc3BlY3QgbWFwcyBjb25zdHJ1Y3QgZGVwZW5kZW5jaWVzIHRvIFRlcnJhZm9ybSBkZXBlbmRzT25cbiAgICBpZiAodGhpcy5idWNrZXQucG9saWN5KSB7XG4gICAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmJ1Y2tldC5wb2xpY3kpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X25vdGlmaWNhdGlvbiNpZCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNpZH1cbiAgICpcbiAgICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50czogc3RyaW5nW107XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9zM19idWNrZXRfbm90aWZpY2F0aW9uI2ZpbHRlcl9wcmVmaXggUzNCdWNrZXROb3RpZmljYXRpb24jZmlsdGVyX3ByZWZpeH1cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3MzX2J1Y2tldF9ub3RpZmljYXRpb24jZmlsdGVyX3N1ZmZpeCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNmaWx0ZXJfc3VmZml4fVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyU3VmZml4Pzogc3RyaW5nO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { s3BucketPolicy } from "@cdktf/provider-aws";
1
+ import { s3BucketPolicy } from "@cdktn/provider-aws";
2
2
  import { Construct } from "constructs";
3
3
  import { AwsConstructProps, AwsConstructBase } from "../aws-construct";
4
4
  import { IBucket } from "./bucket";
@@ -3,7 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.BucketPolicy = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const provider_aws_1 = require("@cdktf/provider-aws");
6
+ const provider_aws_1 = require("@cdktn/provider-aws");
7
7
  const aws_construct_1 = require("../aws-construct");
8
8
  const iam_1 = require("../iam");
9
9
  /**
@@ -49,5 +49,5 @@ class BucketPolicy extends aws_construct_1.AwsConstructBase {
49
49
  }
50
50
  exports.BucketPolicy = BucketPolicy;
51
51
  _a = JSII_RTTI_SYMBOL_1;
52
- BucketPolicy[_a] = { fqn: "terraconstructs.aws.storage.BucketPolicy", version: "0.2.4" };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXFEO0FBRXJELG9EQUF1RTtBQUV2RSxnQ0FBd0M7QUFTeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsZ0NBQWdCO0lBR2hELElBQVcsT0FBTztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFZRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzQkgsb0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgczNCdWNrZXRQb2xpY3kgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdFByb3BzLCBBd3NDb25zdHJ1Y3RCYXNlIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7IFBvbGljeURvY3VtZW50IH0gZnJvbSBcIi4uL2lhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFBvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBTMyBidWNrZXQgdGhhdCB0aGUgcG9saWN5IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG59XG5cbi8qKlxuICogVGhlIGJ1Y2tldCBwb2xpY3kgZm9yIGFuIEFtYXpvbiBTMyBidWNrZXRcbiAqXG4gKiBQb2xpY2llcyBkZWZpbmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgYWxsb3dlZCBvbiB0aGlzIHJlc291cmNlLlxuICpcbiAqIFlvdSBhbG1vc3QgbmV2ZXIgbmVlZCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QgZGlyZWN0bHkuXG4gKlxuICogQWxsIEFXUyByZXNvdXJjZXMgdGhhdCBzdXBwb3J0IHJlc291cmNlIHBvbGljaWVzIGhhdmUgYSBtZXRob2QgY2FsbGVkXG4gKiBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyByZXNvdXJjZVxuICogcG9saWN5IGlmIG9uZSBkb2Vzbid0IGV4aXN0IHlldCwgb3RoZXJ3aXNlIGl0IHdpbGwgYWRkIHRvIHRoZSBleGlzdGluZ1xuICogcG9saWN5LlxuICpcbiAqIFRoZSBidWNrZXQgcG9saWN5IG1ldGhvZCBpcyBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseSB0aGFuIGBhZGRUb1Jlc291cmNlUG9saWN5KClgXG4gKiBhcyBgQnVja2V0UG9saWN5KClgIGNyZWF0ZXMgYSBuZXcgcG9saWN5IHdpdGhvdXQga25vd2luZyBvbmUgZWFybGllciBleGlzdGVkLlxuICogZS5nLiBpZiBkdXJpbmcgQnVja2V0IGNyZWF0aW9uLCBpZiBgYXV0b0RlbGV0ZU9iamVjdDp0cnVlYCwgdGhlc2UgcG9saWNpZXMgYXJlXG4gKiBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeTpcbiAqICAgIFtcInMzOkRlbGV0ZU9iamVjdCpcIiwgXCJzMzpHZXRCdWNrZXQqXCIsIFwiczM6TGlzdCpcIiwgXCJzMzpQdXRCdWNrZXRQb2xpY3lcIl0sXG4gKiBhbmQgd2hlbiB5b3UgYWRkIGEgbmV3IEJ1Y2tldFBvbGljeSB3aXRoIFtcInMzOkdldE9iamVjdFwiLCBcInMzOkxpc3RCdWNrZXRcIl0gb25cbiAqIHRoaXMgZXhpc3RpbmcgYnVja2V0LCBpbnZva2luZyBgQnVja2V0UG9saWN5KClgIHdpbGwgY3JlYXRlIGEgbmV3IFBvbGljeVxuICogd2l0aG91dCBrbm93aW5nIG9uZSBlYXJsaWVyIGV4aXN0cyBhbHJlYWR5LCBzbyBpdCBjcmVhdGVzIGEgbmV3IG9uZS5cbiAqIEluIHRoaXMgY2FzZSwgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIHdpbGwgbm90IGhhdmUgYWNjZXNzIHRvXG4gKiBgczM6R2V0QnVja2V0VGFnZ2luZ2AgYWN0aW9uIHdoaWNoIHdpbGwgY2F1c2UgZmFpbHVyZSBkdXJpbmcgZGVsZXRpb24gb2Ygc3RhY2suXG4gKlxuICogSGVuY2UgaXRzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCBtZXRob2QgdG8gYWRkXG4gKiBuZXcgcGVybWlzc2lvbnMgdG8gZXhpc3RpbmcgcG9saWN5LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldFBvbGljeSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICAvLyBUT0RPOiByZS1hZGQgc3RhdGljIGZyb20gTWV0aG9kXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogczNCdWNrZXRQb2xpY3kuUzNCdWNrZXRQb2xpY3k7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQSBwb2xpY3kgZG9jdW1lbnQgY29udGFpbmluZyBwZXJtaXNzaW9ucyB0byBhZGQgdG8gdGhlIHNwZWNpZmllZCBidWNrZXQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgQWNjZXNzIFBvbGljeSBMYW5ndWFnZSBPdmVydmlldyBpbiB0aGUgQW1hem9uXG4gICAqIFNpbXBsZSBTdG9yYWdlIFNlcnZpY2UgRGV2ZWxvcGVyIEd1aWRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50OiBQb2xpY3lEb2N1bWVudDtcblxuICAvKiogVGhlIEJ1Y2tldCB0aGlzIFBvbGljeSBhcHBsaWVzIHRvLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHByb3BzLmJ1Y2tldDtcbiAgICB0aGlzLmRvY3VtZW50ID0gbmV3IFBvbGljeURvY3VtZW50KHRoaXMsIFwiUG9saWN5XCIpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldFBvbGljeS5TM0J1Y2tldFBvbGljeSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHBvbGljeTogdGhpcy5kb2N1bWVudC5qc29uLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
52
+ BucketPolicy[_a] = { fqn: "terraconstructs.aws.storage.BucketPolicy", version: "0.2.6" };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXFEO0FBRXJELG9EQUF1RTtBQUV2RSxnQ0FBd0M7QUFTeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsZ0NBQWdCO0lBR2hELElBQVcsT0FBTztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFZRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzQkgsb0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgczNCdWNrZXRQb2xpY3kgfSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdFByb3BzLCBBd3NDb25zdHJ1Y3RCYXNlIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7IFBvbGljeURvY3VtZW50IH0gZnJvbSBcIi4uL2lhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFBvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBTMyBidWNrZXQgdGhhdCB0aGUgcG9saWN5IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG59XG5cbi8qKlxuICogVGhlIGJ1Y2tldCBwb2xpY3kgZm9yIGFuIEFtYXpvbiBTMyBidWNrZXRcbiAqXG4gKiBQb2xpY2llcyBkZWZpbmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgYWxsb3dlZCBvbiB0aGlzIHJlc291cmNlLlxuICpcbiAqIFlvdSBhbG1vc3QgbmV2ZXIgbmVlZCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QgZGlyZWN0bHkuXG4gKlxuICogQWxsIEFXUyByZXNvdXJjZXMgdGhhdCBzdXBwb3J0IHJlc291cmNlIHBvbGljaWVzIGhhdmUgYSBtZXRob2QgY2FsbGVkXG4gKiBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyByZXNvdXJjZVxuICogcG9saWN5IGlmIG9uZSBkb2Vzbid0IGV4aXN0IHlldCwgb3RoZXJ3aXNlIGl0IHdpbGwgYWRkIHRvIHRoZSBleGlzdGluZ1xuICogcG9saWN5LlxuICpcbiAqIFRoZSBidWNrZXQgcG9saWN5IG1ldGhvZCBpcyBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseSB0aGFuIGBhZGRUb1Jlc291cmNlUG9saWN5KClgXG4gKiBhcyBgQnVja2V0UG9saWN5KClgIGNyZWF0ZXMgYSBuZXcgcG9saWN5IHdpdGhvdXQga25vd2luZyBvbmUgZWFybGllciBleGlzdGVkLlxuICogZS5nLiBpZiBkdXJpbmcgQnVja2V0IGNyZWF0aW9uLCBpZiBgYXV0b0RlbGV0ZU9iamVjdDp0cnVlYCwgdGhlc2UgcG9saWNpZXMgYXJlXG4gKiBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeTpcbiAqICAgIFtcInMzOkRlbGV0ZU9iamVjdCpcIiwgXCJzMzpHZXRCdWNrZXQqXCIsIFwiczM6TGlzdCpcIiwgXCJzMzpQdXRCdWNrZXRQb2xpY3lcIl0sXG4gKiBhbmQgd2hlbiB5b3UgYWRkIGEgbmV3IEJ1Y2tldFBvbGljeSB3aXRoIFtcInMzOkdldE9iamVjdFwiLCBcInMzOkxpc3RCdWNrZXRcIl0gb25cbiAqIHRoaXMgZXhpc3RpbmcgYnVja2V0LCBpbnZva2luZyBgQnVja2V0UG9saWN5KClgIHdpbGwgY3JlYXRlIGEgbmV3IFBvbGljeVxuICogd2l0aG91dCBrbm93aW5nIG9uZSBlYXJsaWVyIGV4aXN0cyBhbHJlYWR5LCBzbyBpdCBjcmVhdGVzIGEgbmV3IG9uZS5cbiAqIEluIHRoaXMgY2FzZSwgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIHdpbGwgbm90IGhhdmUgYWNjZXNzIHRvXG4gKiBgczM6R2V0QnVja2V0VGFnZ2luZ2AgYWN0aW9uIHdoaWNoIHdpbGwgY2F1c2UgZmFpbHVyZSBkdXJpbmcgZGVsZXRpb24gb2Ygc3RhY2suXG4gKlxuICogSGVuY2UgaXRzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCBtZXRob2QgdG8gYWRkXG4gKiBuZXcgcGVybWlzc2lvbnMgdG8gZXhpc3RpbmcgcG9saWN5LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldFBvbGljeSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICAvLyBUT0RPOiByZS1hZGQgc3RhdGljIGZyb20gTWV0aG9kXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogczNCdWNrZXRQb2xpY3kuUzNCdWNrZXRQb2xpY3k7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQSBwb2xpY3kgZG9jdW1lbnQgY29udGFpbmluZyBwZXJtaXNzaW9ucyB0byBhZGQgdG8gdGhlIHNwZWNpZmllZCBidWNrZXQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgQWNjZXNzIFBvbGljeSBMYW5ndWFnZSBPdmVydmlldyBpbiB0aGUgQW1hem9uXG4gICAqIFNpbXBsZSBTdG9yYWdlIFNlcnZpY2UgRGV2ZWxvcGVyIEd1aWRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50OiBQb2xpY3lEb2N1bWVudDtcblxuICAvKiogVGhlIEJ1Y2tldCB0aGlzIFBvbGljeSBhcHBsaWVzIHRvLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHByb3BzLmJ1Y2tldDtcbiAgICB0aGlzLmRvY3VtZW50ID0gbmV3IFBvbGljeURvY3VtZW50KHRoaXMsIFwiUG9saWN5XCIpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldFBvbGljeS5TM0J1Y2tldFBvbGljeSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHBvbGljeTogdGhpcy5kb2N1bWVudC5qc29uLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { s3Object } from "@cdktf/provider-aws";
1
+ import { s3Object } from "@cdktn/provider-aws";
2
2
  import { Construct } from "constructs";
3
3
  import { IBucket, AddSourceOptions } from "./bucket";
4
4
  import { AwsConstructBase, IAwsConstruct, AwsConstructProps } from "../aws-construct";
@@ -5,8 +5,8 @@ exports.BucketSource = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const fs = require("fs");
7
7
  const path = require("path");
8
- const provider_aws_1 = require("@cdktf/provider-aws");
9
- const cdktf_1 = require("cdktf");
8
+ const provider_aws_1 = require("@cdktn/provider-aws");
9
+ const cdktn_1 = require("cdktn");
10
10
  const mime = require("mime-types");
11
11
  const util_1 = require("./util");
12
12
  const aws_construct_1 = require("../aws-construct");
@@ -30,9 +30,9 @@ class BucketSource extends aws_construct_1.AwsConstructBase {
30
30
  // should we support absolute paths? path.isAbsolute(props.path)?
31
31
  this.resolvedPath = path.resolve(sourcePath);
32
32
  this.prefix = prefix ?? "";
33
- const asset = new cdktf_1.TerraformAsset(this, "PathAsset", {
33
+ const asset = new cdktn_1.TerraformAsset(this, "PathAsset", {
34
34
  path: this.resolvedPath,
35
- type: cdktf_1.AssetType.DIRECTORY,
35
+ type: cdktn_1.AssetType.DIRECTORY,
36
36
  });
37
37
  this.uploadAssetDir(sourcePath, asset.path);
38
38
  this._bucketSourceOutputs = {
@@ -67,7 +67,7 @@ class BucketSource extends aws_construct_1.AwsConstructBase {
67
67
  key: fileKey,
68
68
  bucket: this._bucket.bucketOutputs.name,
69
69
  source: assetPath,
70
- sourceHash: cdktf_1.Fn.filemd5(assetPath),
70
+ sourceHash: cdktn_1.Fn.filemd5(assetPath),
71
71
  contentType: mime.contentType(path.extname(assetPath)) || undefined,
72
72
  dependsOn: this.dependsOn.length > 0 ? this.dependsOn : undefined,
73
73
  }));
@@ -75,5 +75,5 @@ class BucketSource extends aws_construct_1.AwsConstructBase {
75
75
  }
76
76
  exports.BucketSource = BucketSource;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- BucketSource[_a] = { fqn: "terraconstructs.aws.storage.BucketSource", version: "0.2.4" };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixzREFBK0M7QUFDL0MsaUNBQTRFO0FBRTVFLG1DQUFtQztBQUVuQyxpQ0FBb0M7QUFDcEMsb0RBSTBCO0FBMkIxQjs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGdDQUFnQjtJQUloRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFPRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBakJWLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBV2pDLGNBQVMsR0FBMkIsRUFBRSxDQUFDO1FBUXRELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxpRUFBaUU7UUFFakUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsSUFBSSxFQUFFLGlCQUFTLENBQUMsU0FBUztTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7aUJBQzNCLENBQUM7Z0JBQ0YsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQ0QsRUFBd0MsQ0FDekM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxxTEFBcUw7SUFDN0ssY0FBYyxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDeEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxRQUFnQixFQUFFLFNBQWlCO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzVCLElBQUksQ0FBQyxNQUFNLEVBQ1gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpDLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHVCQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDakUsR0FBRyxFQUFFLE9BQU87WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUN2QyxNQUFNLEVBQUUsU0FBUztZQUNqQixVQUFVLEVBQUUsVUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDakMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLFNBQVM7WUFDbkUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNsRSxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBakZILG9DQWtGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgczNPYmplY3QgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtQXNzZXQsIEFzc2V0VHlwZSwgRm4sIElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuaW1wb3J0IHsgSUJ1Y2tldCwgQWRkU291cmNlT3B0aW9ucyB9IGZyb20gXCIuL2J1Y2tldFwiO1xuaW1wb3J0IHsgbm9ybWFsUGF0aCB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7XG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZVByb3BzIGV4dGVuZHMgQWRkU291cmNlT3B0aW9ucywgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGFyZ2V0IGJ1Y2tldCB0byB1cGxvYWQgdG9cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRPYmplY3RPdXRwdXQge1xuICAvKipcbiAgICogVGhlIG9iamVjdCBzb3VyY2UgSGFzaFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIG9iamVjdHMgdXBsb2FkZWQgdG8gdGhlIGJ1Y2tldCBpbmRleGVkIGJ5IGtleVxuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0czogUmVjb3JkPHN0cmluZywgQnVja2V0T2JqZWN0T3V0cHV0Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnVja2V0U291cmNlIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGJ1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG59XG5cbi8qKlxuICogQSBCdWNrZXQgU291cmNlIHdoaWNoIHJlYWRzIGZpbGVzIGZyb20gZGlzayBhbmQgY3JlYXRlcyB1cGxvYWRzIHRvIHMzLlxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0U291cmNlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElCdWNrZXRTb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgb2JqZWN0czogczNPYmplY3QuUzNPYmplY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG4gIHB1YmxpYyBnZXQgYnVja2V0U291cmNlT3V0cHV0cygpOiBCdWNrZXRTb3VyY2VPdXRwdXRzIHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0U291cmNlT3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXRTb3VyY2VPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRzT246IElUZXJyYWZvcm1EZXBlbmRhYmxlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlZFBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJpdmF0ZSBfYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRTb3VyY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgY29uc3QgeyBidWNrZXQsIHBhdGg6IHNvdXJjZVBhdGgsIHByZWZpeCB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLl9idWNrZXQgPSBidWNrZXQ7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBwcm9wcy5kZXBlbmRzT24gPz8gW107XG4gICAgLy8gc2hvdWxkIHdlIHN1cHBvcnQgYWJzb2x1dGUgcGF0aHM/IHBhdGguaXNBYnNvbHV0ZShwcm9wcy5wYXRoKT9cblxuICAgIHRoaXMucmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHNvdXJjZVBhdGgpO1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4ID8/IFwiXCI7XG5cbiAgICBjb25zdCBhc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldCh0aGlzLCBcIlBhdGhBc3NldFwiLCB7XG4gICAgICBwYXRoOiB0aGlzLnJlc29sdmVkUGF0aCxcbiAgICAgIHR5cGU6IEFzc2V0VHlwZS5ESVJFQ1RPUlksXG4gICAgfSk7XG4gICAgdGhpcy51cGxvYWRBc3NldERpcihzb3VyY2VQYXRoLCBhc3NldC5wYXRoKTtcblxuICAgIHRoaXMuX2J1Y2tldFNvdXJjZU91dHB1dHMgPSB7XG4gICAgICBvYmplY3RzOiB0aGlzLm9iamVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBvYmopID0+IHtcbiAgICAgICAgICBhY2Nbb2JqLmtleV0gPSB7XG4gICAgICAgICAgICBzb3VyY2VIYXNoOiBvYmouc291cmNlSGFzaCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIEJ1Y2tldE9iamVjdE91dHB1dD4sXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBIYW5kbGUgZGVwbG95bWVudHMgd2l0aCBjdXN0b20gbGFtYmRhcyBpbnN0ZWFkP1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi85OTQ2YWIwMzY3MmJmNjY2NGU4ZWM5NWE4MWRkYjY3YzNiYjJmNjNiL3BhY2thZ2VzLyU0MGF3cy1jZGsvY3VzdG9tLXJlc291cmNlLWhhbmRsZXJzL2xpYi9hd3MtczMtZGVwbG95bWVudC9idWNrZXQtZGVwbG95bWVudC1oYW5kbGVyL2luZGV4LnB5XG4gIHByaXZhdGUgdXBsb2FkQXNzZXREaXIoYmFzZVBhdGg6IHN0cmluZywgYXNzZXRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGJhc2VQYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBwYXRoLmpvaW4oYmFzZVBhdGgsIGZpbGUubmFtZSk7XG4gICAgICBjb25zdCBhc3NldEZpbGVuYW1lID0gcGF0aC5qb2luKGFzc2V0UGF0aCwgZmlsZS5uYW1lKTtcbiAgICAgIGlmIChmaWxlLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldERpcihiYXNlRmlsZW5hbWUsIGFzc2V0RmlsZW5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldEZpbGUoYmFzZUZpbGVuYW1lLCBhc3NldEZpbGVuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwbG9hZEFzc2V0RmlsZShiYXNlUGF0aDogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGguam9pbihcbiAgICAgIHRoaXMucHJlZml4LFxuICAgICAgYmFzZVBhdGgucmVwbGFjZSh0aGlzLnJlc29sdmVkUGF0aCwgXCJcIiksXG4gICAgKTtcbiAgICBjb25zdCBmaWxlS2V5ID0gbm9ybWFsUGF0aChyZWxhdGl2ZVBhdGgpO1xuXG4gICAgLy8gY29weSBmcm9tIGFzc2V0IGRpcmVjdG9yeVxuICAgIHRoaXMub2JqZWN0cy5wdXNoKFxuICAgICAgbmV3IHMzT2JqZWN0LlMzT2JqZWN0KHRoaXMsIGBGaWxlJHtmaWxlS2V5LnJlcGxhY2UoL1xcLy9nLCBcIi0tXCIpfWAsIHtcbiAgICAgICAga2V5OiBmaWxlS2V5LFxuICAgICAgICBidWNrZXQ6IHRoaXMuX2J1Y2tldC5idWNrZXRPdXRwdXRzLm5hbWUsXG4gICAgICAgIHNvdXJjZTogYXNzZXRQYXRoLFxuICAgICAgICBzb3VyY2VIYXNoOiBGbi5maWxlbWQ1KGFzc2V0UGF0aCksXG4gICAgICAgIGNvbnRlbnRUeXBlOiBtaW1lLmNvbnRlbnRUeXBlKHBhdGguZXh0bmFtZShhc3NldFBhdGgpKSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24ubGVuZ3RoID4gMCA/IHRoaXMuZGVwZW5kc09uIDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
78
+ BucketSource[_a] = { fqn: "terraconstructs.aws.storage.BucketSource", version: "0.2.6" };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixzREFBK0M7QUFDL0MsaUNBQTRFO0FBRTVFLG1DQUFtQztBQUVuQyxpQ0FBb0M7QUFDcEMsb0RBSTBCO0FBMkIxQjs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGdDQUFnQjtJQUloRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFPRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBakJWLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBV2pDLGNBQVMsR0FBMkIsRUFBRSxDQUFDO1FBUXRELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxpRUFBaUU7UUFFakUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsSUFBSSxFQUFFLGlCQUFTLENBQUMsU0FBUztTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7aUJBQzNCLENBQUM7Z0JBQ0YsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQ0QsRUFBd0MsQ0FDekM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxxTEFBcUw7SUFDN0ssY0FBYyxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDeEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxRQUFnQixFQUFFLFNBQWlCO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzVCLElBQUksQ0FBQyxNQUFNLEVBQ1gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpDLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHVCQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDakUsR0FBRyxFQUFFLE9BQU87WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUN2QyxNQUFNLEVBQUUsU0FBUztZQUNqQixVQUFVLEVBQUUsVUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDakMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLFNBQVM7WUFDbkUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNsRSxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBakZILG9DQWtGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgczNPYmplY3QgfSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtQXNzZXQsIEFzc2V0VHlwZSwgRm4sIElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuaW1wb3J0IHsgSUJ1Y2tldCwgQWRkU291cmNlT3B0aW9ucyB9IGZyb20gXCIuL2J1Y2tldFwiO1xuaW1wb3J0IHsgbm9ybWFsUGF0aCB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7XG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZVByb3BzIGV4dGVuZHMgQWRkU291cmNlT3B0aW9ucywgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGFyZ2V0IGJ1Y2tldCB0byB1cGxvYWQgdG9cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRPYmplY3RPdXRwdXQge1xuICAvKipcbiAgICogVGhlIG9iamVjdCBzb3VyY2UgSGFzaFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIG9iamVjdHMgdXBsb2FkZWQgdG8gdGhlIGJ1Y2tldCBpbmRleGVkIGJ5IGtleVxuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0czogUmVjb3JkPHN0cmluZywgQnVja2V0T2JqZWN0T3V0cHV0Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnVja2V0U291cmNlIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGJ1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG59XG5cbi8qKlxuICogQSBCdWNrZXQgU291cmNlIHdoaWNoIHJlYWRzIGZpbGVzIGZyb20gZGlzayBhbmQgY3JlYXRlcyB1cGxvYWRzIHRvIHMzLlxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0U291cmNlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElCdWNrZXRTb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgb2JqZWN0czogczNPYmplY3QuUzNPYmplY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG4gIHB1YmxpYyBnZXQgYnVja2V0U291cmNlT3V0cHV0cygpOiBCdWNrZXRTb3VyY2VPdXRwdXRzIHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0U291cmNlT3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXRTb3VyY2VPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRzT246IElUZXJyYWZvcm1EZXBlbmRhYmxlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlZFBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJpdmF0ZSBfYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRTb3VyY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgY29uc3QgeyBidWNrZXQsIHBhdGg6IHNvdXJjZVBhdGgsIHByZWZpeCB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLl9idWNrZXQgPSBidWNrZXQ7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBwcm9wcy5kZXBlbmRzT24gPz8gW107XG4gICAgLy8gc2hvdWxkIHdlIHN1cHBvcnQgYWJzb2x1dGUgcGF0aHM/IHBhdGguaXNBYnNvbHV0ZShwcm9wcy5wYXRoKT9cblxuICAgIHRoaXMucmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHNvdXJjZVBhdGgpO1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4ID8/IFwiXCI7XG5cbiAgICBjb25zdCBhc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldCh0aGlzLCBcIlBhdGhBc3NldFwiLCB7XG4gICAgICBwYXRoOiB0aGlzLnJlc29sdmVkUGF0aCxcbiAgICAgIHR5cGU6IEFzc2V0VHlwZS5ESVJFQ1RPUlksXG4gICAgfSk7XG4gICAgdGhpcy51cGxvYWRBc3NldERpcihzb3VyY2VQYXRoLCBhc3NldC5wYXRoKTtcblxuICAgIHRoaXMuX2J1Y2tldFNvdXJjZU91dHB1dHMgPSB7XG4gICAgICBvYmplY3RzOiB0aGlzLm9iamVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBvYmopID0+IHtcbiAgICAgICAgICBhY2Nbb2JqLmtleV0gPSB7XG4gICAgICAgICAgICBzb3VyY2VIYXNoOiBvYmouc291cmNlSGFzaCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIEJ1Y2tldE9iamVjdE91dHB1dD4sXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBIYW5kbGUgZGVwbG95bWVudHMgd2l0aCBjdXN0b20gbGFtYmRhcyBpbnN0ZWFkP1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi85OTQ2YWIwMzY3MmJmNjY2NGU4ZWM5NWE4MWRkYjY3YzNiYjJmNjNiL3BhY2thZ2VzLyU0MGF3cy1jZGsvY3VzdG9tLXJlc291cmNlLWhhbmRsZXJzL2xpYi9hd3MtczMtZGVwbG95bWVudC9idWNrZXQtZGVwbG95bWVudC1oYW5kbGVyL2luZGV4LnB5XG4gIHByaXZhdGUgdXBsb2FkQXNzZXREaXIoYmFzZVBhdGg6IHN0cmluZywgYXNzZXRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGJhc2VQYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBwYXRoLmpvaW4oYmFzZVBhdGgsIGZpbGUubmFtZSk7XG4gICAgICBjb25zdCBhc3NldEZpbGVuYW1lID0gcGF0aC5qb2luKGFzc2V0UGF0aCwgZmlsZS5uYW1lKTtcbiAgICAgIGlmIChmaWxlLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldERpcihiYXNlRmlsZW5hbWUsIGFzc2V0RmlsZW5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldEZpbGUoYmFzZUZpbGVuYW1lLCBhc3NldEZpbGVuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwbG9hZEFzc2V0RmlsZShiYXNlUGF0aDogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGguam9pbihcbiAgICAgIHRoaXMucHJlZml4LFxuICAgICAgYmFzZVBhdGgucmVwbGFjZSh0aGlzLnJlc29sdmVkUGF0aCwgXCJcIiksXG4gICAgKTtcbiAgICBjb25zdCBmaWxlS2V5ID0gbm9ybWFsUGF0aChyZWxhdGl2ZVBhdGgpO1xuXG4gICAgLy8gY29weSBmcm9tIGFzc2V0IGRpcmVjdG9yeVxuICAgIHRoaXMub2JqZWN0cy5wdXNoKFxuICAgICAgbmV3IHMzT2JqZWN0LlMzT2JqZWN0KHRoaXMsIGBGaWxlJHtmaWxlS2V5LnJlcGxhY2UoL1xcLy9nLCBcIi0tXCIpfWAsIHtcbiAgICAgICAga2V5OiBmaWxlS2V5LFxuICAgICAgICBidWNrZXQ6IHRoaXMuX2J1Y2tldC5idWNrZXRPdXRwdXRzLm5hbWUsXG4gICAgICAgIHNvdXJjZTogYXNzZXRQYXRoLFxuICAgICAgICBzb3VyY2VIYXNoOiBGbi5maWxlbWQ1KGFzc2V0UGF0aCksXG4gICAgICAgIGNvbnRlbnRUeXBlOiBtaW1lLmNvbnRlbnRUeXBlKHBhdGguZXh0bmFtZShhc3NldFBhdGgpKSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24ubGVuZ3RoID4gMCA/IHRoaXMuZGVwZW5kc09uIDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { s3Bucket, s3BucketCorsConfiguration, s3BucketWebsiteConfiguration, dataAwsS3Bucket } from "@cdktf/provider-aws";
1
+ import { s3Bucket, s3BucketCorsConfiguration, s3BucketWebsiteConfiguration, dataAwsS3Bucket } from "@cdktn/provider-aws";
2
2
  import { Construct } from "constructs";
3
3
  import { IBucketNotificationDestination } from "./bucket-destination";
4
4
  import { BucketPolicy } from "./bucket-policy";