@decaf-ts/core 0.5.41 → 0.5.43

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 (266) hide show
  1. package/LICENSE.md +185 -17
  2. package/README.md +23 -2
  3. package/dist/core.cjs +2 -5767
  4. package/dist/core.cjs.map +1 -0
  5. package/dist/core.js +2 -0
  6. package/dist/core.js.map +1 -0
  7. package/lib/esm/identity/decorators.js +1 -1
  8. package/lib/esm/identity/decorators.js.map +1 -0
  9. package/lib/esm/identity/index.js +1 -1
  10. package/lib/esm/identity/index.js.map +1 -0
  11. package/lib/esm/identity/utils.js +1 -1
  12. package/lib/esm/identity/utils.js.map +1 -0
  13. package/lib/esm/index.d.ts +8 -1
  14. package/lib/esm/index.js +11 -2
  15. package/lib/esm/index.js.map +1 -0
  16. package/lib/esm/interfaces/ErrorParser.js +1 -1
  17. package/lib/esm/interfaces/ErrorParser.js.map +1 -0
  18. package/lib/esm/interfaces/Executor.js +1 -1
  19. package/lib/esm/interfaces/Executor.js.map +1 -0
  20. package/lib/esm/interfaces/Observable.js +1 -1
  21. package/lib/esm/interfaces/Observable.js.map +1 -0
  22. package/lib/esm/interfaces/Observer.js +1 -1
  23. package/lib/esm/interfaces/Observer.js.map +1 -0
  24. package/lib/esm/interfaces/Paginatable.js +1 -1
  25. package/lib/esm/interfaces/Paginatable.js.map +1 -0
  26. package/lib/esm/interfaces/Queriable.js +1 -1
  27. package/lib/esm/interfaces/Queriable.js.map +1 -0
  28. package/lib/esm/interfaces/RawExecutor.js +1 -1
  29. package/lib/esm/interfaces/RawExecutor.js.map +1 -0
  30. package/lib/esm/interfaces/SequenceOptions.js +1 -1
  31. package/lib/esm/interfaces/SequenceOptions.js.map +1 -0
  32. package/lib/esm/interfaces/index.js +1 -1
  33. package/lib/esm/interfaces/index.js.map +1 -0
  34. package/lib/esm/model/BaseModel.js +1 -1
  35. package/lib/esm/model/BaseModel.js.map +1 -0
  36. package/lib/esm/model/construction.js +1 -1
  37. package/lib/esm/model/construction.js.map +1 -0
  38. package/lib/esm/model/decorators.js +1 -1
  39. package/lib/esm/model/decorators.js.map +1 -0
  40. package/lib/esm/model/index.js +1 -1
  41. package/lib/esm/model/index.js.map +1 -0
  42. package/lib/esm/model/types.js +1 -1
  43. package/lib/esm/model/types.js.map +1 -0
  44. package/lib/esm/overrides/Metadata.js +1 -1
  45. package/lib/esm/overrides/Metadata.js.map +1 -0
  46. package/lib/esm/overrides/index.js +1 -1
  47. package/lib/esm/overrides/index.js.map +1 -0
  48. package/lib/esm/overrides/overrides.js +1 -1
  49. package/lib/esm/overrides/overrides.js.map +1 -0
  50. package/lib/esm/persistence/Adapter.js +1 -1
  51. package/lib/esm/persistence/Adapter.js.map +1 -0
  52. package/lib/esm/persistence/Dispatch.js +1 -1
  53. package/lib/esm/persistence/Dispatch.js.map +1 -0
  54. package/lib/esm/persistence/ObserverHandler.js +1 -1
  55. package/lib/esm/persistence/ObserverHandler.js.map +1 -0
  56. package/lib/esm/persistence/Sequence.js +1 -1
  57. package/lib/esm/persistence/Sequence.js.map +1 -0
  58. package/lib/esm/persistence/constants.js +1 -1
  59. package/lib/esm/persistence/constants.js.map +1 -0
  60. package/lib/esm/persistence/decorators.js +1 -1
  61. package/lib/esm/persistence/decorators.js.map +1 -0
  62. package/lib/esm/persistence/errors.js +1 -1
  63. package/lib/esm/persistence/errors.js.map +1 -0
  64. package/lib/esm/persistence/index.js +1 -1
  65. package/lib/esm/persistence/index.js.map +1 -0
  66. package/lib/esm/persistence/types.js +1 -1
  67. package/lib/esm/persistence/types.js.map +1 -0
  68. package/lib/esm/query/Condition.js +1 -1
  69. package/lib/esm/query/Condition.js.map +1 -0
  70. package/lib/esm/query/MethodQueryBuilder.js +1 -1
  71. package/lib/esm/query/MethodQueryBuilder.js.map +1 -0
  72. package/lib/esm/query/Paginator.js +1 -1
  73. package/lib/esm/query/Paginator.js.map +1 -0
  74. package/lib/esm/query/Statement.js +1 -1
  75. package/lib/esm/query/Statement.js.map +1 -0
  76. package/lib/esm/query/constants.js +1 -1
  77. package/lib/esm/query/constants.js.map +1 -0
  78. package/lib/esm/query/decorators.js +1 -1
  79. package/lib/esm/query/decorators.js.map +1 -0
  80. package/lib/esm/query/errors.js +1 -1
  81. package/lib/esm/query/errors.js.map +1 -0
  82. package/lib/esm/query/index.js +1 -1
  83. package/lib/esm/query/index.js.map +1 -0
  84. package/lib/esm/query/options.js +1 -1
  85. package/lib/esm/query/options.js.map +1 -0
  86. package/lib/esm/query/selectors.js +1 -1
  87. package/lib/esm/query/selectors.js.map +1 -0
  88. package/lib/esm/query/types.js +1 -1
  89. package/lib/esm/query/types.js.map +1 -0
  90. package/lib/esm/query/utils.js +1 -1
  91. package/lib/esm/query/utils.js.map +1 -0
  92. package/lib/esm/ram/RamAdapter.js +1 -1
  93. package/lib/esm/ram/RamAdapter.js.map +1 -0
  94. package/lib/esm/ram/RamContext.js +1 -1
  95. package/lib/esm/ram/RamContext.js.map +1 -0
  96. package/lib/esm/ram/RamPaginator.js +1 -1
  97. package/lib/esm/ram/RamPaginator.js.map +1 -0
  98. package/lib/esm/ram/RamSequence.js +1 -1
  99. package/lib/esm/ram/RamSequence.js.map +1 -0
  100. package/lib/esm/ram/RamStatement.js +1 -1
  101. package/lib/esm/ram/RamStatement.js.map +1 -0
  102. package/lib/esm/ram/constants.js +1 -1
  103. package/lib/esm/ram/constants.js.map +1 -0
  104. package/lib/esm/ram/handlers.js +1 -1
  105. package/lib/esm/ram/handlers.js.map +1 -0
  106. package/lib/esm/ram/index.js +1 -1
  107. package/lib/esm/ram/index.js.map +1 -0
  108. package/lib/esm/ram/model/RamSequenceModel.js +1 -1
  109. package/lib/esm/ram/model/RamSequenceModel.js.map +1 -0
  110. package/lib/esm/ram/model/index.js +1 -1
  111. package/lib/esm/ram/model/index.js.map +1 -0
  112. package/lib/esm/ram/types.js +1 -1
  113. package/lib/esm/ram/types.js.map +1 -0
  114. package/lib/esm/repository/Repository.js +1 -1
  115. package/lib/esm/repository/Repository.js.map +1 -0
  116. package/lib/esm/repository/constants.js +1 -1
  117. package/lib/esm/repository/constants.js.map +1 -0
  118. package/lib/esm/repository/decorators.js +1 -1
  119. package/lib/esm/repository/decorators.js.map +1 -0
  120. package/lib/esm/repository/errors.js +1 -1
  121. package/lib/esm/repository/errors.js.map +1 -0
  122. package/lib/esm/repository/index.js +1 -1
  123. package/lib/esm/repository/index.js.map +1 -0
  124. package/lib/esm/repository/injectables.js +1 -1
  125. package/lib/esm/repository/injectables.js.map +1 -0
  126. package/lib/esm/repository/types.js +1 -1
  127. package/lib/esm/repository/types.js.map +1 -0
  128. package/lib/esm/repository/utils.js +1 -1
  129. package/lib/esm/repository/utils.js.map +1 -0
  130. package/lib/esm/utils/decorators.js +1 -1
  131. package/lib/esm/utils/decorators.js.map +1 -0
  132. package/lib/esm/utils/errors.js +1 -1
  133. package/lib/esm/utils/errors.js.map +1 -0
  134. package/lib/esm/utils/index.js +1 -1
  135. package/lib/esm/utils/index.js.map +1 -0
  136. package/lib/identity/decorators.cjs +1 -1
  137. package/lib/identity/decorators.js.map +1 -0
  138. package/lib/identity/index.cjs +1 -1
  139. package/lib/identity/index.js.map +1 -0
  140. package/lib/identity/utils.cjs +1 -1
  141. package/lib/identity/utils.js.map +1 -0
  142. package/lib/index.cjs +12 -3
  143. package/lib/index.d.ts +8 -1
  144. package/lib/index.js.map +1 -0
  145. package/lib/interfaces/ErrorParser.cjs +1 -1
  146. package/lib/interfaces/ErrorParser.js.map +1 -0
  147. package/lib/interfaces/Executor.cjs +1 -1
  148. package/lib/interfaces/Executor.js.map +1 -0
  149. package/lib/interfaces/Observable.cjs +1 -1
  150. package/lib/interfaces/Observable.js.map +1 -0
  151. package/lib/interfaces/Observer.cjs +1 -1
  152. package/lib/interfaces/Observer.js.map +1 -0
  153. package/lib/interfaces/Paginatable.cjs +1 -1
  154. package/lib/interfaces/Paginatable.js.map +1 -0
  155. package/lib/interfaces/Queriable.cjs +1 -1
  156. package/lib/interfaces/Queriable.js.map +1 -0
  157. package/lib/interfaces/RawExecutor.cjs +1 -1
  158. package/lib/interfaces/RawExecutor.js.map +1 -0
  159. package/lib/interfaces/SequenceOptions.cjs +1 -1
  160. package/lib/interfaces/SequenceOptions.js.map +1 -0
  161. package/lib/interfaces/index.cjs +1 -1
  162. package/lib/interfaces/index.js.map +1 -0
  163. package/lib/model/BaseModel.cjs +1 -1
  164. package/lib/model/BaseModel.js.map +1 -0
  165. package/lib/model/construction.cjs +1 -1
  166. package/lib/model/construction.js.map +1 -0
  167. package/lib/model/decorators.cjs +1 -1
  168. package/lib/model/decorators.js.map +1 -0
  169. package/lib/model/index.cjs +1 -1
  170. package/lib/model/index.js.map +1 -0
  171. package/lib/model/types.cjs +1 -1
  172. package/lib/model/types.js.map +1 -0
  173. package/lib/overrides/Metadata.cjs +1 -1
  174. package/lib/overrides/Metadata.js.map +1 -0
  175. package/lib/overrides/index.cjs +1 -1
  176. package/lib/overrides/index.js.map +1 -0
  177. package/lib/overrides/overrides.cjs +1 -1
  178. package/lib/overrides/overrides.js.map +1 -0
  179. package/lib/persistence/Adapter.cjs +1 -1
  180. package/lib/persistence/Adapter.js.map +1 -0
  181. package/lib/persistence/Dispatch.cjs +1 -1
  182. package/lib/persistence/Dispatch.js.map +1 -0
  183. package/lib/persistence/ObserverHandler.cjs +1 -1
  184. package/lib/persistence/ObserverHandler.js.map +1 -0
  185. package/lib/persistence/Sequence.cjs +1 -1
  186. package/lib/persistence/Sequence.js.map +1 -0
  187. package/lib/persistence/constants.cjs +1 -1
  188. package/lib/persistence/constants.js.map +1 -0
  189. package/lib/persistence/decorators.cjs +1 -1
  190. package/lib/persistence/decorators.js.map +1 -0
  191. package/lib/persistence/errors.cjs +1 -1
  192. package/lib/persistence/errors.js.map +1 -0
  193. package/lib/persistence/index.cjs +1 -1
  194. package/lib/persistence/index.js.map +1 -0
  195. package/lib/persistence/types.cjs +1 -1
  196. package/lib/persistence/types.js.map +1 -0
  197. package/lib/query/Condition.cjs +1 -1
  198. package/lib/query/Condition.js.map +1 -0
  199. package/lib/query/MethodQueryBuilder.cjs +1 -1
  200. package/lib/query/MethodQueryBuilder.js.map +1 -0
  201. package/lib/query/Paginator.cjs +1 -1
  202. package/lib/query/Paginator.js.map +1 -0
  203. package/lib/query/Statement.cjs +1 -1
  204. package/lib/query/Statement.js.map +1 -0
  205. package/lib/query/constants.cjs +1 -1
  206. package/lib/query/constants.js.map +1 -0
  207. package/lib/query/decorators.cjs +1 -1
  208. package/lib/query/decorators.js.map +1 -0
  209. package/lib/query/errors.cjs +1 -1
  210. package/lib/query/errors.js.map +1 -0
  211. package/lib/query/index.cjs +1 -1
  212. package/lib/query/index.js.map +1 -0
  213. package/lib/query/options.cjs +1 -1
  214. package/lib/query/options.js.map +1 -0
  215. package/lib/query/selectors.cjs +1 -1
  216. package/lib/query/selectors.js.map +1 -0
  217. package/lib/query/types.cjs +1 -1
  218. package/lib/query/types.js.map +1 -0
  219. package/lib/query/utils.cjs +1 -1
  220. package/lib/query/utils.js.map +1 -0
  221. package/lib/ram/RamAdapter.cjs +1 -1
  222. package/lib/ram/RamAdapter.js.map +1 -0
  223. package/lib/ram/RamContext.cjs +1 -1
  224. package/lib/ram/RamContext.js.map +1 -0
  225. package/lib/ram/RamPaginator.cjs +1 -1
  226. package/lib/ram/RamPaginator.js.map +1 -0
  227. package/lib/ram/RamSequence.cjs +1 -1
  228. package/lib/ram/RamSequence.js.map +1 -0
  229. package/lib/ram/RamStatement.cjs +1 -1
  230. package/lib/ram/RamStatement.js.map +1 -0
  231. package/lib/ram/constants.cjs +1 -1
  232. package/lib/ram/constants.js.map +1 -0
  233. package/lib/ram/handlers.cjs +1 -1
  234. package/lib/ram/handlers.js.map +1 -0
  235. package/lib/ram/index.cjs +1 -1
  236. package/lib/ram/index.js.map +1 -0
  237. package/lib/ram/model/RamSequenceModel.cjs +1 -1
  238. package/lib/ram/model/RamSequenceModel.js.map +1 -0
  239. package/lib/ram/model/index.cjs +1 -1
  240. package/lib/ram/model/index.js.map +1 -0
  241. package/lib/ram/types.cjs +1 -1
  242. package/lib/ram/types.js.map +1 -0
  243. package/lib/repository/Repository.cjs +1 -1
  244. package/lib/repository/Repository.js.map +1 -0
  245. package/lib/repository/constants.cjs +1 -1
  246. package/lib/repository/constants.js.map +1 -0
  247. package/lib/repository/decorators.cjs +1 -1
  248. package/lib/repository/decorators.js.map +1 -0
  249. package/lib/repository/errors.cjs +1 -1
  250. package/lib/repository/errors.js.map +1 -0
  251. package/lib/repository/index.cjs +1 -1
  252. package/lib/repository/index.js.map +1 -0
  253. package/lib/repository/injectables.cjs +1 -1
  254. package/lib/repository/injectables.js.map +1 -0
  255. package/lib/repository/types.cjs +1 -1
  256. package/lib/repository/types.js.map +1 -0
  257. package/lib/repository/utils.cjs +1 -1
  258. package/lib/repository/utils.js.map +1 -0
  259. package/lib/utils/decorators.cjs +1 -1
  260. package/lib/utils/decorators.js.map +1 -0
  261. package/lib/utils/errors.cjs +1 -1
  262. package/lib/utils/errors.js.map +1 -0
  263. package/lib/utils/index.cjs +1 -1
  264. package/lib/utils/index.js.map +1 -0
  265. package/package.json +12 -22
  266. package/dist/core.esm.cjs +0 -5704
@@ -814,4 +814,4 @@ __decorate([
814
814
  ], Repository.prototype, "unObserve", null);
815
815
  if (Adapter)
816
816
  Adapter["_baseRepository"] = Repository;
