@dereekb/dbx-core 12.6.21 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/fesm2022/dereekb-dbx-core.mjs +920 -1176
  2. package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
  3. package/package.json +16 -18
  4. package/types/dereekb-dbx-core.d.ts +3633 -0
  5. package/esm2022/dereekb-dbx-core.mjs +0 -5
  6. package/esm2022/index.mjs +0 -2
  7. package/esm2022/lib/action/action.handler.mjs +0 -22
  8. package/esm2022/lib/action/action.holder.mjs +0 -76
  9. package/esm2022/lib/action/action.machine.mjs +0 -72
  10. package/esm2022/lib/action/action.mjs +0 -95
  11. package/esm2022/lib/action/action.module.mjs +0 -85
  12. package/esm2022/lib/action/action.reference.mjs +0 -7
  13. package/esm2022/lib/action/action.store.mjs +0 -286
  14. package/esm2022/lib/action/action.store.source.mjs +0 -162
  15. package/esm2022/lib/action/action.store.source.provide.mjs +0 -41
  16. package/esm2022/lib/action/directive/auto/action.automodify.directive.mjs +0 -36
  17. package/esm2022/lib/action/directive/auto/action.autotrigger.directive.mjs +0 -113
  18. package/esm2022/lib/action/directive/auto/index.mjs +0 -3
  19. package/esm2022/lib/action/directive/context/action.directive.mjs +0 -30
  20. package/esm2022/lib/action/directive/context/action.source.directive.mjs +0 -25
  21. package/esm2022/lib/action/directive/context/index.mjs +0 -3
  22. package/esm2022/lib/action/directive/debug/action.logger.directive.mjs +0 -25
  23. package/esm2022/lib/action/directive/debug/index.mjs +0 -2
  24. package/esm2022/lib/action/directive/index.mjs +0 -6
  25. package/esm2022/lib/action/directive/map/action.map.directive.mjs +0 -36
  26. package/esm2022/lib/action/directive/map/action.map.key.directive.mjs +0 -27
  27. package/esm2022/lib/action/directive/map/action.map.mjs +0 -59
  28. package/esm2022/lib/action/directive/map/action.map.source.directive.mjs +0 -44
  29. package/esm2022/lib/action/directive/map/action.map.utility.mjs +0 -37
  30. package/esm2022/lib/action/directive/map/action.map.working.disable.directive.mjs +0 -35
  31. package/esm2022/lib/action/directive/map/index.mjs +0 -7
  32. package/esm2022/lib/action/directive/state/action.disabled.directive.mjs +0 -34
  33. package/esm2022/lib/action/directive/state/action.disableonsuccess.directive.mjs +0 -35
  34. package/esm2022/lib/action/directive/state/action.enforce.modified.directive.mjs +0 -37
  35. package/esm2022/lib/action/directive/state/action.error.handler.directive.mjs +0 -32
  36. package/esm2022/lib/action/directive/state/action.handler.directive.mjs +0 -59
  37. package/esm2022/lib/action/directive/state/action.handler.instance.mjs +0 -61
  38. package/esm2022/lib/action/directive/state/action.idle.directive.mjs +0 -34
  39. package/esm2022/lib/action/directive/state/action.presuccess.directive.mjs +0 -34
  40. package/esm2022/lib/action/directive/state/action.success.directive.mjs +0 -34
  41. package/esm2022/lib/action/directive/state/action.success.handler.directive.mjs +0 -32
  42. package/esm2022/lib/action/directive/state/action.triggered.directive.mjs +0 -34
  43. package/esm2022/lib/action/directive/state/action.value.directive.mjs +0 -51
  44. package/esm2022/lib/action/directive/state/action.value.stream.directive.mjs +0 -60
  45. package/esm2022/lib/action/directive/state/action.value.trigger.directive.mjs +0 -76
  46. package/esm2022/lib/action/directive/state/action.value.trigger.instance.mjs +0 -59
  47. package/esm2022/lib/action/directive/state/action.working.directive.mjs +0 -41
  48. package/esm2022/lib/action/directive/state/index.mjs +0 -17
  49. package/esm2022/lib/action/index.mjs +0 -11
  50. package/esm2022/lib/auth/auth.module.mjs +0 -25
  51. package/esm2022/lib/auth/auth.providers.mjs +0 -16
  52. package/esm2022/lib/auth/auth.role.any.directive.mjs +0 -24
  53. package/esm2022/lib/auth/auth.role.has.directive.mjs +0 -24
  54. package/esm2022/lib/auth/auth.role.not.directive.mjs +0 -24
  55. package/esm2022/lib/auth/auth.state.providers.mjs +0 -14
  56. package/esm2022/lib/auth/auth.state.service.mjs +0 -20
  57. package/esm2022/lib/auth/auth.user.mjs +0 -11
  58. package/esm2022/lib/auth/index.mjs +0 -12
  59. package/esm2022/lib/auth/router/auth.router.mjs +0 -6
  60. package/esm2022/lib/auth/router/auth.router.providers.mjs +0 -19
  61. package/esm2022/lib/auth/router/auth.router.service.mjs +0 -73
  62. package/esm2022/lib/auth/router/index.mjs +0 -6
  63. package/esm2022/lib/auth/router/provider/uirouter/auth.hook.mjs +0 -23
  64. package/esm2022/lib/auth/router/provider/uirouter/hook.mjs +0 -71
  65. package/esm2022/lib/auth/router/provider/uirouter/index.mjs +0 -6
  66. package/esm2022/lib/auth/router/provider/uirouter/redirect.mjs +0 -29
  67. package/esm2022/lib/auth/router/provider/uirouter/role.hook.mjs +0 -58
  68. package/esm2022/lib/auth/router/provider/uirouter/state.hook.mjs +0 -53
  69. package/esm2022/lib/auth/router/state/auth.router.state.providers.mjs +0 -23
  70. package/esm2022/lib/auth/router/state/effect/auth.router.state.effect.mjs +0 -37
  71. package/esm2022/lib/auth/router/state/effect/index.mjs +0 -2
  72. package/esm2022/lib/auth/router/state/index.mjs +0 -3
  73. package/esm2022/lib/auth/service/auth.service.mjs +0 -6
  74. package/esm2022/lib/auth/service/auth.service.rxjs.mjs +0 -30
  75. package/esm2022/lib/auth/service/index.mjs +0 -3
  76. package/esm2022/lib/auth/state/action/auth.action.mjs +0 -14
  77. package/esm2022/lib/auth/state/action/index.mjs +0 -12
  78. package/esm2022/lib/auth/state/action/user.action.mjs +0 -18
  79. package/esm2022/lib/auth/state/effect/auth.effect.mjs +0 -33
  80. package/esm2022/lib/auth/state/index.mjs +0 -13
  81. package/esm2022/lib/auth/state/reducer/index.mjs +0 -23
  82. package/esm2022/lib/auth/state/reducer/user.reducer.mjs +0 -12
  83. package/esm2022/lib/auth/state/state.mjs +0 -2
  84. package/esm2022/lib/button/action/action.button.directive.mjs +0 -35
  85. package/esm2022/lib/button/action/action.button.trigger.directive.mjs +0 -30
  86. package/esm2022/lib/button/action/index.mjs +0 -3
  87. package/esm2022/lib/button/button.directive.mjs +0 -120
  88. package/esm2022/lib/button/button.loading.directive.mjs +0 -36
  89. package/esm2022/lib/button/button.mjs +0 -21
  90. package/esm2022/lib/button/button.module.mjs +0 -28
  91. package/esm2022/lib/button/index.mjs +0 -7
  92. package/esm2022/lib/button/router/button.segue.directive.mjs +0 -30
  93. package/esm2022/lib/button/router/index.mjs +0 -2
  94. package/esm2022/lib/context/context.directive.mjs +0 -26
  95. package/esm2022/lib/context/context.mjs +0 -25
  96. package/esm2022/lib/context/context.module.mjs +0 -19
  97. package/esm2022/lib/context/context.providers.mjs +0 -12
  98. package/esm2022/lib/context/context.service.mjs +0 -26
  99. package/esm2022/lib/context/index.mjs +0 -7
  100. package/esm2022/lib/context/state/action/data.action.mjs +0 -10
  101. package/esm2022/lib/context/state/action/index.mjs +0 -7
  102. package/esm2022/lib/context/state/effect/index.mjs +0 -33
  103. package/esm2022/lib/context/state/index.mjs +0 -13
  104. package/esm2022/lib/context/state/reducer/data.reducer.mjs +0 -16
  105. package/esm2022/lib/context/state/reducer/index.mjs +0 -25
  106. package/esm2022/lib/context/state/state.mjs +0 -2
  107. package/esm2022/lib/environment/environment.mjs +0 -6
  108. package/esm2022/lib/environment/environment.providers.mjs +0 -19
  109. package/esm2022/lib/environment/environment.service.mjs +0 -30
  110. package/esm2022/lib/environment/index.mjs +0 -4
  111. package/esm2022/lib/filter/filter.abstract.connector.directive.mjs +0 -23
  112. package/esm2022/lib/filter/filter.abstract.source.directive.mjs +0 -69
  113. package/esm2022/lib/filter/filter.connect.source.directive.mjs +0 -23
  114. package/esm2022/lib/filter/filter.connector.directive.mjs +0 -20
  115. package/esm2022/lib/filter/filter.content.mjs +0 -29
  116. package/esm2022/lib/filter/filter.map.connector.directive.mjs +0 -33
  117. package/esm2022/lib/filter/filter.map.directive.mjs +0 -24
  118. package/esm2022/lib/filter/filter.map.instance.directive.mjs +0 -25
  119. package/esm2022/lib/filter/filter.map.source.directive.mjs +0 -38
  120. package/esm2022/lib/filter/filter.module.mjs +0 -22
  121. package/esm2022/lib/filter/filter.preset.mjs +0 -8
  122. package/esm2022/lib/filter/filter.source.directive.mjs +0 -19
  123. package/esm2022/lib/filter/index.mjs +0 -13
  124. package/esm2022/lib/index.mjs +0 -15
  125. package/esm2022/lib/injection/index.mjs +0 -14
  126. package/esm2022/lib/injection/injection.array.component.mjs +0 -31
  127. package/esm2022/lib/injection/injection.array.mjs +0 -2
  128. package/esm2022/lib/injection/injection.component.mjs +0 -32
  129. package/esm2022/lib/injection/injection.component.module.mjs +0 -26
  130. package/esm2022/lib/injection/injection.context.directive.mjs +0 -130
  131. package/esm2022/lib/injection/injection.context.forward.directive.mjs +0 -25
  132. package/esm2022/lib/injection/injection.context.mjs +0 -20
  133. package/esm2022/lib/injection/injection.directive.mjs +0 -30
  134. package/esm2022/lib/injection/injection.instance.mjs +0 -121
  135. package/esm2022/lib/injection/injection.mjs +0 -16
  136. package/esm2022/lib/injection/injection.rxjs.mjs +0 -24
  137. package/esm2022/lib/injection/injection.util.mjs +0 -11
  138. package/esm2022/lib/injection/injector.mjs +0 -13
  139. package/esm2022/lib/ngrx/index.mjs +0 -2
  140. package/esm2022/lib/ngrx/store.lockset.mjs +0 -66
  141. package/esm2022/lib/pipe/async/asobservable.pipe.mjs +0 -21
  142. package/esm2022/lib/pipe/async/async.pipe.module.mjs +0 -20
  143. package/esm2022/lib/pipe/async/index.mjs +0 -3
  144. package/esm2022/lib/pipe/date/date.pipe.module.mjs +0 -108
  145. package/esm2022/lib/pipe/date/datedayrange.pipe.mjs +0 -24
  146. package/esm2022/lib/pipe/date/datedaytimerange.pipe.mjs +0 -24
  147. package/esm2022/lib/pipe/date/datedistance.pipe.mjs +0 -27
  148. package/esm2022/lib/pipe/date/dateformatdistance.pipe.mjs +0 -36
  149. package/esm2022/lib/pipe/date/datefromtoformat.pipe.mjs +0 -34
  150. package/esm2022/lib/pipe/date/daterangedistance.pipe.mjs +0 -24
  151. package/esm2022/lib/pipe/date/datetimerange.pipe.mjs +0 -24
  152. package/esm2022/lib/pipe/date/datetimerangeonly.pipe.mjs +0 -24
  153. package/esm2022/lib/pipe/date/datetimerangeonlydistance.pipe.mjs +0 -24
  154. package/esm2022/lib/pipe/date/index.mjs +0 -18
  155. package/esm2022/lib/pipe/date/minutesstring.pipe.mjs +0 -36
  156. package/esm2022/lib/pipe/date/systemdatetotargetdate.pipe.mjs +0 -27
  157. package/esm2022/lib/pipe/date/targetdatetosystemdate.pipe.mjs +0 -27
  158. package/esm2022/lib/pipe/date/timedistance.pipe.mjs +0 -57
  159. package/esm2022/lib/pipe/date/timezoneabbreviation.pipe.mjs +0 -27
  160. package/esm2022/lib/pipe/date/tojsdate.pipe.mjs +0 -30
  161. package/esm2022/lib/pipe/date/tominutes.pipe.mjs +0 -21
  162. package/esm2022/lib/pipe/index.mjs +0 -6
  163. package/esm2022/lib/pipe/misc/index.mjs +0 -3
  164. package/esm2022/lib/pipe/misc/misc.pipe.module.mjs +0 -21
  165. package/esm2022/lib/pipe/misc/prettyjson.pipe.mjs +0 -30
  166. package/esm2022/lib/pipe/pipe.module.mjs +0 -25
  167. package/esm2022/lib/pipe/value/cuttext.pipe.mjs +0 -22
  168. package/esm2022/lib/pipe/value/dollar.pipe.mjs +0 -24
  169. package/esm2022/lib/pipe/value/getvalue.pipe.mjs +0 -40
  170. package/esm2022/lib/pipe/value/index.mjs +0 -5
  171. package/esm2022/lib/pipe/value/value.pipe.module.mjs +0 -27
  172. package/esm2022/lib/router/anchor/anchor.directive.mjs +0 -63
  173. package/esm2022/lib/router/anchor/anchor.mjs +0 -52
  174. package/esm2022/lib/router/anchor/clickable.mjs +0 -18
  175. package/esm2022/lib/router/anchor/index.mjs +0 -5
  176. package/esm2022/lib/router/anchor/mousable.mjs +0 -2
  177. package/esm2022/lib/router/auth/hook/id.hook.mjs +0 -54
  178. package/esm2022/lib/router/auth/hook/index.mjs +0 -3
  179. package/esm2022/lib/router/auth/hook/uid.hook.mjs +0 -19
  180. package/esm2022/lib/router/auth/index.mjs +0 -2
  181. package/esm2022/lib/router/index.mjs +0 -6
  182. package/esm2022/lib/router/model/id.param.redirect.mjs +0 -73
  183. package/esm2022/lib/router/model/index.mjs +0 -7
  184. package/esm2022/lib/router/model/model.module.mjs +0 -26
  185. package/esm2022/lib/router/model/model.router.id.directive.mjs +0 -62
  186. package/esm2022/lib/router/model/model.router.key.directive.mjs +0 -63
  187. package/esm2022/lib/router/model/model.router.mjs +0 -38
  188. package/esm2022/lib/router/model/model.router.uid.directive.mjs +0 -25
  189. package/esm2022/lib/router/router/index.mjs +0 -5
  190. package/esm2022/lib/router/router/provider/angular/angular.router.service.mjs +0 -78
  191. package/esm2022/lib/router/router/provider/angular/angular.router.service.module.mjs +0 -31
  192. package/esm2022/lib/router/router/provider/angular/index.mjs +0 -3
  193. package/esm2022/lib/router/router/provider/index.mjs +0 -3
  194. package/esm2022/lib/router/router/provider/uirouter/index.mjs +0 -4
  195. package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.mjs +0 -95
  196. package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +0 -34
  197. package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.providers.mjs +0 -24
  198. package/esm2022/lib/router/router/service/index.mjs +0 -6
  199. package/esm2022/lib/router/router/service/router.go.mjs +0 -14
  200. package/esm2022/lib/router/router/service/router.service.mjs +0 -7
  201. package/esm2022/lib/router/router/service/router.service.rxjs.mjs +0 -39
  202. package/esm2022/lib/router/router/service/router.service.util.mjs +0 -14
  203. package/esm2022/lib/router/router/service/router.transition.service.mjs +0 -6
  204. package/esm2022/lib/router/router/transition/index.mjs +0 -5
  205. package/esm2022/lib/router/router/transition/transition.directive.mjs +0 -19
  206. package/esm2022/lib/router/router/transition/transition.mjs +0 -12
  207. package/esm2022/lib/router/router/transition/transition.rxjs.mjs +0 -55
  208. package/esm2022/lib/router/router/transition/transition.watcher.directive.mjs +0 -31
  209. package/esm2022/lib/router/router/util/index.mjs +0 -3
  210. package/esm2022/lib/router/router/util/route.default.mjs +0 -63
  211. package/esm2022/lib/router/router/util/route.reader.mjs +0 -47
  212. package/esm2022/lib/router/segue.mjs +0 -35
  213. package/esm2022/lib/storage/index.mjs +0 -9
  214. package/esm2022/lib/storage/storage.accessor.mjs +0 -16
  215. package/esm2022/lib/storage/storage.accessor.simple.factory.mjs +0 -26
  216. package/esm2022/lib/storage/storage.accessor.simple.mjs +0 -172
  217. package/esm2022/lib/storage/storage.accessor.string.mjs +0 -50
  218. package/esm2022/lib/storage/storage.di.mjs +0 -4
  219. package/esm2022/lib/storage/storage.object.localstorage.mjs +0 -47
  220. package/esm2022/lib/storage/storage.object.memory.mjs +0 -17
  221. package/esm2022/lib/storage/storage.providers.mjs +0 -41
  222. package/esm2022/lib/subscription/index.mjs +0 -2
  223. package/esm2022/lib/subscription/subscription.directive.mjs +0 -38
  224. package/esm2022/lib/util/index.mjs +0 -3
  225. package/esm2022/lib/util/input.mjs +0 -7
  226. package/esm2022/lib/util/view.mjs +0 -81
  227. package/esm2022/lib/view/if.directive.mjs +0 -27
  228. package/esm2022/lib/view/index.mjs +0 -2
  229. package/index.d.ts +0 -1
  230. package/lib/action/action.d.ts +0 -80
  231. package/lib/action/action.handler.d.ts +0 -15
  232. package/lib/action/action.holder.d.ts +0 -38
  233. package/lib/action/action.machine.d.ts +0 -50
  234. package/lib/action/action.module.d.ts +0 -30
  235. package/lib/action/action.reference.d.ts +0 -11
  236. package/lib/action/action.store.d.ts +0 -208
  237. package/lib/action/action.store.source.d.ts +0 -77
  238. package/lib/action/action.store.source.provide.d.ts +0 -10
  239. package/lib/action/directive/auto/action.automodify.directive.d.ts +0 -13
  240. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +0 -38
  241. package/lib/action/directive/auto/index.d.ts +0 -2
  242. package/lib/action/directive/context/action.directive.d.ts +0 -12
  243. package/lib/action/directive/context/action.source.directive.d.ts +0 -12
  244. package/lib/action/directive/context/index.d.ts +0 -2
  245. package/lib/action/directive/debug/action.logger.directive.d.ts +0 -13
  246. package/lib/action/directive/debug/index.d.ts +0 -1
  247. package/lib/action/directive/index.d.ts +0 -5
  248. package/lib/action/directive/map/action.map.d.ts +0 -43
  249. package/lib/action/directive/map/action.map.directive.d.ts +0 -14
  250. package/lib/action/directive/map/action.map.key.directive.d.ts +0 -14
  251. package/lib/action/directive/map/action.map.source.directive.d.ts +0 -19
  252. package/lib/action/directive/map/action.map.utility.d.ts +0 -48
  253. package/lib/action/directive/map/action.map.working.disable.directive.d.ts +0 -19
  254. package/lib/action/directive/map/index.d.ts +0 -6
  255. package/lib/action/directive/state/action.disabled.directive.d.ts +0 -18
  256. package/lib/action/directive/state/action.disableonsuccess.directive.d.ts +0 -18
  257. package/lib/action/directive/state/action.enforce.modified.directive.d.ts +0 -18
  258. package/lib/action/directive/state/action.error.handler.directive.d.ts +0 -20
  259. package/lib/action/directive/state/action.handler.directive.d.ts +0 -35
  260. package/lib/action/directive/state/action.handler.instance.d.ts +0 -22
  261. package/lib/action/directive/state/action.idle.directive.d.ts +0 -15
  262. package/lib/action/directive/state/action.presuccess.directive.d.ts +0 -15
  263. package/lib/action/directive/state/action.success.directive.d.ts +0 -16
  264. package/lib/action/directive/state/action.success.handler.directive.d.ts +0 -20
  265. package/lib/action/directive/state/action.triggered.directive.d.ts +0 -15
  266. package/lib/action/directive/state/action.value.directive.d.ts +0 -27
  267. package/lib/action/directive/state/action.value.stream.directive.d.ts +0 -23
  268. package/lib/action/directive/state/action.value.trigger.directive.d.ts +0 -39
  269. package/lib/action/directive/state/action.value.trigger.instance.d.ts +0 -45
  270. package/lib/action/directive/state/action.working.directive.d.ts +0 -17
  271. package/lib/action/directive/state/index.d.ts +0 -16
  272. package/lib/action/index.d.ts +0 -10
  273. package/lib/auth/auth.module.d.ts +0 -16
  274. package/lib/auth/auth.providers.d.ts +0 -12
  275. package/lib/auth/auth.role.any.directive.d.ts +0 -15
  276. package/lib/auth/auth.role.has.directive.d.ts +0 -15
  277. package/lib/auth/auth.role.not.directive.d.ts +0 -15
  278. package/lib/auth/auth.state.providers.d.ts +0 -7
  279. package/lib/auth/auth.state.service.d.ts +0 -11
  280. package/lib/auth/auth.user.d.ts +0 -28
  281. package/lib/auth/index.d.ts +0 -11
  282. package/lib/auth/router/auth.router.d.ts +0 -10
  283. package/lib/auth/router/auth.router.providers.d.ts +0 -18
  284. package/lib/auth/router/auth.router.service.d.ts +0 -46
  285. package/lib/auth/router/index.d.ts +0 -5
  286. package/lib/auth/router/provider/uirouter/auth.hook.d.ts +0 -18
  287. package/lib/auth/router/provider/uirouter/hook.d.ts +0 -51
  288. package/lib/auth/router/provider/uirouter/index.d.ts +0 -5
  289. package/lib/auth/router/provider/uirouter/redirect.d.ts +0 -9
  290. package/lib/auth/router/provider/uirouter/role.hook.d.ts +0 -44
  291. package/lib/auth/router/provider/uirouter/state.hook.d.ts +0 -31
  292. package/lib/auth/router/state/auth.router.state.providers.d.ts +0 -19
  293. package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +0 -28
  294. package/lib/auth/router/state/effect/index.d.ts +0 -1
  295. package/lib/auth/router/state/index.d.ts +0 -2
  296. package/lib/auth/service/auth.service.d.ts +0 -46
  297. package/lib/auth/service/auth.service.rxjs.d.ts +0 -19
  298. package/lib/auth/service/index.d.ts +0 -2
  299. package/lib/auth/state/action/auth.action.d.ts +0 -12
  300. package/lib/auth/state/action/index.d.ts +0 -11
  301. package/lib/auth/state/action/user.action.d.ts +0 -34
  302. package/lib/auth/state/effect/auth.effect.d.ts +0 -28
  303. package/lib/auth/state/index.d.ts +0 -12
  304. package/lib/auth/state/reducer/index.d.ts +0 -29
  305. package/lib/auth/state/reducer/user.reducer.d.ts +0 -11
  306. package/lib/auth/state/state.d.ts +0 -5
  307. package/lib/button/action/action.button.directive.d.ts +0 -14
  308. package/lib/button/action/action.button.trigger.directive.d.ts +0 -16
  309. package/lib/button/action/index.d.ts +0 -2
  310. package/lib/button/button.d.ts +0 -113
  311. package/lib/button/button.directive.d.ts +0 -62
  312. package/lib/button/button.loading.directive.d.ts +0 -18
  313. package/lib/button/button.module.d.ts +0 -19
  314. package/lib/button/index.d.ts +0 -6
  315. package/lib/button/router/button.segue.directive.d.ts +0 -14
  316. package/lib/button/router/index.d.ts +0 -1
  317. package/lib/context/context.d.ts +0 -42
  318. package/lib/context/context.directive.d.ts +0 -13
  319. package/lib/context/context.module.d.ts +0 -10
  320. package/lib/context/context.providers.d.ts +0 -7
  321. package/lib/context/context.service.d.ts +0 -14
  322. package/lib/context/index.d.ts +0 -6
  323. package/lib/context/state/action/data.action.d.ts +0 -13
  324. package/lib/context/state/action/index.d.ts +0 -6
  325. package/lib/context/state/effect/index.d.ts +0 -24
  326. package/lib/context/state/index.d.ts +0 -12
  327. package/lib/context/state/reducer/data.reducer.d.ts +0 -13
  328. package/lib/context/state/reducer/index.d.ts +0 -34
  329. package/lib/context/state/state.d.ts +0 -9
  330. package/lib/environment/environment.d.ts +0 -21
  331. package/lib/environment/environment.providers.d.ts +0 -8
  332. package/lib/environment/environment.service.d.ts +0 -17
  333. package/lib/environment/index.d.ts +0 -3
  334. package/lib/filter/filter.abstract.connector.directive.d.ts +0 -15
  335. package/lib/filter/filter.abstract.source.directive.d.ts +0 -37
  336. package/lib/filter/filter.connect.source.directive.d.ts +0 -13
  337. package/lib/filter/filter.connector.directive.d.ts +0 -9
  338. package/lib/filter/filter.content.d.ts +0 -10
  339. package/lib/filter/filter.map.connector.directive.d.ts +0 -14
  340. package/lib/filter/filter.map.directive.d.ts +0 -12
  341. package/lib/filter/filter.map.instance.directive.d.ts +0 -16
  342. package/lib/filter/filter.map.source.directive.d.ts +0 -23
  343. package/lib/filter/filter.module.d.ts +0 -12
  344. package/lib/filter/filter.preset.d.ts +0 -29
  345. package/lib/filter/filter.source.directive.d.ts +0 -9
  346. package/lib/filter/index.d.ts +0 -12
  347. package/lib/index.d.ts +0 -14
  348. package/lib/injection/index.d.ts +0 -13
  349. package/lib/injection/injection.array.component.d.ts +0 -11
  350. package/lib/injection/injection.array.d.ts +0 -12
  351. package/lib/injection/injection.component.d.ts +0 -19
  352. package/lib/injection/injection.component.module.d.ts +0 -16
  353. package/lib/injection/injection.context.d.ts +0 -39
  354. package/lib/injection/injection.context.directive.d.ts +0 -26
  355. package/lib/injection/injection.context.forward.directive.d.ts +0 -15
  356. package/lib/injection/injection.d.ts +0 -51
  357. package/lib/injection/injection.directive.d.ts +0 -18
  358. package/lib/injection/injection.instance.d.ts +0 -32
  359. package/lib/injection/injection.rxjs.d.ts +0 -10
  360. package/lib/injection/injection.util.d.ts +0 -9
  361. package/lib/injection/injector.d.ts +0 -10
  362. package/lib/ngrx/index.d.ts +0 -1
  363. package/lib/ngrx/store.lockset.d.ts +0 -36
  364. package/lib/pipe/async/asobservable.pipe.d.ts +0 -12
  365. package/lib/pipe/async/async.pipe.module.d.ts +0 -10
  366. package/lib/pipe/async/index.d.ts +0 -2
  367. package/lib/pipe/date/date.pipe.module.d.ts +0 -43
  368. package/lib/pipe/date/datedayrange.pipe.d.ts +0 -9
  369. package/lib/pipe/date/datedaytimerange.pipe.d.ts +0 -9
  370. package/lib/pipe/date/datedistance.pipe.d.ts +0 -8
  371. package/lib/pipe/date/dateformatdistance.pipe.d.ts +0 -12
  372. package/lib/pipe/date/datefromtoformat.pipe.d.ts +0 -13
  373. package/lib/pipe/date/daterangedistance.pipe.d.ts +0 -9
  374. package/lib/pipe/date/datetimerange.pipe.d.ts +0 -9
  375. package/lib/pipe/date/datetimerangeonly.pipe.d.ts +0 -9
  376. package/lib/pipe/date/datetimerangeonlydistance.pipe.d.ts +0 -9
  377. package/lib/pipe/date/index.d.ts +0 -17
  378. package/lib/pipe/date/minutesstring.pipe.d.ts +0 -8
  379. package/lib/pipe/date/systemdatetotargetdate.pipe.d.ts +0 -12
  380. package/lib/pipe/date/targetdatetosystemdate.pipe.d.ts +0 -12
  381. package/lib/pipe/date/timedistance.pipe.d.ts +0 -13
  382. package/lib/pipe/date/timezoneabbreviation.pipe.d.ts +0 -12
  383. package/lib/pipe/date/tojsdate.pipe.d.ts +0 -10
  384. package/lib/pipe/date/tominutes.pipe.d.ts +0 -7
  385. package/lib/pipe/index.d.ts +0 -5
  386. package/lib/pipe/misc/index.d.ts +0 -2
  387. package/lib/pipe/misc/misc.pipe.module.d.ts +0 -12
  388. package/lib/pipe/misc/prettyjson.pipe.d.ts +0 -9
  389. package/lib/pipe/pipe.module.d.ts +0 -15
  390. package/lib/pipe/value/cuttext.pipe.d.ts +0 -11
  391. package/lib/pipe/value/dollar.pipe.d.ts +0 -13
  392. package/lib/pipe/value/getvalue.pipe.d.ts +0 -19
  393. package/lib/pipe/value/index.d.ts +0 -4
  394. package/lib/pipe/value/value.pipe.module.d.ts +0 -17
  395. package/lib/router/anchor/anchor.d.ts +0 -71
  396. package/lib/router/anchor/anchor.directive.d.ts +0 -30
  397. package/lib/router/anchor/clickable.d.ts +0 -20
  398. package/lib/router/anchor/index.d.ts +0 -4
  399. package/lib/router/anchor/mousable.d.ts +0 -9
  400. package/lib/router/auth/hook/id.hook.d.ts +0 -44
  401. package/lib/router/auth/hook/index.d.ts +0 -2
  402. package/lib/router/auth/hook/uid.hook.d.ts +0 -41
  403. package/lib/router/auth/index.d.ts +0 -1
  404. package/lib/router/index.d.ts +0 -5
  405. package/lib/router/model/id.param.redirect.d.ts +0 -51
  406. package/lib/router/model/index.d.ts +0 -6
  407. package/lib/router/model/model.module.d.ts +0 -16
  408. package/lib/router/model/model.router.d.ts +0 -35
  409. package/lib/router/model/model.router.id.directive.d.ts +0 -30
  410. package/lib/router/model/model.router.key.directive.d.ts +0 -32
  411. package/lib/router/model/model.router.uid.directive.d.ts +0 -15
  412. package/lib/router/router/index.d.ts +0 -4
  413. package/lib/router/router/provider/angular/angular.router.service.d.ts +0 -24
  414. package/lib/router/router/provider/angular/angular.router.service.module.d.ts +0 -8
  415. package/lib/router/router/provider/angular/index.d.ts +0 -2
  416. package/lib/router/router/provider/index.d.ts +0 -2
  417. package/lib/router/router/provider/uirouter/index.d.ts +0 -3
  418. package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +0 -32
  419. package/lib/router/router/provider/uirouter/uirouter.router.service.module.d.ts +0 -11
  420. package/lib/router/router/provider/uirouter/uirouter.router.service.providers.d.ts +0 -7
  421. package/lib/router/router/service/index.d.ts +0 -5
  422. package/lib/router/router/service/router.go.d.ts +0 -14
  423. package/lib/router/router/service/router.service.d.ts +0 -49
  424. package/lib/router/router/service/router.service.rxjs.d.ts +0 -27
  425. package/lib/router/router/service/router.service.util.d.ts +0 -26
  426. package/lib/router/router/service/router.transition.service.d.ts +0 -11
  427. package/lib/router/router/transition/index.d.ts +0 -4
  428. package/lib/router/router/transition/transition.d.ts +0 -13
  429. package/lib/router/router/transition/transition.directive.d.ts +0 -13
  430. package/lib/router/router/transition/transition.rxjs.d.ts +0 -67
  431. package/lib/router/router/transition/transition.watcher.directive.d.ts +0 -16
  432. package/lib/router/router/util/index.d.ts +0 -2
  433. package/lib/router/router/util/route.default.d.ts +0 -20
  434. package/lib/router/router/util/route.reader.d.ts +0 -56
  435. package/lib/router/segue.d.ts +0 -38
  436. package/lib/storage/index.d.ts +0 -8
  437. package/lib/storage/storage.accessor.d.ts +0 -35
  438. package/lib/storage/storage.accessor.simple.d.ts +0 -80
  439. package/lib/storage/storage.accessor.simple.factory.d.ts +0 -17
  440. package/lib/storage/storage.accessor.string.d.ts +0 -16
  441. package/lib/storage/storage.di.d.ts +0 -3
  442. package/lib/storage/storage.object.localstorage.d.ts +0 -16
  443. package/lib/storage/storage.object.memory.d.ts +0 -9
  444. package/lib/storage/storage.providers.d.ts +0 -13
  445. package/lib/subscription/index.d.ts +0 -1
  446. package/lib/subscription/subscription.directive.d.ts +0 -25
  447. package/lib/util/index.d.ts +0 -2
  448. package/lib/util/input.d.ts +0 -6
  449. package/lib/util/view.d.ts +0 -61
  450. package/lib/view/if.directive.d.ts +0 -18
  451. package/lib/view/index.d.ts +0 -1
