@dereekb/dbx-firebase 11.1.8 → 12.0.1

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 (258) hide show
  1. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +25 -0
  2. package/esm2022/lib/analytics/analytics.user.events.service.mjs +37 -0
  3. package/esm2022/lib/analytics/analytics.user.source.mjs +4 -4
  4. package/esm2022/lib/analytics/index.mjs +3 -2
  5. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +6 -6
  6. package/esm2022/lib/auth/firebase.auth.module.mjs +11 -23
  7. package/esm2022/lib/auth/firebase.auth.providers.mjs +27 -0
  8. package/esm2022/lib/auth/index.mjs +2 -1
  9. package/esm2022/lib/auth/login/firebase.login.module.mjs +56 -201
  10. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +109 -0
  11. package/esm2022/lib/auth/login/firebase.login.providers.mjs +59 -0
  12. package/esm2022/lib/auth/login/index.mjs +2 -1
  13. package/esm2022/lib/auth/login/login.anonymous.component.mjs +9 -6
  14. package/esm2022/lib/auth/login/login.apple.component.mjs +9 -6
  15. package/esm2022/lib/auth/login/login.button.component.mjs +68 -49
  16. package/esm2022/lib/auth/login/login.component.mjs +21 -26
  17. package/esm2022/lib/auth/login/login.context.back.component.mjs +8 -5
  18. package/esm2022/lib/auth/login/login.context.directive.mjs +5 -4
  19. package/esm2022/lib/auth/login/login.email.component.mjs +9 -6
  20. package/esm2022/lib/auth/login/login.email.content.component.mjs +29 -28
  21. package/esm2022/lib/auth/login/login.email.form.component.mjs +17 -26
  22. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +11 -12
  23. package/esm2022/lib/auth/login/login.facebook.component.mjs +9 -6
  24. package/esm2022/lib/auth/login/login.github.component.mjs +9 -6
  25. package/esm2022/lib/auth/login/login.google.component.mjs +9 -6
  26. package/esm2022/lib/auth/login/login.list.component.mjs +45 -56
  27. package/esm2022/lib/auth/login/login.microsoft.component.mjs +9 -6
  28. package/esm2022/lib/auth/login/login.service.mjs +10 -13
  29. package/esm2022/lib/auth/login/login.terms.component.mjs +10 -8
  30. package/esm2022/lib/auth/login/login.terms.mjs +6 -3
  31. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +11 -9
  32. package/esm2022/lib/auth/login/login.twitter.component.mjs +9 -6
  33. package/esm2022/lib/auth/login/register.component.mjs +9 -7
  34. package/esm2022/lib/auth/login/register.email.component.mjs +11 -6
  35. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +1 -1
  36. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +1 -1
  37. package/esm2022/lib/auth/service/firebase.auth.service.mjs +4 -4
  38. package/esm2022/lib/development/development.directive.mjs +78 -0
  39. package/esm2022/lib/development/development.module.mjs +32 -70
  40. package/esm2022/lib/development/development.popup.component.mjs +13 -15
  41. package/esm2022/lib/development/development.popup.content.component.mjs +28 -19
  42. package/esm2022/lib/development/development.popup.content.form.component.mjs +11 -12
  43. package/esm2022/lib/development/development.providers.mjs +47 -0
  44. package/esm2022/lib/development/development.scheduler.list.component.mjs +32 -23
  45. package/esm2022/lib/development/development.scheduler.service.mjs +5 -8
  46. package/esm2022/lib/development/development.scheduler.widget.component.mjs +13 -10
  47. package/esm2022/lib/development/development.service.mjs +9 -20
  48. package/esm2022/lib/development/development.widget.service.mjs +7 -10
  49. package/esm2022/lib/development/index.mjs +3 -2
  50. package/esm2022/lib/firebase/emulators.mjs +1 -1
  51. package/esm2022/lib/firebase/firebase.emulator.module.mjs +9 -25
  52. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +33 -0
  53. package/esm2022/lib/firebase/firebase.emulator.service.mjs +5 -8
  54. package/esm2022/lib/firebase/firebase.module.mjs +11 -297
  55. package/esm2022/lib/firebase/firebase.options.environment.mjs +2 -0
  56. package/esm2022/lib/firebase/firebase.options.mjs +3 -0
  57. package/esm2022/lib/firebase/firebase.providers.mjs +149 -0
  58. package/esm2022/lib/firebase/index.mjs +5 -2
  59. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +4 -4
  60. package/esm2022/lib/firestore/firebase.firestore.module.mjs +9 -50
  61. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +67 -0
  62. package/esm2022/lib/firestore/index.mjs +2 -1
  63. package/esm2022/lib/function/firebase.function.module.mjs +8 -48
  64. package/esm2022/lib/function/firebase.function.providers.mjs +54 -0
  65. package/esm2022/lib/function/index.mjs +2 -1
  66. package/esm2022/lib/index.mjs +2 -1
  67. package/esm2022/lib/model/loader/collection.change.trigger.mjs +1 -1
  68. package/esm2022/lib/model/loader/collection.loader.instance.mjs +1 -1
  69. package/esm2022/lib/model/model.module.mjs +6 -6
  70. package/esm2022/lib/model/modules/model/history/index.mjs +7 -0
  71. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +36 -0
  72. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +26 -0
  73. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +40 -0
  74. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +36 -0
  75. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +18 -0
  76. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +58 -0
  77. package/esm2022/lib/model/modules/model/index.mjs +2 -7
  78. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +33 -28
  79. package/esm2022/lib/model/modules/model/model.types.module.mjs +17 -12
  80. package/esm2022/lib/model/modules/model/model.types.providers.mjs +20 -0
  81. package/esm2022/lib/model/modules/model/model.types.service.mjs +9 -14
  82. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +11 -13
  83. package/esm2022/lib/model/modules/store/model.store.module.mjs +6 -8
  84. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +3 -3
  85. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +4 -4
  86. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +5 -5
  87. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +6 -6
  88. package/esm2022/lib/model/modules/store/store.collection.mjs +3 -3
  89. package/esm2022/lib/model/modules/store/store.document.auth.directive.mjs +3 -3
  90. package/esm2022/lib/model/modules/store/store.document.crud.mjs +1 -1
  91. package/esm2022/lib/model/modules/store/store.document.directive.mjs +5 -5
  92. package/esm2022/lib/model/modules/store/store.document.mjs +6 -5
  93. package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +3 -3
  94. package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +4 -4
  95. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +3 -3
  96. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +3 -3
  97. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +3 -3
  98. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +4 -4
  99. package/esm2022/lib/model/modules/store/store.subcollection.mjs +6 -6
  100. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
  101. package/esm2022/lib/model/service/index.mjs +2 -1
  102. package/esm2022/lib/model/service/model.context.providers.mjs +32 -0
  103. package/esm2022/lib/model/service/model.context.service.mjs +1 -1
  104. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +4 -4
  105. package/esm2022/lib/model/system/systemstate.collection.store.mjs +4 -4
  106. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +5 -5
  107. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +4 -4
  108. package/esm2022/lib/model/system/systemstate.document.store.mjs +4 -4
  109. package/esm2022/lib/module.mjs +4 -4
  110. package/esm2022/lib/modules/notification/component/index.mjs +2 -1
  111. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +11 -17
  112. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +30 -21
  113. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +28 -35
  114. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +8 -6
  115. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +3 -3
  116. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +17 -21
  117. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +14 -26
  118. package/esm2022/lib/modules/notification/index.mjs +3 -1
  119. package/esm2022/lib/modules/notification/notification.module.mjs +33 -32
  120. package/esm2022/lib/modules/notification/notification.providers.mjs +47 -0
  121. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +3 -3
  122. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +5 -8
  123. package/esm2022/lib/modules/notification/store/index.mjs +6 -2
  124. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +4 -4
  125. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +7 -6
  126. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +4 -4
  127. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +7 -6
  128. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +4 -4
  129. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +7 -6
  130. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +4 -4
  131. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +7 -6
  132. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +4 -4
  133. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +7 -6
  134. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +4 -4
  135. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +7 -6
  136. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +4 -4
  137. package/esm2022/lib/pipe/key.pipe.mjs +7 -7
  138. package/esm2022/lib/pipe/pipe.module.mjs +4 -4
  139. package/esm2022/lib/providers.mjs +40 -0
  140. package/esm2022/lib/router/id.param.redirect.mjs +1 -1
  141. package/esm2022/lib/storage/firebase.storage.module.mjs +11 -34
  142. package/esm2022/lib/storage/firebase.storage.providers.mjs +43 -0
  143. package/esm2022/lib/storage/firebase.storage.service.mjs +3 -3
  144. package/esm2022/lib/storage/index.mjs +2 -1
  145. package/fesm2022/dereekb-dbx-firebase.mjs +1893 -1762
  146. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  147. package/lib/analytics/analytics.user.events.providers.d.ts +6 -0
  148. package/lib/analytics/{analytics.user.events.d.ts → analytics.user.events.service.d.ts} +5 -5
  149. package/lib/analytics/index.d.ts +2 -1
  150. package/lib/auth/firebase.auth.module.d.ts +6 -5
  151. package/lib/auth/firebase.auth.providers.d.ts +21 -0
  152. package/lib/auth/index.d.ts +1 -0
  153. package/lib/auth/login/_login.scss +3 -3
  154. package/lib/auth/login/firebase.login.module.d.ts +8 -21
  155. package/lib/auth/login/firebase.login.providers.d.ts +32 -0
  156. package/lib/auth/login/firebase.login.providers.default.d.ts +7 -0
  157. package/lib/auth/login/index.d.ts +1 -0
  158. package/lib/auth/login/login.anonymous.component.d.ts +2 -2
  159. package/lib/auth/login/login.apple.component.d.ts +2 -2
  160. package/lib/auth/login/login.button.component.d.ts +19 -14
  161. package/lib/auth/login/login.component.d.ts +6 -6
  162. package/lib/auth/login/login.context.back.component.d.ts +1 -1
  163. package/lib/auth/login/login.context.directive.d.ts +1 -1
  164. package/lib/auth/login/login.email.component.d.ts +1 -1
  165. package/lib/auth/login/login.email.content.component.d.ts +10 -9
  166. package/lib/auth/login/login.email.form.component.d.ts +5 -8
  167. package/lib/auth/login/login.email.recovery.form.component.d.ts +1 -1
  168. package/lib/auth/login/login.facebook.component.d.ts +2 -2
  169. package/lib/auth/login/login.github.component.d.ts +2 -2
  170. package/lib/auth/login/login.google.component.d.ts +2 -2
  171. package/lib/auth/login/login.list.component.d.ts +11 -17
  172. package/lib/auth/login/login.microsoft.component.d.ts +2 -2
  173. package/lib/auth/login/login.service.d.ts +3 -3
  174. package/lib/auth/login/login.terms.component.d.ts +1 -1
  175. package/lib/auth/login/login.terms.d.ts +17 -3
  176. package/lib/auth/login/login.terms.simple.component.d.ts +2 -3
  177. package/lib/auth/login/login.twitter.component.d.ts +2 -2
  178. package/lib/auth/login/register.component.d.ts +1 -1
  179. package/lib/auth/login/register.email.component.d.ts +1 -1
  180. package/lib/development/{development.popup.directive.d.ts → development.directive.d.ts} +2 -2
  181. package/lib/development/development.module.d.ts +2 -19
  182. package/lib/development/development.popup.component.d.ts +2 -2
  183. package/lib/development/development.popup.content.component.d.ts +10 -6
  184. package/lib/development/development.popup.content.form.component.d.ts +1 -1
  185. package/lib/development/development.providers.d.ts +32 -0
  186. package/lib/development/development.scheduler.list.component.d.ts +3 -3
  187. package/lib/development/development.scheduler.service.d.ts +4 -4
  188. package/lib/development/development.scheduler.widget.component.d.ts +1 -1
  189. package/lib/development/development.service.d.ts +2 -3
  190. package/lib/development/index.d.ts +2 -1
  191. package/lib/firebase/emulators.d.ts +21 -19
  192. package/lib/firebase/firebase.emulator.module.d.ts +2 -0
  193. package/lib/firebase/firebase.emulator.providers.d.ts +13 -0
  194. package/lib/firebase/firebase.module.d.ts +5 -51
  195. package/lib/firebase/{options.d.ts → firebase.options.d.ts} +11 -9
  196. package/lib/firebase/firebase.options.environment.d.ts +10 -0
  197. package/lib/firebase/firebase.providers.d.ts +51 -0
  198. package/lib/firebase/index.d.ts +4 -1
  199. package/lib/firestore/firebase.firestore.module.d.ts +4 -20
  200. package/lib/firestore/firebase.firestore.providers.d.ts +49 -0
  201. package/lib/firestore/index.d.ts +1 -0
  202. package/lib/function/firebase.function.module.d.ts +4 -20
  203. package/lib/function/firebase.function.providers.d.ts +43 -0
  204. package/lib/function/index.d.ts +1 -0
  205. package/lib/index.d.ts +1 -0
  206. package/lib/model/loader/document.loader.instance.d.ts +1 -1
  207. package/lib/model/model.module.d.ts +1 -1
  208. package/lib/model/modules/model/history/index.d.ts +6 -0
  209. package/lib/model/modules/model/history/model.history.component.d.ts +16 -0
  210. package/lib/model/modules/model/history/model.history.module.d.ts +16 -0
  211. package/lib/model/modules/model/{model.history.popover.button.component.d.ts → history/model.history.popover.button.component.d.ts} +7 -6
  212. package/lib/model/modules/model/{model.history.popover.component.d.ts → history/model.history.popover.component.d.ts} +18 -17
  213. package/lib/model/modules/model/{model.sourceselect.history.d.ts → history/model.sourceselect.history.d.ts} +5 -5
  214. package/lib/model/modules/model/{model.tracker.service.d.ts → history/model.tracker.service.d.ts} +6 -6
  215. package/lib/model/modules/model/index.d.ts +1 -6
  216. package/lib/model/modules/model/model.types.list.component.d.ts +12 -12
  217. package/lib/model/modules/model/model.types.module.d.ts +9 -3
  218. package/lib/model/modules/model/model.types.providers.d.ts +22 -0
  219. package/lib/model/modules/model/model.types.service.d.ts +6 -3
  220. package/lib/model/modules/model/model.types.view.directive.d.ts +5 -5
  221. package/lib/model/modules/store/model.store.module.d.ts +7 -9
  222. package/lib/model/modules/store/store.document.router.key.directive.d.ts +2 -1
  223. package/lib/model/service/index.d.ts +1 -0
  224. package/lib/model/service/model.context.providers.d.ts +18 -0
  225. package/lib/modules/notification/component/index.d.ts +1 -0
  226. package/lib/modules/notification/component/notificationitem.content.component.d.ts +4 -4
  227. package/lib/modules/notification/component/notificationitem.list.component.d.ts +3 -3
  228. package/lib/modules/notification/component/notificationitem.view.component.d.ts +4 -9
  229. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +1 -1
  230. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +4 -4
  231. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +7 -7
  232. package/lib/modules/notification/index.d.ts +2 -0
  233. package/lib/modules/notification/notification.module.d.ts +18 -10
  234. package/lib/modules/notification/notification.providers.d.ts +24 -0
  235. package/lib/modules/notification/store/index.d.ts +5 -1
  236. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +1 -1
  237. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +1 -1
  238. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +1 -1
  239. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +1 -1
  240. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +1 -1
  241. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +1 -1
  242. package/lib/providers.d.ts +55 -0
  243. package/lib/storage/firebase.storage.module.d.ts +6 -9
  244. package/lib/storage/firebase.storage.providers.d.ts +31 -0
  245. package/lib/storage/index.d.ts +1 -0
  246. package/lib/style/_theming.scss +1 -1
  247. package/package.json +8 -8
  248. package/esm2022/lib/analytics/analytics.user.events.mjs +0 -40
  249. package/esm2022/lib/development/development.popup.directive.mjs +0 -77
  250. package/esm2022/lib/firebase/options.mjs +0 -3
  251. package/esm2022/lib/model/modules/model/model.history.component.mjs +0 -46
  252. package/esm2022/lib/model/modules/model/model.history.module.mjs +0 -23
  253. package/esm2022/lib/model/modules/model/model.history.popover.button.component.mjs +0 -44
  254. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +0 -47
  255. package/esm2022/lib/model/modules/model/model.sourceselect.history.mjs +0 -18
  256. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +0 -58
  257. package/lib/model/modules/model/model.history.component.d.ts +0 -19
  258. package/lib/model/modules/model/model.history.module.d.ts +0 -12