817
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXBvc2l0b3J5L1JlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUVMLE9BQU8sRUFDUCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsYUFBYSxFQUViLGFBQWEsRUFDYixVQUFVLElBQUksR0FBRyxFQUVqQixlQUFlLEVBQ2YscUJBQXFCLEdBQ3RCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQ0FBK0I7QUFDakQsT0FBTyxFQUFlLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsc0NBQWlDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsdUJBQW9CO0FBRzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLHFDQUFnQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGdDQUEyQjtBQUcvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSwrQkFBMEI7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSx1Q0FBa0M7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSw0Q0FBdUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSw0QkFBaUI7QUEwQmpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHO0FBQ0gsTUFBTSxPQUFPLFVBT1gsU0FBUSxHQUFZO2FBR0wsV0FBTSxHQUdqQixFQUFFLEFBSGUsQ0FHZDtJQVlQOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDZCxJQUFJLENBQUMsTUFBTSxHQUNULElBQUksQ0FBQyxP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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgQ29udGV4dCxcbiAgREJLZXlzLFxuICBEZWZhdWx0U2VwYXJhdG9yLFxuICBlbmZvcmNlREJEZWNvcmF0b3JzLFxuICBmaW5kUHJpbWFyeUtleSxcbiAgSW50ZXJuYWxFcnJvcixcbiAgSVJlcG9zaXRvcnksXG4gIE9wZXJhdGlvbktleXMsXG4gIFJlcG9zaXRvcnkgYXMgUmVwLFxuICBSZXBvc2l0b3J5RmxhZ3MsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgd3JhcE1ldGhvZFdpdGhDb250ZXh0LFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9PYnNlcnZhYmxlXCI7XG5pbXBvcnQgeyB0eXBlIE9ic2VydmVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvT2JzZXJ2ZXJcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvQWRhcHRlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgT3JkZXJEaXJlY3Rpb24gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFNlcXVlbmNlT3B0aW9ucyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL1NlcXVlbmNlT3B0aW9uc1wiO1xuaW1wb3J0IHsgUXVlcmlhYmxlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvUXVlcmlhYmxlXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBJbmRleE1ldGFkYXRhIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFNlcXVlbmNlIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL1NlcXVlbmNlXCI7XG5pbXBvcnQgeyBDb25kaXRpb24gfSBmcm9tIFwiLi4vcXVlcnkvQ29uZGl0aW9uXCI7XG5pbXBvcnQgeyBXaGVyZU9wdGlvbiB9IGZyb20gXCIuLi9xdWVyeS9vcHRpb25zXCI7XG5pbXBvcnQgeyBPcmRlckJ5U2VsZWN0b3IsIFNlbGVjdFNlbGVjdG9yIH0gZnJvbSBcIi4uL3F1ZXJ5L3NlbGVjdG9yc1wiO1xuaW1wb3J0IHsgZ2V0Q29sdW1uTmFtZSwgZ2V0VGFibGVOYW1lIH0gZnJvbSBcIi4uL2lkZW50aXR5L3V0aWxzXCI7XG5pbXBvcnQgeyB1c2VzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgT2JzZXJ2ZXJIYW5kbGVyIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL09ic2VydmVySGFuZGxlclwiO1xuaW1wb3J0IHsgZmluYWwgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7XG4gIEV2ZW50SWRzLFxuICBJbmZlcnJlZEFkYXB0ZXJDb25maWcsXG4gIHR5cGUgT2JzZXJ2ZXJGaWx0ZXIsXG59IGZyb20gXCIuLi9wZXJzaXN0ZW5jZVwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGFsaWFzIGZvciBSZXBvc2l0b3J5IGNsYXNzIHdpdGggc2ltcGxpZmllZCBnZW5lcmljIHBhcmFtZXRlcnMuXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBhIG1vcmUgY29uY2lzZSB3YXkgdG8gcmVmZXJlbmNlIHRoZSBSZXBvc2l0b3J5IGNsYXNzIHdpdGggaXRzIGdlbmVyaWMgcGFyYW1ldGVycy5cbiAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhhdCBleHRlbmRzIE1vZGVsLlxuICogQHRlbXBsYXRlIEYgLSBUaGUgcmVwb3NpdG9yeSBmbGFncyB0eXBlLlxuICogQHRlbXBsYXRlIEMgLSBUaGUgY29udGV4dCB0eXBlLlxuICogQHRlbXBsYXRlIFEgLSBUaGUgcXVlcnkgdHlwZS5cbiAqIEB0ZW1wbGF0ZSBBIC0gVGhlIGFkYXB0ZXIgdHlwZS5cbiAqIEB0eXBlZGVmIFJlcG9cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgdHlwZSBSZXBvPFxuICBNIGV4dGVuZHMgTW9kZWw8Ym9vbGVhbj4sXG4gIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBhbnksXG4gIEMgZXh0ZW5kcyBDb250ZXh0PEY+ID0gYW55LFxuICBRID0gYW55LFxuICBBIGV4dGVuZHMgQWRhcHRlcjxhbnksIGFueSwgUSwgRiwgQz4gPSBhbnksXG4+ID0gUmVwb3NpdG9yeTxNLCBRLCBBLCBGLCBDPjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29yZSByZXBvc2l0b3J5IGltcGxlbWVudGF0aW9uIGZvciBkYXRhYmFzZSBvcGVyYXRpb25zIG9uIG1vZGVscyBvbiBhIHRhYmxlIGJ5IHRhYmxlIHdheS5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIENSVUQgb3BlcmF0aW9ucywgcXVlcnlpbmcgY2FwYWJpbGl0aWVzLCBhbmQgb2JzZXJ2ZXIgcGF0dGVybiBpbXBsZW1lbnRhdGlvbiBmb3IgbW9kZWwgcGVyc2lzdGVuY2UuXG4gKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAqIEB0ZW1wbGF0ZSBRIC0gVGhlIHF1ZXJ5IHR5cGUgdXNlZCBieSB0aGUgYWRhcHRlci5cbiAqIEB0ZW1wbGF0ZSBBIC0gVGhlIGFkYXB0ZXIgdHlwZSBmb3IgZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAqIEB0ZW1wbGF0ZSBGIC0gVGhlIHJlcG9zaXRvcnkgZmxhZ3MgdHlwZS5cbiAqIEB0ZW1wbGF0ZSBDIC0gVGhlIGNvbnRleHQgdHlwZSBmb3Igb3BlcmF0aW9ucy5cbiAqIEBwYXJhbSB7QX0gW2FkYXB0ZXJdIC0gT3B0aW9uYWwgYWRhcHRlciBpbnN0YW5jZSBmb3IgZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IFtjbGF6el0gLSBPcHRpb25hbCBjb25zdHJ1Y3RvciBmb3IgdGhlIG1vZGVsIGNsYXNzLlxuICogQHBhcmFtIHsuLi5hbnlbXX0gW2FyZ3NdIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgZm9yIHJlcG9zaXRvcnkgaW5pdGlhbGl6YXRpb24uXG4gKiBAY2xhc3MgUmVwb3NpdG9yeVxuICogQGV4YW1wbGVcbiAqIC8vIENyZWF0aW5nIGEgcmVwb3NpdG9yeSBmb3IgVXNlciBtb2RlbFxuICogY29uc3QgdXNlclJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKFVzZXIpO1xuICpcbiAqIC8vIFVzaW5nIHRoZSByZXBvc2l0b3J5IGZvciBDUlVEIG9wZXJhdGlvbnNcbiAqIGNvbnN0IHVzZXIgPSBhd2FpdCB1c2VyUmVwby5jcmVhdGUobmV3IFVzZXIoeyBuYW1lOiAnSm9obicgfSkpO1xuICogY29uc3QgcmV0cmlldmVkVXNlciA9IGF3YWl0IHVzZXJSZXBvLnJlYWQodXNlci5pZCk7XG4gKiB1c2VyLm5hbWUgPSAnSmFuZSc7XG4gKiBhd2FpdCB1c2VyUmVwby51cGRhdGUodXNlcik7XG4gKiBhd2FpdCB1c2VyUmVwby5kZWxldGUodXNlci5pZCk7XG4gKlxuICogLy8gUXVlcnlpbmcgd2l0aCBjb25kaXRpb25zXG4gKiBjb25zdCB1c2VycyA9IGF3YWl0IHVzZXJSZXBvXG4gKiAgIC5zZWxlY3QoKVxuICogICAud2hlcmUoeyBuYW1lOiAnSmFuZScgfSlcbiAqICAgLm9yZGVyQnkoJ2NyZWF0ZWRBdCcsIE9yZGVyRGlyZWN0aW9uLkRTQylcbiAqICAgLmxpbWl0KDEwKVxuICogICAuZXhlY3V0ZSgpO1xuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudCBDb2RlXG4gKiAgIHBhcnRpY2lwYW50IFIgYXMgUmVwb3NpdG9yeVxuICogICBwYXJ0aWNpcGFudCBBIGFzIEFkYXB0ZXJcbiAqICAgcGFydGljaXBhbnQgREIgYXMgRGF0YWJhc2VcbiAqICAgcGFydGljaXBhbnQgTyBhcyBPYnNlcnZlcnNcbiAqXG4gKiAgIEMtPj4rUjogY3JlYXRlKG1vZGVsKVxuICogICBSLT4+UjogY3JlYXRlUHJlZml4KG1vZGVsKVxuICogICBSLT4+K0E6IHByZXBhcmUobW9kZWwpXG4gKiAgIEEtLT4+LVI6IHByZXBhcmVkIGRhdGFcbiAqICAgUi0+PitBOiBjcmVhdGUodGFibGUsIGlkLCByZWNvcmQpXG4gKiAgIEEtPj4rREI6IEluc2VydCBPcGVyYXRpb25cbiAqICAgREItLT4+LUE6IFJlc3VsdFxuICogICBBLS0+Pi1SOiByZWNvcmRcbiAqICAgUi0+PitBOiByZXZlcnQocmVjb3JkKVxuICogICBBLS0+Pi1SOiBtb2RlbCBpbnN0YW5jZVxuICogICBSLT4+UjogY3JlYXRlU3VmZml4KG1vZGVsKVxuICogICBSLT4+K086IHVwZGF0ZU9ic2VydmVycyh0YWJsZSwgQ1JFQVRFLCBpZClcbiAqICAgTy0tPj4tUjogTm90aWZpY2F0aW9uIGNvbXBsZXRlXG4gKiAgIFItLT4+LUM6IGNyZWF0ZWQgbW9kZWxcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcG9zaXRvcnk8XG4gICAgTSBleHRlbmRzIE1vZGVsPGJvb2xlYW4+LFxuICAgIFEsXG4gICAgQSBleHRlbmRzIEFkYXB0ZXI8YW55LCBhbnksIFEsIEYsIEM+LFxuICAgIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBSZXBvc2l0b3J5RmxhZ3MsXG4gICAgQyBleHRlbmRzIENvbnRleHQ8Rj4gPSBDb250ZXh0PEY+LFxuICA+XG4gIGV4dGVuZHMgUmVwPE0sIEYsIEM+XG4gIGltcGxlbWVudHMgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFF1ZXJpYWJsZTxNPiwgSVJlcG9zaXRvcnk8TSwgRiwgQz5cbntcbiAgcHJpdmF0ZSBzdGF0aWMgX2NhY2hlOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIENvbnN0cnVjdG9yPFJlcG88TW9kZWw+PiB8IFJlcG88TW9kZWw+XG4gID4gPSB7fTtcblxuICBwcm90ZWN0ZWQgb2JzZXJ2ZXJzOiBPYnNlcnZlcltdID0gW107XG5cbiAgcHJvdGVjdGVkIG9ic2VydmVySGFuZGxlcj86IE9ic2VydmVySGFuZGxlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hZGFwdGVyITogQTtcbiAgcHJpdmF0ZSBfdGFibGVOYW1lITogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX292ZXJyaWRlcz86IFBhcnRpYWw8Rj47XG5cbiAgcHJpdmF0ZSBsb2dnZXIhOiBMb2dnZXI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dnZXIgaW5zdGFuY2UgZm9yIHRoaXMgcmVwb3NpdG9yeS5cbiAgICogQHN1bW1hcnkgUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBsb2dnZXIgZm9yIHRoaXMgcmVwb3NpdG9yeSBpbnN0YW5jZS5cbiAgICogQHJldHVybiB7TG9nZ2VyfSBUaGUgbG9nZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgZ2V0IGxvZygpOiBMb2dnZXIge1xuICAgIGlmICghdGhpcy5sb2dnZXIpXG4gICAgICB0aGlzLmxvZ2dlciA9IChcbiAgICAgICAgdGhpcy5hZGFwdGVyW1wibG9nXCIgYXMga2V5b2YgdHlwZW9mIHRoaXMuYWRhcHRlcl0gYXMgTG9nZ2VyXG4gICAgICApLmZvcih0aGlzLnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiB0aGlzLmxvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWRhcHRlciBmb3IgZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICogQHN1bW1hcnkgUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhZGFwdGVyIGluc3RhbmNlIGZvciB0aGlzIHJlcG9zaXRvcnkuXG4gICAqIEB0ZW1wbGF0ZSBBIC0gVGhlIGFkYXB0ZXIgdHlwZS5cbiAgICogQHJldHVybiB7QX0gVGhlIGFkYXB0ZXIgaW5zdGFuY2UuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIG5vIGFkYXB0ZXIgaXMgZm91bmQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFkYXB0ZXIoKTogQSB7XG4gICAgaWYgKCF0aGlzLl9hZGFwdGVyKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBObyBhZGFwdGVyIGZvdW5kIGZvciB0aGlzIHJlcG9zaXRvcnkuIGRpZCB5b3UgdXNlIHRoZSBAdXNlcyBkZWNvcmF0b3Igb3IgcGFzcyBpdCBpbiB0aGUgY29uc3RydWN0b3I/YFxuICAgICAgKTtcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGFibGUgbmFtZSBmb3IgdGhpcyByZXBvc2l0b3J5J3MgbW9kZWwuXG4gICAqIEBzdW1tYXJ5IEdldHMgdGhlIGRhdGFiYXNlIHRhYmxlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVwb3NpdG9yeSdzIG1vZGVsLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0YWJsZSBuYW1lLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB0YWJsZU5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3RhYmxlTmFtZSkgdGhpcy5fdGFibGVOYW1lID0gUmVwb3NpdG9yeS50YWJsZSh0aGlzLmNsYXNzKTtcbiAgICByZXR1cm4gdGhpcy5fdGFibGVOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmltYXJ5IGtleSBwcm9wZXJ0aWVzIGZvciB0aGlzIHJlcG9zaXRvcnkncyBtb2RlbC5cbiAgICogQHN1bW1hcnkgR2V0cyB0aGUgc2VxdWVuY2Ugb3B0aW9ucyBjb250YWluaW5nIHByaW1hcnkga2V5IGluZm9ybWF0aW9uLlxuICAgKiBAcmV0dXJuIHtTZXF1ZW5jZU9wdGlvbnN9IFRoZSBwcmltYXJ5IGtleSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldCBwa1Byb3BzKCk6IFNlcXVlbmNlT3B0aW9ucyB7XG4gICAgcmV0dXJuIHN1cGVyLnBrUHJvcHM7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI/OiBBLCBjbGF6ej86IENvbnN0cnVjdG9yPE0+LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIHN1cGVyKGNsYXp6KTtcbiAgICBpZiAoYWRhcHRlcikgdGhpcy5fYWRhcHRlciA9IGFkYXB0ZXI7XG4gICAgaWYgKGNsYXp6KSB7XG4gICAgICBSZXBvc2l0b3J5LnJlZ2lzdGVyKGNsYXp6LCB0aGlzLCB0aGlzLmFkYXB0ZXIuYWxpYXMpO1xuICAgICAgaWYgKGFkYXB0ZXIpIHtcbiAgICAgICAgY29uc3QgZmxhdm91ciA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgICAgICAgQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLFxuICAgICAgICAgIGNsYXp6XG4gICAgICAgICk7XG4gICAgICAgIGlmIChmbGF2b3VyICYmIGZsYXZvdXIgIT09IGFkYXB0ZXIuZmxhdm91cilcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkluY29tcGF0aWJsZSBmbGF2b3Vyc1wiKTtcbiAgICAgICAgdXNlcyhhZGFwdGVyLmZsYXZvdXIpKGNsYXp6KTtcbiAgICAgIH1cbiAgICB9XG4gICAgW3RoaXMuY3JlYXRlQWxsLCB0aGlzLnJlYWRBbGwsIHRoaXMudXBkYXRlQWxsLCB0aGlzLmRlbGV0ZUFsbF0uZm9yRWFjaChcbiAgICAgIChtKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBtLm5hbWU7XG4gICAgICAgIHdyYXBNZXRob2RXaXRoQ29udGV4dChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICh0aGlzIGFzIGFueSlbbmFtZSArIFwiUHJlZml4XCJdLFxuICAgICAgICAgIG0sXG4gICAgICAgICAgKHRoaXMgYXMgYW55KVtuYW1lICsgXCJTdWZmaXhcIl1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgcHJveHkgd2l0aCBvdmVycmlkZGVuIHJlcG9zaXRvcnkgZmxhZ3MuXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYSBwcm94eSBvZiB0aGlzIHJlcG9zaXRvcnkgd2l0aCB0aGUgc3BlY2lmaWVkIGZsYWdzIG92ZXJyaWRkZW4uXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGPn0gZmxhZ3MgLSBUaGUgZmxhZ3MgdG8gb3ZlcnJpZGUuXG4gICAqIEByZXR1cm4ge1JlcG9zaXRvcnl9IEEgcHJveHkgb2YgdGhpcyByZXBvc2l0b3J5IHdpdGggb3ZlcnJpZGRlbiBmbGFncy5cbiAgICovXG4gIG92ZXJyaWRlKGZsYWdzOiBQYXJ0aWFsPEY+KTogUmVwb3NpdG9yeTxNLCBRLCBBLCBGLCBDPiB7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5vdmVycmlkZSlcbiAgICAgIC5kZWJ1ZyhgT3ZlcnJpZGluZyByZXBvc2l0b3J5IGZsYWdzIHdpdGggJHtKU09OLnN0cmluZ2lmeShmbGFncyl9YCk7XG4gICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLCB7XG4gICAgICBnZXQ6ICh0YXJnZXQ6IHR5cGVvZiB0aGlzLCBwOiBzdHJpbmcgfCBzeW1ib2wsIHJlY2VpdmVyOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwLCByZWNlaXZlcik7XG4gICAgICAgIGlmIChwICE9PSBcIl9vdmVycmlkZXNcIikgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHJlc3VsdCwgZmxhZ3MpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgUmVwb3NpdG9yeSBjbGFzcyB3aXRoIGEgc3BlY2lmaWMgYWRhcHRlciBhbmQgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAdGVtcGxhdGUgQSAtIFRoZSB0eXBlIG9mIHRoZSBhZGFwdGVyLlxuICAgKiBAdGVtcGxhdGUgUSAtIFRoZSB0eXBlIG9mIHRoZSBxdWVyeSBidWlsZGVyLlxuICAgKiBAdGVtcGxhdGUgRiAtIFRoZSB0eXBlIG9mIHRoZSBmaWx0ZXIuXG4gICAqIEB0ZW1wbGF0ZSBDIC0gVGhlIHR5cGUgb2YgdGhlIGNvbnRleHQuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGlhbDxJbmZlcnJlZEFkYXB0ZXJDb25maWc8QT4+fSBjb25mIC0gYWRhcHRlciBjb25maWd1cmF0aW9ucyB0byBvdmVycmlkZS5cbiAgICogQHBhcmFtIFthcmdzXSAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgbmV3IGluc3RhbmNlLlxuICAgKlxuICAgKiBAcmV0dXJuIEEgbmV3IGluc3RhbmNlIG9mIHRoZSBSZXBvc2l0b3J5IGNsYXNzIHdpdGggdGhlIHNwZWNpZmllZCBhZGFwdGVyIGFuZCBhcmd1bWVudHMuXG4gICAqL1xuICBmb3IoXG4gICAgY29uZjogUGFydGlhbDxJbmZlcnJlZEFkYXB0ZXJDb25maWc8QT4+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFJlcG9zaXRvcnk8TSwgUSwgQSwgRiwgQz4ge1xuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xuICAgICAgZ2V0OiAodGFyZ2V0OiBhbnksIHA6IHN0cmluZyB8IHN5bWJvbCwgcmVjZWl2ZXI6IGFueSkgPT4ge1xuICAgICAgICBpZiAocCA9PT0gXCJhZGFwdGVyXCIpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmZvcihjb25mLCAuLi5hcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBwLCByZWNlaXZlcik7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IG9ic2VydmVyIGhhbmRsZXIuXG4gICAqIEBzdW1tYXJ5IEZhY3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBhbiBvYnNlcnZlciBoYW5kbGVyIGluc3RhbmNlLlxuICAgKiBAcmV0dXJuIHtPYnNlcnZlckhhbmRsZXJ9IEEgbmV3IG9ic2VydmVyIGhhbmRsZXIgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgT2JzZXJ2ZXJIYW5kbGVyKCk6IE9ic2VydmVySGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZlckhhbmRsZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJlcGFyZXMgYSBtb2RlbCBmb3IgY3JlYXRpb24uXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyB0aGUgbW9kZWwgYW5kIHByZXBhcmVzIGl0IGZvciBjcmVhdGlvbiBpbiB0aGUgZGF0YWJhc2UuXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUuXG4gICAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgdG8gY3JlYXRlLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4gVGhlIHByZXBhcmVkIG1vZGVsIGFuZCBjb250ZXh0IGFyZ3VtZW50cy5cbiAgICogQHRocm93cyB7VmFsaWRhdGlvbkVycm9yfSBJZiB0aGUgbW9kZWwgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBjcmVhdGVQcmVmaXgoXG4gICAgbW9kZWw6IE0sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxbTSwgLi4uYW55W11dPiB7XG4gICAgY29uc3QgY29udGV4dEFyZ3MgPSBhd2FpdCBDb250ZXh0LmFyZ3M8TSwgQywgRj4oXG4gICAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICAgIHRoaXMuY2xhc3MsXG4gICAgICBhcmdzLFxuICAgICAgdGhpcy5hZGFwdGVyLFxuICAgICAgdGhpcy5fb3ZlcnJpZGVzIHx8IHt9XG4gICAgKTtcbiAgICBtb2RlbCA9IG5ldyB0aGlzLmNsYXNzKG1vZGVsKTtcbiAgICBhd2FpdCBlbmZvcmNlREJEZWNvcmF0b3JzKFxuICAgICAgdGhpcyxcbiAgICAgIGNvbnRleHRBcmdzLmNvbnRleHQsXG4gICAgICBtb2RlbCxcbiAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgT3BlcmF0aW9uS2V5cy5PTlxuICAgICk7XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoXG4gICAgICBtb2RlbC5oYXNFcnJvcnMoXG4gICAgICAgIC4uLihjb250ZXh0QXJncy5jb250ZXh0LmdldChcImlnbm9yZWRWYWxpZGF0aW9uUHJvcGVydGllc1wiKSB8fCBbXSlcbiAgICAgIClcbiAgICApO1xuICAgIGlmIChlcnJvcnMpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyb3JzLnRvU3RyaW5nKCkpO1xuXG4gICAgcmV0dXJuIFttb2RlbCwgLi4uY29udGV4dEFyZ3MuYXJnc107XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBtb2RlbCBpbiB0aGUgZGF0YWJhc2UuXG4gICAqIEBzdW1tYXJ5IFBlcnNpc3RzIGEgbW9kZWwgaW5zdGFuY2UgdG8gdGhlIGRhdGFiYXNlLlxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIHRvIGNyZWF0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE0+fSBUaGUgY3JlYXRlZCBtb2RlbCB3aXRoIHVwZGF0ZWQgcHJvcGVydGllcy5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZShtb2RlbDogTSwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPE0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgcmVjb3JkLCBpZCwgdHJhbnNpZW50IH0gPSB0aGlzLmFkYXB0ZXIucHJlcGFyZShtb2RlbCwgdGhpcy5wayk7XG4gICAgcmVjb3JkID0gYXdhaXQgdGhpcy5hZGFwdGVyLmNyZWF0ZSh0aGlzLnRhYmxlTmFtZSwgaWQsIHJlY29yZCwgLi4uYXJncyk7XG4gICAgbGV0IGM6IEMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGFyZ3MubGVuZ3RoKSBjID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdIGFzIEM7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXZlcnQ8TT4oXG4gICAgICByZWNvcmQsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgdGhpcy5wayxcbiAgICAgIGlkLFxuICAgICAgYyAmJiBjLmdldChcInJlYnVpbGRXaXRoVHJhbnNpZW50XCIpID8gdHJhbnNpZW50IDogdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUG9zdC1jcmVhdGlvbiBob29rLlxuICAgKiBAc3VtbWFyeSBFeGVjdXRlcyBhZnRlciBhIG1vZGVsIGlzIGNyZWF0ZWQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIG9wZXJhdGlvbnMuXG4gICAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgY3JlYXRlZCBtb2RlbC5cbiAgICogQHBhcmFtIHtDfSBjb250ZXh0IC0gVGhlIG9wZXJhdGlvbiBjb250ZXh0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE0+fSBUaGUgcHJvY2Vzc2VkIG1vZGVsLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlU3VmZml4KG1vZGVsOiBNLCBjb250ZXh0OiBDKTogUHJvbWlzZTxNPiB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVN1ZmZpeChtb2RlbCwgY29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgbXVsdGlwbGUgbW9kZWxzIGluIHRoZSBkYXRhYmFzZS5cbiAgICogQHN1bW1hcnkgUGVyc2lzdHMgbXVsdGlwbGUgbW9kZWwgaW5zdGFuY2VzIHRvIHRoZSBkYXRhYmFzZSBpbiBhIGJhdGNoIG9wZXJhdGlvbi5cbiAgICogQHBhcmFtIHtNW119IG1vZGVscyAtIFRoZSBtb2RlbHMgdG8gY3JlYXRlLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8TVtdPn0gVGhlIGNyZWF0ZWQgbW9kZWxzIHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlQWxsKG1vZGVsczogTVtdLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TVtdPiB7XG4gICAgaWYgKCFtb2RlbHMubGVuZ3RoKSByZXR1cm4gbW9kZWxzO1xuICAgIGNvbnN0IHByZXBhcmVkID0gbW9kZWxzLm1hcCgobSkgPT4gdGhpcy5hZGFwdGVyLnByZXBhcmUobSwgdGhpcy5waykpO1xuICAgIGNvbnN0IGlkcyA9IHByZXBhcmVkLm1hcCgocCkgPT4gcC5pZCk7XG4gICAgbGV0IHJlY29yZHMgPSBwcmVwYXJlZC5tYXAoKHApID0+IHAucmVjb3JkKTtcbiAgICByZWNvcmRzID0gYXdhaXQgdGhpcy5hZGFwdGVyLmNyZWF0ZUFsbChcbiAgICAgIHRoaXMudGFibGVOYW1lLFxuICAgICAgaWRzIGFzIChzdHJpbmcgfCBudW1iZXIpW10sXG4gICAgICByZWNvcmRzLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gICAgcmV0dXJuIHJlY29yZHMubWFwKChyLCBpKSA9PlxuICAgICAgdGhpcy5hZGFwdGVyLnJldmVydChyLCB0aGlzLmNsYXNzLCB0aGlzLnBrLCBpZHNbaV0gYXMgc3RyaW5nIHwgbnVtYmVyKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIG11bHRpcGxlIG1vZGVscyBmb3IgY3JlYXRpb24uXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBtdWx0aXBsZSBtb2RlbHMgYW5kIHByZXBhcmVzIHRoZW0gZm9yIGNyZWF0aW9uIGluIHRoZSBkYXRhYmFzZS5cbiAgICogQHBhcmFtIHtNW119IG1vZGVscyAtIFRoZSBtb2RlbHMgdG8gY3JlYXRlLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4gVGhlIHByZXBhcmVkIG1vZGVscyBhbmQgY29udGV4dCBhcmd1bWVudHMuXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gSWYgYW55IG1vZGVsIGZhaWxzIHZhbGlkYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlQWxsUHJlZml4KG1vZGVsczogTVtdLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGNvbnRleHRBcmdzID0gYXdhaXQgQ29udGV4dC5hcmdzKFxuICAgICAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgYXJncyxcbiAgICAgIHRoaXMuYWRhcHRlcixcbiAgICAgIHRoaXMuX292ZXJyaWRlcyB8fCB7fVxuICAgICk7XG4gICAgaWYgKCFtb2RlbHMubGVuZ3RoKSByZXR1cm4gW21vZGVscywgLi4uY29udGV4dEFyZ3MuYXJnc107XG4gICAgY29uc3Qgb3B0cyA9IFJlcG9zaXRvcnkuZ2V0U2VxdWVuY2VPcHRpb25zKG1vZGVsc1swXSk7XG4gICAgbGV0IGlkczogKHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCB8IHVuZGVmaW5lZClbXSA9IFtdO1xuICAgIGlmIChvcHRzLnR5cGUpIHtcbiAgICAgIGlmICghb3B0cy5uYW1lKSBvcHRzLm5hbWUgPSBTZXF1ZW5jZS5wayhtb2RlbHNbMF0pO1xuICAgICAgaWRzID0gYXdhaXQgKGF3YWl0IHRoaXMuYWRhcHRlci5TZXF1ZW5jZShvcHRzKSkucmFuZ2UobW9kZWxzLmxlbmd0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkcyA9IG1vZGVscy5tYXAoKG0sIGkpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBtW3RoaXMucGtdID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYFByaW1hcnkga2V5IGlzIG5vdCBkZWZpbmVkIGZvciBtb2RlbCBpbiBwb3NpdGlvbiAke2l9YFxuICAgICAgICAgICk7XG4gICAgICAgIHJldHVybiBtW3RoaXMucGtdIGFzIHN0cmluZztcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG1vZGVscyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgbW9kZWxzLm1hcChhc3luYyAobSwgaSkgPT4ge1xuICAgICAgICBtID0gbmV3IHRoaXMuY2xhc3MobSk7XG4gICAgICAgIGlmIChvcHRzLnR5cGUpIHtcbiAgICAgICAgICBtW3RoaXMucGtdID0gKFxuICAgICAgICAgICAgb3B0cy50eXBlICE9PSBcIlN0cmluZ1wiXG4gICAgICAgICAgICAgID8gaWRzW2ldXG4gICAgICAgICAgICAgIDogb3B0cy5nZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICA/IGlkc1tpXVxuICAgICAgICAgICAgICAgIDogYCR7bVt0aGlzLnBrXX1gLnRvU3RyaW5nKClcbiAgICAgICAgICApIGFzIE1ba2V5b2YgTV07XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBlbmZvcmNlREJEZWNvcmF0b3JzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgY29udGV4dEFyZ3MuY29udGV4dCxcbiAgICAgICAgICBtLFxuICAgICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICAgIE9wZXJhdGlvbktleXMuT05cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBpZ25vcmVkUHJvcHMgPVxuICAgICAgY29udGV4dEFyZ3MuY29udGV4dC5nZXQoXCJpZ25vcmVkVmFsaWRhdGlvblByb3BlcnRpZXNcIikgfHwgW107XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1vZGVscy5tYXAoKG0pID0+IFByb21pc2UucmVzb2x2ZShtLmhhc0Vycm9ycyguLi5pZ25vcmVkUHJvcHMpKSlcbiAgICApO1xuXG4gICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IGVycm9ycy5yZWR1Y2UoKGFjY3VtOiBzdHJpbmcgfCB1bmRlZmluZWQsIGUsIGkpID0+IHtcbiAgICAgIGlmIChlKVxuICAgICAgICBhY2N1bSA9XG4gICAgICAgICAgdHlwZW9mIGFjY3VtID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgICA/IGFjY3VtICsgYFxcbiAtICR7aX06ICR7ZS50b1N0cmluZygpfWBcbiAgICAgICAgICAgIDogYCAtICR7aX06ICR7ZS50b1N0cmluZygpfWA7XG4gICAgICByZXR1cm4gYWNjdW07XG4gICAgfSwgdW5kZWZpbmVkKTtcblxuICAgIGlmIChlcnJvck1lc3NhZ2VzKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGVycm9yTWVzc2FnZXMpO1xuICAgIHJldHVybiBbbW9kZWxzLCAuLi5jb250ZXh0QXJncy5hcmdzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJlcGFyZXMgZm9yIHJlYWRpbmcgYSBtb2RlbCBieSBJRC5cbiAgICogQHN1bW1hcnkgUHJlcGFyZXMgdGhlIGNvbnRleHQgYW5kIGVuZm9yY2VzIGRlY29yYXRvcnMgYmVmb3JlIHJlYWRpbmcgYSBtb2RlbC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBwcmltYXJ5IGtleSBvZiB0aGUgbW9kZWwgdG8gcmVhZC5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIFRoZSBrZXkgYW5kIGNvbnRleHQgYXJndW1lbnRzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIHJlYWRQcmVmaXgoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY29uc3QgY29udGV4dEFyZ3MgPSBhd2FpdCBDb250ZXh0LmFyZ3MoXG4gICAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgYXJncyxcbiAgICAgIHRoaXMuYWRhcHRlcixcbiAgICAgIHRoaXMuX292ZXJyaWRlcyB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgbW9kZWw6IE0gPSBuZXcgdGhpcy5jbGFzcygpO1xuICAgIG1vZGVsW3RoaXMucGtdID0ga2V5IGFzIE1ba2V5b2YgTV07XG4gICAgYXdhaXQgZW5mb3JjZURCRGVjb3JhdG9ycyhcbiAgICAgIHRoaXMsXG4gICAgICBjb250ZXh0QXJncy5jb250ZXh0LFxuICAgICAgbW9kZWwsXG4gICAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgICBPcGVyYXRpb25LZXlzLk9OXG4gICAgKTtcbiAgICByZXR1cm4gW2tleSwgLi4uY29udGV4dEFyZ3MuYXJnc107XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIGEgbW9kZWwgZnJvbSB0aGUgZGF0YWJhc2UgYnkgSUQuXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBhIG1vZGVsIGluc3RhbmNlIGZyb20gdGhlIGRhdGFiYXNlIHVzaW5nIGl0cyBwcmltYXJ5IGtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfGJpZ2ludH0gaWQgLSBUaGUgcHJpbWFyeSBrZXkgb2YgdGhlIG1vZGVsIHRvIHJlYWQuXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICogQHJldHVybiB7UHJvbWlzZTxNPn0gVGhlIHJldHJpZXZlZCBtb2RlbCBpbnN0YW5jZS5cbiAgICovXG4gIGFzeW5jIHJlYWQoaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPE0+IHtcbiAgICBjb25zdCBtID0gYXdhaXQgdGhpcy5hZGFwdGVyLnJlYWQodGhpcy50YWJsZU5hbWUsIGlkLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydDxNPihtLCB0aGlzLmNsYXNzLCB0aGlzLnBrLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGZvciByZWFkaW5nIG11bHRpcGxlIG1vZGVscyBieSBJRHMuXG4gICAqIEBzdW1tYXJ5IFByZXBhcmVzIHRoZSBjb250ZXh0IGFuZCBlbmZvcmNlcyBkZWNvcmF0b3JzIGJlZm9yZSByZWFkaW5nIG11bHRpcGxlIG1vZGVscy5cbiAgICogQHBhcmFtIHtzdHJpbmdbXXxudW1iZXJbXX0ga2V5cyAtIFRoZSBwcmltYXJ5IGtleXMgb2YgdGhlIG1vZGVscyB0byByZWFkLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4gVGhlIGtleXMgYW5kIGNvbnRleHQgYXJndW1lbnRzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIHJlYWRBbGxQcmVmaXgoXG4gICAga2V5czogc3RyaW5nW10gfCBudW1iZXJbXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApIHtcbiAgICBjb25zdCBjb250ZXh0QXJncyA9IGF3YWl0IENvbnRleHQuYXJncyhcbiAgICAgIE9wZXJhdGlvbktleXMuUkVBRCxcbiAgICAgIHRoaXMuY2xhc3MsXG4gICAgICBhcmdzLFxuICAgICAgdGhpcy5hZGFwdGVyLFxuICAgICAgdGhpcy5fb3ZlcnJpZGVzIHx8IHt9XG4gICAgKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGtleXMubWFwKGFzeW5jIChrKSA9PiB7XG4gICAgICAgIGNvbnN0IG0gPSBuZXcgdGhpcy5jbGFzcygpO1xuICAgICAgICBtW3RoaXMucGtdID0gayBhcyBNW2tleW9mIE1dO1xuICAgICAgICByZXR1cm4gZW5mb3JjZURCRGVjb3JhdG9ycyhcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGNvbnRleHRBcmdzLmNvbnRleHQsXG4gICAgICAgICAgbSxcbiAgICAgICAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgICAgICAgT3BlcmF0aW9uS2V5cy5PTlxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiBba2V5cywgLi4uY29udGV4dEFyZ3MuYXJnc107XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIG11bHRpcGxlIG1vZGVscyBmcm9tIHRoZSBkYXRhYmFzZSBieSBJRHMuXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBtdWx0aXBsZSBtb2RlbCBpbnN0YW5jZXMgZnJvbSB0aGUgZGF0YWJhc2UgdXNpbmcgdGhlaXIgcHJpbWFyeSBrZXlzLlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfG51bWJlcltdfSBrZXlzIC0gVGhlIHByaW1hcnkga2V5cyBvZiB0aGUgbW9kZWxzIHRvIHJlYWQuXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICogQHJldHVybiB7UHJvbWlzZTxNW10+fSBUaGUgcmV0cmlldmVkIG1vZGVsIGluc3RhbmNlcy5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHJlYWRBbGwoXG4gICAga2V5czogc3RyaW5nW10gfCBudW1iZXJbXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPE1bXT4ge1xuICAgIGNvbnN0IHJlY29yZHMgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmVhZEFsbCh0aGlzLnRhYmxlTmFtZSwga2V5cywgLi4uYXJncyk7XG4gICAgcmV0dXJuIHJlY29yZHMubWFwKChyLCBpKSA9PlxuICAgICAgdGhpcy5hZGFwdGVyLnJldmVydChyLCB0aGlzLmNsYXNzLCB0aGlzLnBrLCBrZXlzW2ldKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZXMgYSBtb2RlbCBpbiB0aGUgZGF0YWJhc2UuXG4gICAqIEBzdW1tYXJ5IFBlcnNpc3RzIGNoYW5nZXMgdG8gYW4gZXhpc3RpbmcgbW9kZWwgaW5zdGFuY2UgaW4gdGhlIGRhdGFiYXNlLlxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE0+fSBUaGUgdXBkYXRlZCBtb2RlbCB3aXRoIHJlZnJlc2hlZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlKG1vZGVsOiBNLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyByZWNvcmQsIGlkLCB0cmFuc2llbnQgfSA9IHRoaXMuYWRhcHRlci5wcmVwYXJlKG1vZGVsLCB0aGlzLnBrKTtcbiAgICByZWNvcmQgPSBhd2FpdCB0aGlzLmFkYXB0ZXIudXBkYXRlKHRoaXMudGFibGVOYW1lLCBpZCwgcmVjb3JkLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydDxNPihyZWNvcmQsIHRoaXMuY2xhc3MsIHRoaXMucGssIGlkLCB0cmFuc2llbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmVwYXJlcyBhIG1vZGVsIGZvciB1cGRhdGUuXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyB0aGUgbW9kZWwgYW5kIHByZXBhcmVzIGl0IGZvciB1cGRhdGUgaW4gdGhlIGRhdGFiYXNlLlxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIFRoZSBwcmVwYXJlZCBtb2RlbCBhbmQgY29udGV4dCBhcmd1bWVudHMuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIHRoZSBtb2RlbCBoYXMgbm8gcHJpbWFyeSBrZXkgdmFsdWUuXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gSWYgdGhlIG1vZGVsIGZhaWxzIHZhbGlkYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgdXBkYXRlUHJlZml4KFxuICAgIG1vZGVsOiBNLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8W00sIC4uLmFyZ3M6IGFueVtdXT4ge1xuICAgIGNvbnN0IGNvbnRleHRBcmdzID0gYXdhaXQgQ29udGV4dC5hcmdzKFxuICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgYXJncyxcbiAgICAgIHRoaXMuYWRhcHRlcixcbiAgICAgIHRoaXMuX292ZXJyaWRlcyB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgcGsgPSBtb2RlbFt0aGlzLnBrXSBhcyBzdHJpbmc7XG4gICAgaWYgKCFwaylcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgTm8gdmFsdWUgZm9yIHRoZSBJZCBpcyBkZWZpbmVkIHVuZGVyIHRoZSBwcm9wZXJ0eSAke3RoaXMucGsgYXMgc3RyaW5nfWBcbiAgICAgICk7XG4gICAgY29uc3Qgb2xkTW9kZWwgPSBhd2FpdCB0aGlzLnJlYWQocGssIC4uLmNvbnRleHRBcmdzLmFyZ3MpO1xuICAgIG1vZGVsID0gdGhpcy5tZXJnZShvbGRNb2RlbCwgbW9kZWwpO1xuICAgIGF3YWl0IGVuZm9yY2VEQkRlY29yYXRvcnMoXG4gICAgICB0aGlzLFxuICAgICAgY29udGV4dEFyZ3MuY29udGV4dCxcbiAgICAgIG1vZGVsLFxuICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICBPcGVyYXRpb25LZXlzLk9OLFxuICAgICAgb2xkTW9kZWxcbiAgICApO1xuXG4gICAgY29uc3QgZXJyb3JzID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgbW9kZWwuaGFzRXJyb3JzKFxuICAgICAgICBvbGRNb2RlbCxcbiAgICAgICAgLi4uUmVwb3NpdG9yeS5yZWxhdGlvbnModGhpcy5jbGFzcyksXG4gICAgICAgIC4uLihjb250ZXh0QXJncy5jb250ZXh0LmdldChcImlnbm9yZWRWYWxpZGF0aW9uUHJvcGVydGllc1wiKSB8fCBbXSlcbiAgICAgIClcbiAgICApO1xuICAgIGlmIChlcnJvcnMpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyb3JzLnRvU3RyaW5nKCkpO1xuICAgIGlmIChSZXBvc2l0b3J5LmdldE1ldGFkYXRhKG9sZE1vZGVsKSkge1xuICAgICAgaWYgKCFSZXBvc2l0b3J5LmdldE1ldGFkYXRhKG1vZGVsKSlcbiAgICAgICAgUmVwb3NpdG9yeS5zZXRNZXRhZGF0YShtb2RlbCwgUmVwb3NpdG9yeS5nZXRNZXRhZGF0YShvbGRNb2RlbCkpO1xuICAgIH1cbiAgICByZXR1cm4gW21vZGVsLCAuLi5jb250ZXh0QXJncy5hcmdzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBtdWx0aXBsZSBtb2RlbHMgaW4gdGhlIGRhdGFiYXNlLlxuICAgKiBAc3VtbWFyeSBQZXJzaXN0cyBjaGFuZ2VzIHRvIG11bHRpcGxlIGV4aXN0aW5nIG1vZGVsIGluc3RhbmNlcyBpbiB0aGUgZGF0YWJhc2UgaW4gYSBiYXRjaCBvcGVyYXRpb24uXG4gICAqIEBwYXJhbSB7TVtdfSBtb2RlbHMgLSBUaGUgbW9kZWxzIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE1bXT59IFRoZSB1cGRhdGVkIG1vZGVscyB3aXRoIHJlZnJlc2hlZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgdXBkYXRlQWxsKG1vZGVsczogTVtdLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TVtdPiB7XG4gICAgY29uc3QgcmVjb3JkcyA9IG1vZGVscy5tYXAoKG0pID0+IHRoaXMuYWRhcHRlci5wcmVwYXJlKG0sIHRoaXMucGspKTtcbiAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdGhpcy5hZGFwdGVyLnVwZGF0ZUFsbChcbiAgICAgIHRoaXMudGFibGVOYW1lLFxuICAgICAgcmVjb3Jkcy5tYXAoKHIpID0+IHIuaWQpLFxuICAgICAgcmVjb3Jkcy5tYXAoKHIpID0+IHIucmVjb3JkKSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICAgIHJldHVybiB1cGRhdGVkLm1hcCgodSwgaSkgPT5cbiAgICAgIHRoaXMuYWRhcHRlci5yZXZlcnQodSwgdGhpcy5jbGFzcywgdGhpcy5waywgcmVjb3Jkc1tpXS5pZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmVwYXJlcyBtdWx0aXBsZSBtb2RlbHMgZm9yIHVwZGF0ZS5cbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIG11bHRpcGxlIG1vZGVscyBhbmQgcHJlcGFyZXMgdGhlbSBmb3IgdXBkYXRlIGluIHRoZSBkYXRhYmFzZS5cbiAgICogQHBhcmFtIHtNW119IG1vZGVscyAtIFRoZSBtb2RlbHMgdG8gdXBkYXRlLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8YW55W10+fSBUaGUgcHJlcGFyZWQgbW9kZWxzIGFuZCBjb250ZXh0IGFyZ3VtZW50cy5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgYW55IG1vZGVsIGhhcyBubyBwcmltYXJ5IGtleSB2YWx1ZS5cbiAgICogQHRocm93cyB7VmFsaWRhdGlvbkVycm9yfSBJZiBhbnkgbW9kZWwgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyB1cGRhdGVBbGxQcmVmaXgoXG4gICAgbW9kZWxzOiBNW10sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIGNvbnN0IGNvbnRleHRBcmdzID0gYXdhaXQgQ29udGV4dC5hcmdzKFxuICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgYXJncyxcbiAgICAgIHRoaXMuYWRhcHRlcixcbiAgICAgIHRoaXMuX292ZXJyaWRlcyB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgaWRzID0gbW9kZWxzLm1hcCgobSkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBtW3RoaXMucGtdIGFzIHN0cmluZztcbiAgICAgIGlmICghaWQpIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwibWlzc2luZyBpZCBvbiB1cGRhdGUgb3BlcmF0aW9uXCIpO1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH0pO1xuICAgIGNvbnN0IG9sZE1vZGVscyA9IGF3YWl0IHRoaXMucmVhZEFsbChpZHMsIC4uLmNvbnRleHRBcmdzLmFyZ3MpO1xuICAgIG1vZGVscyA9IG1vZGVscy5tYXAoKG0sIGkpID0+IHtcbiAgICAgIG0gPSB0aGlzLm1lcmdlKG9sZE1vZGVsc1tpXSwgbSk7XG4gICAgICBpZiAoUmVwb3NpdG9yeS5nZXRNZXRhZGF0YShvbGRNb2RlbHNbaV0pKSB7XG4gICAgICAgIGlmICghUmVwb3NpdG9yeS5nZXRNZXRhZGF0YShtKSlcbiAgICAgICAgICBSZXBvc2l0b3J5LnNldE1ldGFkYXRhKG0sIFJlcG9zaXRvcnkuZ2V0TWV0YWRhdGEob2xkTW9kZWxzW2ldKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbTtcbiAgICB9KTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1vZGVscy5tYXAoKG0sIGkpID0+XG4gICAgICAgIGVuZm9yY2VEQkRlY29yYXRvcnMoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBjb250ZXh0QXJncy5jb250ZXh0LFxuICAgICAgICAgIG0sXG4gICAgICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICAgICAgT3BlcmF0aW9uS2V5cy5PTixcbiAgICAgICAgICBvbGRNb2RlbHNbaV1cbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG5cbiAgICBjb25zdCBpZ25vcmVkUHJvcHMgPVxuICAgICAgY29udGV4dEFyZ3MuY29udGV4dC5nZXQoXCJpZ25vcmVkVmFsaWRhdGlvblByb3BlcnRpZXNcIikgfHwgW107XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1vZGVscy5tYXAoKG0sIGkpID0+XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShtLmhhc0Vycm9ycyhvbGRNb2RlbHNbaV0sIG0sIC4uLmlnbm9yZWRQcm9wcykpXG4gICAgICApXG4gICAgKTtcblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSBlcnJvcnMucmVkdWNlKChhY2N1bTogc3RyaW5nIHwgdW5kZWZpbmVkLCBlLCBpKSA9PiB7XG4gICAgICBpZiAoZSlcbiAgICAgICAgYWNjdW0gPVxuICAgICAgICAgIHR5cGVvZiBhY2N1bSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgPyBhY2N1bSArIGBcXG4gLSAke2l9OiAke2UudG9TdHJpbmcoKX1gXG4gICAgICAgICAgICA6IGAgLSAke2l9OiAke2UudG9TdHJpbmcoKX1gO1xuICAgICAgcmV0dXJuIGFjY3VtO1xuICAgIH0sIHVuZGVmaW5lZCk7XG5cbiAgICBpZiAoZXJyb3JNZXNzYWdlcykgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJvck1lc3NhZ2VzKTtcblxuICAgIG1vZGVscy5mb3JFYWNoKChtLCBpKSA9PiB7XG4gICAgICBpZiAoUmVwb3NpdG9yeS5nZXRNZXRhZGF0YShvbGRNb2RlbHNbaV0pKSB7XG4gICAgICAgIGlmICghUmVwb3NpdG9yeS5nZXRNZXRhZGF0YShtKSlcbiAgICAgICAgICBSZXBvc2l0b3J5LnNldE1ldGFkYXRhKG0sIFJlcG9zaXRvcnkuZ2V0TWV0YWRhdGEob2xkTW9kZWxzW2ldKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIFttb2RlbHMsIC4uLmNvbnRleHRBcmdzLmFyZ3NdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmVwYXJlcyBmb3IgZGVsZXRpbmcgYSBtb2RlbCBieSBJRC5cbiAgICogQHN1bW1hcnkgUHJlcGFyZXMgdGhlIGNvbnRleHQgYW5kIGVuZm9yY2VzIGRlY29yYXRvcnMgYmVmb3JlIGRlbGV0aW5nIGEgbW9kZWwuXG4gICAqIEBwYXJhbSB7YW55fSBrZXkgLSBUaGUgcHJpbWFyeSBrZXkgb2YgdGhlIG1vZGVsIHRvIGRlbGV0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIFRoZSBrZXkgYW5kIGNvbnRleHQgYXJndW1lbnRzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZVByZWZpeChrZXk6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCBjb250ZXh0QXJncyA9IGF3YWl0IENvbnRleHQuYXJncyhcbiAgICAgIE9wZXJhdGlvbktleXMuREVMRVRFLFxuICAgICAgdGhpcy5jbGFzcyxcbiAgICAgIGFyZ3MsXG4gICAgICB0aGlzLmFkYXB0ZXIsXG4gICAgICB0aGlzLl9vdmVycmlkZXMgfHwge31cbiAgICApO1xuICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgdGhpcy5yZWFkKGtleSwgLi4uY29udGV4dEFyZ3MuYXJncyk7XG4gICAgYXdhaXQgZW5mb3JjZURCRGVjb3JhdG9ycyhcbiAgICAgIHRoaXMsXG4gICAgICBjb250ZXh0QXJncy5jb250ZXh0LFxuICAgICAgbW9kZWwsXG4gICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICAgIE9wZXJhdGlvbktleXMuT05cbiAgICApO1xuICAgIHJldHVybiBba2V5LCAuLi5jb250ZXh0QXJncy5hcmdzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBhIG1vZGVsIGZyb20gdGhlIGRhdGFiYXNlIGJ5IElELlxuICAgKiBAc3VtbWFyeSBSZW1vdmVzIGEgbW9kZWwgaW5zdGFuY2UgZnJvbSB0aGUgZGF0YWJhc2UgdXNpbmcgaXRzIHByaW1hcnkga2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ8YmlnaW50fSBpZCAtIFRoZSBwcmltYXJ5IGtleSBvZiB0aGUgbW9kZWwgdG8gZGVsZXRlLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8TT59IFRoZSBkZWxldGVkIG1vZGVsIGluc3RhbmNlLlxuICAgKi9cbiAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxNPiB7XG4gICAgY29uc3QgbSA9IGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUodGhpcy50YWJsZU5hbWUsIGlkLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydDxNPihtLCB0aGlzLmNsYXNzLCB0aGlzLnBrLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGZvciBkZWxldGluZyBtdWx0aXBsZSBtb2RlbHMgYnkgSURzLlxuICAgKiBAc3VtbWFyeSBQcmVwYXJlcyB0aGUgY29udGV4dCBhbmQgZW5mb3JjZXMgZGVjb3JhdG9ycyBiZWZvcmUgZGVsZXRpbmcgbXVsdGlwbGUgbW9kZWxzLlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfG51bWJlcltdfSBrZXlzIC0gVGhlIHByaW1hcnkga2V5cyBvZiB0aGUgbW9kZWxzIHRvIGRlbGV0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIFRoZSBrZXlzIGFuZCBjb250ZXh0IGFyZ3VtZW50cy5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBkZWxldGVBbGxQcmVmaXgoXG4gICAga2V5czogc3RyaW5nW10gfCBudW1iZXJbXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApIHtcbiAgICBjb25zdCBjb250ZXh0QXJncyA9IGF3YWl0IENvbnRleHQuYXJncyhcbiAgICAgIE9wZXJhdGlvbktleXMuREVMRVRFLFxuICAgICAgdGhpcy5jbGFzcyxcbiAgICAgIGFyZ3MsXG4gICAgICB0aGlzLmFkYXB0ZXIsXG4gICAgICB0aGlzLl9vdmVycmlkZXMgfHwge31cbiAgICApO1xuICAgIGNvbnN0IG1vZGVscyA9IGF3YWl0IHRoaXMucmVhZEFsbChrZXlzLCAuLi5jb250ZXh0QXJncy5hcmdzKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1vZGVscy5tYXAoYXN5bmMgKG0pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZm9yY2VEQkRlY29yYXRvcnMoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBjb250ZXh0QXJncy5jb250ZXh0LFxuICAgICAgICAgIG0sXG4gICAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgICAgICAgT3BlcmF0aW9uS2V5cy5PTlxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiBba2V5cywgLi4uY29udGV4dEFyZ3MuYXJnc107XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlbGV0ZXMgbXVsdGlwbGUgbW9kZWxzIGZyb20gdGhlIGRhdGFiYXNlIGJ5IElEcy5cbiAgICogQHN1bW1hcnkgUmVtb3ZlcyBtdWx0aXBsZSBtb2RlbCBpbnN0YW5jZXMgZnJvbSB0aGUgZGF0YWJhc2UgdXNpbmcgdGhlaXIgcHJpbWFyeSBrZXlzLlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfG51bWJlcltdfSBrZXlzIC0gVGhlIHByaW1hcnkga2V5cyBvZiB0aGUgbW9kZWxzIHRvIGRlbGV0ZS5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE1bXT59IFRoZSBkZWxldGVkIG1vZGVsIGluc3RhbmNlcy5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZUFsbChcbiAgICBrZXlzOiBzdHJpbmdbXSB8IG51bWJlcltdLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8TVtdPiB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGVBbGwodGhpcy50YWJsZU5hbWUsIGtleXMsIC4uLmFyZ3MpO1xuICAgIHJldHVybiByZXN1bHRzLm1hcCgociwgaSkgPT5cbiAgICAgIHRoaXMuYWRhcHRlci5yZXZlcnQociwgdGhpcy5jbGFzcywgdGhpcy5waywga2V5c1tpXSlcbiAgICApO1xuICB9XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHNlbGVjdCBxdWVyeSB3aXRob3V0IHNwZWNpZnlpbmcgZmllbGRzLlxuICAgKiBAc3VtbWFyeSBTdGFydHMgYnVpbGRpbmcgYSBxdWVyeSB0aGF0IHdpbGwgcmV0dXJuIGFsbCBmaWVsZHMgb2YgdGhlIG1vZGVsLlxuICAgKiBAdGVtcGxhdGUgUyAtIFRoZSBhcnJheSB0eXBlIG9mIHNlbGVjdCBzZWxlY3RvcnMuXG4gICAqIEByZXR1cm4gQSBxdWVyeSBidWlsZGVyIGZvciB0aGUgbW9kZWwuXG4gICAqL1xuICBzZWxlY3Q8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIFMgZXh0ZW5kcyByZWFkb25seSBTZWxlY3RTZWxlY3RvcjxNPltdLFxuICA+KCk6IFdoZXJlT3B0aW9uPE0sIE1bXT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgc2VsZWN0IHF1ZXJ5IHdpdGggc3BlY2lmaWMgZmllbGRzLlxuICAgKiBAc3VtbWFyeSBTdGFydHMgYnVpbGRpbmcgYSBxdWVyeSB0aGF0IHdpbGwgcmV0dXJuIG9ubHkgdGhlIHNwZWNpZmllZCBmaWVsZHMgb2YgdGhlIG1vZGVsLlxuICAgKiBAdGVtcGxhdGUgUyAtIFRoZSBhcnJheSB0eXBlIG9mIHNlbGVjdCBzZWxlY3RvcnMuXG4gICAqIEBwYXJhbSBzZWxlY3RvciAtIFRoZSBmaWVsZHMgdG8gc2VsZWN0LlxuICAgKiBAcmV0dXJuIEEgcXVlcnkgYnVpbGRlciBmb3IgdGhlIHNlbGVjdGVkIGZpZWxkcy5cbiAgICovXG4gIHNlbGVjdDxTIGV4dGVuZHMgcmVhZG9ubHkgU2VsZWN0U2VsZWN0b3I8TT5bXT4oXG4gICAgc2VsZWN0b3I6IHJlYWRvbmx5IFsuLi5TXVxuICApOiBXaGVyZU9wdGlvbjxNLCBQaWNrPE0sIFNbbnVtYmVyXT5bXT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgc2VsZWN0IG1ldGhvZC5cbiAgICogQHN1bW1hcnkgQ3JlYXRlcyBhIHF1ZXJ5IGJ1aWxkZXIgZm9yIHRoZSBtb2RlbCB3aXRoIG9wdGlvbmFsIGZpZWxkIHNlbGVjdGlvbi5cbiAgICogQHRlbXBsYXRlIFMgLSBUaGUgYXJyYXkgdHlwZSBvZiBzZWxlY3Qgc2VsZWN0b3JzLlxuICAgKiBAcGFyYW0gW3NlbGVjdG9yXSAtIE9wdGlvbmFsIGZpZWxkcyB0byBzZWxlY3QuXG4gICAqIEByZXR1cm4gQSBxdWVyeSBidWlsZGVyLlxuICAgKi9cbiAgc2VsZWN0PFMgZXh0ZW5kcyByZWFkb25seSBTZWxlY3RTZWxlY3RvcjxNPltdPihcbiAgICBzZWxlY3Rvcj86IHJlYWRvbmx5IFsuLi5TXVxuICApOiBXaGVyZU9wdGlvbjxNLCBNW10+IHwgV2hlcmVPcHRpb248TSwgUGljazxNLCBTW251bWJlcl0+W10+IHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyXG4gICAgICAuU3RhdGVtZW50PE0+KClcbiAgICAgIC5zZWxlY3Qoc2VsZWN0b3IgYXMgcmVhZG9ubHkgWy4uLlNdKVxuICAgICAgLmZyb20odGhpcy5jbGFzcyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcXVlcnkgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbnMgYW5kIG9wdGlvbnMuXG4gICAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgc2ltcGxpZmllZCB3YXkgdG8gcXVlcnkgdGhlIGRhdGFiYXNlIHdpdGggY29tbW9uIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7Q29uZGl0aW9uPE0+fSBjb25kaXRpb24gLSBUaGUgY29uZGl0aW9uIHRvIGZpbHRlciByZWNvcmRzLlxuICAgKiBAcGFyYW0gb3JkZXJCeSAtIFRoZSBmaWVsZCB0byBvcmRlciByZXN1bHRzIGJ5LlxuICAgKiBAcGFyYW0ge09yZGVyRGlyZWN0aW9ufSBbb3JkZXI9T3JkZXJEaXJlY3Rpb24uQVNDXSAtIFRoZSBzb3J0IGRpcmVjdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtsaW1pdF0gLSBPcHRpb25hbCBtYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtza2lwXSAtIE9wdGlvbmFsIG51bWJlciBvZiByZXN1bHRzIHRvIHNraXAuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8TVtdPn0gVGhlIHF1ZXJ5IHJlc3VsdHMgYXMgbW9kZWwgaW5zdGFuY2VzLlxuICAgKi9cbiAgYXN5bmMgcXVlcnkoXG4gICAgY29uZGl0aW9uOiBDb25kaXRpb248TT4sXG4gICAgb3JkZXJCeToga2V5b2YgTSxcbiAgICBvcmRlcjogT3JkZXJEaXJlY3Rpb24gPSBPcmRlckRpcmVjdGlvbi5BU0MsXG4gICAgbGltaXQ/OiBudW1iZXIsXG4gICAgc2tpcD86IG51bWJlclxuICApOiBQcm9taXNlPE1bXT4ge1xuICAgIGNvbnN0IHNvcnQ6IE9yZGVyQnlTZWxlY3RvcjxNPiA9IFtvcmRlckJ5LCBvcmRlciBhcyBPcmRlckRpcmVjdGlvbl07XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnNlbGVjdCgpLndoZXJlKGNvbmRpdGlvbikub3JkZXJCeShzb3J0KTtcbiAgICBpZiAobGltaXQpIHF1ZXJ5LmxpbWl0KGxpbWl0KTtcbiAgICBpZiAoc2tpcCkgcXVlcnkub2Zmc2V0KHNraXApO1xuICAgIHJldHVybiBxdWVyeS5leGVjdXRlKCk7XG4gIH1cblxuICBhdHRyKHByb3A6IGtleW9mIE0pIHtcbiAgICByZXR1cm4gQ29uZGl0aW9uLmF0dHI8TT4ocHJvcCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhbiBvYnNlcnZlciBmb3IgdGhpcyByZXBvc2l0b3J5LlxuICAgKiBAc3VtbWFyeSBBZGRzIGFuIG9ic2VydmVyIHRoYXQgd2lsbCBiZSBub3RpZmllZCBvZiBjaGFuZ2VzIHRvIG1vZGVscyBpbiB0aGlzIHJlcG9zaXRvcnkuXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIG9ic2VydmVyIHRvIHJlZ2lzdGVyLlxuICAgKiBAcGFyYW0ge09ic2VydmVyRmlsdGVyfSBbZmlsdGVyXSAtIE9wdGlvbmFsIGZpbHRlciB0byBsaW1pdCB3aGljaCBldmVudHMgdGhlIG9ic2VydmVyIHJlY2VpdmVzLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKiBAc2VlIHtPYnNlcnZhYmxlI29ic2VydmV9XG4gICAqL1xuICBAZmluYWwoKVxuICBvYnNlcnZlKG9ic2VydmVyOiBPYnNlcnZlciwgZmlsdGVyPzogT2JzZXJ2ZXJGaWx0ZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXJIYW5kbGVyKVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwib2JzZXJ2ZXJIYW5kbGVyXCIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuT2JzZXJ2ZXJIYW5kbGVyKCksXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLm9ic2VydmUpO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IFJlcG9zaXRvcnkudGFibGUodGhpcy5jbGFzcyk7XG4gICAgdGhpcy5hZGFwdGVyLm9ic2VydmUodGhpcywgKHRhYmxlOiBzdHJpbmcpID0+IHRhYmxlTmFtZSA9PT0gdGFibGUpO1xuICAgIGxvZy52ZXJib3NlKFxuICAgICAgYG5vdyBvYnNlcnZpbmcgJHt0aGlzLmFkYXB0ZXJ9IGZpbHRlcmluZyBvbiB0YWJsZSA9PT0gJHt0YWJsZU5hbWV9YFxuICAgICk7XG4gICAgdGhpcy5vYnNlcnZlckhhbmRsZXIhLm9ic2VydmUob2JzZXJ2ZXIsIGZpbHRlcik7XG4gICAgbG9nLnZlcmJvc2UoYFJlZ2lzdGVyZWQgbmV3IG9ic2VydmVyICR7b2JzZXJ2ZXIudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5yZWdpc3RlcnMgYW4gb2JzZXJ2ZXIgZnJvbSB0aGlzIHJlcG9zaXRvcnkuXG4gICAqIEBzdW1tYXJ5IFJlbW92ZXMgYW4gb2JzZXJ2ZXIgc28gaXQgd2lsbCBubyBsb25nZXIgcmVjZWl2ZSBub3RpZmljYXRpb25zIG9mIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIG9ic2VydmVyIHRvIHVucmVnaXN0ZXIuXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIHRoZSBvYnNlcnZlciBoYW5kbGVyIGlzIG5vdCBpbml0aWFsaXplZC5cbiAgICogQHNlZSB7T2JzZXJ2YWJsZSN1bk9ic2VydmV9XG4gICAqL1xuICBAZmluYWwoKVxuICB1bk9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVySGFuZGxlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIk9ic2VydmVySGFuZGxlciBub3QgaW5pdGlhbGl6ZWQuIERpZCB5b3UgcmVnaXN0ZXIgYW55IG9ic2VydmFibGVzP1wiXG4gICAgICApO1xuICAgIHRoaXMub2JzZXJ2ZXJIYW5kbGVyLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy51bk9ic2VydmUpXG4gICAgICAudmVyYm9zZShgT2JzZXJ2ZXIgJHtvYnNlcnZlci50b1N0cmluZygpfSByZW1vdmVkYCk7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVySGFuZGxlci5jb3VudCgpKSB7XG4gICAgICB0aGlzLmxvZy52ZXJib3NlKFxuICAgICAgICBgTm8gbW9yZSBvYnNlcnZlcnMgcmVnaXN0ZXJlZCBmb3IgJHt0aGlzLmFkYXB0ZXJ9LCB1bnN1YnNjcmliaW5nYFxuICAgICAgKTtcbiAgICAgIHRoaXMuYWRhcHRlci51bk9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLmxvZy52ZXJib3NlKGBObyBsb25nZXIgb2JzZXJ2aW5nIGFkYXB0ZXIgJHt0aGlzLmFkYXB0ZXIuZmxhdm91cn1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE5vdGlmaWVzIGFsbCBvYnNlcnZlcnMgb2YgYW4gZXZlbnQuXG4gICAqIEBzdW1tYXJ5IFVwZGF0ZXMgYWxsIHJlZ2lzdGVyZWQgb2JzZXJ2ZXJzIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgYSBkYXRhYmFzZSBldmVudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlIC0gVGhlIHRhYmxlIG5hbWUgd2hlcmUgdGhlIGV2ZW50IG9jY3VycmVkLlxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXN8QnVsa0NydWRPcGVyYXRpb25LZXlzfHN0cmluZ30gZXZlbnQgLSBUaGUgdHlwZSBvZiBldmVudCB0aGF0IG9jY3VycmVkLlxuICAgKiBAcGFyYW0ge0V2ZW50SWRzfSBpZCAtIFRoZSBJRCBvciBJRHMgb2YgdGhlIGFmZmVjdGVkIHJlY29yZHMuXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgb2JzZXJ2ZXJzIGhhdmUgYmVlbiBub3RpZmllZC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlIG9ic2VydmVyIGhhbmRsZXIgaXMgbm90IGluaXRpYWxpemVkLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlT2JzZXJ2ZXJzKFxuICAgIHRhYmxlOiBzdHJpbmcsXG4gICAgZXZlbnQ6IE9wZXJhdGlvbktleXMgfCBCdWxrQ3J1ZE9wZXJhdGlvbktleXMgfCBzdHJpbmcsXG4gICAgaWQ6IEV2ZW50SWRzLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5vYnNlcnZlckhhbmRsZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJPYnNlcnZlckhhbmRsZXIgbm90IGluaXRpYWxpemVkLiBEaWQgeW91IHJlZ2lzdGVyIGFueSBvYnNlcnZhYmxlcz9cIlxuICAgICAgKTtcbiAgICB0aGlzLmxvZ1xuICAgICAgLmZvcih0aGlzLnVwZGF0ZU9ic2VydmVycylcbiAgICAgIC52ZXJib3NlKFxuICAgICAgICBgVXBkYXRpbmcgJHt0aGlzLm9ic2VydmVySGFuZGxlci5jb3VudCgpfSBvYnNlcnZlcnMgZm9yICR7dGhpc31gXG4gICAgICApO1xuICAgIGF3YWl0IHRoaXMub2JzZXJ2ZXJIYW5kbGVyLnVwZGF0ZU9ic2VydmVycyhcbiAgICAgIHRoaXMubG9nLFxuICAgICAgdGFibGUsXG4gICAgICBldmVudCxcbiAgICAgIEFycmF5LmlzQXJyYXkoaWQpXG4gICAgICAgID8gaWQubWFwKChpKSA9PiBTZXF1ZW5jZS5wYXJzZVZhbHVlKHRoaXMucGtQcm9wcy50eXBlLCBpKSBhcyBzdHJpbmcpXG4gICAgICAgIDogKFNlcXVlbmNlLnBhcnNlVmFsdWUodGhpcy5wa1Byb3BzLnR5cGUsIGlkKSBhcyBzdHJpbmcpLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFsaWFzIGZvciB1cGRhdGVPYnNlcnZlcnMuXG4gICAqIEBzdW1tYXJ5IE5vdGlmaWVzIGFsbCBvYnNlcnZlcnMgb2YgYW4gZXZlbnQgKGFsaWFzIGZvciB1cGRhdGVPYnNlcnZlcnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgbmFtZSB3aGVyZSB0aGUgZXZlbnQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIGV2ZW50IHRoYXQgb2NjdXJyZWQuXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIElEIG9yIElEcyBvZiB0aGUgYWZmZWN0ZWQgcmVjb3Jkcy5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBvYnNlcnZlcnMgaGF2ZSBiZWVuIG5vdGlmaWVkLlxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaChcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkcyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPYnNlcnZlcnModGFibGUsIGV2ZW50LCBpZCwgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgb3IgcmV0cmlldmVzIGEgcmVwb3NpdG9yeSBmb3IgYSBtb2RlbC5cbiAgICogQHN1bW1hcnkgRmFjdG9yeSBtZXRob2QgdGhhdCByZXR1cm5zIGEgcmVwb3NpdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHNwZWNpZmllZCBtb2RlbC5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWwuXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJlcG9zaXRvcnkgdHlwZSB0aGF0IGV4dGVuZHMgUmVwbzxNPi5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIC0gT3B0aW9uYWwgZGVmYXVsdCBhZGFwdGVyIGZsYXZvdXIgaWYgbm90IHNwZWNpZmllZCBvbiB0aGUgbW9kZWwuXG4gICAqIEBwYXJhbSB7Li4uYW55W119IFthcmdzXSAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIHJlcG9zaXRvcnkgY29uc3RydWN0b3IuXG4gICAqIEByZXR1cm4ge1J9IEEgcmVwb3NpdG9yeSBpbnN0YW5jZSBmb3IgdGhlIG1vZGVsLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBJZiBubyBhZGFwdGVyIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSBmbGF2b3VyLlxuICAgKi9cbiAgc3RhdGljIGZvck1vZGVsPE0gZXh0ZW5kcyBNb2RlbCwgUiBleHRlbmRzIFJlcG88TT4+KFxuICAgIG1vZGVsOiBDb25zdHJ1Y3RvcjxNPixcbiAgICBhbGlhcz86IHN0cmluZyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBSIHtcbiAgICBsZXQgcmVwbzogUiB8IENvbnN0cnVjdG9yPFI+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgX2FsaWFzOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgYWxpYXMgfHxcbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLCBtb2RlbCkgfHxcbiAgICAgIEFkYXB0ZXIuY3VycmVudEZsYXZvdXI7XG4gICAgdHJ5IHtcbiAgICAgIHJlcG8gPSB0aGlzLmdldChtb2RlbCwgX2FsaWFzKSBhcyBDb25zdHJ1Y3RvcjxSPiB8IFI7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICByZXBvID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChyZXBvIGluc3RhbmNlb2YgUmVwb3NpdG9yeSkgcmV0dXJuIHJlcG8gYXMgUjtcblxuICAgIGNvbnN0IGZsYXZvdXI6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBhbGlhcyB8fFxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShBZGFwdGVyLmtleShQZXJzaXN0ZW5jZUtleXMuQURBUFRFUiksIG1vZGVsKSB8fFxuICAgICAgKHJlcG8gJiZcbiAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShBZGFwdGVyLmtleShQZXJzaXN0ZW5jZUtleXMuQURBUFRFUiksIHJlcG8pKSB8fFxuICAgICAgQWRhcHRlci5jdXJyZW50Rmxhdm91cjtcbiAgICBjb25zdCBhZGFwdGVyOiBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT4gfCB1bmRlZmluZWQgPSBmbGF2b3VyXG4gICAgICA/IEFkYXB0ZXIuZ2V0KGZsYXZvdXIpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghYWRhcHRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgTm8gcmVnaXN0ZXJlZCBwZXJzaXN0ZW5jZSBhZGFwdGVyIGZvdW5kIGZsYXZvdXIgJHtmbGF2b3VyfWBcbiAgICAgICk7XG5cbiAgICByZXBvID0gcmVwbyB8fCAoYWRhcHRlci5yZXBvc2l0b3J5KCkgYXMgQ29uc3RydWN0b3I8Uj4pO1xuICAgIHJldHVybiBuZXcgcmVwbyhhZGFwdGVyLCBtb2RlbCwgLi4uYXJncykgYXMgUjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcmVwb3NpdG9yeSBmb3IgYSBtb2RlbCBmcm9tIHRoZSBjYWNoZS5cbiAgICogQHN1bW1hcnkgR2V0cyBhIHJlcG9zaXRvcnkgY29uc3RydWN0b3Igb3IgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgbW9kZWwgZnJvbSB0aGUgaW50ZXJuYWwgY2FjaGUuXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhhdCBleHRlbmRzIE1vZGVsLlxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBtb2RlbCAtIFRoZSBtb2RlbCBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthbGlhc10gLSBUaGUgYWRhcHRlciBhbGlhcy5cbiAgICogQHJldHVybiB7Q29uc3RydWN0b3I8UmVwbzxNPj4gfCBSZXBvPE0+fSBUaGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBvciBpbnN0YW5jZS5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgbm8gcmVwb3NpdG9yeSBpcyByZWdpc3RlcmVkIGZvciB0aGUgbW9kZWwuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBtb2RlbDogQ29uc3RydWN0b3I8TT4sXG4gICAgYWxpYXM/OiBzdHJpbmdcbiAgKTogQ29uc3RydWN0b3I8UmVwbzxNPj4gfCBSZXBvPE0+IHtcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBSZXBvc2l0b3J5LnRhYmxlKG1vZGVsKTtcbiAgICBsZXQgcmVnaXN0cnlOYW1lOiBzdHJpbmcgPSBuYW1lO1xuICAgIGlmIChhbGlhcykge1xuICAgICAgcmVnaXN0cnlOYW1lID0gW25hbWUsIGFsaWFzXS5qb2luKERlZmF1bHRTZXBhcmF0b3IpO1xuICAgIH1cbiAgICBpZiAocmVnaXN0cnlOYW1lIGluIHRoaXMuX2NhY2hlKVxuICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlW3JlZ2lzdHJ5TmFtZV0gYXMgdW5rbm93biBhc1xuICAgICAgICB8IENvbnN0cnVjdG9yPFJlcG88TT4+XG4gICAgICAgIHwgUmVwbzxNPjtcbiAgICBpZiAobmFtZSBpbiB0aGlzLl9jYWNoZSlcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZVtuYW1lXSBhcyB1bmtub3duIGFzIENvbnN0cnVjdG9yPFJlcG88TT4+IHwgUmVwbzxNPjtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBDb3VsZCBub3QgZmluZCByZXBvc2l0b3J5IHJlZ2lzdGVyZWQgdW5kZXIgJHtuYW1lfWBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgYSByZXBvc2l0b3J5IGZvciBhIG1vZGVsLlxuICAgKiBAc3VtbWFyeSBBc3NvY2lhdGVzIGEgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBvciBpbnN0YW5jZSB3aXRoIGEgbW9kZWwgaW4gdGhlIGludGVybmFsIGNhY2hlLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8UmVwbzxNPj4gfCBSZXBvPE0+fSByZXBvIC0gVGhlIHJlcG9zaXRvcnkgY29uc3RydWN0b3Igb3IgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIHRoZSBhZGFwdGVyIGFsaWFzL2ZsYXZvdXIuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIGEgcmVwb3NpdG9yeSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgZm9yIHRoZSBtb2RlbC5cbiAgICovXG4gIHN0YXRpYyByZWdpc3RlcjxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBDb25zdHJ1Y3RvcjxNPixcbiAgICByZXBvOiBDb25zdHJ1Y3RvcjxSZXBvPE0+PiB8IFJlcG88TT4sXG4gICAgYWxpYXM/OiBzdHJpbmdcbiAgKSB7XG4gICAgbGV0IG5hbWUgPSBSZXBvc2l0b3J5LnRhYmxlKG1vZGVsKTtcbiAgICBpZiAoYWxpYXMpIHtcbiAgICAgIG5hbWUgPSBbbmFtZSwgYWxpYXNdLmpvaW4oRGVmYXVsdFNlcGFyYXRvcik7XG4gICAgfVxuICAgIGlmIChuYW1lIGluIHRoaXMuX2NhY2hlKSB7XG4gICAgICBpZiAodGhpcy5fY2FjaGVbbmFtZV0gaW5zdGFuY2VvZiBSZXBvc2l0b3J5KVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgJHtuYW1lfSBhbHJlYWR5IGhhcyBhIHJlZ2lzdGVyZWQgaW5zdGFuY2VgKTtcbiAgICB9XG4gICAgdGhpcy5fY2FjaGVbbmFtZV0gPSByZXBvIGFzIGFueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyBtZXRhZGF0YSBvbiBhIG1vZGVsIGluc3RhbmNlLlxuICAgKiBAc3VtbWFyeSBBdHRhY2hlcyBtZXRhZGF0YSB0byBhIG1vZGVsIGluc3RhbmNlIHVzaW5nIGEgbm9uLWVudW1lcmFibGUgcHJvcGVydHkuXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhhdCBleHRlbmRzIE1vZGVsLlxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge2FueX0gbWV0YWRhdGEgLSBUaGUgbWV0YWRhdGEgdG8gYXR0YWNoIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIHN0YXRpYyBzZXRNZXRhZGF0YTxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNLCBtZXRhZGF0YTogYW55KSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZGVsLCBQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEEsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IG1ldGFkYXRhLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIG1ldGFkYXRhIGZyb20gYSBtb2RlbCBpbnN0YW5jZS5cbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHByZXZpb3VzbHkgYXR0YWNoZWQgbWV0YWRhdGEgZnJvbSBhIG1vZGVsIGluc3RhbmNlLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZS5cbiAgICogQHJldHVybiB7YW55fSBUaGUgbWV0YWRhdGEgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHN0YXRpYyBnZXRNZXRhZGF0YTxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBtb2RlbCxcbiAgICAgIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQVxuICAgICk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3IgPyBkZXNjcmlwdG9yLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZW1vdmVzIG1ldGFkYXRhIGZyb20gYSBtb2RlbCBpbnN0YW5jZS5cbiAgICogQHN1bW1hcnkgRGVsZXRlcyB0aGUgbWV0YWRhdGEgcHJvcGVydHkgZnJvbSBhIG1vZGVsIGluc3RhbmNlLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZS5cbiAgICovXG4gIHN0YXRpYyByZW1vdmVNZXRhZGF0YTxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBtb2RlbCxcbiAgICAgIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQVxuICAgICk7XG4gICAgaWYgKGRlc2NyaXB0b3IpIGRlbGV0ZSAobW9kZWwgYXMgYW55KVtQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEFdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHNlcXVlbmNlIG9wdGlvbnMgZm9yIGEgbW9kZWwncyBwcmltYXJ5IGtleS5cbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBzZXF1ZW5jZSBjb25maWd1cmF0aW9uIGZvciBhIG1vZGVsJ3MgcHJpbWFyeSBrZXkgZnJvbSBtZXRhZGF0YS5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWwuXG4gICAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2UuXG4gICAqIEByZXR1cm4ge1NlcXVlbmNlT3B0aW9uc30gVGhlIHNlcXVlbmNlIG9wdGlvbnMgZm9yIHRoZSBtb2RlbCdzIHByaW1hcnkga2V5LlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBJZiBubyBzZXF1ZW5jZSBvcHRpb25zIGFyZSBkZWZpbmVkIGZvciB0aGUgbW9kZWwuXG4gICAqL1xuICBzdGF0aWMgZ2V0U2VxdWVuY2VPcHRpb25zPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgICBjb25zdCBwayA9IGZpbmRQcmltYXJ5S2V5KG1vZGVsKS5pZDtcbiAgICBjb25zdCBtZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgICBSZXBvc2l0b3J5LmtleShEQktleXMuSUQpLFxuICAgICAgbW9kZWwsXG4gICAgICBwayBhcyBzdHJpbmdcbiAgICApO1xuICAgIGlmICghbWV0YWRhdGEpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJObyBzZXF1ZW5jZSBvcHRpb25zIGRlZmluZWQgZm9yIG1vZGVsLiBkaWQgeW91IHVzZSB0aGUgQHBrIGRlY29yYXRvcj9cIlxuICAgICAgKTtcbiAgICByZXR1cm4gbWV0YWRhdGEgYXMgU2VxdWVuY2VPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGFsbCBpbmRleGVzIGRlZmluZWQgb24gYSBtb2RlbC5cbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIGFsbCBpbmRleCBtZXRhZGF0YSBmcm9tIGEgbW9kZWwncyBwcm9wZXJ0eSBkZWNvcmF0b3JzLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtNIHwgQ29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIG9yIGNvbnN0cnVjdG9yLlxuICAgKiBAcmV0dXJuIHtSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBJbmRleE1ldGFkYXRhPj59IEEgbmVzdGVkIHJlY29yZCBvZiBwcm9wZXJ0eSBuYW1lcyB0byBpbmRleCBtZXRhZGF0YS5cbiAgICovXG4gIHN0YXRpYyBpbmRleGVzPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0gfCBDb25zdHJ1Y3RvcjxNPikge1xuICAgIGNvbnN0IGluZGV4RGVjb3JhdG9ycyA9IFJlZmxlY3Rpb24uZ2V0QWxsUHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgbW9kZWwgaW5zdGFuY2VvZiBNb2RlbCA/IG1vZGVsIDogbmV3IG1vZGVsKCksXG4gICAgICBEQktleXMuUkVGTEVDVFxuICAgICk7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4RGVjb3JhdG9ycyB8fCB7fSkucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBJbmRleE1ldGFkYXRhPj4sIFtrLCB2YWxdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlY3MgPSB2YWwuZmlsdGVyKCh2KSA9PiB2LmtleS5zdGFydHNXaXRoKFBlcnNpc3RlbmNlS2V5cy5JTkRFWCkpO1xuICAgICAgICBpZiAoZGVjcyAmJiBkZWNzLmxlbmd0aCkge1xuICAgICAgICAgIGZvciAoY29uc3QgZGVjIG9mIGRlY3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZGVjO1xuICAgICAgICAgICAgYWNjdW1ba10gPSBhY2N1bVtrXSB8fCB7fTtcbiAgICAgICAgICAgIGFjY3VtW2tdW2tleV0gPSBwcm9wcyBhcyBJbmRleE1ldGFkYXRhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGFsbCByZWxhdGlvbiBwcm9wZXJ0aWVzIGRlZmluZWQgb24gYSBtb2RlbC5cbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBuYW1lcyBvZiBhbGwgcHJvcGVydGllcyBtYXJrZWQgYXMgcmVsYXRpb25zIGluIHRoZSBtb2RlbCBoaWVyYXJjaHkuXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhhdCBleHRlbmRzIE1vZGVsLlxuICAgKiBAcGFyYW0ge00gfCBDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2Ugb3IgY29uc3RydWN0b3IuXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBbiBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyB0aGF0IGFyZSByZWxhdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgcmVsYXRpb25zPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0gfCBDb25zdHJ1Y3RvcjxNPik6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IHByb3RvdHlwZSA9XG4gICAgICBtb2RlbCBpbnN0YW5jZW9mIE1vZGVsXG4gICAgICAgID8gT2JqZWN0LmdldFByb3RvdHlwZU9mKG1vZGVsKVxuICAgICAgICA6IChtb2RlbCBhcyBhbnkpLnByb3RvdHlwZTtcbiAgICB3aGlsZSAocHJvdG90eXBlICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHByb3BzOiBzdHJpbmdbXSA9IHByb3RvdHlwZVtQZXJzaXN0ZW5jZUtleXMuUkVMQVRJT05TXTtcbiAgICAgIGlmIChwcm9wcykge1xuICAgICAgICByZXN1bHQucHVzaCguLi5wcm9wcyk7XG4gICAgICB9XG4gICAgICBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG90eXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgdGFibGUgbmFtZSBmb3IgYSBtb2RlbC5cbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBkYXRhYmFzZSB0YWJsZSBuYW1lIGFzc29jaWF0ZWQgd2l0aCBhIG1vZGVsLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtNIHwgQ29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIG9yIGNvbnN0cnVjdG9yLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0YWJsZSBuYW1lIGZvciB0aGUgbW9kZWwuXG4gICAqL1xuICBzdGF0aWMgdGFibGU8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogTSB8IENvbnN0cnVjdG9yPE0+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0VGFibGVOYW1lKG1vZGVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgY29sdW1uIG5hbWUgZm9yIGEgbW9kZWwgYXR0cmlidXRlLlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGRhdGFiYXNlIGNvbHVtbiBuYW1lIGZvciBhIG1vZGVsIHByb3BlcnR5LlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRoYXQgZXh0ZW5kcyBNb2RlbC5cbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBhdHRyaWJ1dGUvcHJvcGVydHkgbmFtZS5cbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgY29sdW1uIG5hbWUgZm9yIHRoZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBzdGF0aWMgY29sdW1uPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0sIGF0dHJpYnV0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0Q29sdW1uTmFtZShtb2RlbCwgYXR0cmlidXRlKTtcbiAgfVxufVxuXG5pZiAoQWRhcHRlcikgQWRhcHRlcltcIl9iYXNlUmVwb3NpdG9yeVwiXSA9IFJlcG9zaXRvcnk7XG4iXX0=
817
+ //# sourceMappingURL=Repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/repository/Repository.ts"],"names":[],"mappings":"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"}
@@ -38,4 +38,4 @@ export const DefaultCascade = {
38
38
  update: Cascade.CASCADE,
39
39
  delete: Cascade.NONE,
40
40
  };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlcG9zaXRvcnkvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDeEIsdUNBQXVDO0lBQ3ZDLDZCQUFXLENBQUE7SUFFWCx3Q0FBd0M7SUFDeEMsOEJBQVksQ0FBQTtBQUNkLENBQUMsRUFOVyxjQUFjLEtBQWQsY0FBYyxRQU16QjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBTixJQUFZLE9BS1g7QUFMRCxXQUFZLE9BQU87SUFDakIsb0RBQW9EO0lBQ3BELDhCQUFtQixDQUFBO0lBQ25CLDJEQUEyRDtJQUMzRCx3QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLE9BQU8sS0FBUCxPQUFPLFFBS2xCO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0I7SUFDN0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSTtDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzY2FkZU1ldGFkYXRhIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRW51bWVyYXRpb24gb2YgcG9zc2libGUgc29ydCBkaXJlY3Rpb25zLlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYXZhaWxhYmxlIHNvcnQgZGlyZWN0aW9ucyBmb3Igb3JkZXJpbmcgcXVlcnkgcmVzdWx0cy5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgZW51bSBPcmRlckRpcmVjdGlvbiB7XG4gIC8qKiBBc2NlbmRpbmcgb3JkZXIgKEEgdG8gWiwgMCB0byA5KSAqL1xuICBBU0MgPSBcImFzY1wiLFxuXG4gIC8qKiBEZXNjZW5kaW5nIG9yZGVyIChaIHRvIEEsIDkgdG8gMCkgKi9cbiAgRFNDID0gXCJkZXNjXCIsXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVudW1lcmF0aW9uIG9mIGNhc2NhZGUgb3BlcmF0aW9uIHR5cGVzLlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYXZhaWxhYmxlIGNhc2NhZGUgYmVoYXZpb3JzIGZvciBlbnRpdHkgcmVsYXRpb25zaGlwcy5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgZW51bSBDYXNjYWRlIHtcbiAgLyoqIFBlcmZvcm0gY2FzY2FkZSBvcGVyYXRpb24gb24gcmVsYXRlZCBlbnRpdGllcyAqL1xuICBDQVNDQURFID0gXCJjYXNjYWRlXCIsXG4gIC8qKiBEbyBub3QgcGVyZm9ybSBjYXNjYWRlIG9wZXJhdGlvbiBvbiByZWxhdGVkIGVudGl0aWVzICovXG4gIE5PTkUgPSBcIm5vbmVcIixcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU2hhcGUgb2YgdGhlIGRlZmF1bHQgY2FzY2FkZSBjb25maWd1cmF0aW9uIG9iamVjdCB1c2VkIGluIHJlcG9zaXRvcmllcy5cbiAqIEBzdW1tYXJ5IERvY3VtZW50cyB0aGUgc3RydWN0dXJlIG9mIHRoZSBjYXNjYWRlIGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCB1cGRhdGUgYW5kIGRlbGV0ZSBiZWhhdmlvcnMuXG4gKiBAcHJvcGVydHkgeydjYXNjYWRlJ3wnbm9uZSd9IHVwZGF0ZSAtIERldGVybWluZXMgd2hldGhlciB1cGRhdGVzIGNhc2NhZGUgdG8gcmVsYXRlZCBlbnRpdGllcy5cbiAqIEBwcm9wZXJ0eSB7J2Nhc2NhZGUnfCdub25lJ30gZGVsZXRlIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIGRlbGV0ZXMgY2FzY2FkZSB0byByZWxhdGVkIGVudGl0aWVzLlxuICogQHR5cGVEZWYgRGVmYXVsdENhc2NhZGVDb25maWdcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdENhc2NhZGU6IENhc2NhZGVNZXRhZGF0YSA9IHtcbiAgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsXG4gIGRlbGV0ZTogQ2FzY2FkZS5OT05FLFxufTtcbiJdfQ==