@@ -1,286 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ComponentStore } from '@ngrx/component-store';
3
- import { distinctUntilChanged, filter, map, shareReplay, switchMap, startWith, of } from 'rxjs';
4
- import { BooleanStringKeyArrayUtility } from '@dereekb/util';
5
- import { idleLoadingState, errorResult, filterMaybe, LockSet, scanCount, successResult, beginLoading } from '@dereekb/rxjs';
6
- import { DbxActionState, DEFAULT_ACTION_DISABLED_KEY, isIdleActionState, loadingStateTypeForActionState } from './action';
7
- import * as i0 from "@angular/core";
8
- export function isActionContextEnabled(state) {
9
- return BooleanStringKeyArrayUtility.isFalse(state.disabled);
10
- }
11
- export function isActionContextDisabled(state) {
12
- return BooleanStringKeyArrayUtility.isTrue(state.disabled);
13
- }
14
- export function isDisabledActionContextState(state) {
15
- return isIdleActionState(state.actionState) && isActionContextDisabled(state);
16
- }
17
- export function isWorkingActionState(actionState) {
18
- return !isIdleActionState(actionState);
19
- }
20
- export function canTriggerActionState(actionState) {
21
- return actionState !== DbxActionState.DISABLED && isIdleActionState(actionState);
22
- }
23
- export function canTriggerAction(state) {
24
- return isActionContextEnabled(state) && isIdleActionState(state.actionState);
25
- }
26
- export function canReadyValue(state) {
27
- return state.actionState === DbxActionState.TRIGGERED;
28
- }
29
- export function actionContextIsModifiedAndCanTrigger(state) {
30
- // console.log('check: ', state, state.isModified, canTriggerAction(state));
31
- return state.isModified && canTriggerAction(state);
32
- }
33
- export function actionContextHasNoErrorAndIsModifiedAndCanTrigger(state) {
34
- return !state.error && actionContextIsModifiedAndCanTrigger(state);
35
- }
36
- export function loadingStateForActionContextState(state) {
37
- let loadingState;
38
- switch (state.actionState) {
39
- case DbxActionState.RESOLVED:
40
- loadingState = successResult(state.result);
41
- break;
42
- case DbxActionState.REJECTED:
43
- loadingState = errorResult(state.error);
44
- break;
45
- case DbxActionState.IDLE:
46
- case DbxActionState.DISABLED:
47
- loadingState = idleLoadingState();
48
- break;
49
- default:
50
- loadingState = beginLoading(state.workProgress != null ? { loadingProgress: state.workProgress } : undefined);
51
- break;
52
- }
53
- return loadingState;
54
- }
55
- export function loadingStateTypeForActionContextState(state) {
56
- return loadingStateTypeForActionState(state.actionState);
57
- }
58
- const INITIAL_STATE = {
59
- isModified: false,
60
- actionState: DbxActionState.IDLE
61
- };
62
- export class ActionContextStore extends ComponentStore {
63
- lockSet = new LockSet();
64
- constructor() {
65
- super({ ...INITIAL_STATE });
66
- this.lockSet.addLock('working', this.isWorking$);
67
- }
68
- // MARK: Accessors
69
- actionState$ = this.state$.pipe(map((x) => (isDisabledActionContextState(x) ? DbxActionState.DISABLED : x.actionState)), shareReplay(1));
70
- /**
71
- * Returns the current disabled reasons/keys.
72
- */
73
- disabledKeys$ = this.state$.pipe(map((x) => [...(x.disabled ?? [])]), distinctUntilChanged(), shareReplay(1));
74
- /**
75
- * Current value of the state.
76
- */
77
- currentValue$ = this.state$.pipe(map((x) => x.value));
78
- /**
79
- * Maps the current state to true or not when the action state changes to/from disabled.
80
- */
81
- isDisabled$ = this.state$.pipe(map(isDisabledActionContextState), distinctUntilChanged(), shareReplay(1));
82
- /**
83
- * Pipes when idle but modified.
84
- */
85
- isModified$ = this.afterDistinctBoolean((x) => x.isModified);
86
- /**
87
- * Pipes true when idle.
88
- */
89
- idle$ = this.actionState$.pipe(map((x) => x === DbxActionState.IDLE), distinctUntilChanged(), shareReplay(1));
90
- /**
91
- * Pipes true when triggered.
92
- */
93
- triggered$ = this.afterDistinctActionState(DbxActionState.TRIGGERED, () => true);
94
- /**
95
- * Pipes the readied value on ValueReady.
96
- */
97
- valueReady$ = this.afterDistinctActionState(DbxActionState.VALUE_READY, (x) => x.value);
98
- /**
99
- * Pipes the working progress on the working state.
100
- */
101
- workProgress$ = this.state$.pipe(map((x) => x.workProgress), distinctUntilChanged(), shareReplay(1));
102
- /**
103
- * Pipes the error on the rejection state.
104
- */
105
- rejected$ = this.afterDistinctActionState(DbxActionState.REJECTED, (x) => x.error);
106
- /**
107
- * Pipes the result when the ActionState becomes rejected.
108
- */
109
- rejectedPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, error: x.error }));
110
- /**
111
- * Pipes the result when the ActionState becomes working.
112
- */
113
- working$ = this.afterDistinctActionState(DbxActionState.WORKING, () => true);
114
- /**
115
- * Whether or not it is currently in a working state.
116
- */
117
- isWorking$ = this.afterDistinctBoolean((x) => isWorkingActionState(x.actionState));
118
- /**
119
- * Pipes the current work or work progress.
120
- */
121
- isWorkingOrWorkProgress$ = this.isWorking$.pipe(switchMap((x) => {
122
- let obs;
123
- if (x) {
124
- obs = this.workProgress$.pipe(filter((x) => x != null), startWith(x));
125
- }
126
- else {
127
- obs = of(x);
128
- }
129
- return obs;
130
- }), distinctUntilChanged(), shareReplay(1));
131
- /**
132
- * Pipes the current error.
133
- */
134
- error$ = this.state$.pipe(map((x) => x.error), distinctUntilChanged(), shareReplay(1));
135
- /**
136
- * Pipes the result when the ActionState becomes success.
137
- */
138
- success$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => x.result);
139
- /**
140
- * Pipes the result when the ActionState becomes success.
141
- */
142
- successPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, result: x.result }));
143
- /**
144
- * Whether or not it is currently in a success state.
145
- */
146
- isSuccess$ = this.afterDistinctBoolean((x) => x.actionState === DbxActionState.RESOLVED);
147
- /**
148
- * Returns a loading state based on the current state.
149
- */
150
- loadingState$ = this.afterDistinctLoadingStateTypeChange().pipe(switchMap((x) => {
151
- const base = loadingStateForActionContextState(x);
152
- let obs;
153
- if (base.loading === true) {
154
- obs = this.workProgress$.pipe(filter((x) => x != null), map((loadingProgress) => ({ ...base, loadingProgress })), startWith(base));
155
- }
156
- else {
157
- obs = of(base);
158
- }
159
- return obs;
160
- }), shareReplay(1));
161
- /**
162
- * Returns the current LoadingStateType based on the current state.
163
- */
164
- loadingStateType$ = this.state$.pipe(map((x) => loadingStateTypeForActionContextState(x)), distinctUntilChanged(), shareReplay(1));
165
- /**
166
- * Number of errors since last success.
167
- */
168
- errorCountSinceLastSuccess$ = this.isSuccess$.pipe(startWith(false), distinctUntilChanged(), switchMap(() => this.error$.pipe(filterMaybe(), scanCount(), startWith(0))), shareReplay(1));
169
- /**
170
- * Whether or not the state can be triggered.
171
- */
172
- canTrigger$ = this.state$.pipe(map(canTriggerAction), distinctUntilChanged(), shareReplay(1));
173
- /**
174
- * Pipe that maps whether or not this is modified and can be triggered.
175
- *
176
- * Updates every state update instead of when the value changes.
177
- */
178
- isModifiedAndCanTriggerUpdates$ = this.state$.pipe(map((x) => actionContextIsModifiedAndCanTrigger(x), shareReplay(1)));
179
- /**
180
- * Whether or not it can be triggered and modified.
181
- */
182
- isModifiedAndCanTrigger$ = this.isModifiedAndCanTriggerUpdates$.pipe(distinctUntilChanged());
183
- hasNoErrorAndIsModifiedAndCanTrigger$ = this.state$.pipe(map((x) => actionContextHasNoErrorAndIsModifiedAndCanTrigger(x)), distinctUntilChanged(), shareReplay(1));
184
- // MARK: State Changes
185
- /**
186
- * Adds a disabled reason.
187
- */
188
- disable = this.updater((state, key) => ({
189
- ...state,
190
- disabled: BooleanStringKeyArrayUtility.insert(state.disabled, key ?? DEFAULT_ACTION_DISABLED_KEY)
191
- }));
192
- /**
193
- * Removes a disabled reason.
194
- */
195
- enable = this.updater((state, key) => ({
196
- ...state,
197
- disabled: BooleanStringKeyArrayUtility.remove(state.disabled, key ?? DEFAULT_ACTION_DISABLED_KEY)
198
- }));
199
- /**
200
- * Triggers the modified state, if not disabled.
201
- *
202
- * Equivalent to calling setIsModified() with opposite input.
203
- */
204
- setIsSame = this.updater(updateIsSameOnActionContextState);
205
- /**
206
- * Triggers the modified state, if not disabled.
207
- */
208
- setIsModified = this.updater(updateIsModifiedOnActionContextState);
209
- /**
210
- * Triggers the action if the state is currently not idle. The current state is cleared, but the error is retained (as we may need the error from the previous attempt).
211
- *
212
- * Will not fire if the action is disabled.
213
- */
214
- trigger = this.updater((state) => (canTriggerAction(state) ? { isModified: state.isModified, actionState: DbxActionState.TRIGGERED, error: state.error, value: undefined } : state));
215
- /**
216
- * Updates the value, setting value ready. The current result is cleared.
217
- */
218
- readyValue = this.updater((state, value) => (canReadyValue(state) ? { ...state, actionState: DbxActionState.VALUE_READY, value, result: undefined } : state));
219
- /**
220
- * Notifys the context that the action is in progress.
221
- */
222
- startWorking = this.updater((state) => ({ ...state, actionState: DbxActionState.WORKING, workProgress: null }));
223
- /**
224
- * Updates the working progress.
225
- */
226
- setWorkProgress = this.updater((state, workProgress) => ({ ...state, workProgress }));
227
- /**
228
- * Triggers rejection of the action. The value is cleared.
229
- */
230
- reject = this.updater((state, error) => ({
231
- isModified: state.isModified,
232
- actionState: DbxActionState.REJECTED,
233
- error,
234
- errorCount: (state.errorCount ?? 0) + 1,
235
- disabled: state.disabled
236
- }));
237
- /**
238
- * Updates the state to success, and optionally sets a result.
239
- *
240
- * Clears modified state, and any errors.
241
- */
242
- resolve = this.updater((state, result) => ({ isModified: false, actionState: DbxActionState.RESOLVED, value: state.value, result, error: undefined, disabled: state.disabled }));
243
- /**
244
- * Completely resets the store.
245
- */
246
- reset = this.updater(() => ({ ...INITIAL_STATE }));
247
- // MARK: Utility
248
- afterDistinctBoolean(fromState) {
249
- return this.state$.pipe(map((x) => fromState(x)), distinctUntilChanged(), shareReplay(1));
250
- }
251
- afterDistinctActionState(actionState, fromState) {
252
- return this.afterDistinctActionStateChange().pipe(filter((x) => x.actionState === actionState), // Only pipe when the new action state matches.
253
- map((x) => fromState(x)), shareReplay(1));
254
- }
255
- afterDistinctActionStateChange() {
256
- return this.state$.pipe(map((x) => [x, x.actionState]), distinctUntilChanged((a, b) => a?.[1] === b?.[1]), // Filter out when the state remains the same.
257
- map((x) => x[0]), shareReplay(1));
258
- }
259
- afterDistinctLoadingStateTypeChange() {
260
- return this.state$.pipe(map((x) => [x, loadingStateTypeForActionContextState(x)]), distinctUntilChanged((a, b) => a?.[1] === b?.[1]), // Filter out when the loading state remains the same.
261
- map((x) => x[0]), shareReplay(1));
262
- }
263
- // MARK: Cleanup
264
- ngOnDestroy() {
265
- // Wait for any actions to complete before destroying.
266
- this.lockSet.onNextUnlock(() => {
267
- super.ngOnDestroy();
268
- }, 2000);
269
- }
270
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
271
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionContextStore });
272
- }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionContextStore, decorators: [{
274
- type: Injectable
275
- }], ctorParameters: () => [] });
276
- function updateIsSameOnActionContextState(state, isSame) {
277
- return updateIsModifiedOnActionContextState(state, isSame == null ? false : !isSame);
278
- }
279
- function updateIsModifiedOnActionContextState(state, isModified) {
280
- return {
281
- ...state,
282
- actionState: state.actionState === DbxActionState.RESOLVED ? DbxActionState.IDLE : state.actionState, // Set to idle from success.
283
- isModified: isModified ?? true // if isModified is not input, default it to true
284
- };
285
- }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RyxPQUFPLEVBQXlCLDRCQUE0QixFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQStDLGNBQWMsRUFBNEUsMkJBQTJCLEVBQUUsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWpQLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF5QjtJQUM5RCxPQUFPLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUF5QjtJQUMvRCxPQUFPLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxLQUF5QjtJQUNwRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRixDQUFDO0FB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Q0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0RBQXNEO1FBQ3pHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxFQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7SUFDUCxXQUFXO1FBQ2xCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7d0dBeFRVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOztBQTRUWCxTQUFTLGdDQUFnQyxDQUFPLEtBQStCLEVBQUUsTUFBdUI7SUFDdEcsT0FBTyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxTQUFTLG9DQUFvQyxDQUFPLEtBQStCLEVBQUUsVUFBMkI7SUFDOUcsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsNEJBQTRCO1FBQ2xJLFVBQVUsRUFBRyxVQUFzQixJQUFJLElBQUksQ0FBQyxpREFBaUQ7S0FDOUYsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlVHlwZSwgaWRsZUxvYWRpbmdTdGF0ZSwgZXJyb3JSZXN1bHQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIExvY2tTZXQsIHNjYW5Db3VudCwgc3VjY2Vzc1Jlc3VsdCwgYmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyLCBEYnhBY3Rpb25TdGF0ZSwgRGJ4QWN0aW9uU3VjY2Vzc1BhaXIsIERieEFjdGlvbldvcmtPcldvcmtQcm9ncmVzcywgRGJ4QWN0aW9uV29ya1Byb2dyZXNzLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzVHJ1ZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKSAmJiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtpbmdBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3Rpb25TdGF0ZSAhPT0gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgJiYgaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvbihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlKSAmJiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5SZWFkeVZhbHVlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICAvLyBjb25zb2xlLmxvZygnY2hlY2s6ICcsIHN0YXRlLCBzdGF0ZS5pc01vZGlmaWVkLCBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSk7XG4gIHJldHVybiBzdGF0ZS5pc01vZGlmaWVkICYmIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dEhhc05vRXJyb3JBbmRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RhdGUuZXJyb3IgJiYgYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPID0gdW5rbm93bj4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTx1bmtub3duLCBPPik6IExvYWRpbmdTdGF0ZTxPPiB7XG4gIGxldCBsb2FkaW5nU3RhdGU6IExvYWRpbmdTdGF0ZTxPPjtcblxuICBzd2l0Y2ggKHN0YXRlLmFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IHN1Y2Nlc3NSZXN1bHQoc3RhdGUucmVzdWx0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBlcnJvclJlc3VsdChzdGF0ZS5lcnJvcik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGlkbGVMb2FkaW5nU3RhdGUoKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBiZWdpbkxvYWRpbmcoc3RhdGUud29ya1Byb2dyZXNzICE9IG51bGwgPyB7IGxvYWRpbmdQcm9ncmVzczogc3RhdGUud29ya1Byb2dyZXNzIH0gOiB1bmRlZmluZWQpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbG9hZGluZ1N0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogTG9hZGluZ1N0YXRlVHlwZSB7XG4gIHJldHVybiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHRTdGF0ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IHtcbiAgcmVhZG9ubHkgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBhY3Rpb24gaXMgZmxhZ2dlZCBhcyBoYXZpbmcgYmVlbiBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTW9kaWZpZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBwcm9ncmVzcyBvZiB0aGUgYWN0aW9uLlxuICAgKlxuICAgKiBJcyByZXNldCB0byBudWxsIHdoZW4gdHJpZ2dlcmVkL3JlYWR5IHZhbHVlIGlzIHNldC5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtQcm9ncmVzcz86IE1heWJlPERieEFjdGlvbldvcmtQcm9ncmVzcz47XG4gIC8qKlxuICAgKiBWYWx1ZSB0aGF0IGlzIHNldCBhZnRlciBhIHRyaWdnZXJlZCBhY3Rpb24uIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHJlc3VsdC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogTWF5YmU8VD47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCByZXN1bHQgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSByZXN1bHQ/OiBNYXliZTxPPjtcbiAgLyoqXG4gICAqIFJlamVjdGVkIGVycm9yLCBpZiBhdmFpbGFibGUuXG4gICAqL1xuICByZWFkb25seSBlcnJvcj86IE1heWJlPFJlYWRhYmxlRXJyb3I+O1xuICAvKipcbiAgICogQ3VycmVudCBkaXNhYmxlZCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkPzogQm9vbGVhblN0cmluZ0tleUFycmF5O1xuICAvKipcbiAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGVycm9ycyB0aGF0IGhhdmUgb2NjdXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yQ291bnQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IElOSVRJQUxfU1RBVEU6IEFjdGlvbkNvbnRleHRTdGF0ZSA9IHtcbiAgaXNNb2RpZmllZDogZmFsc2UsXG4gIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5JRExFXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29udGV4dFN0b3JlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyAuLi5JTklUSUFMX1NUQVRFIH0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcbiAgICB0aGlzLmxvY2tTZXQuYWRkTG9jaygnd29ya2luZycsIHRoaXMuaXNXb3JraW5nJCk7XG4gIH1cblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgYWN0aW9uU3RhdGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHgpID8gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgOiB4LmFjdGlvblN0YXRlKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBkaXNhYmxlZCByZWFzb25zL2tleXMuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZEtleXMkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IFsuLi4oeC5kaXNhYmxlZCA/PyBbXSldKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj4gPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC52YWx1ZSkpO1xuXG4gIC8qKlxuICAgKiBNYXBzIHRoZSBjdXJyZW50IHN0YXRlIHRvIHRydWUgb3Igbm90IHdoZW4gdGhlIGFjdGlvbiBzdGF0ZSBjaGFuZ2VzIHRvL2Zyb20gZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpc0Rpc2FibGVkJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHdoZW4gaWRsZSBidXQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguaXNNb2RpZmllZCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRydWUgd2hlbiBpZGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRsZSQgPSB0aGlzLmFjdGlvblN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geCA9PT0gRGJ4QWN0aW9uU3RhdGUuSURMRSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0cnVlIHdoZW4gdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcmVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlRSSUdHRVJFRCwgKCkgPT4gdHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZWFkaWVkIHZhbHVlIG9uIFZhbHVlUmVhZHkuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZVJlYWR5JDogT2JzZXJ2YWJsZTxUPiA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCAoeCkgPT4geC52YWx1ZSBhcyBUKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHdvcmtpbmcgcHJvZ3Jlc3Mgb24gdGhlIHdvcmtpbmcgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSB3b3JrUHJvZ3Jlc3MkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgud29ya1Byb2dyZXNzKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0pIGFzIERieEFjdGlvblJlamVjdGVkUGFpcjxUPik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IHdvcmsgb3Igd29yayBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZ09yV29ya1Byb2dyZXNzJCA9IHRoaXMuaXNXb3JraW5nJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3M+O1xuXG4gICAgICBpZiAoeCkge1xuICAgICAgICBvYnMgPSB0aGlzLndvcmtQcm9ncmVzcyQucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHgpID0+IHggIT0gbnVsbCksXG4gICAgICAgICAgc3RhcnRXaXRoKHgpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMgPSBvZih4KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9icztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSkgYXMgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCBiYXNlID0gbG9hZGluZ1N0YXRlRm9yQWN0aW9uQ29udGV4dFN0YXRlPE8+KHgpO1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Tz4+O1xuXG4gICAgICBpZiAoYmFzZS5sb2FkaW5nID09PSB0cnVlKSB7XG4gICAgICAgIG9icyA9IHRoaXMud29ya1Byb2dyZXNzJC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoeCkgPT4geCAhPSBudWxsKSxcbiAgICAgICAgICBtYXAoKGxvYWRpbmdQcm9ncmVzcykgPT4gKHsgLi4uYmFzZSwgbG9hZGluZ1Byb2dyZXNzIH0pKSxcbiAgICAgICAgICBzdGFydFdpdGgoYmFzZSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9icyA9IG9mKGJhc2UpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gY2FsbGluZyBzZXRJc01vZGlmaWVkKCkgd2l0aCBvcHBvc2l0ZSBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzU2FtZSA9IHRoaXMudXBkYXRlcjx2b2lkLCB2b2lkIHwgYm9vbGVhbj4odXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgbW9kaWZpZWQgc3RhdGUsIGlmIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzTW9kaWZpZWQgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBhY3Rpb24gaWYgdGhlIHN0YXRlIGlzIGN1cnJlbnRseSBub3QgaWRsZS4gVGhlIGN1cnJlbnQgc3RhdGUgaXMgY2xlYXJlZCwgYnV0IHRoZSBlcnJvciBpcyByZXRhaW5lZCAoYXMgd2UgbWF5IG5lZWQgdGhlIGVycm9yIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQpLlxuICAgKlxuICAgKiBXaWxsIG5vdCBmaXJlIGlmIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpID8geyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHZhbHVlLCBzZXR0aW5nIHZhbHVlIHJlYWR5LiBUaGUgY3VycmVudCByZXN1bHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWR5VmFsdWUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB2YWx1ZTogVCkgPT4gKGNhblJlYWR5VmFsdWUoc3RhdGUpID8geyAuLi5zdGF0ZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCB2YWx1ZSwgcmVzdWx0OiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCB3b3JrUHJvZ3Jlc3M6IG51bGwgfSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB3b3JraW5nIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0V29ya1Byb2dyZXNzID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgd29ya1Byb2dyZXNzOiBNYXliZTxEYnhBY3Rpb25Xb3JrUHJvZ3Jlc3M+KSA9PiAoeyAuLi5zdGF0ZSwgd29ya1Byb2dyZXNzIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHtcbiAgICBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLFxuICAgIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRCxcbiAgICBlcnJvcixcbiAgICBlcnJvckNvdW50OiAoc3RhdGUuZXJyb3JDb3VudCA/PyAwKSArIDEsXG4gICAgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkXG4gIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gc3VjY2VzcywgYW5kIG9wdGlvbmFsbHkgc2V0cyBhIHJlc3VsdC5cbiAgICpcbiAgICogQ2xlYXJzIG1vZGlmaWVkIHN0YXRlLCBhbmQgYW55IGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZXN1bHQ/OiBNYXliZTxPPikgPT4gKHsgaXNNb2RpZmllZDogZmFsc2UsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgdmFsdWU6IHN0YXRlLnZhbHVlLCByZXN1bHQsIGVycm9yOiB1bmRlZmluZWQsIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZCB9KSk7XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmVzZXRzIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0ID0gdGhpcy51cGRhdGVyKCgpID0+ICh7IC4uLklOSVRJQUxfU1RBVEUgfSkgYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0QWN0aW9uU3RhdGU8WD4oYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLCBmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBYKTogT2JzZXJ2YWJsZTxYPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCkucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5hY3Rpb25TdGF0ZSA9PT0gYWN0aW9uU3RhdGUpLCAvLyBPbmx5IHBpcGUgd2hlbiB0aGUgbmV3IGFjdGlvbiBzdGF0ZSBtYXRjaGVzLlxuICAgICAgbWFwKCh4KSA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IFt4LCB4LmFjdGlvblN0YXRlXSBhcyBbQWN0aW9uQ29udGV4dFN0YXRlLCBEYnhBY3Rpb25TdGF0ZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBsb2FkaW5nIHN0YXRlIHJlbWFpbnMgdGhlIHNhbWUuXG4gICAgICBtYXAoKHgpID0+IHhbMF0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE1BUks6IENsZWFudXBcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgYW55IGFjdGlvbnMgdG8gY29tcGxldGUgYmVmb3JlIGRlc3Ryb3lpbmcuXG4gICAgdGhpcy5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0sIDIwMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4sIGlzU2FtZT86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZSwgaXNTYW1lID09IG51bGwgPyBmYWxzZSA6ICFpc1NhbWUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNNb2RpZmllZD86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25TdGF0ZTogc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAvLyBTZXQgdG8gaWRsZSBmcm9tIHN1Y2Nlc3MuXG4gICAgaXNNb2RpZmllZDogKGlzTW9kaWZpZWQgYXMgYm9vbGVhbikgPz8gdHJ1ZSAvLyBpZiBpc01vZGlmaWVkIGlzIG5vdCBpbnB1dCwgZGVmYXVsdCBpdCB0byB0cnVlXG4gIH07XG59XG4iXX0=
@@ -1,162 +0,0 @@
1
- import { first, switchMap } from 'rxjs';
2
- import { LockSet, filterMaybe } from '@dereekb/rxjs';
3
- /**
4
- * Source that provides a ActionContextStore observable.
5
- */
6
- export class ActionContextStoreSource {
7
- }
8
- /**
9
- * Secondary source. Used by DbxActionContextComponent to find secondary sources.
10
- */
11
- export class SecondaryActionContextStoreSource extends ActionContextStoreSource {
12
- }
13
- export function actionContextStoreSourcePipe(obs) {
14
- return obs.pipe(filterMaybe());
15
- }
16
- export function pipeActionStore(source, pipeFn) {
17
- return source.store$.pipe(switchMap(pipeFn));
18
- }
19
- /**
20
- * Convenience function for subscribing to the input source once and using the provided store.
21
- */
22
- export function useActionStore(source, useFn) {
23
- return source.store$.pipe(first()).subscribe(useFn);
24
- }
25
- /**
26
- * Service that wraps a ActionContextStoreSource.
27
- */
28
- export class DbxActionContextStoreSourceInstance {
29
- lockSet = new LockSet();
30
- _source;
31
- constructor(source) {
32
- if (!source) {
33
- throw new Error('Source is required.');
34
- }
35
- this._source = source;
36
- }
37
- get source() {
38
- return this._source;
39
- }
40
- destroy() {
41
- this.lockSet.destroyOnNextUnlock();
42
- }
43
- // MARK: Store
44
- get store$() {
45
- return this.source.store$;
46
- }
47
- pipeStore(pipeFn) {
48
- return pipeActionStore(this.source, pipeFn);
49
- }
50
- useStore(useFn) {
51
- return useActionStore(this.source, useFn);
52
- }
53
- get state$() {
54
- return this.pipeStore((x) => x.state$);
55
- }
56
- get idle$() {
57
- return this.pipeStore((x) => x.idle$);
58
- }
59
- get triggered$() {
60
- return this.pipeStore((x) => x.triggered$);
61
- }
62
- get valueReady$() {
63
- return this.pipeStore((x) => x.valueReady$);
64
- }
65
- get success$() {
66
- return this.pipeStore((x) => x.success$);
67
- }
68
- get successPair$() {
69
- return this.pipeStore((x) => x.successPair$);
70
- }
71
- get workProgress$() {
72
- return this.pipeStore((x) => x.workProgress$);
73
- }
74
- get error$() {
75
- return this.pipeStore((x) => x.error$);
76
- }
77
- get rejected$() {
78
- return this.pipeStore((x) => x.rejected$);
79
- }
80
- get rejectedPair$() {
81
- return this.pipeStore((x) => x.rejectedPair$);
82
- }
83
- get isModified$() {
84
- return this.pipeStore((x) => x.isModified$);
85
- }
86
- get canTrigger$() {
87
- return this.pipeStore((x) => x.canTrigger$);
88
- }
89
- get isModifiedAndCanTriggerUpdates$() {
90
- return this.pipeStore((x) => x.isModifiedAndCanTriggerUpdates$);
91
- }
92
- get isModifiedAndCanTrigger$() {
93
- return this.pipeStore((x) => x.isModifiedAndCanTrigger$);
94
- }
95
- get actionState$() {
96
- return this.pipeStore((x) => x.actionState$);
97
- }
98
- get loadingState$() {
99
- return this.pipeStore((x) => x.loadingState$);
100
- }
101
- get loadingStateType$() {
102
- return this.pipeStore((x) => x.loadingStateType$);
103
- }
104
- get isWorking$() {
105
- return this.pipeStore((x) => x.isWorking$);
106
- }
107
- get isWorkingOrWorkProgress$() {
108
- return this.pipeStore((x) => x.isWorkingOrWorkProgress$);
109
- }
110
- get isSuccess$() {
111
- return this.pipeStore((x) => x.isSuccess$);
112
- }
113
- get disabledKeys$() {
114
- return this.pipeStore((x) => x.disabledKeys$);
115
- }
116
- get isDisabled$() {
117
- return this.pipeStore((x) => x.isDisabled$);
118
- }
119
- get errorCountSinceLastSuccess$() {
120
- return this.pipeStore((x) => x.errorCountSinceLastSuccess$);
121
- }
122
- enable(key, enable = true) {
123
- this.disable(key, !enable);
124
- }
125
- disable(key, disable = true) {
126
- this.useStore((x) => (disable ? x.disable(key) : x.enable(key)));
127
- }
128
- setIsSame(isSame) {
129
- this.useStore((x) => x.setIsSame(isSame));
130
- }
131
- setIsModified(isModified) {
132
- this.useStore((x) => x.setIsModified(isModified));
133
- }
134
- setWorkProgress(workProgress) {
135
- this.useStore((x) => x.setWorkProgress(workProgress));
136
- }
137
- trigger() {
138
- this.useStore((x) => x.trigger());
139
- }
140
- triggerWithValue(value) {
141
- this.useStore((x) => {
142
- x.trigger();
143
- x.readyValue(value);
144
- });
145
- }
146
- readyValue(value) {
147
- this.useStore((x) => x.readyValue(value));
148
- }
149
- startWorking() {
150
- this.useStore((x) => x.startWorking());
151
- }
152
- reject(error) {
153
- this.useStore((x) => x.reject(error));
154
- }
155
- resolve(value) {
156
- this.useStore((x) => x.resolve(value));
157
- }
158
- reset() {
159
- this.useStore((x) => x.reset());
160
- }
161
- }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQXNDLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUF5RSxNQUFNLGVBQWUsQ0FBQztBQUs1SDs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHFC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ZSBPYnNlcnZhYmxlLCB0eXBlIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9ja1NldCwgZmlsdGVyTWF5YmUsIHR5cGUgTG9hZGluZ1N0YXRlLCB0eXBlIExvYWRpbmdTdGF0ZVR5cGUsIHR5cGUgTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdHlwZSBEZXN0cm95YWJsZSwgdHlwZSBNYXliZSwgdHlwZSBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyB0eXBlIEFjdGlvbkNvbnRleHRTdGF0ZSwgdHlwZSBBY3Rpb25Db250ZXh0U3RvcmUgfSBmcm9tICcuL2FjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyB0eXBlIERieEFjdGlvbkRpc2FibGVkS2V5LCB0eXBlIERieEFjdGlvblJlamVjdGVkUGFpciwgdHlwZSBEYnhBY3Rpb25TdGF0ZSwgdHlwZSBEYnhBY3Rpb25TdWNjZXNzUGFpciwgdHlwZSBEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3MsIHR5cGUgRGJ4QWN0aW9uV29ya1Byb2dyZXNzIH0gZnJvbSAnLi9hY3Rpb24nO1xuXG4vKipcbiAqIFNvdXJjZSB0aGF0IHByb3ZpZGVzIGEgQWN0aW9uQ29udGV4dFN0b3JlIG9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHJlZmVyZW5jaW5nIHRoZSBBY3Rpb25Db250ZXh0U3RvcmUuXG4gICAqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBieSBkZXNpZ24gaXMgcHJlLWZpbHRlcmVkIHRvIG5vdCByZXR1cm4gbnVsbCB2YWx1ZXMuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBzdG9yZSQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pjtcbn1cblxuLyoqXG4gKiBTZWNvbmRhcnkgc291cmNlLiBVc2VkIGJ5IERieEFjdGlvbkNvbnRleHRDb21wb25lbnQgdG8gZmluZCBzZWNvbmRhcnkgc291cmNlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VQaXBlPFQsIE8+KG9iczogT2JzZXJ2YWJsZTxNYXliZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+Pik6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+PiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcbn1cblxuZXhwb3J0IHR5cGUgUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4gPSAoc3RvcmU6IEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPikgPT4gT2JzZXJ2YWJsZTxSPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBpcGVBY3Rpb25TdG9yZTxSID0gdW5rbm93biwgVCA9IHVua25vd24sIE8gPSB1bmtub3duPihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgcGlwZUZuOiBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gc291cmNlLnN0b3JlJC5waXBlKHN3aXRjaE1hcChwaXBlRm4pKTtcbn1cblxuZXhwb3J0IHR5cGUgVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPiA9IChzdG9yZTogQWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+KSA9PiB2b2lkO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBzdWJzY3JpYmluZyB0byB0aGUgaW5wdXQgc291cmNlIG9uY2UgYW5kIHVzaW5nIHRoZSBwcm92aWRlZCBzdG9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFjdGlvblN0b3JlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHVzZUZuOiBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+KTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUodXNlRm4pO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCB3cmFwcyBhIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gaW1wbGVtZW50cyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIERlc3Ryb3lhYmxlIHtcbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz47XG5cbiAgY29uc3RydWN0b3Ioc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4pIHtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb3VyY2UgaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgZ2V0IHNvdXJjZSgpOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4ge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2tTZXQuZGVzdHJveU9uTmV4dFVubG9jaygpO1xuICB9XG5cbiAgLy8gTUFSSzogU3RvcmVcbiAgZ2V0IHN0b3JlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5zdG9yZSQ7XG4gIH1cblxuICBwaXBlU3RvcmU8Uj4ocGlwZUZuOiBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiBwaXBlQWN0aW9uU3RvcmUodGhpcy5zb3VyY2UsIHBpcGVGbik7XG4gIH1cblxuICB1c2VTdG9yZSh1c2VGbjogVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHVzZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCB1c2VGbik7XG4gIH1cblxuICBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnN0YXRlJCk7XG4gIH1cblxuICBnZXQgaWRsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlkbGUkKTtcbiAgfVxuXG4gIGdldCB0cmlnZ2VyZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC50cmlnZ2VyZWQkKTtcbiAgfVxuXG4gIGdldCB2YWx1ZVJlYWR5JCgpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgudmFsdWVSZWFkeSQpO1xuICB9XG5cbiAgZ2V0IHN1Y2Nlc3MkKCk6IE9ic2VydmFibGU8TWF5YmU8Tz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3VjY2VzcyQpO1xuICB9XG5cbiAgZ2V0IHN1Y2Nlc3NQYWlyJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblN1Y2Nlc3NQYWlyPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnN1Y2Nlc3NQYWlyJCk7XG4gIH1cblxuICBnZXQgd29ya1Byb2dyZXNzJCgpOiBPYnNlcnZhYmxlPE1heWJlPERieEFjdGlvbldvcmtQcm9ncmVzcz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgud29ya1Byb2dyZXNzJCk7XG4gIH1cblxuICBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguZXJyb3IkKTtcbiAgfVxuXG4gIGdldCByZWplY3RlZCQoKTogT2JzZXJ2YWJsZTxNYXliZTxSZWFkYWJsZUVycm9yPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5yZWplY3RlZCQpO1xuICB9XG5cbiAgZ2V0IHJlamVjdGVkUGFpciQoKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25SZWplY3RlZFBhaXI8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgucmVqZWN0ZWRQYWlyJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzTW9kaWZpZWQkKTtcbiAgfVxuXG4gIGdldCBjYW5UcmlnZ2VyJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguY2FuVHJpZ2dlciQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZEFuZENhblRyaWdnZXIkKTtcbiAgfVxuXG4gIGdldCBhY3Rpb25TdGF0ZSQoKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25TdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5hY3Rpb25TdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Tz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgubG9hZGluZ1N0YXRlJCk7XG4gIH1cblxuICBnZXQgbG9hZGluZ1N0YXRlVHlwZSQoKTogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGVUeXBlPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmxvYWRpbmdTdGF0ZVR5cGUkKTtcbiAgfVxuXG4gIGdldCBpc1dvcmtpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc1dvcmtpbmckKTtcbiAgfVxuXG4gIGdldCBpc1dvcmtpbmdPcldvcmtQcm9ncmVzcyQoKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3M+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNXb3JraW5nT3JXb3JrUHJvZ3Jlc3MkKTtcbiAgfVxuXG4gIGdldCBpc1N1Y2Nlc3MkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc1N1Y2Nlc3MkKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZEtleXMkKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguZGlzYWJsZWRLZXlzJCk7XG4gIH1cblxuICBnZXQgaXNEaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzRGlzYWJsZWQkKTtcbiAgfVxuXG4gIGdldCBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoa2V5PzogRGJ4QWN0aW9uRGlzYWJsZWRLZXksIGVuYWJsZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoa2V5LCAhZW5hYmxlKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKGtleT86IERieEFjdGlvbkRpc2FibGVkS2V5LCBkaXNhYmxlID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IChkaXNhYmxlID8geC5kaXNhYmxlKGtleSkgOiB4LmVuYWJsZShrZXkpKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0SXNTYW1lKGlzU2FtZT86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTx2b2lkPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0SXNTYW1lKGlzU2FtZSkpO1xuICB9XG5cbiAgcHVibGljIHNldElzTW9kaWZpZWQoaXNNb2RpZmllZD86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTx2b2lkPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0SXNNb2RpZmllZChpc01vZGlmaWVkKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0V29ya1Byb2dyZXNzKHdvcmtQcm9ncmVzczogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZTxEYnhBY3Rpb25Xb3JrUHJvZ3Jlc3M+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRXb3JrUHJvZ3Jlc3Mod29ya1Byb2dyZXNzKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXIoKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcldpdGhWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB7XG4gICAgICB4LnRyaWdnZXIoKTtcbiAgICAgIHgucmVhZHlWYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZHlWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlYWR5VmFsdWUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zdGFydFdvcmtpbmcoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVqZWN0KGVycm9yOiBNYXliZTxSZWFkYWJsZUVycm9yIHwgT2JzZXJ2YWJsZTxSZWFkYWJsZUVycm9yPj4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlamVjdChlcnJvcikpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUodmFsdWU6IE8gfCBPYnNlcnZhYmxlPE8+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNvbHZlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNldCgpKTtcbiAgfVxufVxuIl19
@@ -1,41 +0,0 @@
1
- import { forwardRef } from '@angular/core';
2
- import { ActionContextStoreSource, DbxActionContextStoreSourceInstance, SecondaryActionContextStoreSource } from './action.store.source';
3
- import { DbxActionContextMachineAsService } from './action.machine';
4
- export const actionContextStoreSourceInstanceFactory = (source) => {
5
- return new DbxActionContextStoreSourceInstance(source);
6
- };
7
- export const actionContextStoreSourceMachineFactory = () => {
8
- return new DbxActionContextMachineAsService();
9
- };
10
- /**
11
- * Provides an ActionContextStoreSource, as well as an DbxActionContextStoreSourceInstance.
12
- */
13
- export function provideActionStoreSource(sourceType) {
14
- const storeSourceProvider = sourceType != null
15
- ? {
16
- provide: ActionContextStoreSource,
17
- useExisting: forwardRef(() => sourceType)
18
- }
19
- : {
20
- provide: ActionContextStoreSource,
21
- useFactory: actionContextStoreSourceMachineFactory
22
- };
23
- return [
24
- storeSourceProvider,
25
- {
26
- provide: DbxActionContextStoreSourceInstance,
27
- useFactory: actionContextStoreSourceInstanceFactory,
28
- deps: [ActionContextStoreSource]
29
- }
30
- ];
31
- }
32
- export function provideSecondaryActionStoreSource(sourceType) {
33
- return [
34
- {
35
- provide: SecondaryActionContextStoreSource,
36
- useExisting: forwardRef(() => sourceType)
37
- },
38
- ...provideActionStoreSource(sourceType)
39
- ];
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5wcm92aWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnNvdXJjZS5wcm92aWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxtQ0FBbUMsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLENBQUMsTUFBZ0MsRUFBRSxFQUFFO0lBQzFGLE9BQU8sSUFBSSxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLEVBQUU7SUFDekQsT0FBTyxJQUFJLGdDQUFnQyxFQUFFLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQXFDLFVBQTBCO0lBQ3JHLE1BQU0sbUJBQW1CLEdBQ3ZCLFVBQVUsSUFBSSxJQUFJO1FBQ2hCLENBQUMsQ0FBQztZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7UUFDSCxDQUFDLENBQUM7WUFDRSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFVBQVUsRUFBRSxzQ0FBc0M7U0FDbkQsQ0FBQztJQUVSLE9BQU87UUFDTCxtQkFBbUI7UUFDbkI7WUFDRSxPQUFPLEVBQUUsbUNBQW1DO1lBQzVDLFVBQVUsRUFBRSx1Q0FBdUM7WUFDbkQsSUFBSSxFQUFFLENBQUMsd0JBQXdCLENBQUM7U0FDakM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBOEMsVUFBbUI7SUFDaEgsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQztRQUNELEdBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDO0tBQ3hDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdHlwZSBQcm92aWRlciwgdHlwZSBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UsIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UgfSBmcm9tICcuL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmVBc1NlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi5tYWNoaW5lJztcblxuZXhwb3J0IGNvbnN0IGFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlRmFjdG9yeSA9IChzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSkgPT4ge1xuICByZXR1cm4gbmV3IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKHNvdXJjZSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWN0aW9uQ29udGV4dFN0b3JlU291cmNlTWFjaGluZUZhY3RvcnkgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmVBc1NlcnZpY2UoKTtcbn07XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLCBhcyB3ZWxsIGFzIGFuIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFjdGlvblN0b3JlU291cmNlPFMgZXh0ZW5kcyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U+KHNvdXJjZVR5cGU6IFR5cGU8Uz4gfCBudWxsKTogUHJvdmlkZXJbXSB7XG4gIGNvbnN0IHN0b3JlU291cmNlUHJvdmlkZXI6IFByb3ZpZGVyID1cbiAgICBzb3VyY2VUeXBlICE9IG51bGxcbiAgICAgID8ge1xuICAgICAgICAgIHByb3ZpZGU6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSxcbiAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICBwcm92aWRlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UsXG4gICAgICAgICAgdXNlRmFjdG9yeTogYWN0aW9uQ29udGV4dFN0b3JlU291cmNlTWFjaGluZUZhY3RvcnlcbiAgICAgICAgfTtcblxuICByZXR1cm4gW1xuICAgIHN0b3JlU291cmNlUHJvdmlkZXIsXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UsXG4gICAgICB1c2VGYWN0b3J5OiBhY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZUZhY3RvcnksXG4gICAgICBkZXBzOiBbQWN0aW9uQ29udGV4dFN0b3JlU291cmNlXVxuICAgIH1cbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTZWNvbmRhcnlBY3Rpb25TdG9yZVNvdXJjZTxTIGV4dGVuZHMgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlPihzb3VyY2VUeXBlOiBUeXBlPFM+KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgICB9LFxuICAgIC4uLnByb3ZpZGVBY3Rpb25TdG9yZVNvdXJjZShzb3VyY2VUeXBlKVxuICBdO1xufVxuIl19
@@ -1,36 +0,0 @@
1
- import { Directive, inject, input } from '@angular/core';
2
- import { AbstractSubscriptionDirective } from '../../../subscription';
3
- import { distinctUntilChanged, filter, switchMap, EMPTY } from 'rxjs';
4
- import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
5
- import { isNotFalse } from '@dereekb/util';
6
- import { toObservable } from '@angular/core/rxjs-interop';
7
- import * as i0 from "@angular/core";
8
- export class DbxActionAutoModifyDirective extends AbstractSubscriptionDirective {
9
- source = inject((DbxActionContextStoreSourceInstance), { host: true });
10
- autoModifyEnabled = input(true, { alias: 'dbxActionAutoModify', transform: isNotFalse });
11
- markAsModified$ = toObservable(this.autoModifyEnabled).pipe(distinctUntilChanged(), switchMap((x) => {
12
- let obs;
13
- if (x) {
14
- obs = this.source.isModified$.pipe(filter((x) => !x));
15
- }
16
- else {
17
- obs = EMPTY;
18
- }
19
- return obs;
20
- }));
21
- ngOnInit() {
22
- this.sub = this.markAsModified$.subscribe(() => {
23
- this.source.setIsModified(true);
24
- });
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoModifyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
27
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionAutoModifyDirective, isStandalone: true, selector: "dbxActionAutoModify, [dbxActionAutoModify]", inputs: { autoModifyEnabled: { classPropertyName: "autoModifyEnabled", publicName: "dbxActionAutoModify", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoModifyDirective, decorators: [{
30
- type: Directive,
31
- args: [{
32
- selector: 'dbxActionAutoModify, [dbxActionAutoModify]',
33
- standalone: true
34
- }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL2F1dG8vYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sNEJBQW1DLFNBQVEsNkJBQTZCO0lBQzFFLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxtQ0FBeUMsQ0FBQSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0UsaUJBQWlCLEdBQUcsS0FBSyxDQUE0QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDcEgsZUFBZSxHQUFxQixZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUNwRixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNkLElBQUksR0FBb0IsQ0FBQztRQUV6QixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F0QlUsNEJBQTRCOzRGQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztvQkFDdEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9uRGVzdHJveSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgc3dpdGNoTWFwLCBPYnNlcnZhYmxlLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IGlzTm90RmFsc2UgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZGJ4QWN0aW9uQXV0b01vZGlmeSwgW2RieEFjdGlvbkF1dG9Nb2RpZnldJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25BdXRvTW9kaWZ5RGlyZWN0aXZlPFQsIE8+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuICByZWFkb25seSBhdXRvTW9kaWZ5RW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIHN0cmluZyB8IGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdkYnhBY3Rpb25BdXRvTW9kaWZ5JywgdHJhbnNmb3JtOiBpc05vdEZhbHNlIH0pO1xuICByZWFkb25seSBtYXJrQXNNb2RpZmllZCQ6IE9ic2VydmFibGU8dm9pZD4gPSB0b09ic2VydmFibGUodGhpcy5hdXRvTW9kaWZ5RW5hYmxlZCkucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgICBpZiAoeCkge1xuICAgICAgICBvYnMgPSB0aGlzLnNvdXJjZS5pc01vZGlmaWVkJC5waXBlKGZpbHRlcigoeCkgPT4gIXgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9icyA9IEVNUFRZO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzO1xuICAgIH0pXG4gICk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLm1hcmtBc01vZGlmaWVkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2Uuc2V0SXNNb2RpZmllZCh0cnVlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19