@@ -62,12 +62,12 @@ export class DbxFirebaseDocumentStoreDirective {
62
62
  set streamMode(streamMode) {
63
63
  useFirst(this.store$, (x) => x.setStreamMode(streamMode));
64
64
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", flatKey: "flatKey", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
66
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", flatKey: "flatKey", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
69
69
  type: Directive
70
- }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { documentId: [{
70
+ }], ctorParameters: () => [{ type: undefined }], propDecorators: { documentId: [{
71
71
  type: Input
72
72
  }], key: [{
73
73
  type: Input
@@ -92,4 +92,4 @@ export function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType)
92
92
  }
93
93
  return providers;
94
94
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQXFCLDJCQUEyQixFQUF1RixNQUFNLG1CQUFtQixDQUFDO0FBR3hLLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFjLFdBQVcsRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBdUUsdUNBQXVDLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHM0w7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGlDQUFpQztJQUNwQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsU0FBUyxDQUFDLENBQUM7SUFFMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpELE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVELHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUVwRixHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVsRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM1RCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFFcEYsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsS0FBSyxHQUFH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LFNBQVMsR0FBZTtRQUM1QjtZQUNFLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7UUFDRCxHQUFHLHVDQUF1QyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxHQUFHLHdDQUF3QyxDQUFDLFVBQVUsQ0FBQztLQUN4RCxDQUFDO0lBRUYsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO1FBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDM0I7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95LCBQcm92aWRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9jdW1lbnRSZWZlcmVuY2UsIEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZSwgRmlyZXN0b3JlRG9jdW1lbnQsIEZpcmVzdG9yZU1vZGVsS2V5LCBGaXJlc3RvcmVNb2RlbElkLCBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXkgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBNb2RlbEtleSwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0LCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCB1c2VGaXJzdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4Um91dGVNb2RlbElkRGlyZWN0aXZlRGVsZWdhdGUsIERieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmVEZWxlZ2F0ZSwgcHJvdmlkZURieFJvdXRlTW9kZWxJZERpcmVjdGl2ZURlbGVnYXRlLCBwcm92aWRlRGJ4Um91dGVNb2RlbEtleURpcmVjdGl2ZURlbGVnYXRlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlVHdvV2F5S2V5UHJvdmlkZXIgfSBmcm9tICcuL3N0b3JlLmRvY3VtZW50LnR3b3dheS5rZXkuc291cmNlJztcblxuLyoqXG4gKiBBYnN0cmFjdCBkaXJlY3RpdmUgdGhhdCBjb250YWlucyBhIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSBhbmQgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBjb21tdW5pY2F0aW5nIHdpdGggb3RoZXIgZGlyZWN0aXZlcy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFQgPSB1bmtub3duLCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEPj4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVUd29XYXlLZXlQcm92aWRlciwgRGJ4Um91dGVNb2RlbElkRGlyZWN0aXZlRGVsZWdhdGUsIERieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmVEZWxlZ2F0ZSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPFM+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHN0b3JlJCA9IHRoaXMuX3N0b3JlLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGV4aXN0cyQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5leGlzdHMkKSk7XG4gIHJlYWRvbmx5IGRvY3VtZW50JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmRvY3VtZW50JCkpO1xuICByZWFkb25seSBkb2N1bWVudExvYWRpbmdTdGF0ZSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5kb2N1bWVudExvYWRpbmdTdGF0ZSQpKTtcblxuICByZWFkb25seSBpZCQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5pZCQpKTtcbiAgcmVhZG9ubHkga2V5JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmtleSQpKTtcbiAgcmVhZG9ubHkgdHdvV2F5RmxhdEtleSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC50d29XYXlGbGF0S2V5JCkpO1xuICByZWFkb25seSByZWYkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgucmVmJCkpO1xuXG4gIHJlYWRvbmx5IHNuYXBzaG90JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LnNuYXBzaG90JCkpO1xuICByZWFkb25seSBzbmFwc2hvdExvYWRpbmdTdGF0ZSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5zbmFwc2hvdExvYWRpbmdTdGF0ZSQpKTtcblxuICByZWFkb25seSBtb2RlbElkZW50aXR5JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4Lm1vZGVsSWRlbnRpdHkkKSk7XG4gIHJlYWRvbmx5IGRhdGEkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZGF0YSQpKTtcbiAgcmVhZG9ubHkgbG9hZGluZ1N0YXRlJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmRhdGFMb2FkaW5nU3RhdGUkKSk7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFMpIHtcbiAgICB0aGlzLnJlcGxhY2VTdG9yZShzdG9yZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IHN0b3JlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS52YWx1ZSBhcyBTO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBpbnRlcm5hbCBzdG9yZS5cbiAgICovXG4gIHJlcGxhY2VTdG9yZShzdG9yZTogUykge1xuICAgIHRoaXMuX3N0b3JlLm5leHQoc3RvcmUpO1xuICB9XG5cbiAgLy8gTUFSSzogRGJ4Um91dGVNb2RlbElkRGlyZWN0aXZlRGVsZWdhdGVcbiAgdXNlUm91dGVNb2RlbElkUGFyYW1zT2JzZXJ2YWJsZShpZEZyb21QYXJhbXM6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+Pik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh4KSA9PiB4LnNldElkKGlkRnJvbVBhcmFtcykpO1xuICB9XG5cbiAgLy8gTUFSSzogRGJ4Um91dGVNb2RlbEtleURpcmVjdGl2ZURlbGVnYXRlXG4gIHVzZVJvdXRlTW9kZWxLZXlQYXJhbXNPYnNlcnZhYmxlKGtleUZyb21QYXJhbXM6IE9ic2VydmFibGU8TWF5YmU8VHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5Pj4pOiBTdWJzY3JpcHRpb24ge1xuICAgIC8vIHdlIGFzc3VtZSB0aGF0IHRoZSBpbnB1dCBtb2RlbCBrZXkgaXMgYSBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXksIHNpbmNlIHRoZSBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXkgaXMgc2FmZSB0byBlbmNvZGUgaW4gdGhlIHVybFxuICAgIHJldHVybiB0aGlzLnN0b3JlJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoeCkgPT4geC5zZXRGbGF0S2V5KGtleUZyb21QYXJhbXMpKTtcbiAgfVxuXG4gIC8vIE1BUks6IElucHV0c1xuICBASW5wdXQoKVxuICBzZXQgZG9jdW1lbnRJZChkb2N1bWVudElkOiBNYXliZTxGaXJlc3RvcmVNb2RlbElkPikge1xuICAgIHVzZUZpcnN0KHRoaXMuc3RvcmUkLCAoeCkgPT4geC5zZXRJZChkb2N1bWVudElkKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQga2V5KGtleTogTWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+KSB7XG4gICAgdXNlRmlyc3QodGhpcy5zdG9yZSQsICh4KSA9PiB4LnNldEtleShrZXkpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBmbGF0S2V5KGZsYXRLZXk6IE1heWJlPFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleT4pIHtcbiAgICB1c2VGaXJzdCh0aGlzLnN0b3JlJCwgKHgpID0+IHguc2V0RmxhdEtleShmbGF0S2V5KSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVmKHJlZjogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+KSB7XG4gICAgdXNlRmlyc3QodGhpcy5zdG9yZSQsICh4KSA9PiB4LnNldFJlZihyZWYpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzdHJlYW1Nb2RlKHN0cmVhbU1vZGU6IEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZSkge1xuICAgIHVzZUZpcnN0KHRoaXMuc3RvcmUkLCAoeCkgPT4geC5zZXRTdHJlYW1Nb2RlKHN0cmVhbU1vZGUpKTtcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vLyBUaGUgdXNlIG9mIGFueSBoZXJlIGRvZXMgbm90IGRlZ3JhZGUgdGhlIHR5cGUtc2FmZXR5OyB3ZSB3YW50IHRvIHNpbXBseSBtYXRjaCB0aGF0IHRoZSBTdG9yZSB0eXBlIFMgaXMgdXNlZCBpbiB0aGUgRGlyZWN0aXZlIHR5cGUgQyB0byBwcm92aWRlIGl0LlxuXG4vKipcbiAqIENvbmZpZ3VyZXMgcHJvdmlkZXJzIGZvciBhIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZS5cbiAqXG4gKiBDYW4gb3B0aW9uYWxseSBhbHNvIHByb3ZpZGUgdGhlIGFjdHVhbCBzdG9yZSB0eXBlIHRvIGluY2x1ZGUgaW4gdGhlIHByb3ZpZGVycyBhcnJheSBzbyBpdCBpcyBpbnN0YW50aWF0ZWQgYnkgQW5ndWxhci5cbiAqXG4gKiBAcGFyYW0gc291cmNlVHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBhbnk+Pihzb3VyY2VUeXBlOiBUeXBlPFM+KTogUHJvdmlkZXJbXTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8YW55LCBhbnk+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPiA9IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4+KHNvdXJjZVR5cGU6IFR5cGU8Qz4sIHN0b3JlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW107XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU/OiBUeXBlPFM+KTogUHJvdmlkZXJbXSB7XG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICAgIH0sXG4gICAgLi4ucHJvdmlkZURieFJvdXRlTW9kZWxJZERpcmVjdGl2ZURlbGVnYXRlKHNvdXJjZVR5cGUpLFxuICAgIC4uLnByb3ZpZGVEYnhSb3V0ZU1vZGVsS2V5RGlyZWN0aXZlRGVsZWdhdGUoc291cmNlVHlwZSlcbiAgXTtcblxuICBpZiAoc3RvcmVUeXBlICE9IG51bGwpIHtcbiAgICBwcm92aWRlcnMucHVzaChzdG9yZVR5cGUpO1xuICB9XG5cbiAgcmV0dXJuIHByb3ZpZGVycztcbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQXFCLDJCQUEyQixFQUF1RixNQUFNLG1CQUFtQixDQUFDO0FBR3hLLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFjLFdBQVcsRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBdUUsdUNBQXVDLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHM0w7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGlDQUFpQztJQUNwQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsU0FBUyxDQUFDLENBQUM7SUFFMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpELE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVELHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUVwRixHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVsRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM1RCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFFcEYsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsS0FBSyxHQUFH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LFNBQVMsR0FBZTtRQUM1QjtZQUNFLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7UUFDRCxHQUFHLHVDQUF1QyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxHQUFHLHdDQUF3QyxDQUFDLFVBQVUsQ0FBQztLQUN4RCxDQUFDO0lBRUYsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlLCBGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGUsIEZpcmVzdG9yZURvY3VtZW50LCBGaXJlc3RvcmVNb2RlbEtleSwgRmlyZXN0b3JlTW9kZWxJZCwgVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgTW9kZWxLZXksIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3RvcmUuZG9jdW1lbnQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgdXNlRmlyc3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieFJvdXRlTW9kZWxJZERpcmVjdGl2ZURlbGVnYXRlLCBEYnhSb3V0ZU1vZGVsS2V5RGlyZWN0aXZlRGVsZWdhdGUsIHByb3ZpZGVEYnhSb3V0ZU1vZGVsSWREaXJlY3RpdmVEZWxlZ2F0ZSwgcHJvdmlkZURieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmVEZWxlZ2F0ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZVR3b1dheUtleVByb3ZpZGVyIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC50d293YXkua2V5LnNvdXJjZSc7XG5cbi8qKlxuICogQWJzdHJhY3QgZGlyZWN0aXZlIHRoYXQgY29udGFpbnMgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgYW5kIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgY29tbXVuaWNhdGluZyB3aXRoIG90aGVyIGRpcmVjdGl2ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxUID0gdW5rbm93biwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4+IGltcGxlbWVudHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlVHdvV2F5S2V5UHJvdmlkZXIsIERieFJvdXRlTW9kZWxJZERpcmVjdGl2ZURlbGVnYXRlLCBEYnhSb3V0ZU1vZGVsS2V5RGlyZWN0aXZlRGVsZWdhdGUsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxTPj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBzdG9yZSQgPSB0aGlzLl9zdG9yZS5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBleGlzdHMkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZXhpc3RzJCkpO1xuICByZWFkb25seSBkb2N1bWVudCQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5kb2N1bWVudCQpKTtcbiAgcmVhZG9ubHkgZG9jdW1lbnRMb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZG9jdW1lbnRMb2FkaW5nU3RhdGUkKSk7XG5cbiAgcmVhZG9ubHkgaWQkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguaWQkKSk7XG4gIHJlYWRvbmx5IGtleSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5rZXkkKSk7XG4gIHJlYWRvbmx5IHR3b1dheUZsYXRLZXkkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgudHdvV2F5RmxhdEtleSQpKTtcbiAgcmVhZG9ubHkgcmVmJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LnJlZiQpKTtcblxuICByZWFkb25seSBzbmFwc2hvdCQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5zbmFwc2hvdCQpKTtcbiAgcmVhZG9ubHkgc25hcHNob3RMb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguc25hcHNob3RMb2FkaW5nU3RhdGUkKSk7XG5cbiAgcmVhZG9ubHkgbW9kZWxJZGVudGl0eSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5tb2RlbElkZW50aXR5JCkpO1xuICByZWFkb25seSBkYXRhJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmRhdGEkKSk7XG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5kYXRhTG9hZGluZ1N0YXRlJCkpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTKSB7XG4gICAgdGhpcy5yZXBsYWNlU3RvcmUoc3RvcmUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RvcmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBzdG9yZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUudmFsdWUgYXMgUztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgaW50ZXJuYWwgc3RvcmUuXG4gICAqL1xuICByZXBsYWNlU3RvcmUoc3RvcmU6IFMpIHtcbiAgICB0aGlzLl9zdG9yZS5uZXh0KHN0b3JlKTtcbiAgfVxuXG4gIC8vIE1BUks6IERieFJvdXRlTW9kZWxJZERpcmVjdGl2ZURlbGVnYXRlXG4gIHVzZVJvdXRlTW9kZWxJZFBhcmFtc09ic2VydmFibGUoaWRGcm9tUGFyYW1zOiBPYnNlcnZhYmxlPE1heWJlPE1vZGVsS2V5Pj4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoeCkgPT4geC5zZXRJZChpZEZyb21QYXJhbXMpKTtcbiAgfVxuXG4gIC8vIE1BUks6IERieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmVEZWxlZ2F0ZVxuICB1c2VSb3V0ZU1vZGVsS2V5UGFyYW1zT2JzZXJ2YWJsZShrZXlGcm9tUGFyYW1zOiBPYnNlcnZhYmxlPE1heWJlPFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleT4+KTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyB3ZSBhc3N1bWUgdGhhdCB0aGUgaW5wdXQgbW9kZWwga2V5IGlzIGEgVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5LCBzaW5jZSB0aGUgVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5IGlzIHNhZmUgdG8gZW5jb2RlIGluIHRoZSB1cmxcbiAgICByZXR1cm4gdGhpcy5zdG9yZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHgpID0+IHguc2V0RmxhdEtleShrZXlGcm9tUGFyYW1zKSk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnB1dHNcbiAgQElucHV0KClcbiAgc2V0IGRvY3VtZW50SWQoZG9jdW1lbnRJZDogTWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4pIHtcbiAgICB1c2VGaXJzdCh0aGlzLnN0b3JlJCwgKHgpID0+IHguc2V0SWQoZG9jdW1lbnRJZCkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGtleShrZXk6IE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5Pikge1xuICAgIHVzZUZpcnN0KHRoaXMuc3RvcmUkLCAoeCkgPT4geC5zZXRLZXkoa2V5KSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZmxhdEtleShmbGF0S2V5OiBNYXliZTxUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXk+KSB7XG4gICAgdXNlRmlyc3QodGhpcy5zdG9yZSQsICh4KSA9PiB4LnNldEZsYXRLZXkoZmxhdEtleSkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJlZihyZWY6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+Pikge1xuICAgIHVzZUZpcnN0KHRoaXMuc3RvcmUkLCAoeCkgPT4geC5zZXRSZWYocmVmKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc3RyZWFtTW9kZShzdHJlYW1Nb2RlOiBGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGUpIHtcbiAgICB1c2VGaXJzdCh0aGlzLnN0b3JlJCwgKHgpID0+IHguc2V0U3RyZWFtTW9kZShzdHJlYW1Nb2RlKSk7XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLy8gVGhlIHVzZSBvZiBhbnkgaGVyZSBkb2VzIG5vdCBkZWdyYWRlIHRoZSB0eXBlLXNhZmV0eTsgd2Ugd2FudCB0byBzaW1wbHkgbWF0Y2ggdGhhdCB0aGUgU3RvcmUgdHlwZSBTIGlzIHVzZWQgaW4gdGhlIERpcmVjdGl2ZSB0eXBlIEMgdG8gcHJvdmlkZSBpdC5cblxuLyoqXG4gKiBDb25maWd1cmVzIHByb3ZpZGVycyBmb3IgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUuXG4gKlxuICogQ2FuIG9wdGlvbmFsbHkgYWxzbyBwcm92aWRlIHRoZSBhY3R1YWwgc3RvcmUgdHlwZSB0byBpbmNsdWRlIGluIHRoZSBwcm92aWRlcnMgYXJyYXkgc28gaXQgaXMgaW5zdGFudGlhdGVkIGJ5IEFuZ3VsYXIuXG4gKlxuICogQHBhcmFtIHNvdXJjZVR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8UyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgYW55Pj4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW107XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdO1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8UyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPj4oc291cmNlVHlwZTogVHlwZTxDPiwgc3RvcmVUeXBlPzogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgICB9LFxuICAgIC4uLnByb3ZpZGVEYnhSb3V0ZU1vZGVsSWREaXJlY3RpdmVEZWxlZ2F0ZShzb3VyY2VUeXBlKSxcbiAgICAuLi5wcm92aWRlRGJ4Um91dGVNb2RlbEtleURpcmVjdGl2ZURlbGVnYXRlKHNvdXJjZVR5cGUpXG4gIF07XG5cbiAgaWYgKHN0b3JlVHlwZSAhPSBudWxsKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goc3RvcmVUeXBlKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlcnM7XG59XG4iXX0=
@@ -111,10 +111,10 @@ export class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
111
111
  clearRefs = this.updater((state) => ({ ...state, id: undefined, key: undefined, ref: undefined }));
112
112
  setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
113
113
  setFirestoreCollectionLike = this.updater((state, firestoreCollectionLike) => ({ ...state, firestoreCollectionLike }));
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
115
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
115
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
118
118
  type: Injectable
119
119
  }] });