41
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/repository/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,uCAAuC;IACvC,6BAAW,CAAA;IAEX,wCAAwC;IACxC,8BAAY,CAAA;AACd,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,oDAAoD;IACpD,8BAAmB,CAAA;IACnB,2DAA2D;IAC3D,wBAAa,CAAA;AACf,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,MAAM,EAAE,OAAO,CAAC,OAAO;IACvB,MAAM,EAAE,OAAO,CAAC,IAAI;CACrB,CAAC"}
@@ -54,4 +54,4 @@ export function repository(model, flavour) {
54
54
  })(original);
55
55
  });
56
56
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXBvc2l0b3J5L2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFlLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBc0IsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBcUI7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0NBQXVCO0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLEtBQXFCLEVBQ3JCLE9BQWdCO0lBRWhCLE9BQU8sQ0FBQyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDM0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FDbkUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO1FBQ0osQ0FBQztRQUVELFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsT0FBTztZQUNMLE9BQU87Z0JBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN0RSxVQUFVLENBQUMsUUFBUSxDQUNqQixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTRCLENBQUMsSUFBSSxLQUFLLEVBQ3RELFFBQVEsRUFDUixPQUFPLENBQ1IsQ0FBQztRQUNGLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBNEIsQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUN4RSxRQUFRLEVBQUUsQ0FBQyxRQUF3QixFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUU7b0JBQzVDLFVBQVUsRUFBRSxLQUFLO29CQUNqQixZQUFZLEVBQUUsS0FBSztvQkFDbkIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDZixDQUFDLENBQVEsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2luamVjdGFibGUtZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgREJLZXlzLCBJUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgbWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCwgTW9kZWxLZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuL1JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IEFkYXB0ZXIsIFBlcnNpc3RlbmNlS2V5cyB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZVwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXBvc2l0b3J5IGRlY29yYXRvciBmb3IgbW9kZWwgY2xhc3Nlcy5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYW5kIHJlZ2lzdGVycyBhIHJlcG9zaXRvcnkgZm9yIGEgbW9kZWwgY2xhc3MuIENhbiBiZSB1c2VkIGFzIGJvdGggYSBwcm9wZXJ0eSBkZWNvcmF0b3IgYW5kIGEgY2xhc3MgZGVjb3JhdG9yLlxuICogQHRlbXBsYXRlIFQgLSBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWwuXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPFQ+fSBtb2RlbCAtIFRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgbW9kZWwgY2xhc3MuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2ZsYXZvdXJdIC0gdGhlIHJlcXVpcmVkIGFkYXB0ZXIncyBmbGF2b3VyL2FsaWFzLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgcmV0cmlldmVkIGZyb20gdGhlIG1vZGVsIG1ldGFkYXRhLi5cbiAqIEByZXR1cm4ge2FueX0gLSBUaGUgZGVjb3JhdG9yIGZ1bmN0aW9uLlxuICogQGZ1bmN0aW9uIHJlcG9zaXRvcnlcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDbGllbnQgQ29kZVxuICogICBwYXJ0aWNpcGFudCBEIGFzIERlY29yYXRvclxuICogICBwYXJ0aWNpcGFudCBSIGFzIFJlcG9zaXRvcnlcbiAqICAgcGFydGljaXBhbnQgTSBhcyBNZXRhZGF0YVxuICpcbiAqICAgQy0+PkQ6IEFwcGx5IEByZXBvc2l0b3J5KE1vZGVsKVxuICogICBhbHQgUHJvcGVydHkgRGVjb3JhdG9yXG4gKiAgICAgRC0+PkQ6IENoZWNrIGlmIHByb3BlcnR5S2V5IGV4aXN0c1xuICogICAgIEQtPj4rQzogUmV0dXJuIGluamVjdChuYW1lKSBkZWNvcmF0b3JcbiAqICAgZWxzZSBDbGFzcyBEZWNvcmF0b3JcbiAqICAgICBELT4+TTogU2V0IHJlcG9zaXRvcnkgbWV0YWRhdGEgb24gbW9kZWxcbiAqICAgICBELT4+UjogUmVnaXN0ZXIgbW9kZWwgd2l0aCBSZXBvc2l0b3J5XG4gKiAgICAgRC0+PitDOiBSZXR1cm4gaW5qZWN0YWJsZSBkZWNvcmF0b3Igd2l0aCBjb25maWdcbiAqICAgICBDLT4+QzogRGVmaW5lIERCS2V5cy5DTEFTUyBwcm9wZXJ0eVxuICogICBlbmRcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBvc2l0b3J5PFQgZXh0ZW5kcyBNb2RlbD4oXG4gIG1vZGVsOiBDb25zdHJ1Y3RvcjxUPixcbiAgZmxhdm91cj86IHN0cmluZ1xuKTogYW55IHtcbiAgcmV0dXJuICgob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBpZiAocHJvcGVydHlLZXkpIHtcbiAgICAgIHJldHVybiBpbmplY3QobW9kZWxbTW9kZWxLZXlzLkFOQ0hPUiBhcyBrZXlvZiB0eXBlb2YgbW9kZWxdIHx8IG1vZGVsKShcbiAgICAgICAgb3JpZ2luYWwsXG4gICAgICAgIHByb3BlcnR5S2V5XG4gICAgICApO1xuICAgIH1cblxuICAgIG1ldGFkYXRhKFJlcG9zaXRvcnkua2V5KERCS2V5cy5SRVBPU0lUT1JZKSwgb3JpZ2luYWwubmFtZSkobW9kZWwpO1xuICAgIGZsYXZvdXIgPVxuICAgICAgZmxhdm91ciB8fFxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShBZGFwdGVyLmtleShQZXJzaXN0ZW5jZUtleXMuQURBUFRFUiksIG9yaWdpbmFsKTtcbiAgICBSZXBvc2l0b3J5LnJlZ2lzdGVyKFxuICAgICAgbW9kZWxbTW9kZWxLZXlzLkFOQ0hPUiBhcyBrZXlvZiB0eXBlb2YgbW9kZWxdIHx8IG1vZGVsLFxuICAgICAgb3JpZ2luYWwsXG4gICAgICBmbGF2b3VyXG4gICAgKTtcbiAgICByZXR1cm4gaW5qZWN0YWJsZShtb2RlbFtNb2RlbEtleXMuQU5DSE9SIGFzIGtleW9mIHR5cGVvZiBtb2RlbF0gfHwgbW9kZWwsIHtcbiAgICAgIGNhbGxiYWNrOiAoaW5zdGFuY2U6IElSZXBvc2l0b3J5PFQ+KSA9PiB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnN0YW5jZSwgREJLZXlzLkNMQVNTLCB7XG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgdmFsdWU6IG1vZGVsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgfSxcbiAgICB9KShvcmlnaW5hbCk7XG4gIH0pIGFzIGFueTtcbn1cbiJdfQ==
57
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/repository/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAe,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAsB,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAC1C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,kCAAuB;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,UAAU,CACxB,KAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,CAAC,QAAa,EAAE,WAAiB,EAAE,EAAE;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,CAAC,CACnE,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO;YACL,OAAO;gBACP,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtE,UAAU,CAAC,QAAQ,CACjB,KAAK,CAAC,SAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,EACtD,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,EAAE;YACxE,QAAQ,EAAE,CAAC,QAAwB,EAAE,EAAE;gBACrC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC5C,UAAU,EAAE,KAAK;oBACjB,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC,CAAC,QAAQ,CAAC,CAAC;IACf,CAAC,CAAQ,CAAC;AACZ,CAAC"}
@@ -19,4 +19,4 @@ export class ObserverError extends InternalError {
19
19
  super(msg, ObserverError.name, 500);
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlcG9zaXRvcnkvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQUM5QyxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVycm9yIHRocm93biB3aGVuIG9ic2VydmVyIGNvbW11bmljYXRpb24gZmFpbHMuXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgZmFpbHVyZSBpbiBvYnNlcnZlciBjb21tdW5pY2F0aW9uIGJldHdlZW4gcmVwb3NpdG9yaWVzLlxuICogQHBhcmFtIHtzdHJpbmd8RXJyb3J9IG1zZyAtIFRoZSBlcnJvciBtZXNzYWdlIG9yIEVycm9yIG9iamVjdC5cbiAqIEBjbGFzcyBPYnNlcnZlckVycm9yXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKiBAZXhhbXBsZVxuICogdHJ5IHtcbiAqICAgLy8gU29tZSByZXBvc2l0b3J5IG9ic2VydmVyIG9wZXJhdGlvblxuICogfSBjYXRjaCAoZXJyb3IpIHtcbiAqICAgaWYgKGVycm9yIGluc3RhbmNlb2YgT2JzZXJ2ZXJFcnJvcikge1xuICogICAgIGNvbnNvbGUuZXJyb3IoJ09ic2VydmVyIGNvbW11bmljYXRpb24gZmFpbGVkOicsIGVycm9yLm1lc3NhZ2UpO1xuICogICB9XG4gKiB9XG4gKi9cbmV4cG9ydCBjbGFzcyBPYnNlcnZlckVycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIE9ic2VydmVyRXJyb3IubmFtZSwgNTAwKTtcbiAgfVxufVxuIl19
22
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/repository/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -5,4 +5,4 @@ export * from "./injectables.js";
5
5
  export * from "./Repository.js";
6
6
  export * from "./types.js";
7
7
  export * from "./utils.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBNEI7QUFDNUIsZ0NBQTZCO0FBQzdCLDRCQUF5QjtBQUN6QixpQ0FBOEI7QUFDOUIsZ0NBQTZCO0FBQzdCLDJCQUF3QjtBQUN4QiwyQkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5qZWN0YWJsZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuIl19
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,4BAAyB;AACzB,iCAA8B;AAC9B,gCAA6B;AAC7B,2BAAwB;AACxB,2BAAwB"}
@@ -162,4 +162,4 @@ export class InjectablesRegistry extends InjectableRegistryImp {
162
162
  return injectable;
163
163
  }
164
164
  }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS9pbmplY3RhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFdBQVcsR0FDWixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXFCO0FBQzFDLE9BQU8sRUFFTCxLQUFLLEdBRU4sTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsbUJBQWdCO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsc0NBQWlDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsb0NBQStCO0FBQ2pELE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrREc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEscUJBQXFCO0lBRzVELElBQWMsR0FBRztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFXLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQ0c7SUFDTSxHQUFHLENBQ1YsSUFBc0MsRUFDdEMsT0FBZ0I7UUFFaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLDREQUE0RDtRQUM1RCxJQUFJLFVBQXlCLENBQUM7UUFDOUIsSUFBSSxDQUFDO1lBQ0gsVUFBVSxHQUFH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aXN0cnlJbXAsXG4gIEluamVjdGFibGVzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2luamVjdGFibGUtZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuL1JlcG9zaXRvcnlcIjtcbmltcG9ydCB7XG4gIENvbnN0cnVjdG9yLFxuICBNb2RlbCxcbiAgTW9kZWxDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbmplY3RhYmxlTmFtZUZvclJlcG9zaXRvcnkgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9BZGFwdGVyXCI7XG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVnaXN0cnkgZm9yIGluamVjdGFibGUgcmVwb3NpdG9yaWVzIHdpdGggYXV0by1yZXNvbHV0aW9uLlxuICogQHN1bW1hcnkgUHJvdmlkZXMgYW4gSW5qZWN0YWJsZVJlZ2lzdHJ5IGltcGxlbWVudGF0aW9uIHRoYXQgcmVzb2x2ZXMgcmVwb3NpdG9yaWVzIGJ5IG1vZGVsIG5hbWUgb3IgY29uc3RydWN0b3IuIElmIGEgcmVwb3NpdG9yeVxuICogaXMgbm90IGV4cGxpY2l0bHkgcmVnaXN0ZXJlZCwgaXQgYXR0ZW1wdHMgdG8gaW5mZXIgdGhlIGNvcnJlY3QgcmVwb3NpdG9yeSB1c2luZyBtb2RlbCBtZXRhZGF0YSBhbmQgdGhlIGFjdGl2ZSBvciBzcGVjaWZpZWQgYWRhcHRlciBmbGF2b3VyLlxuICogQHBhcmFtIHt2b2lkfSBbY29uc3RydWN0b3JdIE5vIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMgcmVxdWlyZWQ7IHRoZSBzdXBlcmNsYXNzIGhhbmRsZXMgaW50ZXJuYWwgc3RhdGUuXG4gKiBAY2xhc3MgSW5qZWN0YWJsZXNSZWdpc3RyeVxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlOiByZXRyaWV2ZSBhIHJlcG9zaXRvcnkgYnkgbW9kZWwgbmFtZVxuICogY29uc3QgcmVnaXN0cnkgPSBuZXcgSW5qZWN0YWJsZXNSZWdpc3RyeSgpO1xuICogY29uc3QgdXNlclJlcG8gPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KCdVc2VyJyk7XG4gKiAvLyBJZiBVc2VyUmVwb3NpdG9yeSBpcyByZWdpc3RlcmVkLCBpdCB3aWxsIGJlIHJldHVybmVkLiBPdGhlcndpc2UsIGEgcmVwb3NpdG9yeSB3aWxsIGJlIGNyZWF0ZWQgaWYgYSBVc2VyIG1vZGVsIGV4aXN0cy5cbiAqXG4gKiAvLyBSZXRyaWV2ZSBieSBjb25zdHJ1Y3RvciBhbmQgc3BlY2lmeSBhZGFwdGVyIGZsYXZvdXJcbiAqIGNvbnN0IHJlcG9CeUN0b3IgPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KFVzZXJNb2RlbCwgJ3JhbScpO1xuICpcbiAqIC8vIFJldHJpZXZlIGJ5IHN5bWJvbCAoZS5nLiwgaW5qZWN0YWJsZSB0b2tlbilcbiAqIGNvbnN0IHRva2VuID0gU3ltYm9sLmZvcignVXNlclJlcG9zaXRvcnknKTtcbiAqIGNvbnN0IGJ5VG9rZW4gPSByZWdpc3RyeS5nZXQ8VXNlclJlcG9zaXRvcnk+KHRva2VuKTtcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDb25zdW1lclxuICogICBwYXJ0aWNpcGFudCBSIGFzIEluamVjdGFibGVzUmVnaXN0cnlcbiAqICAgcGFydGljaXBhbnQgQiBhcyBCYXNlUmVnaXN0cnlcbiAqICAgcGFydGljaXBhbnQgTSBhcyBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBBIGFzIEFkYXB0ZXJcbiAqICAgcGFydGljaXBhbnQgUlAgYXMgUmVwb3NpdG9yeVxuICogICBDLT4+UjogZ2V0KG5hbWUsIGZsYXZvdXI/KVxuICogICBhY3RpdmF0ZSBSXG4gKiAgIFItPj5COiBzdXBlci5nZXQobmFtZSlcbiAqICAgYWx0IEZvdW5kIGluIGJhc2UgcmVnaXN0cnlcbiAqICAgICBCLS0+PlI6IGluamVjdGFibGVcbiAqICAgICBSLS0+PkM6IGluamVjdGFibGVcbiAqICAgZWxzZSBOb3QgZm91bmRcbiAqICAgICBSLT4+TTogTW9kZWwuZ2V0KG5hbWUpXG4gKiAgICAgYWx0IE1vZGVsIGZvdW5kXG4gKiAgICAgICBSLT4+QTogcmVzb2x2ZSBmbGF2b3VyIChmcm9tIGFyZy9tZXRhZGF0YS9jdXJyZW50KVxuICogICAgICAgUi0+PlJQOiBSZXBvc2l0b3J5LmZvck1vZGVsKG1vZGVsQ3RvciwgYWxpYXMpXG4gKiAgICAgICBhbHQgUmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgICBSUC0tPj5SOiByZXBvc2l0b3J5IGluc3RhbmNlXG4gKiAgICAgICAgIFItLT4+QzogcmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgZWxzZSBSZXBvc2l0b3J5IGN0b3JcbiAqICAgICAgICAgUi0+PkE6IEFkYXB0ZXIuZ2V0KHJlc29sdmVkRmxhdm91cikgb3IgQWRhcHRlci5jdXJyZW50XG4gKiAgICAgICAgIEEtLT4+UjogYWRhcHRlciBpbnN0YW5jZVxuICogICAgICAgICBSLT4+UlA6IG5ldyByZXBvQ3RvcihhZGFwdGVyLCBtb2RlbEN0b3IpXG4gKiAgICAgICAgIFItLT4+QzogcmVwb3NpdG9yeSBpbnN0YW5jZVxuICogICAgICAgZW5kXG4gKiAgICAgZWxzZSBNb2RlbCBub3QgZm91bmRcbiAqICAgICAgIFItLT4+QzogdW5kZWZpbmVkXG4gKiAgICAgZW5kXG4gKiAgIGVuZFxuICovXG5leHBvcnQgY2xhc3MgSW5qZWN0YWJsZXNSZWdpc3RyeSBleHRlbmRzIEluamVjdGFibGVSZWdpc3RyeUltcCB7XG4gIHByaXZhdGUgbG9nZ2VyPzogTG9nZ2VyO1xuXG4gIHByb3RlY3RlZCBnZXQgbG9nKCk6IExvZ2dlciB7XG4gICAgaWYgKCF0aGlzLmxvZ2dlcikgdGhpcy5sb2dnZXIgPSBMb2dnaW5nLmZvcih0aGlzIGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMubG9nZ2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmUgYW4gaW5qZWN0YWJsZSB3aXRoIHJlcG9zaXRvcnkgYXV0by1yZXNvbHV0aW9uLlxuICAgKiBAc3VtbWFyeSBBdHRlbXB0cyB0byBnZXQgYW4gaW5qZWN0YWJsZSBmcm9tIHRoZSBiYXNlIHJlZ2lzdHJ5OyBpZiBub3QgZm91bmQgYW5kIHRoZSBuYW1lIHJlZmVycyB0byBhIGtub3duIG1vZGVsLCBpdFxuICAgKiByZXNvbHZlcyB0aGUgYXBwcm9wcmlhdGUgcmVwb3NpdG9yeSB1c2luZyB0aGUgc3BlY2lmaWVkIGZsYXZvdXIgb3IgbW9kZWwgbWV0YWRhdGEsIGZhbGxpbmcgYmFjayB0byB0aGUgY3VycmVudCBhZGFwdGVyIHdoZW4gbmVlZGVkLlxuICAgKiBAdGVtcGxhdGUgVCBUaGUgaW5qZWN0YWJsZSB0eXBlIHRvIGJlIHJldHVybmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHN5bWJvbCB8IENvbnN0cnVjdG9yPFQ+fSBuYW1lIFRva2VuLCBtb2RlbCBuYW1lLCBvciBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIHdpdGggdGhlIGluamVjdGFibGUgb3IgbW9kZWwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZmxhdm91cl0gT3B0aW9uYWwgYWRhcHRlciBmbGF2b3VyIChlLmcuLCBcInJhbVwiKS4gSWYgb21pdHRlZCwgZGVyaXZlcyBmcm9tIG1ldGFkYXRhIG9yIGN1cnJlbnQgYWRhcHRlci5cbiAgICogQHJldHVybiB7VCB8IHVuZGVmaW5lZH0gVGhlIGxvY2F0ZWQgb3IgYXV0by1jcmVhdGVkIGluamVjdGFibGUgaW5zdGFuY2U7IG90aGVyd2lzZSB1bmRlZmluZWQgaWYgaXQgY2Fubm90IGJlIHJlc29sdmVkLlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBHIGFzIGdldChuYW1lLCBmbGF2b3VyPylcbiAgICogICBwYXJ0aWNpcGFudCBCUiBhcyBCYXNlUmVnaXN0cnlcbiAgICogICBwYXJ0aWNpcGFudCBNIGFzIE1vZGVsXG4gICAqICAgcGFydGljaXBhbnQgQSBhcyBBZGFwdGVyXG4gICAqICAgcGFydGljaXBhbnQgUlAgYXMgUmVwb3NpdG9yeVxuICAgKiAgIEctPj5CUjogc3VwZXIuZ2V0KG5hbWUpXG4gICAqICAgYWx0IEZvdW5kXG4gICAqICAgICBCUi0tPj5HOiBpbmplY3RhYmxlXG4gICAqICAgZWxzZSBOb3QgZm91bmRcbiAgICogICAgIEctPj5NOiBkZXJpdmUgbW9kZWxDdG9yIGZyb20gbmFtZVxuICAgKiAgICAgYWx0IG1vZGVsQ3RvciByZXNvbHZlZFxuICAgKiAgICAgICBHLT4+QTogcmVzb2x2ZSBmbGF2b3VyIChhcmcgfCBtZXRhZGF0YSB8IGN1cnJlbnQpXG4gICAqICAgICAgIEctPj5SUDogUmVwb3NpdG9yeS5mb3JNb2RlbChtb2RlbEN0b3IsIGFsaWFzKVxuICAgKiAgICAgICBhbHQgcmV0dXJucyBpbnN0YW5jZVxuICAgKiAgICAgICAgIFJQLS0+Pkc6IFJlcG9zaXRvcnkgaW5zdGFuY2VcbiAgICogICAgICAgZWxzZSByZXR1cm5zIGN0b3JcbiAgICogICAgICAgICBHLT4+QTogQWRhcHRlci5nZXQoZmxhdm91cikgfCBBZGFwdGVyLmN1cnJlbnRcbiAgICogICAgICAgICBBLS0+Pkc6IGFkYXB0ZXIgaW5zdGFuY2VcbiAgICogICAgICAgICBHLT4+UlA6IG5ldyByZXBvQ3RvcihhZGFwdGVyLCBtb2RlbEN0b3IpXG4gICAqICAgICAgIGVuZFxuICAgKiAgICAgZWxzZSBubyBtb2RlbEN0b3JcbiAgICogICAgICAgRy0tPj5HOiByZXR1cm4gdW5kZWZpbmVkXG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICovXG4gIG92ZXJyaWRlIGdldDxUPihcbiAgICBuYW1lOiBzeW1ib2wgfCBDb25zdHJ1Y3RvcjxUPiB8IHN0cmluZyxcbiAgICBmbGF2b3VyPzogc3RyaW5nXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmdldCk7XG4gICAgLy8gRmlyc3QsIHRyeSBiYXNlIHJlZ2lzdHJ5LCBidXQgZ3VhcmQgYWdhaW5zdCB0aHJvd24gZXJyb3JzXG4gICAgbGV0IGluamVjdGFibGU6IFQgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGluamVjdGFibGUgPSBzdXBlci5nZXQobmFtZSBhcyBhbnkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gZG8gbm90aGluZy4gd2UgaGFuZGxlIGl0IGxhdGVyXG4gICAgfVxuXG4gICAgaWYgKCFpbmplY3RhYmxlKSB7XG4gICAgICBsZXQgbW9kZWxDdG9yOiBDb25zdHJ1Y3Rvcjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKHR5cGVvZiBuYW1lID09PSBcImZ1bmN0aW9uXCIpIG1vZGVsQ3RvciA9IG5hbWUgYXMgQ29uc3RydWN0b3I8YW55PjtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiBuYW1lID09PSBcInN5bWJvbFwiIHx8IHR5cGVvZiBuYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG1vZGVsQ3RvciA9IE1vZGVsLmdldChuYW1lLnRvU3RyaW5nKCkpIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFtb2RlbEN0b3IpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIFJlc29sdmUgZmxhdm91ciBmcm9tIG1ldGFkYXRhIGlmIG5vdCBwcm92aWRlZFxuICAgICAgY29uc3QgbWV0YUtleSA9IEFkYXB0ZXIua2V5KFBlcnNpc3RlbmNlS2V5cy5BREFQVEVSKTtcbiAgICAgIGNvbnN0IHJlc29sdmVkRmxhdm91ciA9XG4gICAgICAgIGZsYXZvdXIgfHxcbiAgICAgICAgKFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YUtleSwgbW9kZWxDdG9yKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQpO1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBEZXRlcm1pbmUgYW4gYWxpYXMgdG8gdXNlOiBwcmVmZXIgYSBkaXJlY3RseSByZWdpc3RlcmVkIGFkYXB0ZXI7IG90aGVyd2lzZSwgaWYgdGhlIGN1cnJlbnQgYWRhcHRlclxuICAgICAgICAvLyBoYXMgdGhlIHNhbWUgZmxhdm91ciwgdXNlIGl0cyBhbGlhcyB0byBzYXRpc2Z5IFJlcG9zaXRvcnkuZm9yTW9kZWwvQWRhcHRlci5nZXQgbG9va3Vwcy5cbiAgICAgICAgbGV0IGFsaWFzVG9Vc2UgPSByZXNvbHZlZEZsYXZvdXI7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHJlc29sdmVkRmxhdm91cikgQWRhcHRlci5nZXQocmVzb2x2ZWRGbGF2b3VyKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgY29uc3QgY3VycmVudCA9IEFkYXB0ZXIuY3VycmVudCBhcyBhbnk7XG4gICAgICAgICAgaWYgKGN1cnJlbnQgJiYgY3VycmVudC5mbGF2b3VyID09PSByZXNvbHZlZEZsYXZvdXIpXG4gICAgICAgICAgICBhbGlhc1RvVXNlID0gY3VycmVudC5hbGlhcztcbiAgICAgICAgfVxuXG4gICAgICAgIGluamVjdGFibGUgPSBSZXBvc2l0b3J5LmZvck1vZGVsKFxuICAgICAgICAgIG1vZGVsQ3RvciBhcyBDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgICAgICAgIGFsaWFzVG9Vc2VcbiAgICAgICAgKSBhcyBUO1xuICAgICAgICBpZiAoaW5qZWN0YWJsZSBpbnN0YW5jZW9mIFJlcG9zaXRvcnkpIHJldHVybiBpbmplY3RhYmxlIGFzIFQ7XG5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCByZWdpc3RlciB0aGUgcmVzb2x2ZWQgaW5qZWN0YWJsZSBuYW1lIGZvciBsYXRlciByZXRyaWV2YWxcbiAgICAgICAgY29uc3QgZiA9XG4gICAgICAgICAgcmVzb2x2ZWRGbGF2b3VyIHx8XG4gICAgICAgICAgKFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YUtleSwgKGluamVjdGFibGUgYXMgYW55KS5jb25zdHJ1Y3RvcikgYXNcbiAgICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgICB8IHVuZGVmaW5lZCkgfHxcbiAgICAgICAgICAoUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRhS2V5LCBtb2RlbEN0b3IpIGFzIHN0cmluZyB8IHVuZGVmaW5lZCk7XG4gICAgICAgIEluamVjdGFibGVzLnJlZ2lzdGVyKFxuICAgICAgICAgIGluamVjdGFibGUsXG4gICAgICAgICAgZ2VuZXJhdGVJbmplY3RhYmxlTmFtZUZvclJlcG9zaXRvcnkoXG4gICAgICAgICAgICBtb2RlbEN0b3IgYXMgTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgICAgICAgICAgZiBhcyBzdHJpbmdcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcbiAgICAgICAgICBgTm8gcmVnaXN0ZXJlZCByZXBvc2l0b3J5IG9yIGFkYXB0ZXIgZm91bmQuIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IGFkYXB0ZXIuIEVycm9yOiAkeyhlIGFzIEVycm9yKT8ubWVzc2FnZSB8fCBKU09OLnN0cmluZ2lmeShlKX1gXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJlcG9DdG9yID0gKFJlcG9zaXRvcnkgYXMgYW55KVtcImdldFwiXShtb2RlbEN0b3IsIHJlc29sdmVkRmxhdm91cik7XG4gICAgICAgIGlmICh0eXBlb2YgcmVwb0N0b3IgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIGNvbnN0IGFkYXB0ZXIgPSByZXNvbHZlZEZsYXZvdXJcbiAgICAgICAgICAgID8gKEFkYXB0ZXIuZ2V0KHJlc29sdmVkRmxhdm91cikgYXMgYW55KVxuICAgICAgICAgICAgOiAoQWRhcHRlci5jdXJyZW50IGFzIGFueSk7XG4gICAgICAgICAgaWYgKCFhZGFwdGVyKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IHJlcG9DdG9yKGFkYXB0ZXIsIG1vZGVsQ3Rvcik7XG4gICAgICAgICAgcmV0dXJuIGluc3RhbmNlIGFzIFQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaW5qZWN0YWJsZSBhcyBUIHwgdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=injectables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../../src/repository/injectables.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzY2FkZSwgT3JkZXJEaXJlY3Rpb24gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWV0YWRhdGEgZm9yIGNhc2NhZGUgb3BlcmF0aW9ucyBvbiByZWxhdGVkIGVudGl0aWVzLlxuICogQHN1bW1hcnkgRGVmaW5lcyBob3cgdXBkYXRlIGFuZCBkZWxldGUgb3BlcmF0aW9ucyBzaG91bGQgY2FzY2FkZSB0byByZWxhdGVkIGVudGl0aWVzLlxuICogQHR5cGVkZWYgQ2FzY2FkZU1ldGFkYXRhXG4gKiBAcHJvcGVydHkge0Nhc2NhZGV9IHVwZGF0ZSAtIERldGVybWluZXMgY2FzY2FkZSBiZWhhdmlvciBmb3IgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBAcHJvcGVydHkge0Nhc2NhZGV9IGRlbGV0ZSAtIERldGVybWluZXMgY2FzY2FkZSBiZWhhdmlvciBmb3IgZGVsZXRlIG9wZXJhdGlvbnMuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IHR5cGUgQ2FzY2FkZU1ldGFkYXRhID0ge1xuICB1cGRhdGU6IENhc2NhZGU7XG4gIGRlbGV0ZTogQ2FzY2FkZTtcbn07XG5cbmV4cG9ydCB0eXBlIEluZGV4TWV0YWRhdGEgPSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRpcmVjdGlvbnM/OiBPcmRlckRpcmVjdGlvblsyXTtcbiAgY29tcG9zaXRpb25zPzogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNZXRhZGF0YSBmb3IgYSBuYW1lZCBpbmRleCB0aGF0IGV4dGVuZHMgSW5kZXhNZXRhZGF0YS5cbiAqIEBzdW1tYXJ5IEV4dGVuZHMgSW5kZXhNZXRhZGF0YSB3aXRoIGEgc3VmZml4IHRvIGlkZW50aWZ5IHRoZSBpbmRleC5cbiAqIEB0eXBlZGVmIE5hbWVkSW5kZXhNZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN1ZmZpeCAtIFRoZSBzdWZmaXggdG8gYXBwZW5kIHRvIHRoZSBpbmRleCBuYW1lLlxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCB0eXBlIE5hbWVkSW5kZXhNZXRhZGF0YSA9IEluZGV4TWV0YWRhdGEgJiB7XG4gIHN1ZmZpeDogc3RyaW5nO1xufTtcbiJdfQ==
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/repository/types.ts"],"names":[],"mappings":""}
@@ -46,4 +46,4 @@ export function generateInjectableNameForRepository(model, flavour) {
46
46
  }
