@aws-amplify/graphql-api-construct 1.4.3 → 1.5.1-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. package/.jsii +202 -201
  2. package/API.md +7 -7
  3. package/CHANGELOG.md +12 -0
  4. package/README.md +210 -20
  5. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  6. package/lib/amplify-graphql-api.d.ts +0 -7
  7. package/lib/amplify-graphql-api.js +18 -76
  8. package/lib/amplify-graphql-definition.d.ts +1 -13
  9. package/lib/amplify-graphql-definition.js +27 -16
  10. package/lib/index.d.ts +1 -1
  11. package/lib/index.js +2 -2
  12. package/lib/internal/data-source-config.d.ts +14 -20
  13. package/lib/internal/data-source-config.js +110 -38
  14. package/lib/internal/model-type-name.d.ts +2 -2
  15. package/lib/internal/model-type-name.js +4 -4
  16. package/lib/{model-datasource-strategy.d.ts → model-datasource-strategy-types.d.ts} +17 -11
  17. package/lib/model-datasource-strategy-types.js +10 -0
  18. package/lib/sql-model-datasource-strategy.d.ts +1 -1
  19. package/lib/sql-model-datasource-strategy.js +4 -4
  20. package/lib/types.d.ts +1 -9
  21. package/lib/types.js +1 -1
  22. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +6 -0
  23. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  24. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +6 -10
  25. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  26. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +1 -1
  27. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +16 -12
  28. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +6 -0
  29. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  30. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +2 -7
  31. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  32. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +13 -9
  33. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +6 -0
  34. package/node_modules/@aws-amplify/graphql-function-transformer/lib/graphql-function-transformer.d.ts.map +1 -1
  35. package/node_modules/@aws-amplify/graphql-function-transformer/lib/graphql-function-transformer.js +7 -0
  36. package/node_modules/@aws-amplify/graphql-function-transformer/lib/graphql-function-transformer.js.map +1 -1
  37. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +11 -7
  38. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  39. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +11 -7
  40. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +6 -0
  41. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  42. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +4 -4
  43. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  44. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +3 -5
  45. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  46. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +12 -34
  47. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  48. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +13 -9
  49. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +6 -0
  50. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  51. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  52. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +3 -4
  53. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  54. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -1
  55. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +3 -3
  56. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -1
  57. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +16 -12
  58. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +2 -2
  59. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +7 -0
  60. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +1 -3
  61. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  62. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +61 -68
  63. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  64. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  65. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  66. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  67. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +8 -8
  68. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  69. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +32 -36
  70. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  71. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +3 -2
  72. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  73. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +70 -34
  74. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +15 -10
  76. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  77. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  78. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +11 -7
  79. package/node_modules/@aws-amplify/graphql-relational-transformer/API.md +2 -2
  80. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +6 -0
  81. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  82. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +14 -7
  83. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  84. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  85. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +6 -6
  86. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  87. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +6 -6
  88. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  89. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +8 -1
  91. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  92. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -1
  93. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +5 -3
  94. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -1
  95. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +2 -2
  96. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -1
  97. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -1
  98. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -1
  99. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +18 -6
  100. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -1
  101. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +18 -18
  102. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  103. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +54 -54
  104. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +14 -10
  106. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +6 -0
  107. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +1 -1
  108. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  109. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +12 -8
  110. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +6 -0
  111. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -1
  112. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +31 -25
  113. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -1
  114. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +12 -8
  115. package/node_modules/@aws-amplify/graphql-transformer/API.md +3 -17
  116. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -0
  117. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +4 -14
  118. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +8 -15
  120. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-transformer/package.json +20 -16
  122. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +30 -57
  123. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +97 -30
  124. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -0
  125. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +3 -3
  126. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  127. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +22 -10
  128. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  129. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -1
  130. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
  131. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +4 -2
  132. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +6 -12
  134. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  135. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +4 -11
  136. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +0 -9
  138. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  139. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +12 -10
  140. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
  141. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +94 -39
  142. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
  143. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +10 -22
  144. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  145. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +3 -7
  146. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +1 -4
  148. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  149. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +1 -4
  150. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
  151. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +2 -1
  152. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  153. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +16 -4
  154. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/model-datasource-strategies.d.ts +7 -0
  156. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/model-datasource-strategies.d.ts.map +1 -0
  157. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/model-datasource-strategies.js +15 -0
  158. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/model-datasource-strategies.js.map +1 -0
  159. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/types.d.ts.map +1 -1
  160. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts +16 -2
  161. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts.map +1 -1
  162. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js +21 -5
  163. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js.map +1 -1
  164. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -4
  165. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  166. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +5 -12
  167. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  168. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts +11 -8
  169. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts.map +1 -1
  170. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js +64 -52
  171. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js.map +1 -1
  172. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +0 -10
  173. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -1
  174. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +1 -58
  175. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -1
  176. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/resource-name.d.ts +22 -0
  177. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/resource-name.d.ts.map +1 -1
  178. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/resource-name.js +28 -1
  179. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/resource-name.js.map +1 -1
  180. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +2 -2
  181. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  182. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -6
  183. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  184. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +9 -5
  185. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +32 -68
  186. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +4 -0
  187. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts +11 -7
  188. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts.map +1 -1
  189. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  190. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  191. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +1 -3
  192. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  193. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +11 -18
  194. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +0 -15
  196. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  197. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +1 -10
  198. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  199. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +7 -3
  200. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/model-datasource/types.ts +50 -18
  201. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +0 -6
  202. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +14 -21
  203. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +0 -43
  204. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  205. package/node_modules/graphql-mapping-template/CHANGELOG.md +4 -0
  206. package/node_modules/graphql-mapping-template/LICENSE +201 -0
  207. package/node_modules/graphql-mapping-template/package.json +8 -3
  208. package/node_modules/graphql-transformer-common/API.md +0 -15
  209. package/node_modules/graphql-transformer-common/CHANGELOG.md +6 -0
  210. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  211. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +0 -15
  212. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  213. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +0 -15
  214. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  215. package/node_modules/graphql-transformer-common/package.json +8 -3
  216. package/package.json +24 -19
  217. package/src/amplify-graphql-api.ts +19 -91
  218. package/src/amplify-graphql-definition.ts +41 -17
  219. package/src/index.ts +1 -1
  220. package/src/internal/data-source-config.ts +146 -52
  221. package/src/internal/model-type-name.ts +3 -2
  222. package/src/{model-datasource-strategy.ts → model-datasource-strategy-types.ts} +20 -12
  223. package/src/sql-model-datasource-strategy.ts +3 -3
  224. package/src/types.ts +1 -9
  225. package/lib/model-datasource-strategy.js +0 -10
  226. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +0 -3
  227. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +0 -1
  228. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +0 -15
  229. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +0 -1