120
120
  function injectSingleItemIdIntoState(state) {
@@ -129,7 +129,7 @@ function injectSingleItemIdIntoState(state) {
129
129
  /**
130
130
  * AbstractDbxFirebaseDocumentWithParentStore extension for use with RootSingleItemFirestoreCollection.
131
131
  */
132
- export let AbstractRootSingleItemDbxFirebaseDocument = class AbstractRootSingleItemDbxFirebaseDocument extends AbstractDbxFirebaseDocumentStore {
132
+ let AbstractRootSingleItemDbxFirebaseDocument = class AbstractRootSingleItemDbxFirebaseDocument extends AbstractDbxFirebaseDocumentStore {
133
133
  constructor(initialState) {
134
134
  super(injectSingleItemIdIntoState(initialState));
135
135
  }
@@ -175,4 +175,5 @@ AbstractRootSingleItemDbxFirebaseDocument = __decorate([
175
175
  __param(0, Optional()),
176
176
  __metadata("design:paramtypes", [Object])
177
177
  ], AbstractRootSingleItemDbxFirebaseDocument);
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsSSxPQUFPLEVBVUwsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUUxQiwyQkFBMkIsRUFFM0Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFHdkMscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQixzQ0FBc0MsRUFDdEMscUJBQXFCLEVBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25LLE9BQU8sRUFBUyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUEwRnJELE1BQU0sT0FBTyxnQ0FBOEwsU0FBUSxxQkFBd0I7SUFDek8sZ0JBQWdCO0lBRWhCLGtCQUFrQjtJQUNULCtCQUErQixHQUFxRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJB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Q0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQW1GLENBQUM7SUFDaE8sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBdUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLHVDQUF1QyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQW1GLENBQUM7SUFDNVIsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQStHLENBQUM7SUFFL1AsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBdUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3RyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5HLHNCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsbUJBQXFELEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3SSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLHVCQUE2RCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0dBek4zSixnQ0FBZ0M7NEdBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFENUMsVUFBVTs7QUE2TlgsU0FBUywyQkFBMkIsQ0FBOEosS0FBcUI7SUFDck4sTUFBTSxFQUFFLEdBQUksS0FBSyxFQUFFLG1CQUErRCxFQUFFLG9CQUFvQixDQUFDO0lBRXpHLElBQUksS0FBSyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDdkIsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsV0FBYSx5Q0FBeUMsR0FBdEQsTUFBYSx5Q0FBdU0sU0FBUSxnQ0FBeUM7SUFDblEsWUFBZ0QsWUFBZ0I7UUFDOUQsS0FBSyxDQUFDLDJCQUEyQixDQUFVLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ2Usc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxtQkFBcUQsRUFBRSxFQUFFO1FBQ3ZILElBQUksbUJBQW1CLElBQUksSUFBSSxFQUFFO1lBQy9CLE1BQU0sRUFBRSxHQUFJLG1CQUErRCxDQUFDLG9CQUFvQixDQUFDO1lBRWpHLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDZCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUM7YUFDOUM7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw2SkFBNkosQ0FBQyxDQUFDO2FBQ2hMO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNoRDtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7T0FJRztJQUNlLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQTJCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBbUYsQ0FBQztJQUV4Szs7OztPQUlHO0lBQ2UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBNkIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFtRixDQUFDO0lBRTNLOzs7O09BSUc7SUFDZSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFnQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQStHLENBQUM7SUFFeEwsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0NBQzlELENBQUE7QUE1Q1kseUNBQXlDO0lBQzdCLFdBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQUUsV0FBQSxRQUFRLEVBQUUsQ0FBQTs7R0FEcEMseUNBQXlDLENBNENyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzd2l0Y2hNYXAsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiwgb2YsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERvY3VtZW50U25hcHNob3QsXG4gIERvY3VtZW50UmVmZXJlbmNlLFxuICBGaXJlc3RvcmVDb2xsZWN0aW9uLFxuICBGaXJlc3RvcmVEb2N1bWVudCxcbiAgRG9jdW1lbnREYXRhV2l0aElkQW5kS2V5LFxuICBGaXJlc3RvcmVNb2RlbElkLFxuICBGaXJlc3RvcmVNb2RlbEtleSxcbiAgRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UsXG4gIEZpcmVzdG9yZU1vZGVsSWRlbnRpdHksXG4gIGZpcmVzdG9yZU1vZGVsSWRzRnJvbUtleSxcbiAgZmlyZXN0b3JlTW9kZWxLZXlQYXJ0UGFpcnMsXG4gIEZpcmVzdG9yZU1vZGVsQ29sbGVjdGlvbkFuZElkUGFpcixcbiAgZmlyZXN0b3JlTW9kZWxLZXlQYWlyT2JqZWN0LFxuICBGaXJlc3RvcmVNb2RlbENvbGxlY3Rpb25BbmRJZFBhaXJPYmplY3QsXG4gIGRvY3VtZW50RGF0YVdpdGhJZEFuZEtleSxcbiAgRmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlLFxuICBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXksXG4gIGluZmVyS2V5RnJvbVR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleSxcbiAgUm9vdFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uLFxuICBGbGF0RmlyZXN0b3JlTW9kZWxLZXksXG4gIGZsYXRGaXJlc3RvcmVNb2RlbEtleSxcbiAgdHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5LFxuICBGSVJFU1RPUkVfUEVSTUlTU0lPTl9ERU5JRURfRVJST1JfQ09ERSxcbiAgaXNDbGllbnRGaXJlYmFzZUVycm9yXG59IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIGJlZ2luTG9hZGluZywgc3VjY2Vzc1Jlc3VsdCwgbG9hZGluZ1N0YXRlRnJvbU9icywgZXJyb3JSZXN1bHQsIE9ic2VydmFibGVPclZhbHVlLCBpc0xvYWRpbmdTdGF0ZUxvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlLCBpc01heWJlU28gfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IExvY2tTZXRDb21wb25lbnQsIExvY2tTZXRDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IG1vZGVsRG9lc05vdEV4aXN0RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+PiBleHRlbmRzIExvY2tTZXRDb21wb25lbnQge1xuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+O1xuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PjtcblxuICByZWFkb25seSBjdXJyZW50SW5wdXRJZCQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4+O1xuICByZWFkb25seSBpbnB1dElkJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbElkPjtcbiAgcmVhZG9ubHkgY3VycmVudElucHV0S2V5JDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVNb2RlbEtleT4+O1xuICByZWFkb25seSBpbnB1dEtleSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxLZXk+O1xuICByZWFkb25seSBjdXJyZW50SW5wdXRSZWYkOiBPYnNlcnZhYmxlPE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+Pj47XG4gIHJlYWRvbmx5IGlucHV0UmVmJDogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZTxUPj47XG5cbiAgcmVhZG9ubHkgc3RyZWFtTW9kZSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlPjtcblxuICByZWFkb25seSBjdXJyZW50RG9jdW1lbnQkOiBPYnNlcnZhYmxlPE1heWJlPEQ+PjtcbiAgcmVhZG9ubHkgZG9jdW1lbnQkOiBPYnNlcnZhYmxlPEQ+O1xuICByZWFkb25seSBpZCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZD47XG4gIHJlYWRvbmx5IGtleSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxLZXk+O1xuICByZWFkb25seSByZWYkOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPFQ+PjtcbiAgcmVhZG9ubHkgaGFzUmVmJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgZmxhdEtleSQ6IE9ic2VydmFibGU8RmxhdEZpcmVzdG9yZU1vZGVsS2V5PjtcbiAgcmVhZG9ubHkgdHdvV2F5RmxhdEtleSQ6IE9ic2VydmFibGU8VHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5PjtcblxuICByZWFkb25seSBrZXlNb2RlbElkcyQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZFtdPjtcbiAgcmVhZG9ubHkga2V5UGFpcnMkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsQ29sbGVjdGlvbkFuZElkUGFpcltdPjtcbiAgcmVhZG9ubHkga2V5UGFpck9iamVjdCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxDb2xsZWN0aW9uQW5kSWRQYWlyT2JqZWN0PjtcblxuICByZWFkb25seSBkb2N1bWVudExvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPEQ+PjtcbiAgcmVhZG9ubHkgc25hcHNob3QkOiBPYnNlcnZhYmxlPERvY3VtZW50U25hcHNob3Q8VD4+O1xuICByZWFkb25seSBzbmFwc2hvdExvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPERvY3VtZW50U25hcHNob3Q8VD4+PjtcbiAgcmVhZG9ubHkgY3VycmVudERhdGEkOiBPYnNlcnZhYmxlPE1heWJlPERvY3VtZW50RGF0YVdpdGhJZEFuZEtleTxUPj4+O1xuICByZWFkb25seSBkYXRhJDogT2JzZXJ2YWJsZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+O1xuICByZWFkb25seSBkYXRhTG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8RG9jdW1lbnREYXRhV2l0aElkQW5kS2V5PFQ+Pj47XG4gIHJlYWRvbmx5IGlzTG9hZGluZ0RhdGEkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICByZWFkb25seSBjdXJyZW50RXhpc3RzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgZXhpc3RzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgbW9kZWxJZGVudGl0eSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZGVudGl0eT47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGlkIG9mIHRoZSBkb2N1bWVudCB0byBsb2FkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0SWQ6IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGtleSBvZiB0aGUgZG9jdW1lbnQgdG8gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldEtleTogKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxGaXJlc3RvcmVNb2RlbEtleT4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGtleSBvZiB0aGUgZG9jdW1lbnQgdG8gbG9hZCB1c2luZyBhIFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleS5cbiAgICovXG4gIHJlYWRvbmx5IHNldEZsYXRLZXk6IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8VHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5Pj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgcmVmIG9mIHRoZSBkb2N1bWVudCB0byBsb2FkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0UmVmOiAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+Pj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBrZXkvaWQvcmVmIGFuZCBjdXJyZW50IGRvY3VtZW50IGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYXJSZWZzOiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdHJlYW0gbW9kZS5cbiAgICovXG4gIHJlYWRvbmx5IHNldFN0cmVhbU1vZGU6IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8RmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlPikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uIHRvIHJldHJpZXZlIGRvY3VtZW50cyBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbjogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4+KSA9PiBTdWJzY3JpcHRpb24pO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSB0byByZXRyaWV2ZSBkb2N1bWVudHMgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHNldEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlOiAoKCkgPT4gdm9pZCkgfCAoKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj4+KSA9PiBTdWJzY3JpcHRpb24pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPj4ge1xuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uTGlrZT86IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+PjtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29sbGVjdGlvbj86IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb248VCwgRD4+O1xuICByZWFkb25seSBzdHJlYW1Nb2RlPzogRmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlO1xuICByZWFkb25seSBpZD86IE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+O1xuICByZWFkb25seSBrZXk/OiBNYXliZTxGaXJlc3RvcmVNb2RlbEtleT47XG4gIHJlYWRvbmx5IHJlZj86IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+PiBleHRlbmRzIExvY2tTZXRDb21wb25lbnRTdG9yZTxDPiBpbXBsZW1lbnRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEPiB7XG4gIC8vIE1BUks6IEVmZmVjdHNcblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgY3VycmVudEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlJDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZmlyZXN0b3JlQ29sbGVjdGlvbiA/PyB4LmZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudEZpcmVzdG9yZUNvbGxlY3Rpb24kOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb248VCwgRD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmZpcmVzdG9yZUNvbGxlY3Rpb24pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+ID0gdGhpcy5jdXJyZW50RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGZpcmVzdG9yZUNvbGxlY3Rpb24kOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb248VCwgRD4+ID0gdGhpcy5jdXJyZW50RmlyZXN0b3JlQ29sbGVjdGlvbiQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50SW5wdXRJZCQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaWQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpbnB1dElkJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbElkPiA9IHRoaXMuY3VycmVudElucHV0SWQkLnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRJbnB1dEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmtleSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlucHV0S2V5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbEtleT4gPSB0aGlzLmN1cnJlbnRJbnB1dEtleSQucGlwZShmaWx0ZXJNYXliZSgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudElucHV0UmVmJDogT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgucmVmKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaW5wdXRSZWYkOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPFQ+PiA9IHRoaXMuY3VycmVudElucHV0UmVmJC5waXBlKGZpbHRlck1heWJlKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzdHJlYW1Nb2RlJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGU+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguc3RyZWFtTW9kZSA/PyBGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGUuU1RSRUFNKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudERvY3VtZW50JDogT2JzZXJ2YWJsZTxNYXliZTxEPj4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmN1cnJlbnRJbnB1dElkJCwgdGhpcy5jdXJyZW50SW5wdXRLZXkkLCB0aGlzLmN1cnJlbnRJbnB1dFJlZiRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2lkLCBrZXksIHJlZl0pID0+IHtcbiAgICAgIGxldCBkb2N1bWVudDogT2JzZXJ2YWJsZTxNYXliZTxEPj47XG5cbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgZG9jdW1lbnQgPSB0aGlzLmZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlJC5waXBlKG1hcCgoeCkgPT4geC5kb2N1bWVudEFjY2Vzc29yKCkubG9hZERvY3VtZW50KHJlZikpKTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5KSB7XG4gICAgICAgIGRvY3VtZW50ID0gdGhpcy5maXJlc3RvcmVDb2xsZWN0aW9uTGlrZSQucGlwZShtYXAoKHgpID0+IHguZG9jdW1lbnRBY2Nlc3NvcigpLmxvYWREb2N1bWVudEZvcktleShrZXkpKSk7XG4gICAgICB9IGVsc2UgaWYgKGlkKSB7XG4gICAgICAgIGRvY3VtZW50ID0gdGhpcy5maXJlc3RvcmVDb2xsZWN0aW9uJC5waXBlKG1hcCgoeCkgPT4geC5kb2N1bWVudEFjY2Vzc29yKCkubG9hZERvY3VtZW50Rm9ySWQoaWQpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb2N1bWVudCA9IG9mKHVuZGVmaW5lZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkb2N1bWVudDtcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGFuIGlkL3JlZi9rZXkgaGFzIGJlZW4gaW5wdXQgYW5kIGN1cnJlbnREb2N1bWVudCBpcyBub3QgbnVsbC5cbiAgICovXG4gIHJlYWRvbmx5IGhhc1JlZiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmN1cnJlbnREb2N1bWVudCQucGlwZShcbiAgICBtYXAoKHgpID0+IHg/LmRvY3VtZW50UmVmICE9IG51bGwpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkb2N1bWVudCQ6IE9ic2VydmFibGU8RD4gPSB0aGlzLmN1cnJlbnREb2N1bWVudCQucGlwZShmaWx0ZXJNYXliZSgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgZG9jdW1lbnRMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEPj4gPSB0aGlzLmN1cnJlbnREb2N1bWVudCQucGlwZShcbiAgICBtYXAoKHgpID0+ICh4ID8gc3VjY2Vzc1Jlc3VsdCh4KSA6IGJlZ2luTG9hZGluZzxEPigpKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpZCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZD4gPSB0aGlzLmRvY3VtZW50JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5pZCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBrZXkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsS2V5PiA9IHRoaXMuZG9jdW1lbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmtleSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBrZXlNb2RlbElkcyQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZFtdPiA9IHRoaXMua2V5JC5waXBlKG1hcChmaXJlc3RvcmVNb2RlbElkc0Zyb21LZXkpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGtleVBhaXJzJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbENvbGxlY3Rpb25BbmRJZFBhaXJbXT4gPSB0aGlzLmtleSQucGlwZShtYXAoZmlyZXN0b3JlTW9kZWxLZXlQYXJ0UGFpcnMpLCBmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGtleVBhaXJPYmplY3QkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsQ29sbGVjdGlvbkFuZElkUGFpck9iamVjdD4gPSB0aGlzLmtleSQucGlwZShtYXAoZmlyZXN0b3JlTW9kZWxLZXlQYWlyT2JqZWN0KSwgZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHJlZiQ6IE9ic2VydmFibGU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+ID0gdGhpcy5kb2N1bWVudCQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZG9jdW1lbnRSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmxhdEtleSQ6IE9ic2VydmFibGU8RmxhdEZpcmVzdG9yZU1vZGVsS2V5PiA9IHRoaXMua2V5JC5waXBlKFxuICAgIG1hcCgoeCkgPT4gZmxhdEZpcmVzdG9yZU1vZGVsS2V5KHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHR3b1dheUZsYXRLZXkkOiBPYnNlcnZhYmxlPEZsYXRGaXJlc3RvcmVNb2RlbEtleT4gPSB0aGlzLmtleSQucGlwZShcbiAgICBtYXAoKHgpID0+IHR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleSh4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzbmFwc2hvdCQ6IE9ic2VydmFibGU8RG9jdW1lbnRTbmFwc2hvdDxUPj4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmRvY3VtZW50JCwgdGhpcy5zdHJlYW1Nb2RlJF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbeCwgbW9kZV0pID0+IHguc25hcHNob3RTdHJlYW0obW9kZSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc25hcHNob3RMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEb2N1bWVudFNuYXBzaG90PFQ+Pj4gPSB0aGlzLmN1cnJlbnREb2N1bWVudCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gbG9hZGluZ1N0YXRlRnJvbU9icyh0aGlzLnNuYXBzaG90JCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudERhdGEkOiBPYnNlcnZhYmxlPE1heWJlPERvY3VtZW50RGF0YVdpdGhJZEFuZEtleTxUPj4+ID0gdGhpcy5zbmFwc2hvdCQucGlwZShcbiAgICBtYXAoKHgpID0+IGRvY3VtZW50RGF0YVdpdGhJZEFuZEtleSh4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkYXRhJDogT2JzZXJ2YWJsZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+ID0gdGhpcy5jdXJyZW50RG9jdW1lbnQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY3VycmVudERhdGEkLnBpcGUoZmlsdGVyTWF5YmUoKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGF0YUxvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPERvY3VtZW50RGF0YVdpdGhJZEFuZEtleTxUPj4+ID0gdGhpcy5zbmFwc2hvdExvYWRpbmdTdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHtcbiAgICAgIGxldCByZXN1bHQ6IExvYWRpbmdTdGF0ZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+O1xuXG4gICAgICBpZiAoeC52YWx1ZSkge1xuICAgICAgICBjb25zdCBkYXRhID0gZG9jdW1lbnREYXRhV2l0aElkQW5kS2V5KHgudmFsdWUpO1xuXG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgcmVzdWx0ID0gc3VjY2Vzc1Jlc3VsdChkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSBlcnJvclJlc3VsdChtb2RlbERvZXNOb3RFeGlzdEVycm9yKCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgLi4ueCxcbiAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0xvYWRpbmdEYXRhJCA9IHRoaXMuZGF0YUxvYWRpbmdTdGF0ZSQucGlwZShtYXAoaXNMb2FkaW5nU3RhdGVMb2FkaW5nKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGZhbHNlIHdoaWxlIGhhc1JlZiQgaXMgZmFsc2UsIGFuZCB0aGVuIHJldHVybnMgZXhpc3RzJC5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRFeGlzdHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5oYXNSZWYkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChoYXNSZWYpID0+IHtcbiAgICAgIGlmIChoYXNSZWYpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhpc3RzJDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBleGlzdHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jdXJyZW50RGF0YSQucGlwZShcbiAgICBtYXAoKHgpID0+IGlzTWF5YmVTbyh4KSksXG4gICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgbGV0IHJlc3VsdDogTWF5YmU8Ym9vbGVhbj47XG5cbiAgICAgIGlmIChpc0NsaWVudEZpcmViYXNlRXJyb3IoZSkpIHtcbiAgICAgICAgc3dpdGNoIChlLmNvZGUpIHtcbiAgICAgICAgICBjYXNlIEZJUkVTVE9SRV9QRVJNSVNTSU9OX0RFTklFRF9FUlJPUl9DT0RFOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0ID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9mKHJlc3VsdCk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkb2VzTm90RXhpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5leGlzdHMkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAheCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBtb2RlbElkZW50aXR5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbElkZW50aXR5PiA9IHRoaXMuZG9jdW1lbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Lm1vZGVsSWRlbnRpdHkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICByZWFkb25seSBzZXRJZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkOiBNYXliZTxGaXJlc3RvcmVNb2RlbElkPikgPT4gKGlkID8geyAuLi5zdGF0ZSwgaWQsIGtleTogdW5kZWZpbmVkLCByZWY6IHVuZGVmaW5lZCB9IDogeyAuLi5zdGF0ZSwgaWQgfSkpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgc2V0S2V5ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwga2V5OiBNYXliZTxGaXJlc3RvcmVNb2RlbEtleT4pID0+IChrZXkgPyB7IC4uLnN0YXRlLCBrZXksIGlkOiB1bmRlZmluZWQsIHJlZjogdW5kZWZpbmVkIH0gOiB7IC4uLnN0YXRlLCBrZXkgfSkpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgc2V0RmxhdEtleSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleTogTWF5YmU8VHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5PikgPT4gKGtleSA/IHsgLi4uc3RhdGUsIGtleTogaW5mZXJLZXlGcm9tVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5KGtleSksIGlkOiB1bmRlZmluZWQsIHJlZjogdW5kZWZpbmVkIH0gOiB7IC4uLnN0YXRlLCBrZXkgfSkpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgc2V0UmVmID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcmVmOiBNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4pID0+IChyZWYgPyB7IC4uLnN0YXRlLCBrZXk6IHVuZGVmaW5lZCwgaWQ6IHVuZGVmaW5lZCwgcmVmIH0gOiB7IC4uLnN0YXRlLCByZWYgfSkpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+IHwgT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgcmVhZG9ubHkgc2V0U3RyZWFtTW9kZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHN0cmVhbU1vZGU6IEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZSkgPT4gKHsgLi4uc3RhdGUsIHN0cmVhbU1vZGUgfSkpO1xuXG4gIHJlYWRvbmx5IGNsZWFyUmVmcyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+ICh7IC4uLnN0YXRlLCBpZDogdW5kZWZpbmVkLCBrZXk6IHVuZGVmaW5lZCwgcmVmOiB1bmRlZmluZWQgfSkpO1xuXG4gIHJlYWRvbmx5IHNldEZpcmVzdG9yZUNvbGxlY3Rpb24gPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uOiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PikgPT4gKHsgLi4uc3RhdGUsIGZpcmVzdG9yZUNvbGxlY3Rpb24gfSkpO1xuICByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlOiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj4pID0+ICh7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSB9KSk7XG59XG5cbmZ1bmN0aW9uIGluamVjdFNpbmdsZUl0ZW1JZEludG9TdGF0ZTxULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPj4oc3RhdGU/OiBDIHwgdW5kZWZpbmVkKTogQyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGlkID0gKHN0YXRlPy5maXJlc3RvcmVDb2xsZWN0aW9uIGFzIFJvb3RTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPik/LnNpbmdsZUl0ZW1JZGVudGlmaWVyO1xuXG4gIGlmIChzdGF0ZSAmJiBpZCAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIGlkIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbi8qKlxuICogQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlIGV4dGVuc2lvbiBmb3IgdXNlIHdpdGggUm9vdFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RSb290U2luZ2xlSXRlbURieEZpcmViYXNlRG9jdW1lbnQ8VCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgRD4+IGV4dGVuZHMgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRCwgQz4ge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoQEluamVjdChudWxsKSBAT3B0aW9uYWwoKSBpbml0aWFsU3RhdGU/OiBDKSB7XG4gICAgc3VwZXIoaW5qZWN0U2luZ2xlSXRlbUlkSW50b1N0YXRlPFQsIEQsIEM+KGluaXRpYWxTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uIHRvIHVzZS5cbiAgICovXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNldEZpcmVzdG9yZUNvbGxlY3Rpb24gPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uOiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PikgPT4ge1xuICAgIGlmIChmaXJlc3RvcmVDb2xsZWN0aW9uICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGlkID0gKGZpcmVzdG9yZUNvbGxlY3Rpb24gYXMgUm9vdFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+KS5zaW5nbGVJdGVtSWRlbnRpZmllcjtcblxuICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIGZpcmVzdG9yZUNvbGxlY3Rpb24sIGlkIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0Um9vdFNpbmdsZUl0ZW1EYnhGaXJlYmFzZURvY3VtZW50IG9ubHkgYWNjZXB0cyBSb290U2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb24gdmFsdWVzIHdpdGggYSBzaW5nbGVJdGVtSWRlbnRpZmllciBzZXQgZm9yIHNldEZpcmVzdG9yZUNvbGxlY3Rpb24uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uOiBudWxsIH07XG4gICAgfVxuICB9KTtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RSb290U2luZ2xlSXRlbURieEZpcmViYXNlRG9jdW1lbnQuXG4gICAqXG4gICAqIFJlZiBpcyBzZXQgd2l0aCB0aGUgRmlyZXN0b3JlQ29sbGVjdGlvblxuICAgKi9cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc2V0SWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBpZDogTWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4pID0+IHN0YXRlKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPHN0cmluZz4gfCBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIERvZXMgbm90aGluZyBvbiBhIEFic3RyYWN0Um9vdFNpbmdsZUl0ZW1EYnhGaXJlYmFzZURvY3VtZW50LlxuICAgKlxuICAgKiBSZWYgaXMgc2V0IHdpdGggdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb25cbiAgICovXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNldEtleSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleTogTWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+KSA9PiBzdGF0ZSkgYXMgKG9ic2VydmFibGVPclZhbHVlOiBNYXliZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBEb2VzIG5vdGhpbmcgb24gYSBBYnN0cmFjdFJvb3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRSZWYgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZWY6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+IHwgT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgY2xlYXJSZWZzID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gc3RhdGUpO1xufVxuIl19
178
+ export { AbstractRootSingleItemDbxFirebaseDocument };
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsSSxPQUFPLEVBVUwsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUUxQiwyQkFBMkIsRUFFM0Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFHdkMscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQixzQ0FBc0MsRUFDdEMscUJBQXFCLEVBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25LLE9BQU8sRUFBUyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUEwRnJELE1BQU0sT0FBTyxnQ0FBOEwsU0FBUSxxQkFBd0I7SUFDek8sZ0JBQWdCO0lBRWhCLGtCQUFrQjtJQUNULCtCQUErQixHQUFxRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQzlELG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sMkJBQTJCLEdBQWlELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUNqQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLHdCQUF3QixHQUE4QyxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0gsb0JBQW9CLEdBQTBDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVuSCxlQUFlLEdBQXdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxRQUFRLEdBQWlDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFMUgsZ0JBQWdCLEdBQXlDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDakIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxTQUFTLEdBQWtDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3SCxnQkFBZ0IsR0FBNEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25GLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLFNBQVMsR0FBcUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhJLFdBQVcsR0FBNEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsRUFDOUQsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxnQkFBZ0IsR0FBeUIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1FBQzNCLElBQUksUUFBOEIsQ0FBQztRQUVuQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7YUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2YsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUcsQ0FBQzthQUFNLElBQUksRUFBRSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRUY7O09BRUc7SUFDTSxPQUFPLEdBQXdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ2hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsRUFDbEMsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxTQUFTLEdBQWtCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3RyxxQkFBcUIsR0FBZ0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDdEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUssQ0FBQyxDQUFDLEVBQ3RELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sR0FBRyxHQUFpQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ2hCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sSUFBSSxHQUFrQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDaEUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sWUFBWSxHQUFtQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxTQUFTLEdBQW9ELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVJLGNBQWMsR0FBd0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEosSUFBSSxHQUFxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQ3pCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sUUFBUSxHQUFzQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGNBQWMsR0FBc0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxTQUFTLEdBQW9DLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLHFCQUFxQixHQUFrRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN4RyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ3BELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sWUFBWSxHQUFtRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDekYsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLEtBQUssR0FBNEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDbEYsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDdEQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxpQkFBaUIsR0FBMEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDakgsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDUixJQUFJLE1BQWlELENBQUM7UUFFdEQsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFL0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUc7Z0JBQ1AsR0FBRyxDQUFDO2dCQUNKLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFIOztPQUVHO0lBQ00sY0FBYyxHQUF3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUQsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDbkIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLE9BQU8sR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3hCLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2YsSUFBSSxNQUFzQixDQUFDO1FBRTNCLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QixRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixLQUFLLHNDQUFzQztvQkFDekMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDZixNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGFBQWEsR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDZCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGNBQWMsR0FBdUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQy9FLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUMzQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLHNCQUFzQjtJQUNiLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFtRixDQUFDO0lBQzNOLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQTZCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFtRixDQUFDO0lBQ2hPLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQXVDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFtRixDQUFDO0lBQzVSLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUErRyxDQUFDO0lBRS9QLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQXVDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFN0csU0FBUyxHQUFHLElBQUksQ0FB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bmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3dpdGNoTWFwLCBjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb24sIG9mLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEb2N1bWVudFNuYXBzaG90LFxuICBEb2N1bWVudFJlZmVyZW5jZSxcbiAgRmlyZXN0b3JlQ29sbGVjdGlvbixcbiAgRmlyZXN0b3JlRG9jdW1lbnQsXG4gIERvY3VtZW50RGF0YVdpdGhJZEFuZEtleSxcbiAgRmlyZXN0b3JlTW9kZWxJZCxcbiAgRmlyZXN0b3JlTW9kZWxLZXksXG4gIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlLFxuICBGaXJlc3RvcmVNb2RlbElkZW50aXR5LFxuICBmaXJlc3RvcmVNb2RlbElkc0Zyb21LZXksXG4gIGZpcmVzdG9yZU1vZGVsS2V5UGFydFBhaXJzLFxuICBGaXJlc3RvcmVNb2RlbENvbGxlY3Rpb25BbmRJZFBhaXIsXG4gIGZpcmVzdG9yZU1vZGVsS2V5UGFpck9iamVjdCxcbiAgRmlyZXN0b3JlTW9kZWxDb2xsZWN0aW9uQW5kSWRQYWlyT2JqZWN0LFxuICBkb2N1bWVudERhdGFXaXRoSWRBbmRLZXksXG4gIEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZSxcbiAgVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5LFxuICBpbmZlcktleUZyb21Ud29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXksXG4gIFJvb3RTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbixcbiAgRmxhdEZpcmVzdG9yZU1vZGVsS2V5LFxuICBmbGF0RmlyZXN0b3JlTW9kZWxLZXksXG4gIHR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleSxcbiAgRklSRVNUT1JFX1BFUk1JU1NJT05fREVOSUVEX0VSUk9SX0NPREUsXG4gIGlzQ2xpZW50RmlyZWJhc2VFcnJvclxufSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBiZWdpbkxvYWRpbmcsIHN1Y2Nlc3NSZXN1bHQsIGxvYWRpbmdTdGF0ZUZyb21PYnMsIGVycm9yUmVzdWx0LCBPYnNlcnZhYmxlT3JWYWx1ZSwgaXNMb2FkaW5nU3RhdGVMb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgaXNNYXliZVNvIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBMb2NrU2V0Q29tcG9uZW50LCBMb2NrU2V0Q29tcG9uZW50U3RvcmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBtb2RlbERvZXNOb3RFeGlzdEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPj4gZXh0ZW5kcyBMb2NrU2V0Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+PjtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29sbGVjdGlvbiQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj47XG5cbiAgcmVhZG9ubHkgY3VycmVudElucHV0SWQkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+PjtcbiAgcmVhZG9ubHkgaW5wdXRJZCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZD47XG4gIHJlYWRvbmx5IGN1cnJlbnRJbnB1dEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PjtcbiAgcmVhZG9ubHkgaW5wdXRLZXkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsS2V5PjtcbiAgcmVhZG9ubHkgY3VycmVudElucHV0UmVmJDogT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+O1xuICByZWFkb25seSBpbnB1dFJlZiQ6IE9ic2VydmFibGU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+O1xuXG4gIHJlYWRvbmx5IHN0cmVhbU1vZGUkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZT47XG5cbiAgcmVhZG9ubHkgY3VycmVudERvY3VtZW50JDogT2JzZXJ2YWJsZTxNYXliZTxEPj47XG4gIHJlYWRvbmx5IGRvY3VtZW50JDogT2JzZXJ2YWJsZTxEPjtcbiAgcmVhZG9ubHkgaWQkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsSWQ+O1xuICByZWFkb25seSBrZXkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsS2V5PjtcbiAgcmVhZG9ubHkgcmVmJDogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZTxUPj47XG4gIHJlYWRvbmx5IGhhc1JlZiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IGZsYXRLZXkkOiBPYnNlcnZhYmxlPEZsYXRGaXJlc3RvcmVNb2RlbEtleT47XG4gIHJlYWRvbmx5IHR3b1dheUZsYXRLZXkkOiBPYnNlcnZhYmxlPFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleT47XG5cbiAgcmVhZG9ubHkga2V5TW9kZWxJZHMkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsSWRbXT47XG4gIHJlYWRvbmx5IGtleVBhaXJzJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbENvbGxlY3Rpb25BbmRJZFBhaXJbXT47XG4gIHJlYWRvbmx5IGtleVBhaXJPYmplY3QkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsQ29sbGVjdGlvbkFuZElkUGFpck9iamVjdD47XG5cbiAgcmVhZG9ubHkgZG9jdW1lbnRMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEPj47XG4gIHJlYWRvbmx5IHNuYXBzaG90JDogT2JzZXJ2YWJsZTxEb2N1bWVudFNuYXBzaG90PFQ+PjtcbiAgcmVhZG9ubHkgc25hcHNob3RMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEb2N1bWVudFNuYXBzaG90PFQ+Pj47XG4gIHJlYWRvbmx5IGN1cnJlbnREYXRhJDogT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+PjtcbiAgcmVhZG9ubHkgZGF0YSQ6IE9ic2VydmFibGU8RG9jdW1lbnREYXRhV2l0aElkQW5kS2V5PFQ+PjtcbiAgcmVhZG9ubHkgZGF0YUxvYWRpbmdTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPERvY3VtZW50RGF0YVdpdGhJZEFuZEtleTxUPj4+O1xuICByZWFkb25seSBpc0xvYWRpbmdEYXRhJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgY3VycmVudEV4aXN0cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IGV4aXN0cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IG1vZGVsSWRlbnRpdHkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsSWRlbnRpdHk+O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpZCBvZiB0aGUgZG9jdW1lbnQgdG8gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElkOiAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBrZXkgb2YgdGhlIGRvY3VtZW50IHRvIGxvYWQuXG4gICAqL1xuICByZWFkb25seSBzZXRLZXk6IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBrZXkgb2YgdGhlIGRvY3VtZW50IHRvIGxvYWQgdXNpbmcgYSBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXkuXG4gICAqL1xuICByZWFkb25seSBzZXRGbGF0S2V5OiAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleT4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlZiBvZiB0aGUgZG9jdW1lbnQgdG8gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldFJlZjogKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUga2V5L2lkL3JlZiBhbmQgY3VycmVudCBkb2N1bWVudCBmcm9tIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGNsZWFyUmVmczogKCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc3RyZWFtIG1vZGUuXG4gICAqL1xuICByZWFkb25seSBzZXRTdHJlYW1Nb2RlOiAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZT4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgRmlyZXN0b3JlQ29sbGVjdGlvbiB0byByZXRyaWV2ZSBkb2N1bWVudHMgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHNldEZpcmVzdG9yZUNvbGxlY3Rpb246ICgoKSA9PiB2b2lkKSB8ICgob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb248VCwgRD4+PikgPT4gU3Vic2NyaXB0aW9uKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UgdG8gcmV0cmlldmUgZG9jdW1lbnRzIGZyb20uXG4gICAqL1xuICByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+PikgPT4gU3Vic2NyaXB0aW9uKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4+IHtcbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj47XG4gIHJlYWRvbmx5IGZpcmVzdG9yZUNvbGxlY3Rpb24/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PjtcbiAgcmVhZG9ubHkgc3RyZWFtTW9kZT86IEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZTtcbiAgcmVhZG9ubHkgaWQ/OiBNYXliZTxGaXJlc3RvcmVNb2RlbElkPjtcbiAgcmVhZG9ubHkga2V5PzogTWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+O1xuICByZWFkb25seSByZWY/OiBNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPj4gZXh0ZW5kcyBMb2NrU2V0Q29tcG9uZW50U3RvcmU8Qz4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4ge1xuICAvLyBNQVJLOiBFZmZlY3RzXG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGN1cnJlbnRGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmZpcmVzdG9yZUNvbGxlY3Rpb24gPz8geC5maXJlc3RvcmVDb2xsZWN0aW9uTGlrZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRGaXJlc3RvcmVDb2xsZWN0aW9uJDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5maXJlc3RvcmVDb2xsZWN0aW9uKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+PiA9IHRoaXMuY3VycmVudEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlJC5waXBlKGZpbHRlck1heWJlKCkpO1xuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PiA9IHRoaXMuY3VycmVudEZpcmVzdG9yZUNvbGxlY3Rpb24kLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudElucHV0SWQkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmlkKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaW5wdXRJZCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZD4gPSB0aGlzLmN1cnJlbnRJbnB1dElkJC5waXBlKGZpbHRlck1heWJlKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjdXJyZW50SW5wdXRLZXkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5rZXkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpbnB1dEtleSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxLZXk+ID0gdGhpcy5jdXJyZW50SW5wdXRLZXkkLnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRJbnB1dFJlZiQ6IE9ic2VydmFibGU8TWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnJlZiksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlucHV0UmVmJDogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4gPSB0aGlzLmN1cnJlbnRJbnB1dFJlZiQucGlwZShmaWx0ZXJNYXliZSgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgc3RyZWFtTW9kZSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlPiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnN0cmVhbU1vZGUgPz8gRmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlLlNUUkVBTSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnREb2N1bWVudCQ6IE9ic2VydmFibGU8TWF5YmU8RD4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5jdXJyZW50SW5wdXRJZCQsIHRoaXMuY3VycmVudElucHV0S2V5JCwgdGhpcy5jdXJyZW50SW5wdXRSZWYkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtpZCwga2V5LCByZWZdKSA9PiB7XG4gICAgICBsZXQgZG9jdW1lbnQ6IE9ic2VydmFibGU8TWF5YmU8RD4+O1xuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRvY3VtZW50ID0gdGhpcy5maXJlc3RvcmVDb2xsZWN0aW9uTGlrZSQucGlwZShtYXAoKHgpID0+IHguZG9jdW1lbnRBY2Nlc3NvcigpLmxvYWREb2N1bWVudChyZWYpKSk7XG4gICAgICB9IGVsc2UgaWYgKGtleSkge1xuICAgICAgICBkb2N1bWVudCA9IHRoaXMuZmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UkLnBpcGUobWFwKCh4KSA9PiB4LmRvY3VtZW50QWNjZXNzb3IoKS5sb2FkRG9jdW1lbnRGb3JLZXkoa2V5KSkpO1xuICAgICAgfSBlbHNlIGlmIChpZCkge1xuICAgICAgICBkb2N1bWVudCA9IHRoaXMuZmlyZXN0b3JlQ29sbGVjdGlvbiQucGlwZShtYXAoKHgpID0+IHguZG9jdW1lbnRBY2Nlc3NvcigpLmxvYWREb2N1bWVudEZvcklkKGlkKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZG9jdW1lbnQgPSBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBhbiBpZC9yZWYva2V5IGhhcyBiZWVuIGlucHV0IGFuZCBjdXJyZW50RG9jdW1lbnQgaXMgbm90IG51bGwuXG4gICAqL1xuICByZWFkb25seSBoYXNSZWYkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jdXJyZW50RG9jdW1lbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5kb2N1bWVudFJlZiAhPSBudWxsKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZG9jdW1lbnQkOiBPYnNlcnZhYmxlPEQ+ID0gdGhpcy5jdXJyZW50RG9jdW1lbnQkLnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGRvY3VtZW50TG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8RD4+ID0gdGhpcy5jdXJyZW50RG9jdW1lbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAoeCA/IHN1Y2Nlc3NSZXN1bHQoeCkgOiBiZWdpbkxvYWRpbmc8RD4oKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaWQkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsSWQ+ID0gdGhpcy5kb2N1bWVudCQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaWQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkga2V5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbEtleT4gPSB0aGlzLmRvY3VtZW50JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5rZXkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkga2V5TW9kZWxJZHMkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZU1vZGVsSWRbXT4gPSB0aGlzLmtleSQucGlwZShtYXAoZmlyZXN0b3JlTW9kZWxJZHNGcm9tS2V5KSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBrZXlQYWlycyQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxDb2xsZWN0aW9uQW5kSWRQYWlyW10+ID0gdGhpcy5rZXkkLnBpcGUobWFwKGZpcmVzdG9yZU1vZGVsS2V5UGFydFBhaXJzKSwgZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBrZXlQYWlyT2JqZWN0JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVNb2RlbENvbGxlY3Rpb25BbmRJZFBhaXJPYmplY3Q+ID0gdGhpcy5rZXkkLnBpcGUobWFwKGZpcmVzdG9yZU1vZGVsS2V5UGFpck9iamVjdCksIGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSByZWYkOiBPYnNlcnZhYmxlPERvY3VtZW50UmVmZXJlbmNlPFQ+PiA9IHRoaXMuZG9jdW1lbnQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmRvY3VtZW50UmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGZsYXRLZXkkOiBPYnNlcnZhYmxlPEZsYXRGaXJlc3RvcmVNb2RlbEtleT4gPSB0aGlzLmtleSQucGlwZShcbiAgICBtYXAoKHgpID0+IGZsYXRGaXJlc3RvcmVNb2RlbEtleSh4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSB0d29XYXlGbGF0S2V5JDogT2JzZXJ2YWJsZTxGbGF0RmlyZXN0b3JlTW9kZWxLZXk+ID0gdGhpcy5rZXkkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB0d29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXkoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc25hcHNob3QkOiBPYnNlcnZhYmxlPERvY3VtZW50U25hcHNob3Q8VD4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5kb2N1bWVudCQsIHRoaXMuc3RyZWFtTW9kZSRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW3gsIG1vZGVdKSA9PiB4LnNuYXBzaG90U3RyZWFtKG1vZGUpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHNuYXBzaG90TG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8RG9jdW1lbnRTbmFwc2hvdDxUPj4+ID0gdGhpcy5jdXJyZW50RG9jdW1lbnQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IGxvYWRpbmdTdGF0ZUZyb21PYnModGhpcy5zbmFwc2hvdCQpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnREYXRhJDogT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+PiA9IHRoaXMuc25hcHNob3QkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBkb2N1bWVudERhdGFXaXRoSWRBbmRLZXkoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGF0YSQ6IE9ic2VydmFibGU8RG9jdW1lbnREYXRhV2l0aElkQW5kS2V5PFQ+PiA9IHRoaXMuY3VycmVudERvY3VtZW50JC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmN1cnJlbnREYXRhJC5waXBlKGZpbHRlck1heWJlKCkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRhdGFMb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+PiA9IHRoaXMuc25hcHNob3RMb2FkaW5nU3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICBsZXQgcmVzdWx0OiBMb2FkaW5nU3RhdGU8RG9jdW1lbnREYXRhV2l0aElkQW5kS2V5PFQ+PjtcblxuICAgICAgaWYgKHgudmFsdWUpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGRvY3VtZW50RGF0YVdpdGhJZEFuZEtleSh4LnZhbHVlKTtcblxuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIHJlc3VsdCA9IHN1Y2Nlc3NSZXN1bHQoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gZXJyb3JSZXN1bHQobW9kZWxEb2VzTm90RXhpc3RFcnJvcigpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIC4uLngsXG4gICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNMb2FkaW5nRGF0YSQgPSB0aGlzLmRhdGFMb2FkaW5nU3RhdGUkLnBpcGUobWFwKGlzTG9hZGluZ1N0YXRlTG9hZGluZyksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogUmV0dXJucyBmYWxzZSB3aGlsZSBoYXNSZWYkIGlzIGZhbHNlLCBhbmQgdGhlbiByZXR1cm5zIGV4aXN0cyQuXG4gICAqL1xuICByZWFkb25seSBjdXJyZW50RXhpc3RzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzUmVmJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoaGFzUmVmKSA9PiB7XG4gICAgICBpZiAoaGFzUmVmKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4aXN0cyQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZXhpc3RzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY3VycmVudERhdGEkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBpc01heWJlU28oeCkpLFxuICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgIGxldCByZXN1bHQ6IE1heWJlPGJvb2xlYW4+O1xuXG4gICAgICBpZiAoaXNDbGllbnRGaXJlYmFzZUVycm9yKGUpKSB7XG4gICAgICAgIHN3aXRjaCAoZS5jb2RlKSB7XG4gICAgICAgICAgY2FzZSBGSVJFU1RPUkVfUEVSTUlTU0lPTl9ERU5JRURfRVJST1JfQ09ERTpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvZihyZXN1bHQpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZG9lc05vdEV4aXN0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZXhpc3RzJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gIXgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbW9kZWxJZGVudGl0eSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZGVudGl0eT4gPSB0aGlzLmRvY3VtZW50JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5tb2RlbElkZW50aXR5KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgcmVhZG9ubHkgc2V0SWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBpZDogTWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4pID0+IChpZCA/IHsgLi4uc3RhdGUsIGlkLCBrZXk6IHVuZGVmaW5lZCwgcmVmOiB1bmRlZmluZWQgfSA6IHsgLi4uc3RhdGUsIGlkIH0pKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPHN0cmluZz4gfCBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+KSA9PiBTdWJzY3JpcHRpb247XG4gIHJlYWRvbmx5IHNldEtleSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleTogTWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+KSA9PiAoa2V5ID8geyAuLi5zdGF0ZSwga2V5LCBpZDogdW5kZWZpbmVkLCByZWY6IHVuZGVmaW5lZCB9IDogeyAuLi5zdGF0ZSwga2V5IH0pKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPHN0cmluZz4gfCBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+KSA9PiBTdWJzY3JpcHRpb247XG4gIHJlYWRvbmx5IHNldEZsYXRLZXkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk6IE1heWJlPFR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleT4pID0+IChrZXkgPyB7IC4uLnN0YXRlLCBrZXk6IGluZmVyS2V5RnJvbVR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleShrZXkpLCBpZDogdW5kZWZpbmVkLCByZWY6IHVuZGVmaW5lZCB9IDogeyAuLi5zdGF0ZSwga2V5IH0pKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPHN0cmluZz4gfCBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+KSA9PiBTdWJzY3JpcHRpb247XG4gIHJlYWRvbmx5IHNldFJlZiA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHJlZjogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+KSA9PiAocmVmID8geyAuLi5zdGF0ZSwga2V5OiB1bmRlZmluZWQsIGlkOiB1bmRlZmluZWQsIHJlZiB9IDogeyAuLi5zdGF0ZSwgcmVmIH0pKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+PiB8IE9ic2VydmFibGU8TWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IHNldFN0cmVhbU1vZGUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBzdHJlYW1Nb2RlOiBGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGUpID0+ICh7IC4uLnN0YXRlLCBzdHJlYW1Nb2RlIH0pKTtcblxuICByZWFkb25seSBjbGVhclJlZnMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlKSA9PiAoeyAuLi5zdGF0ZSwgaWQ6IHVuZGVmaW5lZCwga2V5OiB1bmRlZmluZWQsIHJlZjogdW5kZWZpbmVkIH0pKTtcblxuICByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbjogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4pID0+ICh7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uIH0pKTtcbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+KSA9PiAoeyAuLi5zdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbkxpa2UgfSkpO1xufVxuXG5mdW5jdGlvbiBpbmplY3RTaW5nbGVJdGVtSWRJbnRvU3RhdGU8VCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgRD4+KHN0YXRlPzogQyB8IHVuZGVmaW5lZCk6IEMgfCB1bmRlZmluZWQge1xuICBjb25zdCBpZCA9IChzdGF0ZT8uZmlyZXN0b3JlQ29sbGVjdGlvbiBhcyBSb290U2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb248VCwgRD4pPy5zaW5nbGVJdGVtSWRlbnRpZmllcjtcblxuICBpZiAoc3RhdGUgJiYgaWQgIT0gbnVsbCkge1xuICAgIHJldHVybiB7IC4uLnN0YXRlLCBpZCB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG4vKipcbiAqIEFic3RyYWN0RGJ4RmlyZWJhc2VEb2N1bWVudFdpdGhQYXJlbnRTdG9yZSBleHRlbnNpb24gZm9yIHVzZSB3aXRoIFJvb3RTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFic3RyYWN0Um9vdFNpbmdsZUl0ZW1EYnhGaXJlYmFzZURvY3VtZW50PFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+PiBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFQsIEQsIEM+IHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKEBJbmplY3QobnVsbCkgQE9wdGlvbmFsKCkgaW5pdGlhbFN0YXRlPzogQykge1xuICAgIHN1cGVyKGluamVjdFNpbmdsZUl0ZW1JZEludG9TdGF0ZTxULCBELCBDPihpbml0aWFsU3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbiB0byB1c2UuXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbjogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4pID0+IHtcbiAgICBpZiAoZmlyZXN0b3JlQ29sbGVjdGlvbiAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpZCA9IChmaXJlc3RvcmVDb2xsZWN0aW9uIGFzIFJvb3RTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPikuc2luZ2xlSXRlbUlkZW50aWZpZXI7XG5cbiAgICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uLCBpZCB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBYnN0cmFjdFJvb3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudCBvbmx5IGFjY2VwdHMgUm9vdFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uIHZhbHVlcyB3aXRoIGEgc2luZ2xlSXRlbUlkZW50aWZpZXIgc2V0IGZvciBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbjogbnVsbCB9O1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIERvZXMgbm90aGluZyBvbiBhIEFic3RyYWN0Um9vdFNpbmdsZUl0ZW1EYnhGaXJlYmFzZURvY3VtZW50LlxuICAgKlxuICAgKiBSZWYgaXMgc2V0IHdpdGggdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb25cbiAgICovXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNldElkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaWQ6IE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+KSA9PiBzdGF0ZSkgYXMgKG9ic2VydmFibGVPclZhbHVlOiBNYXliZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxNYXliZTxzdHJpbmc+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBEb2VzIG5vdGhpbmcgb24gYSBBYnN0cmFjdFJvb3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRLZXkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk6IE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RSb290U2luZ2xlSXRlbURieEZpcmViYXNlRG9jdW1lbnQuXG4gICAqXG4gICAqIFJlZiBpcyBzZXQgd2l0aCB0aGUgRmlyZXN0b3JlQ29sbGVjdGlvblxuICAgKi9cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc2V0UmVmID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcmVmOiBNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4pID0+IHN0YXRlKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+PiB8IE9ic2VydmFibGU8TWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGNsZWFyUmVmcyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IHN0YXRlKTtcbn1cbiJdfQ==
@@ -26,10 +26,10 @@ export class DbxFirebaseDocumentStoreRouteIdDirective extends DbxRouteModelIdDir
26
26
  set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
27
27
  this.dbxRouteModelIdDefaultDecision = decider;
28
28
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { dbxFirebaseDocumentStoreRouteId: "dbxFirebaseDocumentStoreRouteId", dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { dbxFirebaseDocumentStoreRouteId: "dbxFirebaseDocumentStoreRouteId", dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[dbxFirebaseDocumentStoreRouteId]'
@@ -31,10 +31,10 @@ export class DbxFirebaseDocumentStoreRouteKeyDirective extends DbxRouteModelKeyD
31
31
  set dbxFirebaseDocumentStoreRouteKeyDefaultDecision(decider) {
32
32
  this.dbxRouteModelKeyDefaultDecision = decider;
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
35
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteKeyDirective, selector: "[dbxFirebaseDocumentStoreRouteKey]", inputs: { dbxFirebaseDocumentStoreRouteKey: "dbxFirebaseDocumentStoreRouteKey", dbxFirebaseDocumentStoreRouteKeyDefault: "dbxFirebaseDocumentStoreRouteKeyDefault", dbxFirebaseDocumentStoreRouteKeyDefaultRedirect: "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect", dbxFirebaseDocumentStoreRouteKeyDefaultDecision: "dbxFirebaseDocumentStoreRouteKeyDefaultDecision" }, usesInheritance: true, ngImport: i0 });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
35
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreRouteKeyDirective, selector: "[dbxFirebaseDocumentStoreRouteKey]", inputs: { dbxFirebaseDocumentStoreRouteKey: "dbxFirebaseDocumentStoreRouteKey", dbxFirebaseDocumentStoreRouteKeyDefault: "dbxFirebaseDocumentStoreRouteKeyDefault", dbxFirebaseDocumentStoreRouteKeyDefaultRedirect: "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect", dbxFirebaseDocumentStoreRouteKeyDefaultDecision: "dbxFirebaseDocumentStoreRouteKeyDefaultDecision" }, usesInheritance: true, ngImport: i0 });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[dbxFirebaseDocumentStoreRouteKey]'
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
49
  }], dbxFirebaseDocumentStoreRouteKeyDefaultDecision: [{
50
50
  type: Input
51
51
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQucm91dGVyLmtleS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50LnJvdXRlci5rZXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFJL0U7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyx5Q0FBdUQsU0FBUSx5QkFBeUI7SUFDMUYsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLENBQUEsaUNBQW9DLENBQUEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWpHLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUNJLGdDQUFnQztRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksZ0NBQWdDLENBQUMsUUFBZ0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQ0ksdUNBQXVDLENBQUMsWUFBb0Q7UUFDOUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFlBQVksQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLCtDQUErQyxDQUFDLFFBQTZCO1FBQy9FLElBQUksQ0FBQywrQkFBK0IsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQ0ksK0NBQStDLENBQUMsT0FBNEQ7UUFDOUcsSUFBSSxDQUFDLCtCQUErQixHQUFHLE9BQU8sQ0FBQztJQUNqRCxDQUFDO3dHQWpDVSx5Q0FBeUM7NEZBQXpDLHlDQUF5Qzs7NEZBQXpDLHlDQUF5QztrQkFIckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2lCQUMvQzs4QkFVSyxnQ0FBZ0M7c0JBRG5DLEtBQUs7dUJBQUMsa0NBQWtDO2dCQVVyQyx1Q0FBdUM7c0JBRDFDLEtBQUs7Z0JBU0YsK0NBQStDO3NCQURsRCxLQUFLO2dCQU1GLCtDQUErQztzQkFEbEQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4Um91dGVNb2RlbEtleURpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1heWJlLCBNb2RlbEtleSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlciwgU3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb24gfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBVc2VkIGZvciBzeW5jaHJvbml6aW5nIHRoZSBkb2N1bWVudCBzdG9yZSBrZXkgdG8gdGhlIHBhcmFtIG9mIHRoZSByb3V0ZS4gVGhlIHBhcmFtIGlzIGludGVycHJldGVkIGFzIGEgVHdvV2F5RmxhdEZpcmVzdG9yZU1vZGVsS2V5LlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBEYnhSb3V0ZU1vZGVsS2V5RGlyZWN0aXZlIChbZGJ4Um91dGVNb2RlbEtleV0pIGluc3RlYWQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleV0nXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlS2V5RGlyZWN0aXZlPFQgPSB1bmtub3duPiBleHRlbmRzIERieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmUge1xuICByZWFkb25seSBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUgPSBpbmplY3QoRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFQ+LCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIC8vIE1BUks6IElucHV0XG4gIEBJbnB1dCgnZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXknKVxuICBnZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFyYW07XG4gIH1cblxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXkoa2V5UGFyYW06IHN0cmluZykge1xuICAgIHRoaXMua2V5UGFyYW0gPSBrZXlQYXJhbTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleURlZmF1bHQoZGVmYXVsdFZhbHVlOiBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPE1vZGVsS2V5Pikge1xuICAgIHRoaXMuZGJ4Um91dGVNb2RlbEtleURlZmF1bHQgPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIHRoZSByZWRpcmVjdGlvbi4gSXMgZW5hYmxlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlS2V5RGVmYXVsdFJlZGlyZWN0KHJlZGlyZWN0OiBNYXliZTxib29sZWFuPiB8ICcnKSB7XG4gICAgdGhpcy5kYnhSb3V0ZU1vZGVsS2V5RGVmYXVsdFJlZGlyZWN0ID0gcmVkaXJlY3Q7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXlEZWZhdWx0RGVjaXNpb24oZGVjaWRlcjogc3RyaW5nIHwgU3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248TW9kZWxLZXk+KSB7XG4gICAgdGhpcy5kYnhSb3V0ZU1vZGVsS2V5RGVmYXVsdERlY2lzaW9uID0gZGVjaWRlcjtcbiAgfVxufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQucm91dGVyLmtleS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50LnJvdXRlci5rZXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFJL0U7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyx5Q0FBdUQsU0FBUSx5QkFBeUI7SUFDMUYsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLENBQUEsaUNBQW9DLENBQUEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWpHLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUNJLGdDQUFnQztRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksZ0NBQWdDLENBQUMsUUFBZ0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQ0ksdUNBQXVDLENBQUMsWUFBb0Q7UUFDOUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFlBQVksQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLCtDQUErQyxDQUFDLFFBQTZCO1FBQy9FLElBQUksQ0FBQywrQkFBK0IsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQ0ksK0NBQStDLENBQUMsT0FBNEQ7UUFDOUcsSUFBSSxDQUFDLCtCQUErQixHQUFHLE9BQU8sQ0FBQztJQUNqRCxDQUFDO3dHQWpDVSx5Q0FBeUM7NEZBQXpDLHlDQUF5Qzs7NEZBQXpDLHlDQUF5QztrQkFIckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2lCQUMvQzs4QkFVSyxnQ0FBZ0M7c0JBRG5DLEtBQUs7dUJBQUMsa0NBQWtDO2dCQVVyQyx1Q0FBdUM7c0JBRDFDLEtBQUs7Z0JBU0YsK0NBQStDO3NCQURsRCxLQUFLO2dCQU1GLCtDQUErQztzQkFEbEQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhSb3V0ZU1vZGVsS2V5RGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF5YmUsIE1vZGVsS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIFVzZWQgZm9yIHN5bmNocm9uaXppbmcgdGhlIGRvY3VtZW50IHN0b3JlIGtleSB0byB0aGUgcGFyYW0gb2YgdGhlIHJvdXRlLiBUaGUgcGFyYW0gaXMgaW50ZXJwcmV0ZWQgYXMgYSBUd29XYXlGbGF0RmlyZXN0b3JlTW9kZWxLZXkuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIERieFJvdXRlTW9kZWxLZXlEaXJlY3RpdmUgKFtkYnhSb3V0ZU1vZGVsS2V5XSkgaW5zdGVhZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlS2V5XSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXlEaXJlY3RpdmU8VCA9IHVua25vd24+IGV4dGVuZHMgRGJ4Um91dGVNb2RlbEtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSA9IGluamVjdChEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8VD4sIHsgaG9zdDogdHJ1ZSB9KTtcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW5wdXRcbiAgQElucHV0KCdkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleScpXG4gIGdldCBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlQYXJhbTtcbiAgfVxuXG4gIHNldCBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleShrZXlQYXJhbTogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXlQYXJhbSA9IGtleVBhcmFtO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlS2V5RGVmYXVsdChkZWZhdWx0VmFsdWU6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8TW9kZWxLZXk+KSB7XG4gICAgdGhpcy5kYnhSb3V0ZU1vZGVsS2V5RGVmYXVsdCA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgdGhlIHJlZGlyZWN0aW9uLiBJcyBlbmFibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVLZXlEZWZhdWx0UmVkaXJlY3QocmVkaXJlY3Q6IE1heWJlPGJvb2xlYW4+IHwgJycpIHtcbiAgICB0aGlzLmRieFJvdXRlTW9kZWxLZXlEZWZhdWx0UmVkaXJlY3QgPSByZWRpcmVjdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleURlZmF1bHREZWNpc2lvbihkZWNpZGVyOiBzdHJpbmcgfCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxNb2RlbEtleT4pIHtcbiAgICB0aGlzLmRieFJvdXRlTW9kZWxLZXlEZWZhdWx0RGVjaXNpb24gPSBkZWNpZGVyO1xuICB9XG59XG4iXX0=
@@ -12,10 +12,10 @@ export class DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective extends Abstr
12
12
  ngOnInit() {
13
13
  this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.dbxFirebaseDocumentStoreTwoWayKeyProvider.twoWayFlatKey$);
14
14
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, selector: "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", usesInheritance: true, ngImport: i0 });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
16
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, selector: "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", usesInheritance: true, ngImport: i0 });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]'
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
8
8
  export class DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective {
9
9
  dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective, { host: true });