47
47
  return sf(PersistenceKeys.INJECTABLE, flavour, getTableName(model));
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVwb3NpdG9yeS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFlLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsb0NBQStCO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsc0NBQWlDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLCtCQUEwQjtBQUVqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQ2pELEtBQXlCLEVBQ3pCLE9BQWdCO0lBRWhCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUMzQixHQUFHLEVBQ0gsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU87WUFDVixNQUFNLElBQUksYUFBYSxDQUNyQix5Q0FBeUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FDeEcsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIHNmIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9BZGFwdGVyXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGdldFRhYmxlTmFtZSB9IGZyb20gXCIuLi9pZGVudGl0eS91dGlsc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgYSB1bmlxdWUgaW5qZWN0YWJsZSBuYW1lIGZvciBhIHJlcG9zaXRvcnkuXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgc3RhbmRhcmRpemVkIGluamVjdGFibGUgdG9rZW4gZm9yIHJlcG9zaXRvcmllcyB1c2luZyB0aGUgYWRhcHRlciBmbGF2b3VyIGFuZCBtb2RlbCB0YWJsZSBuYW1lLlxuICogVGhpcyBoZWxwcyB0aGUgREkgc3lzdGVtIHJlZ2lzdGVyIGFuZCByZXNvbHZlIHJlcG9zaXRvcnkgaW5zdGFuY2VzIGNvbnNpc3RlbnRseSBhY3Jvc3MgYWRhcHRlcnMuXG4gKiBAdGVtcGxhdGUgVCBUaGUgbW9kZWwgdHlwZSB0aGF0IGV4dGVuZHMgTW9kZWwuXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPFQ+IHwgVH0gbW9kZWwgVGhlIG1vZGVsIGNvbnN0cnVjdG9yIG9yIGluc3RhbmNlIGZyb20gd2hpY2ggdG8gZGVyaXZlIHRoZSB0YWJsZSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IFtmbGF2b3VyXSBPcHRpb25hbCBhZGFwdGVyIGZsYXZvdXIvYWxpYXMuIElmIG9taXR0ZWQsIGl0IGlzIHJlYWQgZnJvbSBtb2RlbCBtZXRhZGF0YS5cbiAqIEByZXR1cm4ge3N0cmluZ30gQSBuYW1lc3BhY2VkIGluamVjdGFibGUgdG9rZW4gZm9yIHRoZSByZXBvc2l0b3J5IChlLmcuLCBcImRiOnJlcG86cmFtOnVzZXJzXCIpLlxuICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlIGZsYXZvdXIgY2Fubm90IGJlIGRldGVybWluZWQgZnJvbSBhcmd1bWVudHMgb3IgbWV0YWRhdGEuXG4gKiBAZnVuY3Rpb24gZ2VuZXJhdGVJbmplY3RhYmxlTmFtZUZvclJlcG9zaXRvcnlcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgVSBhcyBnZW5lcmF0ZUluamVjdGFibGVOYW1lRm9yUmVwb3NpdG9yeVxuICogICBwYXJ0aWNpcGFudCBSIGFzIFJlZmxlY3QgTWV0YWRhdGFcbiAqICAgcGFydGljaXBhbnQgQSBhcyBBZGFwdGVyXG4gKiAgIHBhcnRpY2lwYW50IFMgYXMgU3RyaW5nIEZvcm1hdHRlclxuICogICBDLT4+VTogY2FsbChtb2RlbCwgZmxhdm91cj8pXG4gKiAgIGFsdCBmbGF2b3VyIHByb3ZpZGVkXG4gKiAgICAgVS0tPj5VOiB1c2UgcHJvdmlkZWQgZmxhdm91clxuICogICBlbHNlIGZsYXZvdXIgbm90IHByb3ZpZGVkXG4gKiAgICAgVS0+PkE6IEFkYXB0ZXIua2V5KEFEQVBURVIpXG4gKiAgICAgVS0+PlI6IGdldE1ldGFkYXRhKGtleSwgbW9kZWx8bW9kZWwuY3RvcilcbiAqICAgICBhbHQgbWV0YWRhdGEgcHJlc2VudFxuICogICAgICAgUi0tPj5VOiBmbGF2b3VyXG4gKiAgICAgZWxzZSBtaXNzaW5nXG4gKiAgICAgICBVLS0+PkM6IHRocm93IEludGVybmFsRXJyb3JcbiAqICAgICBlbmRcbiAqICAgZW5kXG4gKiAgIFUtPj5TOiBzZihJTkpFQ1RBQkxFLCBmbGF2b3VyLCBSZXBvc2l0b3J5LnRhYmxlKG1vZGVsKSlcbiAqICAgUy0tPj5DOiB0b2tlbiBzdHJpbmdcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbmplY3RhYmxlTmFtZUZvclJlcG9zaXRvcnk8VCBleHRlbmRzIE1vZGVsPihcbiAgbW9kZWw6IENvbnN0cnVjdG9yPFQ+IHwgVCxcbiAgZmxhdm91cj86IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgaWYgKCFmbGF2b3VyKSB7XG4gICAgY29uc3Qga2V5ID0gQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpO1xuICAgIGZsYXZvdXIgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAga2V5LFxuICAgICAgbW9kZWwgaW5zdGFuY2VvZiBNb2RlbCA/IG1vZGVsLmNvbnN0cnVjdG9yIDogbW9kZWxcbiAgICApO1xuICAgIGlmICghZmxhdm91cilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJldHJpZXZlIGZsYXZvdXIgZnJvbSBtb2RlbCAke21vZGVsIGluc3RhbmNlb2YgTW9kZWwgPyBtb2RlbC5jb25zdHJ1Y3Rvci5uYW1lIDogbW9kZWwubmFtZX1gXG4gICAgICApO1xuICB9XG4gIHJldHVybiBzZihQZXJzaXN0ZW5jZUtleXMuSU5KRUNUQUJMRSwgZmxhdm91ciwgZ2V0VGFibGVOYW1lKG1vZGVsKSk7XG59XG4iXX0=
49
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/repository/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAe,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,oCAA+B;AACjD,OAAO,EAAE,eAAe,EAAE,sCAAiC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,+BAA0B;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,mCAAmC,CACjD,KAAyB,EACzB,OAAgB;IAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,GAAG,OAAO,CAAC,WAAW,CAC3B,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CACnD,CAAC;QACF,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,aAAa,CACrB,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CACxG,CAAC;IACN,CAAC;IACD,OAAO,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -16,4 +16,4 @@ export function final() {
16
16
  return descriptor;
17
17
  };
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsS0FBSztJQUNuQixPQUFPLENBQ0wsTUFBYyxFQUNkLFdBQWlCLEVBQ2pCLFVBQStCLEVBQy9CLEVBQUU7UUFDRixJQUFJLENBQUMsVUFBVTtZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNqRSxJQUFJLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBkZWNvcmF0b3IgdGhhdCBtYWtlcyBhIG1ldGhvZCBub24tY29uZmlndXJhYmxlXG4gKiBAc3VtbWFyeSBUaGlzIGRlY29yYXRvciBwcmV2ZW50cyBhIG1ldGhvZCBmcm9tIGJlaW5nIG92ZXJyaWRkZW4gYnkgbWFraW5nIGl0IG5vbi1jb25maWd1cmFibGUuXG4gKiBJdCB0aHJvd3MgYW4gZXJyb3IgaWYgdXNlZCBvbiBhbnl0aGluZyBvdGhlciB0aGFuIGEgbWV0aG9kLlxuICogQHJldHVybiB7RnVuY3Rpb259IEEgZGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gbWV0aG9kc1xuICogQGZ1bmN0aW9uIGZpbmFsXG4gKiBAY2F0ZWdvcnkgTWV0aG9kIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsKCkge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5PzogYW55LFxuICAgIGRlc2NyaXB0b3I/OiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSA9PiB7XG4gICAgaWYgKCFkZXNjcmlwdG9yKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZmluYWwgZGVjb3JhdG9yIGNhbiBvbmx5IGJlIHVzZWQgb24gbWV0aG9kc1wiKTtcbiAgICBpZiAoZGVzY3JpcHRvcj8uY29uZmlndXJhYmxlKSB7XG4gICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgfTtcbn1cbiJdfQ==
19
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/utils/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,CACL,MAAc,EACd,WAAiB,EACjB,UAA+B,EAC/B,EAAE;QACF,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,UAAU,EAAE,YAAY,EAAE,CAAC;YAC7B,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -60,4 +60,4 @@ export class ConnectionError extends InternalError {
60
60
  super(msg, ConnectionError.name, 503);
61
61
  }
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQUNyRCxZQUFZLEdBQW1CLEVBQUUsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsR0FBRztRQUN6RSxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQVksR0FBbUIsRUFBRSxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUk7UUFDekQsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBQ2hELFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhZFJlcXVlc3RFcnJvciwgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFcnJvciB0aHJvd24gd2hlbiBhIHVzZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBhbiBhY3Rpb25cbiAqIEBzdW1tYXJ5IFRoaXMgZXJyb3IgaXMgdGhyb3duIHdoZW4gYSB1c2VyIGF0dGVtcHRzIHRvIGFjY2VzcyBhIHJlc291cmNlIG9yIHBlcmZvcm0gYW4gYWN0aW9uIHdpdGhvdXQgcHJvcGVyIGF1dGhlbnRpY2F0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ3xFcnJvcn0gbXNnIC0gVGhlIGVycm9yIG1lc3NhZ2Ugb3IgRXJyb3Igb2JqZWN0XG4gKiBAY2xhc3MgQXV0aG9yaXphdGlvbkVycm9yXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZSBvZiB0aHJvd2luZyBhbiBBdXRob3JpemF0aW9uRXJyb3JcbiAqIGlmICghdXNlci5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICogICB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKCdVc2VyIG5vdCBhdXRoZW50aWNhdGVkJyk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEF1dGhvcml6YXRpb25FcnJvciBleHRlbmRzIEJhZFJlcXVlc3RFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IsIG5hbWUgPSBBdXRob3JpemF0aW9uRXJyb3IubmFtZSwgY29kZSA9IDQwMSkge1xuICAgIHN1cGVyKG1zZywgbmFtZSwgY29kZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXJyb3IgdGhyb3duIHdoZW4gYSB1c2VyIGlzIGZvcmJpZGRlbiBmcm9tIGFjY2Vzc2luZyBhIHJlc291cmNlXG4gKiBAc3VtbWFyeSBUaGlzIGVycm9yIGlzIHRocm93biB3aGVuIGFuIGF1dGhlbnRpY2F0ZWQgdXNlciBhdHRlbXB0cyB0byBhY2Nlc3MgYSByZXNvdXJjZSBvciBwZXJmb3JtIGFuIGFjdGlvbiB0aGV5IGRvbid0IGhhdmUgcGVybWlzc2lvbiBmb3JcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgLSBUaGUgZXJyb3IgbWVzc2FnZSBvciBFcnJvciBvYmplY3RcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgRm9yYmlkZGVuRXJyb3JcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBFeGFtcGxlIG9mIHRocm93aW5nIGEgRm9yYmlkZGVuRXJyb3JcbiAqIGlmICghdXNlci5oYXNQZXJtaXNzaW9uKCdhZG1pbicpKSB7XG4gKiAgIHRocm93IG5ldyBGb3JiaWRkZW5FcnJvcignVXNlciBkb2VzIG5vdCBoYXZlIGFkbWluIHBlcm1pc3Npb25zJyk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEZvcmJpZGRlbkVycm9yIGV4dGVuZHMgQXV0aG9yaXphdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvciwgbmFtZSA9IEZvcmJpZGRlbkVycm9yLm5hbWUpIHtcbiAgICBzdXBlcihtc2csIG5hbWUsIDQwMyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRXJyb3IgdGhyb3duIHdoZW4gYSBjb25uZWN0aW9uIHRvIGEgc2VydmljZSBmYWlsc1xuICogQHN1bW1hcnkgVGhpcyBlcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgYXBwbGljYXRpb24gZmFpbHMgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhIHJlcXVpcmVkIHNlcnZpY2Ugb3IgcmVzb3VyY2VcbiAqIEBwYXJhbSB7c3RyaW5nfEVycm9yfSBtc2cgLSBUaGUgZXJyb3IgbWVzc2FnZSBvciBFcnJvciBvYmplY3RcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKiBAY2xhc3MgQ29ubmVjdGlvbkVycm9yXG4gKiBAY2F0ZWdvcnkgRXJyb3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZSBvZiB0aHJvd2luZyBhIENvbm5lY3Rpb25FcnJvclxuICogdHJ5IHtcbiAqICAgYXdhaXQgZGF0YWJhc2UuY29ubmVjdCgpO1xuICogfSBjYXRjaCAoZXJyb3IpIHtcbiAqICAgdGhyb3cgbmV3IENvbm5lY3Rpb25FcnJvcignRmFpbGVkIHRvIGNvbm5lY3QgdG8gZGF0YWJhc2UnKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkVycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IpIHtcbiAgICBzdXBlcihtc2csIENvbm5lY3Rpb25FcnJvci5uYW1lLCA1MDMpO1xuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,GAAmB,EAAE,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;QACzE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IACpD,YAAY,GAAmB,EAAE,IAAI,GAAG,cAAc,CAAC,IAAI;QACzD,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -1,3 +1,3 @@
1
1
  export * from "./decorators.js";