package/lib/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHJpdmF0ZSB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZWRVc2VyUm9sZTogSVJvbGU7XG5cbiAgLyoqXG4gICAqIFVuYXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHVibGljIH0gYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSUFNIHJvbGVzIHdoaWNoIHdpbGwgYmUgZ3JhbnRlZCBmdWxsIHJlYWQvd3JpdGUgYWNjZXNzIHRvIHRoZSBnZW5lcmF0ZWQgbW9kZWwgaWYgSUFNIGF1dGggaXMgZW5hYmxlZC5cbiAgICogSWYgYW4gSVJvbGUgaXMgcHJvdmlkZWQsIHRoZSByb2xlIGBuYW1lYCB3aWxsIGJlIHVzZWQgZm9yIG1hdGNoaW5nLlxuICAgKiBJZiBhIHN0cmluZyBpcyBwcm92aWRlZCwgdGhlIHJhdyB2YWx1ZSB3aWxsIGJlIHVzZWQgZm9yIG1hdGNoaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dMaXN0ZWRSb2xlcz86IChJUm9sZSB8IHN0cmluZylbXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lhbScgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlhbUNvbmZpZz86IElBTUF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsaWN0UmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBQcm9qZWN0LXdpZGUgY29uZmlnIGZvciBjb25mbGljdCByZXNvbHV0aW9uLiBBcHBsaWVzIHRvIGFsbCBub24tb3ZlcnJpZGRlbiBtb2RlbHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0PzogQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIE1vZGVsLXNwZWNpZmljIGNvbmZsaWN0IHJlc29sdXRpb24gb3ZlcnJpZGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZWxzPzogUmVjb3JkPHN0cmluZywgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k+O1xufVxuXG4vKipcbiAqIFBhcmFtcyBleHBvc2VkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcgYW5kIG92ZXJyaWRpbmcgcGlwZWxpbmVkIHNsb3RzLiBUaGlzIGFsbG93cyBjb25maWd1cmF0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLFxuICogaW5jbHVkaW5nIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RPdmVycmlkZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBiZWZvcmUgdGhlIGRhdGFzb3VyY2UgaXMgaW52b2tlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBhZnRlciB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG59XG5cbi8qKlxuICogQ29tbW9uIHNsb3QgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byBhdHRhY2ggdGhpcyBmdW5jdGlvbiB0byBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWVsZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggdG8gdXNlIHRvIGluamVjdCB0aGlzIGludG8gdGhlIGV4ZWN1dGlvbiBwaXBlbGluZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3RJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3ZlcnJpZGRlbiBiZWhhdmlvciBmb3IgdGhpcyBzbG90LlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IEZ1bmN0aW9uU2xvdE92ZXJyaWRlO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIE11dGF0aW9uIFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgTXV0YXRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ011dGF0aW9uJztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlVXBkYXRlJyB8ICdwb3N0VXBkYXRlJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFF1ZXJ5IFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeUZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgUXVlcnkgdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1F1ZXJ5JztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlRGF0YUxvYWQnIHwgJ3Bvc3REYXRhTG9hZCcgfCAnZmluaXNoJztcbn1cblxuLyoqXG4gKiBTbG90IHR5cGVzIGZvciBTdWJzY3JpcHRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgU3Vic2NyaXB0aW9uIHR5cGUgb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdTdWJzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVTdWJzY3JpYmUnO1xufVxuXG4vKipcbiAqIElucHV0IHBhcmFtcyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGUgc2xvdCB3aGljaCBpcyBiZWluZyBvdmVycmlkZGVuLlxuICovXG5leHBvcnQgdHlwZSBGdW5jdGlvblNsb3QgPSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCB8IFF1ZXJ5RnVuY3Rpb25TbG90IHwgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90O1xuXG4vKipcbiAqIFN0cm9uZ2x5IHR5cGVkIHNldCBvZiBzaGFyZWQgcGFyYW1ldGVycyBmb3IgYWxsIHRyYW5zZm9ybWVycywgYW5kIGNvcmUgbGF5ZXIuXG4gKiBUaGlzIGlzIGludGVuZGVkIHRvIHJlcGxhY2UgZmVhdHVyZSBmbGFncywgdG8gZW5zdXJlIHBhcmFtIGNvZXJjaW9uIGhhcHBlbnMgaW5cbiAqIGEgc2luZ2xlIGxvY2F0aW9uLCBhbmQgaXNuJ3Qgc3ByZWFkIGFyb3VuZCB0aGUgdHJhbnNmb3JtZXJzLCB3aGVyZSB0aGV5IGNhblxuICogaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25CZWhhdmlvciB7XG4gIC8qKlxuICAgKiBSZXN0b3JlIHBhcml0eSB3LyBHUUx2MSBAbW9kZWwgcGFyYW1ldGVyIGJlaGF2aW9yLCB3aGVyZSBzZXR0aW5nIGEgc2luZ2xlIGZpZWxkIGRvZXNuJ3QgaW1wbGljaXRseSBzZXQgdGhlIG90aGVyIGZpZWxkcyB0byBudWxsLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaG91bGREZWVwTWVyZ2VEaXJlY3RpdmVDb25maWdEZWZhdWx0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGluZyBzYW5kYm94IG1vZGUgd2lsbCBlbmFibGUgYXBpIGtleSBhdXRoIG9uIGFsbCBtb2RlbHMgaW4gdGhlIHRyYW5zZm9ybWVkIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNhbmRib3hNb2RlRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgb2lkYyBhbmQgdXNlclBvb2wgYXV0aCB1c2UgdGhlIGBzdWJgIGZpZWxkIGluIHRoZSBmb3IgdGhlIHVzZXJuYW1lIGZpZWxkLCB3aGljaCBkaXNhbGxvd3MgbmV3IHVzZXJzIHdpdGggdGhlIHNhbWVcbiAgICogaWQgdG8gYWNjZXNzIGRhdGEgZnJvbSBhIGRlbGV0ZWQgdXNlciBpbiB0aGUgcG9vbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlU3ViVXNlcm5hbWVGb3JEZWZhdWx0SWRlbnRpdHlDbGFpbTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIGRpc2FibGUgYXBpIGtleSByZXNvdXJjZSBnZW5lcmF0aW9uIGV2ZW4gaWYgc3BlY2lmaWVkIGFzIGFuIGF1dGggcnVsZSBvbiB0aGUgY29uc3RydWN0LlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IHBhcmFtZXRlciBmcm9tIHRoZSBHcmFwaHFsIFRyYW5zZm9ybWVyIGV4aXN0aW5nIGluIEFtcGxpZnkgQ0xJLCBub3QgcmVjb21tZW5kZWQgdG8gY2hhbmdlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NBcGlLZXlHZW5lcmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZGlzYWJsZWQsIGdlbmVyYXRlZCBAaW5kZXggYXMgYW4gTFNJIGluc3RlYWQgb2YgYSBHU0kuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNlY29uZGFyeUtleUFzR1NJPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgY3VzdG9tIHByaW1hcnkga2V5IHN1cHBvcnQsIHRoZXJlJ3Mgbm8gZ29vZCByZWFzb24gdG8gZGlzYWJsZSB0aGlzIHVubGVzcyB0cnlpbmcgbm90IHRvIHVwZGF0ZSBhIGxlZ2FjeSBhcHAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BlY3RQcmltYXJ5S2V5QXR0cmlidXRlc09uQ29ubmVjdGlvbkZpZWxkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgc2V0IG5vZGVUb05vZGVFbmNyeXB0aW9uIG9uIHRoZSBzZWFyY2hhYmxlIGRvbWFpbiAoaWYgb25lIGV4aXN0cykuIE5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLCBwcmVmZXJcbiAgICogdG8gdXNlIGBPYmplY3QudmFsdWVzKHJlc291cmNlcy5hZGRpdGlvbmFsUmVzb3VyY2VzWydBV1M6OkVsYXN0aWNzZWFyY2g6OkRvbWFpbiddKS5mb3JFYWNoKChkb21haW46IENmbkRvbWFpbikgPT4ge1xuICAgKiAgIGRvbWFpbi5Ob2RlVG9Ob2RlRW5jcnlwdGlvbk9wdGlvbnMgPSB7IEVuYWJsZWQ6IFRydWUgfTtcbiAgICogfSk7XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVTZWFyY2hOb2RlVG9Ob2RlRW5jcnlwdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xsb3dpbmcgc2NoZW1hIHVwZGF0ZXMgcmVxdWlyZSByZXBsYWNlbWVudCBvZiB0aGUgdW5kZXJseWluZyBEeW5hbW9EQiB0YWJsZTpcbiAgICpcbiAgICogIC0gUmVtb3Zpbmcgb3IgcmVuYW1pbmcgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgdGhlIHByaW1hcnkga2V5IG9mIGEgbW9kZWxcbiAgICogIC0gTW9kaWZ5aW5nIGEgTG9jYWwgU2Vjb25kYXJ5IEluZGV4IG9mIGEgbW9kZWwgKG9ubHkgYXBwbGllcyB0byBwcm9qZWN0cyB3aXRoIHNlY29uZGFyeUtleUFzR1NJIHR1cm5lZCBvZmYpXG4gICAqXG4gICAqIEFMTCBEQVRBIFdJTEwgQkUgTE9TVCB3aGVuIHRoZSB0YWJsZSByZXBsYWNlbWVudCBoYXBwZW5zLiBXaGVuIGVuYWJsZWQsIGRlc3RydWN0aXZlIHVwZGF0ZXMgYXJlIGFsbG93ZWQuXG4gICAqIFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgYmVoYXZpb3Igd2lsbCBvbmx5IGNvbWUgaW50byBlZmZlY3Qgd2hlbiBib3RoIFwiYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzXCIgYW5kIHRoaXMgdmFsdWUgYXJlIHNldCB0byB0cnVlXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgYW55IGdsb2JhbCBzZWNvbmRhcnkgaW5kZXggdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTExcbiAgICogRVhJU1RJTkcgREFUQSBidXQgY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaHFsIEFwaSBkZWZpbml0aW9uLCB3aGljaCBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gbXVsdGlwbGUgd2F5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIGRlZmluaXRpb24gYXMgYSBncmFwaHFsIHN0cmluZywgd2l0aCBhbXBsaWZ5IGRpcmVjdGl2ZXMgYWxsb3dlZC5cbiAgICogQHJldHVybnMgdGhlIHJlbmRlcmVkIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhbnkgZnVuY3Rpb24gc2xvdHMgZGVmaW5lZCBleHBsaWNpdGx5IGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMgZ2VuZXJhdGVkIGZ1bmN0aW9uIHNsb3RzXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzOiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHJlZmVyZW5jZXMgdG8gYW55IGxhbWJkYSBmdW5jdGlvbnMgdXNlZCBpbiB0aGUgZGVmaW5pdGlvbi5cbiAgICogVXNlZnVsIGZvciB3aXJpbmcgdGhyb3VnaCBhd3NfbGFtYmRhLkZ1bmN0aW9uIGNvbnN0cnVjdHMgaW50byB0aGUgZGVmaW5pdGlvbiBkaXJlY3RseSxcbiAgICogYW5kIGdlbmVyYXRlZCByZWZlcmVuY2VzIHRvIGludm9rZSB0aGVtLlxuICAgKiBAcmV0dXJucyBhbnkgbGFtYmRhIGZ1bmN0aW9ucywga2V5ZWQgYnkgdGhlaXIgcmVmZXJlbmNlZCAnbmFtZScgaW4gdGhlIGdlbmVyYXRlZCBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSByZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGRhdGFzb3VyY2Ugc3RyYXRlZ3kgbWFwcGluZy4gVGhlIGRlZmF1bHQgc3RyYXRlZ3kgaXMgdG8gdXNlIER5bmFtb0RCIGZyb20gQ2xvdWRGb3JtYXRpb24uXG4gICAqXG4gICAqICoqTk9URSoqIEV4cGxpY2l0bHkgc3BlY2lmeWluZyB0aGUgJ2RhdGFTb3VyY2VTdHJhdGVnaWVzJyBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBpbiBwcmV2aWV3IGFuZCBpcyBub3QgcmVjb21tZW5kZWQgdG8gdXNlIHdpdGhcbiAgICogcHJvZHVjdGlvbiBzeXN0ZW1zLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHRoZSBzdGF0aWMgZmFjdG9yeSBtZXRob2RzIGBmcm9tU3RyaW5nYCBvciBgZnJvbUZpbGVzYC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKiBAcmV0dXJucyBkYXRhc291cmNlIHN0cmF0ZWd5IG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2VTdHJhdGVnaWVzOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneT47XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGN1c3RvbSBRdWVyeSBvciBNdXRhdGlvbiBTUUwgY29tbWFuZHMgdG8gdGhlIGRhdGEgc291cmNlcyB0aGF0IHJlc29sdmVzIHRoZW0uXG4gICAqXG4gICAqICoqTk9URSoqIEV4cGxpY2l0bHkgc3BlY2lmeWluZyB0aGUgJ2N1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzJyBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBpbiBwcmV2aWV3IGFuZCBpcyBub3QgcmVjb21tZW5kZWQgdG8gdXNlXG4gICAqIHdpdGggcHJvZHVjdGlvbiBzeXN0ZW1zLiBGb3IgcHJvZHVjdGlvbiwgdXNlIHRoZSBzdGF0aWMgZmFjdG9yeSBtZXRob2RzIGBmcm9tU3RyaW5nYCBvciBgZnJvbUZpbGVzYC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgbWFwcGluZ3MgZnJvbSBjdXN0b20gU1FMIGNvbW1hbmRzIHRvIGRhdGEgc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXM/OiBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3lbXTtcbn1cblxuLyoqXG4gKiBFbnRyeSByZXByZXNlbnRpbmcgdGhlIHJlcXVpcmVkIG91dHB1dCBmcm9tIHRoZSBiYWNrZW5kIGZvciBjb2RlZ2VuIGdlbmVyYXRlIGNvbW1hbmRzIHRvIHdvcmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRFbnRyeSB7XG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdmVyc2lvbiBmb3IgdGhpcyBiYWNrZW5kIG91dHB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0cmluZy1tYXAgcGF5bG9hZCBvZiBnZW5lcmF0ZWQgY29uZmlnIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogQmFja2VuZCBvdXRwdXQgc3RyYXRlZ3kgdXNlZCB0byB3cml0ZSBjb25maWcgcmVxdWlyZWQgZm9yIGNvZGVnZW4gdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3kge1xuICAvKipcbiAgICogQWRkIGFuIGVudHJ5IHRvIGJhY2tlbmQgb3V0cHV0LlxuICAgKiBAcGFyYW0ga2V5TmFtZSB0aGUga2V5XG4gICAqIEBwYXJhbSBiYWNrZW5kT3V0cHV0RW50cnkgdGhlIHJlY29yZCB0byBzdG9yZSBpbiB0aGUgYmFja2VuZCBvdXRwdXRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVxuICBhZGRCYWNrZW5kT3V0cHV0RW50cnkoa2V5TmFtZTogc3RyaW5nLCBiYWNrZW5kT3V0cHV0RW50cnk6IElCYWNrZW5kT3V0cHV0RW50cnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIElucHV0IHByb3BzIGZvciB0aGUgQW1wbGlmeUdyYXBocWxBcGkgY29uc3RydWN0LiBTcGVjaWZpZXMgd2hhdCB0aGUgaW5wdXQgdG8gdHJhbnNmb3JtIGludG8gYW4gQXBpLCBhbmQgY29uZmlndXJhdGlvbnMgZm9yXG4gKiB0aGUgdHJhbnNmb3JtYXRpb24gcHJvY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZpbml0aW9uIHRvIHRyYW5zZm9ybSBpbiBhIGZ1bGwgQXBpLlxuICAgKiBDYW4gYmUgY29uc3RydWN0ZWQgdmlhIHRoZSBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gY2xhc3MuXG4gICAqL1xuICByZWFkb25seSBkZWZpbml0aW9uOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBOYW1lIHRvIGJlIHVzZWQgZm9yIHRoZSBBcHBTeW5jIEFwaS5cbiAgICogRGVmYXVsdDogY29uc3RydWN0IGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUmVxdWlyZWQgYXV0aCBtb2RlcyBmb3IgdGhlIEFwaS4gVGhpcyBvYmplY3QgbXVzdCBiZSBhIHN1cGVyc2V0IG9mIHRoZSBjb25maWd1cmVkIGF1dGggcHJvdmlkZXJzIGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzL1xuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXM7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbnMgcmVmZXJlbmNlZCBpbiB0aGUgZGVmaW5pdGlvbnMncyBAZnVuY3Rpb24gZGlyZWN0aXZlcy4gVGhlIGtleXMgb2YgdGhpcyBvYmplY3QgYXJlIGV4cGVjdGVkIHRvIGJlIHRoZVxuICAgKiBmdW5jdGlvbiBuYW1lIHByb3ZpZGVkIGluIHRoZSBkZWZpbml0aW9uLCBhbmQgdmFsdWUgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgbmFtZSByZWZlcnMgdG8uIElmIGEgbmFtZSBpcyBub3QgZm91bmQgaW4gdGhpc1xuICAgKiBtYXAsIHRoZW4gaXQgaXMgaW50ZXJwcmV0ZWQgYXMgdGhlIGBmdW5jdGlvbk5hbWVgLCBhbmQgYW4gYXJuIHdpbGwgYmUgY29uc3RydWN0ZWQgdXNpbmcgdGhlIGN1cnJlbnQgYXdzIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKiAob3Igb3ZlcnJpZGRlbiB2YWx1ZXMsIGlmIHNldCBpbiB0aGUgZGlyZWN0aXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZU1hcD86IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBjb25mbGljdCByZXNvbHV0aW9uIG9uIHRoZSBBcGksIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBEYXRhU3RvcmUgQXBpIGZ1bmN0aW9uYWxpdHkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2RhdGFzdG9yZS9nZXR0aW5nLXN0YXJ0ZWQvcS9wbGF0Zm9ybS9qcy9cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZsaWN0UmVzb2x1dGlvbj86IENvbmZsaWN0UmVzb2x1dGlvbjtcblxuICAvKipcbiAgICogU3RhY2tNYXBwaW5ncyBvdmVycmlkZSB0aGUgYXNzaWduZWQgbmVzdGVkIHN0YWNrIG9uIGEgcGVyLXJlc291cmNlIGJhc2lzLiBPbmx5IGFwcGxpZXMgdG8gcmVzb2x2ZXJzLCBhbmQgdGFrZXMgdGhlIGZvcm1cbiAgICogeyA8bG9naWNhbElkPjogPHN0YWNrTmFtZT4gfVxuICAgKiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIHVubGVzcyB5b3UgYXJlIGVuY291bnRlcmluZyBzdGFjayByZXNvdXJjZSBjb3VudCBsaW1pdHMsIGFuZCB3b3J0aCBub3RpbmcgdGhhdFxuICAgKiBhZnRlciBpbml0aWFsIGRlcGxveW1lbnQgQXBwU3luYyByZXNvbHZlcnMgY2Fubm90IGJlIG1vdmVkIGJldHdlZW4gbmVzdGVkIHN0YWNrcywgdGhleSB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhcHAsXG4gICAqIHRoZW4gcmUtYWRkZWQgZnJvbSBhIG5ldyBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTWFwcGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZm9yIGEgZ2l2ZW4gc2xvdCBpbiB0aGUgZ2VuZXJhdGVkIHJlc29sdmVyIHBpcGVsaW5lcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBzbG90cyBhcmUgYXZhaWxhYmxlLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNvdmVycmlkZS1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnMuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzPzogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaXN0IG9mIGFkZGl0aW9uYWwgY3VzdG9tIHRyYW5zZm9ybWVycyB3aGljaCBhcmUgaW5qZWN0ZWQgaW50byB0aGUgdHJhbnNmb3JtIHByb2Nlc3MuXG4gICAqIFRoZXNlIGN1c3RvbSB0cmFuc2Zvcm1lcnMgbXVzdCBiZSBpbXBsZW1lbnRlZCB3aXRoIGF3cy1jZGstbGliID49Mi44MC4wLCBhbmQgQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSA+PSAyLjEuMVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1lclBsdWdpbnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSWYgdXNpbmcgcHJlZGljdGlvbnMsIGEgYnVja2V0IG11c3QgYmUgcHJvdmlkZWQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYXNzZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZGljdGlvbnNCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHJlcGxhY2VzIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgQXBpIGNvbnN0cnVjdCwgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gd2hhdCB0aGVzZSBwYXJhbWV0ZXJzIGRvLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlZmVyZW5jZS9mZWF0dXJlLWZsYWdzLyNncmFwaFFMVHJhbnNmb3JtZXJcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9uQmVoYXZpb3I/OiBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcjtcblxuICAvKipcbiAgICogU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIG91dHB1dFN0b3JhZ2VTdHJhdGVnZXkgaXMgcHJvdmlkZWQgYSBkZWZhdWx0IHN0cmF0ZWd5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dFN0b3JhZ2VTdHJhdGVneT86IElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5O1xufVxuXG4vKipcbiAqIEwxIENESyByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxBcGk6IENmbkdyYXBoUUxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBTY2hlbWEgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxTY2hlbWE6IENmbkdyYXBoUUxTY2hlbWE7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgS2V5IEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5BcGlLZXk/OiBDZm5BcGlLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBSZXNvbHZlciBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc29sdmVyczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb2x2ZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRGF0YVNvdXJjZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkRhdGFTb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5EYXRhU291cmNlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblRhYmxlczogUmVjb3JkPHN0cmluZywgQ2ZuVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUm9sZXM6IFJlY29yZDxzdHJpbmcsIENmblJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmVtYWluaW5nIEwxIHJlc291cmNlcyBnZW5lcmF0ZWQsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDZm5SZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmblJlc291cmNlPjtcbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmxlIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMiBSZXNvdXJjZSwgaW5jbHVkZXMgdGhlIFNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IGdyYXBocWxBcGk6IElHcmFwaHFsQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBJVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFtcGxpZnkgRHluYW1vRGIgVGFibGUgd3JhcHBlZCBpZiBwcm9kdWNlZCwga2V5ZWQgYnkgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGFtcGxpZnlEeW5hbW9EYlRhYmxlczogUmVjb3JkPHN0cmluZywgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBJQU0gUm9sZSBMMiBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBJUm9sZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgTGFtYmRhIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgZnVuY3Rpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogTDEgQ2ZuIFJlc291cmNlcywgZm9yIHdoZW4gZGlwcGluZyBkb3duIGEgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gaXMgZGVzaXJhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUmVzb3VyY2VzOiBBbXBsaWZ5R3JhcGhxbEFwaUNmblJlc291cmNlcztcblxuICAvKipcbiAgICogTmVzdGVkIFN0YWNrcyBnZW5lcmF0ZWQgYnkgdGhlIEFwaSBDb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBuZXN0ZWRTdGFja3M6IFJlY29yZDxzdHJpbmcsIE5lc3RlZFN0YWNrPjtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHByb3BlcnRpZXMgd2hlbiBhZGRpbmcgYSBuZXcgYXBwc3luYy5BcHBzeW5jRnVuY3Rpb24gdG8gdGhlIGdlbmVyYXRlZCBBUEkuXG4gKiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIE9taXQ8YXBwc3luYy5BcHBzeW5jRnVuY3Rpb25Qcm9wcywgJ2FwaSc+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkZEZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogdGhlIGRhdGEgc291cmNlIGxpbmtlZCB0byB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2U6IEJhc2VEYXRhU291cmNlO1xuXG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoaXMgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIHRoZSByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb25zIHJ1bnRpbWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBmdW5jdGlvbiBydW50aW1lLCBWVEwgbWFwcGluZyB0ZW1wbGF0ZXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IEZ1bmN0aW9uUnVudGltZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIGNvZGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb2RlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGU/OiBDb2RlO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHJpdmF0ZSB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZWRVc2VyUm9sZTogSVJvbGU7XG5cbiAgLyoqXG4gICAqIFVuYXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHVibGljIH0gYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSUFNIHJvbGVzIHdoaWNoIHdpbGwgYmUgZ3JhbnRlZCBmdWxsIHJlYWQvd3JpdGUgYWNjZXNzIHRvIHRoZSBnZW5lcmF0ZWQgbW9kZWwgaWYgSUFNIGF1dGggaXMgZW5hYmxlZC5cbiAgICogSWYgYW4gSVJvbGUgaXMgcHJvdmlkZWQsIHRoZSByb2xlIGBuYW1lYCB3aWxsIGJlIHVzZWQgZm9yIG1hdGNoaW5nLlxuICAgKiBJZiBhIHN0cmluZyBpcyBwcm92aWRlZCwgdGhlIHJhdyB2YWx1ZSB3aWxsIGJlIHVzZWQgZm9yIG1hdGNoaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dMaXN0ZWRSb2xlcz86IChJUm9sZSB8IHN0cmluZylbXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lhbScgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlhbUNvbmZpZz86IElBTUF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsaWN0UmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBQcm9qZWN0LXdpZGUgY29uZmlnIGZvciBjb25mbGljdCByZXNvbHV0aW9uLiBBcHBsaWVzIHRvIGFsbCBub24tb3ZlcnJpZGRlbiBtb2RlbHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0PzogQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIE1vZGVsLXNwZWNpZmljIGNvbmZsaWN0IHJlc29sdXRpb24gb3ZlcnJpZGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZWxzPzogUmVjb3JkPHN0cmluZywgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k+O1xufVxuXG4vKipcbiAqIFBhcmFtcyBleHBvc2VkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcgYW5kIG92ZXJyaWRpbmcgcGlwZWxpbmVkIHNsb3RzLiBUaGlzIGFsbG93cyBjb25maWd1cmF0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLFxuICogaW5jbHVkaW5nIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RPdmVycmlkZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBiZWZvcmUgdGhlIGRhdGFzb3VyY2UgaXMgaW52b2tlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBhZnRlciB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG59XG5cbi8qKlxuICogQ29tbW9uIHNsb3QgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byBhdHRhY2ggdGhpcyBmdW5jdGlvbiB0byBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWVsZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggdG8gdXNlIHRvIGluamVjdCB0aGlzIGludG8gdGhlIGV4ZWN1dGlvbiBwaXBlbGluZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3RJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3ZlcnJpZGRlbiBiZWhhdmlvciBmb3IgdGhpcyBzbG90LlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IEZ1bmN0aW9uU2xvdE92ZXJyaWRlO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIE11dGF0aW9uIFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgTXV0YXRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ011dGF0aW9uJztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlVXBkYXRlJyB8ICdwb3N0VXBkYXRlJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFF1ZXJ5IFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeUZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgUXVlcnkgdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1F1ZXJ5JztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlRGF0YUxvYWQnIHwgJ3Bvc3REYXRhTG9hZCcgfCAnZmluaXNoJztcbn1cblxuLyoqXG4gKiBTbG90IHR5cGVzIGZvciBTdWJzY3JpcHRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgU3Vic2NyaXB0aW9uIHR5cGUgb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdTdWJzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVTdWJzY3JpYmUnO1xufVxuXG4vKipcbiAqIElucHV0IHBhcmFtcyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGUgc2xvdCB3aGljaCBpcyBiZWluZyBvdmVycmlkZGVuLlxuICovXG5leHBvcnQgdHlwZSBGdW5jdGlvblNsb3QgPSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCB8IFF1ZXJ5RnVuY3Rpb25TbG90IHwgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90O1xuXG4vKipcbiAqIFN0cm9uZ2x5IHR5cGVkIHNldCBvZiBzaGFyZWQgcGFyYW1ldGVycyBmb3IgYWxsIHRyYW5zZm9ybWVycywgYW5kIGNvcmUgbGF5ZXIuXG4gKiBUaGlzIGlzIGludGVuZGVkIHRvIHJlcGxhY2UgZmVhdHVyZSBmbGFncywgdG8gZW5zdXJlIHBhcmFtIGNvZXJjaW9uIGhhcHBlbnMgaW5cbiAqIGEgc2luZ2xlIGxvY2F0aW9uLCBhbmQgaXNuJ3Qgc3ByZWFkIGFyb3VuZCB0aGUgdHJhbnNmb3JtZXJzLCB3aGVyZSB0aGV5IGNhblxuICogaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25CZWhhdmlvciB7XG4gIC8qKlxuICAgKiBSZXN0b3JlIHBhcml0eSB3LyBHUUx2MSBAbW9kZWwgcGFyYW1ldGVyIGJlaGF2aW9yLCB3aGVyZSBzZXR0aW5nIGEgc2luZ2xlIGZpZWxkIGRvZXNuJ3QgaW1wbGljaXRseSBzZXQgdGhlIG90aGVyIGZpZWxkcyB0byBudWxsLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaG91bGREZWVwTWVyZ2VEaXJlY3RpdmVDb25maWdEZWZhdWx0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGluZyBzYW5kYm94IG1vZGUgd2lsbCBlbmFibGUgYXBpIGtleSBhdXRoIG9uIGFsbCBtb2RlbHMgaW4gdGhlIHRyYW5zZm9ybWVkIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNhbmRib3hNb2RlRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgb2lkYyBhbmQgdXNlclBvb2wgYXV0aCB1c2UgdGhlIGBzdWJgIGZpZWxkIGluIHRoZSBmb3IgdGhlIHVzZXJuYW1lIGZpZWxkLCB3aGljaCBkaXNhbGxvd3MgbmV3IHVzZXJzIHdpdGggdGhlIHNhbWVcbiAgICogaWQgdG8gYWNjZXNzIGRhdGEgZnJvbSBhIGRlbGV0ZWQgdXNlciBpbiB0aGUgcG9vbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlU3ViVXNlcm5hbWVGb3JEZWZhdWx0SWRlbnRpdHlDbGFpbTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIGRpc2FibGUgYXBpIGtleSByZXNvdXJjZSBnZW5lcmF0aW9uIGV2ZW4gaWYgc3BlY2lmaWVkIGFzIGFuIGF1dGggcnVsZSBvbiB0aGUgY29uc3RydWN0LlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IHBhcmFtZXRlciBmcm9tIHRoZSBHcmFwaHFsIFRyYW5zZm9ybWVyIGV4aXN0aW5nIGluIEFtcGxpZnkgQ0xJLCBub3QgcmVjb21tZW5kZWQgdG8gY2hhbmdlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NBcGlLZXlHZW5lcmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZGlzYWJsZWQsIGdlbmVyYXRlZCBAaW5kZXggYXMgYW4gTFNJIGluc3RlYWQgb2YgYSBHU0kuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNlY29uZGFyeUtleUFzR1NJPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgY3VzdG9tIHByaW1hcnkga2V5IHN1cHBvcnQsIHRoZXJlJ3Mgbm8gZ29vZCByZWFzb24gdG8gZGlzYWJsZSB0aGlzIHVubGVzcyB0cnlpbmcgbm90IHRvIHVwZGF0ZSBhIGxlZ2FjeSBhcHAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BlY3RQcmltYXJ5S2V5QXR0cmlidXRlc09uQ29ubmVjdGlvbkZpZWxkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgc2V0IG5vZGVUb05vZGVFbmNyeXB0aW9uIG9uIHRoZSBzZWFyY2hhYmxlIGRvbWFpbiAoaWYgb25lIGV4aXN0cykuIE5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLCBwcmVmZXJcbiAgICogdG8gdXNlIGBPYmplY3QudmFsdWVzKHJlc291cmNlcy5hZGRpdGlvbmFsUmVzb3VyY2VzWydBV1M6OkVsYXN0aWNzZWFyY2g6OkRvbWFpbiddKS5mb3JFYWNoKChkb21haW46IENmbkRvbWFpbikgPT4ge1xuICAgKiAgIGRvbWFpbi5Ob2RlVG9Ob2RlRW5jcnlwdGlvbk9wdGlvbnMgPSB7IEVuYWJsZWQ6IFRydWUgfTtcbiAgICogfSk7XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVTZWFyY2hOb2RlVG9Ob2RlRW5jcnlwdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xsb3dpbmcgc2NoZW1hIHVwZGF0ZXMgcmVxdWlyZSByZXBsYWNlbWVudCBvZiB0aGUgdW5kZXJseWluZyBEeW5hbW9EQiB0YWJsZTpcbiAgICpcbiAgICogIC0gUmVtb3Zpbmcgb3IgcmVuYW1pbmcgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgdGhlIHByaW1hcnkga2V5IG9mIGEgbW9kZWxcbiAgICogIC0gTW9kaWZ5aW5nIGEgTG9jYWwgU2Vjb25kYXJ5IEluZGV4IG9mIGEgbW9kZWwgKG9ubHkgYXBwbGllcyB0byBwcm9qZWN0cyB3aXRoIHNlY29uZGFyeUtleUFzR1NJIHR1cm5lZCBvZmYpXG4gICAqXG4gICAqIEFMTCBEQVRBIFdJTEwgQkUgTE9TVCB3aGVuIHRoZSB0YWJsZSByZXBsYWNlbWVudCBoYXBwZW5zLiBXaGVuIGVuYWJsZWQsIGRlc3RydWN0aXZlIHVwZGF0ZXMgYXJlIGFsbG93ZWQuXG4gICAqIFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgYmVoYXZpb3Igd2lsbCBvbmx5IGNvbWUgaW50byBlZmZlY3Qgd2hlbiBib3RoIFwiYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzXCIgYW5kIHRoaXMgdmFsdWUgYXJlIHNldCB0byB0cnVlXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgYW55IGdsb2JhbCBzZWNvbmRhcnkgaW5kZXggdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTExcbiAgICogRVhJU1RJTkcgREFUQSBidXQgY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaHFsIEFwaSBkZWZpbml0aW9uLCB3aGljaCBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gbXVsdGlwbGUgd2F5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIGRlZmluaXRpb24gYXMgYSBncmFwaHFsIHN0cmluZywgd2l0aCBhbXBsaWZ5IGRpcmVjdGl2ZXMgYWxsb3dlZC5cbiAgICogQHJldHVybnMgdGhlIHJlbmRlcmVkIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhbnkgZnVuY3Rpb24gc2xvdHMgZGVmaW5lZCBleHBsaWNpdGx5IGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMgZ2VuZXJhdGVkIGZ1bmN0aW9uIHNsb3RzXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzOiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHJlZmVyZW5jZXMgdG8gYW55IGxhbWJkYSBmdW5jdGlvbnMgdXNlZCBpbiB0aGUgZGVmaW5pdGlvbi5cbiAgICogVXNlZnVsIGZvciB3aXJpbmcgdGhyb3VnaCBhd3NfbGFtYmRhLkZ1bmN0aW9uIGNvbnN0cnVjdHMgaW50byB0aGUgZGVmaW5pdGlvbiBkaXJlY3RseSxcbiAgICogYW5kIGdlbmVyYXRlZCByZWZlcmVuY2VzIHRvIGludm9rZSB0aGVtLlxuICAgKiBAcmV0dXJucyBhbnkgbGFtYmRhIGZ1bmN0aW9ucywga2V5ZWQgYnkgdGhlaXIgcmVmZXJlbmNlZCAnbmFtZScgaW4gdGhlIGdlbmVyYXRlZCBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSByZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGRhdGFzb3VyY2Ugc3RyYXRlZ3kgbWFwcGluZy4gVGhlIGRlZmF1bHQgc3RyYXRlZ3kgaXMgdG8gdXNlIER5bmFtb0RCIGZyb20gQ2xvdWRGb3JtYXRpb24uXG4gICAqIEByZXR1cm5zIGRhdGFzb3VyY2Ugc3RyYXRlZ3kgbWFwcGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IFJlY29yZDxzdHJpbmcsIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5PjtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgY3VzdG9tIFF1ZXJ5IG9yIE11dGF0aW9uIFNRTCBjb21tYW5kcyB0byB0aGUgZGF0YSBzb3VyY2VzIHRoYXQgcmVzb2x2ZXMgdGhlbS5cbiAgICogQHJldHVybnMgYSBsaXN0IG9mIG1hcHBpbmdzIGZyb20gY3VzdG9tIFNRTCBjb21tYW5kcyB0byBkYXRhIHNvdXJjZXNcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzPzogQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5W107XG59XG5cbi8qKlxuICogRW50cnkgcmVwcmVzZW50aW5nIHRoZSByZXF1aXJlZCBvdXRwdXQgZnJvbSB0aGUgYmFja2VuZCBmb3IgY29kZWdlbiBnZW5lcmF0ZSBjb21tYW5kcyB0byB3b3JrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kT3V0cHV0RW50cnkge1xuICAvKipcbiAgICogVGhlIHByb3RvY29sIHZlcnNpb24gZm9yIHRoaXMgYmFja2VuZCBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHJpbmctbWFwIHBheWxvYWQgb2YgZ2VuZXJhdGVkIGNvbmZpZyB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIEJhY2tlbmQgb3V0cHV0IHN0cmF0ZWd5IHVzZWQgdG8gd3JpdGUgY29uZmlnIHJlcXVpcmVkIGZvciBjb2RlZ2VuIHRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIEFkZCBhbiBlbnRyeSB0byBiYWNrZW5kIG91dHB1dC5cbiAgICogQHBhcmFtIGtleU5hbWUgdGhlIGtleVxuICAgKiBAcGFyYW0gYmFja2VuZE91dHB1dEVudHJ5IHRoZSByZWNvcmQgdG8gc3RvcmUgaW4gdGhlIGJhY2tlbmQgb3V0cHV0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGVcbiAgYWRkQmFja2VuZE91dHB1dEVudHJ5KGtleU5hbWU6IHN0cmluZywgYmFja2VuZE91dHB1dEVudHJ5OiBJQmFja2VuZE91dHB1dEVudHJ5KTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbnB1dCBwcm9wcyBmb3IgdGhlIEFtcGxpZnlHcmFwaHFsQXBpIGNvbnN0cnVjdC4gU3BlY2lmaWVzIHdoYXQgdGhlIGlucHV0IHRvIHRyYW5zZm9ybSBpbnRvIGFuIEFwaSwgYW5kIGNvbmZpZ3VyYXRpb25zIGZvclxuICogdGhlIHRyYW5zZm9ybWF0aW9uIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmaW5pdGlvbiB0byB0cmFuc2Zvcm0gaW4gYSBmdWxsIEFwaS5cbiAgICogQ2FuIGJlIGNvbnN0cnVjdGVkIHZpYSB0aGUgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIGNsYXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmaW5pdGlvbjogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogTmFtZSB0byBiZSB1c2VkIGZvciB0aGUgQXBwU3luYyBBcGkuXG4gICAqIERlZmF1bHQ6IGNvbnN0cnVjdCBpZC5cbiAgICovXG4gIHJlYWRvbmx5IGFwaU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcXVpcmVkIGF1dGggbW9kZXMgZm9yIHRoZSBBcGkuIFRoaXMgb2JqZWN0IG11c3QgYmUgYSBzdXBlcnNldCBvZiB0aGUgY29uZmlndXJlZCBhdXRoIHByb3ZpZGVycyBpbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvYXV0aG9yaXphdGlvbi1ydWxlcy9cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25Nb2RlczogQXV0aG9yaXphdGlvbk1vZGVzO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgZnVuY3Rpb25zIHJlZmVyZW5jZWQgaW4gdGhlIGRlZmluaXRpb25zJ3MgQGZ1bmN0aW9uIGRpcmVjdGl2ZXMuIFRoZSBrZXlzIG9mIHRoaXMgb2JqZWN0IGFyZSBleHBlY3RlZCB0byBiZSB0aGVcbiAgICogZnVuY3Rpb24gbmFtZSBwcm92aWRlZCBpbiB0aGUgZGVmaW5pdGlvbiwgYW5kIHZhbHVlIGlzIHRoZSBmdW5jdGlvbiB0aGF0IG5hbWUgcmVmZXJzIHRvLiBJZiBhIG5hbWUgaXMgbm90IGZvdW5kIGluIHRoaXNcbiAgICogbWFwLCB0aGVuIGl0IGlzIGludGVycHJldGVkIGFzIHRoZSBgZnVuY3Rpb25OYW1lYCwgYW5kIGFuIGFybiB3aWxsIGJlIGNvbnN0cnVjdGVkIHVzaW5nIHRoZSBjdXJyZW50IGF3cyBhY2NvdW50IGFuZCByZWdpb25cbiAgICogKG9yIG92ZXJyaWRkZW4gdmFsdWVzLCBpZiBzZXQgaW4gdGhlIGRpcmVjdGl2ZSkuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbk5hbWVNYXA/OiBSZWNvcmQ8c3RyaW5nLCBJRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgY29uZmxpY3QgcmVzb2x1dGlvbiBvbiB0aGUgQXBpLCB3aGljaCBpcyByZXF1aXJlZCB0byBlbmFibGUgRGF0YVN0b3JlIEFwaSBmdW5jdGlvbmFsaXR5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2xpYi9kYXRhc3RvcmUvZ2V0dGluZy1zdGFydGVkL3EvcGxhdGZvcm0vanMvXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdFJlc29sdXRpb24/OiBDb25mbGljdFJlc29sdXRpb247XG5cbiAgLyoqXG4gICAqIFN0YWNrTWFwcGluZ3Mgb3ZlcnJpZGUgdGhlIGFzc2lnbmVkIG5lc3RlZCBzdGFjayBvbiBhIHBlci1yZXNvdXJjZSBiYXNpcy4gT25seSBhcHBsaWVzIHRvIHJlc29sdmVycywgYW5kIHRha2VzIHRoZSBmb3JtXG4gICAqIHsgPGxvZ2ljYWxJZD46IDxzdGFja05hbWU+IH1cbiAgICogSXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciB1bmxlc3MgeW91IGFyZSBlbmNvdW50ZXJpbmcgc3RhY2sgcmVzb3VyY2UgY291bnQgbGltaXRzLCBhbmQgd29ydGggbm90aW5nIHRoYXRcbiAgICogYWZ0ZXIgaW5pdGlhbCBkZXBsb3ltZW50IEFwcFN5bmMgcmVzb2x2ZXJzIGNhbm5vdCBiZSBtb3ZlZCBiZXR3ZWVuIG5lc3RlZCBzdGFja3MsIHRoZXkgd2lsbCBuZWVkIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYXBwLFxuICAgKiB0aGVuIHJlLWFkZGVkIGZyb20gYSBuZXcgc3RhY2suXG4gICAqL1xuICByZWFkb25seSBzdGFja01hcHBpbmdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIGZvciBhIGdpdmVuIHNsb3QgaW4gdGhlIGdlbmVyYXRlZCByZXNvbHZlciBwaXBlbGluZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgc2xvdHMgYXJlIGF2YWlsYWJsZSxcbiAgICogcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jb3ZlcnJpZGUtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25TbG90cz86IEZ1bmN0aW9uU2xvdFtdO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbGlzdCBvZiBhZGRpdGlvbmFsIGN1c3RvbSB0cmFuc2Zvcm1lcnMgd2hpY2ggYXJlIGluamVjdGVkIGludG8gdGhlIHRyYW5zZm9ybSBwcm9jZXNzLlxuICAgKiBUaGVzZSBjdXN0b20gdHJhbnNmb3JtZXJzIG11c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCBhd3MtY2RrLWxpYiA+PTIuODAuMCwgYW5kIEBhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUgPj0gMi4xLjFcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNmb3JtZXJQbHVnaW5zPzogYW55W107XG5cbiAgLyoqXG4gICAqIElmIHVzaW5nIHByZWRpY3Rpb25zLCBhIGJ1Y2tldCBtdXN0IGJlIHByb3ZpZGVkIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFzc2V0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWRpY3Rpb25zQnVja2V0PzogSUJ1Y2tldDtcblxuICAvKipcbiAgICogVGhpcyByZXBsYWNlcyBmZWF0dXJlIGZsYWdzIGZyb20gdGhlIEFwaSBjb25zdHJ1Y3QsIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIG9uIHdoYXQgdGhlc2UgcGFyYW1ldGVycyBkbyxcbiAgICogcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWZlcmVuY2UvZmVhdHVyZS1mbGFncy8jZ3JhcGhRTFRyYW5zZm9ybWVyXG4gICAqL1xuICByZWFkb25seSB0cmFuc2xhdGlvbkJlaGF2aW9yPzogUGFydGlhbFRyYW5zbGF0aW9uQmVoYXZpb3I7XG5cbiAgLyoqXG4gICAqIFN0cmF0ZWd5IHRvIHN0b3JlIGNvbnN0cnVjdCBvdXRwdXRzLiBJZiBubyBvdXRwdXRTdG9yYWdlU3RyYXRlZ2V5IGlzIHByb3ZpZGVkIGEgZGVmYXVsdCBzdHJhdGVneSB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRTdG9yYWdlU3RyYXRlZ3k/OiBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneTtcbn1cblxuLyoqXG4gKiBMMSBDREsgcmVzb3VyY2VzIGZyb20gdGhlIEFwaSB3aGljaCB3ZXJlIGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2Zvcm0uXG4gKiBUaGVzZSBhcmUgcG90ZW50aWFsbHkgc3RvcmVkIHVuZGVyIG5lc3RlZCBzdGFja3MsIGJ1dCBwcmVzZW50ZWQgb3JnYW5pemVkIGJ5IHR5cGUgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaUNmblJlc291cmNlcyB7XG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5HcmFwaHFsQXBpOiBDZm5HcmFwaFFMQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgU2NoZW1hIEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5HcmFwaHFsU2NoZW1hOiBDZm5HcmFwaFFMU2NoZW1hO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEtleSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuQXBpS2V5PzogQ2ZuQXBpS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgUmVzb2x2ZXIgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5SZXNvbHZlcnM6IFJlY29yZDxzdHJpbmcsIENmblJlc29sdmVyPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uczogUmVjb3JkPHN0cmluZywgQ2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIERhdGFTb3VyY2UgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5EYXRhU291cmNlczogUmVjb3JkPHN0cmluZywgQ2ZuRGF0YVNvdXJjZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgRHluYW1vREIgVGFibGUgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5UYWJsZXM6IFJlY29yZDxzdHJpbmcsIENmblRhYmxlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBJQU0gUm9sZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5Sb2xlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBMYW1iZGEgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBmdW5jdGlvbiBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRnVuY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIFJlbWFpbmluZyBMMSByZXNvdXJjZXMgZ2VuZXJhdGVkLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvdXJjZT47XG59XG5cbi8qKlxuICogQWNjZXNzaWJsZSByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDIgUmVzb3VyY2UsIGluY2x1ZGVzIHRoZSBTY2hlbWEuXG4gICAqL1xuICByZWFkb25seSBncmFwaHFsQXBpOiBJR3JhcGhxbEFwaTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMiBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlczogUmVjb3JkPHN0cmluZywgSVRhYmxlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBbXBsaWZ5IER5bmFtb0RiIFRhYmxlIHdyYXBwZWQgaWYgcHJvZHVjZWQsIGtleWVkIGJ5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhbXBsaWZ5RHluYW1vRGJUYWJsZXM6IFJlY29yZDxzdHJpbmcsIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlcj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgSUFNIFJvbGUgTDIgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSByb2xlczogUmVjb3JkPHN0cmluZywgSVJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIEwxIENmbiBSZXNvdXJjZXMsIGZvciB3aGVuIGRpcHBpbmcgZG93biBhIGxldmVsIG9mIGFic3RyYWN0aW9uIGlzIGRlc2lyYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc291cmNlczogQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXM7XG5cbiAgLyoqXG4gICAqIE5lc3RlZCBTdGFja3MgZ2VuZXJhdGVkIGJ5IHRoZSBBcGkgQ29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmVzdGVkU3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBOZXN0ZWRTdGFjaz47XG59XG5cbi8qKlxuICogSW5wdXQgdHlwZSBwcm9wZXJ0aWVzIHdoZW4gYWRkaW5nIGEgbmV3IGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uIHRvIHRoZSBnZW5lcmF0ZWQgQVBJLlxuICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBPbWl0PGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uUHJvcHMsICdhcGknPi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBkYXRhIHNvdXJjZSBsaW5rZWQgdG8gdGhpcyBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlOiBCYXNlRGF0YVNvdXJjZTtcblxuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIGRlc2NyaXB0aW9uIGZvciB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRoZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiB0aGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9ucyBydW50aW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZnVuY3Rpb24gcnVudGltZSwgVlRMIG1hcHBpbmcgdGVtcGxhdGVzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBGdW5jdGlvblJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiBjb2RlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29kZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjb2RlPzogQ29kZTtcbn1cbiJdfQ==
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.3.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.2.3...@aws-amplify/graphql-auth-transformer@3.3.0) (2023-12-06)
7
+
8
+ ### Features
9
+
10
+ - combine heterogeneous data sources ([#2109](https://github.com/aws-amplify/amplify-category-api/issues/2109)) ([fd58bb5](https://github.com/aws-amplify/amplify-category-api/commit/fd58bb5af4249220d17c9751acf677955aed74ea))
11
+
6
12
  ## [3.2.3](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.2.2...@aws-amplify/graphql-auth-transformer@3.2.3) (2023-11-22)
7
13
 
8
14
  **Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAOpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAIL,6CAA6C,EAC7C,0BAA0B,EAE1B,yCAAyC,EACzC,uBAAuB,EACvB,oCAAoC,EACrC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAK5B,MAAM,SAAS,CAAC;AAyBjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAqBL,cAAc,EAef,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8CjE,qBAAa,eAAgB,SAAQ,mBAAoB,YAAW,uBAAuB;IACzF,OAAO,CAAC,uBAAuB,CAA0B;IAEzD,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO,CAAC,eAAe,CAAmC;IAE1D,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,oBAAoB,CAA2C;IAGvE,OAAO,CAAC,iBAAiB,CAA2B;IAGpD,OAAO,CAAC,8BAA8B,CAAU;IAEhD,OAAO,CAAC,4BAA4B,CAAU;IAE9C,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,qBAAqB,CAAqB;;IAiBlD,MAAM,YAAa,oCAAoC,KAAG,IAAI,CAG5D;IAEF,MAAM,QAAS,wBAAwB,aAAa,aAAa,WAAW,yCAAyC,KAAG,IAAI,CAkC1H;IAEF,KAAK,YAAa,0BAA0B,KAAG,IAAI,CASjD;IAEF,KAAK,WACK,wBAAwB,GAAG,2BAA2B,SACvD,mBAAmB,aACf,aAAa,WACf,yCAAyC,KACjD,IAAI,CA6EL;IAEF,eAAe,YAAa,6CAA6C,KAAG,IAAI,CA0C9E;IAEF,iBAAiB,YAAa,0BAA0B,KAAG,IAAI,CAgH7D;IAQF,sCAAsC,YAAa,6CAA6C,KAAG,IAAI,CAWrG;IAEF,8BAA8B,QACvB,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,KAChB,IAAI,CAsCL;IAEF,uBAAuB,QAChB,6CAA6C,OAC7C,wBAAwB,OACxB,mBAAmB,KACvB,IAAI,CA6DL;IAEF,kBAAkB,QACX,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAeL;IAEF,mBAAmB,QACZ,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,cACZ,MAAM,KACjB,IAAI,CAeL;IAEF,yBAAyB,QAClB,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,SACT,mBAAmB,cACd,MAAM,MAAM,CAAC,GAAG,IAAI,KAC/B,IAAI,CAiEL;IAEF,mBAAmB,QACZ,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAiBL;IAQF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAkCL;IAWF,oBAAoB,QACb,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,SACV,MAAM,MAAM,CAAC,KACnB,IAAI,CAkEL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAoBL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CAoCL;IAEF,qBAAqB,QACd,0BAA0B,OAC1B,wBAAwB,YACnB,MAAM,aACL,MAAM,OACZ,mBAAmB,KACvB,IAAI,CA6BL;IAEF,2BAA2B,QACpB,0BAA0B,YACrB,MAAM,aACL,MAAM,qBACE,MAAM,cAAc,CAAC,OACnC,wBAAwB,KAC5B,IAAI,CAUL;IAKF,OAAO,CAAC,mBAAmB;IA6G3B,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,gBAAgB;IAaxB,qBAAqB,QAAS,0BAA0B,YAAY,MAAM,KAAG,wBAAwB,CASnG;IAKF,iBAAiB,QAAS,6CAA6C,aAAa,MAAM,eAAe,MAAM,MAAM,CAAC,KAAG,IAAI,CAY3H;IAEF,OAAO,CAAC,oCAAoC;IA4C5C,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gCAAgC;IAgBxC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,4BAA4B;IAgBpC,sBAAsB,QACf,0BAA0B,OAC1B,wBAAwB,iBACd,MAAM,EAAE,UACf,SAAS,MAAM,EAAE,KACxB,MAAM,EAAE,CAQT;IAEF,gCAAgC,QACzB,0BAA0B,OAC1B,wBAAwB,iBACd,IAAI,MAAM,CAAC,UAClB,SAAS,MAAM,EAAE,KACxB,IAAI,CAKL;IAEF,2BAA2B,eAAgB,wBAAwB,iBAAiB,IAAI,MAAM,CAAC,KAAG,IAAI,CAoBpG;IAEF,6BAA6B,QACtB,0BAA0B,mBACd,wBAAwB,EAAE,OACtC,wBAAwB,iBACd,IAAI,MAAM,CAAC,KACzB,IAAI,CAqBL;IAKF,4BAA4B,QACrB,0BAA0B,mBACd,wBAAwB,EAAE,UACnC,SAAS,MAAM,EAAE,OACpB,wBAAwB,iBACd,IAAI,MAAM,CAAC,KACzB,IAAI,CA0BL;IAEF,+BAA+B,QAAS,0BAA0B,iBAAiB,IAAI,MAAM,CAAC,KAAG,IAAI,CAGnG;IAEF,eAAe,QAAS,0BAA0B,YAAY,MAAM,UAAU,mBAAmB,KAAG,gBAAgB,CAWlH;CACH"}
1
+ {"version":3,"file":"graphql-auth-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
@@ -515,10 +515,8 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
515
515
  roleDefinition.nullAllowedFields = nullAllowedFields;
516
516
  return roleDefinition;
517
517
  });
518
- const { SQLLambdaDataSourceLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
519
- const dataSource = ((0, graphql_transformer_core_1.isRDSModel)(ctx, def.name.value)
520
- ? ctx.api.host.getDataSource(SQLLambdaDataSourceLogicalID)
521
- : ctx.api.host.getDataSource(`${def.name.value}Table`));
518
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, def.name.value);
519
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
522
520
  const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression(ctx, def);
523
521
  const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForUpdate(this.configuredAuthProviders, totalRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
524
522
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
@@ -534,10 +532,8 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
534
532
  roleDefinition.allowedFields = allowedFields;
535
533
  return roleDefinition;
536
534
  });