10
10
  twoWayFlatKey$ = this.dbxFirebaseDocumentStoreDirective.twoWayFlatKey$;
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, selector: "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective), ngImport: i0 });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, selector: "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective), ngImport: i0 });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  selector: '[dbxFirebaseDocumentStoreTwoWayModelKeySource]',
@@ -9,10 +9,10 @@ export class DbxFirebaseCollectionWithParentStoreDirective extends DbxFirebaseCo
9
9
  set sourceMode(sourceMode) {
10
10
  this.store.setSourceMode(sourceMode);
11
11
  }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
13
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseCollectionWithParentStoreDirective, inputs: { sourceMode: "sourceMode" }, usesInheritance: true, ngImport: i0 });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
13
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseCollectionWithParentStoreDirective, inputs: { sourceMode: "sourceMode" }, usesInheritance: true, ngImport: i0 });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
16
16
  type: Directive
17
17
  }], propDecorators: { sourceMode: [{
18
18
  type: Input
@@ -49,10 +49,10 @@ export class AbstractDbxFirebaseDocumentWithParentStore extends AbstractDbxFireb
49
49
  * Sets the parent on the current state.
50
50
  */
51
51
  _setParentDocument = this.updater((state, parent) => ({ ...state, parent }));
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
53
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore });
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, decorators: [{
56
56
  type: Injectable
57
57
  }] });