2
2
  export * from "./errors.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0NBQTZCO0FBQzdCLDRCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuIl19
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,4BAAyB"}
@@ -110,4 +110,4 @@ function pk(opts = SequenceOptions_1.DefaultSequenceOptions) {
110
110
  })
111
111
  .apply();
112
112
  }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pZGVudGl0eS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0VBLGdDQTBDQztBQXNCRCxnQkFnQ0M7QUFoS0QseUVBS3dDO0FBQ3hDLHlFQUd1QztBQUN2QywyREFPaUM7QUFDakMsK0RBQTREO0FBQzVELDBEQUE0QztBQUM1Qyx1Q0FBK0M7QUFHL0MsMERBQStDO0FBQy9DLHFEQUE2QztBQUU3QyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHVFQUF1RTtBQUVyRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSSxLQUFLLFVBQVUsVUFBVSxDQVE5QixPQUFtQixFQUNuQixJQUFPLEVBQ1AsR0FBWSxFQUNaLEtBQVE7SUFFUixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLGtCQUFrQixHQUFHLFVBQ3pCLE1BQVMsRUFDVCxXQUFtQixFQUNuQixLQUErQjtRQUUvQixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUU7WUFDekMsVUFBVSxFQUFFLElBQUk7WUFDaEIsUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBQSw0QkFBb0IsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUQsSUFBSSxRQUFrQixDQUFDO0lBQ3ZCLElBQUksQ0FBQztRQUNILFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSw2QkFBYSxDQUNyQixrQ0FBa0MsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILFNBQWdCLEVBQUUsQ0FDaEIsT0FHSSx3Q0FBc0I7SUFFMUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLHdDQUFzQixFQUFFLElBQUksRUFBRTtRQUNyRCxTQUFTLEVBQ1AsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVztZQUNoRCxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLHdDQUFzQixDQUFDLFNBQVM7S0FDekQsQ0FBb0IsQ0FBQztJQUV0QixNQUFNLEdBQUcsR0FBRyx1QkFBVSxDQUFDLEdBQUcsQ0FBQyxzQkFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLFNBQVMsS0FBSyxDQUFDLE9BQXdCLEVBQUUsU0FBcUI7UUFDNUQsT0FBTyxTQUFTLEtBQUssQ0FBQyxHQUFRLEVBQUUsSUFBUztZQUN2QyxPQUFPLElBQUEsa0JBQUssRUFDVixJQUFBLGtCQUFLLEVBQUMsQ0FBQywyQkFBYyxDQUFDLEdBQUcsRUFBRSwyQkFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQy9DLElBQUEsK0JBQVEsR0FBRSxFQUNWLElBQUEsd0JBQVEsR0FBRSxFQUNWLElBQUEsbUNBQVksRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQzFCLElBQUEsd0JBQVEsRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUN4QyxJQUFBLG1DQUFZLEVBQUMsc0JBQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQzlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8saUNBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ3ZCLE1BQU0sQ0FBQztRQUNOLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0tBQzlDLENBQUM7U0FDRCxLQUFLLEVBQUUsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWNvcmF0aW9uLFxuICBNb2RlbCxcbiAgcHJvcE1ldGFkYXRhLFxuICByZXF1aXJlZCxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNlcXVlbmNlT3B0aW9ucyxcbiAgU2VxdWVuY2VPcHRpb25zLFxufSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9TZXF1ZW5jZU9wdGlvbnNcIjtcbmltcG9ydCB7XG4gIERCS2V5cyxcbiAgR3JvdXBTb3J0LFxuICBJbnRlcm5hbEVycm9yLFxuICBvbkNyZWF0ZSxcbiAgcmVhZG9ubHksXG4gIFJlcG9zaXRvcnlGbGFncyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBSZXBvLCBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvUmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgaW5kZXggfSBmcm9tIFwiLi4vbW9kZWwvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgc2VxdWVuY2VOYW1lRm9yTW9kZWwgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgU2VxdWVuY2UgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvU2VxdWVuY2VcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IGFwcGx5IH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5cbmNvbnN0IGRlZmF1bHRQa1ByaW9yaXR5ID0gNjA7IC8vIERlZmF1bHQgcHJpb3JpdHkgZm9yIHByaW1hcnkga2V5IHRvIHJ1biBsYXR0ZXIgdGhhbiBvdGhlciBwcm9wZXJ0aWVzXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBwcmltYXJ5IGtleSBjcmVhdGlvblxuICogQHN1bW1hcnkgSGFuZGxlcyB0aGUgY3JlYXRpb24gb2YgcHJpbWFyeSBrZXkgdmFsdWVzIGZvciBtb2RlbHMgdXNpbmcgc2VxdWVuY2VzXG4gKiBAdGVtcGxhdGUgTSAtIFR5cGUgdGhhdCBleHRlbmRzIE1vZGVsXG4gKiBAdGVtcGxhdGUgUiAtIFR5cGUgdGhhdCBleHRlbmRzIFJlcG88TSwgRiwgQz5cbiAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSB0aGF0IGV4dGVuZHMgU2VxdWVuY2VPcHRpb25zXG4gKiBAdGVtcGxhdGUgRiAtIFR5cGUgdGhhdCBleHRlbmRzIFJlcG9zaXRvcnlGbGFnc1xuICogQHRlbXBsYXRlIEMgLSBUeXBlIHRoYXQgZXh0ZW5kcyBDb250ZXh0PEY+XG4gKiBAcGFyYW0ge0NvbnRleHQ8Rj59IGNvbnRleHQgLSBUaGUgZXhlY3V0aW9uIGNvbnRleHRcbiAqIEBwYXJhbSB7Vn0gZGF0YSAtIFRoZSBzZXF1ZW5jZSBvcHRpb25zXG4gKiBAcGFyYW0ga2V5IC0gVGhlIHByb3BlcnR5IGtleSB0byBzZXQgYXMgcHJpbWFyeSBrZXlcbiAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2VcbiAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByaW1hcnkga2V5IGlzIHNldFxuICogQGZ1bmN0aW9uIHBrT25DcmVhdGVcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHBrT25DcmVhdGVcbiAqICAgcGFydGljaXBhbnQgQWRhcHRlclxuICogICBwYXJ0aWNpcGFudCBTZXF1ZW5jZVxuICpcbiAqICAgTW9kZWwtPj5wa09uQ3JlYXRlOiBDYWxsIHdpdGggbW9kZWwgaW5zdGFuY2VcbiAqICAgTm90ZSBvdmVyIHBrT25DcmVhdGU6IENoZWNrIGlmIGtleSBhbHJlYWR5IGV4aXN0c1xuICogICBhbHQgS2V5IGV4aXN0cyBvciBubyB0eXBlIHNwZWNpZmllZFxuICogICAgIHBrT25DcmVhdGUtLT4+TW9kZWw6IFJldHVybiBlYXJseVxuICogICBlbHNlIEtleSBuZWVkcyB0byBiZSBjcmVhdGVkXG4gKiAgICAgcGtPbkNyZWF0ZS0+PnBrT25DcmVhdGU6IEdlbmVyYXRlIHNlcXVlbmNlIG5hbWUgaWYgbm90IHByb3ZpZGVkXG4gKiAgICAgcGtPbkNyZWF0ZS0+PkFkYXB0ZXI6IFJlcXVlc3QgU2VxdWVuY2UoZGF0YSlcbiAqICAgICBBZGFwdGVyLT4+U2VxdWVuY2U6IENyZWF0ZSBzZXF1ZW5jZVxuICogICAgIFNlcXVlbmNlLS0+PnBrT25DcmVhdGU6IFJldHVybiBzZXF1ZW5jZVxuICogICAgIHBrT25DcmVhdGUtPj5TZXF1ZW5jZTogQ2FsbCBuZXh0KClcbiAqICAgICBTZXF1ZW5jZS0tPj5wa09uQ3JlYXRlOiBSZXR1cm4gbmV4dCB2YWx1ZVxuICogICAgIHBrT25DcmVhdGUtPj5Nb2RlbDogU2V0IHByaW1hcnkga2V5IHZhbHVlXG4gKiAgIGVuZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGtPbkNyZWF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgUmVwbzxNLCBGLCBDPixcbiAgViBleHRlbmRzIFNlcXVlbmNlT3B0aW9ucyxcbiAgRiBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyxcbiAgQyBleHRlbmRzIENvbnRleHQ8Rj4sXG4+KFxuICB0aGlzOiBSLFxuICBjb250ZXh0OiBDb250ZXh0PEY+LFxuICBkYXRhOiBWLFxuICBrZXk6IGtleW9mIE0sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFkYXRhLnR5cGUgfHwgIWRhdGEuZ2VuZXJhdGVkIHx8IG1vZGVsW2tleV0pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzZXRQcmltYXJ5S2V5VmFsdWUgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPihcbiAgICB0YXJnZXQ6IE0sXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgIH0pO1xuICB9O1xuXG4gIGlmICghZGF0YS5uYW1lKSBkYXRhLm5hbWUgPSBzZXF1ZW5jZU5hbWVGb3JNb2RlbChtb2RlbCwgXCJwa1wiKTtcbiAgbGV0IHNlcXVlbmNlOiBTZXF1ZW5jZTtcbiAgdHJ5IHtcbiAgICBzZXF1ZW5jZSA9IGF3YWl0IHRoaXMuYWRhcHRlci5TZXF1ZW5jZShkYXRhKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIGluc3RhbnRpYXRlIFNlcXVlbmNlICR7ZGF0YS5uYW1lfTogJHtlfWBcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IGF3YWl0IHNlcXVlbmNlLm5leHQoKTtcbiAgc2V0UHJpbWFyeUtleVZhbHVlKG1vZGVsLCBrZXkgYXMgc3RyaW5nLCBuZXh0KTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUHJpbWFyeSBLZXkgRGVjb3JhdG9yXG4gKiBAc3VtbWFyeSBNYXJrcyBhIHByb3BlcnR5IGFzIHRoZSBtb2RlbCdzIHByaW1hcnkga2V5IHdpdGggYXV0b21hdGljIHNlcXVlbmNlIGdlbmVyYXRpb25cbiAqIFRoaXMgZGVjb3JhdG9yIGNvbWJpbmVzIG11bHRpcGxlIGJlaGF2aW9yczogaXQgbWFya3MgdGhlIHByb3BlcnR5IGFzIHVuaXF1ZSwgcmVxdWlyZWQsXG4gKiBhbmQgZW5zdXJlcyB0aGUgaW5kZXggaXMgY3JlYXRlZCBwcm9wZXJseSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNlcXVlbmNlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge09taXQ8U2VxdWVuY2VPcHRpb25zLCBcImN5Y2xlXCIgfCBcInN0YXJ0V2l0aFwiIHwgXCJpbmNyZW1lbnRCeVwiPn0gb3B0cyAtIE9wdGlvbnMgZm9yIHRoZSBzZXF1ZW5jZSBnZW5lcmF0aW9uXG4gKiBAcmV0dXJuIHtQcm9wZXJ0eURlY29yYXRvcn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBtb2RlbCBwcm9wZXJ0aWVzXG4gKiBAZnVuY3Rpb24gcGtcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIEJhc2VNb2RlbCB7XG4gKiAgIEBwaygpXG4gKiAgIGlkITogc3RyaW5nO1xuICpcbiAqICAgQHJlcXVpcmVkKClcbiAqICAgdXNlcm5hbWUhOiBzdHJpbmc7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBrKFxuICBvcHRzOiBPbWl0PFxuICAgIFNlcXVlbmNlT3B0aW9ucyxcbiAgICBcImN5Y2xlXCIgfCBcInN0YXJ0V2l0aFwiIHwgXCJpbmNyZW1lbnRCeVwiXG4gID4gPSBEZWZhdWx0U2VxdWVuY2VPcHRpb25zXG4pIHtcbiAgb3B0cyA9IE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRTZXF1ZW5jZU9wdGlvbnMsIG9wdHMsIHtcbiAgICBnZW5lcmF0ZWQ6XG4gICAgICBvcHRzLnR5cGUgJiYgdHlwZW9mIG9wdHMuZ2VuZXJhdGVkID09PSBcInVuZGVmaW5lZFwiXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IG9wdHMuZ2VuZXJhdGVkIHx8IERlZmF1bHRTZXF1ZW5jZU9wdGlvbnMuZ2VuZXJhdGVkLFxuICB9KSBhcyBTZXF1ZW5jZU9wdGlvbnM7XG5cbiAgY29uc3Qga2V5ID0gUmVwb3NpdG9yeS5rZXkoREJLZXlzLklEKTtcbiAgZnVuY3Rpb24gcGtEZWMob3B0aW9uczogU2VxdWVuY2VPcHRpb25zLCBncm91cHNvcnQ/OiBHcm91cFNvcnQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gcGtEZWMob2JqOiBhbnksIGF0dHI6IGFueSkge1xuICAgICAgcmV0dXJuIGFwcGx5KFxuICAgICAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICAgICAgcmVxdWlyZWQoKSxcbiAgICAgICAgcmVhZG9ubHkoKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKGtleSwgb3B0aW9ucyksXG4gICAgICAgIG9uQ3JlYXRlKHBrT25DcmVhdGUsIG9wdGlvbnMsIGdyb3Vwc29ydCksXG4gICAgICAgIHByb3BNZXRhZGF0YShEQktleXMuSUQsIGF0dHIpXG4gICAgICApKG9iaiwgYXR0cik7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gRGVjb3JhdGlvbi5mb3Ioa2V5KVxuICAgIC5kZWZpbmUoe1xuICAgICAgZGVjb3JhdG9yOiBwa0RlYyxcbiAgICAgIGFyZ3M6IFtvcHRzLCB7IHByaW9yaXR5OiBkZWZhdWx0UGtQcmlvcml0eSB9XSxcbiAgICB9KVxuICAgIC5hcHBseSgpO1xufVxuIl19
