@aws-amplify/graphql-api-construct 1.4.0-construct-publish-test.0 → 1.4.0-nov-14-cut-1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (408) hide show
  1. package/.jsii +677 -192
  2. package/API.md +53 -13
  3. package/CHANGELOG.md +9 -1
  4. package/README.md +414 -88
  5. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  6. package/lib/amplify-graphql-api.d.ts +7 -0
  7. package/lib/amplify-graphql-api.js +69 -6
  8. package/lib/amplify-graphql-definition.d.ts +21 -10
  9. package/lib/amplify-graphql-definition.js +33 -21
  10. package/lib/index.d.ts +1 -1
  11. package/lib/index.js +1 -1
  12. package/lib/internal/data-source-config.d.ts +6 -2
  13. package/lib/internal/data-source-config.js +19 -7
  14. package/lib/internal/default-parameters.js +3 -1
  15. package/lib/internal/model-type-name.d.ts +2 -2
  16. package/lib/internal/model-type-name.js +25 -15
  17. package/lib/sql-model-datasource-strategy.d.ts +25 -0
  18. package/lib/sql-model-datasource-strategy.js +57 -0
  19. package/lib/types.d.ts +176 -40
  20. package/lib/types.js +1 -1
  21. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +5 -1
  22. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +15 -2
  23. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +3 -1
  24. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  25. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +64 -50
  26. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  27. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
  28. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +3 -0
  29. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
  30. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  31. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  32. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +3 -2
  33. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
  34. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +4 -1
  35. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
  36. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +20 -0
  37. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +1 -0
  38. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +24 -0
  39. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +1 -0
  40. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.d.ts +1 -1
  41. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +1 -0
  42. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.js +1 -1
  43. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +1 -0
  44. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.d.ts +1 -1
  45. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +1 -0
  46. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.js +1 -1
  47. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +1 -0
  48. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +1 -0
  49. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +1 -0
  50. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.d.ts +1 -1
  51. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +1 -0
  52. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.js +1 -1
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +1 -0
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.d.ts +1 -1
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +1 -0
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.js +1 -1
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +1 -0
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.d.ts +1 -1
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +1 -0
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.js +1 -1
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +1 -0
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +6 -0
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +1 -0
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/query.js +28 -3
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +1 -0
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.d.ts +1 -1
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +1 -0
  68. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.js +1 -1
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +1 -0
  70. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +3 -0
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +1 -0
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.js +1 -1
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +1 -0
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +20 -0
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +1 -0
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +24 -0
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +1 -0
  78. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +13 -0
  79. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +1 -0
  80. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +157 -0
  81. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +1 -0
  82. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +5 -0
  83. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +1 -0
  84. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +21 -0
  85. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +1 -0
  86. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +8 -0
  87. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +1 -0
  88. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +56 -0
  89. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +1 -0
  90. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +8 -0
  91. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +1 -0
  92. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +41 -0
  93. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +1 -0
  94. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers/subscriptions.d.ts → vtl-generator/rds/resolvers/subscription.d.ts} +2 -2
  95. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +1 -0
  96. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +18 -0
  97. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +1 -0
  98. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +19 -0
  99. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +1 -0
  100. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +3 -0
  101. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +1 -0
  102. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +10 -10
  103. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +5 -2
  104. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +13 -1
  106. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -7
  108. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
  109. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +6 -6
  110. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
  111. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +6 -6
  112. package/node_modules/@aws-amplify/graphql-index-transformer/API.md +2 -2
  113. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +8 -1
  114. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts +1 -1
  115. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  116. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +7 -7
  117. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  118. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +4 -1
  120. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +17 -16
  122. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  123. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +134 -119
  124. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  125. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +7 -7
  126. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +15 -0
  127. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +10 -2
  128. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  129. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +1 -0
  130. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  131. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +13 -1
  132. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +2 -1
  134. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  135. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +16 -33
  136. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +10 -0
  138. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +1 -0
  139. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +102 -0
  140. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +1 -0
  141. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +13 -0
  142. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -0
  143. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +81 -0
  144. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -0
  145. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +1 -0
  146. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +3 -1
  148. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  149. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +12 -12
  150. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  151. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +18 -1
  152. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  153. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +28 -13
  154. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  156. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +9 -2
  157. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  158. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  159. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  160. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  161. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +6 -5
  162. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  163. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  164. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  165. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +6 -5
  166. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  167. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
  168. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  169. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +6 -5
  170. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  171. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +4 -3
  172. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  173. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +74 -55
  174. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  175. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +2 -1
  176. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +8 -2
  178. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  179. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +11 -4
  180. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  181. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +153 -58
  182. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  183. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +0 -2
  184. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
  185. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +8 -5
  186. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
  187. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +2 -0
  188. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -1
  189. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +3 -1
  190. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -1
  191. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +1 -1
  192. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -1
  193. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +79 -39
  194. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  196. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  197. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +2 -1
  198. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  199. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +43 -16
  200. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  201. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -9
  202. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
  203. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  204. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +6 -6
  205. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +9 -1
  206. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  207. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +41 -9
  208. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  209. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  210. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +35 -8
  211. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  212. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  213. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +30 -8
  214. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  215. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  216. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +3 -2
  217. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  218. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +13 -0
  219. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -0
  220. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +171 -0
  221. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -0
  222. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +4 -0
  223. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -0
  224. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +18 -0
  225. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -0
  226. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +8 -0
  227. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +1 -0
  228. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +7 -0
  229. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +1 -0
  230. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +14 -0
  231. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -0
  232. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +115 -0
  233. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -0
  234. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +5 -5
  235. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  236. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +23 -169
  237. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  238. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  239. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +14 -8
  240. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  241. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +4 -0
  242. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  243. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +5 -0
  244. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  245. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +85 -1
  246. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  247. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -9
  248. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -2
  249. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  250. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +3 -0
  251. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  252. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  253. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +7 -7
  254. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +26 -0
  255. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +14 -0
  256. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  257. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +13 -0
  258. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +12 -0
  259. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -0
  260. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +132 -0
  261. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -0
  262. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +2 -0
  263. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +1 -0
  264. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +6 -0
  265. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +1 -0
  266. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +71 -0
  267. package/node_modules/@aws-amplify/graphql-transformer/API.md +4 -0
  268. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +11 -1
  269. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +4 -1
  270. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  271. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +7 -2
  272. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  273. package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -14
  274. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +12 -2
  275. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +33 -5
  276. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +16 -1
  277. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +2 -2
  278. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  279. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +10 -2
  280. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  281. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
  282. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +2 -1
  283. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
  284. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.d.ts.map +1 -1
  285. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js.map +1 -1
  286. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
  287. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  288. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -3
  289. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  290. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +1 -0
  291. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  292. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts +4 -5
  293. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts.map +1 -1
  294. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.js.map +1 -1
  295. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +5 -3
  296. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  297. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +3 -1
  298. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  299. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  300. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js +2 -0
  301. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js.map +1 -1
  302. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +6 -5
  303. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  304. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +4 -3
  305. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
  306. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  307. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  308. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +3 -2
  309. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  310. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +2 -0
  311. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +1 -0
  312. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +5 -0
  313. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +1 -0
  314. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -2
  315. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  316. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +14 -3
  317. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  318. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +3 -0
  319. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -0
  320. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +19 -0
  321. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -0
  322. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +12 -0
  323. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -0
  324. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +82 -0
  325. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -0
  326. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +3 -2
  327. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  328. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -1
  329. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  330. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  331. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  332. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  333. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +47 -14
  334. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +7 -1
  335. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +15 -8
  336. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  337. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  338. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  339. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  340. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  341. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  342. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  343. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
  344. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  345. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts +2 -0
  346. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  347. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +3 -1
  348. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  349. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +9 -5
  350. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  351. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +5 -1
  352. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  353. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
  354. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +38 -11
  355. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +3 -0
  356. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +2 -0
  357. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +2 -0
  358. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +9 -1
  359. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +28 -7
  360. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  361. package/node_modules/graphql-transformer-common/API.md +33 -9
  362. package/node_modules/graphql-transformer-common/CHANGELOG.md +9 -1
  363. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +12 -9
  364. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  365. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +12 -9
  366. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  367. package/node_modules/graphql-transformer-common/lib/definition.d.ts +9 -2
  368. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  369. package/node_modules/graphql-transformer-common/lib/definition.js +52 -1
  370. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  371. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  372. package/node_modules/graphql-transformer-common/lib/util.js +3 -1
  373. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  374. package/node_modules/graphql-transformer-common/package.json +5 -5
  375. package/package.json +31 -29
  376. package/src/amplify-graphql-api.ts +82 -5
  377. package/src/amplify-graphql-definition.ts +34 -21
  378. package/src/index.ts +14 -5
  379. package/src/internal/data-source-config.ts +27 -9
  380. package/src/internal/default-parameters.ts +2 -0
  381. package/src/internal/model-type-name.ts +28 -19
  382. package/src/sql-model-datasource-strategy.ts +62 -0
  383. package/src/types.ts +208 -45
  384. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +0 -1
  385. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +0 -1
  386. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +0 -1
  387. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +0 -1
  388. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +0 -1
  389. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +0 -1
  390. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +0 -1
  391. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +0 -1
  392. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +0 -1
  393. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +0 -1
  394. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +0 -1
  395. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +0 -1
  396. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +0 -6
  397. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +0 -1
  398. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +0 -1
  399. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +0 -1
  400. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +0 -1
  401. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +0 -1
  402. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +0 -1
  403. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +0 -2
  404. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +0 -1
  405. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +0 -25
  406. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +0 -1
  407. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.d.ts +0 -0
  408. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.js +0 -0
@@ -98,5 +98,5 @@ class AmplifyDynamoDbTableWrapper {
98
98
  }
99
99
  exports.AmplifyDynamoDbTableWrapper = AmplifyDynamoDbTableWrapper;
100
100
  _a = JSII_RTTI_SYMBOL_1;