58
58
  /**
@@ -96,4 +96,4 @@ export class AbstractSingleItemDbxFirebaseDocument extends AbstractDbxFirebaseDo
96
96
  setRef = this.updater((state, ref) => state);
97
97
  clearRefs = this.updater((state) => state);
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5kb2N1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi5kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9HLE9BQU8sRUFBdUssMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwTyxPQUFPLEVBQUUsZ0NBQWdDLEVBQWtFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEksT0FBTyxFQUFtRSxvQkFBb0IsRUFBb0osTUFBTSw0QkFBNEIsQ0FBQzs7QUFNclI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMENBQTBTLFNBQVEsZ0NBQXlDO0lBQ3RXLGdCQUFnQjtJQUNQLGNBQWMsR0FBNEUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckgsU0FBUyxHQUFtRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO1FBQ2hJLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO29CQUN4QixNQUFN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QixFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQzlDO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMscUpBQXFKLENBQUMsQ0FBQzthQUN4SztTQUNGO2FBQU07WUFDTCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDaEQ7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVIOzs7O09BSUc7SUFDZSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUEyQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQW1GLENBQUM7SUFFeEs7Ozs7T0FJRztJQUNlLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQTZCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBbUYsQ0FBQztJQUUzSzs7OztPQUlHO0lBQ2UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBZ0MsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUErRyxDQUFDO0lBQ3hMLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgTkVWRVIsIHN3aXRjaE1hcCwgdGFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpcmVzdG9yZURvY3VtZW50LCBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3RvcnksIEZpcmVzdG9yZUNvbGxlY3Rpb24sIERvY3VtZW50UmVmZXJlbmNlLCBGaXJlc3RvcmVNb2RlbElkLCBGaXJlc3RvcmVNb2RlbEtleSwgU2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb24sIGZpcmVzdG9yZU1vZGVsS2V5UGFyZW50S2V5IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmUsIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSwgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb24sIHNldFBhcmVudFN0b3JlRWZmZWN0LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudCwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGUsIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb24gfSBmcm9tICcuL3N0b3JlLnN1YmNvbGxlY3Rpb24ucnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VEb2N1bWVudFdpdGhQYXJlbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4gZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4sIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50PFQsIFBULCBELCBQRCwgRmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4ge31cblxuLyoqXG4gKiBBYnN0cmFjdCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgdGhhdCBoYXMgYSBwYXJlbnQgZG9jdW1lbnQgZnJvbSB3aGljaCBpcyBkZXJpdmVzIGl0J3MgRmlyZXNiYXNlQ29sbGVjdGlvbiBmcm9tLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4+IGV4dGVuZHMgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRCwgQz4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlPFQsIFBULCBELCBQRD4ge1xuICAvLyBNQVJLOiBFZmZlY3RzXG4gIHJlYWRvbmx5IHNldFBhcmVudFN0b3JlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb248UFQsIFBEPiA9IHNldFBhcmVudFN0b3JlRWZmZWN0KHRoaXMpO1xuICByZWFkb25seSBzZXRQYXJlbnQ6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+ID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPFBEPj4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocGFyZW50KSA9PiB7XG4gICAgICAgIHRoaXMuX3NldFBhcmVudERvY3VtZW50KHBhcmVudCk7XG5cbiAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25GYWN0b3J5JC5waXBlKFxuICAgICAgICAgICAgdGFwKChjb2xsZWN0aW9uRmFjdG9yeSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbkZhY3RvcnkocGFyZW50KTtcbiAgICAgICAgICAgICAgdGhpcy5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNsZWFyIHRoZSBjdXJyZW50IGNvbGxlY3Rpb25cbiAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24odW5kZWZpbmVkKTtcblxuICAgICAgICAgIC8vIGRvIG5vdGhpbmcgdW50aWwgYSBwYXJlbnQgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IF9zZXRQYXJlbnQgPSB0aGlzLnNldFBhcmVudDtcblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmVudCBtb2RlbCBrZXkgZ2l2ZW4gdGhlIGN1cnJlbnQga2V5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFyZW50S2V5JCA9IHRoaXMua2V5JC5waXBlKFxuICAgIG1hcCgoeCkgPT4gZmlyZXN0b3JlTW9kZWxLZXlQYXJlbnRLZXkoeCwgMSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgucGFyZW50KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudFBhcmVudEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnBhcmVudD8ua2V5KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgcGFyZW50JDogT2JzZXJ2YWJsZTxQRD4gPSB0aGlzLmN1cnJlbnRQYXJlbnQkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IHBhcmVudEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PiA9IHRoaXMuY3VycmVudFBhcmVudEtleSQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5jb2xsZWN0aW9uRmFjdG9yeSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4gPSB0aGlzLmN1cnJlbnRDb2xsZWN0aW9uRmFjdG9yeSQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xsZWN0aW9uIGZhY3RvcnkgZnVuY3Rpb24gdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbkZhY3RvcnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeTogRmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4pID0+ICh7IC4uLnN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeSB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmVudCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IF9zZXRQYXJlbnREb2N1bWVudCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHBhcmVudDogTWF5YmU8UEQ+KSA9PiAoeyAuLi5zdGF0ZSwgcGFyZW50IH0pKTtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmUgZXh0ZW5zaW9uIGZvciB1c2Ugd2l0aCBTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFic3RyYWN0U2luZ2xlSXRlbURieEZpcmViYXNlRG9jdW1lbnQ8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4gZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQsIFBELCBDPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbiB0byB1c2UuXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbjogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4pID0+IHtcbiAgICBpZiAoZmlyZXN0b3JlQ29sbGVjdGlvbiAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpZCA9IChmaXJlc3RvcmVDb2xsZWN0aW9uIGFzIFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uPFQsIFBULCBELCBQRD4pLnNpbmdsZUl0ZW1JZGVudGlmaWVyO1xuXG4gICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbiwgaWQgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudCBvbmx5IGFjY2VwdHMgU2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb24gdmFsdWVzIHdpdGggYSBzaW5nbGVJdGVtSWRlbnRpZmllciBzZXQgZm9yIHNldEZpcmVzdG9yZUNvbGxlY3Rpb24uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uOiBudWxsIH07XG4gICAgfVxuICB9KTtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRJZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkOiBNYXliZTxGaXJlc3RvcmVNb2RlbElkPikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRLZXkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk6IE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRSZWYgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZWY6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+IHwgT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+KSA9PiBTdWJzY3JpcHRpb247XG4gIG92ZXJyaWRlIHJlYWRvbmx5IGNsZWFyUmVmcyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IHN0YXRlKTtcbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5kb2N1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi5kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9HLE9BQU8sRUFBdUssMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwTyxPQUFPLEVBQUUsZ0NBQWdDLEVBQWtFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEksT0FBTyxFQUFtRSxvQkFBb0IsRUFBb0osTUFBTSw0QkFBNEIsQ0FBQzs7QUFNclI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMENBQTBTLFNBQVEsZ0NBQXlDO0lBQ3RXLGdCQUFnQjtJQUNQLGNBQWMsR0FBNEUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckgsU0FBUyxHQUFtRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO1FBQ2hJLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7b0JBQ3hC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T0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQy9DLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLHFKQUFxSixDQUFDLENBQUM7WUFDekssQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVIOzs7O09BSUc7SUFDZSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUEyQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQW1GLENBQUM7SUFFeEs7Ozs7T0FJRztJQUNlLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQTZCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBbUYsQ0FBQztJQUUzSzs7OztPQUlHO0lBQ2UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBZ0MsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUErRyxDQUFDO0lBQ3hMLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgTkVWRVIsIHN3aXRjaE1hcCwgdGFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpcmVzdG9yZURvY3VtZW50LCBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3RvcnksIEZpcmVzdG9yZUNvbGxlY3Rpb24sIERvY3VtZW50UmVmZXJlbmNlLCBGaXJlc3RvcmVNb2RlbElkLCBGaXJlc3RvcmVNb2RlbEtleSwgU2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb24sIGZpcmVzdG9yZU1vZGVsS2V5UGFyZW50S2V5IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmUsIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSwgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb24sIHNldFBhcmVudFN0b3JlRWZmZWN0LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudCwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGUsIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb24gfSBmcm9tICcuL3N0b3JlLnN1YmNvbGxlY3Rpb24ucnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VEb2N1bWVudFdpdGhQYXJlbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBEPiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4gZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4sIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50PFQsIFBULCBELCBQRCwgRmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4ge31cblxuLyoqXG4gKiBBYnN0cmFjdCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgdGhhdCBoYXMgYSBwYXJlbnQgZG9jdW1lbnQgZnJvbSB3aGljaCBpcyBkZXJpdmVzIGl0J3MgRmlyZXNiYXNlQ29sbGVjdGlvbiBmcm9tLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4+IGV4dGVuZHMgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRCwgQz4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlPFQsIFBULCBELCBQRD4ge1xuICAvLyBNQVJLOiBFZmZlY3RzXG4gIHJlYWRvbmx5IHNldFBhcmVudFN0b3JlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb248UFQsIFBEPiA9IHNldFBhcmVudFN0b3JlRWZmZWN0KHRoaXMpO1xuICByZWFkb25seSBzZXRQYXJlbnQ6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+ID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPFBEPj4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocGFyZW50KSA9PiB7XG4gICAgICAgIHRoaXMuX3NldFBhcmVudERvY3VtZW50KHBhcmVudCk7XG5cbiAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25GYWN0b3J5JC5waXBlKFxuICAgICAgICAgICAgdGFwKChjb2xsZWN0aW9uRmFjdG9yeSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbkZhY3RvcnkocGFyZW50KTtcbiAgICAgICAgICAgICAgdGhpcy5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNsZWFyIHRoZSBjdXJyZW50IGNvbGxlY3Rpb25cbiAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24odW5kZWZpbmVkKTtcblxuICAgICAgICAgIC8vIGRvIG5vdGhpbmcgdW50aWwgYSBwYXJlbnQgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IF9zZXRQYXJlbnQgPSB0aGlzLnNldFBhcmVudDtcblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmVudCBtb2RlbCBrZXkgZ2l2ZW4gdGhlIGN1cnJlbnQga2V5IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFyZW50S2V5JCA9IHRoaXMua2V5JC5waXBlKFxuICAgIG1hcCgoeCkgPT4gZmlyZXN0b3JlTW9kZWxLZXlQYXJlbnRLZXkoeCwgMSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgucGFyZW50KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY3VycmVudFBhcmVudEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnBhcmVudD8ua2V5KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgcGFyZW50JDogT2JzZXJ2YWJsZTxQRD4gPSB0aGlzLmN1cnJlbnRQYXJlbnQkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IHBhcmVudEtleSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlTW9kZWxLZXk+PiA9IHRoaXMuY3VycmVudFBhcmVudEtleSQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5jb2xsZWN0aW9uRmFjdG9yeSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4gPSB0aGlzLmN1cnJlbnRDb2xsZWN0aW9uRmFjdG9yeSQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xsZWN0aW9uIGZhY3RvcnkgZnVuY3Rpb24gdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbkZhY3RvcnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeTogRmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4pID0+ICh7IC4uLnN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeSB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmVudCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IF9zZXRQYXJlbnREb2N1bWVudCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHBhcmVudDogTWF5YmU8UEQ+KSA9PiAoeyAuLi5zdGF0ZSwgcGFyZW50IH0pKTtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmUgZXh0ZW5zaW9uIGZvciB1c2Ugd2l0aCBTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFic3RyYWN0U2luZ2xlSXRlbURieEZpcmViYXNlRG9jdW1lbnQ8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4gZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQsIFBELCBDPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBTaW5nbGVJdGVtRmlyZXN0b3JlQ29sbGVjdGlvbiB0byB1c2UuXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbjogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbjxULCBEPj4pID0+IHtcbiAgICBpZiAoZmlyZXN0b3JlQ29sbGVjdGlvbiAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpZCA9IChmaXJlc3RvcmVDb2xsZWN0aW9uIGFzIFNpbmdsZUl0ZW1GaXJlc3RvcmVDb2xsZWN0aW9uPFQsIFBULCBELCBQRD4pLnNpbmdsZUl0ZW1JZGVudGlmaWVyO1xuXG4gICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgZmlyZXN0b3JlQ29sbGVjdGlvbiwgaWQgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudCBvbmx5IGFjY2VwdHMgU2luZ2xlSXRlbUZpcmVzdG9yZUNvbGxlY3Rpb24gdmFsdWVzIHdpdGggYSBzaW5nbGVJdGVtSWRlbnRpZmllciBzZXQgZm9yIHNldEZpcmVzdG9yZUNvbGxlY3Rpb24uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBmaXJlc3RvcmVDb2xsZWN0aW9uOiBudWxsIH07XG4gICAgfVxuICB9KTtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRJZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkOiBNYXliZTxGaXJlc3RvcmVNb2RlbElkPikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRLZXkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk6IE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8c3RyaW5nPiB8IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogRG9lcyBub3RoaW5nIG9uIGEgQWJzdHJhY3RTaW5nbGVJdGVtRGJ4RmlyZWJhc2VEb2N1bWVudC5cbiAgICpcbiAgICogUmVmIGlzIHNldCB3aXRoIHRoZSBGaXJlc3RvcmVDb2xsZWN0aW9uXG4gICAqL1xuICBvdmVycmlkZSByZWFkb25seSBzZXRSZWYgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZWY6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+PikgPT4gc3RhdGUpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+IHwgT2JzZXJ2YWJsZTxNYXliZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4+KSA9PiBTdWJzY3JpcHRpb247XG4gIG92ZXJyaWRlIHJlYWRvbmx5IGNsZWFyUmVmcyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IHN0YXRlKTtcbn1cbiJdfQ==
@@ -61,12 +61,12 @@ export class AbstractDbxFirebaseCollectionWithParentStore extends AbstractDbxFir
61
61
  */
