@dyanet/nestjs-config-aws 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +213 -1013
  2. package/dist/cjs/config-aws/src/config-manager.js +366 -0
  3. package/dist/cjs/config-aws/src/errors/index.js +77 -0
  4. package/dist/cjs/config-aws/src/index.js +37 -0
  5. package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +3 -0
  6. package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +3 -0
  7. package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +3 -0
  8. package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +3 -0
  9. package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +3 -0
  10. package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +3 -0
  11. package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +3 -0
  12. package/dist/cjs/config-aws/src/loaders/env-file.loader.js +169 -0
  13. package/dist/cjs/config-aws/src/loaders/environment.loader.js +85 -0
  14. package/dist/cjs/config-aws/src/loaders/s3.loader.js +145 -0
  15. package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +169 -0
  16. package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +199 -0
  17. package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +98 -0
  18. package/dist/cjs/config-aws/src/utils/validation.util.js +116 -0
  19. package/dist/cjs/nestjs-config-aws/src/config.module.js +175 -0
  20. package/dist/cjs/nestjs-config-aws/src/index.js +61 -0
  21. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/index.js +1 -1
  22. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +3 -0
  23. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +3 -0
  24. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/interfaces/index.js +1 -1
  25. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +3 -0
  26. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +3 -0
  27. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +73 -0
  28. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +3 -0
  29. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +4 -0
  30. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +52 -0
  31. package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +124 -0
  32. package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +592 -0
  33. package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +385 -0
  34. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/providers/index.js +1 -1
  35. package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +366 -0
  36. package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +267 -0
  37. package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +517 -0
  38. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/services/index.js +1 -1
  39. package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +81 -0
  40. package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +465 -0
  41. package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +318 -0
  42. package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +292 -0
  43. package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +595 -0
  44. package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +283 -0
  45. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/utils/index.js +1 -1
  46. package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +11 -0
  47. package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +63 -0
  48. package/dist/cjs/nestjs-config-aws/src/interfaces/index.js +30 -0
  49. package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +3 -0
  50. package/dist/cjs/nestjs-config-aws/src/services/config.service.js +142 -0
  51. package/dist/esm/config-aws/src/config-manager.js +362 -0
  52. package/dist/esm/config-aws/src/errors/index.js +69 -0
  53. package/dist/esm/config-aws/src/index.js +21 -0
  54. package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +2 -0
  55. package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +2 -0
  56. package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +2 -0
  57. package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +2 -0
  58. package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +2 -0
  59. package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +2 -0
  60. package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +2 -0
  61. package/dist/esm/config-aws/src/loaders/env-file.loader.js +132 -0
  62. package/dist/esm/config-aws/src/loaders/environment.loader.js +81 -0
  63. package/dist/esm/config-aws/src/loaders/s3.loader.js +141 -0
  64. package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +165 -0
  65. package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +195 -0
  66. package/dist/esm/config-aws/src/utils/env-file-parser.util.js +94 -0
  67. package/dist/esm/config-aws/src/utils/validation.util.js +112 -0
  68. package/dist/esm/nestjs-config-aws/src/config.module.js +172 -0
  69. package/dist/esm/nestjs-config-aws/src/index.js +23 -0
  70. package/dist/esm/nestjs-config-aws/src/integration/index.js +7 -0
  71. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +2 -0
  72. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +2 -0
  73. package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +10 -0
  74. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +2 -0
  75. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +2 -0
  76. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +64 -0
  77. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +2 -0
  78. package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +3 -0
  79. package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +44 -0
  80. package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +121 -0
  81. package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +589 -0
  82. package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +382 -0
  83. package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +4 -0
  84. package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +363 -0
  85. package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +264 -0
  86. package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +514 -0
  87. package/dist/esm/nestjs-config-aws/src/integration/services/index.js +10 -0
  88. package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +78 -0
  89. package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +462 -0
  90. package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +315 -0
  91. package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +289 -0
  92. package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +589 -0
  93. package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +240 -0
  94. package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +3 -0
  95. package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +7 -0
  96. package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +59 -0
  97. package/dist/esm/nestjs-config-aws/src/interfaces/index.js +8 -0
  98. package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +2 -0
  99. package/dist/esm/nestjs-config-aws/src/services/config.service.js +139 -0
  100. package/dist/types/config-aws/src/config-manager.d.ts +119 -0
  101. package/dist/types/config-aws/src/config-manager.d.ts.map +1 -0
  102. package/dist/types/config-aws/src/errors/index.d.ts +43 -0
  103. package/dist/types/config-aws/src/errors/index.d.ts.map +1 -0
  104. package/dist/types/config-aws/src/index.d.ts +24 -0
  105. package/dist/types/config-aws/src/index.d.ts.map +1 -0
  106. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +33 -0
  107. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +1 -0
  108. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +86 -0
  109. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +1 -0
  110. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +12 -0
  111. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +1 -0
  112. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +10 -0
  113. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +1 -0
  114. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +14 -0
  115. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +1 -0
  116. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +12 -0
  117. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +1 -0
  118. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +14 -0
  119. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +1 -0
  120. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +69 -0
  121. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +1 -0
  122. package/dist/types/config-aws/src/loaders/environment.loader.d.ts +46 -0
  123. package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +1 -0
  124. package/dist/types/config-aws/src/loaders/s3.loader.d.ts +62 -0
  125. package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +1 -0
  126. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +68 -0
  127. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +1 -0
  128. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +78 -0
  129. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +1 -0
  130. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +45 -0
  131. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +1 -0
  132. package/dist/types/{utils → config-aws/src/utils}/validation.util.d.ts +10 -10
  133. package/dist/types/config-aws/src/utils/validation.util.d.ts.map +1 -0
  134. package/dist/types/{config.module.d.ts → nestjs-config-aws/src/config.module.d.ts} +1 -0
  135. package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +1 -0
  136. package/dist/types/{index.d.ts → nestjs-config-aws/src/index.d.ts} +2 -4
  137. package/dist/types/nestjs-config-aws/src/index.d.ts.map +1 -0
  138. package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +1 -0
  139. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +1 -0
  140. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +1 -0
  141. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +1 -0
  142. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +1 -0
  143. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +1 -0
  144. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +1 -0
  145. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +1 -0
  146. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +1 -0
  147. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +1 -0
  148. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +1 -0
  149. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +1 -0
  150. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +1 -0
  151. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +1 -0
  152. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +1 -0
  153. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +1 -0
  154. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +1 -0
  155. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +1 -0
  156. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +1 -0
  157. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +1 -0
  158. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +1 -0
  159. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +1 -0
  160. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +1 -0
  161. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +1 -0
  162. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +1 -0
  163. package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +1 -0
  164. package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/default-schema.interface.d.ts +28 -28
  165. package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +1 -0
  166. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts +5 -0
  167. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +1 -0
  168. package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +1 -0
  169. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts +88 -0
  170. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +1 -0
  171. package/package.json +20 -27
  172. package/LICENSE +0 -21
  173. package/dist/cjs/config.module.js +0 -178
  174. package/dist/cjs/config.module.js.map +0 -1
  175. package/dist/cjs/index.js +0 -47
  176. package/dist/cjs/index.js.map +0 -1
  177. package/dist/cjs/integration/index.js.map +0 -1
  178. package/dist/cjs/integration/interfaces/configuration-factory.interface.js +0 -3
  179. package/dist/cjs/integration/interfaces/configuration-factory.interface.js.map +0 -1
  180. package/dist/cjs/integration/interfaces/configuration-source.interface.js +0 -3
  181. package/dist/cjs/integration/interfaces/configuration-source.interface.js.map +0 -1
  182. package/dist/cjs/integration/interfaces/index.js.map +0 -1
  183. package/dist/cjs/integration/interfaces/integration-options.interface.js +0 -3
  184. package/dist/cjs/integration/interfaces/integration-options.interface.js.map +0 -1
  185. package/dist/cjs/integration/interfaces/integration-state.interface.js +0 -3
  186. package/dist/cjs/integration/interfaces/integration-state.interface.js.map +0 -1
  187. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
  188. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js.map +0 -1
  189. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js +0 -3
  190. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js.map +0 -1
  191. package/dist/cjs/integration/interfaces/typed-configuration.interface.js +0 -4
  192. package/dist/cjs/integration/interfaces/typed-configuration.interface.js.map +0 -1
  193. package/dist/cjs/integration/interfaces/utility-types.interface.js +0 -52
  194. package/dist/cjs/integration/interfaces/utility-types.interface.js.map +0 -1
  195. package/dist/cjs/integration/nestjs-config-integration.module.js +0 -124
  196. package/dist/cjs/integration/nestjs-config-integration.module.js.map +0 -1
  197. package/dist/cjs/integration/providers/aws-configuration-loader.service.js +0 -591
  198. package/dist/cjs/integration/providers/aws-configuration-loader.service.js.map +0 -1
  199. package/dist/cjs/integration/providers/configuration-factory.provider.js +0 -383
  200. package/dist/cjs/integration/providers/configuration-factory.provider.js.map +0 -1
  201. package/dist/cjs/integration/providers/index.js.map +0 -1
  202. package/dist/cjs/integration/services/async-config-helper.service.js +0 -356
  203. package/dist/cjs/integration/services/async-config-helper.service.js.map +0 -1
  204. package/dist/cjs/integration/services/error-handler.service.js +0 -265
  205. package/dist/cjs/integration/services/error-handler.service.js.map +0 -1
  206. package/dist/cjs/integration/services/factory-registration.service.js +0 -512
  207. package/dist/cjs/integration/services/factory-registration.service.js.map +0 -1
  208. package/dist/cjs/integration/services/index.js.map +0 -1
  209. package/dist/cjs/integration/services/integration-state.service.js +0 -83
  210. package/dist/cjs/integration/services/integration-state.service.js.map +0 -1
  211. package/dist/cjs/integration/services/namespace-handler.service.js +0 -467
  212. package/dist/cjs/integration/services/namespace-handler.service.js.map +0 -1
  213. package/dist/cjs/integration/services/nestjs-config-integration.service.js +0 -316
  214. package/dist/cjs/integration/services/nestjs-config-integration.service.js.map +0 -1
  215. package/dist/cjs/integration/services/precedence-handler.service.js +0 -294
  216. package/dist/cjs/integration/services/precedence-handler.service.js.map +0 -1
  217. package/dist/cjs/integration/services/validation-integration.service.js +0 -591
  218. package/dist/cjs/integration/services/validation-integration.service.js.map +0 -1
  219. package/dist/cjs/integration/utils/config-integration.util.js +0 -283
  220. package/dist/cjs/integration/utils/config-integration.util.js.map +0 -1
  221. package/dist/cjs/integration/utils/index.js.map +0 -1
  222. package/dist/cjs/interfaces/config-loader.interface.js +0 -3
  223. package/dist/cjs/interfaces/config-loader.interface.js.map +0 -1
  224. package/dist/cjs/interfaces/config-service.interface.js +0 -11
  225. package/dist/cjs/interfaces/config-service.interface.js.map +0 -1
  226. package/dist/cjs/interfaces/default-schema.interface.js +0 -63
  227. package/dist/cjs/interfaces/default-schema.interface.js.map +0 -1
  228. package/dist/cjs/interfaces/errors.interface.js +0 -77
  229. package/dist/cjs/interfaces/errors.interface.js.map +0 -1
  230. package/dist/cjs/interfaces/index.js +0 -25
  231. package/dist/cjs/interfaces/index.js.map +0 -1
  232. package/dist/cjs/interfaces/module-options.interface.js +0 -3
  233. package/dist/cjs/interfaces/module-options.interface.js.map +0 -1
  234. package/dist/cjs/loaders/environment.loader.js +0 -59
  235. package/dist/cjs/loaders/environment.loader.js.map +0 -1
  236. package/dist/cjs/loaders/secrets-manager.loader.js +0 -122
  237. package/dist/cjs/loaders/secrets-manager.loader.js.map +0 -1
  238. package/dist/cjs/loaders/ssm-parameter-store.loader.js +0 -146
  239. package/dist/cjs/loaders/ssm-parameter-store.loader.js.map +0 -1
  240. package/dist/cjs/services/config.service.js +0 -297
  241. package/dist/cjs/services/config.service.js.map +0 -1
  242. package/dist/cjs/utils/validation.util.js +0 -114
  243. package/dist/cjs/utils/validation.util.js.map +0 -1
  244. package/dist/esm/config.module.js +0 -175
  245. package/dist/esm/config.module.js.map +0 -1
  246. package/dist/esm/index.js +0 -18
  247. package/dist/esm/index.js.map +0 -1
  248. package/dist/esm/integration/index.js +0 -7
  249. package/dist/esm/integration/index.js.map +0 -1
  250. package/dist/esm/integration/interfaces/configuration-factory.interface.js +0 -2
  251. package/dist/esm/integration/interfaces/configuration-factory.interface.js.map +0 -1
  252. package/dist/esm/integration/interfaces/configuration-source.interface.js +0 -2
  253. package/dist/esm/integration/interfaces/configuration-source.interface.js.map +0 -1
  254. package/dist/esm/integration/interfaces/index.js +0 -10
  255. package/dist/esm/integration/interfaces/index.js.map +0 -1
  256. package/dist/esm/integration/interfaces/integration-options.interface.js +0 -2
  257. package/dist/esm/integration/interfaces/integration-options.interface.js.map +0 -1
  258. package/dist/esm/integration/interfaces/integration-state.interface.js +0 -2
  259. package/dist/esm/integration/interfaces/integration-state.interface.js.map +0 -1
  260. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
  261. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js.map +0 -1
  262. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js +0 -2
  263. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js.map +0 -1
  264. package/dist/esm/integration/interfaces/typed-configuration.interface.js +0 -3
  265. package/dist/esm/integration/interfaces/typed-configuration.interface.js.map +0 -1
  266. package/dist/esm/integration/interfaces/utility-types.interface.js +0 -44
  267. package/dist/esm/integration/interfaces/utility-types.interface.js.map +0 -1
  268. package/dist/esm/integration/nestjs-config-integration.module.js +0 -121
  269. package/dist/esm/integration/nestjs-config-integration.module.js.map +0 -1
  270. package/dist/esm/integration/providers/aws-configuration-loader.service.js +0 -588
  271. package/dist/esm/integration/providers/aws-configuration-loader.service.js.map +0 -1
  272. package/dist/esm/integration/providers/configuration-factory.provider.js +0 -380
  273. package/dist/esm/integration/providers/configuration-factory.provider.js.map +0 -1
  274. package/dist/esm/integration/providers/index.js +0 -4
  275. package/dist/esm/integration/providers/index.js.map +0 -1
  276. package/dist/esm/integration/services/async-config-helper.service.js +0 -353
  277. package/dist/esm/integration/services/async-config-helper.service.js.map +0 -1
  278. package/dist/esm/integration/services/error-handler.service.js +0 -262
  279. package/dist/esm/integration/services/error-handler.service.js.map +0 -1
  280. package/dist/esm/integration/services/factory-registration.service.js +0 -509
  281. package/dist/esm/integration/services/factory-registration.service.js.map +0 -1
  282. package/dist/esm/integration/services/index.js +0 -10
  283. package/dist/esm/integration/services/index.js.map +0 -1
  284. package/dist/esm/integration/services/integration-state.service.js +0 -80
  285. package/dist/esm/integration/services/integration-state.service.js.map +0 -1
  286. package/dist/esm/integration/services/namespace-handler.service.js +0 -464
  287. package/dist/esm/integration/services/namespace-handler.service.js.map +0 -1
  288. package/dist/esm/integration/services/nestjs-config-integration.service.js +0 -313
  289. package/dist/esm/integration/services/nestjs-config-integration.service.js.map +0 -1
  290. package/dist/esm/integration/services/precedence-handler.service.js +0 -291
  291. package/dist/esm/integration/services/precedence-handler.service.js.map +0 -1
  292. package/dist/esm/integration/services/validation-integration.service.js +0 -585
  293. package/dist/esm/integration/services/validation-integration.service.js.map +0 -1
  294. package/dist/esm/integration/utils/config-integration.util.js +0 -240
  295. package/dist/esm/integration/utils/config-integration.util.js.map +0 -1
  296. package/dist/esm/integration/utils/index.js +0 -3
  297. package/dist/esm/integration/utils/index.js.map +0 -1
  298. package/dist/esm/interfaces/config-loader.interface.js +0 -2
  299. package/dist/esm/interfaces/config-loader.interface.js.map +0 -1
  300. package/dist/esm/interfaces/config-service.interface.js +0 -7
  301. package/dist/esm/interfaces/config-service.interface.js.map +0 -1
  302. package/dist/esm/interfaces/default-schema.interface.js +0 -59
  303. package/dist/esm/interfaces/default-schema.interface.js.map +0 -1
  304. package/dist/esm/interfaces/errors.interface.js +0 -69
  305. package/dist/esm/interfaces/errors.interface.js.map +0 -1
  306. package/dist/esm/interfaces/index.js +0 -9
  307. package/dist/esm/interfaces/index.js.map +0 -1
  308. package/dist/esm/interfaces/module-options.interface.js +0 -2
  309. package/dist/esm/interfaces/module-options.interface.js.map +0 -1
  310. package/dist/esm/loaders/environment.loader.js +0 -55
  311. package/dist/esm/loaders/environment.loader.js.map +0 -1
  312. package/dist/esm/loaders/secrets-manager.loader.js +0 -118
  313. package/dist/esm/loaders/secrets-manager.loader.js.map +0 -1
  314. package/dist/esm/loaders/ssm-parameter-store.loader.js +0 -142
  315. package/dist/esm/loaders/ssm-parameter-store.loader.js.map +0 -1
  316. package/dist/esm/services/config.service.js +0 -261
  317. package/dist/esm/services/config.service.js.map +0 -1
  318. package/dist/esm/utils/validation.util.js +0 -110
  319. package/dist/esm/utils/validation.util.js.map +0 -1
  320. package/dist/types/config.module.d.ts.map +0 -1
  321. package/dist/types/index.d.ts.map +0 -1
  322. package/dist/types/integration/index.d.ts.map +0 -1
  323. package/dist/types/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
  324. package/dist/types/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
  325. package/dist/types/integration/interfaces/index.d.ts.map +0 -1
  326. package/dist/types/integration/interfaces/integration-options.interface.d.ts.map +0 -1
  327. package/dist/types/integration/interfaces/integration-state.interface.d.ts.map +0 -1
  328. package/dist/types/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
  329. package/dist/types/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
  330. package/dist/types/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
  331. package/dist/types/integration/interfaces/utility-types.interface.d.ts.map +0 -1
  332. package/dist/types/integration/nestjs-config-integration.module.d.ts.map +0 -1
  333. package/dist/types/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
  334. package/dist/types/integration/providers/configuration-factory.provider.d.ts.map +0 -1
  335. package/dist/types/integration/providers/index.d.ts.map +0 -1
  336. package/dist/types/integration/services/async-config-helper.service.d.ts.map +0 -1
  337. package/dist/types/integration/services/error-handler.service.d.ts.map +0 -1
  338. package/dist/types/integration/services/factory-registration.service.d.ts.map +0 -1
  339. package/dist/types/integration/services/index.d.ts.map +0 -1
  340. package/dist/types/integration/services/integration-state.service.d.ts.map +0 -1
  341. package/dist/types/integration/services/namespace-handler.service.d.ts.map +0 -1
  342. package/dist/types/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
  343. package/dist/types/integration/services/precedence-handler.service.d.ts.map +0 -1
  344. package/dist/types/integration/services/validation-integration.service.d.ts.map +0 -1
  345. package/dist/types/integration/utils/config-integration.util.d.ts.map +0 -1
  346. package/dist/types/integration/utils/index.d.ts.map +0 -1
  347. package/dist/types/interfaces/config-loader.interface.d.ts +0 -22
  348. package/dist/types/interfaces/config-loader.interface.d.ts.map +0 -1
  349. package/dist/types/interfaces/config-service.interface.d.ts.map +0 -1
  350. package/dist/types/interfaces/default-schema.interface.d.ts.map +0 -1
  351. package/dist/types/interfaces/errors.interface.d.ts +0 -38
  352. package/dist/types/interfaces/errors.interface.d.ts.map +0 -1
  353. package/dist/types/interfaces/index.d.ts +0 -6
  354. package/dist/types/interfaces/index.d.ts.map +0 -1
  355. package/dist/types/interfaces/module-options.interface.d.ts.map +0 -1
  356. package/dist/types/loaders/environment.loader.d.ts +0 -26
  357. package/dist/types/loaders/environment.loader.d.ts.map +0 -1
  358. package/dist/types/loaders/secrets-manager.loader.d.ts +0 -52
  359. package/dist/types/loaders/secrets-manager.loader.d.ts.map +0 -1
  360. package/dist/types/loaders/ssm-parameter-store.loader.d.ts +0 -68
  361. package/dist/types/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
  362. package/dist/types/services/config.service.d.ts +0 -94
  363. package/dist/types/services/config.service.d.ts.map +0 -1
  364. package/dist/types/utils/validation.util.d.ts.map +0 -1
  365. /package/dist/types/{integration → nestjs-config-aws/src/integration}/index.d.ts +0 -0
  366. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/configuration-factory.interface.d.ts +0 -0
  367. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/configuration-source.interface.d.ts +0 -0
  368. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/index.d.ts +0 -0
  369. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/integration-options.interface.d.ts +0 -0
  370. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/integration-state.interface.d.ts +0 -0
  371. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/nestjs-config-compatibility.interface.d.ts +0 -0
  372. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/nestjs-config-integration.interface.d.ts +0 -0
  373. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/typed-configuration.interface.d.ts +0 -0
  374. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/utility-types.interface.d.ts +0 -0
  375. /package/dist/types/{integration → nestjs-config-aws/src/integration}/nestjs-config-integration.module.d.ts +0 -0
  376. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/aws-configuration-loader.service.d.ts +0 -0
  377. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/configuration-factory.provider.d.ts +0 -0
  378. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/index.d.ts +0 -0
  379. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/async-config-helper.service.d.ts +0 -0
  380. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/error-handler.service.d.ts +0 -0
  381. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/factory-registration.service.d.ts +0 -0
  382. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/index.d.ts +0 -0
  383. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/integration-state.service.d.ts +0 -0
  384. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/namespace-handler.service.d.ts +0 -0
  385. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/nestjs-config-integration.service.d.ts +0 -0
  386. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/precedence-handler.service.d.ts +0 -0
  387. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/validation-integration.service.d.ts +0 -0
  388. /package/dist/types/{integration → nestjs-config-aws/src/integration}/utils/config-integration.util.d.ts +0 -0
  389. /package/dist/types/{integration → nestjs-config-aws/src/integration}/utils/index.d.ts +0 -0
  390. /package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/config-service.interface.d.ts +0 -0
  391. /package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/module-options.interface.d.ts +0 -0
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var ConfigModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ConfigModule = exports.NEST_CONFIG_AWS_OPTIONS = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const config_aws_1 = require("@dyanet/config-aws");
13
+ const config_service_interface_1 = require("./interfaces/config-service.interface");
14
+ const default_schema_interface_1 = require("./interfaces/default-schema.interface");
15
+ const config_service_1 = require("./services/config.service");
16
+ /**
17
+ * Token for injecting module options
18
+ */
19
+ exports.NEST_CONFIG_AWS_OPTIONS = 'NEST_CONFIG_AWS_OPTIONS';
20
+ /**
21
+ * NestJS module for AWS-integrated configuration management.
22
+ * Provides global configuration service with support for environment variables,
23
+ * AWS Secrets Manager, and AWS Systems Manager Parameter Store.
24
+ */
25
+ let ConfigModule = ConfigModule_1 = class ConfigModule {
26
+ /**
27
+ * Create a synchronous configuration module with provided options.
28
+ *
29
+ * @param options - Configuration options for the module
30
+ * @returns Dynamic module configuration
31
+ */
32
+ static forRoot(options = {}) {
33
+ const configServiceProvider = this.createConfigServiceProvider(options);
34
+ return {
35
+ module: ConfigModule_1,
36
+ providers: [
37
+ {
38
+ provide: exports.NEST_CONFIG_AWS_OPTIONS,
39
+ useValue: options,
40
+ },
41
+ configServiceProvider,
42
+ ],
43
+ exports: [config_service_interface_1.ConfigService],
44
+ global: true,
45
+ };
46
+ }
47
+ /**
48
+ * Create an asynchronous configuration module with factory-based options.
49
+ * Useful when configuration options depend on other services or async operations.
50
+ *
51
+ * @param options - Async configuration options with factory function
52
+ * @returns Dynamic module configuration
53
+ */
54
+ static forRootAsync(options) {
55
+ const asyncProviders = this.createAsyncProviders(options);
56
+ return {
57
+ module: ConfigModule_1,
58
+ imports: options.imports || [],
59
+ providers: [
60
+ ...asyncProviders,
61
+ this.createAsyncConfigServiceProvider(),
62
+ ],
63
+ exports: [config_service_interface_1.ConfigService],
64
+ global: true,
65
+ };
66
+ }
67
+ /**
68
+ * Create the ConfigService provider for synchronous module registration.
69
+ */
70
+ static createConfigServiceProvider(options) {
71
+ return {
72
+ provide: config_service_interface_1.ConfigService,
73
+ useFactory: async () => {
74
+ // Create loaders based on configuration
75
+ const loaders = this.createLoaders(options);
76
+ // Create ConfigService options
77
+ const serviceOptions = {
78
+ schema: options.schema || default_schema_interface_1.defaultConfigSchema,
79
+ loaders,
80
+ validateOnLoad: !options.ignoreValidationErrors,
81
+ enableLogging: true,
82
+ };
83
+ // Create and initialize the service
84
+ const configService = new config_service_1.ConfigServiceImpl(serviceOptions);
85
+ // Initialize configuration loading if not in sync mode
86
+ if (!options.loadSync) {
87
+ await configService.initialize();
88
+ }
89
+ return configService;
90
+ },
91
+ };
92
+ }
93
+ /**
94
+ * Create providers for asynchronous module registration.
95
+ */
96
+ static createAsyncProviders(options) {
97
+ return [
98
+ {
99
+ provide: exports.NEST_CONFIG_AWS_OPTIONS,
100
+ useFactory: options.useFactory,
101
+ inject: options.inject || [],
102
+ },
103
+ ];
104
+ }
105
+ /**
106
+ * Create the ConfigService provider for asynchronous module registration.
107
+ */
108
+ static createAsyncConfigServiceProvider() {
109
+ return {
110
+ provide: config_service_interface_1.ConfigService,
111
+ useFactory: async (options) => {
112
+ // Create loaders based on configuration
113
+ const loaders = this.createLoaders(options);
114
+ // Create ConfigService options
115
+ const serviceOptions = {
116
+ schema: options.schema || default_schema_interface_1.defaultConfigSchema,
117
+ loaders,
118
+ validateOnLoad: !options.ignoreValidationErrors,
119
+ enableLogging: true,
120
+ };
121
+ // Create and initialize the service
122
+ const configService = new config_service_1.ConfigServiceImpl(serviceOptions);
123
+ // Initialize configuration loading if not in sync mode
124
+ if (!options.loadSync) {
125
+ await configService.initialize();
126
+ }
127
+ return configService;
128
+ },
129
+ inject: [exports.NEST_CONFIG_AWS_OPTIONS],
130
+ };
131
+ }
132
+ /**
133
+ * Create configuration loaders based on module options.
134
+ * Uses loaders from @dyanet/config-aws core package.
135
+ */
136
+ static createLoaders(options) {
137
+ const loaders = [];
138
+ // Always add environment loader first (lowest precedence)
139
+ loaders.push(new config_aws_1.EnvironmentLoader({ prefix: options.envPrefix }));
140
+ // Add Secrets Manager loader if enabled
141
+ if (options.secretsManagerConfig?.enabled !== false) {
142
+ const secretsConfig = {
143
+ region: options.secretsManagerConfig?.region,
144
+ // Map paths to environment mapping if provided
145
+ environmentMapping: options.secretsManagerConfig?.paths ? {
146
+ development: options.secretsManagerConfig.paths.development || 'dev',
147
+ test: options.secretsManagerConfig.paths.test || 'test',
148
+ production: options.secretsManagerConfig.paths.production || 'production',
149
+ } : undefined,
150
+ };
151
+ loaders.push(new config_aws_1.SecretsManagerLoader(secretsConfig));
152
+ }
153
+ // Add SSM Parameter Store loader if enabled
154
+ if (options.ssmConfig?.enabled !== false) {
155
+ const ssmConfig = {
156
+ region: options.ssmConfig?.region,
157
+ withDecryption: options.ssmConfig?.decrypt,
158
+ // Map paths to environment mapping if provided
159
+ environmentMapping: options.ssmConfig?.paths ? {
160
+ development: options.ssmConfig.paths.development || 'dev',
161
+ test: options.ssmConfig.paths.test || 'test',
162
+ production: options.ssmConfig.paths.production || 'production',
163
+ } : undefined,
164
+ };
165
+ loaders.push(new config_aws_1.SSMParameterStoreLoader(ssmConfig));
166
+ }
167
+ return loaders;
168
+ }
169
+ };
170
+ exports.ConfigModule = ConfigModule;
171
+ exports.ConfigModule = ConfigModule = ConfigModule_1 = __decorate([
172
+ (0, common_1.Global)(),
173
+ (0, common_1.Module)({})
174
+ ], ConfigModule);
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUU7QUFDekUsbURBQW9IO0FBRXBILG9GQUFzRTtBQUV0RSxvRkFBaUc7QUFDakcsOERBQW9GO0FBRXBGOztHQUVHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQztBQUVqRTs7OztHQUlHO0FBR0ksSUFBTSxZQUFZLG9CQUFsQixNQUFNLFlBQVk7SUFDdkI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUNaLFVBQXlDLEVBQUU7UUFFM0MsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEUsT0FBTztZQUNMLE1BQU0sRUFBRSxjQUFZO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsK0JBQXVCO29CQUNoQyxRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0QscUJBQXFCO2FBQ3RCO1lBQ0QsT0FBTyxFQUFFLENBQUMsd0NBQWEsQ0FBQztZQUN4QixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FDakIsT0FBMkM7UUFFM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELE9BQU87WUFDTCxNQUFNLEVBQUUsY0FBWTtZQUNwQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTthQUN4QztZQUNELE9BQU8sRUFBRSxDQUFDLHdDQUFhLENBQUM7WUFDeEIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLDJCQUEyQixDQUN4QyxPQUFzQztRQUV0QyxPQUFPO1lBQ0wsT0FBTyxFQUFFLHdDQUFhO1lBQ3RCLFVBQVUsRUFBRSxLQUFLLElBQStCLEVBQUU7Z0JBQ2hELHdDQUF3QztnQkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsK0JBQStCO2dCQUMvQixNQUFNLGNBQWMsR0FBNEI7b0JBQzlDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFLLDhDQUEyQjtvQkFDdEQsT0FBTztvQkFDUCxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCO29CQUMvQyxhQUFhLEVBQUUsSUFBSTtpQkFDcEIsQ0FBQztnQkFFRixvQ0FBb0M7Z0JBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksa0NBQWlCLENBQUksY0FBYyxDQUFDLENBQUM7Z0JBRS9ELHVEQUF1RDtnQkFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7Z0JBRUQsT0FBTyxhQUFpQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUNqQyxPQUEyQztRQUUzQyxPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLCtCQUF1QjtnQkFDaEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxnQ0FBZ0M7UUFDN0MsT0FBTztZQUNMLE9BQU8sRUFBRSx3Q0FBYTtZQUN0QixVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQW1DLEVBQTBCLEVBQUU7Z0JBQ2hGLHdDQUF3QztnQkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsK0JBQStCO2dCQUMvQixNQUFNLGNBQWMsR0FBeUI7b0JBQzNDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLDhDQUFtQjtvQkFDN0MsT0FBTztvQkFDUCxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCO29CQUMvQyxhQUFhLEVBQUUsSUFBSTtpQkFDcEIsQ0FBQztnQkFFRixvQ0FBb0M7Z0JBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksa0NBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBRTVELHVEQUF1RDtnQkFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7Z0JBRUQsT0FBTyxhQUE4QixDQUFDO1lBQ3hDLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQywrQkFBdUIsQ0FBQztTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyxhQUFhLENBQUksT0FBc0M7UUFDcEUsTUFBTSxPQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUVuQywwREFBMEQ7UUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLDhCQUFpQixDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkUsd0NBQXdDO1FBQ3hDLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNwRCxNQUFNLGFBQWEsR0FBRztnQkFDcEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxNQUFNO2dCQUM1QywrQ0FBK0M7Z0JBQy9DLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN4RCxXQUFXLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSztvQkFDcEUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU07b0JBQ3ZELFVBQVUsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxZQUFZO2lCQUMxRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2QsQ0FBQztZQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxpQ0FBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN6QyxNQUFNLFNBQVMsR0FBRztnQkFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTTtnQkFDakMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTztnQkFDMUMsK0NBQStDO2dCQUMvQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQzdDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSztvQkFDekQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNO29CQUM1QyxVQUFVLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLFlBQVk7aUJBQy9ELENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDZCxDQUFDO1lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLG9DQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFBO0FBN0tZLG9DQUFZO3VCQUFaLFlBQVk7SUFGeEIsSUFBQSxlQUFNLEdBQUU7SUFDUixJQUFBLGVBQU0sRUFBQyxFQUFFLENBQUM7R0FDRSxZQUFZLENBNkt4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNNb2R1bGUsIEdsb2JhbCwgTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlnTG9hZGVyLCBFbnZpcm9ubWVudExvYWRlciwgU2VjcmV0c01hbmFnZXJMb2FkZXIsIFNTTVBhcmFtZXRlclN0b3JlTG9hZGVyIH0gZnJvbSAnQGR5YW5ldC9jb25maWctYXdzJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLXNlcnZpY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTmVzdENvbmZpZ0F3c01vZHVsZU9wdGlvbnMsIE5lc3RDb25maWdBd3NNb2R1bGVBc3luY09wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ1NjaGVtYSwgZGVmYXVsdENvbmZpZ1NjaGVtYSB9IGZyb20gJy4vaW50ZXJmYWNlcy9kZWZhdWx0LXNjaGVtYS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlSW1wbCwgQ29uZmlnU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBUb2tlbiBmb3IgaW5qZWN0aW5nIG1vZHVsZSBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTkVTVF9DT05GSUdfQVdTX09QVElPTlMgPSAnTkVTVF9DT05GSUdfQVdTX09QVElPTlMnO1xyXG5cclxuLyoqXHJcbiAqIE5lc3RKUyBtb2R1bGUgZm9yIEFXUy1pbnRlZ3JhdGVkIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudC5cclxuICogUHJvdmlkZXMgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gc2VydmljZSB3aXRoIHN1cHBvcnQgZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyxcclxuICogQVdTIFNlY3JldHMgTWFuYWdlciwgYW5kIEFXUyBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlLlxyXG4gKi9cclxuQEdsb2JhbCgpXHJcbkBNb2R1bGUoe30pXHJcbmV4cG9ydCBjbGFzcyBDb25maWdNb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN5bmNocm9ub3VzIGNvbmZpZ3VyYXRpb24gbW9kdWxlIHdpdGggcHJvdmlkZWQgb3B0aW9ucy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG1vZHVsZVxyXG4gICAqIEByZXR1cm5zIER5bmFtaWMgbW9kdWxlIGNvbmZpZ3VyYXRpb25cclxuICAgKi9cclxuICBzdGF0aWMgZm9yUm9vdDxUID0gRGVmYXVsdENvbmZpZ1NjaGVtYT4oXHJcbiAgICBvcHRpb25zOiBOZXN0Q29uZmlnQXdzTW9kdWxlT3B0aW9uczxUPiA9IHt9XHJcbiAgKTogRHluYW1pY01vZHVsZSB7XHJcbiAgICBjb25zdCBjb25maWdTZXJ2aWNlUHJvdmlkZXIgPSB0aGlzLmNyZWF0ZUNvbmZpZ1NlcnZpY2VQcm92aWRlcihvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2R1bGU6IENvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkVTVF9DT05GSUdfQVdTX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbmZpZ1NlcnZpY2VQcm92aWRlcixcclxuICAgICAgXSxcclxuICAgICAgZXhwb3J0czogW0NvbmZpZ1NlcnZpY2VdLFxyXG4gICAgICBnbG9iYWw6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIGFzeW5jaHJvbm91cyBjb25maWd1cmF0aW9uIG1vZHVsZSB3aXRoIGZhY3RvcnktYmFzZWQgb3B0aW9ucy5cclxuICAgKiBVc2VmdWwgd2hlbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgZGVwZW5kIG9uIG90aGVyIHNlcnZpY2VzIG9yIGFzeW5jIG9wZXJhdGlvbnMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBBc3luYyBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aCBmYWN0b3J5IGZ1bmN0aW9uXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290QXN5bmM8VCA9IERlZmF1bHRDb25maWdTY2hlbWE+KFxyXG4gICAgb3B0aW9uczogTmVzdENvbmZpZ0F3c01vZHVsZUFzeW5jT3B0aW9uczxUPlxyXG4gICk6IER5bmFtaWNNb2R1bGUge1xyXG4gICAgY29uc3QgYXN5bmNQcm92aWRlcnMgPSB0aGlzLmNyZWF0ZUFzeW5jUHJvdmlkZXJzKG9wdGlvbnMpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1vZHVsZTogQ29uZmlnTW9kdWxlLFxyXG4gICAgICBpbXBvcnRzOiBvcHRpb25zLmltcG9ydHMgfHwgW10sXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIC4uLmFzeW5jUHJvdmlkZXJzLFxyXG4gICAgICAgIHRoaXMuY3JlYXRlQXN5bmNDb25maWdTZXJ2aWNlUHJvdmlkZXIoKSxcclxuICAgICAgXSxcclxuICAgICAgZXhwb3J0czogW0NvbmZpZ1NlcnZpY2VdLFxyXG4gICAgICBnbG9iYWw6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBDb25maWdTZXJ2aWNlIHByb3ZpZGVyIGZvciBzeW5jaHJvbm91cyBtb2R1bGUgcmVnaXN0cmF0aW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUNvbmZpZ1NlcnZpY2VQcm92aWRlcjxUPihcclxuICAgIG9wdGlvbnM6IE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zPFQ+XHJcbiAgKTogUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcHJvdmlkZTogQ29uZmlnU2VydmljZSxcclxuICAgICAgdXNlRmFjdG9yeTogYXN5bmMgKCk6IFByb21pc2U8Q29uZmlnU2VydmljZTxUPj4gPT4ge1xyXG4gICAgICAgIC8vIENyZWF0ZSBsb2FkZXJzIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cclxuICAgICAgICBjb25zdCBsb2FkZXJzID0gdGhpcy5jcmVhdGVMb2FkZXJzKG9wdGlvbnMpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgQ29uZmlnU2VydmljZSBvcHRpb25zXHJcbiAgICAgICAgY29uc3Qgc2VydmljZU9wdGlvbnM6IENvbmZpZ1NlcnZpY2VPcHRpb25zPFQ+ID0ge1xyXG4gICAgICAgICAgc2NoZW1hOiBvcHRpb25zLnNjaGVtYSB8fCAoZGVmYXVsdENvbmZpZ1NjaGVtYSBhcyBhbnkpLFxyXG4gICAgICAgICAgbG9hZGVycyxcclxuICAgICAgICAgIHZhbGlkYXRlT25Mb2FkOiAhb3B0aW9ucy5pZ25vcmVWYWxpZGF0aW9uRXJyb3JzLFxyXG4gICAgICAgICAgZW5hYmxlTG9nZ2luZzogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgYW5kIGluaXRpYWxpemUgdGhlIHNlcnZpY2VcclxuICAgICAgICBjb25zdCBjb25maWdTZXJ2aWNlID0gbmV3IENvbmZpZ1NlcnZpY2VJbXBsPFQ+KHNlcnZpY2VPcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBjb25maWd1cmF0aW9uIGxvYWRpbmcgaWYgbm90IGluIHN5bmMgbW9kZVxyXG4gICAgICAgIGlmICghb3B0aW9ucy5sb2FkU3luYykge1xyXG4gICAgICAgICAgYXdhaXQgY29uZmlnU2VydmljZS5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY29uZmlnU2VydmljZSBhcyBDb25maWdTZXJ2aWNlPFQ+O1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBwcm92aWRlcnMgZm9yIGFzeW5jaHJvbm91cyBtb2R1bGUgcmVnaXN0cmF0aW9uLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFzeW5jUHJvdmlkZXJzPFQ+KFxyXG4gICAgb3B0aW9uczogTmVzdENvbmZpZ0F3c01vZHVsZUFzeW5jT3B0aW9uczxUPlxyXG4gICk6IFByb3ZpZGVyW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5FU1RfQ09ORklHX0FXU19PUFRJT05TLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IG9wdGlvbnMudXNlRmFjdG9yeSxcclxuICAgICAgICBpbmplY3Q6IG9wdGlvbnMuaW5qZWN0IHx8IFtdLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgQ29uZmlnU2VydmljZSBwcm92aWRlciBmb3IgYXN5bmNocm9ub3VzIG1vZHVsZSByZWdpc3RyYXRpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNDb25maWdTZXJ2aWNlUHJvdmlkZXIoKTogUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcHJvdmlkZTogQ29uZmlnU2VydmljZSxcclxuICAgICAgdXNlRmFjdG9yeTogYXN5bmMgKG9wdGlvbnM6IE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zKTogUHJvbWlzZTxDb25maWdTZXJ2aWNlPiA9PiB7XHJcbiAgICAgICAgLy8gQ3JlYXRlIGxvYWRlcnMgYmFzZWQgb24gY29uZmlndXJhdGlvblxyXG4gICAgICAgIGNvbnN0IGxvYWRlcnMgPSB0aGlzLmNyZWF0ZUxvYWRlcnMob3B0aW9ucyk7XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSBDb25maWdTZXJ2aWNlIG9wdGlvbnNcclxuICAgICAgICBjb25zdCBzZXJ2aWNlT3B0aW9uczogQ29uZmlnU2VydmljZU9wdGlvbnMgPSB7XHJcbiAgICAgICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hIHx8IGRlZmF1bHRDb25maWdTY2hlbWEsXHJcbiAgICAgICAgICBsb2FkZXJzLFxyXG4gICAgICAgICAgdmFsaWRhdGVPbkxvYWQ6ICFvcHRpb25zLmlnbm9yZVZhbGlkYXRpb25FcnJvcnMsXHJcbiAgICAgICAgICBlbmFibGVMb2dnaW5nOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB0aGUgc2VydmljZVxyXG4gICAgICAgIGNvbnN0IGNvbmZpZ1NlcnZpY2UgPSBuZXcgQ29uZmlnU2VydmljZUltcGwoc2VydmljZU9wdGlvbnMpO1xyXG5cclxuICAgICAgICAvLyBJbml0aWFsaXplIGNvbmZpZ3VyYXRpb24gbG9hZGluZyBpZiBub3QgaW4gc3luYyBtb2RlXHJcbiAgICAgICAgaWYgKCFvcHRpb25zLmxvYWRTeW5jKSB7XHJcbiAgICAgICAgICBhd2FpdCBjb25maWdTZXJ2aWNlLmluaXRpYWxpemUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb25maWdTZXJ2aWNlIGFzIENvbmZpZ1NlcnZpY2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGluamVjdDogW05FU1RfQ09ORklHX0FXU19PUFRJT05TXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgY29uZmlndXJhdGlvbiBsb2FkZXJzIGJhc2VkIG9uIG1vZHVsZSBvcHRpb25zLlxyXG4gICAqIFVzZXMgbG9hZGVycyBmcm9tIEBkeWFuZXQvY29uZmlnLWF3cyBjb3JlIHBhY2thZ2UuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlTG9hZGVyczxUPihvcHRpb25zOiBOZXN0Q29uZmlnQXdzTW9kdWxlT3B0aW9uczxUPik6IENvbmZpZ0xvYWRlcltdIHtcclxuICAgIGNvbnN0IGxvYWRlcnM6IENvbmZpZ0xvYWRlcltdID0gW107XHJcblxyXG4gICAgLy8gQWx3YXlzIGFkZCBlbnZpcm9ubWVudCBsb2FkZXIgZmlyc3QgKGxvd2VzdCBwcmVjZWRlbmNlKVxyXG4gICAgbG9hZGVycy5wdXNoKG5ldyBFbnZpcm9ubWVudExvYWRlcih7IHByZWZpeDogb3B0aW9ucy5lbnZQcmVmaXggfSkpO1xyXG5cclxuICAgIC8vIEFkZCBTZWNyZXRzIE1hbmFnZXIgbG9hZGVyIGlmIGVuYWJsZWRcclxuICAgIGlmIChvcHRpb25zLnNlY3JldHNNYW5hZ2VyQ29uZmlnPy5lbmFibGVkICE9PSBmYWxzZSkge1xyXG4gICAgICBjb25zdCBzZWNyZXRzQ29uZmlnID0ge1xyXG4gICAgICAgIHJlZ2lvbjogb3B0aW9ucy5zZWNyZXRzTWFuYWdlckNvbmZpZz8ucmVnaW9uLFxyXG4gICAgICAgIC8vIE1hcCBwYXRocyB0byBlbnZpcm9ubWVudCBtYXBwaW5nIGlmIHByb3ZpZGVkXHJcbiAgICAgICAgZW52aXJvbm1lbnRNYXBwaW5nOiBvcHRpb25zLnNlY3JldHNNYW5hZ2VyQ29uZmlnPy5wYXRocyA/IHtcclxuICAgICAgICAgIGRldmVsb3BtZW50OiBvcHRpb25zLnNlY3JldHNNYW5hZ2VyQ29uZmlnLnBhdGhzLmRldmVsb3BtZW50IHx8ICdkZXYnLFxyXG4gICAgICAgICAgdGVzdDogb3B0aW9ucy5zZWNyZXRzTWFuYWdlckNvbmZpZy5wYXRocy50ZXN0IHx8ICd0ZXN0JyxcclxuICAgICAgICAgIHByb2R1Y3Rpb246IG9wdGlvbnMuc2VjcmV0c01hbmFnZXJDb25maWcucGF0aHMucHJvZHVjdGlvbiB8fCAncHJvZHVjdGlvbicsXHJcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGxvYWRlcnMucHVzaChuZXcgU2VjcmV0c01hbmFnZXJMb2FkZXIoc2VjcmV0c0NvbmZpZykpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCBTU00gUGFyYW1ldGVyIFN0b3JlIGxvYWRlciBpZiBlbmFibGVkXHJcbiAgICBpZiAob3B0aW9ucy5zc21Db25maWc/LmVuYWJsZWQgIT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHNzbUNvbmZpZyA9IHtcclxuICAgICAgICByZWdpb246IG9wdGlvbnMuc3NtQ29uZmlnPy5yZWdpb24sXHJcbiAgICAgICAgd2l0aERlY3J5cHRpb246IG9wdGlvbnMuc3NtQ29uZmlnPy5kZWNyeXB0LFxyXG4gICAgICAgIC8vIE1hcCBwYXRocyB0byBlbnZpcm9ubWVudCBtYXBwaW5nIGlmIHByb3ZpZGVkXHJcbiAgICAgICAgZW52aXJvbm1lbnRNYXBwaW5nOiBvcHRpb25zLnNzbUNvbmZpZz8ucGF0aHMgPyB7XHJcbiAgICAgICAgICBkZXZlbG9wbWVudDogb3B0aW9ucy5zc21Db25maWcucGF0aHMuZGV2ZWxvcG1lbnQgfHwgJ2RldicsXHJcbiAgICAgICAgICB0ZXN0OiBvcHRpb25zLnNzbUNvbmZpZy5wYXRocy50ZXN0IHx8ICd0ZXN0JyxcclxuICAgICAgICAgIHByb2R1Y3Rpb246IG9wdGlvbnMuc3NtQ29uZmlnLnBhdGhzLnByb2R1Y3Rpb24gfHwgJ3Byb2R1Y3Rpb24nLFxyXG4gICAgICAgIH0gOiB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBsb2FkZXJzLnB1c2gobmV3IFNTTVBhcmFtZXRlclN0b3JlTG9hZGVyKHNzbUNvbmZpZykpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsb2FkZXJzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.NestConfigAwsIntegrationModule = exports.createTypeSafeConfigFactory = exports.TransformConfig = exports.ValidateConfig = exports.ConfigClass = exports.ConfigProperty = exports.InjectEnhancedConfig = exports.isCacheEntry = exports.isValidationResult = exports.hasMetadata = exports.isLocalSource = exports.isAwsSource = exports.EnvFileParser = exports.ConfigValidationUtil = exports.MissingConfigurationError = exports.ConfigurationLoadError = exports.AWSServiceError = exports.ValidationError = exports.ConfigurationError = exports.ConfigManager = exports.SSMParameterStoreLoader = exports.SecretsManagerLoader = exports.S3Loader = exports.EnvFileLoader = exports.EnvironmentLoader = void 0;
18
+ // Re-export all public types from @dyanet/config-aws core package
19
+ var config_aws_1 = require("@dyanet/config-aws");
20
+ // Loaders
21
+ Object.defineProperty(exports, "EnvironmentLoader", { enumerable: true, get: function () { return config_aws_1.EnvironmentLoader; } });
22
+ Object.defineProperty(exports, "EnvFileLoader", { enumerable: true, get: function () { return config_aws_1.EnvFileLoader; } });
23
+ Object.defineProperty(exports, "S3Loader", { enumerable: true, get: function () { return config_aws_1.S3Loader; } });
24
+ Object.defineProperty(exports, "SecretsManagerLoader", { enumerable: true, get: function () { return config_aws_1.SecretsManagerLoader; } });
25
+ Object.defineProperty(exports, "SSMParameterStoreLoader", { enumerable: true, get: function () { return config_aws_1.SSMParameterStoreLoader; } });
26
+ // ConfigManager
27
+ Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return config_aws_1.ConfigManager; } });
28
+ // Error classes
29
+ Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return config_aws_1.ConfigurationError; } });
30
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return config_aws_1.ValidationError; } });
31
+ Object.defineProperty(exports, "AWSServiceError", { enumerable: true, get: function () { return config_aws_1.AWSServiceError; } });
32
+ Object.defineProperty(exports, "ConfigurationLoadError", { enumerable: true, get: function () { return config_aws_1.ConfigurationLoadError; } });
33
+ Object.defineProperty(exports, "MissingConfigurationError", { enumerable: true, get: function () { return config_aws_1.MissingConfigurationError; } });
34
+ // Utilities
35
+ Object.defineProperty(exports, "ConfigValidationUtil", { enumerable: true, get: function () { return config_aws_1.ConfigValidationUtil; } });
36
+ Object.defineProperty(exports, "EnvFileParser", { enumerable: true, get: function () { return config_aws_1.EnvFileParser; } });
37
+ // NestJS-specific exports
38
+ __exportStar(require("./config.module"), exports);
39
+ __exportStar(require("./interfaces"), exports);
40
+ __exportStar(require("./services/config.service"), exports);
41
+ // Integration module exports for @nestjs/config compatibility
42
+ __exportStar(require("./integration"), exports);
43
+ // Utility functions
44
+ var utility_types_interface_1 = require("./integration/interfaces/utility-types.interface");
45
+ Object.defineProperty(exports, "isAwsSource", { enumerable: true, get: function () { return utility_types_interface_1.isAwsSource; } });
46
+ Object.defineProperty(exports, "isLocalSource", { enumerable: true, get: function () { return utility_types_interface_1.isLocalSource; } });
47
+ Object.defineProperty(exports, "hasMetadata", { enumerable: true, get: function () { return utility_types_interface_1.hasMetadata; } });
48
+ Object.defineProperty(exports, "isValidationResult", { enumerable: true, get: function () { return utility_types_interface_1.isValidationResult; } });
49
+ Object.defineProperty(exports, "isCacheEntry", { enumerable: true, get: function () { return utility_types_interface_1.isCacheEntry; } });
50
+ // Decorators and utility functions
51
+ var nestjs_config_compatibility_interface_1 = require("./integration/interfaces/nestjs-config-compatibility.interface");
52
+ Object.defineProperty(exports, "InjectEnhancedConfig", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.InjectEnhancedConfig; } });
53
+ Object.defineProperty(exports, "ConfigProperty", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.ConfigProperty; } });
54
+ Object.defineProperty(exports, "ConfigClass", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.ConfigClass; } });
55
+ Object.defineProperty(exports, "ValidateConfig", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.ValidateConfig; } });
56
+ Object.defineProperty(exports, "TransformConfig", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.TransformConfig; } });
57
+ Object.defineProperty(exports, "createTypeSafeConfigFactory", { enumerable: true, get: function () { return nestjs_config_compatibility_interface_1.createTypeSafeConfigFactory; } });
58
+ // Explicit exports for better discoverability
59
+ var nestjs_config_integration_module_1 = require("./integration/nestjs-config-integration.module");
60
+ Object.defineProperty(exports, "NestConfigAwsIntegrationModule", { enumerable: true, get: function () { return nestjs_config_integration_module_1.NestConfigAwsIntegrationModule; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFBa0U7QUFDbEUsaURBcUI0QjtBQXBCMUIsVUFBVTtBQUNWLCtHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGFBQWEsT0FBQTtBQUNiLHNHQUFBLFFBQVEsT0FBQTtBQUNSLGtIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHFIQUFBLHVCQUF1QixPQUFBO0FBRXZCLGdCQUFnQjtBQUNoQiwyR0FBQSxhQUFhLE9BQUE7QUFFYixnQkFBZ0I7QUFDaEIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNkdBQUEsZUFBZSxPQUFBO0FBQ2YsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysb0hBQUEsc0JBQXNCLE9BQUE7QUFDdEIsdUhBQUEseUJBQXlCLE9BQUE7QUFFekIsWUFBWTtBQUNaLGtIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGFBQWEsT0FBQTtBQXVCZiwwQkFBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3Qiw0REFBMEM7QUFFMUMsOERBQThEO0FBQzlELGdEQUE4QjtBQUU5QixvQkFBb0I7QUFDcEIsNEZBTTBEO0FBTHhELHNIQUFBLFdBQVcsT0FBQTtBQUNYLHdIQUFBLGFBQWEsT0FBQTtBQUNiLHNIQUFBLFdBQVcsT0FBQTtBQUNYLDZIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHVIQUFBLFlBQVksT0FBQTtBQUdkLG1DQUFtQztBQUNuQyx3SEFPd0U7QUFOdEUsNklBQUEsb0JBQW9CLE9BQUE7QUFDcEIsdUlBQUEsY0FBYyxPQUFBO0FBQ2Qsb0lBQUEsV0FBVyxPQUFBO0FBQ1gsdUlBQUEsY0FBYyxPQUFBO0FBQ2Qsd0lBQUEsZUFBZSxPQUFBO0FBQ2Ysb0pBQUEsMkJBQTJCLE9BQUE7QUFHN0IsOENBQThDO0FBQzlDLG1HQUFnRztBQUF2RixrSkFBQSw4QkFBOEIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFJlLWV4cG9ydCBhbGwgcHVibGljIHR5cGVzIGZyb20gQGR5YW5ldC9jb25maWctYXdzIGNvcmUgcGFja2FnZVxyXG5leHBvcnQge1xyXG4gIC8vIExvYWRlcnNcclxuICBFbnZpcm9ubWVudExvYWRlcixcclxuICBFbnZGaWxlTG9hZGVyLFxyXG4gIFMzTG9hZGVyLFxyXG4gIFNlY3JldHNNYW5hZ2VyTG9hZGVyLFxyXG4gIFNTTVBhcmFtZXRlclN0b3JlTG9hZGVyLFxyXG4gIFxyXG4gIC8vIENvbmZpZ01hbmFnZXJcclxuICBDb25maWdNYW5hZ2VyLFxyXG4gIFxyXG4gIC8vIEVycm9yIGNsYXNzZXNcclxuICBDb25maWd1cmF0aW9uRXJyb3IsXHJcbiAgVmFsaWRhdGlvbkVycm9yLFxyXG4gIEFXU1NlcnZpY2VFcnJvcixcclxuICBDb25maWd1cmF0aW9uTG9hZEVycm9yLFxyXG4gIE1pc3NpbmdDb25maWd1cmF0aW9uRXJyb3IsXHJcbiAgXHJcbiAgLy8gVXRpbGl0aWVzXHJcbiAgQ29uZmlnVmFsaWRhdGlvblV0aWwsXHJcbiAgRW52RmlsZVBhcnNlcixcclxufSBmcm9tICdAZHlhbmV0L2NvbmZpZy1hd3MnO1xyXG5cclxuLy8gUmUtZXhwb3J0IHR5cGVzIGZyb20gQGR5YW5ldC9jb25maWctYXdzXHJcbmV4cG9ydCB0eXBlIHtcclxuICAvLyBDb3JlIGludGVyZmFjZXNcclxuICBDb25maWdMb2FkZXIsXHJcbiAgQ29uZmlnTWFuYWdlck9wdGlvbnMsXHJcbiAgTG9hZGVyUHJlY2VkZW5jZSxcclxuICBWZXJib3NlT3B0aW9ucyxcclxuICBQcmVjZWRlbmNlU3RyYXRlZ3ksXHJcbiAgQ29uZmlnTG9hZFJlc3VsdCxcclxuICBDb25maWdTb3VyY2VJbmZvIGFzIENvcmVDb25maWdTb3VyY2VJbmZvLFxyXG4gIExvZ2dlcixcclxuICBcclxuICAvLyBMb2FkZXIgY29uZmlnc1xyXG4gIEVudmlyb25tZW50TG9hZGVyQ29uZmlnLFxyXG4gIEVudkZpbGVMb2FkZXJDb25maWcsXHJcbiAgUzNMb2FkZXJDb25maWcsXHJcbiAgU2VjcmV0c01hbmFnZXJMb2FkZXJDb25maWcsXHJcbiAgU1NNUGFyYW1ldGVyU3RvcmVMb2FkZXJDb25maWcsXHJcbn0gZnJvbSAnQGR5YW5ldC9jb25maWctYXdzJztcclxuXHJcbi8vIE5lc3RKUy1zcGVjaWZpYyBleHBvcnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuLy8gSW50ZWdyYXRpb24gbW9kdWxlIGV4cG9ydHMgZm9yIEBuZXN0anMvY29uZmlnIGNvbXBhdGliaWxpdHlcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbic7XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uc1xyXG5leHBvcnQge1xyXG4gIGlzQXdzU291cmNlLFxyXG4gIGlzTG9jYWxTb3VyY2UsXHJcbiAgaGFzTWV0YWRhdGEsXHJcbiAgaXNWYWxpZGF0aW9uUmVzdWx0LFxyXG4gIGlzQ2FjaGVFbnRyeVxyXG59IGZyb20gJy4vaW50ZWdyYXRpb24vaW50ZXJmYWNlcy91dGlsaXR5LXR5cGVzLmludGVyZmFjZSc7XHJcblxyXG4vLyBEZWNvcmF0b3JzIGFuZCB1dGlsaXR5IGZ1bmN0aW9uc1xyXG5leHBvcnQge1xyXG4gIEluamVjdEVuaGFuY2VkQ29uZmlnLFxyXG4gIENvbmZpZ1Byb3BlcnR5LFxyXG4gIENvbmZpZ0NsYXNzLFxyXG4gIFZhbGlkYXRlQ29uZmlnLFxyXG4gIFRyYW5zZm9ybUNvbmZpZyxcclxuICBjcmVhdGVUeXBlU2FmZUNvbmZpZ0ZhY3RvcnlcclxufSBmcm9tICcuL2ludGVncmF0aW9uL2ludGVyZmFjZXMvbmVzdGpzLWNvbmZpZy1jb21wYXRpYmlsaXR5LmludGVyZmFjZSc7XHJcblxyXG4vLyBFeHBsaWNpdCBleHBvcnRzIGZvciBiZXR0ZXIgZGlzY292ZXJhYmlsaXR5XHJcbmV4cG9ydCB7IE5lc3RDb25maWdBd3NJbnRlZ3JhdGlvbk1vZHVsZSB9IGZyb20gJy4vaW50ZWdyYXRpb24vbmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5tb2R1bGUnO1xyXG5leHBvcnQgdHlwZSB7XHJcbiAgLy8gSW50ZWdyYXRpb24gT3B0aW9uc1xyXG4gIEludGVncmF0aW9uT3B0aW9ucyxcclxuICBBc3luY0ludGVncmF0aW9uT3B0aW9ucyxcclxuICBQcmVjZWRlbmNlUnVsZSxcclxuICBFcnJvckhhbmRsaW5nU3RyYXRlZ3ksXHJcbiAgRmFjdG9yeU9wdGlvbnMsXHJcblxyXG4gIC8vIENvbmZpZ3VyYXRpb24gRmFjdG9yeSBUeXBlc1xyXG4gIEF3c0NvbmZpZ3VyYXRpb25GYWN0b3J5LFxyXG4gIENvbmZpZ3VyYXRpb25GYWN0b3J5UHJvdmlkZXIsXHJcblxyXG4gIC8vIENvbmZpZ3VyYXRpb24gU291cmNlIFR5cGVzXHJcbiAgQ29uZmlndXJhdGlvblNvdXJjZSxcclxuICBDb25maWd1cmF0aW9uU291cmNlVHlwZSxcclxuXHJcbiAgLy8gSW50ZWdyYXRpb24gU3RhdGUgVHlwZXNcclxuICBJbnRlZ3JhdGlvblN0YXRlLFxyXG5cclxuICAvLyBUeXBlZCBDb25maWd1cmF0aW9uIFR5cGVzXHJcbiAgVHlwZWRDb25maWd1cmF0aW9uLFxyXG4gIFR5cGVkQ29uZmlndXJhdGlvbkZhY3RvcnksXHJcbiAgVHlwZWRDb25maWd1cmF0aW9uQWNjZXNzb3IsXHJcbiAgQ29uZmlndXJhdGlvblNjaGVtYSxcclxuICBUeXBlZENvbmZpZ3VyYXRpb25SZWdpc3RyeSxcclxuICBUeXBlZENvbmZpZ3VyYXRpb25PcHRpb25zLFxyXG4gIENvbmZpZ3VyYXRpb25UeXBlLFxyXG4gIFN0cm9uZ2x5VHlwZWRDb25maWcsXHJcbiAgQ29uZmlndXJhdGlvblZhbHVlLFxyXG4gIENvbmZpZ3VyYXRpb25QYXRoUmVzb2x2ZXIsXHJcblxyXG4gIC8vIE5lc3RKUyBDb25maWcgSW50ZWdyYXRpb24gVHlwZXNcclxuICBOZXN0SlNDb25maWdJbnRlZ3JhdGlvblNlcnZpY2UsXHJcbiAgRW5oYW5jZWRDb25maWdNb2R1bGVPcHRpb25zLFxyXG4gIEVuaGFuY2VkQXN5bmNDb25maWdNb2R1bGVPcHRpb25zLFxyXG4gIEVuaGFuY2VkQ29uZmlnTW9kdWxlRmFjdG9yeSxcclxuICBFbmhhbmNlZEFzeW5jQ29uZmlnTW9kdWxlRmFjdG9yeSxcclxuICBFbmhhbmNlZENvbmZpZ01vZHVsZU9wdGlvbnNGYWN0b3J5LFxyXG4gIEludGVncmF0aW9uU3RhdHVzLFxyXG4gIEF3c0NvbmZpZ3VyYXRpb25Mb2FkZXIsXHJcbiAgQ29uZmlndXJhdGlvbk1lcmdlcixcclxuICBBd3NDb25maWd1cmF0aW9uVmFsaWRhdG9yLFxyXG5cclxuICAvLyBDb21wYXRpYmlsaXR5IFR5cGVzXHJcbiAgRW5oYW5jZWRDb25maWdTZXJ2aWNlLFxyXG4gIENvbmZpZ1ZhbHVlV2l0aFNvdXJjZSxcclxuICBDb25maWdTb3VyY2VJbmZvLFxyXG4gIENvbmZpZ0hlYWx0aFN0YXR1cyxcclxuICBDb25maWdQcm9wZXJ0eU9wdGlvbnMsXHJcbiAgQ29uZmlnQ2xhc3NPcHRpb25zLFxyXG4gIENvbmZpZ1ZhbGlkYXRpb25PcHRpb25zLFxyXG4gIFR5cGVTYWZlQ29uZmlnRmFjdG9yeSxcclxuICBDb25maWdNb2R1bGVCdWlsZGVyLFxyXG4gIENvbmZpZ1Rlc3RpbmdVdGlscyxcclxuICBDb25maWdNb25pdG9yLFxyXG4gIENvbmZpZ01ldHJpY3MsXHJcbiAgQ29uZmlnRXZlbnQsXHJcbiAgQ29uZmlnQXVkaXRFbnRyeSxcclxuICBDb25maWdBdWRpdExvZ2dlcixcclxuXHJcbiAgLy8gVXRpbGl0eSBUeXBlc1xyXG4gIEV4dHJhY3RDb25maWdUeXBlLFxyXG4gIFR5cGVkQ29uZmlnU2VydmljZSxcclxuICBDb25maWd1cmF0aW9uTmFtZXNwYWNlUmVnaXN0cnksXHJcbiAgRGVlcFJlYWRvbmx5LFxyXG4gIFBhcnRpYWxEZWVwLFxyXG4gIFJlcXVpcmVkRGVlcCxcclxuICBDb25maWdQYXRoLFxyXG4gIENvbmZpZ1ZhbHVlLFxyXG4gIEF3c0NvbmZpZ1NvdXJjZSxcclxuICBMb2NhbENvbmZpZ1NvdXJjZSxcclxuICBBbGxDb25maWdTb3VyY2UsXHJcbiAgQ29uZmlnU291cmNlTWV0YWRhdGEsXHJcbiAgQ29uZmlnV2l0aFNvdXJjZSxcclxuICBFeHRyYWN0Q29uZmlnLFxyXG4gIENvbmZpZ0ZhY3RvcnlNYXAsXHJcbiAgRXh0cmFjdENvbmZpZ01hcCxcclxuICBOYW1lc3BhY2VDb25maWcsXHJcbiAgTXVsdGlOYW1lc3BhY2VDb25maWcsXHJcbiAgVmFsaWRhdGlvblJlc3VsdCxcclxuICBBc3luY1ZhbGlkYXRpb25SZXN1bHQsXHJcbiAgQ29uZmlnVHJhbnNmb3JtZXJGbixcclxuICBBc3luY0NvbmZpZ1RyYW5zZm9ybWVyRm4sXHJcbiAgQ29uZmlnUHJlZGljYXRlLFxyXG4gIEFzeW5jQ29uZmlnUHJlZGljYXRlLFxyXG4gIENvbmZpZ0J1aWxkZXIsXHJcbiAgQ29uZmlnRmx1ZW50QVBJXHJcbn0gZnJvbSAnLi9pbnRlZ3JhdGlvbi9pbnRlcmZhY2VzJztcclxuIl19
@@ -20,4 +20,4 @@ __exportStar(require("./nestjs-config-integration.module"), exports);
20
20
  __exportStar(require("./providers"), exports);
21
21
  __exportStar(require("./services"), exports);
22
22
  __exportStar(require("./utils"), exports);
23
- //# sourceMappingURL=index.js.map
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QjtBQUM3QiwrQ0FBNkI7QUFDN0IscUVBQW1EO0FBQ25ELDhDQUE0QjtBQUM1Qiw2Q0FBMkI7QUFDM0IsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSW50ZWdyYXRpb24gbW9kdWxlIGV4cG9ydHNcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnOyJdfQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1mYWN0b3J5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlZ3JhdGlvbi9pbnRlcmZhY2VzL2NvbmZpZ3VyYXRpb24tZmFjdG9yeS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ0ZhY3RvcnkgfSBmcm9tICdAbmVzdGpzL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Tb3VyY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFByZWNlZGVuY2VSdWxlIH0gZnJvbSAnLi9pbnRlZ3JhdGlvbi1vcHRpb25zLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogRW5oYW5jZWQgY29uZmlndXJhdGlvbiBmYWN0b3J5IHRoYXQgaW5jbHVkZXMgQVdTIGludGVncmF0aW9uIG1ldGFkYXRhLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBd3NDb25maWd1cmF0aW9uRmFjdG9yeSBleHRlbmRzIENvbmZpZ0ZhY3Rvcnkge1xyXG4gIC8qKiBPcHRpb25hbCBuYW1lc3BhY2UgZm9yIHRoZSBjb25maWd1cmF0aW9uICovXHJcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xyXG4gIC8qKiBTb3VyY2VzIHRoYXQgY29udHJpYnV0ZWQgdG8gdGhpcyBjb25maWd1cmF0aW9uICovXHJcbiAgc291cmNlczogQ29uZmlndXJhdGlvblNvdXJjZVtdO1xyXG4gIC8qKiBQcmVjZWRlbmNlIHJ1bGUgYXBwbGllZCB0byB0aGlzIGNvbmZpZ3VyYXRpb24gKi9cclxuICBwcmVjZWRlbmNlUnVsZTogUHJlY2VkZW5jZVJ1bGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlciBmb3IgY3JlYXRpbmcgY29uZmlndXJhdGlvbiBmYWN0b3JpZXMgdGhhdCBAbmVzdGpzL2NvbmZpZyBjYW4gY29uc3VtZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlciB7XHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgY29uZmlndXJhdGlvbiBmYWN0b3J5IGZvciBhIHNwZWNpZmljIG5hbWVzcGFjZS5cclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gZGF0YVxyXG4gICAqIEByZXR1cm5zIEEgY29uZmlndXJhdGlvbiBmYWN0b3J5XHJcbiAgICovXHJcbiAgY3JlYXRlRmFjdG9yeShuYW1lc3BhY2U6IHN0cmluZywgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogQ29uZmlnRmFjdG9yeTtcclxuICBcclxuICAvKipcclxuICAgKiBDcmVhdGUgbXVsdGlwbGUgbmFtZXNwYWNlZCBjb25maWd1cmF0aW9uIGZhY3Rvcmllcy5cclxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBvcmdhbml6ZWQgYnkgbmFtZXNwYWNlXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgY29uZmlndXJhdGlvbiBmYWN0b3JpZXNcclxuICAgKi9cclxuICBjcmVhdGVOYW1lc3BhY2VkRmFjdG9yaWVzKGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55Pik6IENvbmZpZ0ZhY3RvcnlbXTtcclxuICBcclxuICAvKipcclxuICAgKiBNZXJnZSBBV1MgY29uZmlndXJhdGlvbiB3aXRoIGV4aXN0aW5nIGxvY2FsIGNvbmZpZ3VyYXRpb24uXHJcbiAgICogQHBhcmFtIGF3c0NvbmZpZyAtIENvbmZpZ3VyYXRpb24gbG9hZGVkIGZyb20gQVdTIHNvdXJjZXNcclxuICAgKiBAcGFyYW0gbG9jYWxDb25maWcgLSBMb2NhbCBjb25maWd1cmF0aW9uIGRhdGFcclxuICAgKiBAcmV0dXJucyBNZXJnZWQgY29uZmlndXJhdGlvbiBkYXRhXHJcbiAgICovXHJcbiAgbWVyZ2VXaXRoRXhpc3RpbmcoXHJcbiAgICBhd3NDb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sIFxyXG4gICAgbG9jYWxDb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT5cclxuICApOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW4gZW5oYW5jZWQgQVdTIGNvbmZpZ3VyYXRpb24gZmFjdG9yeSB3aXRoIG1ldGFkYXRhLlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBPcHRpb25hbCBuYW1lc3BhY2UgZm9yIHRoZSBjb25maWd1cmF0aW9uXHJcbiAgICogQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIGRhdGFcclxuICAgKiBAcGFyYW0gc291cmNlcyAtIFNvdXJjZXMgdGhhdCBjb250cmlidXRlZCB0byB0aGlzIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0gcHJlY2VkZW5jZVJ1bGUgLSBQcmVjZWRlbmNlIHJ1bGUgYXBwbGllZCB0byB0aGlzIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcmV0dXJucyBFbmhhbmNlZCBBV1MgY29uZmlndXJhdGlvbiBmYWN0b3J5XHJcbiAgICovXHJcbiAgY3JlYXRlQXdzQ29uZmlndXJhdGlvbkZhY3RvcnkoXHJcbiAgICBuYW1lc3BhY2U6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcclxuICAgIHNvdXJjZXM6IENvbmZpZ3VyYXRpb25Tb3VyY2VbXSxcclxuICAgIHByZWNlZGVuY2VSdWxlOiBQcmVjZWRlbmNlUnVsZVxyXG4gICk6IEF3c0NvbmZpZ3VyYXRpb25GYWN0b3J5O1xyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgY29uZmlndXJhdGlvbiBmYWN0b3JpZXMgZnJvbSBtdWx0aXBsZSBzb3VyY2VzIHdpdGggcHJvcGVyIG9yZ2FuaXphdGlvbi5cclxuICAgKiBAcGFyYW0gc291cmNlQ29uZmlncyAtIE1hcCBvZiBzb3VyY2UgbmFtZSB0byBjb25maWd1cmF0aW9uIGRhdGFcclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIE9wdGlvbmFsIGxpc3Qgb2YgbmFtZXNwYWNlcyB0byBvcmdhbml6ZSBjb25maWd1cmF0aW9uXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgY29uZmlndXJhdGlvbiBmYWN0b3JpZXMgb3JnYW5pemVkIGJ5IG5hbWVzcGFjZVxyXG4gICAqL1xyXG4gIGNyZWF0ZUZhY3Rvcmllc0Zyb21Tb3VyY2VzKFxyXG4gICAgc291cmNlQ29uZmlnczogTWFwPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4sXHJcbiAgICBuYW1lc3BhY2VzPzogc3RyaW5nW11cclxuICApOiBDb25maWdGYWN0b3J5W107XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBjb25maWd1cmF0aW9uIGZhY3RvcmllcyBmcm9tIHNvdXJjZXMgd2l0aCBwcmVjZWRlbmNlIHJ1bGVzLlxyXG4gICAqIEBwYXJhbSBzb3VyY2VzIC0gQXJyYXkgb2YgY29uZmlndXJhdGlvbiBzb3VyY2VzXHJcbiAgICogQHBhcmFtIHByZWNlZGVuY2VSdWxlIC0gUHJlY2VkZW5jZSBydWxlIHRvIGFwcGx5XHJcbiAgICogQHBhcmFtIG5hbWVzcGFjZXMgLSBPcHRpb25hbCBsaXN0IG9mIG5hbWVzcGFjZXMgdG8gb3JnYW5pemUgY29uZmlndXJhdGlvblxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZmFjdG9yaWVzXHJcbiAgICovXHJcbiAgY3JlYXRlRmFjdG9yaWVzV2l0aFByZWNlZGVuY2UoXHJcbiAgICBzb3VyY2VzOiBDb25maWd1cmF0aW9uU291cmNlW10sXHJcbiAgICBwcmVjZWRlbmNlUnVsZTogUHJlY2VkZW5jZVJ1bGUsXHJcbiAgICBuYW1lc3BhY2VzPzogc3RyaW5nW11cclxuICApOiBDb25maWdGYWN0b3J5W107XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lcmdlIGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcmVjZWRlbmNlIHJ1bGUuXHJcbiAgICogQHBhcmFtIHNvdXJjZXMgLSBDb25maWd1cmF0aW9uIHNvdXJjZXNcclxuICAgKiBAcGFyYW0gcHJlY2VkZW5jZVJ1bGUgLSBQcmVjZWRlbmNlIHJ1bGUgdG8gYXBwbHlcclxuICAgKiBAcmV0dXJucyBNZXJnZWQgY29uZmlndXJhdGlvbiBkYXRhXHJcbiAgICovXHJcbiAgbWVyZ2VXaXRoUHJlY2VkZW5jZShcclxuICAgIHNvdXJjZXM6IENvbmZpZ3VyYXRpb25Tb3VyY2VbXSxcclxuICAgIHByZWNlZGVuY2VSdWxlOiBQcmVjZWRlbmNlUnVsZVxyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVncmF0aW9uL2ludGVyZmFjZXMvY29uZmlndXJhdGlvbi1zb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHlwZXMgb2YgY29uZmlndXJhdGlvbiBzb3VyY2VzIHN1cHBvcnRlZCBieSB0aGUgaW50ZWdyYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU291cmNlVHlwZSA9ICdlbnZpcm9ubWVudCcgfCAnc2VjcmV0cy1tYW5hZ2VyJyB8ICdzc20nIHwgJ2xvY2FsLWZpbGUnO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBjb25maWd1cmF0aW9uIHNvdXJjZSB3aXRoIG1ldGFkYXRhIGFib3V0IGl0cyBvcmlnaW4gYW5kIHN0YXRlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uU291cmNlIHtcclxuICAvKiogSHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbiBzb3VyY2UgKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFR5cGUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gc291cmNlICovXHJcbiAgdHlwZTogQ29uZmlndXJhdGlvblNvdXJjZVR5cGU7XHJcbiAgLyoqIFByaW9yaXR5IG9mIHRoaXMgc291cmNlIChoaWdoZXIgbnVtYmVycyBoYXZlIGhpZ2hlciBwcmlvcml0eSkgKi9cclxuICBwcmlvcml0eTogbnVtYmVyO1xyXG4gIC8qKiBUaGUgY29uZmlndXJhdGlvbiBkYXRhIGZyb20gdGhpcyBzb3VyY2UgKi9cclxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIC8qKiBPcHRpb25hbCBuYW1lc3BhY2UgZm9yIHRoaXMgY29uZmlndXJhdGlvbiAqL1xyXG4gIG5hbWVzcGFjZT86IHN0cmluZztcclxuICAvKiogVGltZXN0YW1wIHdoZW4gdGhpcyBjb25maWd1cmF0aW9uIHdhcyBsb2FkZWQgKi9cclxuICBsb2FkZWRBdDogRGF0ZTtcclxuICAvKiogQW55IGVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSBsb2FkaW5nIHRoaXMgc291cmNlICovXHJcbiAgZXJyb3JzPzogc3RyaW5nW107XHJcbn0iXX0=
@@ -23,4 +23,4 @@ __exportStar(require("./typed-configuration.interface"), exports);
23
23
  __exportStar(require("./nestjs-config-integration.interface"), exports);
24
24
  __exportStar(require("./nestjs-config-compatibility.interface"), exports);
25
25
  __exportStar(require("./utility-types.interface"), exports);
26
- //# sourceMappingURL=index.js.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLGtFQUFnRDtBQUNoRCxvRUFBa0Q7QUFDbEQsbUVBQWlEO0FBQ2pELGdFQUE4QztBQUM5QyxrRUFBZ0Q7QUFDaEQsd0VBQXNEO0FBQ3RELDBFQUF3RDtBQUN4RCw0REFBMEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbnRlZ3JhdGlvbiBpbnRlcmZhY2VzIGV4cG9ydHNcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbi1vcHRpb25zLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1mYWN0b3J5LmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1zb3VyY2UuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbi1zdGF0ZS5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVkLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmVzdGpzLWNvbmZpZy1jb21wYXRpYmlsaXR5LmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0eS10eXBlcy5pbnRlcmZhY2UnOyJdfQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy9pbnRlZ3JhdGlvbi1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0c01hbmFnZXJDb25maWcsIFNTTUNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBQcmVjZWRlbmNlIHJ1bGVzIGZvciBjb25maWd1cmF0aW9uIHNvdXJjZXMgd2hlbiB0aGUgc2FtZSBrZXkgZXhpc3RzIGluIG11bHRpcGxlIHNvdXJjZXMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBQcmVjZWRlbmNlUnVsZSA9ICdhd3MtZmlyc3QnIHwgJ2xvY2FsLWZpcnN0JyB8ICdtZXJnZSc7XHJcblxyXG4vKipcclxuICogRXJyb3IgaGFuZGxpbmcgc3RyYXRlZ3kgZm9yIHZhcmlvdXMgZmFpbHVyZSBzY2VuYXJpb3MuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEVycm9ySGFuZGxpbmdTdHJhdGVneSB7XHJcbiAgLyoqIEhvdyB0byBoYW5kbGUgQVdTIHNlcnZpY2UgdW5hdmFpbGFiaWxpdHkgKi9cclxuICBvbkF3c1VuYXZhaWxhYmxlOiAnZmFpbCcgfCAnd2FybicgfCAnc2lsZW50JztcclxuICAvKiogSG93IHRvIGhhbmRsZSBjb25maWd1cmF0aW9uIGVycm9ycyAqL1xyXG4gIG9uQ29uZmlndXJhdGlvbkVycm9yOiAnZmFpbCcgfCAnd2FybicgfCAndXNlLWRlZmF1bHQnO1xyXG4gIC8qKiBIb3cgdG8gaGFuZGxlIHZhbGlkYXRpb24gZXJyb3JzICovXHJcbiAgb25WYWxpZGF0aW9uRXJyb3I6ICdmYWlsJyB8ICd3YXJuJyB8ICdza2lwLWludmFsaWQnO1xyXG4gIC8qKiBXaGV0aGVyIHRvIGVuYWJsZSBkZXRhaWxlZCBsb2dnaW5nICovXHJcbiAgZW5hYmxlRGV0YWlsZWRMb2dnaW5nOiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogRmFjdG9yeSBvcHRpb25zIGZvciBAbmVzdGpzL2NvbmZpZyBjb21wYXRpYmlsaXR5LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBGYWN0b3J5T3B0aW9ucyB7XHJcbiAgLyoqIFdoZXRoZXIgdG8gY2FjaGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgKi9cclxuICBjYWNoZT86IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgdG8gZXhwYW5kIHZhcmlhYmxlcyBpbiBjb25maWd1cmF0aW9uIHZhbHVlcyAqL1xyXG4gIGV4cGFuZFZhcmlhYmxlcz86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBOZXN0SlMgQ29uZmlnIEFXUyBJbnRlZ3JhdGlvbiBtb2R1bGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uT3B0aW9ucyB7XHJcbiAgLy8gQVdTIENvbmZpZ3VyYXRpb25cclxuICAvKiogQ29uZmlndXJhdGlvbiBmb3IgQVdTIFNlY3JldHMgTWFuYWdlciBpbnRlZ3JhdGlvbiAqL1xyXG4gIHNlY3JldHNNYW5hZ2VyQ29uZmlnPzogU2VjcmV0c01hbmFnZXJDb25maWc7XHJcbiAgLyoqIENvbmZpZ3VyYXRpb24gZm9yIEFXUyBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlIGludGVncmF0aW9uICovXHJcbiAgc3NtQ29uZmlnPzogU1NNQ29uZmlnO1xyXG4gIFxyXG4gIC8vIEludGVncmF0aW9uIFNldHRpbmdzXHJcbiAgLyoqIFByZWNlZGVuY2UgcnVsZSBmb3IgY29uZmlndXJhdGlvbiBzb3VyY2VzICovXHJcbiAgcHJlY2VkZW5jZT86IFByZWNlZGVuY2VSdWxlO1xyXG4gIC8qKiBOYW1lc3BhY2VzIHRvIGxvYWQgY29uZmlndXJhdGlvbiBmb3IgKi9cclxuICBuYW1lc3BhY2VzPzogc3RyaW5nW107XHJcbiAgLyoqIFdoZXRoZXIgdG8gZW5hYmxlIGxvZ2dpbmcgKi9cclxuICBlbmFibGVMb2dnaW5nPzogYm9vbGVhbjtcclxuICBcclxuICAvLyBAbmVzdGpzL2NvbmZpZyBjb21wYXRpYmlsaXR5XHJcbiAgLyoqIFdoZXRoZXIgdG8gcmVnaXN0ZXIgdGhlIG1vZHVsZSBnbG9iYWxseSAqL1xyXG4gIHJlZ2lzdGVyR2xvYmFsbHk/OiBib29sZWFuO1xyXG4gIC8qKiBGYWN0b3J5IG9wdGlvbnMgZm9yIEBuZXN0anMvY29uZmlnIGNvbXBhdGliaWxpdHkgKi9cclxuICBmYWN0b3J5T3B0aW9ucz86IEZhY3RvcnlPcHRpb25zO1xyXG4gIFxyXG4gIC8vIEVycm9yIGhhbmRsaW5nXHJcbiAgLyoqIFdoZXRoZXIgdG8gZmFpbCBvbiBBV1MgZXJyb3JzICovXHJcbiAgZmFpbE9uQXdzRXJyb3I/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIHRvIGZhbGxiYWNrIHRvIGxvY2FsIGNvbmZpZ3VyYXRpb24gb24gQVdTIGVycm9ycyAqL1xyXG4gIGZhbGxiYWNrVG9Mb2NhbD86IGJvb2xlYW47XHJcbiAgLyoqIEVycm9yIGhhbmRsaW5nIHN0cmF0ZWd5ICovXHJcbiAgZXJyb3JIYW5kbGluZz86IEVycm9ySGFuZGxpbmdTdHJhdGVneTtcclxuICBcclxuICAvKiogUHJlZml4IGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGUuZy4sICdBUFBfJykgKi9cclxuICBlbnZQcmVmaXg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBc3luYyBmYWN0b3J5IG9wdGlvbnMgZm9yIGR5bmFtaWMgaW50ZWdyYXRpb24gbW9kdWxlIGNvbmZpZ3VyYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jSW50ZWdyYXRpb25PcHRpb25zIHtcclxuICAvKiogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgaW50ZWdyYXRpb24gb3B0aW9ucyAqL1xyXG4gIHVzZUZhY3Rvcnk6ICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxJbnRlZ3JhdGlvbk9wdGlvbnM+IHwgSW50ZWdyYXRpb25PcHRpb25zO1xyXG4gIFxyXG4gIC8qKiBEZXBlbmRlbmNpZXMgdG8gaW5qZWN0IGludG8gdGhlIGZhY3RvcnkgZnVuY3Rpb24gKi9cclxuICBpbmplY3Q/OiBhbnlbXTtcclxuICBcclxuICAvKiogSW1wb3J0cyByZXF1aXJlZCBmb3IgdGhlIGZhY3RvcnkgZnVuY3Rpb24gKi9cclxuICBpbXBvcnRzPzogYW55W107XHJcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tc3RhdGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVncmF0aW9uL2ludGVyZmFjZXMvaW50ZWdyYXRpb24tc3RhdGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uU291cmNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGludGVncmF0aW9uIG1vZHVsZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25TdGF0ZSB7XHJcbiAgLyoqIFdoZXRoZXIgdGhlIGludGVncmF0aW9uIGhhcyBiZWVuIGluaXRpYWxpemVkICovXHJcbiAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBBV1Mgc2VydmljZXMgYXJlIGF2YWlsYWJsZSAqL1xyXG4gIGF3c0F2YWlsYWJsZTogYm9vbGVhbjtcclxuICAvKiogTGlzdCBvZiBjb25maWd1cmF0aW9uIHNvdXJjZXMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkICovXHJcbiAgbG9hZGVkU291cmNlczogQ29uZmlndXJhdGlvblNvdXJjZVtdO1xyXG4gIC8qKiBMaXN0IG9mIGZhY3RvcnkgbmFtZXMgdGhhdCBoYXZlIGJlZW4gcmVnaXN0ZXJlZCB3aXRoIEBuZXN0anMvY29uZmlnICovXHJcbiAgcmVnaXN0ZXJlZEZhY3Rvcmllczogc3RyaW5nW107XHJcbiAgLyoqIEFueSBlcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uIG9yIG9wZXJhdGlvbiAqL1xyXG4gIGVycm9yczogc3RyaW5nW107XHJcbn0iXX0=
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectEnhancedConfig = void 0;
4
+ exports.ConfigProperty = ConfigProperty;
5
+ exports.ConfigClass = ConfigClass;
6
+ exports.ValidateConfig = ValidateConfig;
7
+ exports.TransformConfig = TransformConfig;
8
+ exports.createTypeSafeConfigFactory = createTypeSafeConfigFactory;
9
+ const config_1 = require("@nestjs/config");
10
+ /**
11
+ * Decorator for injecting enhanced config service.
12
+ */
13
+ const InjectEnhancedConfig = () => {
14
+ return (_target, _propertyKey, _parameterIndex) => {
15
+ // Implementation would be handled by the actual decorator
16
+ };
17
+ };
18
+ exports.InjectEnhancedConfig = InjectEnhancedConfig;
19
+ /**
20
+ * Configuration property decorator.
21
+ */
22
+ function ConfigProperty(options) {
23
+ return function (target, propertyKey) {
24
+ // Store metadata for the property
25
+ Reflect.defineMetadata('config:property', options, target, propertyKey);
26
+ };
27
+ }
28
+ /**
29
+ * Configuration class decorator.
30
+ */
31
+ function ConfigClass(options) {
32
+ return function (target) {
33
+ // Store metadata for the class
34
+ Reflect.defineMetadata('config:class', options || {}, target);
35
+ return target;
36
+ };
37
+ }
38
+ /**
39
+ * Configuration validation decorator.
40
+ */
41
+ function ValidateConfig(options) {
42
+ return function (target) {
43
+ // Store validation metadata
44
+ Reflect.defineMetadata('config:validation', options, target);
45
+ return target;
46
+ };
47
+ }
48
+ /**
49
+ * Configuration transformer decorator.
50
+ */
51
+ function TransformConfig(transformer) {
52
+ return function (target, propertyKey) {
53
+ // Store transformer metadata
54
+ Reflect.defineMetadata('config:transformer', transformer, target, propertyKey);
55
+ };
56
+ }
57
+ /**
58
+ * Create a type-safe configuration factory.
59
+ */
60
+ function createTypeSafeConfigFactory(key, factory) {
61
+ const configFactory = () => {
62
+ const configService = new config_1.ConfigService();
63
+ return factory(configService);
64
+ };
65
+ configFactory.KEY = key;
66
+ configFactory.asProvider = () => ({
67
+ provide: key,
68
+ useFactory: factory,
69
+ inject: [config_1.ConfigService],
70
+ });
71
+ return configFactory;
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGpzLWNvbmZpZy1jb21wYXRpYmlsaXR5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlZ3JhdGlvbi9pbnRlcmZhY2VzL25lc3Rqcy1jb25maWctY29tcGF0aWJpbGl0eS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0pBLHdDQUtDO0FBaUJELGtDQU1DO0FBaUJELHdDQU1DO0FBa0JELDBDQU9DO0FBa0JELGtFQWVDO0FBalFELDJDQUErQztBQXNIL0M7O0dBRUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEdBQXVCLEVBQUU7SUFDM0QsT0FBTyxDQUFDLE9BQVksRUFBRSxZQUF5QyxFQUFFLGVBQXVCLEVBQUUsRUFBRTtRQUMxRiwwREFBMEQ7SUFDNUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBSlcsUUFBQSxvQkFBb0Isd0JBSS9CO0FBb0JGOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE9BQThCO0lBQzNELE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBNEI7UUFDeEQsa0NBQWtDO1FBQ2xDLE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUM7QUFDSixDQUFDO0FBY0Q7O0dBRUc7QUFDSCxTQUFnQixXQUFXLENBQUMsT0FBNEI7SUFDdEQsT0FBTyxVQUE4QixNQUFTO1FBQzVDLCtCQUErQjtRQUMvQixPQUFPLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFjRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxPQUFnQztJQUM3RCxPQUFPLFVBQThCLE1BQVM7UUFDNUMsNEJBQTRCO1FBQzVCLE9BQU8sQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFlRDs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsV0FBK0M7SUFFL0MsT0FBTyxVQUFVLE1BQVcsRUFBRSxXQUE0QjtRQUN4RCw2QkFBNkI7UUFDN0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFlRDs7R0FFRztBQUNILFNBQWdCLDJCQUEyQixDQUN6QyxHQUFXLEVBQ1gsT0FBcUM7SUFFckMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksc0JBQWEsRUFBRSxDQUFDO1FBQzFDLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQztJQUNELGFBQXFCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNoQyxhQUFxQixDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxHQUFHO1FBQ1osVUFBVSxFQUFFLE9BQU87UUFDbkIsTUFBTSxFQUFFLENBQUMsc0JBQWEsQ0FBQztLQUN4QixDQUFDLENBQUM7SUFDSCxPQUFPLGFBQXlDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmVzdGpzL2NvbmZpZyc7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogRW5oYW5jZWQgQ29uZmlnU2VydmljZSB0aGF0IHByb3ZpZGVzIEFXUyBpbnRlZ3JhdGlvbiBjYXBhYmlsaXRpZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEVuaGFuY2VkQ29uZmlnU2VydmljZSBleHRlbmRzIENvbmZpZ1NlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIEdldCBjb25maWd1cmF0aW9uIHZhbHVlIHdpdGggQVdTIHNvdXJjZSBpbmZvcm1hdGlvbi5cclxuICAgKiBAcGFyYW0gcHJvcGVydHlQYXRoIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0eSBwYXRoXHJcbiAgICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIERlZmF1bHQgdmFsdWUgaWYgcHJvcGVydHkgaXMgbm90IGZvdW5kXHJcbiAgICogQHJldHVybnMgQ29uZmlndXJhdGlvbiB2YWx1ZSB3aXRoIHNvdXJjZSBtZXRhZGF0YVxyXG4gICAqL1xyXG4gIGdldFdpdGhTb3VyY2U8VCA9IGFueT4ocHJvcGVydHlQYXRoOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBDb25maWdWYWx1ZVdpdGhTb3VyY2U8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb25maWd1cmF0aW9uIHZhbHVlIGZyb20gQVdTIHNvdXJjZXMgb25seS5cclxuICAgKiBAcGFyYW0gcHJvcGVydHlQYXRoIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0eSBwYXRoXHJcbiAgICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIERlZmF1bHQgdmFsdWUgaWYgcHJvcGVydHkgaXMgbm90IGZvdW5kXHJcbiAgICogQHJldHVybnMgQ29uZmlndXJhdGlvbiB2YWx1ZSBmcm9tIEFXUyBzb3VyY2VzXHJcbiAgICovXHJcbiAgZ2V0RnJvbUF3czxUID0gYW55Pihwcm9wZXJ0eVBhdGg6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb25maWd1cmF0aW9uIHZhbHVlIGZyb20gbG9jYWwgc291cmNlcyBvbmx5LlxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eVBhdGggLSBDb25maWd1cmF0aW9uIHByb3BlcnR5IHBhdGhcclxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gRGVmYXVsdCB2YWx1ZSBpZiBwcm9wZXJ0eSBpcyBub3QgZm91bmRcclxuICAgKiBAcmV0dXJucyBDb25maWd1cmF0aW9uIHZhbHVlIGZyb20gbG9jYWwgc291cmNlc1xyXG4gICAqL1xyXG4gIGdldEZyb21Mb2NhbDxUID0gYW55Pihwcm9wZXJ0eVBhdGg6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGEgY29uZmlndXJhdGlvbiB2YWx1ZSBjb21lcyBmcm9tIEFXUyBzb3VyY2VzLlxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eVBhdGggLSBDb25maWd1cmF0aW9uIHByb3BlcnR5IHBhdGhcclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHZhbHVlIGNvbWVzIGZyb20gQVdTLCBmYWxzZSBvdGhlcndpc2VcclxuICAgKi9cclxuICBpc0Zyb21Bd3MocHJvcGVydHlQYXRoOiBzdHJpbmcpOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIGNvbmZpZ3VyYXRpb24ga2V5cyBmcm9tIEFXUyBzb3VyY2VzLlxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24ga2V5cyBmcm9tIEFXUyBzb3VyY2VzXHJcbiAgICovXHJcbiAgZ2V0QXdzS2V5cygpOiBzdHJpbmdbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBjb25maWd1cmF0aW9uIGtleXMgZnJvbSBsb2NhbCBzb3VyY2VzLlxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24ga2V5cyBmcm9tIGxvY2FsIHNvdXJjZXNcclxuICAgKi9cclxuICBnZXRMb2NhbEtleXMoKTogc3RyaW5nW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb25maWd1cmF0aW9uIHNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgYSBwcm9wZXJ0eS5cclxuICAgKiBAcGFyYW0gcHJvcGVydHlQYXRoIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0eSBwYXRoXHJcbiAgICogQHJldHVybnMgU291cmNlIGluZm9ybWF0aW9uIG9yIHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldFNvdXJjZUluZm8ocHJvcGVydHlQYXRoOiBzdHJpbmcpOiBDb25maWdTb3VyY2VJbmZvIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoIEFXUyBjb25maWd1cmF0aW9uIHZhbHVlcy5cclxuICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiByZWZyZXNoIGlzIGNvbXBsZXRlXHJcbiAgICovXHJcbiAgcmVmcmVzaEF3c0NvbmZpZygpOiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgY29uZmlndXJhdGlvbiBoZWFsdGggc3RhdHVzLlxyXG4gICAqIEByZXR1cm5zIENvbmZpZ3VyYXRpb24gaGVhbHRoIGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgZ2V0SGVhbHRoU3RhdHVzKCk6IENvbmZpZ0hlYWx0aFN0YXR1cztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdmFsdWUgd2l0aCBzb3VyY2UgbWV0YWRhdGEuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1ZhbHVlV2l0aFNvdXJjZTxUID0gYW55PiB7XHJcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIHZhbHVlICovXHJcbiAgdmFsdWU6IFQ7XHJcbiAgLyoqIFNvdXJjZSBpbmZvcm1hdGlvbiAqL1xyXG4gIHNvdXJjZTogQ29uZmlnU291cmNlSW5mbztcclxuICAvKiogV2hldGhlciB0aGUgdmFsdWUgd2FzIGZvdW5kICovXHJcbiAgZm91bmQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHNvdXJjZSBpbmZvcm1hdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnU291cmNlSW5mbyB7XHJcbiAgLyoqIFNvdXJjZSB0eXBlICovXHJcbiAgdHlwZTogJ2Vudmlyb25tZW50JyB8ICdzZWNyZXRzLW1hbmFnZXInIHwgJ3NzbScgfCAnbG9jYWwtZmlsZSc7XHJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhbiBBV1Mgc291cmNlICovXHJcbiAgaXNBd3M6IGJvb2xlYW47XHJcbiAgLyoqIFNvdXJjZSBwcmlvcml0eSAqL1xyXG4gIHByaW9yaXR5OiBudW1iZXI7XHJcbiAgLyoqIE5hbWVzcGFjZSBpZiBhcHBsaWNhYmxlICovXHJcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xyXG4gIC8qKiBXaGVuIHRoZSB2YWx1ZSB3YXMgbG9hZGVkICovXHJcbiAgbG9hZGVkQXQ6IERhdGU7XHJcbiAgLyoqIE9yaWdpbmFsIGtleSB1c2VkIHRvIGxvYWQgdGhlIHZhbHVlICovXHJcbiAgb3JpZ2luYWxLZXk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGhlYWx0aCBzdGF0dXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0hlYWx0aFN0YXR1cyB7XHJcbiAgLyoqIE92ZXJhbGwgaGVhbHRoIHN0YXR1cyAqL1xyXG4gIGhlYWx0aHk6IGJvb2xlYW47XHJcbiAgLyoqIEFXUyBzZXJ2aWNlcyBhdmFpbGFiaWxpdHkgKi9cclxuICBhd3NBdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgLyoqIE51bWJlciBvZiBsb2FkZWQgY29uZmlndXJhdGlvbiBzb3VyY2VzICovXHJcbiAgc291cmNlc0xvYWRlZDogbnVtYmVyO1xyXG4gIC8qKiBOdW1iZXIgb2YgZmFpbGVkIHNvdXJjZXMgKi9cclxuICBzb3VyY2VzRmFpbGVkOiBudW1iZXI7XHJcbiAgLyoqIExhc3Qgc3VjY2Vzc2Z1bCBBV1MgbG9hZCB0aW1lICovXHJcbiAgbGFzdEF3c0xvYWQ/OiBEYXRlO1xyXG4gIC8qKiBBbnkgaGVhbHRoIGlzc3VlcyAqL1xyXG4gIGlzc3Vlczogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWNvcmF0b3IgZm9yIGluamVjdGluZyBlbmhhbmNlZCBjb25maWcgc2VydmljZS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBJbmplY3RFbmhhbmNlZENvbmZpZyA9ICgpOiBQYXJhbWV0ZXJEZWNvcmF0b3IgPT4ge1xyXG4gIHJldHVybiAoX3RhcmdldDogYW55LCBfcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCB8IHVuZGVmaW5lZCwgX3BhcmFtZXRlckluZGV4OiBudW1iZXIpID0+IHtcclxuICAgIC8vIEltcGxlbWVudGF0aW9uIHdvdWxkIGJlIGhhbmRsZWQgYnkgdGhlIGFjdHVhbCBkZWNvcmF0b3JcclxuICB9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydHkgZGVjb3JhdG9yIGZvciB0eXBlLXNhZmUgY29uZmlndXJhdGlvbiBhY2Nlc3MuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1Byb3BlcnR5T3B0aW9ucyB7XHJcbiAgLyoqIENvbmZpZ3VyYXRpb24ga2V5ICovXHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgLyoqIERlZmF1bHQgdmFsdWUgKi9cclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgLyoqIFdoZXRoZXIgdG8gcmVxdWlyZSB0aGUgcHJvcGVydHkgKi9cclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgLyoqIFZhbGlkYXRpb24gZnVuY3Rpb24gKi9cclxuICB2YWxpZGF0ZT86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIC8qKiBUcmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiAqL1xyXG4gIHRyYW5zZm9ybT86ICh2YWx1ZTogYW55KSA9PiBhbnk7XHJcbiAgLyoqIFdoZXRoZXIgdG8gcHJlZmVyIEFXUyBzb3VyY2VzICovXHJcbiAgcHJlZmVyQXdzPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydHkgZGVjb3JhdG9yLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpZ1Byb3BlcnR5KG9wdGlvbnM6IENvbmZpZ1Byb3BlcnR5T3B0aW9ucyk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSB7XHJcbiAgICAvLyBTdG9yZSBtZXRhZGF0YSBmb3IgdGhlIHByb3BlcnR5XHJcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdjb25maWc6cHJvcGVydHknLCBvcHRpb25zLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBjbGFzcyBkZWNvcmF0b3IgZm9yIGF1dG9tYXRpYyBjb25maWd1cmF0aW9uIGluamVjdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ2xhc3NPcHRpb25zIHtcclxuICAvKiogQ29uZmlndXJhdGlvbiBuYW1lc3BhY2UgKi9cclxuICBuYW1lc3BhY2U/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdG8gdmFsaWRhdGUgYWxsIHByb3BlcnRpZXMgKi9cclxuICB2YWxpZGF0ZT86IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgdG8gcHJlZmVyIEFXUyBzb3VyY2VzICovXHJcbiAgcHJlZmVyQXdzPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gY2xhc3MgZGVjb3JhdG9yLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpZ0NsYXNzKG9wdGlvbnM/OiBDb25maWdDbGFzc09wdGlvbnMpOiBDbGFzc0RlY29yYXRvciB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgRnVuY3Rpb24+KHRhcmdldDogVCkge1xyXG4gICAgLy8gU3RvcmUgbWV0YWRhdGEgZm9yIHRoZSBjbGFzc1xyXG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSgnY29uZmlnOmNsYXNzJywgb3B0aW9ucyB8fCB7fSwgdGFyZ2V0KTtcclxuICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiBkZWNvcmF0b3IuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1ZhbGlkYXRpb25PcHRpb25zIHtcclxuICAvKiogVmFsaWRhdGlvbiBzY2hlbWEgKi9cclxuICBzY2hlbWE/OiBhbnk7XHJcbiAgLyoqIEN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9uICovXHJcbiAgdmFsaWRhdG9yPzogKGNvbmZpZzogYW55KSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcclxuICAvKiogV2hldGhlciB0byB0aHJvdyBvbiB2YWxpZGF0aW9uIGZhaWx1cmUgKi9cclxuICB0aHJvd09uRXJyb3I/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIGRlY29yYXRvci5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBWYWxpZGF0ZUNvbmZpZyhvcHRpb25zOiBDb25maWdWYWxpZGF0aW9uT3B0aW9ucyk6IENsYXNzRGVjb3JhdG9yIHtcclxuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBGdW5jdGlvbj4odGFyZ2V0OiBUKSB7XHJcbiAgICAvLyBTdG9yZSB2YWxpZGF0aW9uIG1ldGFkYXRhXHJcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdjb25maWc6dmFsaWRhdGlvbicsIG9wdGlvbnMsIHRhcmdldCk7XHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHRyYW5zZm9ybWVyIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnVHJhbnNmb3JtZXI8VElucHV0ID0gYW55LCBUT3V0cHV0ID0gYW55PiB7XHJcbiAgLyoqXHJcbiAgICogVHJhbnNmb3JtIGNvbmZpZ3VyYXRpb24gdmFsdWUuXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gSW5wdXQgdmFsdWVcclxuICAgKiBAcGFyYW0ga2V5IC0gQ29uZmlndXJhdGlvbiBrZXlcclxuICAgKiBAcmV0dXJucyBUcmFuc2Zvcm1lZCB2YWx1ZVxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogVElucHV0LCBrZXk6IHN0cmluZyk6IFRPdXRwdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHRyYW5zZm9ybWVyIGRlY29yYXRvci5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBUcmFuc2Zvcm1Db25maWc8VElucHV0LCBUT3V0cHV0PihcclxuICB0cmFuc2Zvcm1lcjogQ29uZmlnVHJhbnNmb3JtZXI8VElucHV0LCBUT3V0cHV0PlxyXG4pOiBQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkge1xyXG4gICAgLy8gU3RvcmUgdHJhbnNmb3JtZXIgbWV0YWRhdGFcclxuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ2NvbmZpZzp0cmFuc2Zvcm1lcicsIHRyYW5zZm9ybWVyLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmYWN0b3J5IHdpdGggZW5oYW5jZWQgdHlwZSBzYWZldHkuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTYWZlQ29uZmlnRmFjdG9yeTxUID0gYW55PiB7XHJcbiAgKCk6IFQ7XHJcbiAgS0VZOiBzdHJpbmc7XHJcbiAgYXNQcm92aWRlcigpOiB7XHJcbiAgICBwcm92aWRlOiBzdHJpbmc7XHJcbiAgICB1c2VGYWN0b3J5OiAoKSA9PiBUO1xyXG4gICAgaW5qZWN0OiBbQ29uZmlnU2VydmljZV07XHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhIHR5cGUtc2FmZSBjb25maWd1cmF0aW9uIGZhY3RvcnkuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHlwZVNhZmVDb25maWdGYWN0b3J5PFQ+KFxyXG4gIGtleTogc3RyaW5nLFxyXG4gIGZhY3Rvcnk6IChjb25maWc6IENvbmZpZ1NlcnZpY2UpID0+IFRcclxuKTogVHlwZVNhZmVDb25maWdGYWN0b3J5PFQ+IHtcclxuICBjb25zdCBjb25maWdGYWN0b3J5ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgY29uZmlnU2VydmljZSA9IG5ldyBDb25maWdTZXJ2aWNlKCk7XHJcbiAgICByZXR1cm4gZmFjdG9yeShjb25maWdTZXJ2aWNlKTtcclxuICB9O1xyXG4gIChjb25maWdGYWN0b3J5IGFzIGFueSkuS0VZID0ga2V5O1xyXG4gIChjb25maWdGYWN0b3J5IGFzIGFueSkuYXNQcm92aWRlciA9ICgpID0+ICh7XHJcbiAgICBwcm92aWRlOiBrZXksXHJcbiAgICB1c2VGYWN0b3J5OiBmYWN0b3J5LFxyXG4gICAgaW5qZWN0OiBbQ29uZmlnU2VydmljZV0sXHJcbiAgfSk7XHJcbiAgcmV0dXJuIGNvbmZpZ0ZhY3RvcnkgYXMgVHlwZVNhZmVDb25maWdGYWN0b3J5PFQ+O1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBtb2R1bGUgYnVpbGRlciBmb3IgZW5oYW5jZWQgc2V0dXAuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ01vZHVsZUJ1aWxkZXIge1xyXG4gIC8qKlxyXG4gICAqIEFkZCBBV1MgaW50ZWdyYXRpb24uXHJcbiAgICovXHJcbiAgd2l0aEF3c0ludGVncmF0aW9uKG9wdGlvbnM6IGFueSk6IENvbmZpZ01vZHVsZUJ1aWxkZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBjb25maWd1cmF0aW9uIGZhY3Rvcmllcy5cclxuICAgKi9cclxuICB3aXRoRmFjdG9yaWVzKGZhY3RvcmllczogVHlwZVNhZmVDb25maWdGYWN0b3J5W10pOiBDb25maWdNb2R1bGVCdWlsZGVyO1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgdmFsaWRhdGlvbi5cclxuICAgKi9cclxuICB3aXRoVmFsaWRhdGlvbihzY2hlbWE6IGFueSk6IENvbmZpZ01vZHVsZUJ1aWxkZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhcyBnbG9iYWwgbW9kdWxlLlxyXG4gICAqL1xyXG4gIGFzR2xvYmFsKCk6IENvbmZpZ01vZHVsZUJ1aWxkZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZSBjYWNoaW5nLlxyXG4gICAqL1xyXG4gIHdpdGhDYWNoaW5nKCk6IENvbmZpZ01vZHVsZUJ1aWxkZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkIHRoZSBtb2R1bGUuXHJcbiAgICovXHJcbiAgYnVpbGQoKTogVHlwZTxhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB0ZXN0aW5nIHV0aWxpdGllcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnVGVzdGluZ1V0aWxzIHtcclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBtb2NrIGNvbmZpZyBzZXJ2aWNlLlxyXG4gICAqL1xyXG4gIGNyZWF0ZU1vY2tDb25maWdTZXJ2aWNlKGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55Pik6IEVuaGFuY2VkQ29uZmlnU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRlc3QgY29uZmlndXJhdGlvbiBtb2R1bGUuXHJcbiAgICovXHJcbiAgY3JlYXRlVGVzdENvbmZpZ01vZHVsZShjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBUeXBlPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vY2sgQVdTIGNvbmZpZ3VyYXRpb24gc291cmNlcy5cclxuICAgKi9cclxuICBtb2NrQXdzU291cmNlcyhjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBhbGwgbW9ja3MuXHJcbiAgICovXHJcbiAgcmVzZXRNb2NrcygpOiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBtb25pdG9yaW5nIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTW9uaXRvciB7XHJcbiAgLyoqXHJcbiAgICogU3RhcnQgbW9uaXRvcmluZyBjb25maWd1cmF0aW9uIGNoYW5nZXMuXHJcbiAgICovXHJcbiAgc3RhcnRNb25pdG9yaW5nKCk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgbW9uaXRvcmluZyBjb25maWd1cmF0aW9uIGNoYW5nZXMuXHJcbiAgICovXHJcbiAgc3RvcE1vbml0b3JpbmcoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNvbmZpZ3VyYXRpb24gbWV0cmljcy5cclxuICAgKi9cclxuICBnZXRNZXRyaWNzKCk6IENvbmZpZ01ldHJpY3M7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmliZSB0byBjb25maWd1cmF0aW9uIGV2ZW50cy5cclxuICAgKi9cclxuICBzdWJzY3JpYmUoY2FsbGJhY2s6IChldmVudDogQ29uZmlnRXZlbnQpID0+IHZvaWQpOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBtZXRyaWNzLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNZXRyaWNzIHtcclxuICAvKiogVG90YWwgY29uZmlndXJhdGlvbiBsb2FkcyAqL1xyXG4gIHRvdGFsTG9hZHM6IG51bWJlcjtcclxuICAvKiogU3VjY2Vzc2Z1bCBBV1MgbG9hZHMgKi9cclxuICBzdWNjZXNzZnVsQXdzTG9hZHM6IG51bWJlcjtcclxuICAvKiogRmFpbGVkIEFXUyBsb2FkcyAqL1xyXG4gIGZhaWxlZEF3c0xvYWRzOiBudW1iZXI7XHJcbiAgLyoqIEF2ZXJhZ2UgbG9hZCB0aW1lICovXHJcbiAgYXZlcmFnZUxvYWRUaW1lOiBudW1iZXI7XHJcbiAgLyoqIExhc3QgbG9hZCB0aW1lICovXHJcbiAgbGFzdExvYWRUaW1lPzogRGF0ZTtcclxuICAvKiogQ29uZmlndXJhdGlvbiBjYWNoZSBoaXQgcmF0ZSAqL1xyXG4gIGNhY2hlSGl0UmF0ZTogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBldmVudC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRXZlbnQge1xyXG4gIC8qKiBFdmVudCB0eXBlICovXHJcbiAgdHlwZTogJ2xvYWRlZCcgfCAndXBkYXRlZCcgfCAnZXJyb3InIHwgJ3ZhbGlkYXRlZCc7XHJcbiAgLyoqIEV2ZW50IHRpbWVzdGFtcCAqL1xyXG4gIHRpbWVzdGFtcDogRGF0ZTtcclxuICAvKiogRXZlbnQgZGF0YSAqL1xyXG4gIGRhdGE6IGFueTtcclxuICAvKiogU291cmNlIG9mIHRoZSBldmVudCAqL1xyXG4gIHNvdXJjZTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBhdWRpdCBsb2cgZW50cnkuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0F1ZGl0RW50cnkge1xyXG4gIC8qKiBBdWRpdCBlbnRyeSBJRCAqL1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgLyoqIFRpbWVzdGFtcCAqL1xyXG4gIHRpbWVzdGFtcDogRGF0ZTtcclxuICAvKiogQWN0aW9uIHBlcmZvcm1lZCAqL1xyXG4gIGFjdGlvbjogJ2xvYWQnIHwgJ3VwZGF0ZScgfCAnZGVsZXRlJyB8ICd2YWxpZGF0ZSc7XHJcbiAgLyoqIENvbmZpZ3VyYXRpb24ga2V5IGFmZmVjdGVkICovXHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgLyoqIE9sZCB2YWx1ZSAoZm9yIHVwZGF0ZXMpICovXHJcbiAgb2xkVmFsdWU/OiBhbnk7XHJcbiAgLyoqIE5ldyB2YWx1ZSAqL1xyXG4gIG5ld1ZhbHVlPzogYW55O1xyXG4gIC8qKiBTb3VyY2Ugb2YgdGhlIGNoYW5nZSAqL1xyXG4gIHNvdXJjZTogc3RyaW5nO1xyXG4gIC8qKiBVc2VyIG9yIHN5c3RlbSB0aGF0IG1hZGUgdGhlIGNoYW5nZSAqL1xyXG4gIGFjdG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGF1ZGl0IGxvZ2dlci5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQXVkaXRMb2dnZXIge1xyXG4gIC8qKlxyXG4gICAqIExvZyBhIGNvbmZpZ3VyYXRpb24gY2hhbmdlLlxyXG4gICAqL1xyXG4gIGxvZyhlbnRyeTogT21pdDxDb25maWdBdWRpdEVudHJ5LCAnaWQnIHwgJ3RpbWVzdGFtcCc+KTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGF1ZGl0IGxvZyBlbnRyaWVzLlxyXG4gICAqL1xyXG4gIGdldEVudHJpZXMoZmlsdGVyPzogUGFydGlhbDxDb25maWdBdWRpdEVudHJ5Pik6IENvbmZpZ0F1ZGl0RW50cnlbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgYXVkaXQgbG9nLlxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQ7XHJcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnRmFjdG9yeSwgQ29uZmlnTW9kdWxlT3B0aW9ucyB9IGZyb20gJ0BuZXN0anMvY29uZmlnJztcclxuaW1wb3J0IHsgRHluYW1pY01vZHVsZSwgTW9kdWxlTWV0YWRhdGEsIFR5cGUgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcbmltcG9ydCB7IEludGVncmF0aW9uT3B0aW9ucyB9IGZyb20gJy4vaW50ZWdyYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU291cmNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUeXBlZENvbmZpZ3VyYXRpb24sIENvbmZpZ3VyYXRpb25TY2hlbWEgfSBmcm9tICcuL3R5cGVkLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBFbmhhbmNlZCBtb2R1bGUgb3B0aW9ucyB0aGF0IGV4dGVuZCBAbmVzdGpzL2NvbmZpZyBvcHRpb25zIHdpdGggQVdTIGludGVncmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFbmhhbmNlZENvbmZpZ01vZHVsZU9wdGlvbnMgZXh0ZW5kcyBDb25maWdNb2R1bGVPcHRpb25zIHtcclxuICAvKiogQVdTIGludGVncmF0aW9uIG9wdGlvbnMgKi9cclxuICBhd3NJbnRlZ3JhdGlvbj86IEludGVncmF0aW9uT3B0aW9ucztcclxuICAvKiogV2hldGhlciB0byBlbmFibGUgQVdTIGNvbmZpZ3VyYXRpb24gbG9hZGluZyAqL1xyXG4gIGVuYWJsZUF3c0ludGVncmF0aW9uPzogYm9vbGVhbjtcclxuICAvKiogQ3VzdG9tIGNvbmZpZ3VyYXRpb24gc2NoZW1hcyBmb3IgdHlwZSBzYWZldHkgKi9cclxuICBzY2hlbWFzPzogQ29uZmlndXJhdGlvblNjaGVtYVtdO1xyXG59XHJcblxyXG4vKipcclxuICogRmFjdG9yeSBmdW5jdGlvbiB0eXBlIGZvciBjcmVhdGluZyBlbmhhbmNlZCBjb25maWd1cmF0aW9uIG1vZHVsZXMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBFbmhhbmNlZENvbmZpZ01vZHVsZUZhY3RvcnkgPSAoXHJcbiAgb3B0aW9ucz86IEVuaGFuY2VkQ29uZmlnTW9kdWxlT3B0aW9uc1xyXG4pID0+IER5bmFtaWNNb2R1bGU7XHJcblxyXG4vKipcclxuICogQXN5bmMgZmFjdG9yeSBmdW5jdGlvbiB0eXBlIGZvciBjcmVhdGluZyBlbmhhbmNlZCBjb25maWd1cmF0aW9uIG1vZHVsZXMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBFbmhhbmNlZEFzeW5jQ29uZmlnTW9kdWxlRmFjdG9yeSA9IChcclxuICBvcHRpb25zOiBFbmhhbmNlZEFzeW5jQ29uZmlnTW9kdWxlT3B0aW9uc1xyXG4pID0+IER5bmFtaWNNb2R1bGU7XHJcblxyXG4vKipcclxuICogQXN5bmMgb3B0aW9ucyBmb3IgZW5oYW5jZWQgY29uZmlndXJhdGlvbiBtb2R1bGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEVuaGFuY2VkQXN5bmNDb25maWdNb2R1bGVPcHRpb25zIGV4dGVuZHMgTW9kdWxlTWV0YWRhdGEge1xyXG4gIC8qKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBlbmhhbmNlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKi9cclxuICB1c2VGYWN0b3J5PzogKFxyXG4gICAgLi4uYXJnczogYW55W11cclxuICApID0+IFByb21pc2U8RW5oYW5jZWRDb25maWdNb2R1bGVPcHRpb25zPiB8IEVuaGFuY2VkQ29uZmlnTW9kdWxlT3B0aW9ucztcclxuICBcclxuICAvKiogQ2xhc3MgdG8gdXNlIGFzIGZhY3RvcnkgKi9cclxuICB1c2VDbGFzcz86IFR5cGU8RW5oYW5jZWRDb25maWdNb2R1bGVPcHRpb25zRmFjdG9yeT47XHJcbiAgXHJcbiAgLyoqIEV4aXN0aW5nIGluc3RhbmNlIHRvIHVzZSBhcyBmYWN0b3J5ICovXHJcbiAgdXNlRXhpc3Rpbmc/OiBUeXBlPEVuaGFuY2VkQ29uZmlnTW9kdWxlT3B0aW9uc0ZhY3Rvcnk+O1xyXG4gIFxyXG4gIC8qKiBEZXBlbmRlbmNpZXMgdG8gaW5qZWN0IGludG8gdGhlIGZhY3RvcnkgZnVuY3Rpb24gKi9cclxuICBpbmplY3Q/OiBhbnlbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZhY3RvcnkgaW50ZXJmYWNlIGZvciBjcmVhdGluZyBlbmhhbmNlZCBjb25maWd1cmF0aW9uIG1vZHVsZSBvcHRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFbmhhbmNlZENvbmZpZ01vZHVsZU9wdGlvbnNGYWN0b3J5IHtcclxuICAvKipcclxuICAgKiBDcmVhdGUgZW5oYW5jZWQgY29uZmlndXJhdGlvbiBtb2R1bGUgb3B0aW9ucy5cclxuICAgKiBAcmV0dXJucyBFbmhhbmNlZCBjb25maWd1cmF0aW9uIG1vZHVsZSBvcHRpb25zXHJcbiAgICovXHJcbiAgY3JlYXRlQ29uZmlnT3B0aW9ucygpOiBQcm9taXNlPEVuaGFuY2VkQ29uZmlnTW9kdWxlT3B0aW9ucz4gfCBFbmhhbmNlZENvbmZpZ01vZHVsZU9wdGlvbnM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlZ3JhdGlvbiBzZXJ2aWNlIGludGVyZmFjZSBmb3IgbWFuYWdpbmcgQVdTIGFuZCBAbmVzdGpzL2NvbmZpZyBpbnRlZ3JhdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVzdEpTQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBpbnRlZ3JhdGlvbiB3aXRoIEBuZXN0anMvY29uZmlnLlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gSW50ZWdyYXRpb24gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGluaXRpYWxpemUob3B0aW9uczogSW50ZWdyYXRpb25PcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgY29uZmlndXJhdGlvbiBmYWN0b3JpZXMgd2l0aCBAbmVzdGpzL2NvbmZpZy5cclxuICAgKiBAcGFyYW0gZmFjdG9yaWVzIC0gQ29uZmlndXJhdGlvbiBmYWN0b3JpZXMgdG8gcmVnaXN0ZXJcclxuICAgKi9cclxuICByZWdpc3RlckZhY3RvcmllcyhmYWN0b3JpZXM6IENvbmZpZ0ZhY3RvcnlbXSk6IFByb21pc2U8dm9pZD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjb25maWd1cmF0aW9uIGZyb20gQVdTIHNvdXJjZXMgYW5kIGZvcm1hdCBmb3IgQG5lc3Rqcy9jb25maWcuXHJcbiAgICogQHBhcmFtIG5hbWVzcGFjZXMgLSBPcHRpb25hbCBuYW1lc3BhY2VzIHRvIGxvYWRcclxuICAgKiBAcmV0dXJucyBDb25maWd1cmF0aW9uIGRhdGEgb3JnYW5pemVkIGZvciBAbmVzdGpzL2NvbmZpZ1xyXG4gICAqL1xyXG4gIGdldENvbmZpZ3VyYXRpb25Gb3JOZXN0SlMobmFtZXNwYWNlcz86IHN0cmluZ1tdKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGNvbmZpZ3VyYXRpb24gZmFjdG9yaWVzIGZyb20gQVdTIHNvdXJjZXMuXHJcbiAgICogQHBhcmFtIHNvdXJjZXMgLSBDb25maWd1cmF0aW9uIHNvdXJjZXMgZnJvbSBBV1NcclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIE9wdGlvbmFsIG5hbWVzcGFjZXMgdG8gb3JnYW5pemUgY29uZmlndXJhdGlvblxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZmFjdG9yaWVzXHJcbiAgICovXHJcbiAgY3JlYXRlRmFjdG9yaWVzRnJvbUF3c1NvdXJjZXMoXHJcbiAgICBzb3VyY2VzOiBDb25maWd1cmF0aW9uU291cmNlW10sXHJcbiAgICBuYW1lc3BhY2VzPzogc3RyaW5nW11cclxuICApOiBDb25maWdGYWN0b3J5W107XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lcmdlIEFXUyBjb25maWd1cmF0aW9uIHdpdGggZXhpc3RpbmcgQG5lc3Rqcy9jb25maWcgY29uZmlndXJhdGlvbi5cclxuICAgKiBAcGFyYW0gYXdzQ29uZmlnIC0gQ29uZmlndXJhdGlvbiBmcm9tIEFXUyBzb3VyY2VzXHJcbiAgICogQHBhcmFtIGV4aXN0aW5nQ29uZmlnIC0gRXhpc3RpbmcgQG5lc3Rqcy9jb25maWcgY29uZmlndXJhdGlvblxyXG4gICAqIEByZXR1cm5zIE1lcmdlZCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgbWVyZ2VXaXRoRXhpc3RpbmdDb25maWcoXHJcbiAgICBhd3NDb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXHJcbiAgICBleGlzdGluZ0NvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGNvbmZpZ3VyYXRpb24gdXNpbmcgQG5lc3Rqcy9jb25maWcgdmFsaWRhdGlvbiBwYXR0ZXJucy5cclxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhdGlvbiB0byB2YWxpZGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uU2NoZW1hIC0gT3B0aW9uYWwgdmFsaWRhdGlvbiBzY2hlbWFcclxuICAgKiBAcmV0dXJucyBWYWxpZGF0aW9uIHJlc3VsdFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlQ29uZmlndXJhdGlvbihcclxuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcclxuICAgIHZhbGlkYXRpb25TY2hlbWE/OiBhbnlcclxuICApOiBQcm9taXNlPGJvb2xlYW4+O1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgdHlwZWQgY29uZmlndXJhdGlvbiB3aXRoIGZ1bGwgdHlwZSBzYWZldHkuXHJcbiAgICogQHBhcmFtIGtleSAtIENvbmZpZ3VyYXRpb24ga2V5IG9yIG5hbWVzcGFjZVxyXG4gICAqIEByZXR1cm5zIFR5cGVkIGNvbmZpZ3VyYXRpb25cclxuICAgKi9cclxuICBnZXRUeXBlZENvbmZpZ3VyYXRpb248VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUeXBlZENvbmZpZ3VyYXRpb248VD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoZSBpbnRlZ3JhdGlvbiBpcyBwcm9wZXJseSBpbml0aWFsaXplZC5cclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIGluaXRpYWxpemVkLCBmYWxzZSBvdGhlcndpc2VcclxuICAgKi9cclxuICBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBpbnRlZ3JhdGlvbiBzdGF0dXMgYW5kIGhlYWx0aCBpbmZvcm1hdGlvbi5cclxuICAgKiBAcmV0dXJucyBJbnRlZ3JhdGlvbiBzdGF0dXMgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBnZXRTdGF0dXMoKTogSW50ZWdyYXRpb25TdGF0dXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlZ3JhdGlvbiBzdGF0dXMgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uU3RhdHVzIHtcclxuICAvKiogV2hldGhlciB0aGUgaW50ZWdyYXRpb24gaXMgaW5pdGlhbGl6ZWQgKi9cclxuICBpbml0aWFsaXplZDogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciBBV1Mgc2VydmljZXMgYXJlIGF2YWlsYWJsZSAqL1xyXG4gIGF3c0F2YWlsYWJsZTogYm9vbGVhbjtcclxuICAvKiogTnVtYmVyIG9mIGNvbmZpZ3VyYXRpb24gc291cmNlcyBsb2FkZWQgKi9cclxuICBzb3VyY2VzTG9hZGVkOiBudW1iZXI7XHJcbiAgLyoqIE51bWJlciBvZiBmYWN0b3JpZXMgcmVnaXN0ZXJlZCAqL1xyXG4gIGZhY3Rvcmllc1JlZ2lzdGVyZWQ6IG51bWJlcjtcclxuICAvKiogQW55IGVycm9ycyBlbmNvdW50ZXJlZCAqL1xyXG4gIGVycm9yczogc3RyaW5nW107XHJcbiAgLyoqIExhc3QgdXBkYXRlIHRpbWVzdGFtcCAqL1xyXG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBsb2FkZXIgaW50ZXJmYWNlIGZvciBBV1MgaW50ZWdyYXRpb24gd2l0aCBAbmVzdGpzL2NvbmZpZy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ29uZmlndXJhdGlvbkxvYWRlciB7XHJcbiAgLyoqXHJcbiAgICogTG9hZCBjb25maWd1cmF0aW9uIGZyb20gQVdTIHNvdXJjZXMgZm9yIEBuZXN0anMvY29uZmlnIGludGVncmF0aW9uLlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gSW50ZWdyYXRpb24gb3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxyXG4gICAqL1xyXG4gIGxvYWRGb3JOZXN0SlNDb25maWcob3B0aW9uczogSW50ZWdyYXRpb25PcHRpb25zKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcclxuXHJcbiAgLyoqXHJcbiAgICogTG9hZCBuYW1lc3BhY2VkIGNvbmZpZ3VyYXRpb24gZnJvbSBBV1Mgc291cmNlcy5cclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIE5hbWVzcGFjZXMgdG8gbG9hZFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gSW50ZWdyYXRpb24gb3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIG5hbWVzcGFjZWQgY29uZmlndXJhdGlvbiBkYXRhXHJcbiAgICovXHJcbiAgbG9hZE5hbWVzcGFjZWRGb3JOZXN0SlNDb25maWcoXHJcbiAgICBuYW1lc3BhY2VzOiBzdHJpbmdbXSxcclxuICAgIG9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9uc1xyXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4+O1xyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBBV1Mgc2VydmljZXMgYXJlIGF2YWlsYWJsZSBmb3IgY29uZmlndXJhdGlvbiBsb2FkaW5nLlxyXG4gICAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIGF2YWlsYWJpbGl0eSBzdGF0dXNcclxuICAgKi9cclxuICBjaGVja0F3c0F2YWlsYWJpbGl0eSgpOiBQcm9taXNlPGJvb2xlYW4+O1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgY29uZmlndXJhdGlvbiBzb3VyY2VzIHRoYXQgYXJlIGF2YWlsYWJsZS5cclxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEludGVncmF0aW9uIG9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byBhdmFpbGFibGUgc291cmNlc1xyXG4gICAqL1xyXG4gIGdldEF2YWlsYWJsZVNvdXJjZXMob3B0aW9uczogSW50ZWdyYXRpb25PcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIG1lcmdlciBpbnRlcmZhY2UgZm9yIGhhbmRsaW5nIHByZWNlZGVuY2UgcnVsZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25NZXJnZXIge1xyXG4gIC8qKlxyXG4gICAqIE1lcmdlIGNvbmZpZ3VyYXRpb25zIHdpdGggcHJlY2VkZW5jZSBydWxlcy5cclxuICAgKiBAcGFyYW0gc291cmNlcyAtIENvbmZpZ3VyYXRpb24gc291cmNlcyB0byBtZXJnZVxyXG4gICAqIEBwYXJhbSBwcmVjZWRlbmNlUnVsZSAtIFByZWNlZGVuY2UgcnVsZSB0byBhcHBseVxyXG4gICAqIEByZXR1cm5zIE1lcmdlZCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgbWVyZ2VXaXRoUHJlY2VkZW5jZShcclxuICAgIHNvdXJjZXM6IENvbmZpZ3VyYXRpb25Tb3VyY2VbXSxcclxuICAgIHByZWNlZGVuY2VSdWxlOiAnYXdzLWZpcnN0JyB8ICdsb2NhbC1maXJzdCcgfCAnbWVyZ2UnXHJcbiAgKTogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWVyZ2UgdHdvIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy5cclxuICAgKiBAcGFyYW0gcHJpbWFyeSAtIFByaW1hcnkgY29uZmlndXJhdGlvbiAoaGlnaGVyIHByZWNlZGVuY2UpXHJcbiAgICogQHBhcmFtIHNlY29uZGFyeSAtIFNlY29uZGFyeSBjb25maWd1cmF0aW9uIChsb3dlciBwcmVjZWRlbmNlKVxyXG4gICAqIEByZXR1cm5zIE1lcmdlZCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgbWVyZ2UoXHJcbiAgICBwcmltYXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICAgc2Vjb25kYXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgKTogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVlcCBtZXJnZSBjb25maWd1cmF0aW9uIG9iamVjdHMgd2l0aCBjb25mbGljdCByZXNvbHV0aW9uLlxyXG4gICAqIEBwYXJhbSBjb25maWdzIC0gQXJyYXkgb2YgY29uZmlndXJhdGlvbiBvYmplY3RzIHRvIG1lcmdlXHJcbiAgICogQHBhcmFtIGNvbmZsaWN0UmVzb2x1dGlvbiAtIEhvdyB0byByZXNvbHZlIGNvbmZsaWN0c1xyXG4gICAqIEByZXR1cm5zIE1lcmdlZCBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgZGVlcE1lcmdlKFxyXG4gICAgY29uZmlnczogUmVjb3JkPHN0cmluZywgYW55PltdLFxyXG4gICAgY29uZmxpY3RSZXNvbHV0aW9uPzogJ2ZpcnN0LXdpbnMnIHwgJ2xhc3Qtd2lucycgfCAnbWVyZ2UtYXJyYXlzJ1xyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHZhbGlkYXRvciBpbnRlcmZhY2UgZm9yIEFXUy1zb3VyY2VkIHZhbHVlcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ29uZmlndXJhdGlvblZhbGlkYXRvciB7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGUgY29uZmlndXJhdGlvbiB1c2luZyBKb2kgc2NoZW1hLlxyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmF0aW9uIHRvIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIHNjaGVtYSAtIEpvaSB2YWxpZGF0aW9uIHNjaGVtYVxyXG4gICAqIEByZXR1cm5zIFZhbGlkYXRpb24gcmVzdWx0XHJcbiAgICovXHJcbiAgdmFsaWRhdGVXaXRoSm9pKGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55Piwgc2NoZW1hOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+O1xyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBjb25maWd1cmF0aW9uIHVzaW5nIGNsYXNzLXZhbGlkYXRvci5cclxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhdGlvbiB0byB2YWxpZGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uQ2xhc3MgLSBDbGFzcyB3aXRoIHZhbGlkYXRpb24gZGVjb3JhdG9yc1xyXG4gICAqIEByZXR1cm5zIFZhbGlkYXRpb24gcmVzdWx0XHJcbiAgICovXHJcbiAgdmFsaWRhdGVXaXRoQ2xhc3NWYWxpZGF0b3IoY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB2YWxpZGF0aW9uQ2xhc3M6IGFueSk6IFByb21pc2U8Ym9vbGVhbj47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGNvbmZpZ3VyYXRpb24gdXNpbmcgY3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb24uXHJcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gdG8gdmFsaWRhdGVcclxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbkZuIC0gQ3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb25cclxuICAgKiBAcmV0dXJucyBWYWxpZGF0aW9uIHJlc3VsdFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlV2l0aEN1c3RvbUZ1bmN0aW9uKFxyXG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICAgdmFsaWRhdGlvbkZuOiAoY29uZmlnOiBhbnkpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+XHJcbiAgKTogUHJvbWlzZTxib29sZWFuPjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHZhbGlkYXRpb24gZXJyb3JzIGZvciBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmF0aW9uIHRvIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIHNjaGVtYSAtIFZhbGlkYXRpb24gc2NoZW1hXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvcnNcclxuICAgKi9cclxuICBnZXRWYWxpZGF0aW9uRXJyb3JzKGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55Piwgc2NoZW1hOiBhbnkpOiBzdHJpbmdbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFV0aWxpdHkgdHlwZSBmb3IgZXh0cmFjdGluZyBjb25maWd1cmF0aW9uIHR5cGUgZnJvbSBAbmVzdGpzL2NvbmZpZyBmYWN0b3J5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRXh0cmFjdENvbmZpZ1R5cGU8VD4gPSBUIGV4dGVuZHMgKCkgPT4gaW5mZXIgVSA/IFUgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBVdGlsaXR5IHR5cGUgZm9yIGNyZWF0aW5nIHN0cm9uZ2x5IHR5cGVkIGNvbmZpZ3VyYXRpb24gc2VydmljZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIFR5cGVkQ29uZmlnU2VydmljZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgQ29uZmlnRmFjdG9yeT4+ID0ge1xyXG4gIGdldDxLIGV4dGVuZHMga2V5b2YgVD4oa2V5OiBLKTogRXh0cmFjdENvbmZpZ1R5cGU8VFtLXT4gfCB1bmRlZmluZWQ7XHJcbiAgZ2V0T3JUaHJvdzxLIGV4dGVuZHMga2V5b2YgVD4oa2V5OiBLKTogRXh0cmFjdENvbmZpZ1R5cGU8VFtLXT47XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBuYW1lc3BhY2UgcmVnaXN0cnkgZm9yIG1hbmFnaW5nIG5hbWVzcGFjZWQgY29uZmlndXJhdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25OYW1lc3BhY2VSZWdpc3RyeSB7XHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgYSBuYW1lc3BhY2Ugd2l0aCBpdHMgY29uZmlndXJhdGlvbiBmYWN0b3J5LlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBOYW1lc3BhY2UgbmFtZVxyXG4gICAqIEBwYXJhbSBmYWN0b3J5IC0gQ29uZmlndXJhdGlvbiBmYWN0b3J5IGZvciB0aGUgbmFtZXNwYWNlXHJcbiAgICovXHJcbiAgcmVnaXN0ZXIobmFtZXNwYWNlOiBzdHJpbmcsIGZhY3Rvcnk6IENvbmZpZ0ZhY3RvcnkpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBjb25maWd1cmF0aW9uIGZhY3RvcnkgYnkgbmFtZXNwYWNlLlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBOYW1lc3BhY2UgbmFtZVxyXG4gICAqIEByZXR1cm5zIENvbmZpZ3VyYXRpb24gZmFjdG9yeSBvciB1bmRlZmluZWRcclxuICAgKi9cclxuICBnZXQobmFtZXNwYWNlOiBzdHJpbmcpOiBDb25maWdGYWN0b3J5IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBhIG5hbWVzcGFjZSBpcyByZWdpc3RlcmVkLlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBOYW1lc3BhY2UgbmFtZVxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgcmVnaXN0ZXJlZCwgZmFsc2Ugb3RoZXJ3aXNlXHJcbiAgICovXHJcbiAgaGFzKG5hbWVzcGFjZTogc3RyaW5nKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCByZWdpc3RlcmVkIG5hbWVzcGFjZXMuXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgbmFtZXNwYWNlIG5hbWVzXHJcbiAgICovXHJcbiAgZ2V0TmFtZXNwYWNlcygpOiBzdHJpbmdbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVW5yZWdpc3RlciBhIG5hbWVzcGFjZS5cclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlIC0gTmFtZXNwYWNlIG5hbWVcclxuICAgKi9cclxuICB1bnJlZ2lzdGVyKG5hbWVzcGFjZTogc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgYWxsIHJlZ2lzdGVyZWQgbmFtZXNwYWNlcy5cclxuICAgKi9cclxuICBjbGVhcigpOiB2b2lkO1xyXG59Il19
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Type definitions for typed configuration access
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy90eXBlZC1jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwZSBkZWZpbml0aW9ucyBmb3IgdHlwZWQgY29uZmlndXJhdGlvbiBhY2Nlc3NcclxuXHJcbi8qKlxyXG4gKiBHZW5lcmljIHR5cGUgZm9yIHR5cGVkIGNvbmZpZ3VyYXRpb24gYWNjZXNzLlxyXG4gKiBQcm92aWRlcyB0eXBlIHNhZmV0eSBmb3IgY29uZmlndXJhdGlvbiB2YWx1ZXMgbG9hZGVkIGZyb20gQVdTIHNvdXJjZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkQ29uZmlndXJhdGlvbjxUID0gYW55PiB7XHJcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIGRhdGEgd2l0aCBwcm9wZXIgdHlwaW5nICovXHJcbiAgZGF0YTogVDtcclxuICAvKiogTmFtZXNwYWNlIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24gKi9cclxuICBuYW1lc3BhY2U/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdGhpcyBjb25maWd1cmF0aW9uIHdhcyBsb2FkZWQgZnJvbSBBV1Mgc291cmNlcyAqL1xyXG4gIGZyb21Bd3M6IGJvb2xlYW47XHJcbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoaXMgY29uZmlndXJhdGlvbiB3YXMgbG9hZGVkICovXHJcbiAgbG9hZGVkQXQ6IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmljIGNvbmZpZ3VyYXRpb24gZmFjdG9yeSB3aXRoIHR5cGUgc2FmZXR5LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlZENvbmZpZ3VyYXRpb25GYWN0b3J5PFQgPSBhbnk+IHtcclxuICAvKiogVHlwZS1zYWZlIGNvbmZpZ3VyYXRpb24gZGF0YSAqL1xyXG4gICgpOiBUO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBhY2Nlc3NvciB3aXRoIHR5cGUgc2FmZXR5IGZvciBBV1Mtc291cmNlZCB2YWx1ZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkQ29uZmlndXJhdGlvbkFjY2Vzc29yIHtcclxuICAvKipcclxuICAgKiBHZXQgdHlwZWQgY29uZmlndXJhdGlvbiB2YWx1ZSB3aXRoIHR5cGUgc2FmZXR5LlxyXG4gICAqIEBwYXJhbSBrZXkgLSBDb25maWd1cmF0aW9uIGtleSAoc3VwcG9ydHMgZG90IG5vdGF0aW9uKVxyXG4gICAqIEByZXR1cm5zIFR5cGVkIGNvbmZpZ3VyYXRpb24gdmFsdWVcclxuICAgKi9cclxuICBnZXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgdHlwZWQgY29uZmlndXJhdGlvbiB2YWx1ZSBvciB0aHJvdyBpZiBub3QgZm91bmQuXHJcbiAgICogQHBhcmFtIGtleSAtIENvbmZpZ3VyYXRpb24ga2V5IChzdXBwb3J0cyBkb3Qgbm90YXRpb24pXHJcbiAgICogQHJldHVybnMgVHlwZWQgY29uZmlndXJhdGlvbiB2YWx1ZVxyXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYga2V5IGlzIG5vdCBmb3VuZFxyXG4gICAqL1xyXG4gIGdldE9yVGhyb3c8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgbmFtZXNwYWNlZCB0eXBlZCBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBDb25maWd1cmF0aW9uIG5hbWVzcGFjZVxyXG4gICAqIEByZXR1cm5zIFR5cGVkIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuYW1lc3BhY2VcclxuICAgKi9cclxuICBnZXROYW1lc3BhY2VkPFQgPSBhbnk+KG5hbWVzcGFjZTogc3RyaW5nKTogVHlwZWRDb25maWd1cmF0aW9uPFQ+IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgbmFtZXNwYWNlZCB0eXBlZCBjb25maWd1cmF0aW9uIG9yIHRocm93IGlmIG5vdCBmb3VuZC5cclxuICAgKiBAcGFyYW0gbmFtZXNwYWNlIC0gQ29uZmlndXJhdGlvbiBuYW1lc3BhY2VcclxuICAgKiBAcmV0dXJucyBUeXBlZCBjb25maWd1cmF0aW9uIGZvciB0aGUgbmFtZXNwYWNlXHJcbiAgICogQHRocm93cyBFcnJvciBpZiBuYW1lc3BhY2UgaXMgbm90IGZvdW5kXHJcbiAgICovXHJcbiAgZ2V0TmFtZXNwYWNlZE9yVGhyb3c8VCA9IGFueT4obmFtZXNwYWNlOiBzdHJpbmcpOiBUeXBlZENvbmZpZ3VyYXRpb248VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGEgY29uZmlndXJhdGlvbiBrZXkgZXhpc3RzLlxyXG4gICAqIEBwYXJhbSBrZXkgLSBDb25maWd1cmF0aW9uIGtleSAoc3VwcG9ydHMgZG90IG5vdGF0aW9uKVxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYga2V5IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlXHJcbiAgICovXHJcbiAgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYSBuYW1lc3BhY2UgZXhpc3RzLlxyXG4gICAqIEBwYXJhbSBuYW1lc3BhY2UgLSBDb25maWd1cmF0aW9uIG5hbWVzcGFjZVxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgbmFtZXNwYWNlIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlXHJcbiAgICovXHJcbiAgaGFzTmFtZXNwYWNlKG5hbWVzcGFjZTogc3RyaW5nKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBjb25maWd1cmF0aW9uIGtleXMuXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgYWxsIGNvbmZpZ3VyYXRpb24ga2V5c1xyXG4gICAqL1xyXG4gIGdldEtleXMoKTogc3RyaW5nW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhbGwgbmFtZXNwYWNlcy5cclxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBhbGwgbmFtZXNwYWNlc1xyXG4gICAqL1xyXG4gIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUeXBlLXNhZmUgY29uZmlndXJhdGlvbiBzY2hlbWEgZGVmaW5pdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNjaGVtYTxUID0gYW55PiB7XHJcbiAgLyoqIFNjaGVtYSBuYW1lL2lkZW50aWZpZXIgKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqIE9wdGlvbmFsIG5hbWVzcGFjZSBmb3IgdGhpcyBzY2hlbWEgKi9cclxuICBuYW1lc3BhY2U/OiBzdHJpbmc7XHJcbiAgLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuICB0eXBlOiBuZXcgKCkgPT4gVDtcclxuICAvKiogT3B0aW9uYWwgdmFsaWRhdGlvbiBmdW5jdGlvbiAqL1xyXG4gIHZhbGlkYXRlPzogKGNvbmZpZzogYW55KSA9PiBjb25maWcgaXMgVDtcclxuICAvKiogT3B0aW9uYWwgZGVmYXVsdCB2YWx1ZXMgKi9cclxuICBkZWZhdWx0cz86IFBhcnRpYWw8VD47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHJlZ2lzdHJ5IGZvciBtYW5hZ2luZyB0eXBlZCBjb25maWd1cmF0aW9ucy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRDb25maWd1cmF0aW9uUmVnaXN0cnkge1xyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIGEgdHlwZWQgY29uZmlndXJhdGlvbiBzY2hlbWEuXHJcbiAgICogQHBhcmFtIHNjaGVtYSAtIENvbmZpZ3VyYXRpb24gc2NoZW1hIHRvIHJlZ2lzdGVyXHJcbiAgICovXHJcbiAgcmVnaXN0ZXI8VD4oc2NoZW1hOiBDb25maWd1cmF0aW9uU2NoZW1hPFQ+KTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGEgdHlwZWQgY29uZmlndXJhdGlvbiBieSBuYW1lLlxyXG4gICAqIEBwYXJhbSBuYW1lIC0gU2NoZW1hIG5hbWVcclxuICAgKiBAcmV0dXJucyBUeXBlZCBjb25maWd1cmF0aW9uIG9yIHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcpOiBUeXBlZENvbmZpZ3VyYXRpb248VD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIHR5cGVkIGNvbmZpZ3VyYXRpb24gYnkgbmFtZSBvciB0aHJvdyBpZiBub3QgZm91bmQuXHJcbiAgICogQHBhcmFtIG5hbWUgLSBTY2hlbWEgbmFtZVxyXG4gICAqIEByZXR1cm5zIFR5cGVkIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHNjaGVtYSBpcyBub3QgZm91bmRcclxuICAgKi9cclxuICBnZXRPclRocm93PFQgPSBhbnk+KG5hbWU6IHN0cmluZyk6IFR5cGVkQ29uZmlndXJhdGlvbjxUPjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYSBzY2hlbWEgaXMgcmVnaXN0ZXJlZC5cclxuICAgKiBAcGFyYW0gbmFtZSAtIFNjaGVtYSBuYW1lXHJcbiAgICogQHJldHVybnMgVHJ1ZSBpZiBzY2hlbWEgaXMgcmVnaXN0ZXJlZCwgZmFsc2Ugb3RoZXJ3aXNlXHJcbiAgICovXHJcbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhbGwgcmVnaXN0ZXJlZCBzY2hlbWEgbmFtZXMuXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2Ygc2NoZW1hIG5hbWVzXHJcbiAgICovXHJcbiAgZ2V0U2NoZW1hTmFtZXMoKTogc3RyaW5nW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFVucmVnaXN0ZXIgYSBzY2hlbWEuXHJcbiAgICogQHBhcmFtIG5hbWUgLSBTY2hlbWEgbmFtZSB0byB1bnJlZ2lzdGVyXHJcbiAgICovXHJcbiAgdW5yZWdpc3RlcihuYW1lOiBzdHJpbmcpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDbGVhciBhbGwgcmVnaXN0ZXJlZCBzY2hlbWFzLlxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBPcHRpb25zIGZvciB0eXBlZCBjb25maWd1cmF0aW9uIGFjY2Vzcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRDb25maWd1cmF0aW9uT3B0aW9ucyB7XHJcbiAgLyoqIFdoZXRoZXIgdG8gZW5hYmxlIHN0cmljdCB0eXBlIGNoZWNraW5nICovXHJcbiAgc3RyaWN0VHlwZXM/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIHRvIGNhY2hlIHR5cGVkIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgY2FjaGU/OiBib29sZWFuO1xyXG4gIC8qKiBEZWZhdWx0IG5hbWVzcGFjZSBmb3IgdW5uYW1lc3BhY2VkIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgZGVmYXVsdE5hbWVzcGFjZT86IHN0cmluZztcclxuICAvKiogV2hldGhlciB0byB0aHJvdyBvbiB0eXBlIHZhbGlkYXRpb24gZmFpbHVyZXMgKi9cclxuICB0aHJvd09uVmFsaWRhdGlvbkVycm9yPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFV0aWxpdHkgdHlwZSBmb3IgZXh0cmFjdGluZyBjb25maWd1cmF0aW9uIHR5cGUgZnJvbSBhIGZhY3RvcnkuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uVHlwZTxUPiA9IFQgZXh0ZW5kcyBUeXBlZENvbmZpZ3VyYXRpb25GYWN0b3J5PGluZmVyIFU+ID8gVSA6IG5ldmVyO1xyXG5cclxuLyoqXHJcbiAqIFV0aWxpdHkgdHlwZSBmb3IgY3JlYXRpbmcgc3Ryb25nbHkgdHlwZWQgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgU3Ryb25nbHlUeXBlZENvbmZpZzxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7XHJcbiAgcmVhZG9ubHkgW0sgaW4ga2V5b2YgVF06IFRbS107XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB2YWx1ZSB3aXRoIG1ldGFkYXRhIGFib3V0IGl0cyBzb3VyY2UgYW5kIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25WYWx1ZTxUID0gYW55PiB7XHJcbiAgLyoqIFRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiB2YWx1ZSAqL1xyXG4gIHZhbHVlOiBUO1xyXG4gIC8qKiBTb3VyY2Ugb2YgdGhpcyBjb25maWd1cmF0aW9uIHZhbHVlICovXHJcbiAgc291cmNlOiAnZW52aXJvbm1lbnQnIHwgJ3NlY3JldHMtbWFuYWdlcicgfCAnc3NtJyB8ICdsb2NhbC1maWxlJztcclxuICAvKiogV2hldGhlciB0aGlzIHZhbHVlIGNhbWUgZnJvbSBBV1MgKi9cclxuICBmcm9tQXdzOiBib29sZWFuO1xyXG4gIC8qKiBOYW1lc3BhY2UgdGhpcyB2YWx1ZSBiZWxvbmdzIHRvICovXHJcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xyXG4gIC8qKiBPcmlnaW5hbCBrZXkgdXNlZCB0byBhY2Nlc3MgdGhpcyB2YWx1ZSAqL1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIC8qKiBUeXBlIG9mIHRoZSB2YWx1ZSAqL1xyXG4gIHR5cGU6IHN0cmluZztcclxuICAvKiogV2hldGhlciB0aGlzIHZhbHVlIHdhcyB2YWxpZGF0ZWQgKi9cclxuICB2YWxpZGF0ZWQ6IGJvb2xlYW47XHJcbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoaXMgdmFsdWUgd2FzIGxvYWRlZCAqL1xyXG4gIGxvYWRlZEF0OiBEYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBwYXRoIHJlc29sdmVyIGZvciBuZXN0ZWQgY29uZmlndXJhdGlvbiBhY2Nlc3MuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb25QYXRoUmVzb2x2ZXIge1xyXG4gIC8qKlxyXG4gICAqIFJlc29sdmUgYSBjb25maWd1cmF0aW9uIHBhdGggdG8gaXRzIHZhbHVlLlxyXG4gICAqIEBwYXJhbSBwYXRoIC0gQ29uZmlndXJhdGlvbiBwYXRoIChzdXBwb3J0cyBkb3Qgbm90YXRpb24pXHJcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIHJlc29sdmUgYWdhaW5zdFxyXG4gICAqIEByZXR1cm5zIFJlc29sdmVkIHZhbHVlIG9yIHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIHJlc29sdmU8VCA9IGFueT4ocGF0aDogc3RyaW5nLCBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBUIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgYSB2YWx1ZSBhdCBhIGNvbmZpZ3VyYXRpb24gcGF0aC5cclxuICAgKiBAcGFyYW0gcGF0aCAtIENvbmZpZ3VyYXRpb24gcGF0aCAoc3VwcG9ydHMgZG90IG5vdGF0aW9uKVxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIHNldFxyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmF0aW9uIG9iamVjdCB0byBtb2RpZnlcclxuICAgKi9cclxuICBzZXQ8VCA9IGFueT4ocGF0aDogc3RyaW5nLCB2YWx1ZTogVCwgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgYSBjb25maWd1cmF0aW9uIHBhdGggZXhpc3RzLlxyXG4gICAqIEBwYXJhbSBwYXRoIC0gQ29uZmlndXJhdGlvbiBwYXRoIChzdXBwb3J0cyBkb3Qgbm90YXRpb24pXHJcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIGNoZWNrXHJcbiAgICogQHJldHVybnMgVHJ1ZSBpZiBwYXRoIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlXHJcbiAgICovXHJcbiAgZXhpc3RzKHBhdGg6IHN0cmluZywgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBwYXRocyBpbiBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmF0aW9uIG9iamVjdCB0byBhbmFseXplXHJcbiAgICogQHJldHVybnMgQXJyYXkgb2YgYWxsIGNvbmZpZ3VyYXRpb24gcGF0aHNcclxuICAgKi9cclxuICBnZXRBbGxQYXRocyhjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmdbXTtcclxufSJdfQ==
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Utility types for enhanced TypeScript support in nest-config-aws integration.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isCacheEntry = exports.isValidationResult = exports.hasMetadata = exports.isLocalSource = exports.isAwsSource = void 0;
7
+ /**
8
+ * Type guard for AWS configuration sources.
9
+ */
10
+ const isAwsSource = (source) => {
11
+ return source === 'secrets-manager' || source === 'ssm';
12
+ };
13
+ exports.isAwsSource = isAwsSource;
14
+ /**
15
+ * Type guard for local configuration sources.
16
+ */
17
+ const isLocalSource = (source) => {
18
+ return source === 'environment' || source === 'local-file';
19
+ };
20
+ exports.isLocalSource = isLocalSource;
21
+ /**
22
+ * Type guard for configuration with metadata.
23
+ */
24
+ const hasMetadata = (config) => {
25
+ return config && typeof config === 'object' && '__metadata' in config;
26
+ };
27
+ exports.hasMetadata = hasMetadata;
28
+ /**
29
+ * Type guard for validation result.
30
+ */
31
+ const isValidationResult = (result) => {
32
+ return (result &&
33
+ typeof result === 'object' &&
34
+ 'isValid' in result &&
35
+ typeof result.isValid === 'boolean' &&
36
+ 'errors' in result &&
37
+ Array.isArray(result.errors));
38
+ };
39
+ exports.isValidationResult = isValidationResult;
40
+ /**
41
+ * Type guard for cache entry.
42
+ */
43
+ const isCacheEntry = (entry) => {
44
+ return (entry &&
45
+ typeof entry === 'object' &&
46
+ 'key' in entry &&
47
+ 'value' in entry &&
48
+ 'timestamp' in entry &&
49
+ entry.timestamp instanceof Date);
50
+ };
51
+ exports.isCacheEntry = isCacheEntry;
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS10eXBlcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy91dGlsaXR5LXR5cGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQW1TSDs7R0FFRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBdUIsRUFBNkIsRUFBRTtJQUNoRixPQUFPLE1BQU0sS0FBSyxpQkFBaUIsSUFBSSxNQUFNLEtBQUssS0FBSyxDQUFDO0FBQzFELENBQUMsQ0FBQztBQUZXLFFBQUEsV0FBVyxlQUV0QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUF1QixFQUErQixFQUFFO0lBQ3BGLE9BQU8sTUFBTSxLQUFLLGFBQWEsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUZXLFFBQUEsYUFBYSxpQkFFeEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQ3pCLE1BQVcsRUFDdUIsRUFBRTtJQUNwQyxPQUFPLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLE1BQU0sQ0FBQztBQUN4RSxDQUFDLENBQUM7QUFKVyxRQUFBLFdBQVcsZUFJdEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sa0JBQWtCLEdBQUcsQ0FBSSxNQUFXLEVBQWlDLEVBQUU7SUFDbEYsT0FBTyxDQUNMLE1BQU07UUFDTixPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLFNBQVMsSUFBSSxNQUFNO1FBQ25CLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTO1FBQ25DLFFBQVEsSUFBSSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSxrQkFBa0Isc0JBUzdCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFlBQVksR0FBRyxDQUFJLEtBQVUsRUFBMEIsRUFBRTtJQUNwRSxPQUFPLENBQ0wsS0FBSztRQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxJQUFJLEtBQUs7UUFDZCxPQUFPLElBQUksS0FBSztRQUNoQixXQUFXLElBQUksS0FBSztRQUNwQixLQUFLLENBQUMsU0FBUyxZQUFZLElBQUksQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVRXLFFBQUEsWUFBWSxnQkFTdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXRpbGl0eSB0eXBlcyBmb3IgZW5oYW5jZWQgVHlwZVNjcmlwdCBzdXBwb3J0IGluIG5lc3QtY29uZmlnLWF3cyBpbnRlZ3JhdGlvbi5cclxuICovXHJcblxyXG4vKipcclxuICogRGVlcCByZWFkb25seSB0eXBlIGZvciBjb25maWd1cmF0aW9uIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBEZWVwUmVhZG9ubHk8VD4gPSB7XHJcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF0gZXh0ZW5kcyAoaW5mZXIgVSlbXVxyXG4gICAgPyBEZWVwUmVhZG9ubHlBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IERlZXBSZWFkb25seTxUW1BdPlxyXG4gICAgOiBUW1BdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERlZXAgcmVhZG9ubHkgYXJyYXkgdHlwZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVlcFJlYWRvbmx5QXJyYXk8VD4gZXh0ZW5kcyBSZWFkb25seUFycmF5PERlZXBSZWFkb25seTxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBQYXJ0aWFsIGRlZXAgdHlwZSBmb3IgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUGFydGlhbERlZXA8VD4gPSB7XHJcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUGFydGlhbERlZXBBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IFBhcnRpYWxEZWVwPFRbUF0+XHJcbiAgICA6IFRbUF07XHJcbn07XHJcblxyXG4vKipcclxuICogUGFydGlhbCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxEZWVwQXJyYXk8VD4gZXh0ZW5kcyBBcnJheTxQYXJ0aWFsRGVlcDxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIHR5cGUgZm9yIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy5cclxuICovXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkRGVlcDxUPiA9IHtcclxuICBbUCBpbiBrZXlvZiBUXS0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUmVxdWlyZWREZWVwQXJyYXk8VT5cclxuICAgIDogVFtQXSBleHRlbmRzIG9iamVjdFxyXG4gICAgPyBSZXF1aXJlZERlZXA8VFtQXT5cclxuICAgIDogVFtQXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkRGVlcEFycmF5PFQ+IGV4dGVuZHMgQXJyYXk8UmVxdWlyZWREZWVwPFQ+PiB7fVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gcGF0aCB0eXBlIGZvciBkb3Qgbm90YXRpb24gYWNjZXNzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnUGF0aDxULCBLIGV4dGVuZHMga2V5b2YgVCA9IGtleW9mIFQ+ID0gSyBleHRlbmRzIHN0cmluZ1xyXG4gID8gVFtLXSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT5cclxuICAgID8gYCR7S31gIHwgYCR7S30uJHtDb25maWdQYXRoPFRbS10+fWBcclxuICAgIDogYCR7S31gXHJcbiAgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHZhbHVlIHR5cGUgZm9yIGEgZ2l2ZW4gcGF0aC5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlPFQsIFAgZXh0ZW5kcyBzdHJpbmc+ID0gUCBleHRlbmRzIGAke2luZmVyIEt9LiR7aW5mZXIgUmVzdH1gXHJcbiAgPyBLIGV4dGVuZHMga2V5b2YgVFxyXG4gICAgPyBDb25maWdWYWx1ZTxUW0tdLCBSZXN0PlxyXG4gICAgOiBuZXZlclxyXG4gIDogUCBleHRlbmRzIGtleW9mIFRcclxuICA/IFRbUF1cclxuICA6IG5ldmVyO1xyXG5cclxuLyoqXHJcbiAqIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQXdzQ29uZmlnU291cmNlID0gJ3NlY3JldHMtbWFuYWdlcicgfCAnc3NtJztcclxuXHJcbi8qKlxyXG4gKiBMb2NhbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTG9jYWxDb25maWdTb3VyY2UgPSAnZW52aXJvbm1lbnQnIHwgJ2xvY2FsLWZpbGUnO1xyXG5cclxuLyoqXHJcbiAqIEFsbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQWxsQ29uZmlnU291cmNlID0gQXdzQ29uZmlnU291cmNlIHwgTG9jYWxDb25maWdTb3VyY2U7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBzb3VyY2UgbWV0YWRhdGEuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdTb3VyY2VNZXRhZGF0YTxUIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IHtcclxuICBzb3VyY2U6IFQ7XHJcbiAgaXNBd3M6IFQgZXh0ZW5kcyBBd3NDb25maWdTb3VyY2UgPyB0cnVlIDogZmFsc2U7XHJcbiAgcHJpb3JpdHk6IG51bWJlcjtcclxuICBsb2FkZWRBdDogRGF0ZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHdpdGggc291cmNlIG1ldGFkYXRhLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2l0aFNvdXJjZTxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IFQgJiB7XHJcbiAgX19tZXRhZGF0YTogQ29uZmlnU291cmNlTWV0YWRhdGE8Uz47XHJcbn07XHJcblxyXG4vKipcclxuICogRXh0cmFjdCBjb25maWd1cmF0aW9uIHR5cGUgZnJvbSBhIGNvbmZpZ3VyYXRpb24gZmFjdG9yeS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWc8VD4gPSBUIGV4dGVuZHMgKCkgPT4gaW5mZXIgVSA/IFUgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZhY3RvcnkgbWFwIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdGYWN0b3J5TWFwID0gUmVjb3JkPHN0cmluZywgKCkgPT4gYW55PjtcclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0IGFsbCBjb25maWd1cmF0aW9uIHR5cGVzIGZyb20gYSBmYWN0b3J5IG1hcC5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWdNYXA8VCBleHRlbmRzIENvbmZpZ0ZhY3RvcnlNYXA+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBFeHRyYWN0Q29uZmlnPFRbS10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOYW1lc3BhY2VDb25maWc8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE11bHRpLW5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBNdWx0aU5hbWVzcGFjZUNvbmZpZzxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBOYW1lc3BhY2VDb25maWc8VFtLXT47XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIHJlc3VsdC5cclxuICovXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSB7XHJcbiAgaXNWYWxpZDogYm9vbGVhbjtcclxuICBkYXRhPzogVDtcclxuICBlcnJvcnM6IHN0cmluZ1tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiByZXN1bHQuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY1ZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSBQcm9taXNlPFZhbGlkYXRpb25SZXN1bHQ8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1RyYW5zZm9ybWVyRm48VElucHV0LCBUT3V0cHV0PiA9IChpbnB1dDogVElucHV0KSA9PiBUT3V0cHV0O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnVHJhbnNmb3JtZXJGbjxUSW5wdXQsIFRPdXRwdXQ+ID0gKGlucHV0OiBUSW5wdXQpID0+IFByb21pc2U8VE91dHB1dD47XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ByZWRpY2F0ZTxUPiA9IChjb25maWc6IFQpID0+IGJvb2xlYW47XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnUHJlZGljYXRlPFQ+ID0gKGNvbmZpZzogVCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGtleSBleHRyYWN0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0tleUV4dHJhY3RvcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZ1tdO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdmFsdWUgZXh0cmFjdG9yIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdWYWx1ZUV4dHJhY3RvcjxULCBVPiA9IChjb25maWc6IFQsIGtleTogc3RyaW5nKSA9PiBVIHwgdW5kZWZpbmVkO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gbWVyZ2VyIGZ1bmN0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdNZXJnZXI8VD4gPSAocHJpbWFyeTogVCwgc2Vjb25kYXJ5OiBUKSA9PiBUO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnU2VyaWFsaXplcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGRlc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRGVzZXJpYWxpemVyPFQ+ID0gKHNlcmlhbGl6ZWQ6IHN0cmluZykgPT4gVDtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIGtleSBnZW5lcmF0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlS2V5R2VuZXJhdG9yPFQ+ID0gKGNvbmZpZzogVCkgPT4gc3RyaW5nO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gY2FjaGUgZW50cnkgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlRW50cnk8VD4gPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IFQ7XHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG4gIHR0bD86IG51bWJlcjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdDYWNoZTxUPiA9IE1hcDxzdHJpbmcsIENhY2hlRW50cnk8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0V2ZW50VHlwZSA9ICdsb2FkZWQnIHwgJ3VwZGF0ZWQnIHwgJ2Vycm9yJyB8ICd2YWxpZGF0ZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgaGFuZGxlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRXZlbnRIYW5kbGVyPFQgPSBhbnk+ID0gKGV2ZW50OiBDb25maWdFdmVudFR5cGUsIGRhdGE6IFQpID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBldmVudCBoYW5kbGVyIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY0NvbmZpZ0V2ZW50SGFuZGxlcjxUID0gYW55PiA9IChldmVudDogQ29uZmlnRXZlbnRUeXBlLCBkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gd2F0Y2hlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2F0Y2hlcjxUPiA9IHtcclxuICB3YXRjaDogKGhhbmRsZXI6IENvbmZpZ0V2ZW50SGFuZGxlcjxUPikgPT4gdm9pZDtcclxuICB1bndhdGNoOiAoaGFuZGxlcjogQ29uZmlnRXZlbnRIYW5kbGVyPFQ+KSA9PiB2b2lkO1xyXG4gIHN0b3A6ICgpID0+IHZvaWQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBidWlsZGVyIHBhdHRlcm4gaW50ZXJmYWNlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWdCdWlsZGVyPFQ+IHtcclxuICAvKipcclxuICAgKiBBZGQgYSBjb25maWd1cmF0aW9uIHNvdXJjZS5cclxuICAgKi9cclxuICBhZGRTb3VyY2Uoc291cmNlOiBBbGxDb25maWdTb3VyY2UsIGNvbmZpZzogYW55KTogQ29uZmlnQnVpbGRlcjxUPjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHByZWNlZGVuY2UgcnVsZS5cclxuICAgKi9cclxuICBzZXRQcmVjZWRlbmNlKHJ1bGU6ICdhd3MtZmlyc3QnIHwgJ2xvY2FsLWZpcnN0JyB8ICdtZXJnZScpOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgbmFtZXNwYWNlLlxyXG4gICAqL1xyXG4gIGFkZE5hbWVzcGFjZShuYW1lc3BhY2U6IHN0cmluZyk6IENvbmZpZ0J1aWxkZXI8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB2YWxpZGF0aW9uLlxyXG4gICAqL1xyXG4gIGFkZFZhbGlkYXRpb24odmFsaWRhdG9yOiAoY29uZmlnOiBhbnkpID0+IGJvb2xlYW4pOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBCdWlsZCB0aGUgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBidWlsZCgpOiBUO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmbHVlbnQgQVBJIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRmx1ZW50QVBJPFQ+IHtcclxuICAvKipcclxuICAgKiBGaWx0ZXIgY29uZmlndXJhdGlvbiBieSBwcmVkaWNhdGUuXHJcbiAgICovXHJcbiAgZmlsdGVyKHByZWRpY2F0ZTogQ29uZmlnUHJlZGljYXRlPFQ+KTogQ29uZmlnRmx1ZW50QVBJPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBtYXA8VT4odHJhbnNmb3JtZXI6IENvbmZpZ1RyYW5zZm9ybWVyRm48VCwgVT4pOiBDb25maWdGbHVlbnRBUEk8VT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICovXHJcbiAgdmFsaWRhdGUodmFsaWRhdG9yOiBDb25maWdQcmVkaWNhdGU8VD4pOiBDb25maWdGbHVlbnRBUEk8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZmluYWwgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBnZXQoKTogVDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNBd3NTb3VyY2UgPSAoc291cmNlOiBBbGxDb25maWdTb3VyY2UpOiBzb3VyY2UgaXMgQXdzQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnc2VjcmV0cy1tYW5hZ2VyJyB8fCBzb3VyY2UgPT09ICdzc20nO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGxvY2FsIGNvbmZpZ3VyYXRpb24gc291cmNlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0xvY2FsU291cmNlID0gKHNvdXJjZTogQWxsQ29uZmlnU291cmNlKTogc291cmNlIGlzIExvY2FsQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnZW52aXJvbm1lbnQnIHx8IHNvdXJjZSA9PT0gJ2xvY2FsLWZpbGUnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGNvbmZpZ3VyYXRpb24gd2l0aCBtZXRhZGF0YS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBoYXNNZXRhZGF0YSA9IDxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPihcclxuICBjb25maWc6IGFueVxyXG4pOiBjb25maWcgaXMgQ29uZmlnV2l0aFNvdXJjZTxULCBTPiA9PiB7XHJcbiAgcmV0dXJuIGNvbmZpZyAmJiB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiAnX19tZXRhZGF0YScgaW4gY29uZmlnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIHZhbGlkYXRpb24gcmVzdWx0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRhdGlvblJlc3VsdCA9IDxUPihyZXN1bHQ6IGFueSk6IHJlc3VsdCBpcyBWYWxpZGF0aW9uUmVzdWx0PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgcmVzdWx0ICYmXHJcbiAgICB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJlxyXG4gICAgJ2lzVmFsaWQnIGluIHJlc3VsdCAmJlxyXG4gICAgdHlwZW9mIHJlc3VsdC5pc1ZhbGlkID09PSAnYm9vbGVhbicgJiZcclxuICAgICdlcnJvcnMnIGluIHJlc3VsdCAmJlxyXG4gICAgQXJyYXkuaXNBcnJheShyZXN1bHQuZXJyb3JzKVxyXG4gICk7XHJcbn07XHJcblxyXG4vKipcclxuICogVHlwZSBndWFyZCBmb3IgY2FjaGUgZW50cnkuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDYWNoZUVudHJ5ID0gPFQ+KGVudHJ5OiBhbnkpOiBlbnRyeSBpcyBDYWNoZUVudHJ5PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgZW50cnkgJiZcclxuICAgIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcgJiZcclxuICAgICdrZXknIGluIGVudHJ5ICYmXHJcbiAgICAndmFsdWUnIGluIGVudHJ5ICYmXHJcbiAgICAndGltZXN0YW1wJyBpbiBlbnRyeSAmJlxyXG4gICAgZW50cnkudGltZXN0YW1wIGluc3RhbmNlb2YgRGF0ZVxyXG4gICk7XHJcbn07Il19