537
- const { SQLLambdaDataSourceLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
538
- const dataSource = ((0, graphql_transformer_core_1.isRDSModel)(ctx, def.name.value)
539
- ? ctx.api.host.getDataSource(SQLLambdaDataSourceLogicalID)
540
- : ctx.api.host.getDataSource(`${def.name.value}Table`));
535
+ const dataSourceName = (0, graphql_transformer_core_1.getModelDataSourceNameForTypeName)(ctx, def.name.value);
536
+ const dataSource = ctx.api.host.getDataSource(dataSourceName);
541
537
  const requestExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthRequestExpression(ctx, def);
542
538
  const authExpression = this.getVtlGenerator(ctx, def.name.value).generateAuthExpressionForDelete(this.configuredAuthProviders, deleteRoles, (_a = def.fields) !== null && _a !== void 0 ? _a : []);
543
539
  resolver.addToSlot('auth', graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), graphql_transformer_core_1.MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), dataSource);
@@ -618,7 +614,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
618
614
  if (directive.name.value === 'hasOne' ||
619
615
  (directive.name.value === 'belongsTo' &&
620
616
  relatedType.fields.some((f) => { var _a; return (0, graphql_transformer_common_1.getBaseType)(f.type) === def.name.value && ((_a = f.directives) === null || _a === void 0 ? void 0 : _a.some((d) => d.name.value === 'hasOne')); }))) {
621
- if (!(0, graphql_transformer_core_1.isRDSModel)(ctx, def.name.value)) {
617
+ if (!(0, graphql_transformer_core_1.isSqlModel)(ctx, def.name.value)) {
622
618
  allowedFields.add((0, graphql_relational_transformer_1.getConnectionAttributeName)(ctx.transformParameters, def.name.value, field, (0, graphql_relational_transformer_1.getObjectPrimaryKey)(relatedType).name.value));
623
619
  }
624
620
  (0, graphql_transformer_core_1.getSortKeyFieldNames)(def).forEach((sortKeyFieldName) => {
@@ -636,7 +632,7 @@ class AuthTransformer extends graphql_transformer_core_1.TransformerAuthBase {
636
632
  if (field && field.directives.some((dir) => dir.name.value === 'sql')) {
637
633
  return new rds_vtl_generator_1.RDSAuthVTLGenerator();
638
634
  }
639
- if ((0, graphql_transformer_core_1.isRDSModel)(ctx, typename)) {
635
+ if ((0, graphql_transformer_core_1.isSqlModel)(ctx, typename)) {
640
636
  return new rds_vtl_generator_1.RDSAuthVTLGenerator();
641
637
  }
642
638
  return new ddb_vtl_generator_1.DDBAuthVTLGenerator();
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-auth-transformer.js","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-auth-transformer.js","sourceRoot":"","sources":["../src/graphql-auth-transformer.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ const validateRules = (rules, configuredAuthProviders, typeName) => {
62
62
  exports.validateRules = validateRules;
63
63
  const validateFieldRules = (authDir, isParentTypeBuiltinType, parentHasModelDirective, fieldName, transformParameters, parent, context) => {
64
64
  const rules = authDir.getArguments({ rules: [] }, (0, graphql_transformer_core_1.generateGetArgumentsInput)(transformParameters)).rules;
65
- if (!isParentTypeBuiltinType && (0, graphql_transformer_core_1.isRDSModel)(context, parent.name.value)) {
65
+ if (!isParentTypeBuiltinType && (0, graphql_transformer_core_1.isSqlModel)(context, parent.name.value)) {
66
66
  throw new graphql_transformer_core_1.InvalidDirectiveError(`@auth rules are not supported on fields on relational database models. Check field "${fieldName}" on type "${parent.name.value}". Please use @auth on the type instead.`);
67
67
  }
68
68
  if (rules.length === 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-auth-transformer",
3
- "version": "3.2.3",
3
+ "version": "3.3.1-alpha.1+edba38d57",
4
4
  "description": "Amplify GraphQL @auth transformer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,20 +29,20 @@
29
29
  "extract-api": "ts-node ../../scripts/extract-api.ts"
30
30
  },
31
31
  "dependencies": {
32
- "@aws-amplify/graphql-model-transformer": "2.3.3",
33
- "@aws-amplify/graphql-relational-transformer": "2.2.3",
34
- "@aws-amplify/graphql-transformer-core": "2.3.3",
35
- "@aws-amplify/graphql-transformer-interfaces": "3.3.1",
32
+ "@aws-amplify/graphql-model-transformer": "2.4.1-alpha.1+edba38d57",
33
+ "@aws-amplify/graphql-relational-transformer": "2.3.1-alpha.1+edba38d57",
34
+ "@aws-amplify/graphql-transformer-core": "2.4.1-alpha.1+edba38d57",
35
+ "@aws-amplify/graphql-transformer-interfaces": "3.3.3-alpha.1+edba38d57",
36
36
  "graphql": "^15.5.0",
37
- "graphql-mapping-template": "4.20.12",
38
- "graphql-transformer-common": "4.26.2",
37
+ "graphql-mapping-template": "4.20.14-alpha.1+edba38d57",
38
+ "graphql-transformer-common": "4.27.1-alpha.1+edba38d57",
39
39
  "lodash": "^4.17.21",
40
40
  "md5": "^2.3.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@aws-amplify/graphql-index-transformer": "2.2.3",
44
- "@aws-amplify/graphql-searchable-transformer": "2.3.3",
45
- "@aws-amplify/graphql-transformer-test-utils": "0.3.3",
43
+ "@aws-amplify/graphql-index-transformer": "2.3.1-alpha.1+edba38d57",
44
+ "@aws-amplify/graphql-searchable-transformer": "2.4.1-alpha.1+edba38d57",
45
+ "@aws-amplify/graphql-transformer-test-utils": "0.4.0",
46
46
  "@types/node": "^12.12.6"
47
47
  },
48
48
  "peerDependencies": {
@@ -70,7 +70,11 @@
70
70
  "functions": 80,
71
71
  "lines": 80
72
72
  }
73
- }
73
+ },
74
+ "coverageReporters": [
75
+ "clover",
76
+ "text"
77
+ ]
74
78
  },
75
- "gitHead": "5256b5955ee204dd56f8074a43406852f8206c54"
79
+ "gitHead": "edba38d57f363191913c763e621d92d1aa9490f8"
76
80
  }
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.2.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.1.12...@aws-amplify/graphql-default-value-transformer@2.2.0) (2023-12-06)
7
+
8
+ ### Features
9
+
10
+ - combine heterogeneous data sources ([#2109](https://github.com/aws-amplify/amplify-category-api/issues/2109)) ([fd58bb5](https://github.com/aws-amplify/amplify-category-api/commit/fd58bb5af4249220d17c9751acf677955aed74ea))
11
+
6
12
  ## [2.1.12](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.1.11...@aws-amplify/graphql-default-value-transformer@2.1.12) (2023-11-22)
7
13
 
8
14
  **Note:** Version bump only for package @aws-amplify/graphql-default-value-transformer
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-default-value-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-default-value-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAE1B,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EAGzB,MAAM,SAAS,CAAC;AAwEjB,qBAAa,uBAAwB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,YAAY,CAA2D;;IAM/E,KAAK,WACK,wBAAwB,GAAG,2BAA2B,cAClD,mBAAmB,aACpB,aAAa,OACnB,yCAAyC,KAC7C,IAAI,CAiBL;IAEF,eAAe,QAAS,6CAA6C,KAAG,IAAI,CAS1E;IAEF,iBAAiB,QAAS,0BAA0B,KAAG,IAAI,CAoBzD;IAEF,OAAO,CAAC,uBAAuB,CAS3B;IAEJ,OAAO,CAAC,+BAA+B,CAKrC;IAEF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,OAAO,CAAC,wBAAwB,CAU9B;CACH"}
1
+ {"version":3,"file":"graphql-default-value-transformer.d.ts","sourceRoot":"","sources":["../src/graphql-default-value-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAE1B,yCAAyC,EACzC,6CAA6C,EAC9C,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EAGzB,MAAM,SAAS,CAAC;AAmEjB,qBAAa,uBAAwB,SAAQ,qBAAqB;IAChE,OAAO,CAAC,YAAY,CAA2D;;IAM/E,KAAK,WACK,wBAAwB,GAAG,2BAA2B,cAClD,mBAAmB,aACpB,aAAa,OACnB,yCAAyC,KAC7C,IAAI,CAiBL;IAEF,eAAe,QAAS,6CAA6C,KAAG,IAAI,CAS1E;IAEF,iBAAiB,QAAS,0BAA0B,KAAG,IAAI,CAoBzD;IAEF,OAAO,CAAC,uBAAuB,CAS3B;IAEJ,OAAO,CAAC,+BAA+B,CAKrC;IAEF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,OAAO,CAAC,wBAAwB,CAU9B;CACH"}