62
62
  _setParentDocument = this.updater((state, parent) => ({ ...state, parent }));
63
63
  _setParent = this._setParentDocument;
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
68
68
  type: Injectable
69
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
69
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
70
70
  type: Inject,
71
71
  args: [null]
72
72
  }, {
@@ -76,5 +76,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
76
76
  args: [null]
77
77
  }, {
78
78
  type: Optional
79
- }] }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQWdCLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBc0UsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SSxPQUFPLEVBQTJNLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBcUIzUTs7R0FFRztBQUVILE1BQU0sT0FBTyw0Q0FBZ1QsU0FBUSxrQ0FBMkM7SUFDOVcscUdBQXFHO0lBQ3JHLFlBQXNDLEtBQVEsRUFBNEIsaUJBQWlFO1FBQ3pJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGdCQUFnQjtJQUNQLGNBQWMsR0FBNEUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckgsYUFBYSxHQUFtRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBdUUsRUFBRSxFQUFFO1FBQy9LLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsV0FBVyxFQUFF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LFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQTBFLENBQUM7d0dBbkYzRiw0Q0FBNEMsa0JBRW5DLElBQUksNkJBQWdDLElBQUk7NEdBRmpELDRDQUE0Qzs7NEZBQTVDLDRDQUE0QztrQkFEeEQsVUFBVTs7MEJBR0ksTUFBTTsyQkFBQyxJQUFJOzswQkFBRyxRQUFROzswQkFBYyxNQUFNOzJCQUFDLElBQUk7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBTdWJzY3JpcHRpb24sIE5FVkVSLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwLCBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3RvcnksIEZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZSwgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmUsIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlQ29udGV4dFN0YXRlIH0gZnJvbSAnLi9zdG9yZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQsIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50Q29udGV4dFN0YXRlLCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb24sIHNldFBhcmVudFN0b3JlRWZmZWN0IH0gZnJvbSAnLi9zdG9yZS5zdWJjb2xsZWN0aW9uLnJ4anMnO1xuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIGxvYWQgdmFsdWVzIGZyb20gYSBwYXJlbnQgb3IgYSBncm91cC5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlID0gJ3BhcmVudCcgfCAnZ3JvdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZTxULCBQVCwgRCwgUEQ+IHtcbiAgcmVhZG9ubHkgbW9kZT86IE1heWJlPERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U291cmNlTW9kZT47XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25Hcm91cD86IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj47XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U291cmNlTW9kZUZ1bmN0aW9uID0gKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGU+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlPFQsIEQ+LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudDxULCBQVCwgRCwgUEQ+IHtcbiAgcmVhZG9ubHkgc2V0U291cmNlTW9kZTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTb3VyY2VNb2RlRnVuY3Rpb247XG4gIHJlYWRvbmx5IHNldENvbGxlY3Rpb25Hcm91cDogKG9ic2VydmFibGVPclZhbHVlOiBGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4gfCBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4pID0+IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgY3VycmVudENvbGxlY3Rpb25Hcm91cCQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+Pj47XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25Hcm91cCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+Pjtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZSB0aGF0IGhhcyBhIHBhcmVudCBkb2N1bWVudCBmcm9tIHdoaWNoIGlzIGRlcml2ZXMgaXQncyBGaXJlc2Jhc2VDb2xsZWN0aW9uIGZyb20uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4gPSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4gZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlPFQsIEQsIEM+IGltcGxlbWVudHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlPFQsIFBULCBELCBQRD4ge1xuICAvLyBOT1RFOiBJbmplY3Rpb24gZG9lcyBub3Qgb2NjdXIgaGVyZSwgYnV0IHdlIG5lZWQgQEluamVjdGFibGUgdG8gY29tcGlsZSBwcm9wZXJseSBmb3IgQW5ndWxhciB1c2FnZVxuICBjb25zdHJ1Y3RvcihASW5qZWN0KG51bGwpIEBPcHRpb25hbCgpIHN0YXRlOiBDLCBASW5qZWN0KG51bGwpIEBPcHRpb25hbCgpIGRlZmF1bHRTb3VyY2VNb2RlPzogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlKSB7XG4gICAgc3VwZXIoc3RhdGUpO1xuICAgIHRoaXMuc2V0U291cmNlTW9kZShkZWZhdWx0U291cmNlTW9kZSB8fCAncGFyZW50Jyk7XG4gIH1cblxuICAvLyBNQVJLOiBFZmZlY3RzXG4gIHJlYWRvbmx5IHNldFBhcmVudFN0b3JlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb248UFQsIFBEPiA9IHNldFBhcmVudFN0b3JlRWZmZWN0KHRoaXMpO1xuICByZWFkb25seSBzZXRTb3VyY2VNb2RlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFNvdXJjZU1vZGVGdW5jdGlvbiA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGU+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgoaW5wdXRNb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBpbnB1dE1vZGU/LnRvTG93ZXJDYXNlKCkgPz8gJ3BhcmVudCc7IC8vIGRlZmF1bHQgdG8gcGFyZW50IG1vZGVcblxuICAgICAgICBpZiAobW9kZSA9PT0gJ2dyb3VwJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRDb2xsZWN0aW9uR3JvdXAkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvbGxlY3Rpb25Hcm91cCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24oY29sbGVjdGlvbkdyb3VwKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBwYXJlbnQgZG9jdW1lbnQgY29sbGVjdGlvblxuICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYXJlbnQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHBhcmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbkZhY3RvcnkkLnBpcGUoXG4gICAgICAgICAgICAgICAgICB0YXAoKGNvbGxlY3Rpb25GYWN0b3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uRmFjdG9yeShwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24oY29sbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGN1cnJlbnRQYXJlbnQkOiBPYnNlcnZhYmxlPE1heWJlPFBEPj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5wYXJlbnQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBwYXJlbnQkOiBPYnNlcnZhYmxlPFBEPiA9IHRoaXMuY3VycmVudFBhcmVudCQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5jb2xsZWN0aW9uRmFjdG9yeSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4gPSB0aGlzLmN1cnJlbnRDb2xsZWN0aW9uRmFjdG9yeSQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkdyb3VwJDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmNvbGxlY3Rpb25Hcm91cCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25Hcm91cCQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+PiA9IHRoaXMuY3VycmVudENvbGxlY3Rpb25Hcm91cCQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xsZWN0aW9uIGZhY3RvcnkgZnVuY3Rpb24gdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbkZhY3RvcnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeTogRmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4pID0+ICh7IC4uLnN0YXRlLCBjb2xsZWN0aW9uRmFjdG9yeSB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxlY3Rpb24gZ3JvdXAgdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbkdyb3VwID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgY29sbGVjdGlvbkdyb3VwOiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+KSA9PiAoeyAuLi5zdGF0ZSwgY29sbGVjdGlvbkdyb3VwIH0pKSBhcyAob2JzZXJ2YWJsZU9yVmFsdWU6IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4gfCBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4+KSA9PiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmVudCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IF9zZXRQYXJlbnREb2N1bWVudCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHBhcmVudDogTWF5YmU8UEQ+KSA9PiAoeyAuLi5zdGF0ZSwgcGFyZW50IH0pKTtcbiAgcmVhZG9ubHkgX3NldFBhcmVudCA9IHRoaXMuX3NldFBhcmVudERvY3VtZW50IGFzIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD47XG59XG4iXX0=
79
+ }] }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFjLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQWdCLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBc0UsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SSxPQUFPLEVBQTJNLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBcUIzUTs7R0FFRztBQUVILE1BQU0sT0FBTyw0Q0FBZ1QsU0FBUSxrQ0FBMkM7SUFDOVcscUdBQXFHO0lBQ3JHLFlBQXNDLEtBQVEsRUFBNEIsaUJBQWlFO1FBQ3pJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGdCQUFnQjtJQUNQLGNBQWMsR0FBNEUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckgsYUFBYSxHQUFtRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBdUUsRUFBRSxFQUFFO1FBQy9LLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsV0FBVyxFQUFF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S0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUEwRSxDQUFDO3dHQW5GM0YsNENBQTRDLGtCQUVuQyxJQUFJLDZCQUFnQyxJQUFJOzRHQUZqRCw0Q0FBNEM7OzRGQUE1Qyw0Q0FBNEM7a0JBRHhELFVBQVU7OzBCQUdJLE1BQU07MkJBQUMsSUFBSTs7MEJBQUcsUUFBUTs7MEJBQWMsTUFBTTsyQkFBQyxJQUFJOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyTWF5YmUsIE9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgU3Vic2NyaXB0aW9uLCBORVZFUiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cCwgRmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5LCBGaXJlc3RvcmVEb2N1bWVudCB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmUsIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlLCBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZUNvbnRleHRTdGF0ZSB9IGZyb20gJy4vc3RvcmUuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlU2V0UGFyZW50RWZmZWN0RnVuY3Rpb24sIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZSwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTdG9yZUVmZmVjdEZ1bmN0aW9uLCBzZXRQYXJlbnRTdG9yZUVmZmVjdCB9IGZyb20gJy4vc3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzJztcblxuLyoqXG4gKiBXaGV0aGVyIG9yIG5vdCB0byBsb2FkIHZhbHVlcyBmcm9tIGEgcGFyZW50IG9yIGEgZ3JvdXAuXG4gKi9cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U291cmNlTW9kZSA9ICdwYXJlbnQnIHwgJ2dyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4gZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZUNvbnRleHRTdGF0ZTxULCBEPiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiB7XG4gIHJlYWRvbmx5IG1vZGU/OiBNYXliZTxEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGU+O1xuICByZWFkb25seSBjb2xsZWN0aW9uR3JvdXA/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+O1xufVxuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFNvdXJjZU1vZGVGdW5jdGlvbiA9IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4gZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZTxULCBEPiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQsIFBEPiB7XG4gIHJlYWRvbmx5IHNldFNvdXJjZU1vZGU6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U291cmNlTW9kZUZ1bmN0aW9uO1xuICByZWFkb25seSBzZXRDb2xsZWN0aW9uR3JvdXA6IChvYnNlcnZhYmxlT3JWYWx1ZTogRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+IHwgT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+KSA9PiBTdWJzY3JpcHRpb247XG4gIHJlYWRvbmx5IGN1cnJlbnRDb2xsZWN0aW9uR3JvdXAkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4+O1xuICByZWFkb25seSBjb2xsZWN0aW9uR3JvdXAkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj47XG59XG5cbi8qKlxuICogQWJzdHJhY3QgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmUgdGhhdCBoYXMgYSBwYXJlbnQgZG9jdW1lbnQgZnJvbSB3aGljaCBpcyBkZXJpdmVzIGl0J3MgRmlyZXNiYXNlQ29sbGVjdGlvbiBmcm9tLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBQVCwgRCwgUEQ+ID0gRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4+IGV4dGVuZHMgQWJzdHJhY3REYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZTxULCBELCBDPiBpbXBsZW1lbnRzIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZTxULCBQVCwgRCwgUEQ+IHtcbiAgLy8gTk9URTogSW5qZWN0aW9uIGRvZXMgbm90IG9jY3VyIGhlcmUsIGJ1dCB3ZSBuZWVkIEBJbmplY3RhYmxlIHRvIGNvbXBpbGUgcHJvcGVybHkgZm9yIEFuZ3VsYXIgdXNhZ2VcbiAgY29uc3RydWN0b3IoQEluamVjdChudWxsKSBAT3B0aW9uYWwoKSBzdGF0ZTogQywgQEluamVjdChudWxsKSBAT3B0aW9uYWwoKSBkZWZhdWx0U291cmNlTW9kZT86IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U291cmNlTW9kZSkge1xuICAgIHN1cGVyKHN0YXRlKTtcbiAgICB0aGlzLnNldFNvdXJjZU1vZGUoZGVmYXVsdFNvdXJjZU1vZGUgfHwgJ3BhcmVudCcpO1xuICB9XG5cbiAgLy8gTUFSSzogRWZmZWN0c1xuICByZWFkb25seSBzZXRQYXJlbnRTdG9yZTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTdG9yZUVmZmVjdEZ1bmN0aW9uPFBULCBQRD4gPSBzZXRQYXJlbnRTdG9yZUVmZmVjdCh0aGlzKTtcbiAgcmVhZG9ubHkgc2V0U291cmNlTW9kZTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTb3VyY2VNb2RlRnVuY3Rpb24gPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlPj4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzd2l0Y2hNYXAoKGlucHV0TW9kZSkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlID0gaW5wdXRNb2RlPy50b0xvd2VyQ2FzZSgpID8/ICdwYXJlbnQnOyAvLyBkZWZhdWx0IHRvIHBhcmVudCBtb2RlXG5cbiAgICAgICAgaWYgKG1vZGUgPT09ICdncm91cCcpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50Q29sbGVjdGlvbkdyb3VwJC5waXBlKFxuICAgICAgICAgICAgdGFwKChjb2xsZWN0aW9uR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKGNvbGxlY3Rpb25Hcm91cCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gcGFyZW50IGRvY3VtZW50IGNvbGxlY3Rpb25cbiAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFyZW50JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChwYXJlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25GYWN0b3J5JC5waXBlKFxuICAgICAgICAgICAgICAgICAgdGFwKChjb2xsZWN0aW9uRmFjdG9yeSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbkZhY3RvcnkocGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlyZXN0b3JlQ29sbGVjdGlvbih1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgucGFyZW50KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgcGFyZW50JDogT2JzZXJ2YWJsZTxQRD4gPSB0aGlzLmN1cnJlbnRQYXJlbnQkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudENvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguY29sbGVjdGlvbkZhY3RvcnkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjb2xsZWN0aW9uRmFjdG9yeSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4+ID0gdGhpcy5jdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudENvbGxlY3Rpb25Hcm91cCQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+Pj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5jb2xsZWN0aW9uR3JvdXApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjb2xsZWN0aW9uR3JvdXAkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4gPSB0aGlzLmN1cnJlbnRDb2xsZWN0aW9uR3JvdXAkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGVjdGlvbiBmYWN0b3J5IGZ1bmN0aW9uIHRvIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHNldENvbGxlY3Rpb25GYWN0b3J5ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgY29sbGVjdGlvbkZhY3Rvcnk6IEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+KSA9PiAoeyAuLi5zdGF0ZSwgY29sbGVjdGlvbkZhY3RvcnkgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xsZWN0aW9uIGdyb3VwIHRvIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHNldENvbGxlY3Rpb25Hcm91cCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGNvbGxlY3Rpb25Hcm91cDogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+PikgPT4gKHsgLi4uc3RhdGUsIGNvbGxlY3Rpb25Hcm91cCB9KSkgYXMgKG9ic2VydmFibGVPclZhbHVlOiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+IHwgT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYXJlbnQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBfc2V0UGFyZW50RG9jdW1lbnQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBwYXJlbnQ6IE1heWJlPFBEPikgPT4gKHsgLi4uc3RhdGUsIHBhcmVudCB9KSk7XG4gIHJlYWRvbmx5IF9zZXRQYXJlbnQgPSB0aGlzLl9zZXRQYXJlbnREb2N1bWVudCBhcyBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlU2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+O1xufVxuIl19
@@ -20,4 +20,4 @@ export function setParentStoreEffect(store) {
20
20
  }));