101
- AmplifyDynamoDbTableWrapper[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper", version: "1.4.0-construct-publish-test.0" };
101
+ AmplifyDynamoDbTableWrapper[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper", version: "1.4.0-nov-14-cut-1.0" };
102
102
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1keW5hbW9kYi10YWJsZS13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FtcGxpZnktZHluYW1vZGItdGFibGUtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUcxQyxNQUFNLG9DQUFvQyxHQUFHLDhCQUE4QixDQUFDO0FBZ0M1RTs7O0dBR0c7QUFDSCxJQUFZLE9BRVg7QUFGRCxXQUFZLE9BQU87SUFDakIsc0JBQVcsQ0FBQTtBQUNiLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEI7QUEyQ0Q7Ozs7Ozs7R0FPRztBQUNILE1BQWEsMkJBQTJCO0lBQ3RDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBTTtRQUMxQyxPQUFPLENBQUMsWUFBWSx5QkFBVyxJQUFJLENBQUMsQ0FBQyxlQUFlLEtBQUssb0NBQW9DLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQTZCLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDaEQsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLG9DQUFvQyxFQUFFO1lBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLG9DQUFvQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzNIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXLENBQUMsV0FBd0I7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxtQkFBbUIsQ0FBQyx1QkFBZ0Q7UUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksMEJBQTBCLENBQUMsMEJBQW1DO1FBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsa0NBQWtDLEVBQUUsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxxQkFBcUIsQ0FBQyxxQkFBNEM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsNENBQTRDLENBQUMsU0FBaUIsRUFBRSxxQkFBNEM7UUFDMUcsTUFBTSxJQUFJLEdBQTJDLE1BQU0sQ0FBQyxPQUFPLENBQ2hFLElBQUksQ0FBQyxRQUFnQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsc0JBQXNCLElBQUksRUFBRSxDQUM5RSxDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ILElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsU0FBUyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQy9FO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksbUJBQW1CLENBQUMsbUJBQXdDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQixDQUFDLGdCQUFrQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSx5QkFBeUIsQ0FBQyx5QkFBa0M7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVGLENBQUM7O0FBbkZILGtFQW9GQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQmlsbGluZ01vZGUsIFN0cmVhbVZpZXdUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcblxuY29uc3QgQU1QTElGWV9EWU5BTU9EQl9UQUJMRV9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6QW1wbGlmeUR5bmFtb0RCVGFibGUnO1xuXG4vKipcbiAqIFNoYXBlIGZvciBUVEwgY29uZmlnLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVUb0xpdmVTcGVjaWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIEJvb2xlYW4gZGV0ZXJtaW5pbmcgaWYgdGhlIHR0bCBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBuYW1lIHRvIGFwcGx5IHRvIHRoZSB0dGwgc3BlYy5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBjb25maWcgaW4gRERCLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3Zpc2lvbmVkVGhyb3VnaHB1dCB7XG4gIC8qKlxuICAgKiBUaGUgcmVhZCBjYXBhY2l0eSB1bml0cyBvbiB0aGUgdGFibGUgb3IgaW5kZXguXG4gICAqL1xuICByZWFkb25seSByZWFkQ2FwYWNpdHlVbml0czogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgd3JpdGUgY2FwYWNpdHkgdW5pdHMgb24gdGhlIHRhYmxlIG9yIGluZGV4LlxuICAgKi9cbiAgcmVhZG9ubHkgd3JpdGVDYXBhY2l0eVVuaXRzOiBudW1iZXI7XG59XG5cbi8qKlxuICogU2VydmVyIFNpZGUgRW5jcnlwdGlvbiBUeXBlIFZhbHVlc1xuICogLSBgS01TYCAtIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gdGhhdCB1c2VzIEFXUyBLTVMuIFRoZSBrZXkgaXMgc3RvcmVkIGluIHlvdXIgYWNjb3VudCBhbmQgaXMgbWFuYWdlZCBieSBLTVMgKEFXUyBLTVMgY2hhcmdlcyBhcHBseSkuXG4gKi9cbmV4cG9ydCBlbnVtIFNTRVR5cGUge1xuICBLTVMgPSAnS01TJyxcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzZXR0aW5ncyB1c2VkIHRvIGVuYWJsZSBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTRVNwZWNpZmljYXRpb24ge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBpcyBkb25lIHVzaW5nIGFuIEFXUyBtYW5hZ2VkIGtleSBvciBhbiBBV1Mgb3duZWQga2V5LlxuICAgKiBJZiBlbmFibGVkICh0cnVlKSwgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB0eXBlIGlzIHNldCB0byBgS01TYCBhbmQgYW4gQVdTIG1hbmFnZWQga2V5IGlzIHVzZWQgKCBBV1MgS01TIGNoYXJnZXMgYXBwbHkpLlxuICAgKiBJZiBkaXNhYmxlZCAoZmFsc2UpIG9yIG5vdCBzcGVjaWZpZWQsIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gaXMgc2V0IHRvIEFXUyBvd25lZCBrZXkuXG4gICAqL1xuICByZWFkb25seSBzc2VFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIEtNUyBrZXkgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIEFXUyBLTVMgZW5jcnlwdGlvbi5cbiAgICogVG8gc3BlY2lmeSBhIGtleSwgdXNlIGl0cyBrZXkgSUQsIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLCBhbGlhcyBuYW1lLCBvciBhbGlhcyBBUk4uIE5vdGUgdGhhdCB5b3Ugc2hvdWxkIG9ubHkgcHJvdmlkZVxuICAgKiB0aGlzIHBhcmFtZXRlciBpZiB0aGUga2V5IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IER5bmFtb0RCIGtleSBgYWxpYXMvYXdzL2R5bmFtb2RiYCAuXG4gICAqL1xuICByZWFkb25seSBrbXNNYXN0ZXJLZXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiB0eXBlLiBUaGUgb25seSBzdXBwb3J0ZWQgdmFsdWUgaXM6XG4gICAqIGBLTVNgIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gdGhhdCB1c2VzIEFXUyBLZXkgTWFuYWdlbWVudCBTZXJ2aWNlLlxuICAgKiAgIFRoZSBrZXkgaXMgc3RvcmVkIGluIHlvdXIgYWNjb3VudCBhbmQgaXMgbWFuYWdlZCBieSBBV1MgS01TICggQVdTIEtNUyBjaGFyZ2VzIGFwcGx5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNzZVR5cGU/OiBTU0VUeXBlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIER5bmFtb0RCIFN0cmVhbXMgY29uZmlndXJhdGlvbiBmb3IgYSB0YWJsZSBpbiBEeW5hbW9EQi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1TcGVjaWZpY2F0aW9uIHtcbiAgLyoqXG4gICAqIFdoZW4gYW4gaXRlbSBpbiB0aGUgdGFibGUgaXMgbW9kaWZpZWQsIGBTdHJlYW1WaWV3VHlwZWAgZGV0ZXJtaW5lcyB3aGF0IGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSBmb3IgdGhpcyB0YWJsZS5cbiAgICogVmFsaWQgdmFsdWVzIGZvciBgU3RyZWFtVmlld1R5cGVgIGFyZTpcbiAgICogLSBgS0VZU19PTkxZYCAtIE9ubHkgdGhlIGtleSBhdHRyaWJ1dGVzIG9mIHRoZSBtb2RpZmllZCBpdGVtIGFyZSB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG4gICAqIC0gYE5FV19JTUFHRWAgLSBUaGUgZW50aXJlIGl0ZW0sIGFzIGl0IGFwcGVhcnMgYWZ0ZXIgaXQgd2FzIG1vZGlmaWVkLCBpcyB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG4gICAqIC0gYE9MRF9JTUFHRWAgLSBUaGUgZW50aXJlIGl0ZW0sIGFzIGl0IGFwcGVhcmVkIGJlZm9yZSBpdCB3YXMgbW9kaWZpZWQsIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbS5cbiAgICogLSBgTkVXX0FORF9PTERfSU1BR0VTYCAtIEJvdGggdGhlIG5ldyBhbmQgdGhlIG9sZCBpdGVtIGltYWdlcyBvZiB0aGUgaXRlbSBhcmUgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RyZWFtVmlld1R5cGU6IFN0cmVhbVZpZXdUeXBlO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgY2xhc3MgYXJvdW5kIEN1c3RvbTo6QW1wbGlmeUR5bmFtb0RCVGFibGUgY3VzdG9tIHJlc291cmNlLCB0byBzaW1wbGlmeVxuICogdGhlIG92ZXJyaWRlIGV4cGVyaWVuY2UgYSBiaXQuIFRoaXMgaXMgTk9UIGEgY29uc3RydWN0LCBqdXN0IGFuIGVhc2llciB3YXkgdG8gYWNjZXNzXG4gKiB0aGUgZ2VuZXJhdGVkIGNvbnN0cnVjdC5cbiAqIFRoaXMgaXMgYSB3cmFwcGVyIGludGVuZGVkIHRvIG1pbWljIHRoZSBgYXdzX2Nka19saWIuYXdzX2R5bmFtb2RiLlRhYmxlYCBmdW5jdGlvbmFsaXR5IG1vcmUtb3ItbGVzcy5cbiAqIE5vdGFibGUgZGlmZmVyZW5jZXMgaXMgdGhlIGFkZGl0aW9uIG9mIFRLVEsgcHJvcGVydGllcywgdG8gYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhhdCB0aGV5J3JlIGNvbnN0cnVjdG9yIHByb3BzXG4gKiBpbiB0aGUgQ0RLIGNvbnN0cnVjdCwgYXMgd2VsbCBhcyB0aGUgcmVtb3ZhbCBvZiBhbGwgZnJvbSosIGdyYW50KiwgYW5kIG1ldHJpYyogbWV0aG9kcyBpbXBsZW1lbnRlZCBieSBUYWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlciB7XG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBhbmQgcGVyZm9ybSB0eXBlIG5hcnJvd2luZyBpZiBhIGdpdmVuIGlucHV0IGFwcGVhcnMgdG8gYmUgY2FwYWJsZSBvZlxuICAgKiBAcGFyYW0geCB0aGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgcmVzb3VyY2UgaXMgYW4gdW5kZXJseWluZyBhbXBsaWZ5IGR5bmFtb2RiIHRhYmxlIHJlc291cmNlLlxuICAgKi9cbiAgc3RhdGljIGlzQW1wbGlmeUR5bmFtb0RiVGFibGVSZXNvdXJjZSh4OiBhbnkpOiB4IGlzIENmblJlc291cmNlIHtcbiAgICByZXR1cm4geCBpbnN0YW5jZW9mIENmblJlc291cmNlICYmIHguY2ZuUmVzb3VyY2VUeXBlID09PSBBTVBMSUZZX0RZTkFNT0RCX1RBQkxFX1JFU09VUkNFX1RZUEU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSB3cmFwcGVyIGdpdmVuIGFuIHVuZGVybHlpbmcgQ2ZuUmVzb3VyY2UgdGhhdCBpcyBhbiBpbnN0YW5jZSBvZiBDdXN0b206OkFtcGxpZnlEeW5hbW9EQlRhYmxlLlxuICAgKiBAcGFyYW0gcmVzb3VyY2UgdGhlIENmbiByZXNvdXJjZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlKSB7XG4gICAgaWYgKHJlc291cmNlLmNmblJlc291cmNlVHlwZSAhPT0gQU1QTElGWV9EWU5BTU9EQl9UQUJMRV9SRVNPVVJDRV9UWVBFKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE9ubHkgQ2ZuUmVzb3VyY2Ugd2l0aCB0eXBlICR7QU1QTElGWV9EWU5BTU9EQl9UQUJMRV9SRVNPVVJDRV9UWVBFfSBjYW4gYmUgdXNlZCBpbiBBbXBsaWZ5RHluYW1vRGJUYWJsZWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGhvdyB5b3UgYXJlIGNoYXJnZWQgZm9yIHJlYWQgYW5kIHdyaXRlIHRocm91Z2hwdXQgYW5kIGhvdyB5b3UgbWFuYWdlIGNhcGFjaXR5LlxuICAgKi9cbiAgc2V0IGJpbGxpbmdNb2RlKGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZSkge1xuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnYmlsbGluZ01vZGUnLCBiaWxsaW5nTW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgVFRMIGF0dHJpYnV0ZS5cbiAgICovXG4gIHNldCB0aW1lVG9MaXZlQXR0cmlidXRlKHRpbWVUb0xpdmVTcGVjaWZpY2F0aW9uOiBUaW1lVG9MaXZlU3BlY2lmaWNhdGlvbikge1xuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgndGltZVRvTGl2ZVNwZWNpZmljYXRpb24nLCB0aW1lVG9MaXZlU3BlY2lmaWNhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBwb2ludC1pbi10aW1lIHJlY292ZXJ5IGlzIGVuYWJsZWQuXG4gICAqL1xuICBzZXQgcG9pbnRJblRpbWVSZWNvdmVyeUVuYWJsZWQocG9pbnRJblRpbWVSZWNvdmVyeUVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ3BvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uJywgeyBwb2ludEluVGltZVJlY292ZXJ5RW5hYmxlZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgZm9yIHRoZSBiYXNlIHRhYmxlLlxuICAgKi9cbiAgc2V0IHByb3Zpc2lvbmVkVGhyb3VnaHB1dChwcm92aXNpb25lZFRocm91Z2hwdXQ6IFByb3Zpc2lvbmVkVGhyb3VnaHB1dCkge1xuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgncHJvdmlzaW9uZWRUaHJvdWdocHV0JywgcHJvdmlzaW9uZWRUaHJvdWdocHV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHByb3Zpc2lvbmVkVGhyb3VnaHRwdXQgZm9yIGEgc3BlY2lmaWVkIEdTSSBieSBuYW1lLlxuICAgKiBAcGFyYW0gaW5kZXhOYW1lIHRoZSBpbmRleCB0byBzcGVjaWZ5IGEgcHJvdmlzaW9uZWRUaHJvdWdocHV0IGNvbmZpZyBmb3JcbiAgICogQHBhcmFtIHByb3Zpc2lvbmVkVGhyb3VnaHB1dCB0aGUgY29uZmlnIHRvIHNldFxuICAgKi9cbiAgc2V0R2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm92aXNpb25lZFRocm91Z2hwdXQoaW5kZXhOYW1lOiBzdHJpbmcsIHByb3Zpc2lvbmVkVGhyb3VnaHB1dDogUHJvdmlzaW9uZWRUaHJvdWdocHV0KTogdm9pZCB7XG4gICAgY29uc3QgZ3NpczogQXJyYXk8W3N0cmluZywgeyBpbmRleE5hbWU6IHN0cmluZyB9XT4gPSBPYmplY3QuZW50cmllcyhcbiAgICAgICh0aGlzLnJlc291cmNlIGFzIGFueSkucmF3T3ZlcnJpZGVzPy5Qcm9wZXJ0aWVzPy5nbG9iYWxTZWNvbmRhcnlJbmRleGVzID8/IHt9LFxuICAgICk7XG4gICAgY29uc3QgZm91bmRHc2lzID0gZ3Npcy5maWx0ZXIoKFtfLCBnc2lDb25maWddKSA9PiBpbmRleE5hbWUgPT09IGdzaUNvbmZpZy5pbmRleE5hbWUpLm1hcCgoW2dzaUluZGV4XSkgPT4gZ3NpSW5kZXgpO1xuICAgIGlmIChmb3VuZEdzaXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEluZGV4IHdpdGggbmFtZSAke2luZGV4TmFtZX0gbm90IGZvdW5kIGluIHRhYmxlIGRlZmluaXRpb25gKTtcbiAgICB9XG4gICAgdGhpcy5yZXNvdXJjZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKGBnbG9iYWxTZWNvbmRhcnlJbmRleGVzLiR7Zm91bmRHc2lzWzBdfS5wcm92aXNpb25lZFRocm91Z2hwdXRgLCBwcm92aXNpb25lZFRocm91Z2hwdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGRiIHN0cmVhbSBzcGVjaWZpY2F0aW9uIG9uIHRoZSB0YWJsZS5cbiAgICovXG4gIHNldCBzdHJlYW1TcGVjaWZpY2F0aW9uKHN0cmVhbVNwZWNpZmljYXRpb246IFN0cmVhbVNwZWNpZmljYXRpb24pIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ3N0cmVhbVNwZWNpZmljYXRpb24nLCBzdHJlYW1TcGVjaWZpY2F0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRkYiBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHNwZWNpZmljYXRpb24gb24gdGhlIHRhYmxlLlxuICAgKi9cbiAgc2V0IHNzZVNwZWNpZmljYXRpb24oc3NlU3BlY2lmaWNhdGlvbjogU1NFU3BlY2lmaWNhdGlvbikge1xuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnc3NlU3BlY2lmaWNhdGlvbicsIHNzZVNwZWNpZmljYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0YWJsZSBkZWxldGlvbiBwcm90ZWN0aW9uLlxuICAgKi9cbiAgc2V0IGRlbGV0aW9uUHJvdGVjdGlvbkVuYWJsZWQoZGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnZGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZCcsIGRlbGV0aW9uUHJvdGVjdGlvbkVuYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -84,6 +84,13 @@ export declare class AmplifyGraphqlApi extends Construct {
84
84
  * @param props the properties used to configure the generated api.
85
85
  */
86
86
  constructor(scope: Construct, id: string, props: AmplifyGraphqlApiProps);
87
+ /**
88
+ * Extends executeTransformConfig with fields for provisioning a SQL Lambda
89
+ * @param executeTransformConfig the executeTransformConfig to extend
90
+ * @param dataSourceDefinition the SQLLambdaModelDataSourceStrategy containing the SQL connection values to add to the transform config
91
+ * @returns the extended configuration that includes SQL DB connection information
92
+ */
93
+ private extendTransformConfig;
87
94
  /**
88
95
  * Stores graphql api output to be used for client config generation
89
96
  * @param outputStorageStrategy Strategy to store construct outputs. If no strategy is provided a default strategy will be used.
@@ -11,8 +11,10 @@ const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
11
11
  const backend_output_storage_1 = require("@aws-amplify/backend-output-storage");
12
12
  const backend_output_schemas_1 = require("@aws-amplify/backend-output-schemas");
13
13
  const aws_appsync_1 = require("aws-cdk-lib/aws-appsync");
14
+ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
14
15
  const user_defined_slots_1 = require("./internal/user-defined-slots");
15
16
  const internal_1 = require("./internal");
17
+ const sql_model_datasource_strategy_1 = require("./sql-model-datasource-strategy");
16
18
  const data_source_config_1 = require("./internal/data-source-config");
17
19
  const construct_tree_1 = require("./internal/construct-tree");
18
20
  /**
@@ -73,7 +75,7 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
73
75
  throw new Error(`or cdk --context env must have a length <= 8, found ${amplifyEnvironmentName}`);
74
76
  }
75
77
  const assetManager = new internal_1.AssetManager();
76
- (0, graphql_transformer_1.executeTransform)({
78
+ let executeTransformConfig = {
77
79
  scope: this,
78
80
  nestedStackProvider: {
79
81
  provide: (nestedStackScope, name) => new aws_cdk_lib_1.NestedStack(nestedStackScope, name),
@@ -91,7 +93,10 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
91
93
  transformersFactoryArgs: {
92
94
  customTransformers: transformerPlugins ?? [],
93
95
  ...(predictionsBucket ? { storageConfig: { bucketName: predictionsBucket.bucketName } } : {}),
94
- functionNameMap,
96
+ functionNameMap: {
97
+ ...definition.referencedLambdaFunctions,
98
+ ...functionNameMap,
99
+ },
95
100
  },
96
101
  authConfig,
97
102
  stackMapping: stackMappings ?? {},
@@ -100,8 +105,17 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
100
105
  ...internal_1.defaultTranslationBehavior,
101
106
  ...(translationBehavior ?? {}),
102
107
  },
103
- ...(0, data_source_config_1.parseDataSourceConfig)(definition.dataSourceDefinition),
104
- });
108
+ // Adds a modelToDataSourceMap field/value
109
+ ...(0, data_source_config_1.parseDataSourceConfig)(definition.dataSourceStrategies),
110
+ };
111
+ // TODO: Update this to support multiple definitions; right now we assume only one SQL data source type
112
+ for (const strategy of Object.values(definition.dataSourceStrategies)) {
113
+ if ((0, sql_model_datasource_strategy_1.isSQLLambdaModelDataSourceStrategy)(strategy)) {
114
+ executeTransformConfig = this.extendTransformConfig(executeTransformConfig, strategy);
115
+ break;
116
+ }
117
+ }
118
+ (0, graphql_transformer_1.executeTransform)(executeTransformConfig);
105
119
  this.codegenAssets = new internal_1.CodegenAssets(this, 'AmplifyCodegenAssets', { modelSchema: definition.schema });
106
120
  this.resources = (0, internal_1.getGeneratedResources)(this);
107
121
  this.conflictResolution = conflictResolution;
@@ -112,6 +126,55 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
112
126
  this.realtimeUrl = this.resources.cfnResources.cfnGraphqlApi.attrRealtimeUrl;
113
127
  this.apiKey = this.resources.cfnResources.cfnApiKey?.attrApiKey;
114
128
  }
129
+ /**
130
+ * Extends executeTransformConfig with fields for provisioning a SQL Lambda
131
+ * @param executeTransformConfig the executeTransformConfig to extend
132
+ * @param dataSourceDefinition the SQLLambdaModelDataSourceStrategy containing the SQL connection values to add to the transform config
133
+ * @returns the extended configuration that includes SQL DB connection information
134
+ */
135
+ extendTransformConfig(executeTransformConfig, strategy) {
136
+ const extendedConfig = { ...executeTransformConfig };
137
+ if (strategy.customSqlStatements) {
138
+ extendedConfig.customQueries = new Map(Object.entries(strategy.customSqlStatements));
139
+ }
140
+ const dbSecrets = new Map();
141
+ let dbSecretDbTypeKey;
142
+ switch (strategy.dbType) {
143
+ case 'MYSQL':
144
+ dbSecretDbTypeKey = graphql_transformer_core_1.MYSQL_DB_TYPE;
145
+ break;
146
+ case 'POSTGRES':
147
+ dbSecretDbTypeKey = graphql_transformer_core_1.POSTGRES_DB_TYPE;
148
+ break;
149
+ default:
150
+ throw new Error(`Unsupported binding type ${strategy.dbType}`);
151
+ }
152
+ dbSecrets.set(dbSecretDbTypeKey, {
153
+ username: strategy.dbConnectionConfig.usernameSsmPath,
154
+ password: strategy.dbConnectionConfig.passwordSsmPath,
155
+ host: strategy.dbConnectionConfig.hostnameSsmPath,
156
+ // Cast through `any` to allow the SSM Path string to be used on a type expecting a number. This flow expects the incoming value to be
157
+ // a string containing the SSM path.
158
+ port: strategy.dbConnectionConfig.portSsmPath,
159
+ database: strategy.dbConnectionConfig.databaseNameSsmPath,
160
+ });
161
+ extendedConfig.datasourceSecretParameterLocations = dbSecrets;
162
+ if (strategy.vpcConfiguration) {
163
+ const subnetAvailabilityZoneConfig = strategy.vpcConfiguration.subnetAvailabilityZoneConfig.map((saz) => ({
164
+ subnetId: saz.subnetId,
165
+ availabilityZone: saz.availabilityZone,
166
+ }));
167
+ extendedConfig.sqlLambdaVpcConfig = {
168
+ vpcId: strategy.vpcConfiguration.vpcId,
169
+ securityGroupIds: strategy.vpcConfiguration.securityGroupIds,
170
+ subnetAvailabilityZoneConfig,
171
+ };
172
+ }
173
+ if (strategy.sqlLambdaProvisionedConcurrencyConfig) {
174
+ extendedConfig.sqlLambdaProvisionedConcurrencyConfig = strategy.sqlLambdaProvisionedConcurrencyConfig;
175
+ }
176
+ return extendedConfig;
177
+ }
115
178
  /**
116
179
  * Stores graphql api output to be used for client config generation
117
180
  * @param outputStorageStrategy Strategy to store construct outputs. If no strategy is provided a default strategy will be used.
@@ -249,7 +312,7 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
249
312
  }
250
313
  exports.AmplifyGraphqlApi = AmplifyGraphqlApi;
251
314
  _a = JSII_RTTI_SYMBOL_1;
252
- AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.4.0-construct-publish-test.0" };
315
+ AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.4.0-nov-14-cut-1.0" };
253
316
  /**
254
317
  * Given the provided scope, walk the node tree, and throw an exception if any other AmplifyGraphqlApi constructs
255
318
  * are found in the stack.
@@ -267,4 +330,4 @@ const validateNoOtherAmplifyGraphqlApiInStack = (scope) => {
267
330
  throw new Error('Only one AmplifyGraphqlApi is expected in a stack');
268
331
  }
269
332
  };
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbXBsaWZ5LWdyYXBocWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDJDQUF1QztBQUN2QywwRUFBb0U7QUFDcEUsNkNBQWlEO0FBQ2pELDZEQUFrRDtBQUVsRCxnRkFBNEg7QUFDNUgsZ0ZBQXVFO0FBRXZFLHlEQWNpQztBQVFqQyxzRUFBNEc7QUFTNUcseUNBU29CO0FBQ3BCLHNFQUFzRTtBQUN0RSw4REFBa0Y7QUFFbEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUztJQStDOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBYm5COztXQUVHO1FBQ2MsY0FBUyxHQUFHLGFBQWEsQ0FBQztRQVl6Qyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxNQUFNLEVBQ0osVUFBVSxFQUNWLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YscUJBQXFCLEdBQ3RCLEdBQUcsS0FBSyxDQUFDO1FBRVYsSUFBSSxtREFBMEIsRUFBRSxDQUFDLHdCQUF3QixDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFdkksTUFBTSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLElBQUEsMkRBQWdELEVBQUMsa0JBQWtCLENBQUMsQ0FB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QUFDO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUF1QjtRQUNwRCxPQUFPLElBQUksNkJBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDOUIsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFqU0gsOENBa1NDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSx1Q0FBdUMsR0FBRyxDQUFDLEtBQWdCLEVBQVEsRUFBRTtJQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFBLGlDQUFnQixFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVoRCxJQUFJLDZCQUE2QixHQUFHLEtBQUssQ0FBQztJQUMxQyxJQUFBLG9DQUFtQixFQUFDLFNBQVMsRUFBRSxDQUFDLElBQWUsRUFBRSxFQUFFO1FBQ2pELElBQUksSUFBSSxZQUFZLGlCQUFpQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkQsNkJBQTZCLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLDZCQUE2QixFQUFFO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztLQUN0RTtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGV4ZWN1dGVUcmFuc2Zvcm0gfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBOZXN0ZWRTdGFjaywgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQXNzZXRQcm9wcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXR0cmlidXRpb25NZXRhZGF0YVN0b3JhZ2UsIFN0YWNrTWV0YWRhdGFCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5IH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2JhY2tlbmQtb3V0cHV0LXN0b3JhZ2UnO1xuaW1wb3J0IHsgZ3JhcGhxbE91dHB1dEtleSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9iYWNrZW5kLW91dHB1dC1zY2hlbWFzJztcbmltcG9ydCB0eXBlIHsgR3JhcGhxbE91dHB1dCwgQXdzQXBwc3luY0F1dGhlbnRpY2F0aW9uVHlwZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9iYWNrZW5kLW91dHB1dC1zY2hlbWFzJztcbmltcG9ydCB7XG4gIEFwcHN5bmNGdW5jdGlvbixcbiAgRGF0YVNvdXJjZU9wdGlvbnMsXG4gIER5bmFtb0RiRGF0YVNvdXJjZSxcbiAgRWxhc3RpY3NlYXJjaERhdGFTb3VyY2UsXG4gIEV2ZW50QnJpZGdlRGF0YVNvdXJjZSxcbiAgRXh0ZW5kZWRSZXNvbHZlclByb3BzLFxuICBIdHRwRGF0YVNvdXJjZSxcbiAgSHR0cERhdGFTb3VyY2VPcHRpb25zLFxuICBMYW1iZGFEYXRhU291cmNlLFxuICBOb25lRGF0YVNvdXJjZSxcbiAgT3BlblNlYXJjaERhdGFTb3VyY2UsXG4gIFJkc0RhdGFTb3VyY2UsXG4gIFJlc29sdmVyLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBwc3luYyc7XG5pbXBvcnQgeyBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSURvbWFpbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljc2VhcmNoJztcbmltcG9ydCB7IElEb21haW4gYXMgSU9wZW5TZWFyY2hEb21haW4gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtb3BlbnNlYXJjaHNlcnZpY2UnO1xuaW1wb3J0IHsgSUV2ZW50QnVzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElTZXJ2ZXJsZXNzQ2x1c3RlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yZHMnO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5pbXBvcnQgeyBwYXJzZVVzZXJEZWZpbmVkU2xvdHMsIHZhbGlkYXRlRnVuY3Rpb25TbG90cywgc2VwYXJhdGVTbG90cyB9IGZyb20gJy4vaW50ZXJuYWwvdXNlci1kZWZpbmVkLXNsb3RzJztcbmltcG9ydCB0eXBlIHtcbiAgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMsXG4gIEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMsXG4gIEZ1bmN0aW9uU2xvdCxcbiAgSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3ksXG4gIEFkZEZ1bmN0aW9uUHJvcHMsXG4gIENvbmZsaWN0UmVzb2x1dGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcsXG4gIGNvbnZlcnRUb1Jlc29sdmVyQ29uZmlnLFxuICBkZWZhdWx0VHJhbnNsYXRpb25CZWhhdmlvcixcbiAgQXNzZXRNYW5hZ2VyLFxuICBnZXRHZW5lcmF0ZWRSZXNvdXJjZXMsXG4gIGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMsXG4gIENvZGVnZW5Bc3NldHMsXG4gIGdldEFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzLFxufSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IHBhcnNlRGF0YVNvdXJjZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvZGF0YS1zb3VyY2UtY29uZmlnJztcbmltcG9ydCB7IGdldFN0YWNrRm9yU2NvcGUsIHdhbGtBbmRQcm9jZXNzTm9kZXMgfSBmcm9tICcuL2ludGVybmFsL2NvbnN0cnVjdC10cmVlJztcblxuLyoqXG4gKiBMMyBDb25zdHJ1Y3Qgd2hpY2ggaW52b2tlcyB0aGUgQW1wbGlmeSBUcmFuc2Zvcm1lciBQYXR0ZXJuIG92ZXIgYW4gaW5wdXQgR3JhcGhxbCBTY2hlbWEuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byBxdWlja2x5IGRlZmluZSBhcHBzeW5jIGFwaXMgd2hpY2ggc3VwcG9ydCBmdWxsIENSVUQrTGlzdCBhbmQgU3Vic2NyaXB0aW9ucywgcmVsYXRpb25zaGlwcyxcbiAqIGF1dGgsIHNlYXJjaCBvdmVyIGRhdGEsIHRoZSBhYmlsaXR5IHRvIGluamVjdCBjdXN0b20gYnVzaW5lc3MgbG9naWMgYW5kIHF1ZXJ5L211dGF0aW9uIG9wZXJhdGlvbnMsIGFuZCBjb25uZWN0IHRvIE1MIHNlcnZpY2VzLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byB0aGUgZG9jcyBsaW5rcyBiZWxvdzpcbiAqIERhdGEgTW9kZWxpbmcgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvZGF0YS1tb2RlbGluZy9cbiAqIEF1dGhvcml6YXRpb24gLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvYXV0aG9yaXphdGlvbi1ydWxlcy9cbiAqIEN1c3RvbSBCdXNpbmVzcyBMb2dpYyAtIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvXG4gKiBTZWFyY2ggLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvc2VhcmNoLWFuZC1yZXN1bHQtYWdncmVnYXRpb25zL1xuICogTUwgU2VydmljZXMgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY29ubmVjdC10by1tYWNoaW5lLWxlYXJuaW5nLXNlcnZpY2VzL1xuICpcbiAqIEZvciBhIGZ1bGwgcmVmZXJlbmNlIG9mIHRoZSBzdXBwb3J0ZWQgY3VzdG9tIGdyYXBocWwgZGlyZWN0aXZlcyAtIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9kaXJlY3RpdmVzLXJlZmVyZW5jZS9cbiAqXG4gKiBUaGUgb3V0cHV0IG9mIHRoaXMgY29uc3RydWN0IGlzIGEgbWFwcGluZyBvZiBMMiBvciBMMSByZXNvdXJjZXMgZ2VuZXJhdGVkIGJ5IHRoZSB0cmFuc2Zvcm1lciwgd2hpY2ggZ2VuZXJhbGx5IGZvbGxvdyB0aGUgYWNjZXNzIHBhdHRlcm5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgIGNvbnN0IGFwaSA9IG5ldyBBbXBsaWZ5R3JhcGhRbEFwaSh0aGlzLCAnYXBpJywgeyA8cGFyYW1zPiB9KTtcbiAqICAgLy8gQWNjZXNzIEwyIHJlc291cmNlcyB1bmRlciBgLnJlc291cmNlc2BcbiAqICAgYXBpLnJlc291cmNlcy50YWJsZXNbXCJUb2RvXCJdLnRhYmxlQXJuO1xuICpcbiAqICAgLy8gQWNjZXNzIEwxIHJlc291cmNlcyB1bmRlciBgLnJlc291cmNlcy5jZm5SZXNvdXJjZXNgXG4gKiAgIGFwaS5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkueHJheUVuYWJsZWQgPSB0cnVlO1xuICogICBPYmplY3QudmFsdWVzKGFwaS5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmblRhYmxlcykuZm9yRWFjaCh0YWJsZSA9PiB7XG4gKiAgICAgdGFibGUucG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24gPSB7IHBvaW50SW5UaW1lUmVjb3ZlcnlFbmFibGVkOiBmYWxzZSB9O1xuICogICB9KTtcbiAqIGBgYFxuICogYHJlc291cmNlcy48UmVzb3VyY2VUeXBlPi48UmVzb3VyY2VOYW1lPmAgLSB5b3UgY2FuIHRoZW4gcGVyZm9ybSBhbnkgQ0RLIGFjdGlvbiBvbiB0aGVzZSByZXN1bHRpbmcgcmVzb3VyZWNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFtcGxpZnlHcmFwaHFsQXBpIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBMMSBhbmQgTDIgQ0RLIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZXM6IEFtcGxpZnlHcmFwaHFsQXBpUmVzb3VyY2VzO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZWQgYXNzZXRzIHJlcXVpcmVkIGZvciBjb2RlZ2VuIHN0ZXBzLiBQZXJzaXN0ZWQgaW4gb3JkZXIgdG8gcmVuZGVyIGFzIHBhcnQgb2YgdGhlIG91dHB1dCBzdHJhdGVneS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZWdlbkFzc2V0czogQ29kZWdlbkFzc2V0cztcblxuICAvKipcbiAgICogUmVzb2x2ZXJzIGdlbmVyYXRlZCBieSB0aGUgdHJhbnNmb3JtIHByb2Nlc3MsIHBlcnNpc3RlZCBvbiB0aGUgc2lkZSBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHB1bGxpbmcgYSBtYW5pZmVzdFxuICAgKiBmb3IgdGhlIHB1cnBvc2VzIG9mIGluc3BlY3RpbmcgYW5kIHByb2R1Y2luZyBvdmVycmlkZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJhdGVkRnVuY3Rpb25TbG90czogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIEdyYXBocWwgVVJMIEZvciB0aGUgZ2VuZXJhdGVkIEFQSS4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYXBocWxVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogUmVhbHRpbWUgVVJMIEZvciB0aGUgZ2VuZXJhdGVkIEFQSS4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlYWx0aW1lVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBBcGkgS2V5IGlmIGdlbmVyYXRlZC4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZWQgQXBpIElkLiBNYXkgYmUgYSBDREsgVG9rZW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmxpY3QgcmVzb2x1dGlvbiBzZXR0aW5nXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZsaWN0UmVzb2x1dGlvbjogQ29uZmxpY3RSZXNvbHV0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBCZSB2ZXJ5IGNhcmVmdWwgZWRpdGluZyB0aGlzIHZhbHVlLiBUaGlzIGlzIHRoZSBzdHJpbmcgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGdyYXBocWwgc3RhY2tzIGluIEJJIG1ldHJpY3NcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhY2tUeXBlID0gJ2FwaS1BcHBTeW5jJztcblxuICAvKipcbiAgICogTmV3IEFtcGxpZnlHcmFwaHFsQXBpIGNvbnN0cnVjdCwgdGhpcyB3aWxsIGNyZWF0ZSBhbiBhcHBzeW5jIGFwaSB3aXRoIGF1dGhvcml6YXRpb24sIGEgc2NoZW1hLCBhbmQgYWxsIG5lY2Vzc2FyeSByZXNvbHZlcnMsIGZ1bmN0aW9ucyxcbiAgICogYW5kIGRhdGFzb3VyY2VzLlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGlzIGNvbnN0cnVjdCB3aXRoaW4uXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gdXNlIGZvciB0aGlzIGFwaS5cbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBnZW5lcmF0ZWQgYXBpLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdmFsaWRhdGVOb090aGVyQW1wbGlmeUdyYXBocWxBcGlJblN0YWNrKHRoaXMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgZGVmaW5pdGlvbixcbiAgICAgIGF1dGhvcml6YXRpb25Nb2RlcyxcbiAgICAgIGNvbmZsaWN0UmVzb2x1dGlvbixcbiAgICAgIGZ1bmN0aW9uU2xvdHMsXG4gICAgICB0cmFuc2Zvcm1lclBsdWdpbnMsXG4gICAgICBwcmVkaWN0aW9uc0J1Y2tldCxcbiAgICAgIHN0YWNrTWFwcGluZ3MsXG4gICAgICB0cmFuc2xhdGlvbkJlaGF2aW9yLFxuICAgICAgZnVuY3Rpb25OYW1lTWFwLFxuICAgICAgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5LFxuICAgIH0gPSBwcm9wcztcblxuICAgIG5ldyBBdHRyaWJ1dGlvbk1ldGFkYXRhU3RvcmFnZSgpLnN0b3JlQXR0cmlidXRpb25NZXRhZGF0YShTdGFjay5vZihzY29wZSksIHRoaXMuc3RhY2tUeXBlLCBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAncGFja2FnZS5qc29uJykpO1xuXG4gICAgY29uc3QgeyBhdXRoQ29uZmlnLCBhdXRoU3ludGhQYXJhbWV0ZXJzIH0gPSBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcoYXV0aG9yaXphdGlvbk1vZGVzKTtcblxuICAgIHZhbGlkYXRlRnVuY3Rpb25TbG90cyhmdW5jdGlvblNsb3RzID8/IFtdKTtcbiAgICBjb25zdCBzZXBhcmF0ZWRGdW5jdGlvblNsb3RzID0gc2VwYXJhdGVTbG90cyhbLi4uKGZ1bmN0aW9uU2xvdHMgPz8gW10pLCAuLi5kZWZpbml0aW9uLmZ1bmN0aW9uU2xvdHNdKTtcblxuICAgIC8vIEFsbG93IGFtcGxpZnlFbnZpcm9ubWVudE5hbWUgdG8gYmUgcmV0cmlldmUgZnJvbSBjb250ZXh0LCBhbmQgdXNlIHZhbHVlICdOT05FJyBpZiBubyB2YWx1ZSBjYW4gYmUgZm91bmQuXG4gICAgLy8gYW1wbGlmeUVudmlyb25tZW50TmFtZSBpcyByZXF1aXJlZCBmb3IgbG9naWNhbCBpZCBzdWZmaXhpbmcsIGFzIHdlbGwgYXMgRXhwb3J0cyBmcm9tIHRoZSBuZXN0ZWQgc3RhY2tzLlxuICAgIC8vIEFsbG93IGV4cG9ydCBzbyBjdXN0b21lcnMgY2FuIHJldXNlIHRoZSBlbnYgaW4gdGhlaXIgb3duIHJlZmVyZW5jZXMgZG93bnN0cmVhbS5cbiAgICBjb25zdCBhbXBsaWZ5RW52aXJvbm1lbnROYW1lID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoJ2FtcGxpZnlFbnZpcm9ubWVudE5hbWUnKSA/PyAnTk9ORSc7XG4gICAgaWYgKGFtcGxpZnlFbnZpcm9ubWVudE5hbWUubGVuZ3RoID4gOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBvciBjZGsgLS1jb250ZXh0IGVudiBtdXN0IGhhdmUgYSBsZW5ndGggPD0gOCwgZm91bmQgJHthbXBsaWZ5RW52aXJvbm1lbnROYW1lfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGFzc2V0TWFuYWdlciA9IG5ldyBBc3NldE1hbmFnZXIoKTtcblxuICAgIGV4ZWN1dGVUcmFuc2Zvcm0oe1xuICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICBuZXN0ZWRTdGFja1Byb3ZpZGVyOiB7XG4gICAgICAgIHByb3ZpZGU6IChuZXN0ZWRTdGFja1Njb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZykgPT4gbmV3IE5lc3RlZFN0YWNrKG5lc3RlZFN0YWNrU2NvcGUsIG5hbWUpLFxuICAgICAgfSxcbiAgICAgIGFzc2V0UHJvdmlkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogKGFzc2V0U2NvcGU6IENvbnN0cnVjdCwgYXNzZXRJZDogc3RyaW5nLCBhc3NldFByb3BzOiBBc3NldFByb3BzKSA9PlxuICAgICAgICAgIG5ldyBBc3NldChhc3NldFNjb3BlLCBhc3NldElkLCB7IHBhdGg6IGFzc2V0TWFuYWdlci5hZGRBc3NldChhc3NldFByb3BzLmZpbGVOYW1lLCBhc3NldFByb3BzLmZpbGVDb250ZW50KSB9KSxcbiAgICAgIH0sXG4gICAgICBzeW50aFBhcmFtZXRlcnM6IHtcbiAgICAgICAgYW1wbGlmeUVudmlyb25tZW50TmFtZTogYW1wbGlmeUVudmlyb25tZW50TmFtZSxcbiAgICAgICAgYXBpTmFtZTogcHJvcHMuYXBpTmFtZSA/PyBpZCxcbiAgICAgICAgLi4uYXV0aFN5bnRoUGFyYW1ldGVycyxcbiAgICAgIH0sXG4gICAgICBzY2hlbWE6IGRlZmluaXRpb24uc2NoZW1hLFxuICAgICAgdXNlckRlZmluZWRTbG90czogcGFyc2VVc2VyRGVmaW5lZFNsb3RzKHNlcGFyYXRlZEZ1bmN0aW9uU2xvdHMpLFxuICAgICAgdHJhbnNmb3JtZXJzRmFjdG9yeUFyZ3M6IHtcbiAgICAgICAgY3VzdG9tVHJhbnNmb3JtZXJzOiB0cmFuc2Zvcm1lclBsdWdpbnMgPz8gW10sXG4gICAgICAgIC4uLihwcmVkaWN0aW9uc0J1Y2tldCA/IHsgc3RvcmFnZUNvbmZpZzogeyBidWNrZXROYW1lOiBwcmVkaWN0aW9uc0J1Y2tldC5idWNrZXROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgZnVuY3Rpb25OYW1lTWFwLFxuICAgICAgfSxcbiAgICAgIGF1dGhDb25maWcsXG4gICAgICBzdGFja01hcHBpbmc6IHN0YWNrTWFwcGluZ3MgPz8ge30sXG4gICAgICByZXNvbHZlckNvbmZpZzogY29uZmxpY3RSZXNvbHV0aW9uID8gY29udmVydFRvUmVzb2x2ZXJDb25maWcoY29uZmxpY3RSZXNvbHV0aW9uKSA6IHVuZGVmaW5lZCxcbiAgICAgIHRyYW5zZm9ybVBhcmFtZXRlcnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdFRyYW5zbGF0aW9uQmVoYXZpb3IsXG4gICAgICAgIC4uLih0cmFuc2xhdGlvbkJlaGF2aW9yID8/IHt9KSxcbiAgICAgIH0sXG4gICAgICAuLi5wYXJzZURhdGFTb3VyY2VDb25maWcoZGVmaW5pdGlvbi5kYXRhU291cmNlRGVmaW5pdGlvbiksXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvZGVnZW5Bc3NldHMgPSBuZXcgQ29kZWdlbkFzc2V0cyh0aGlzLCAnQW1wbGlmeUNvZGVnZW5Bc3NldHMnLCB7IG1vZGVsU2NoZW1hOiBkZWZpbml0aW9uLnNjaGVtYSB9KTtcblxuICAgIHRoaXMucmVzb3VyY2VzID0gZ2V0R2VuZXJhdGVkUmVzb3VyY2VzKHRoaXMpO1xuICAgIHRoaXMuY29uZmxpY3RSZXNvbHV0aW9uID0gY29uZmxpY3RSZXNvbHV0aW9uO1xuICAgIHRoaXMuZ2VuZXJhdGVkRnVuY3Rpb25TbG90cyA9IGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMoYXNzZXRNYW5hZ2VyLnJlc29sdmVyQXNzZXRzKTtcbiAgICB0aGlzLnN0b3JlT3V0cHV0KG91dHB1dFN0b3JhZ2VTdHJhdGVneSk7XG5cbiAgICB0aGlzLmFwaUlkID0gdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXR0ckFwaUlkO1xuICAgIHRoaXMuZ3JhcGhxbFVybCA9IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpLmF0dHJHcmFwaFFsVXJsO1xuICAgIHRoaXMucmVhbHRpbWVVcmwgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdHRyUmVhbHRpbWVVcmw7XG4gICAgdGhpcy5hcGlLZXkgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuQXBpS2V5Py5hdHRyQXBpS2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlcyBncmFwaHFsIGFwaSBvdXRwdXQgdG8gYmUgdXNlZCBmb3IgY2xpZW50IGNvbmZpZyBnZW5lcmF0aW9uXG4gICAqIEBwYXJhbSBvdXRwdXRTdG9yYWdlU3RyYXRlZ3kgU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIHN0cmF0ZWd5IGlzIHByb3ZpZGVkIGEgZGVmYXVsdCBzdHJhdGVneSB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIHN0b3JlT3V0cHV0KFxuICAgIG91dHB1dFN0b3JhZ2VTdHJhdGVneTogSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3kgPSBuZXcgU3RhY2tNZXRhZGF0YUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3koU3RhY2sub2YodGhpcykpLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IG91dHB1dDogR3JhcGhxbE91dHB1dCA9IHtcbiAgICAgIHZlcnNpb246ICcxJyxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgYXdzQXBwc3luY0FwaUlkOiB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdHRyQXBpSWQsXG4gICAgICAgIGF3c0FwcHN5bmNBcGlFbmRwb2ludDogdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXR0ckdyYXBoUWxVcmwsXG4gICAgICAgIGF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblR5cGU6IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpLmF1dGhlbnRpY2F0aW9uVHlwZSBhcyBBd3NBcHBzeW5jQXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICBhd3NBcHBzeW5jUmVnaW9uOiBzdGFjay5yZWdpb24sXG4gICAgICAgIGFtcGxpZnlBcGlNb2RlbFNjaGVtYVMzVXJpOiB0aGlzLmNvZGVnZW5Bc3NldHMubW9kZWxTY2hlbWFTM1VyaSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuQXBpS2V5KSB7XG4gICAgICBvdXRwdXQucGF5bG9hZC5hd3NBcHBzeW5jQXBpS2V5ID0gdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkFwaUtleS5hdHRyQXBpS2V5O1xuICAgIH1cblxuICAgIGNvbnN0IGFkZGl0aW9uYWxBdXRoVHlwZXMgPSBnZXRBZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyh0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaSk7XG4gICAgaWYgKGFkZGl0aW9uYWxBdXRoVHlwZXMpIHtcbiAgICAgIG91dHB1dC5wYXlsb2FkLmF3c0FwcHN5bmNBZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyA9IGFkZGl0aW9uYWxBdXRoVHlwZXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmxpY3RSZXNvbHV0aW9uPy5wcm9qZWN0Py5oYW5kbGVyVHlwZSkge1xuICAgICAgb3V0cHV0LnBheWxvYWQuYXdzQXBwc3luY0NvbmZsaWN0UmVzb2x1dGlvbk1vZGUgPSB0aGlzLmNvbmZsaWN0UmVzb2x1dGlvbj8ucHJvamVjdD8uaGFuZGxlclR5cGU7XG4gICAgfVxuXG4gICAgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5LmFkZEJhY2tlbmRPdXRwdXRFbnRyeShncmFwaHFsT3V0cHV0S2V5LCBvdXRwdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xsb3dpbmcgYXJlIHByb3h5IG1ldGhvZHMgdG8gdGhlIEwyIElHcmFwaHFsQXBpIGludGVyZmFjZSwgdG8gZmFjaWxpdGF0ZSBlYXNpZXIgdXNlIG9mIHRoZSBMMyB3aXRob3V0IG5lZWRpbmdcbiAgICogdG8gYWNjZXNzIHRoZSB1bmRlcmx5aW5nIHJlc291cmNlcy5cbiAgICovXG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBEeW5hbW9EQiBkYXRhIHNvdXJjZSB0byB0aGlzIEFQSS4gVGhpcyBpcyBhIHByb3h5IG1ldGhvZCB0byB0aGUgTDIgR3JhcGhxbEFwaSBDb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCBUaGUgZGF0YSBzb3VyY2UncyBpZC5cbiAgICogQHBhcmFtIHRhYmxlIFRoZSBEeW5hbW9EQiB0YWJsZSBiYWNraW5nIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcmV0dXJucyB0aGUgZ2VuZXJhdGVkIGRhdGEgc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZER5bmFtb0RiRGF0YVNvdXJjZShpZDogc3RyaW5nLCB0YWJsZTogSVRhYmxlLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBEeW5hbW9EYkRhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZER5bmFtb0RiRGF0YVNvdXJjZShpZCwgdGFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBlbGFzdGljc2VhcmNoIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBhZGRPcGVuU2VhcmNoRGF0YVNvdXJjZWBcbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBlbGFzdGljc2VhcmNoIGRvbWFpbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRWxhc3RpY3NlYXJjaERhdGFTb3VyY2UoaWQ6IHN0cmluZywgZG9tYWluOiBJRG9tYWluLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBFbGFzdGljc2VhcmNoRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkRWxhc3RpY3NlYXJjaERhdGFTb3VyY2UoaWQsIGRvbWFpbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIEV2ZW50QnJpZGdlIGRhdGEgc291cmNlIHRvIHRoaXMgYXBpLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gZXZlbnRCdXMgVGhlIEV2ZW50QnJpZGdlIEV2ZW50QnVzIG9uIHdoaWNoIHRvIHB1dCBldmVudHMuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEV2ZW50QnJpZGdlRGF0YVNvdXJjZShpZDogc3RyaW5nLCBldmVudEJ1czogSUV2ZW50QnVzLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBFdmVudEJyaWRnZURhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZEV2ZW50QnJpZGdlRGF0YVNvdXJjZShpZCwgZXZlbnRCdXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBodHRwIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gZW5kcG9pbnQgVGhlIGh0dHAgZW5kcG9pbnQuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcmV0dXJucyB0aGUgZ2VuZXJhdGVkIGRhdGEgc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEh0dHBEYXRhU291cmNlKGlkOiBzdHJpbmcsIGVuZHBvaW50OiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwRGF0YVNvdXJjZU9wdGlvbnMpOiBIdHRwRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkSHR0cERhdGFTb3VyY2UoaWQsIGVuZHBvaW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgTGFtYmRhIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gbGFtYmRhRnVuY3Rpb24gVGhlIExhbWJkYSBmdW5jdGlvbiB0byBjYWxsIHRvIGludGVyYWN0IHdpdGggdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTGFtYmRhRGF0YVNvdXJjZShpZDogc3RyaW5nLCBsYW1iZGFGdW5jdGlvbjogSUZ1bmN0aW9uLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBMYW1iZGFEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRMYW1iZGFEYXRhU291cmNlKGlkLCBsYW1iZGFGdW5jdGlvbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IGR1bW15IGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogVXNlZnVsIGZvciBwaXBlbGluZSByZXNvbHZlcnMgYW5kIGZvciBiYWNrZW5kIGNoYW5nZXMgdGhhdCBkb24ndCByZXF1aXJlIGEgZGF0YSBzb3VyY2UuXG4gICAqIEBwYXJhbSBpZCBUaGUgZGF0YSBzb3VyY2UncyBpZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTm9uZURhdGFTb3VyY2UoaWQ6IHN0cmluZywgb3B0aW9ucz86IERhdGFTb3VyY2VPcHRpb25zKTogTm9uZURhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZE5vbmVEYXRhU291cmNlKGlkLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZCBhIG5ldyBPcGVuU2VhcmNoIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBPcGVuU2VhcmNoIGRvbWFpbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkT3BlblNlYXJjaERhdGFTb3VyY2UoaWQ6IHN0cmluZywgZG9tYWluOiBJT3BlblNlYXJjaERvbWFpbiwgb3B0aW9ucz86IERhdGFTb3VyY2VPcHRpb25zKTogT3BlblNlYXJjaERhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZE9wZW5TZWFyY2hEYXRhU291cmNlKGlkLCBkb21haW4sIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBSZHMgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBzZXJ2ZXJsZXNzQ2x1c3RlciBUaGUgc2VydmVybGVzcyBjbHVzdGVyIHRvIGludGVyYWN0IHdpdGggdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIHNlY3JldFN0b3JlIFRoZSBzZWNyZXQgc3RvcmUgdGhhdCBjb250YWlucyB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZvciB0aGUgc2VydmVybGVzcyBjbHVzdGVyLlxuICAgKiBAcGFyYW0gZGF0YWJhc2VOYW1lIFRoZSBvcHRpb25hbCBuYW1lIG9mIHRoZSBkYXRhYmFzZSB0byB1c2Ugd2l0aGluIHRoZSBjbHVzdGVyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRSZHNEYXRhU291cmNlKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgc2VydmVybGVzc0NsdXN0ZXI6IElTZXJ2ZXJsZXNzQ2x1c3RlcixcbiAgICBzZWNyZXRTdG9yZTogSVNlY3JldCxcbiAgICBkYXRhYmFzZU5hbWU/OiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IERhdGFTb3VyY2VPcHRpb25zLFxuICApOiBSZHNEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRSZHNEYXRhU291cmNlKGlkLCBzZXJ2ZXJsZXNzQ2x1c3Rlciwgc2VjcmV0U3RvcmUsIGRhdGFiYXNlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcmVzb2x2ZXIgdG8gdGhlIGFwaS4gVGhpcyBpcyBhIHByb3h5IG1ldGhvZCB0byB0aGUgTDIgR3JhcGhxbEFwaSBDb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCBUaGUgcmVzb2x2ZXIncyBpZC5cbiAgICogQHBhcmFtIHByb3BzIHRoZSByZXNvbHZlciBwcm9wZXJ0aWVzLlxuICAgKiBAcmV0dXJucyB0aGUgZ2VuZXJhdGVkIHJlc29sdmVyLlxuICAgKi9cbiAgcHVibGljIGFkZFJlc29sdmVyKGlkOiBzdHJpbmcsIHByb3BzOiBFeHRlbmRlZFJlc29sdmVyUHJvcHMpOiBSZXNvbHZlciB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuY3JlYXRlUmVzb2x2ZXIoaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gYXBwc3luYyBmdW5jdGlvbiB0byB0aGUgYXBpLlxuICAgKiBAcGFyYW0gaWQgdGhlIGZ1bmN0aW9uJ3MgaWQuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgYXBwc3luYyBmdW5jdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhZGRGdW5jdGlvbihpZDogc3RyaW5nLCBwcm9wczogQWRkRnVuY3Rpb25Qcm9wcyk6IEFwcHN5bmNGdW5jdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBBcHBzeW5jRnVuY3Rpb24odGhpcywgaWQsIHtcbiAgICAgIGFwaTogdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gdGhlIHByb3ZpZGVkIHNjb3BlLCB3YWxrIHRoZSBub2RlIHRyZWUsIGFuZCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYW55IG90aGVyIEFtcGxpZnlHcmFwaHFsQXBpIGNvbnN0cnVjdHNcbiAqIGFyZSBmb3VuZCBpbiB0aGUgc3RhY2suXG4gKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRoaXMgY29uc3RydWN0IGlzIGNyZWF0ZWQgaW4uXG4gKi9cbmNvbnN0IHZhbGlkYXRlTm9PdGhlckFtcGxpZnlHcmFwaHFsQXBpSW5TdGFjayA9IChzY29wZTogQ29uc3RydWN0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHJvb3RTdGFjayA9IGdldFN0YWNrRm9yU2NvcGUoc2NvcGUsIHRydWUpO1xuXG4gIGxldCB3YXNPdGhlckFtcGxpZnlHcmFwaGxBcGlGb3VuZCA9IGZhbHNlO1xuICB3YWxrQW5kUHJvY2Vzc05vZGVzKHJvb3RTdGFjaywgKG5vZGU6IENvbnN0cnVjdCkgPT4ge1xuICAgIGlmIChub2RlIGluc3RhbmNlb2YgQW1wbGlmeUdyYXBocWxBcGkgJiYgc2NvcGUgIT09IG5vZGUpIHtcbiAgICAgIHdhc090aGVyQW1wbGlmeUdyYXBobEFwaUZvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmICh3YXNPdGhlckFtcGxpZnlHcmFwaGxBcGlGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignT25seSBvbmUgQW1wbGlmeUdyYXBocWxBcGkgaXMgZXhwZWN0ZWQgaW4gYSBzdGFjaycpO1xuICB9XG59O1xuIl19
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbXBsaWZ5LWdyYXBocWwtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDJDQUF1QztBQUN2QywwRUFBNEY7QUFDNUYsNkNBQWlEO0FBQ2pELDZEQUFrRDtBQUVsRCxnRkFBNEg7QUFDNUgsZ0ZBQXVFO0FBRXZFLHlEQWNpQztBQVFqQyxvRkFBOEc7QUFDOUcsc0VBQTRHO0FBVTVHLHlDQVNvQjtBQUNwQixtRkFBcUY7QUFDckYsc0VBQXNFO0FBQ3RFLDhEQUFrRjtBQUVsRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHNCQUFTO0lBK0M5Qzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFibkI7O1dBRUc7UUFDYyxjQUFTLEdBQUcsYUFBYSxDQUFDO1FBWXpDLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE1BQU0sRUFDSixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsR0FDdEIsR0FBRyxLQUFLLENBQUM7UUFFVixJQUFJLG1EQUEwQixFQUFFLENBQUMsd0JBQXdCLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUV2SSxNQUFNLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsSUFBQSwy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QUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQzlCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7O0FBM1dILDhDQTRXQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sdUNBQXVDLEdBQUcsQ0FBQyxLQUFnQixFQUFRLEVBQUU7SUFDekUsTUFBTSxTQUFTLEdBQUcsSUFBQSxpQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFaEQsSUFBSSw2QkFBNkIsR0FBRyxLQUFLLENBQUM7SUFDMUMsSUFBQSxvQ0FBbUIsRUFBQyxTQUFTLEVBQUUsQ0FBQyxJQUFlLEVBQUUsRUFBRTtRQUNqRCxJQUFJLElBQUksWUFBWSxpQkFBaUIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZELDZCQUE2QixHQUFHLElBQUksQ0FBQztTQUN0QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSw2QkFBNkIsRUFBRTtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7S0FDdEU7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBFeGVjdXRlVHJhbnNmb3JtQ29uZmlnLCBleGVjdXRlVHJhbnNmb3JtIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgTmVzdGVkU3RhY2ssIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IEFzc2V0UHJvcHMgfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IEF0dHJpYnV0aW9uTWV0YWRhdGFTdG9yYWdlLCBTdGFja01ldGFkYXRhQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9iYWNrZW5kLW91dHB1dC1zdG9yYWdlJztcbmltcG9ydCB7IGdyYXBocWxPdXRwdXRLZXkgfSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc2NoZW1hcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBocWxPdXRwdXQsIEF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblR5cGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc2NoZW1hcyc7XG5pbXBvcnQge1xuICBBcHBzeW5jRnVuY3Rpb24sXG4gIERhdGFTb3VyY2VPcHRpb25zLFxuICBEeW5hbW9EYkRhdGFTb3VyY2UsXG4gIEVsYXN0aWNzZWFyY2hEYXRhU291cmNlLFxuICBFdmVudEJyaWRnZURhdGFTb3VyY2UsXG4gIEV4dGVuZGVkUmVzb2x2ZXJQcm9wcyxcbiAgSHR0cERhdGFTb3VyY2UsXG4gIEh0dHBEYXRhU291cmNlT3B0aW9ucyxcbiAgTGFtYmRhRGF0YVNvdXJjZSxcbiAgTm9uZURhdGFTb3VyY2UsXG4gIE9wZW5TZWFyY2hEYXRhU291cmNlLFxuICBSZHNEYXRhU291cmNlLFxuICBSZXNvbHZlcixcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwcHN5bmMnO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IElEb21haW4gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY3NlYXJjaCc7XG5pbXBvcnQgeyBJRG9tYWluIGFzIElPcGVuU2VhcmNoRG9tYWluIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW9wZW5zZWFyY2hzZXJ2aWNlJztcbmltcG9ydCB7IElFdmVudEJ1cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBJU2VydmVybGVzc0NsdXN0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcmRzJztcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0IHsgTVlTUUxfREJfVFlQRSwgUE9TVEdSRVNfREJfVFlQRSwgUkRTQ29ubmVjdGlvblNlY3JldHMgfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlJztcbmltcG9ydCB7IHBhcnNlVXNlckRlZmluZWRTbG90cywgdmFsaWRhdGVGdW5jdGlvblNsb3RzLCBzZXBhcmF0ZVNsb3RzIH0gZnJvbSAnLi9pbnRlcm5hbC91c2VyLWRlZmluZWQtc2xvdHMnO1xuaW1wb3J0IHR5cGUge1xuICBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyxcbiAgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyxcbiAgRnVuY3Rpb25TbG90LFxuICBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSxcbiAgQWRkRnVuY3Rpb25Qcm9wcyxcbiAgQ29uZmxpY3RSZXNvbHV0aW9uLFxuICBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcsXG4gIGNvbnZlcnRUb1Jlc29sdmVyQ29uZmlnLFxuICBkZWZhdWx0VHJhbnNsYXRpb25CZWhhdmlvcixcbiAgQXNzZXRNYW5hZ2VyLFxuICBnZXRHZW5lcmF0ZWRSZXNvdXJjZXMsXG4gIGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMsXG4gIENvZGVnZW5Bc3NldHMsXG4gIGdldEFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzLFxufSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IGlzU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgfSBmcm9tICcuL3NxbC1tb2RlbC1kYXRhc291cmNlLXN0cmF0ZWd5JztcbmltcG9ydCB7IHBhcnNlRGF0YVNvdXJjZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvZGF0YS1zb3VyY2UtY29uZmlnJztcbmltcG9ydCB7IGdldFN0YWNrRm9yU2NvcGUsIHdhbGtBbmRQcm9jZXNzTm9kZXMgfSBmcm9tICcuL2ludGVybmFsL2NvbnN0cnVjdC10cmVlJztcblxuLyoqXG4gKiBMMyBDb25zdHJ1Y3Qgd2hpY2ggaW52b2tlcyB0aGUgQW1wbGlmeSBUcmFuc2Zvcm1lciBQYXR0ZXJuIG92ZXIgYW4gaW5wdXQgR3JhcGhxbCBTY2hlbWEuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byBxdWlja2x5IGRlZmluZSBhcHBzeW5jIGFwaXMgd2hpY2ggc3VwcG9ydCBmdWxsIENSVUQrTGlzdCBhbmQgU3Vic2NyaXB0aW9ucywgcmVsYXRpb25zaGlwcyxcbiAqIGF1dGgsIHNlYXJjaCBvdmVyIGRhdGEsIHRoZSBhYmlsaXR5IHRvIGluamVjdCBjdXN0b20gYnVzaW5lc3MgbG9naWMgYW5kIHF1ZXJ5L211dGF0aW9uIG9wZXJhdGlvbnMsIGFuZCBjb25uZWN0IHRvIE1MIHNlcnZpY2VzLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byB0aGUgZG9jcyBsaW5rcyBiZWxvdzpcbiAqIERhdGEgTW9kZWxpbmcgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvZGF0YS1tb2RlbGluZy9cbiAqIEF1dGhvcml6YXRpb24gLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvYXV0aG9yaXphdGlvbi1ydWxlcy9cbiAqIEN1c3RvbSBCdXNpbmVzcyBMb2dpYyAtIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvXG4gKiBTZWFyY2ggLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvc2VhcmNoLWFuZC1yZXN1bHQtYWdncmVnYXRpb25zL1xuICogTUwgU2VydmljZXMgLSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY29ubmVjdC10by1tYWNoaW5lLWxlYXJuaW5nLXNlcnZpY2VzL1xuICpcbiAqIEZvciBhIGZ1bGwgcmVmZXJlbmNlIG9mIHRoZSBzdXBwb3J0ZWQgY3VzdG9tIGdyYXBocWwgZGlyZWN0aXZlcyAtIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9kaXJlY3RpdmVzLXJlZmVyZW5jZS9cbiAqXG4gKiBUaGUgb3V0cHV0IG9mIHRoaXMgY29uc3RydWN0IGlzIGEgbWFwcGluZyBvZiBMMiBvciBMMSByZXNvdXJjZXMgZ2VuZXJhdGVkIGJ5IHRoZSB0cmFuc2Zvcm1lciwgd2hpY2ggZ2VuZXJhbGx5IGZvbGxvdyB0aGUgYWNjZXNzIHBhdHRlcm5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgIGNvbnN0IGFwaSA9IG5ldyBBbXBsaWZ5R3JhcGhRbEFwaSh0aGlzLCAnYXBpJywgeyA8cGFyYW1zPiB9KTtcbiAqICAgLy8gQWNjZXNzIEwyIHJlc291cmNlcyB1bmRlciBgLnJlc291cmNlc2BcbiAqICAgYXBpLnJlc291cmNlcy50YWJsZXNbXCJUb2RvXCJdLnRhYmxlQXJuO1xuICpcbiAqICAgLy8gQWNjZXNzIEwxIHJlc291cmNlcyB1bmRlciBgLnJlc291cmNlcy5jZm5SZXNvdXJjZXNgXG4gKiAgIGFwaS5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkueHJheUVuYWJsZWQgPSB0cnVlO1xuICogICBPYmplY3QudmFsdWVzKGFwaS5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmblRhYmxlcykuZm9yRWFjaCh0YWJsZSA9PiB7XG4gKiAgICAgdGFibGUucG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24gPSB7IHBvaW50SW5UaW1lUmVjb3ZlcnlFbmFibGVkOiBmYWxzZSB9O1xuICogICB9KTtcbiAqIGBgYFxuICogYHJlc291cmNlcy48UmVzb3VyY2VUeXBlPi48UmVzb3VyY2VOYW1lPmAgLSB5b3UgY2FuIHRoZW4gcGVyZm9ybSBhbnkgQ0RLIGFjdGlvbiBvbiB0aGVzZSByZXN1bHRpbmcgcmVzb3VyZWNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFtcGxpZnlHcmFwaHFsQXBpIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBMMSBhbmQgTDIgQ0RLIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZXM6IEFtcGxpZnlHcmFwaHFsQXBpUmVzb3VyY2VzO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZWQgYXNzZXRzIHJlcXVpcmVkIGZvciBjb2RlZ2VuIHN0ZXBzLiBQZXJzaXN0ZWQgaW4gb3JkZXIgdG8gcmVuZGVyIGFzIHBhcnQgb2YgdGhlIG91dHB1dCBzdHJhdGVneS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZWdlbkFzc2V0czogQ29kZWdlbkFzc2V0cztcblxuICAvKipcbiAgICogUmVzb2x2ZXJzIGdlbmVyYXRlZCBieSB0aGUgdHJhbnNmb3JtIHByb2Nlc3MsIHBlcnNpc3RlZCBvbiB0aGUgc2lkZSBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHB1bGxpbmcgYSBtYW5pZmVzdFxuICAgKiBmb3IgdGhlIHB1cnBvc2VzIG9mIGluc3BlY3RpbmcgYW5kIHByb2R1Y2luZyBvdmVycmlkZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJhdGVkRnVuY3Rpb25TbG90czogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIEdyYXBocWwgVVJMIEZvciB0aGUgZ2VuZXJhdGVkIEFQSS4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYXBocWxVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogUmVhbHRpbWUgVVJMIEZvciB0aGUgZ2VuZXJhdGVkIEFQSS4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlYWx0aW1lVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCBBcGkgS2V5IGlmIGdlbmVyYXRlZC4gTWF5IGJlIGEgQ0RLIFRva2VuLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZWQgQXBpIElkLiBNYXkgYmUgYSBDREsgVG9rZW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmxpY3QgcmVzb2x1dGlvbiBzZXR0aW5nXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZsaWN0UmVzb2x1dGlvbjogQ29uZmxpY3RSZXNvbHV0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBCZSB2ZXJ5IGNhcmVmdWwgZWRpdGluZyB0aGlzIHZhbHVlLiBUaGlzIGlzIHRoZSBzdHJpbmcgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGdyYXBocWwgc3RhY2tzIGluIEJJIG1ldHJpY3NcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhY2tUeXBlID0gJ2FwaS1BcHBTeW5jJztcblxuICAvKipcbiAgICogTmV3IEFtcGxpZnlHcmFwaHFsQXBpIGNvbnN0cnVjdCwgdGhpcyB3aWxsIGNyZWF0ZSBhbiBhcHBzeW5jIGFwaSB3aXRoIGF1dGhvcml6YXRpb24sIGEgc2NoZW1hLCBhbmQgYWxsIG5lY2Vzc2FyeSByZXNvbHZlcnMsIGZ1bmN0aW9ucyxcbiAgICogYW5kIGRhdGFzb3VyY2VzLlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGlzIGNvbnN0cnVjdCB3aXRoaW4uXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gdXNlIGZvciB0aGlzIGFwaS5cbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBnZW5lcmF0ZWQgYXBpLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdmFsaWRhdGVOb090aGVyQW1wbGlmeUdyYXBocWxBcGlJblN0YWNrKHRoaXMpO1xuXG4gICAgY29uc3Qge1xuICAgICAgZGVmaW5pdGlvbixcbiAgICAgIGF1dGhvcml6YXRpb25Nb2RlcyxcbiAgICAgIGNvbmZsaWN0UmVzb2x1dGlvbixcbiAgICAgIGZ1bmN0aW9uU2xvdHMsXG4gICAgICB0cmFuc2Zvcm1lclBsdWdpbnMsXG4gICAgICBwcmVkaWN0aW9uc0J1Y2tldCxcbiAgICAgIHN0YWNrTWFwcGluZ3MsXG4gICAgICB0cmFuc2xhdGlvbkJlaGF2aW9yLFxuICAgICAgZnVuY3Rpb25OYW1lTWFwLFxuICAgICAgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5LFxuICAgIH0gPSBwcm9wcztcblxuICAgIG5ldyBBdHRyaWJ1dGlvbk1ldGFkYXRhU3RvcmFnZSgpLnN0b3JlQXR0cmlidXRpb25NZXRhZGF0YShTdGFjay5vZihzY29wZSksIHRoaXMuc3RhY2tUeXBlLCBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAncGFja2FnZS5qc29uJykpO1xuXG4gICAgY29uc3QgeyBhdXRoQ29uZmlnLCBhdXRoU3ludGhQYXJhbWV0ZXJzIH0gPSBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcoYXV0aG9yaXphdGlvbk1vZGVzKTtcblxuICAgIHZhbGlkYXRlRnVuY3Rpb25TbG90cyhmdW5jdGlvblNsb3RzID8/IFtdKTtcbiAgICBjb25zdCBzZXBhcmF0ZWRGdW5jdGlvblNsb3RzID0gc2VwYXJhdGVTbG90cyhbLi4uKGZ1bmN0aW9uU2xvdHMgPz8gW10pLCAuLi5kZWZpbml0aW9uLmZ1bmN0aW9uU2xvdHNdKTtcblxuICAgIC8vIEFsbG93IGFtcGxpZnlFbnZpcm9ubWVudE5hbWUgdG8gYmUgcmV0cmlldmUgZnJvbSBjb250ZXh0LCBhbmQgdXNlIHZhbHVlICdOT05FJyBpZiBubyB2YWx1ZSBjYW4gYmUgZm91bmQuXG4gICAgLy8gYW1wbGlmeUVudmlyb25tZW50TmFtZSBpcyByZXF1aXJlZCBmb3IgbG9naWNhbCBpZCBzdWZmaXhpbmcsIGFzIHdlbGwgYXMgRXhwb3J0cyBmcm9tIHRoZSBuZXN0ZWQgc3RhY2tzLlxuICAgIC8vIEFsbG93IGV4cG9ydCBzbyBjdXN0b21lcnMgY2FuIHJldXNlIHRoZSBlbnYgaW4gdGhlaXIgb3duIHJlZmVyZW5jZXMgZG93bnN0cmVhbS5cbiAgICBjb25zdCBhbXBsaWZ5RW52aXJvbm1lbnROYW1lID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoJ2FtcGxpZnlFbnZpcm9ubWVudE5hbWUnKSA/PyAnTk9ORSc7XG4gICAgaWYgKGFtcGxpZnlFbnZpcm9ubWVudE5hbWUubGVuZ3RoID4gOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBvciBjZGsgLS1jb250ZXh0IGVudiBtdXN0IGhhdmUgYSBsZW5ndGggPD0gOCwgZm91bmQgJHthbXBsaWZ5RW52aXJvbm1lbnROYW1lfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGFzc2V0TWFuYWdlciA9IG5ldyBBc3NldE1hbmFnZXIoKTtcblxuICAgIGxldCBleGVjdXRlVHJhbnNmb3JtQ29uZmlnOiBFeGVjdXRlVHJhbnNmb3JtQ29uZmlnID0ge1xuICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICBuZXN0ZWRTdGFja1Byb3ZpZGVyOiB7XG4gICAgICAgIHByb3ZpZGU6IChuZXN0ZWRTdGFja1Njb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZykgPT4gbmV3IE5lc3RlZFN0YWNrKG5lc3RlZFN0YWNrU2NvcGUsIG5hbWUpLFxuICAgICAgfSxcbiAgICAgIGFzc2V0UHJvdmlkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogKGFzc2V0U2NvcGU6IENvbnN0cnVjdCwgYXNzZXRJZDogc3RyaW5nLCBhc3NldFByb3BzOiBBc3NldFByb3BzKSA9PlxuICAgICAgICAgIG5ldyBBc3NldChhc3NldFNjb3BlLCBhc3NldElkLCB7IHBhdGg6IGFzc2V0TWFuYWdlci5hZGRBc3NldChhc3NldFByb3BzLmZpbGVOYW1lLCBhc3NldFByb3BzLmZpbGVDb250ZW50KSB9KSxcbiAgICAgIH0sXG4gICAgICBzeW50aFBhcmFtZXRlcnM6IHtcbiAgICAgICAgYW1wbGlmeUVudmlyb25tZW50TmFtZTogYW1wbGlmeUVudmlyb25tZW50TmFtZSxcbiAgICAgICAgYXBpTmFtZTogcHJvcHMuYXBpTmFtZSA/PyBpZCxcbiAgICAgICAgLi4uYXV0aFN5bnRoUGFyYW1ldGVycyxcbiAgICAgIH0sXG4gICAgICBzY2hlbWE6IGRlZmluaXRpb24uc2NoZW1hLFxuICAgICAgdXNlckRlZmluZWRTbG90czogcGFyc2VVc2VyRGVmaW5lZFNsb3RzKHNlcGFyYXRlZEZ1bmN0aW9uU2xvdHMpLFxuICAgICAgdHJhbnNmb3JtZXJzRmFjdG9yeUFyZ3M6IHtcbiAgICAgICAgY3VzdG9tVHJhbnNmb3JtZXJzOiB0cmFuc2Zvcm1lclBsdWdpbnMgPz8gW10sXG4gICAgICAgIC4uLihwcmVkaWN0aW9uc0J1Y2tldCA/IHsgc3RvcmFnZUNvbmZpZzogeyBidWNrZXROYW1lOiBwcmVkaWN0aW9uc0J1Y2tldC5idWNrZXROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgZnVuY3Rpb25OYW1lTWFwOiB7XG4gICAgICAgICAgLi4uZGVmaW5pdGlvbi5yZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zLFxuICAgICAgICAgIC4uLmZ1bmN0aW9uTmFtZU1hcCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhdXRoQ29uZmlnLFxuICAgICAgc3RhY2tNYXBwaW5nOiBzdGFja01hcHBpbmdzID8/IHt9LFxuICAgICAgcmVzb2x2ZXJDb25maWc6IGNvbmZsaWN0UmVzb2x1dGlvbiA/IGNvbnZlcnRUb1Jlc29sdmVyQ29uZmlnKGNvbmZsaWN0UmVzb2x1dGlvbikgOiB1bmRlZmluZWQsXG4gICAgICB0cmFuc2Zvcm1QYXJhbWV0ZXJzOiB7XG4gICAgICAgIC4uLmRlZmF1bHRUcmFuc2xhdGlvbkJlaGF2aW9yLFxuICAgICAgICAuLi4odHJhbnNsYXRpb25CZWhhdmlvciA/PyB7fSksXG4gICAgICB9LFxuXG4gICAgICAvLyBBZGRzIGEgbW9kZWxUb0RhdGFTb3VyY2VNYXAgZmllbGQvdmFsdWVcbiAgICAgIC4uLnBhcnNlRGF0YVNvdXJjZUNvbmZpZyhkZWZpbml0aW9uLmRhdGFTb3VyY2VTdHJhdGVnaWVzKSxcbiAgICB9O1xuXG4gICAgLy8gVE9ETzogVXBkYXRlIHRoaXMgdG8gc3VwcG9ydCBtdWx0aXBsZSBkZWZpbml0aW9uczsgcmlnaHQgbm93IHdlIGFzc3VtZSBvbmx5IG9uZSBTUUwgZGF0YSBzb3VyY2UgdHlwZVxuICAgIGZvciAoY29uc3Qgc3RyYXRlZ3kgb2YgT2JqZWN0LnZhbHVlcyhkZWZpbml0aW9uLmRhdGFTb3VyY2VTdHJhdGVnaWVzKSkge1xuICAgICAgaWYgKGlzU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3koc3RyYXRlZ3kpKSB7XG4gICAgICAgIGV4ZWN1dGVUcmFuc2Zvcm1Db25maWcgPSB0aGlzLmV4dGVuZFRyYW5zZm9ybUNvbmZpZyhleGVjdXRlVHJhbnNmb3JtQ29uZmlnLCBzdHJhdGVneSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGV4ZWN1dGVUcmFuc2Zvcm0oZXhlY3V0ZVRyYW5zZm9ybUNvbmZpZyk7XG5cbiAgICB0aGlzLmNvZGVnZW5Bc3NldHMgPSBuZXcgQ29kZWdlbkFzc2V0cyh0aGlzLCAnQW1wbGlmeUNvZGVnZW5Bc3NldHMnLCB7IG1vZGVsU2NoZW1hOiBkZWZpbml0aW9uLnNjaGVtYSB9KTtcblxuICAgIHRoaXMucmVzb3VyY2VzID0gZ2V0R2VuZXJhdGVkUmVzb3VyY2VzKHRoaXMpO1xuICAgIHRoaXMuY29uZmxpY3RSZXNvbHV0aW9uID0gY29uZmxpY3RSZXNvbHV0aW9uO1xuICAgIHRoaXMuZ2VuZXJhdGVkRnVuY3Rpb25TbG90cyA9IGdldEdlbmVyYXRlZEZ1bmN0aW9uU2xvdHMoYXNzZXRNYW5hZ2VyLnJlc29sdmVyQXNzZXRzKTtcbiAgICB0aGlzLnN0b3JlT3V0cHV0KG91dHB1dFN0b3JhZ2VTdHJhdGVneSk7XG5cbiAgICB0aGlzLmFwaUlkID0gdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXR0ckFwaUlkO1xuICAgIHRoaXMuZ3JhcGhxbFVybCA9IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpLmF0dHJHcmFwaFFsVXJsO1xuICAgIHRoaXMucmVhbHRpbWVVcmwgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdHRyUmVhbHRpbWVVcmw7XG4gICAgdGhpcy5hcGlLZXkgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuQXBpS2V5Py5hdHRyQXBpS2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dGVuZHMgZXhlY3V0ZVRyYW5zZm9ybUNvbmZpZyB3aXRoIGZpZWxkcyBmb3IgcHJvdmlzaW9uaW5nIGEgU1FMIExhbWJkYVxuICAgKiBAcGFyYW0gZXhlY3V0ZVRyYW5zZm9ybUNvbmZpZyB0aGUgZXhlY3V0ZVRyYW5zZm9ybUNvbmZpZyB0byBleHRlbmRcbiAgICogQHBhcmFtIGRhdGFTb3VyY2VEZWZpbml0aW9uIHRoZSBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSBjb250YWluaW5nIHRoZSBTUUwgY29ubmVjdGlvbiB2YWx1ZXMgdG8gYWRkIHRvIHRoZSB0cmFuc2Zvcm0gY29uZmlnXG4gICAqIEByZXR1cm5zIHRoZSBleHRlbmRlZCBjb25maWd1cmF0aW9uIHRoYXQgaW5jbHVkZXMgU1FMIERCIGNvbm5lY3Rpb24gaW5mb3JtYXRpb25cbiAgICovXG4gIHByaXZhdGUgZXh0ZW5kVHJhbnNmb3JtQ29uZmlnKFxuICAgIGV4ZWN1dGVUcmFuc2Zvcm1Db25maWc6IEV4ZWN1dGVUcmFuc2Zvcm1Db25maWcsXG4gICAgc3RyYXRlZ3k6IFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LFxuICApOiBFeGVjdXRlVHJhbnNmb3JtQ29uZmlnIHtcbiAgICBjb25zdCBleHRlbmRlZENvbmZpZyA9IHsgLi4uZXhlY3V0ZVRyYW5zZm9ybUNvbmZpZyB9O1xuICAgIGlmIChzdHJhdGVneS5jdXN0b21TcWxTdGF0ZW1lbnRzKSB7XG4gICAgICBleHRlbmRlZENvbmZpZy5jdXN0b21RdWVyaWVzID0gbmV3IE1hcChPYmplY3QuZW50cmllcyhzdHJhdGVneS5jdXN0b21TcWxTdGF0ZW1lbnRzKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGJTZWNyZXRzOiBNYXA8c3RyaW5nLCBSRFNDb25uZWN0aW9uU2VjcmV0cz4gPSBuZXcgTWFwKCk7XG4gICAgbGV0IGRiU2VjcmV0RGJUeXBlS2V5OiBzdHJpbmc7XG4gICAgc3dpdGNoIChzdHJhdGVneS5kYlR5cGUpIHtcbiAgICAgIGNhc2UgJ01ZU1FMJzpcbiAgICAgICAgZGJTZWNyZXREYlR5cGVLZXkgPSBNWVNRTF9EQl9UWVBFO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1BPU1RHUkVTJzpcbiAgICAgICAgZGJTZWNyZXREYlR5cGVLZXkgPSBQT1NUR1JFU19EQl9UWVBFO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYmluZGluZyB0eXBlICR7c3RyYXRlZ3kuZGJUeXBlfWApO1xuICAgIH1cbiAgICBkYlNlY3JldHMuc2V0KGRiU2VjcmV0RGJUeXBlS2V5LCB7XG4gICAgICB1c2VybmFtZTogc3RyYXRlZ3kuZGJDb25uZWN0aW9uQ29uZmlnLnVzZXJuYW1lU3NtUGF0aCxcbiAgICAgIHBhc3N3b3JkOiBzdHJhdGVneS5kYkNvbm5lY3Rpb25Db25maWcucGFzc3dvcmRTc21QYXRoLFxuICAgICAgaG9zdDogc3RyYXRlZ3kuZGJDb25uZWN0aW9uQ29uZmlnLmhvc3RuYW1lU3NtUGF0aCxcbiAgICAgIC8vIENhc3QgdGhyb3VnaCBgYW55YCB0byBhbGxvdyB0aGUgU1NNIFBhdGggc3RyaW5nIHRvIGJlIHVzZWQgb24gYSB0eXBlIGV4cGVjdGluZyBhIG51bWJlci4gVGhpcyBmbG93IGV4cGVjdHMgdGhlIGluY29taW5nIHZhbHVlIHRvIGJlXG4gICAgICAvLyBhIHN0cmluZyBjb250YWluaW5nIHRoZSBTU00gcGF0aC5cbiAgICAgIHBvcnQ6IHN0cmF0ZWd5LmRiQ29ubmVjdGlvbkNvbmZpZy5wb3J0U3NtUGF0aCBhcyBhbnksXG4gICAgICBkYXRhYmFzZTogc3RyYXRlZ3kuZGJDb25uZWN0aW9uQ29uZmlnLmRhdGFiYXNlTmFtZVNzbVBhdGgsXG4gICAgfSk7XG4gICAgZXh0ZW5kZWRDb25maWcuZGF0YXNvdXJjZVNlY3JldFBhcmFtZXRlckxvY2F0aW9ucyA9IGRiU2VjcmV0cztcblxuICAgIGlmIChzdHJhdGVneS52cGNDb25maWd1cmF0aW9uKSB7XG4gICAgICBjb25zdCBzdWJuZXRBdmFpbGFiaWxpdHlab25lQ29uZmlnID0gc3RyYXRlZ3kudnBjQ29uZmlndXJhdGlvbi5zdWJuZXRBdmFpbGFiaWxpdHlab25lQ29uZmlnLm1hcChcbiAgICAgICAgKHNheik6IHsgc3VibmV0SWQ6IHN0cmluZzsgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nIH0gPT4gKHtcbiAgICAgICAgICBzdWJuZXRJZDogc2F6LnN1Ym5ldElkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHNhei5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgICBleHRlbmRlZENvbmZpZy5zcWxMYW1iZGFWcGNDb25maWcgPSB7XG4gICAgICAgIHZwY0lkOiBzdHJhdGVneS52cGNDb25maWd1cmF0aW9uLnZwY0lkLFxuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBzdHJhdGVneS52cGNDb25maWd1cmF0aW9uLnNlY3VyaXR5R3JvdXBJZHMsXG4gICAgICAgIHN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVDb25maWcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChzdHJhdGVneS5zcWxMYW1iZGFQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnKSB7XG4gICAgICBleHRlbmRlZENvbmZpZy5zcWxMYW1iZGFQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnID0gc3RyYXRlZ3kuc3FsTGFtYmRhUHJvdmlzaW9uZWRDb25jdXJyZW5jeUNvbmZpZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXh0ZW5kZWRDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmVzIGdyYXBocWwgYXBpIG91dHB1dCB0byBiZSB1c2VkIGZvciBjbGllbnQgY29uZmlnIGdlbmVyYXRpb25cbiAgICogQHBhcmFtIG91dHB1dFN0b3JhZ2VTdHJhdGVneSBTdHJhdGVneSB0byBzdG9yZSBjb25zdHJ1Y3Qgb3V0cHV0cy4gSWYgbm8gc3RyYXRlZ3kgaXMgcHJvdmlkZWQgYSBkZWZhdWx0IHN0cmF0ZWd5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgc3RvcmVPdXRwdXQoXG4gICAgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5OiBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSA9IG5ldyBTdGFja01ldGFkYXRhQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneShTdGFjay5vZih0aGlzKSksXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgY29uc3Qgb3V0cHV0OiBHcmFwaHFsT3V0cHV0ID0ge1xuICAgICAgdmVyc2lvbjogJzEnLFxuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBhd3NBcHBzeW5jQXBpSWQ6IHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpLmF0dHJBcGlJZCxcbiAgICAgICAgYXdzQXBwc3luY0FwaUVuZHBvaW50OiB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuR3JhcGhxbEFwaS5hdHRyR3JhcGhRbFVybCxcbiAgICAgICAgYXdzQXBwc3luY0F1dGhlbnRpY2F0aW9uVHlwZTogdGhpcy5yZXNvdXJjZXMuY2ZuUmVzb3VyY2VzLmNmbkdyYXBocWxBcGkuYXV0aGVudGljYXRpb25UeXBlIGFzIEF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblR5cGUsXG4gICAgICAgIGF3c0FwcHN5bmNSZWdpb246IHN0YWNrLnJlZ2lvbixcbiAgICAgICAgYW1wbGlmeUFwaU1vZGVsU2NoZW1hUzNVcmk6IHRoaXMuY29kZWdlbkFzc2V0cy5tb2RlbFNjaGVtYVMzVXJpLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5BcGlLZXkpIHtcbiAgICAgIG91dHB1dC5wYXlsb2FkLmF3c0FwcHN5bmNBcGlLZXkgPSB0aGlzLnJlc291cmNlcy5jZm5SZXNvdXJjZXMuY2ZuQXBpS2V5LmF0dHJBcGlLZXk7XG4gICAgfVxuXG4gICAgY29uc3QgYWRkaXRpb25hbEF1dGhUeXBlcyA9IGdldEFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzKHRoaXMucmVzb3VyY2VzLmNmblJlc291cmNlcy5jZm5HcmFwaHFsQXBpKTtcbiAgICBpZiAoYWRkaXRpb25hbEF1dGhUeXBlcykge1xuICAgICAgb3V0cHV0LnBheWxvYWQuYXdzQXBwc3luY0FkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzID0gYWRkaXRpb25hbEF1dGhUeXBlcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25mbGljdFJlc29sdXRpb24/LnByb2plY3Q/LmhhbmRsZXJUeXBlKSB7XG4gICAgICBvdXRwdXQucGF5bG9hZC5hd3NBcHBzeW5jQ29uZmxpY3RSZXNvbHV0aW9uTW9kZSA9IHRoaXMuY29uZmxpY3RSZXNvbHV0aW9uPy5wcm9qZWN0Py5oYW5kbGVyVHlwZTtcbiAgICB9XG5cbiAgICBvdXRwdXRTdG9yYWdlU3RyYXRlZ3kuYWRkQmFja2VuZE91dHB1dEVudHJ5KGdyYXBocWxPdXRwdXRLZXksIG91dHB1dCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBhcmUgcHJveHkgbWV0aG9kcyB0byB0aGUgTDIgSUdyYXBocWxBcGkgaW50ZXJmYWNlLCB0byBmYWNpbGl0YXRlIGVhc2llciB1c2Ugb2YgdGhlIEwzIHdpdGhvdXQgbmVlZGluZ1xuICAgKiB0byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgcmVzb3VyY2VzLlxuICAgKi9cblxuICAvKipcbiAgICogQWRkIGEgbmV3IER5bmFtb0RCIGRhdGEgc291cmNlIHRvIHRoaXMgQVBJLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gdGFibGUgVGhlIER5bmFtb0RCIHRhYmxlIGJhY2tpbmcgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRHluYW1vRGJEYXRhU291cmNlKGlkOiBzdHJpbmcsIHRhYmxlOiBJVGFibGUsIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IER5bmFtb0RiRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkRHluYW1vRGJEYXRhU291cmNlKGlkLCB0YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IGVsYXN0aWNzZWFyY2ggZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGFkZE9wZW5TZWFyY2hEYXRhU291cmNlYFxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBkb21haW4gVGhlIGVsYXN0aWNzZWFyY2ggZG9tYWluIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRFbGFzdGljc2VhcmNoRGF0YVNvdXJjZShpZDogc3RyaW5nLCBkb21haW46IElEb21haW4sIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IEVsYXN0aWNzZWFyY2hEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRFbGFzdGljc2VhcmNoRGF0YVNvdXJjZShpZCwgZG9tYWluLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gRXZlbnRCcmlkZ2UgZGF0YSBzb3VyY2UgdG8gdGhpcyBhcGkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBldmVudEJ1cyBUaGUgRXZlbnRCcmlkZ2UgRXZlbnRCdXMgb24gd2hpY2ggdG8gcHV0IGV2ZW50cy5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRXZlbnRCcmlkZ2VEYXRhU291cmNlKGlkOiBzdHJpbmcsIGV2ZW50QnVzOiBJRXZlbnRCdXMsIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IEV2ZW50QnJpZGdlRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkRXZlbnRCcmlkZ2VEYXRhU291cmNlKGlkLCBldmVudEJ1cywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IGh0dHAgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBlbmRwb2ludCBUaGUgaHR0cCBlbmRwb2ludC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZGF0YSBzb3VyY2UuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgZGF0YSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkSHR0cERhdGFTb3VyY2UoaWQ6IHN0cmluZywgZW5kcG9pbnQ6IHN0cmluZywgb3B0aW9ucz86IEh0dHBEYXRhU291cmNlT3B0aW9ucyk6IEh0dHBEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5hZGRIdHRwRGF0YVNvdXJjZShpZCwgZW5kcG9pbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBMYW1iZGEgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBsYW1iZGFGdW5jdGlvbiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRvIGNhbGwgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRMYW1iZGFEYXRhU291cmNlKGlkOiBzdHJpbmcsIGxhbWJkYUZ1bmN0aW9uOiBJRnVuY3Rpb24sIG9wdGlvbnM/OiBEYXRhU291cmNlT3B0aW9ucyk6IExhbWJkYURhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZExhbWJkYURhdGFTb3VyY2UoaWQsIGxhbWJkYUZ1bmN0aW9uLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgZHVtbXkgZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBVc2VmdWwgZm9yIHBpcGVsaW5lIHJlc29sdmVycyBhbmQgZm9yIGJhY2tlbmQgY2hhbmdlcyB0aGF0IGRvbid0IHJlcXVpcmUgYSBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIGlkIFRoZSBkYXRhIHNvdXJjZSdzIGlkLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGROb25lRGF0YVNvdXJjZShpZDogc3RyaW5nLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBOb25lRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkTm9uZURhdGFTb3VyY2UoaWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGRkIGEgbmV3IE9wZW5TZWFyY2ggZGF0YSBzb3VyY2UgdG8gdGhpcyBBUEkuIFRoaXMgaXMgYSBwcm94eSBtZXRob2QgdG8gdGhlIEwyIEdyYXBocWxBcGkgQ29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGRhdGEgc291cmNlJ3MgaWQuXG4gICAqIEBwYXJhbSBkb21haW4gVGhlIE9wZW5TZWFyY2ggZG9tYWluIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkYXRhIHNvdXJjZS5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBkYXRhIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRPcGVuU2VhcmNoRGF0YVNvdXJjZShpZDogc3RyaW5nLCBkb21haW46IElPcGVuU2VhcmNoRG9tYWluLCBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMpOiBPcGVuU2VhcmNoRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzLmdyYXBocWxBcGkuYWRkT3BlblNlYXJjaERhdGFTb3VyY2UoaWQsIGRvbWFpbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbmV3IFJkcyBkYXRhIHNvdXJjZSB0byB0aGlzIEFQSS4gVGhpcyBpcyBhIHByb3h5IG1ldGhvZCB0byB0aGUgTDIgR3JhcGhxbEFwaSBDb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCBUaGUgZGF0YSBzb3VyY2UncyBpZC5cbiAgICogQHBhcmFtIHNlcnZlcmxlc3NDbHVzdGVyIFRoZSBzZXJ2ZXJsZXNzIGNsdXN0ZXIgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcGFyYW0gc2VjcmV0U3RvcmUgVGhlIHNlY3JldCBzdG9yZSB0aGF0IGNvbnRhaW5zIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIHRoZSBzZXJ2ZXJsZXNzIGNsdXN0ZXIuXG4gICAqIEBwYXJhbSBkYXRhYmFzZU5hbWUgVGhlIG9wdGlvbmFsIG5hbWUgb2YgdGhlIGRhdGFiYXNlIHRvIHVzZSB3aXRoaW4gdGhlIGNsdXN0ZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRhdGEgc291cmNlLlxuICAgKiBAcmV0dXJucyB0aGUgZ2VuZXJhdGVkIGRhdGEgc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFJkc0RhdGFTb3VyY2UoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzZXJ2ZXJsZXNzQ2x1c3RlcjogSVNlcnZlcmxlc3NDbHVzdGVyLFxuICAgIHNlY3JldFN0b3JlOiBJU2VjcmV0LFxuICAgIGRhdGFiYXNlTmFtZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogRGF0YVNvdXJjZU9wdGlvbnMsXG4gICk6IFJkc0RhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLmFkZFJkc0RhdGFTb3VyY2UoaWQsIHNlcnZlcmxlc3NDbHVzdGVyLCBzZWNyZXRTdG9yZSwgZGF0YWJhc2VOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSByZXNvbHZlciB0byB0aGUgYXBpLiBUaGlzIGlzIGEgcHJveHkgbWV0aG9kIHRvIHRoZSBMMiBHcmFwaHFsQXBpIENvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSByZXNvbHZlcidzIGlkLlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHJlc29sdmVyIHByb3BlcnRpZXMuXG4gICAqIEByZXR1cm5zIHRoZSBnZW5lcmF0ZWQgcmVzb2x2ZXIuXG4gICAqL1xuICBwdWJsaWMgYWRkUmVzb2x2ZXIoaWQ6IHN0cmluZywgcHJvcHM6IEV4dGVuZGVkUmVzb2x2ZXJQcm9wcyk6IFJlc29sdmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXMuZ3JhcGhxbEFwaS5jcmVhdGVSZXNvbHZlcihpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBhcHBzeW5jIGZ1bmN0aW9uIHRvIHRoZSBhcGkuXG4gICAqIEBwYXJhbSBpZCB0aGUgZnVuY3Rpb24ncyBpZC5cbiAgICogQHJldHVybnMgdGhlIGdlbmVyYXRlZCBhcHBzeW5jIGZ1bmN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFkZEZ1bmN0aW9uKGlkOiBzdHJpbmcsIHByb3BzOiBBZGRGdW5jdGlvblByb3BzKTogQXBwc3luY0Z1bmN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEFwcHN5bmNGdW5jdGlvbih0aGlzLCBpZCwge1xuICAgICAgYXBpOiB0aGlzLnJlc291cmNlcy5ncmFwaHFsQXBpLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiB0aGUgcHJvdmlkZWQgc2NvcGUsIHdhbGsgdGhlIG5vZGUgdHJlZSwgYW5kIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhbnkgb3RoZXIgQW1wbGlmeUdyYXBocWxBcGkgY29uc3RydWN0c1xuICogYXJlIGZvdW5kIGluIHRoZSBzdGFjay5cbiAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdGhpcyBjb25zdHJ1Y3QgaXMgY3JlYXRlZCBpbi5cbiAqL1xuY29uc3QgdmFsaWRhdGVOb090aGVyQW1wbGlmeUdyYXBocWxBcGlJblN0YWNrID0gKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkID0+IHtcbiAgY29uc3Qgcm9vdFN0YWNrID0gZ2V0U3RhY2tGb3JTY29wZShzY29wZSwgdHJ1ZSk7XG5cbiAgbGV0IHdhc090aGVyQW1wbGlmeUdyYXBobEFwaUZvdW5kID0gZmFsc2U7XG4gIHdhbGtBbmRQcm9jZXNzTm9kZXMocm9vdFN0YWNrLCAobm9kZTogQ29uc3RydWN0KSA9PiB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBBbXBsaWZ5R3JhcGhxbEFwaSAmJiBzY29wZSAhPT0gbm9kZSkge1xuICAgICAgd2FzT3RoZXJBbXBsaWZ5R3JhcGhsQXBpRm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHdhc090aGVyQW1wbGlmeUdyYXBobEFwaUZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPbmx5IG9uZSBBbXBsaWZ5R3JhcGhxbEFwaSBpcyBleHBlY3RlZCBpbiBhIHN0YWNrJyk7XG4gIH1cbn07XG4iXX0=
@@ -1,33 +1,44 @@
1
- import { IAmplifyGraphqlDefinition, ModelDataSourceDefinition } from './types';
2
- export declare const DEFAULT_MODEL_DATA_SOURCE_DEFINITION: ModelDataSourceDefinition;
1
+ import { IAmplifyGraphqlDefinition, ModelDataSourceStrategy } from './types';
2
+ export declare const DEFAULT_MODEL_DATA_SOURCE_STRATEGY: ModelDataSourceStrategy;
3
3
  /**
4
4
  * Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
5
5
  */
6
6
  export declare class AmplifyGraphqlDefinition {
7
7
  /**
8
- * Produce a schema definition from a string input
8
+ * Produce a schema definition from a string input.
9
+ *
10
+ * **NOTE** The 'dataSourceStrategy' configuration option is in preview and is not recommended to use with production systems.
11
+ *
9
12
  * @param schema the graphql input as a string
10
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
11
- * @experimental modelDataSourceDefinition
13
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
14
+ * CloudFormation will be used by default.
15
+ * @experimental dataSourceStrategy
12
16
  * @returns a fully formed amplify graphql definition
13
17
  */
14
- static fromString(schema: string, modelDataSourceDefinition?: ModelDataSourceDefinition): IAmplifyGraphqlDefinition;
18
+ static fromString(schema: string, dataSourceStrategy?: ModelDataSourceStrategy): IAmplifyGraphqlDefinition;
15
19
  /**
16
- * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
20
+ * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source.
17
21
  * @param filePaths one or more paths to the graphql files to process
18
- * @returns a fully formed amplify graphql definition
22
+ * @returns a fully formed amplify graphql definition, whose models will be resolved by DynamoDB tables created during deployment.
19
23
  */
20
24
  static fromFiles(...filePaths: string[]): IAmplifyGraphqlDefinition;
21
25
  /**
22
26
  * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
27
+ *
28
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
29
+ *
23
30
  * @experimental
24
31
  * @param filePaths one or more paths to the graphql files to process
25
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
32
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
33
+ * CloudFormation will be used by default.
26
34
  * @returns a fully formed amplify graphql definition
27
35
  */
28
- static fromFilesAndDefinition(filePaths: string | string[], modelDataSourceDefinition?: ModelDataSourceDefinition): IAmplifyGraphqlDefinition;
36
+ static fromFilesAndStrategy(filePaths: string | string[], dataSourceStrategy?: ModelDataSourceStrategy): IAmplifyGraphqlDefinition;
29
37
  /**
30
38
  * Combines multiple IAmplifyGraphqlDefinitions into a single definition.
39
+ *
40
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
41
+ *
31
42
  * @experimental
32
43
  * @param definitions the definitions to combine
33
44
  */
@@ -1,40 +1,42 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AmplifyGraphqlDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION = void 0;
4
+ exports.AmplifyGraphqlDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_STRATEGY = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const os = require("os");
7
7
  const aws_appsync_1 = require("aws-cdk-lib/aws-appsync");
8
8
  const internal_1 = require("./internal");
9
- exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION = {
10
- name: 'DefaultDynamoDB',
11
- strategy: {
12
- dbType: 'DYNAMODB',
13
- provisionStrategy: 'DEFAULT',
14
- },
9
+ exports.DEFAULT_MODEL_DATA_SOURCE_STRATEGY = {
10
+ dbType: 'DYNAMODB',
11
+ provisionStrategy: 'DEFAULT',
15
12
  };
16
13
  /**
17
14
  * Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
18
15
  */
19
16
  class AmplifyGraphqlDefinition {
20
17
  /**
21
- * Produce a schema definition from a string input
18
+ * Produce a schema definition from a string input.
19
+ *
20
+ * **NOTE** The 'dataSourceStrategy' configuration option is in preview and is not recommended to use with production systems.
21
+ *
22
22
  * @param schema the graphql input as a string
23
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
24
- * @experimental modelDataSourceDefinition
23
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
24
+ * CloudFormation will be used by default.
25
+ * @experimental dataSourceStrategy
25
26
  * @returns a fully formed amplify graphql definition
26
27
  */
27
- static fromString(schema, modelDataSourceDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION) {
28
+ static fromString(schema, dataSourceStrategy = exports.DEFAULT_MODEL_DATA_SOURCE_STRATEGY) {
28
29
  return {
29
30
  schema,
30
31
  functionSlots: [],
31
- dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, modelDataSourceDefinition),
32
+ referencedLambdaFunctions: {},
33
+ dataSourceStrategies: (0, internal_1.constructDataSourceStrategyMap)(schema, dataSourceStrategy),
32
34
  };
33
35
  }
34
36
  /**
35
- * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
37
+ * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source.
36
38
  * @param filePaths one or more paths to the graphql files to process
37
- * @returns a fully formed amplify graphql definition
39
+ * @returns a fully formed amplify graphql definition, whose models will be resolved by DynamoDB tables created during deployment.
38
40
  */
39
41
  static fromFiles(...filePaths) {
40
42
  if (!Array.isArray(filePaths)) {
@@ -44,17 +46,22 @@ class AmplifyGraphqlDefinition {
44
46
  return {
45
47
  schema,
46
48
  functionSlots: [],
47
- dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION),
49
+ referencedLambdaFunctions: {},
50
+ dataSourceStrategies: (0, internal_1.constructDataSourceStrategyMap)(schema, exports.DEFAULT_MODEL_DATA_SOURCE_STRATEGY),
48
51
  };
49
52
  }
50
53
  /**
51
54
  * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
55
+ *
56
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
57
+ *
52
58
  * @experimental
53
59
  * @param filePaths one or more paths to the graphql files to process
54
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
60
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
61
+ * CloudFormation will be used by default.
55
62
  * @returns a fully formed amplify graphql definition
56
63
  */
57
- static fromFilesAndDefinition(filePaths, modelDataSourceDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION) {
64
+ static fromFilesAndStrategy(filePaths, dataSourceStrategy = exports.DEFAULT_MODEL_DATA_SOURCE_STRATEGY) {
58
65
  if (!Array.isArray(filePaths)) {
59
66
  filePaths = [filePaths];
60
67
  }
@@ -62,11 +69,15 @@ class AmplifyGraphqlDefinition {
62
69
  return {
63
70
  schema,
64
71
  functionSlots: [],
65
- dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, modelDataSourceDefinition),
72
+ referencedLambdaFunctions: {},
73
+ dataSourceStrategies: (0, internal_1.constructDataSourceStrategyMap)(schema, dataSourceStrategy),
66
74
  };
67
75
  }
68
76
  /**
69
77
  * Combines multiple IAmplifyGraphqlDefinitions into a single definition.
78
+ *
79
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
80
+ *
70
81
  * @experimental
71
82
  * @param definitions the definitions to combine
72
83
  */
@@ -80,11 +91,12 @@ class AmplifyGraphqlDefinition {
80
91
  return {
81
92
  schema: definitions.map((def) => def.schema).join(os.EOL),
82
93
  functionSlots: [],
83
- dataSourceDefinition: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceDefinition }), {}),
94
+ referencedLambdaFunctions: definitions.reduce((acc, cur) => ({ ...acc, ...cur.referencedLambdaFunctions }), {}),
95
+ dataSourceStrategies: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceStrategies }), {}),
84
96
  };
85
97
  }
86
98
  }
87
99
  exports.AmplifyGraphqlDefinition = AmplifyGraphqlDefinition;
88
100
  _a = JSII_RTTI_SYMBOL_1;
89
- AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.4.0-construct-publish-test.0" };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBRXJELHlDQUE4RDtBQUVqRCxRQUFBLG9DQUFvQyxHQUE4QjtJQUM3RSxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLGlCQUFpQixFQUFFLFNBQVM7S0FDN0I7Q0FDRixDQUFDO0FBQ0Y7O0dBRUc7QUFDSCxNQUFhLHdCQUF3QjtJQUNuQzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUNmLE1BQWMsRUFDZCw0QkFBdUQsNENBQW9DO1FBRTNGLE9BQU87WUFDTCxNQUFNO1lBQ04sYUFBYSxFQUFFLEVBQUU7WUFDakIsb0JBQW9CLEVBQUUsSUFBQSwyQ0FBZ0MsRUFBQyxNQUFNLEVBQUUseUJBQXlCLENBQUM7U0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQW1CO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLFNBQVMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pHLE9BQU87WUFDTCxNQUFNO1lBQ04sYUFBYSxFQUFFLEVBQUU7WUFDakIsb0JBQW9CLEVBQUUsSUFBQSwyQ0FBZ0MsRUFBQyxNQUFNLEVBQUUsNENBQW9DLENBQUM7U0FDckcsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzNCLFNBQTRCLEVBQzVCLDRCQUF1RCw0Q0FBb0M7UUFFM0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7UUFDRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdCQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakcsT0FBTztZQUNMLE1BQU07WUFDTixhQUFhLEVBQUUsRUFBRTtZQUNqQixvQkFBb0IsRUFBRSxJQUFBLDJDQUFnQyxFQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQztTQUMxRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQXdDO1FBQ3JELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU87WUFDTCxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ3pELGFBQWEsRUFBRSxFQUFFO1lBQ2pCLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUN0RyxDQUFDO0lBQ0osQ0FBQzs7QUEzRUgsNERBNEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHsgU2NoZW1hRmlsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24sIE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvbnN0cnVjdERhdGFTb3VyY2VEZWZpbml0aW9uTWFwIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX0RFRklOSVRJT046IE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gPSB7XG4gIG5hbWU6ICdEZWZhdWx0RHluYW1vREInLFxuICBzdHJhdGVneToge1xuICAgIGRiVHlwZTogJ0RZTkFNT0RCJyxcbiAgICBwcm92aXNpb25TdHJhdGVneTogJ0RFRkFVTFQnLFxuICB9LFxufTtcbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBvYmplY3RzIGdpdmVuIHZhcmlvdXMgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBzY2hlbWEgZGVmaW5pdGlvbiBmcm9tIGEgc3RyaW5nIGlucHV0XG4gICAqIEBwYXJhbSBzY2hlbWEgdGhlIGdyYXBocWwgaW5wdXQgYXMgYSBzdHJpbmdcbiAgICogQHBhcmFtIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gdGhlIHByb3Zpc2lvbiBkZWZpbml0aW9uIGZvciBgQG1vZGVsYCBkYXRhc291cmNlLiBUaGUgRHluYW1vREIgZnJvbSBDbG91ZEZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdC5cbiAgICogQGV4cGVyaW1lbnRhbCBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBzY2hlbWE6IHN0cmluZyxcbiAgICBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uOiBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uID0gREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9ERUZJTklUSU9OLFxuICApOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hLFxuICAgICAgZnVuY3Rpb25TbG90czogW10sXG4gICAgICBkYXRhU291cmNlRGVmaW5pdGlvbjogY29uc3RydWN0RGF0YVNvdXJjZURlZmluaXRpb25NYXAoc2NoZW1hLCBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hXG4gICAqIEBwYXJhbSBmaWxlUGF0aHMgb25lIG9yIG1vcmUgcGF0aHMgdG8gdGhlIGdyYXBocWwgZmlsZXMgdG8gcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvblxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlcyguLi5maWxlUGF0aHM6IHN0cmluZ1tdKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbGVQYXRocykpIHtcbiAgICAgIGZpbGVQYXRocyA9IFtmaWxlUGF0aHNdO1xuICAgIH1cbiAgICBjb25zdCBzY2hlbWEgPSBmaWxlUGF0aHMubWFwKChmaWxlUGF0aCkgPT4gbmV3IFNjaGVtYUZpbGUoeyBmaWxlUGF0aCB9KS5kZWZpbml0aW9uKS5qb2luKG9zLkVPTCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgZGF0YVNvdXJjZURlZmluaXRpb246IGNvbnN0cnVjdERhdGFTb3VyY2VEZWZpbml0aW9uTWFwKHNjaGVtYSwgREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9ERUZJTklUSU9OKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hXG4gICAqIEBleHBlcmltZW50YWxcbiAgICogQHBhcmFtIGZpbGVQYXRocyBvbmUgb3IgbW9yZSBwYXRocyB0byB0aGUgZ3JhcGhxbCBmaWxlcyB0byBwcm9jZXNzXG4gICAqIEBwYXJhbSBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uIHRoZSBwcm92aXNpb24gZGVmaW5pdGlvbiBmb3IgYEBtb2RlbGAgZGF0YXNvdXJjZS4gVGhlIER5bmFtb0RCIGZyb20gQ2xvdWRGb3JtYXRpb24gd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbUZpbGVzQW5kRGVmaW5pdGlvbihcbiAgICBmaWxlUGF0aHM6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb246IE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gPSBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX0RFRklOSVRJT04sXG4gICk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIGRhdGFTb3VyY2VEZWZpbml0aW9uOiBjb25zdHJ1Y3REYXRhU291cmNlRGVmaW5pdGlvbk1hcChzY2hlbWEsIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24pLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZXMgbXVsdGlwbGUgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbnMgaW50byBhIHNpbmdsZSBkZWZpbml0aW9uLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqIEBwYXJhbSBkZWZpbml0aW9ucyB0aGUgZGVmaW5pdGlvbnMgdG8gY29tYmluZVxuICAgKi9cbiAgc3RhdGljIGNvbWJpbmUoZGVmaW5pdGlvbnM6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb25bXSk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRlZmluaXRpb25zIG9mIGFtcGxpZnkgR3JhcGhRTCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBkZWZpbml0aW9uc1swXTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYTogZGVmaW5pdGlvbnMubWFwKChkZWYpID0+IGRlZi5zY2hlbWEpLmpvaW4ob3MuRU9MKSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgZGF0YVNvdXJjZURlZmluaXRpb246IGRlZmluaXRpb25zLnJlZHVjZSgoYWNjLCBjdXIpID0+ICh7IC4uLmFjYywgLi4uY3VyLmRhdGFTb3VyY2VEZWZpbml0aW9uIH0pLCB7fSksXG4gICAgfTtcbiAgfVxufVxuIl19
101
+ AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.4.0-nov-14-cut-1.0" };
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBRXJELHlDQUE0RDtBQUUvQyxRQUFBLGtDQUFrQyxHQUE0QjtJQUN6RSxNQUFNLEVBQUUsVUFBVTtJQUNsQixpQkFBaUIsRUFBRSxTQUFTO0NBQzdCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUNmLE1BQWMsRUFDZCxxQkFBOEMsMENBQWtDO1FBRWhGLE9BQU87WUFDTCxNQUFNO1lBQ04sYUFBYSxFQUFFLEVBQUU7WUFDakIseUJBQXlCLEVBQUUsRUFBRTtZQUM3QixvQkFBb0IsRUFBRSxJQUFBLHlDQUE4QixFQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztTQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBbUI7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7UUFDRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdCQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakcsT0FBTztZQUNMLE1BQU07WUFDTixhQUFhLEVBQUUsRUFBRTtZQUNqQix5QkFBeUIsRUFBRSxFQUFFO1lBQzdCLG9CQUFvQixFQUFFLElBQUEseUNBQThCLEVBQUMsTUFBTSxFQUFFLDBDQUFrQyxDQUFDO1NBQ2pHLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsU0FBNEIsRUFDNUIscUJBQThDLDBDQUFrQztRQUVoRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3QixTQUFTLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6QjtRQUNELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksd0JBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRyxPQUFPO1lBQ0wsTUFBTTtZQUNOLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLHlCQUF5QixFQUFFLEVBQUU7WUFDN0Isb0JBQW9CLEVBQUUsSUFBQSx5Q0FBOEIsRUFBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7U0FDakYsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUF3QztRQUNyRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkI7UUFDRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUN6RCxhQUFhLEVBQUUsRUFBRTtZQUNqQix5QkFBeUIsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0csb0JBQW9CLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ3RHLENBQUM7SUFDSixDQUFDOztBQTFGSCw0REEyRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBTY2hlbWFGaWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwcHN5bmMnO1xuaW1wb3J0IHsgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiwgTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVneU1hcCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9TVFJBVEVHWTogTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgPSB7XG4gIGRiVHlwZTogJ0RZTkFNT0RCJyxcbiAgcHJvdmlzaW9uU3RyYXRlZ3k6ICdERUZBVUxUJyxcbn07XG5cbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBvYmplY3RzIGdpdmVuIHZhcmlvdXMgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBzY2hlbWEgZGVmaW5pdGlvbiBmcm9tIGEgc3RyaW5nIGlucHV0LlxuICAgKlxuICAgKiAqKk5PVEUqKiBUaGUgJ2RhdGFTb3VyY2VTdHJhdGVneScgY29uZmlndXJhdGlvbiBvcHRpb24gaXMgaW4gcHJldmlldyBhbmQgaXMgbm90IHJlY29tbWVuZGVkIHRvIHVzZSB3aXRoIHByb2R1Y3Rpb24gc3lzdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIHNjaGVtYSB0aGUgZ3JhcGhxbCBpbnB1dCBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0gZGF0YVNvdXJjZVN0cmF0ZWd5IHRoZSBwcm92aXNpb25pbmcgZGVmaW5pdGlvbiBmb3IgZGF0YXNvdXJjZXMgdGhhdCByZXNvbHZlIGBAbW9kZWxgcyBpbiB0aGlzIHNjaGVtYS4gVGhlIER5bmFtb0RCIGZyb21cbiAgICogQ2xvdWRGb3JtYXRpb24gd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqIEBleHBlcmltZW50YWwgZGF0YVNvdXJjZVN0cmF0ZWd5XG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBzY2hlbWE6IHN0cmluZyxcbiAgICBkYXRhU291cmNlU3RyYXRlZ3k6IE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID0gREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9TVFJBVEVHWSxcbiAgKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgcmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9uczoge30sXG4gICAgICBkYXRhU291cmNlU3RyYXRlZ2llczogY29uc3RydWN0RGF0YVNvdXJjZVN0cmF0ZWd5TWFwKHNjaGVtYSwgZGF0YVNvdXJjZVN0cmF0ZWd5KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hLCBiaW5kaW5nIHRoZW0gdG8gYSBEeW5hbW9EQiBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIGZpbGVQYXRocyBvbmUgb3IgbW9yZSBwYXRocyB0byB0aGUgZ3JhcGhxbCBmaWxlcyB0byBwcm9jZXNzXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uLCB3aG9zZSBtb2RlbHMgd2lsbCBiZSByZXNvbHZlZCBieSBEeW5hbW9EQiB0YWJsZXMgY3JlYXRlZCBkdXJpbmcgZGVwbG95bWVudC5cbiAgICovXG4gIHN0YXRpYyBmcm9tRmlsZXMoLi4uZmlsZVBhdGhzOiBzdHJpbmdbXSk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIHJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnM6IHt9LFxuICAgICAgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVneU1hcChzY2hlbWEsIERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1kpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBvbmUgb3IgbW9yZSBhcHBzeW5jIFNjaGVtYUZpbGUgb2JqZWN0cyBpbnRvIGFuIEFtcGxpZnkgR3JhcGhxbCBTY2hlbWFcbiAgICpcbiAgICogKipOT1RFKiogVGhpcyBBUEkgaXMgaW4gcHJldmlldyBhbmQgaXMgbm90IHJlY29tbWVuZGVkIHRvIHVzZSB3aXRoIHByb2R1Y3Rpb24gc3lzdGVtcy5cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKiBAcGFyYW0gZmlsZVBhdGhzIG9uZSBvciBtb3JlIHBhdGhzIHRvIHRoZSBncmFwaHFsIGZpbGVzIHRvIHByb2Nlc3NcbiAgICogQHBhcmFtIGRhdGFTb3VyY2VTdHJhdGVneSB0aGUgcHJvdmlzaW9uaW5nIGRlZmluaXRpb24gZm9yIGRhdGFzb3VyY2VzIHRoYXQgcmVzb2x2ZSBgQG1vZGVsYHMgaW4gdGhpcyBzY2hlbWEuIFRoZSBEeW5hbW9EQiBmcm9tXG4gICAqIENsb3VkRm9ybWF0aW9uIHdpbGwgYmUgdXNlZCBieSBkZWZhdWx0LlxuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvblxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlc0FuZFN0cmF0ZWd5KFxuICAgIGZpbGVQYXRoczogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgZGF0YVNvdXJjZVN0cmF0ZWd5OiBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9IERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1ksXG4gICk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIHJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnM6IHt9LFxuICAgICAgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IGNvbnN0cnVjdERhdGFTb3VyY2VTdHJhdGVneU1hcChzY2hlbWEsIGRhdGFTb3VyY2VTdHJhdGVneSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21iaW5lcyBtdWx0aXBsZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9ucyBpbnRvIGEgc2luZ2xlIGRlZmluaXRpb24uXG4gICAqXG4gICAqICoqTk9URSoqIFRoaXMgQVBJIGlzIGluIHByZXZpZXcgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2Ugd2l0aCBwcm9kdWN0aW9uIHN5c3RlbXMuXG4gICAqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICogQHBhcmFtIGRlZmluaXRpb25zIHRoZSBkZWZpbml0aW9ucyB0byBjb21iaW5lXG4gICAqL1xuICBzdGF0aWMgY29tYmluZShkZWZpbml0aW9uczogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbltdKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgaWYgKGRlZmluaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGVmaW5pdGlvbnMgb2YgYW1wbGlmeSBHcmFwaFFMIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgICB9XG4gICAgaWYgKGRlZmluaXRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGRlZmluaXRpb25zWzBdO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hOiBkZWZpbml0aW9ucy5tYXAoKGRlZikgPT4gZGVmLnNjaGVtYSkuam9pbihvcy5FT0wpLFxuICAgICAgZnVuY3Rpb25TbG90czogW10sXG4gICAgICByZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zOiBkZWZpbml0aW9ucy5yZWR1Y2UoKGFjYywgY3VyKSA9PiAoeyAuLi5hY2MsIC4uLmN1ci5yZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zIH0pLCB7fSksXG4gICAgICBkYXRhU291cmNlU3RyYXRlZ2llczogZGVmaW5pdGlvbnMucmVkdWNlKChhY2MsIGN1cikgPT4gKHsgLi4uYWNjLCAuLi5jdXIuZGF0YVNvdXJjZVN0cmF0ZWdpZXMgfSksIHt9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { IAMAuthorizationConfig, UserPoolAuthorizationConfig, OIDCAuthorizationConfig, ApiKeyAuthorizationConfig, LambdaAuthorizationConfig, AuthorizationModes, PartialTranslationBehavior, AmplifyGraphqlApiProps, AmplifyGraphqlApiResources, AmplifyGraphqlApiCfnResources, FunctionSlotBase, MutationFunctionSlot, QueryFunctionSlot, SubscriptionFunctionSlot, FunctionSlot, FunctionSlotOverride, ConflictResolution, ConflictDetectionType, OptimisticConflictResolutionStrategy, CustomConflictResolutionStrategy, AutomergeConflictResolutionStrategy, ConflictResolutionStrategyBase, ConflictResolutionStrategy, TranslationBehavior, IAmplifyGraphqlDefinition, IBackendOutputStorageStrategy, IBackendOutputEntry, AddFunctionProps, ModelDataSourceDefinition, ModelDataSourceDefinitionStrategy, DefaultDynamoDbModelDataSourceDefinitionStrategy, AmplifyDynamoDbModelDataSourceDefinitionStrategy, ModelDataSourceDefinitionDbType, } from './types';
1
+ export type { IAMAuthorizationConfig, UserPoolAuthorizationConfig, OIDCAuthorizationConfig, ApiKeyAuthorizationConfig, LambdaAuthorizationConfig, AuthorizationModes, PartialTranslationBehavior, AmplifyGraphqlApiProps, AmplifyGraphqlApiResources, AmplifyGraphqlApiCfnResources, FunctionSlotBase, MutationFunctionSlot, QueryFunctionSlot, SubscriptionFunctionSlot, FunctionSlot, FunctionSlotOverride, ConflictResolution, ConflictDetectionType, OptimisticConflictResolutionStrategy, CustomConflictResolutionStrategy, AutomergeConflictResolutionStrategy, ConflictResolutionStrategyBase, ConflictResolutionStrategy, TranslationBehavior, IAmplifyGraphqlDefinition, IBackendOutputStorageStrategy, IBackendOutputEntry, AddFunctionProps, ModelDataSourceStrategy, DefaultDynamoDbModelDataSourceStrategy, AmplifyDynamoDbModelDataSourceStrategy, SQLLambdaModelDataSourceStrategy, ModelDataSourceStrategyDbType, VpcConfig, SubnetAvailabilityZone, SQLLambdaLayerMapping, SqlModelDataSourceDbConnectionConfig, ProvisionedConcurrencyConfig, } from './types';
2
2
  export { AmplifyGraphqlApi } from './amplify-graphql-api';
3
3
  export { AmplifyGraphqlDefinition } from './amplify-graphql-definition';
4
4
  export { AmplifyDynamoDbTableWrapper, TimeToLiveSpecification, ProvisionedThroughput, SSESpecification, SSEType, StreamSpecification, } from './amplify-dynamodb-table-wrapper';
package/lib/index.js CHANGED
@@ -8,4 +8,4 @@ Object.defineProperty(exports, "AmplifyGraphqlDefinition", { enumerable: true, g
8
8
  var amplify_dynamodb_table_wrapper_1 = require("./amplify-dynamodb-table-wrapper");
9
9
  Object.defineProperty(exports, "AmplifyDynamoDbTableWrapper", { enumerable: true, get: function () { return amplify_dynamodb_table_wrapper_1.AmplifyDynamoDbTableWrapper; } });
10
10
  Object.defineProperty(exports, "SSEType", { enumerable: true, get: function () { return amplify_dynamodb_table_wrapper_1.SSEType; } });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUNBLDZEQUEwRDtBQUFqRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiwyRUFBd0U7QUFBL0Qsc0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUZBTzBDO0FBTnhDLDZJQUFBLDJCQUEyQixPQUFBO0FBSTNCLHlIQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgSUFNQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnLFxuICBPSURDQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgQXV0aG9yaXphdGlvbk1vZGVzLFxuICBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcixcbiAgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyxcbiAgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMsXG4gIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzLFxuICBGdW5jdGlvblNsb3RCYXNlLFxuICBNdXRhdGlvbkZ1bmN0aW9uU2xvdCxcbiAgUXVlcnlGdW5jdGlvblNsb3QsXG4gIFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdCxcbiAgRnVuY3Rpb25TbG90LFxuICBGdW5jdGlvblNsb3RPdmVycmlkZSxcbiAgQ29uZmxpY3RSZXNvbHV0aW9uLFxuICBDb25mbGljdERldGVjdGlvblR5cGUsXG4gIE9wdGltaXN0aWNDb25mbGljdFJlc29sdXRpb25TdHJhdGVneSxcbiAgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3ksXG4gIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5LFxuICBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2UsXG4gIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5LFxuICBUcmFuc2xhdGlvbkJlaGF2aW9yLFxuICBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uLFxuICBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSxcbiAgSUJhY2tlbmRPdXRwdXRFbnRyeSxcbiAgQWRkRnVuY3Rpb25Qcm9wcyxcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbixcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5LFxuICBEZWZhdWx0RHluYW1vRGJNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uU3RyYXRlZ3ksXG4gIEFtcGxpZnlEeW5hbW9EYk1vZGVsRGF0YVNvdXJjZURlZmluaXRpb25TdHJhdGVneSxcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbkRiVHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgeyBBbXBsaWZ5R3JhcGhxbEFwaSB9IGZyb20gJy4vYW1wbGlmeS1ncmFwaHFsLWFwaSc7XG5leHBvcnQgeyBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gfSBmcm9tICcuL2FtcGxpZnktZ3JhcGhxbC1kZWZpbml0aW9uJztcbmV4cG9ydCB7XG4gIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlcixcbiAgVGltZVRvTGl2ZVNwZWNpZmljYXRpb24sXG4gIFByb3Zpc2lvbmVkVGhyb3VnaHB1dCxcbiAgU1NFU3BlY2lmaWNhdGlvbixcbiAgU1NFVHlwZSxcbiAgU3RyZWFtU3BlY2lmaWNhdGlvbixcbn0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNENBLDZEQUEwRDtBQUFqRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiwyRUFBd0U7QUFBL0Qsc0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUZBTzBDO0FBTnhDLDZJQUFBLDJCQUEyQixPQUFBO0FBSTNCLHlIQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIEFUVEVOVElPTlxuICpcbiAqIElmIHlvdSBtb2RpZnkgdGhpcyBmaWxlIHlvdXIgbXVzdCBhbHNvIG1vZGlmeSBwYWNrYWdlcy9hbXBsaWZ5LWRhdGEtY29uc3RydWN0L3NyYy9pbmRleC50cyB0byBoYXZlIHRoZSBzYW1lIGV4cG9ydHNcbiAqL1xuZXhwb3J0IHR5cGUge1xuICBJQU1BdXRob3JpemF0aW9uQ29uZmlnLFxuICBVc2VyUG9vbEF1dGhvcml6YXRpb25Db25maWcsXG4gIE9JRENBdXRob3JpemF0aW9uQ29uZmlnLFxuICBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnLFxuICBMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnLFxuICBBdXRob3JpemF0aW9uTW9kZXMsXG4gIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yLFxuICBBbXBsaWZ5R3JhcGhxbEFwaVByb3BzLFxuICBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyxcbiAgQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXMsXG4gIEZ1bmN0aW9uU2xvdEJhc2UsXG4gIE11dGF0aW9uRnVuY3Rpb25TbG90LFxuICBRdWVyeUZ1bmN0aW9uU2xvdCxcbiAgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90LFxuICBGdW5jdGlvblNsb3QsXG4gIEZ1bmN0aW9uU2xvdE92ZXJyaWRlLFxuICBDb25mbGljdFJlc29sdXRpb24sXG4gIENvbmZsaWN0RGV0ZWN0aW9uVHlwZSxcbiAgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5LFxuICBDdXN0b21Db25mbGljdFJlc29sdXRpb25TdHJhdGVneSxcbiAgQXV0b21lcmdlQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3ksXG4gIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5QmFzZSxcbiAgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3ksXG4gIFRyYW5zbGF0aW9uQmVoYXZpb3IsXG4gIElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24sXG4gIElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5LFxuICBJQmFja2VuZE91dHB1dEVudHJ5LFxuICBBZGRGdW5jdGlvblByb3BzLFxuICBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSxcbiAgRGVmYXVsdER5bmFtb0RiTW9kZWxEYXRhU291cmNlU3RyYXRlZ3ksXG4gIEFtcGxpZnlEeW5hbW9EYk1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LFxuICBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSxcbiAgTW9kZWxEYXRhU291cmNlU3RyYXRlZ3lEYlR5cGUsXG4gIFZwY0NvbmZpZyxcbiAgU3VibmV0QXZhaWxhYmlsaXR5Wm9uZSxcbiAgU1FMTGFtYmRhTGF5ZXJNYXBwaW5nLFxuICBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcsXG4gIFByb3Zpc2lvbmVkQ29uY3VycmVuY3lDb25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHsgQW1wbGlmeUdyYXBocWxBcGkgfSBmcm9tICcuL2FtcGxpZnktZ3JhcGhxbC1hcGknO1xuZXhwb3J0IHsgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIH0gZnJvbSAnLi9hbXBsaWZ5LWdyYXBocWwtZGVmaW5pdGlvbic7XG5leHBvcnQge1xuICBBbXBsaWZ5RHluYW1vRGJUYWJsZVdyYXBwZXIsXG4gIFRpbWVUb0xpdmVTcGVjaWZpY2F0aW9uLFxuICBQcm92aXNpb25lZFRocm91Z2hwdXQsXG4gIFNTRVNwZWNpZmljYXRpb24sXG4gIFNTRVR5cGUsXG4gIFN0cmVhbVNwZWNpZmljYXRpb24sXG59IGZyb20gJy4vYW1wbGlmeS1keW5hbW9kYi10YWJsZS13cmFwcGVyJztcbiJdfQ==
@@ -1,7 +1,11 @@
1
- import { ModelDataSourceDefinition } from '../types';
2
1
  import { DataSourceType } from '@aws-amplify/graphql-transformer-interfaces';
2
+ import { ModelDataSourceStrategy } from '../types';
3
3
  type DataSourceConfig = {
4
4
  modelToDatasourceMap: Map<string, DataSourceType>;
5
5
  };
6
- export declare const parseDataSourceConfig: (dataSourceDefinitionMap: Record<string, ModelDataSourceDefinition>) => DataSourceConfig;
6
+ /**
7
+ * An internal helper to convert from a map of model-to-ModelDataSourceStrategies to the map of model-to-DataSourceTypes that internal
8
+ * transform processing requires. TODO: We can remove this once we refactor the internals to use ModelDataSourceStrategies natively.
9
+ */
10
+ export declare const parseDataSourceConfig: (dataSourceDefinitionMap: Record<string, ModelDataSourceStrategy>) => DataSourceConfig;
7
11
  export {};