113
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./decorators.cjs"), exports);
18
18
  __exportStar(require("./utils.cjs"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWRlbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUE2QjtBQUM3Qiw4Q0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuIl19
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAA6B;AAC7B,8CAAwB"}
@@ -43,4 +43,4 @@ function getColumnName(model, attribute) {
43
43
  function sequenceNameForModel(model, ...args) {
44
44
  return [getTableName(model), ...args].join("_");
45
45
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWRlbnRpdHkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSxvQ0FnQkM7QUFFRCxzQ0FVQztBQVlELG9EQUtDO0FBMURELHlFQUErRTtBQUMvRSwyREFBcUQ7QUFDckQsOERBQTJEO0FBRTNEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixLQUF5QjtJQUV6QixNQUFNLEdBQUcsR0FBRyxLQUFLLFlBQVksNEJBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRS9ELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQ3JDLDBCQUFVLENBQUMsR0FBRyxDQUFDLDJCQUFlLENBQUMsS0FBSyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxnQ0FBUyxDQUFDLE1BQXFDLENBQUMsSUFBSSxHQUFHLENBQzVELENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLDRCQUFLLEVBQUUsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FDM0IsS0FBUSxFQUNSLFNBQWlCO0lBRWpCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQ2xDLDBCQUFVLENBQUMsR0FBRyxDQUFDLDJCQUFlLENBQUMsTUFBTSxDQUFDLEVBQ3RDLEtBQUssRUFDTCxTQUFTLENBQ1YsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN6QyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQXlCLEVBQ3pCLEdBQUcsSUFBYztJQUVqQixPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwsIE1vZGVsS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFBlcnNpc3RlbmNlS2V5cyB9IGZyb20gXCIuLi9wZXJzaXN0ZW5jZS9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgdGFibGUgbmFtZSBmb3IgYSBtb2RlbFxuICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSB0YWJsZSBuYW1lIGFzc29jaWF0ZWQgd2l0aCBhIG1vZGVsIGJ5IGNoZWNraW5nIG1ldGFkYXRhIG9yIGZhbGxpbmcgYmFjayB0byB0aGUgY29uc3RydWN0b3IgbmFtZVxuICogQHRlbXBsYXRlIE0gLSBUeXBlIHRoYXQgZXh0ZW5kcyBNb2RlbFxuICogQHBhcmFtIHtNIHwgQ29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIG9yIGNvbnN0cnVjdG9yIHRvIGdldCB0aGUgdGFibGUgbmFtZSBmb3JcbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHRhYmxlIG5hbWUgZm9yIHRoZSBtb2RlbFxuICogQGZ1bmN0aW9uIGdldFRhYmxlTmFtZVxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZU5hbWU8TSBleHRlbmRzIE1vZGVsPihcbiAgbW9kZWw6IE0gfCBDb25zdHJ1Y3RvcjxNPlxuKTogc3RyaW5nIHtcbiAgY29uc3Qgb2JqID0gbW9kZWwgaW5zdGFuY2VvZiBNb2RlbCA/IG1vZGVsLmNvbnN0cnVjdG9yIDogbW9kZWw7XG5cbiAgY29uc3QgbWV0YWRhdGEgPSBSZWZsZWN0LmdldE93bk1ldGFkYXRhKFxuICAgIFJlcG9zaXRvcnkua2V5KFBlcnNpc3RlbmNlS2V5cy5UQUJMRSksXG4gICAgb2JqW01vZGVsS2V5cy5BTkNIT1IgYXMgdW5rbm93biBhcyBrZXlvZiB0eXBlb2Ygb2JqXSB8fCBvYmpcbiAgKTtcbiAgaWYgKG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9XG4gIGlmIChtb2RlbCBpbnN0YW5jZW9mIE1vZGVsKSB7XG4gICAgcmV0dXJuIG1vZGVsLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cbiAgcmV0dXJuIG1vZGVsLm5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2x1bW5OYW1lPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIG1vZGVsOiBNLFxuICBhdHRyaWJ1dGU6IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgIFJlcG9zaXRvcnkua2V5KFBlcnNpc3RlbmNlS2V5cy5DT0xVTU4pLFxuICAgIG1vZGVsLFxuICAgIGF0dHJpYnV0ZVxuICApO1xuICByZXR1cm4gbWV0YWRhdGEgPyBtZXRhZGF0YSA6IGF0dHJpYnV0ZTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGEgc2VxdWVuY2UgbmFtZSBmb3IgYSBtb2RlbFxuICogQHN1bW1hcnkgQ3JlYXRlcyBhIHN0YW5kYXJkaXplZCBzZXF1ZW5jZSBuYW1lIGJ5IGNvbWJpbmluZyB0aGUgdGFibGUgbmFtZSB3aXRoIGFkZGl0aW9uYWwgYXJndW1lbnRzXG4gKiBAdGVtcGxhdGUgTSAtIFR5cGUgdGhhdCBleHRlbmRzIE1vZGVsXG4gKiBAcGFyYW0ge00gfCBDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2Ugb3IgY29uc3RydWN0b3IgdG8gZ2VuZXJhdGUgdGhlIHNlcXVlbmNlIG5hbWUgZm9yXG4gKiBAcGFyYW0gey4uLnN0cmluZ30gYXJncyAtIEFkZGl0aW9uYWwgc3RyaW5nIGFyZ3VtZW50cyB0byBhcHBlbmQgdG8gdGhlIHNlcXVlbmNlIG5hbWVcbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGdlbmVyYXRlZCBzZXF1ZW5jZSBuYW1lXG4gKiBAZnVuY3Rpb24gc2VxdWVuY2VOYW1lRm9yTW9kZWxcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VOYW1lRm9yTW9kZWw8TSBleHRlbmRzIE1vZGVsPihcbiAgbW9kZWw6IE0gfCBDb25zdHJ1Y3RvcjxNPixcbiAgLi4uYXJnczogc3RyaW5nW11cbikge1xuICByZXR1cm4gW2dldFRhYmxlTmFtZShtb2RlbCksIC4uLmFyZ3NdLmpvaW4oXCJfXCIpO1xufVxuIl19
46
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/identity/utils.ts"],"names":[],"mappings":";;AAaA,oCAgBC;AAED,sCAUC;AAYD,oDAKC;AA1DD,yEAA+E;AAC/E,2DAAqD;AACrD,8DAA2D;AAE3D;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,KAAyB;IAEzB,MAAM,GAAG,GAAG,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/D,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CACrC,0BAAU,CAAC,GAAG,CAAC,2BAAe,CAAC,KAAK,CAAC,EACrC,GAAG,CAAC,gCAAS,CAAC,MAAqC,CAAC,IAAI,GAAG,CAC5D,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,YAAY,4BAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAQ,EACR,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,0BAAU,CAAC,GAAG,CAAC,2BAAe,CAAC,MAAM,CAAC,EACtC,KAAK,EACL,SAAS,CACV,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,KAAyB,EACzB,GAAG,IAAc;IAEjB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
package/lib/index.cjs CHANGED
@@ -21,9 +21,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.VERSION = void 0;
24
+ exports.PACKAGE_NAME = exports.VERSION = void 0;
25
25
  const injectables_1 = require("./repository/injectables.cjs");
26
26
  const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
27
+ const decoration_1 = require("@decaf-ts/decoration");
27
28
  // overrides the previous Injectables registry to enable the @repository decorator
28
29
  injectable_decorators_1.Injectables.setRegistry(new injectables_1.InjectablesRegistry());
29
30
  // imported first on purpose
@@ -43,5 +44,13 @@ __exportStar(require("./persistence/index.cjs"), exports);
43
44
  * @const VERSION
44
45
  * @memberOf module:core
45
46
  */
46
- exports.VERSION = "0.5.40";
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw4REFBK0Q7QUFDL0QsMkVBQThEO0FBRTlELGtGQUFrRjtBQUNsRixtQ0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlDQUFtQixFQUFFLENBQUMsQ0FBQztBQUVuRCw0QkFBNEI7QUFDNUIsd0RBQTRCO0FBQzVCLHlEQUE2QjtBQUU3Qix1REFBMkI7QUFDM0IseURBQTZCO0FBQzdCLG9EQUF3QjtBQUN4QixvREFBd0I7QUFDeEIsb0RBQXdCO0FBQ3hCLHVEQUFpQztBQUNqQyx5QkFBeUI7QUFDekIsMERBQThCO0FBRTlCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGNvcmVcbiAqIEBkZXNjcmlwdGlvbiBDb3JlIG1vZHVsZSBmb3IgdGhlIERlY2FmIFR5cGVTY3JpcHQgZnJhbWV3b3JrXG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgZm91bmRhdGlvbmFsIGNvbXBvbmVudHMgb2YgdGhlIERlY2FmIGZyYW1ld29yaywgaW5jbHVkaW5nIGlkZW50aXR5IG1hbmFnZW1lbnQsXG4gKiBtb2RlbCBkZWZpbml0aW9ucywgcmVwb3NpdG9yeSBwYXR0ZXJucywgcGVyc2lzdGVuY2UgbGF5ZXIsIHF1ZXJ5IGJ1aWxkaW5nLCBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuXG4gKiBJdCBleHBvcnRzIGZ1bmN0aW9uYWxpdHkgZnJvbSB2YXJpb3VzIHN1Ym1vZHVsZXMgYW5kIHNldHMgdXAgdGhlIGluamVjdGFibGUgcmVnaXN0cnkgZm9yIHJlcG9zaXRvcnkgZGVjb3JhdG9ycy5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlc1JlZ2lzdHJ5IH0gZnJvbSBcIi4vcmVwb3NpdG9yeS9pbmplY3RhYmxlc1wiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2luamVjdGFibGUtZGVjb3JhdG9yc1wiO1xuXG4vLyBvdmVycmlkZXMgdGhlIHByZXZpb3VzIEluamVjdGFibGVzIHJlZ2lzdHJ5IHRvIGVuYWJsZSB0aGUgQHJlcG9zaXRvcnkgZGVjb3JhdG9yXG5JbmplY3RhYmxlcy5zZXRSZWdpc3RyeShuZXcgSW5qZWN0YWJsZXNSZWdpc3RyeSgpKTtcblxuLy8gaW1wb3J0ZWQgZmlyc3Qgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXBvc2l0b3J5XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2lkZW50aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcXVlcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYW0vUmFtQWRhcHRlclwiO1xuLy9sZWZ0IHRvIGxhc3Qgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vcGVyc2lzdGVuY2VcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIHRoZSBjdXJyZW50IHBhY2thZ2UgdmVyc2lvblxuICogQHN1bW1hcnkgQSBjb25zdGFudCByZXByZXNlbnRpbmcgdGhlIHZlcnNpb24gb2YgdGhlIGNvcmUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
47
+ exports.VERSION = "0.5.42";
48
+ /**
49
+ * @description Stores the current package version
50
+ * @summary A constant representing the version of the core package
51
+ * @const PACKAGE_NAME
52
+ * @memberOf module:core
53
+ */
54
+ exports.PACKAGE_NAME = "@decaf-ts/core";
55
+ decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
56
+ //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -20,4 +20,11 @@ export * from "./persistence";
20
20
  * @const VERSION
21
21
  * @memberOf module:core
22
22
  */
23
- export declare const VERSION = "0.5.40";
23
+ export declare const VERSION = "0.5.42";
24
+ /**
25
+ * @description Stores the current package version
26
+ * @summary A constant representing the version of the core package
27
+ * @const PACKAGE_NAME
28
+ * @memberOf module:core
29
+ */
30
+ export declare const PACKAGE_NAME = "@decaf-ts/core";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,8DAA+D;AAC/D,2EAA8D;AAC9D,qDAAgD;AAEhD,kFAAkF;AAClF,mCAAW,CAAC,WAAW,CAAC,IAAI,iCAAmB,EAAE,CAAC,CAAC;AAEnD,4BAA4B;AAC5B,wDAA4B;AAC5B,yDAA6B;AAE7B,uDAA2B;AAC3B,yDAA6B;AAC7B,oDAAwB;AACxB,oDAAwB;AACxB,oDAAwB;AACxB,uDAAiC;AACjC,yBAAyB;AACzB,0DAA8B;AAE9B;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9FcnJvclBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgcGFyc2luZyBlcnJvcnNcbiAqIEBzdW1tYXJ5IERlZmluZXMgYSBjb250cmFjdCBmb3Igb2JqZWN0cyB0aGF0IGNhbiBwYXJzZSBnZW5lcmljIEVycm9yIG9iamVjdHMgaW50byBCYXNlRXJyb3IgaW5zdGFuY2VzXG4gKiBAaW50ZXJmYWNlIEVycm9yUGFyc2VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFcnJvclBhcnNlciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2VzIGEgZ2VuZXJpYyBFcnJvciBpbnRvIGEgQmFzZUVycm9yXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgc3RhbmRhcmQgRXJyb3Igb2JqZWN0IGludG8gYSBtb3JlIHNwZWNpZmljIEJhc2VFcnJvciB0eXBlXG4gICAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gVGhlIGVycm9yIHRvIGJlIHBhcnNlZFxuICAgKiBAcmV0dXJuIHtCYXNlRXJyb3J9IFRoZSBwYXJzZWQgZXJyb3IgYXMgYSBCYXNlRXJyb3IgaW5zdGFuY2VcbiAgICovXG4gIHBhcnNlRXJyb3IoZXJyb3I6IEVycm9yKTogQmFzZUVycm9yO1xufVxuIl19
3
+ //# sourceMappingURL=ErrorParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorParser.js","sourceRoot":"","sources":["../../src/interfaces/ErrorParser.ts"],"names":[],"mappings":""}