21
21
  });
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5zdWJjb2xsZWN0aW9uLnJ4anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUFFLEdBQUcsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFzQnJELE1BQU0sVUFBVSxvQkFBb0IsQ0FBa00sS0FBMkQ7SUFDL1IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBMEQsRUFBRSxFQUFFO1FBQ2pGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixJQUFJLE1BQTJCLENBQUM7WUFFaEMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFpQixDQUFDO2FBQ3pFO2lCQUFNO2dCQUNMLE1BQU0sR0FBRyxTQUFTLENBQUM7YUFDcEI7WUFFRCxpQ0FBaUM7WUFDakMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXBDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2QsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2tTZXRDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlLCBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3RvcnksIEZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgY2xlYW51cCwgT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgfSBmcm9tICcuL3N0b3JlLmRvY3VtZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiB7XG4gIHJlYWRvbmx5IHBhcmVudD86IE1heWJlPFBEPjtcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkZhY3Rvcnk/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj47XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD4gPSAocGFyZW50OiBPYnNlcnZhYmxlPE1heWJlPFBEPj4pID0+IFN1YnNjcmlwdGlvbjtcbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+ID0gKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxQRD4+KSA9PiBTdWJzY3JpcHRpb247XG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb248UFQsIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiA9IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFBULCBQRD4+KSA9PiBTdWJzY3JpcHRpb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQSBleHRlbmRzIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+ID0gRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+IGV4dGVuZHMgTG9ja1NldENvbXBvbmVudFN0b3JlPG9iamVjdD4sIFBpY2s8Q29tcG9uZW50U3RvcmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4sICdlZmZlY3QnPiB7XG4gIHJlYWRvbmx5IGN1cnJlbnRQYXJlbnQkOiBPYnNlcnZhYmxlPE1heWJlPFBEPj47XG4gIHJlYWRvbmx5IHBhcmVudCQ6IE9ic2VydmFibGU8UEQ+O1xuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pj47XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj47XG4gIHJlYWRvbmx5IF9zZXRQYXJlbnQ6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD47XG4gIHJlYWRvbmx5IF9zZXRQYXJlbnREb2N1bWVudDogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UEQ+PikgPT4gU3Vic2NyaXB0aW9uKTtcbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbjogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8QT4+KSA9PiBTdWJzY3JpcHRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UGFyZW50U3RvcmVFZmZlY3Q8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQSBleHRlbmRzIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+ID0gRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+KHN0b3JlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudDxULCBQVCwgRCwgUEQsIEE+KTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTdG9yZUVmZmVjdEZ1bmN0aW9uPFBULCBQRD4ge1xuICByZXR1cm4gc3RvcmUuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8UFQsIFBEPj4+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBtYXAoKHBhcmVudFN0b3JlKSA9PiB7XG4gICAgICAgIGxldCByZXN1bHQ6IE1heWJlPFN1YnNjcmlwdGlvbj47XG5cbiAgICAgICAgaWYgKHBhcmVudFN0b3JlKSB7XG4gICAgICAgICAgcmVzdWx0ID0gc3RvcmUuX3NldFBhcmVudChwYXJlbnRTdG9yZS5jdXJyZW50RG9jdW1lbnQkKSBhcyBTdWJzY3JpcHRpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2V0IGFzIHRoZSBwYXJlbnQgbG9jayBzZXQgdG9vXG4gICAgICAgIHN0b3JlLnNldFBhcmVudExvY2tTZXQocGFyZW50U3RvcmUpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGNsZWFudXAoKHN1YikgPT4ge1xuICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5zdWJjb2xsZWN0aW9uLnJ4anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUFFLEdBQUcsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFzQnJELE1BQU0sVUFBVSxvQkFBb0IsQ0FBa00sS0FBMkQ7SUFDL1IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBMEQsRUFBRSxFQUFFO1FBQ2pGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixJQUFJLE1BQTJCLENBQUM7WUFFaEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFpQixDQUFDO1lBQzFFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxpQ0FBaUM7WUFDakMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXBDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2QsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NrU2V0Q29tcG9uZW50U3RvcmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZSwgRmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5LCBGaXJlc3RvcmVEb2N1bWVudCB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IGNsZWFudXAsIE9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4ge1xuICByZWFkb25seSBwYXJlbnQ/OiBNYXliZTxQRD47XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5PzogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4+O1xufVxuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlU2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+ID0gKHBhcmVudDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+KSA9PiBTdWJzY3JpcHRpb247XG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudEVmZmVjdEZ1bmN0aW9uPFBEPiA9IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UEQ+PikgPT4gU3Vic2NyaXB0aW9uO1xuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTdG9yZUVmZmVjdEZ1bmN0aW9uPFBULCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4gPSAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxQVCwgUEQ+PikgPT4gU3Vic2NyaXB0aW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50PFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4sIEEgZXh0ZW5kcyBGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPiA9IEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+PiBleHRlbmRzIExvY2tTZXRDb21wb25lbnRTdG9yZTxvYmplY3Q+LCBQaWNrPENvbXBvbmVudFN0b3JlPERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50Q29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4+LCAnZWZmZWN0Jz4ge1xuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+O1xuICByZWFkb25seSBwYXJlbnQkOiBPYnNlcnZhYmxlPFBEPjtcbiAgcmVhZG9ubHkgY3VycmVudENvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4+O1xuICByZWFkb25seSBjb2xsZWN0aW9uRmFjdG9yeSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4+O1xuICByZWFkb25seSBfc2V0UGFyZW50OiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlU2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+O1xuICByZWFkb25seSBfc2V0UGFyZW50RG9jdW1lbnQ6ICgoKSA9PiB2b2lkKSB8ICgob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFBEPj4pID0+IFN1YnNjcmlwdGlvbik7XG4gIHJlYWRvbmx5IHNldEZpcmVzdG9yZUNvbGxlY3Rpb246ICgoKSA9PiB2b2lkKSB8ICgob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEE+PikgPT4gU3Vic2NyaXB0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFBhcmVudFN0b3JlRWZmZWN0PFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4sIEEgZXh0ZW5kcyBGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPiA9IEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+PihzdG9yZTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQsIFBELCBBPik6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbjxQVCwgUEQ+IHtcbiAgcmV0dXJuIHN0b3JlLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFBULCBQRD4+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgbWFwKChwYXJlbnRTdG9yZSkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0OiBNYXliZTxTdWJzY3JpcHRpb24+O1xuXG4gICAgICAgIGlmIChwYXJlbnRTdG9yZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHN0b3JlLl9zZXRQYXJlbnQocGFyZW50U3RvcmUuY3VycmVudERvY3VtZW50JCkgYXMgU3Vic2NyaXB0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNldCBhcyB0aGUgcGFyZW50IGxvY2sgc2V0IHRvb1xuICAgICAgICBzdG9yZS5zZXRQYXJlbnRMb2NrU2V0KHBhcmVudFN0b3JlKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSksXG4gICAgICBjbGVhbnVwKChzdWIpID0+IHtcbiAgICAgICAgaWYgKHN1Yikge1xuICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xufVxuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './model.context.instance';
2
+ export * from './model.context.providers';
2
3
  export * from './model.context.service';
3
4
  export * from './model.context';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbC5jb250ZXh0Lmluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwuY29udGV4dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwuY29udGV4dCc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVsLmNvbnRleHQuaW5zdGFuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC5jb250ZXh0LnByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLmNvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLmNvbnRleHQnO1xuIl19