@angular/fire 16.0.0-canary.596e208 → 16.0.0-canary.78407bc

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 (253) hide show
  1. package/README.md +200 -0
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +4 -1
  4. package/analytics/screen-tracking.service.d.ts +3 -3
  5. package/app-check/app-check.module.d.ts +3 -3
  6. package/app-check/firebase.d.ts +2 -1
  7. package/auth/auth.module.d.ts +2 -2
  8. package/auth/firebase.d.ts +3 -1
  9. package/auth-guard/auth-guard.d.ts +2 -2
  10. package/compat/analytics/analytics.d.ts +1 -3
  11. package/compat/analytics/analytics.module.d.ts +1 -1
  12. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  13. package/compat/analytics/user-tracking.service.d.ts +1 -1
  14. package/compat/auth/auth.d.ts +3 -3
  15. package/compat/auth-guard/auth-guard.d.ts +2 -2
  16. package/compat/database/database.d.ts +4 -4
  17. package/compat/database/interfaces.d.ts +2 -2
  18. package/compat/database/list/audit-trail.d.ts +1 -1
  19. package/compat/database/list/create-reference.d.ts +1 -1
  20. package/compat/database/list/data-operation.d.ts +1 -1
  21. package/compat/database/list/state-changes.d.ts +1 -1
  22. package/compat/database/object/create-reference.d.ts +1 -1
  23. package/compat/database/observable/fromRef.d.ts +1 -1
  24. package/compat/database/utils.d.ts +1 -1
  25. package/compat/firebase.app.module.d.ts +1 -1
  26. package/compat/firestore/collection/collection.d.ts +2 -2
  27. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  28. package/compat/firestore/document/document.d.ts +4 -4
  29. package/compat/firestore/firestore.d.ts +7 -7
  30. package/compat/firestore/interfaces.d.ts +2 -2
  31. package/compat/functions/functions.d.ts +3 -3
  32. package/compat/messaging/messaging.d.ts +2 -2
  33. package/compat/performance/performance.d.ts +2 -2
  34. package/compat/remote-config/remote-config.d.ts +15 -49
  35. package/compat/storage/observable/fromTask.d.ts +1 -2
  36. package/compat/storage/ref.d.ts +1 -1
  37. package/compat/storage/storage.d.ts +3 -3
  38. package/compat/storage/task.d.ts +1 -1
  39. package/database/database.module.d.ts +2 -2
  40. package/docs/analytics.md +67 -0
  41. package/docs/app-check.md +53 -0
  42. package/docs/auth.md +165 -0
  43. package/docs/compat/analytics/getting-started.md +137 -0
  44. package/docs/compat/auth/getting-started.md +162 -0
  45. package/docs/compat/auth/router-guards.md +104 -0
  46. package/docs/compat/emulators/emulators.md +134 -0
  47. package/docs/compat/firestore/collections.md +326 -0
  48. package/docs/compat/firestore/documents.md +115 -0
  49. package/docs/compat/firestore/offline-data.md +39 -0
  50. package/docs/compat/firestore/querying-collections.md +204 -0
  51. package/docs/compat/functions/functions.md +166 -0
  52. package/docs/compat/messaging/messaging.md +232 -0
  53. package/docs/compat/performance/getting-started.md +132 -0
  54. package/docs/compat/remote-config/getting-started.md +134 -0
  55. package/docs/compat/rtdb/lists.md +257 -0
  56. package/docs/compat/rtdb/objects.md +182 -0
  57. package/docs/compat/rtdb/querying-lists.md +155 -0
  58. package/docs/compat/storage/storage.md +257 -0
  59. package/docs/compat.md +70 -0
  60. package/docs/database.md +175 -0
  61. package/docs/deploy/getting-started.md +204 -0
  62. package/docs/firebase.json +16 -0
  63. package/docs/firestore.md +148 -0
  64. package/docs/functions.md +52 -0
  65. package/docs/images/analytics-illo_1x.png +0 -0
  66. package/docs/images/auth-illo_1x.png +0 -0
  67. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  68. package/docs/images/database-illo_1x.png +0 -0
  69. package/docs/images/firestore-illo_1x.png +0 -0
  70. package/docs/images/functions-illo_1x.png +0 -0
  71. package/docs/images/hosting-illo_1x.png +0 -0
  72. package/docs/images/performance-illo_1x.png +0 -0
  73. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  74. package/docs/images/remote-config-illo_1x.png +0 -0
  75. package/docs/images/storage-illo_1x.png +0 -0
  76. package/docs/install-and-setup.md +114 -0
  77. package/docs/install-angular-cli-windows10.md +82 -0
  78. package/docs/install-firebase-tools.md +78 -0
  79. package/docs/messaging.md +25 -0
  80. package/docs/performance.md +57 -0
  81. package/docs/remote-config.md +53 -0
  82. package/docs/storage.md +90 -0
  83. package/docs/universal/cloud-functions.md +96 -0
  84. package/docs/universal/getting-started.md +28 -0
  85. package/docs/universal/prerendering.md +72 -0
  86. package/docs/version-4-upgrade.md +119 -0
  87. package/docs/version-5-upgrade.md +82 -0
  88. package/docs/version-6-upgrade.md +16 -0
  89. package/docs/version-7-upgrade.md +298 -0
  90. package/esm2022/analytics/analytics.mjs +1 -1
  91. package/esm2022/analytics/analytics.module.mjs +10 -10
  92. package/esm2022/analytics/firebase.mjs +5 -2
  93. package/esm2022/analytics/screen-tracking.service.mjs +11 -10
  94. package/esm2022/analytics/user-tracking.service.mjs +5 -5
  95. package/esm2022/app/app.mjs +1 -1
  96. package/esm2022/app/app.module.mjs +9 -8
  97. package/esm2022/app-check/app-check.mjs +2 -2
  98. package/esm2022/app-check/app-check.module.mjs +10 -11
  99. package/esm2022/app-check/firebase.mjs +3 -2
  100. package/esm2022/auth/auth.mjs +1 -1
  101. package/esm2022/auth/auth.module.mjs +10 -10
  102. package/esm2022/auth/firebase.mjs +4 -2
  103. package/esm2022/auth-guard/auth-guard.mjs +8 -6
  104. package/esm2022/auth-guard/auth-guard.module.mjs +7 -7
  105. package/esm2022/compat/analytics/analytics.mjs +12 -13
  106. package/esm2022/compat/analytics/analytics.module.mjs +14 -11
  107. package/esm2022/compat/analytics/screen-tracking.service.mjs +9 -9
  108. package/esm2022/compat/analytics/user-tracking.service.mjs +7 -7
  109. package/esm2022/compat/auth/auth.mjs +13 -13
  110. package/esm2022/compat/auth/auth.module.mjs +7 -7
  111. package/esm2022/compat/auth-guard/auth-guard.mjs +8 -6
  112. package/esm2022/compat/auth-guard/auth-guard.module.mjs +7 -7
  113. package/esm2022/compat/cache.mjs +2 -1
  114. package/esm2022/compat/database/database.mjs +10 -10
  115. package/esm2022/compat/database/database.module.mjs +7 -7
  116. package/esm2022/compat/database/interfaces.mjs +1 -1
  117. package/esm2022/compat/database/list/audit-trail.mjs +3 -3
  118. package/esm2022/compat/database/list/changes.mjs +5 -5
  119. package/esm2022/compat/database/list/create-reference.mjs +5 -5
  120. package/esm2022/compat/database/list/data-operation.mjs +1 -1
  121. package/esm2022/compat/database/list/snapshot-changes.mjs +1 -1
  122. package/esm2022/compat/database/list/state-changes.mjs +2 -2
  123. package/esm2022/compat/database/object/create-reference.mjs +2 -2
  124. package/esm2022/compat/database/object/snapshot-changes.mjs +1 -1
  125. package/esm2022/compat/database/observable/fromRef.mjs +3 -2
  126. package/esm2022/compat/database/utils.mjs +1 -1
  127. package/esm2022/compat/firebase.app.mjs +1 -1
  128. package/esm2022/compat/firebase.app.module.mjs +11 -9
  129. package/esm2022/compat/firestore/collection/changes.mjs +2 -2
  130. package/esm2022/compat/firestore/collection/collection.mjs +4 -4
  131. package/esm2022/compat/firestore/collection-group/collection-group.mjs +4 -4
  132. package/esm2022/compat/firestore/document/document.mjs +4 -4
  133. package/esm2022/compat/firestore/firestore.mjs +11 -11
  134. package/esm2022/compat/firestore/firestore.module.mjs +7 -7
  135. package/esm2022/compat/firestore/interfaces.mjs +1 -1
  136. package/esm2022/compat/firestore/observable/fromRef.mjs +2 -2
  137. package/esm2022/compat/functions/functions.mjs +8 -8
  138. package/esm2022/compat/functions/functions.module.mjs +7 -7
  139. package/esm2022/compat/messaging/messaging.mjs +13 -12
  140. package/esm2022/compat/messaging/messaging.module.mjs +7 -7
  141. package/esm2022/compat/performance/performance.mjs +14 -20
  142. package/esm2022/compat/performance/performance.module.mjs +8 -9
  143. package/esm2022/compat/performance/performance.service.mjs +5 -4
  144. package/esm2022/compat/proxy.mjs +6 -7
  145. package/esm2022/compat/remote-config/remote-config.mjs +10 -11
  146. package/esm2022/compat/remote-config/remote-config.module.mjs +7 -7
  147. package/esm2022/compat/storage/observable/fromTask.mjs +3 -1
  148. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +9 -9
  149. package/esm2022/compat/storage/ref.mjs +3 -3
  150. package/esm2022/compat/storage/storage.mjs +8 -8
  151. package/esm2022/compat/storage/storage.module.mjs +7 -7
  152. package/esm2022/compat/storage/task.mjs +2 -2
  153. package/esm2022/core.mjs +1 -3
  154. package/esm2022/database/database.mjs +1 -1
  155. package/esm2022/database/database.module.mjs +10 -10
  156. package/esm2022/firestore/firebase.mjs +22 -2
  157. package/esm2022/firestore/firestore.mjs +1 -1
  158. package/esm2022/firestore/firestore.module.mjs +10 -10
  159. package/esm2022/firestore/lite/firebase.mjs +11 -2
  160. package/esm2022/firestore/lite/lite.mjs +1 -1
  161. package/esm2022/firestore/lite/lite.module.mjs +9 -9
  162. package/esm2022/firestore/lite/rxfire.mjs +4 -2
  163. package/esm2022/firestore/rxfire.mjs +4 -4
  164. package/esm2022/functions/functions.mjs +1 -1
  165. package/esm2022/functions/functions.module.mjs +10 -10
  166. package/esm2022/messaging/messaging.mjs +1 -1
  167. package/esm2022/messaging/messaging.module.mjs +9 -9
  168. package/esm2022/performance/performance.mjs +1 -1
  169. package/esm2022/performance/performance.module.mjs +12 -12
  170. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +2 -2
  171. package/esm2022/remote-config/remote-config.mjs +1 -1
  172. package/esm2022/remote-config/remote-config.module.mjs +9 -9
  173. package/esm2022/storage/storage.mjs +1 -1
  174. package/esm2022/storage/storage.module.mjs +10 -10
  175. package/esm2022/zones.mjs +9 -11
  176. package/fesm2022/angular-fire-analytics.mjs +18 -14
  177. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  178. package/fesm2022/angular-fire-app-check.mjs +8 -8
  179. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  180. package/fesm2022/angular-fire-app.mjs +6 -5
  181. package/fesm2022/angular-fire-app.mjs.map +1 -1
  182. package/fesm2022/angular-fire-auth-guard.mjs +13 -11
  183. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  184. package/fesm2022/angular-fire-auth.mjs +8 -6
  185. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  186. package/fesm2022/angular-fire-compat-analytics.mjs +29 -27
  187. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  188. package/fesm2022/angular-fire-compat-auth-guard.mjs +12 -10
  189. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  190. package/fesm2022/angular-fire-compat-auth.mjs +13 -13
  191. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  192. package/fesm2022/angular-fire-compat-database.mjs +129 -128
  193. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  194. package/fesm2022/angular-fire-compat-firestore.mjs +96 -96
  195. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  196. package/fesm2022/angular-fire-compat-functions.mjs +10 -10
  197. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  198. package/fesm2022/angular-fire-compat-messaging.mjs +13 -12
  199. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  200. package/fesm2022/angular-fire-compat-performance.mjs +23 -29
  201. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  202. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -11
  203. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  204. package/fesm2022/angular-fire-compat-storage.mjs +21 -19
  205. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  206. package/fesm2022/angular-fire-compat.mjs +15 -13
  207. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  208. package/fesm2022/angular-fire-database.mjs +5 -5
  209. package/fesm2022/angular-fire-database.mjs.map +1 -1
  210. package/fesm2022/angular-fire-firestore-lite.mjs +19 -8
  211. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  212. package/fesm2022/angular-fire-firestore.mjs +30 -10
  213. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  214. package/fesm2022/angular-fire-functions.mjs +6 -6
  215. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  216. package/fesm2022/angular-fire-messaging.mjs +4 -4
  217. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  218. package/fesm2022/angular-fire-performance.mjs +7 -7
  219. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  220. package/fesm2022/angular-fire-remote-config.mjs +4 -4
  221. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  222. package/fesm2022/angular-fire-storage.mjs +4 -4
  223. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  224. package/fesm2022/angular-fire.mjs +7 -11
  225. package/fesm2022/angular-fire.mjs.map +1 -1
  226. package/firestore/firebase.d.ts +21 -1
  227. package/firestore/firestore.module.d.ts +2 -2
  228. package/firestore/lite/firebase.d.ts +10 -1
  229. package/firestore/lite/lite.module.d.ts +2 -2
  230. package/firestore/lite/rxfire.d.ts +3 -1
  231. package/firestore/rxfire.d.ts +3 -3
  232. package/functions/functions.module.d.ts +2 -2
  233. package/messaging/messaging.module.d.ts +2 -2
  234. package/package.json +12 -12
  235. package/performance/performance.module.d.ts +2 -2
  236. package/remote-config/remote-config.module.d.ts +2 -2
  237. package/schematics/add/index.js +1 -1
  238. package/schematics/add/schema.json +16 -0
  239. package/schematics/builders.json +10 -0
  240. package/schematics/collection.json +15 -0
  241. package/schematics/common.js +1 -1
  242. package/schematics/deploy/actions.js +11 -11
  243. package/schematics/deploy/builder.js +2 -2
  244. package/schematics/deploy/schema.json +119 -0
  245. package/schematics/migration.json +15 -0
  246. package/schematics/setup/index.js +5 -6
  247. package/schematics/setup/prompts.js +5 -6
  248. package/schematics/setup/schema.json +16 -0
  249. package/schematics/update/index.js +1 -1
  250. package/schematics/update/v7/index.js +2 -2
  251. package/schematics/utils.js +4 -4
  252. package/storage/storage.module.d.ts +2 -2
  253. package/publish.sh +0 -1
@@ -1,5 +1,5 @@
1
- import { fromCollectionRef } from '../observable/fromRef';
2
1
  import { distinctUntilChanged, map, pairwise, scan, startWith } from 'rxjs/operators';
2
+ import { fromCollectionRef } from '../observable/fromRef';
3
3
  /**
4
4
  * Return a stream of document changes on a query. These results are not in sort order but in
5
5
  * order of occurence.
@@ -105,4 +105,4 @@ export function combineChange(combined, change) {
105
105
  }
106
106
  return combined;
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNdEY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFZLEVBQUUsU0FBeUI7SUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1NBQ3ZDLElBQUksQ0FDSCxTQUFTLENBQW9FLFNBQVMsQ0FBQyxFQUN2RixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxXQUF1QixFQUFFLEVBQUU7UUFDOUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkYsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0csdUVBQXVFO1lBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTtnQkFDdkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7b0JBQzdGLENBQUMsU0FBUyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDckcsb0VBQW9FO2lCQUNyRTtxQkFBTTtvQkFDTCxvRUFBb0U7b0JBQ3BFLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0JBQ1gsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRTs0QkFDUCxRQUFRLEVBQUUsWUFBWTs0QkFDdEIsUUFBUSxFQUFFLFlBQVk7NEJBQ3RCLElBQUksRUFBRSxVQUFVOzRCQUNoQixHQUFHLEVBQUUsVUFBVTt5QkFDaEI7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sT0FBb0MsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsS0FBWSxFQUNaLE1BQTRCLEVBQzVCLFNBQXlCO0lBQ3pCLE9BQU8sVUFBVSxDQUFJLEtBQUssRUFBRSxTQUFTLENBQUM7U0FDbkMsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDakcsb0JBQW9CLEVBQUUsRUFBRSxtQ0FBbUM7SUFDM0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUE4QixDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkcsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUksT0FBNEIsRUFBRSxPQUE0QixFQUFFLE1BQTRCO0lBQ3hILE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsNkJBQTZCO1FBQzdCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FDckIsUUFBYSxFQUNiLEtBQWEsRUFDYixXQUFtQixFQUNuQixHQUFHLElBQVM7SUFFWixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDaEQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLFFBQTZCLEVBQUUsTUFBeUI7SUFDdkYsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssT0FBTztZQUNWLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzFGLGdEQUFnRDthQUNqRDtpQkFBTTtnQkFDTCxPQUFPLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDN0Q7WUFDRCxNQUFNO1FBQ1IsS0FBSyxVQUFVO1lBQ2IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xHLG1EQUFtRDtnQkFDbkQsaUNBQWlDO2dCQUNqQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRTtvQkFDdkMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNyQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQy9DLE9BQU8sV0FBVyxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxPQUFPLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzdEO2FBQ0Y7WUFDRCxNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDMUYsT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckQ7WUFDRCxNQUFNO0tBQ1Q7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUNvbGxlY3Rpb25SZWYgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2Zyb21SZWYnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgcGFpcndpc2UsIHNjYW4sIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbiwgUXVlcnlTbmFwc2hvdCwgRG9jdW1lbnRDaGFuZ2UsIERvY3VtZW50Q2hhbmdlQWN0aW9uLCBEb2N1bWVudENoYW5nZVR5cGUsIFF1ZXJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5cblxudHlwZSBBY3Rpb25UdXBlID0gW0FjdGlvbjxRdWVyeVNuYXBzaG90PGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudERhdGE+PiwgQWN0aW9uPFF1ZXJ5U25hcHNob3Q8ZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YT4+XVxuLyoqXG4gKiBSZXR1cm4gYSBzdHJlYW0gb2YgZG9jdW1lbnQgY2hhbmdlcyBvbiBhIHF1ZXJ5LiBUaGVzZSByZXN1bHRzIGFyZSBub3QgaW4gc29ydCBvcmRlciBidXQgaW5cbiAqIG9yZGVyIG9mIG9jY3VyZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRvY0NoYW5nZXM8VD4ocXVlcnk6IFF1ZXJ5LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gIHJldHVybiBmcm9tQ29sbGVjdGlvblJlZihxdWVyeSwgc2NoZWR1bGVyKVxuICAgIC5waXBlKFxuICAgICAgc3RhcnRXaXRoPEFjdGlvbjxRdWVyeVNuYXBzaG90PGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudERhdGE+PiwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoYWN0aW9uVHVwbGU6IEFjdGlvblR1cGUpID0+IHtcbiAgICAgICAgY29uc3QgW3ByaW9yQWN0aW9uLCBhY3Rpb25dID0gYWN0aW9uVHVwbGU7XG4gICAgICAgIGNvbnN0IGRvY0NoYW5nZXMgPSBhY3Rpb24ucGF5bG9hZC5kb2NDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBkb2NDaGFuZ2VzLm1hcChjaGFuZ2UgPT4gKHsgdHlwZTogY2hhbmdlLnR5cGUsIHBheWxvYWQ6IGNoYW5nZSB9KSk7XG4gICAgICAgIC8vIHRoZSBtZXRhZGF0YSBoYXMgY2hhbmdlZCBmcm9tIHRoZSBwcmlvciBlbWlzc2lvblxuICAgICAgICBpZiAocHJpb3JBY3Rpb24gJiYgSlNPTi5zdHJpbmdpZnkocHJpb3JBY3Rpb24ucGF5bG9hZC5tZXRhZGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KGFjdGlvbi5wYXlsb2FkLm1ldGFkYXRhKSkge1xuICAgICAgICAgIC8vIGdvIHRocm91Z2ggYWxsIHRoZSBkb2NzIGluIHBheWxvYWQgYW5kIGZpZ3VyZSBvdXQgd2hpY2ggb25lcyBjaGFuZ2VkXG4gICAgICAgICAgYWN0aW9uLnBheWxvYWQuZG9jcy5mb3JFYWNoKChjdXJyZW50RG9jLCBjdXJyZW50SW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY0NoYW5nZSA9IGRvY0NoYW5nZXMuZmluZChkID0+IGQuZG9jLnJlZi5pc0VxdWFsKGN1cnJlbnREb2MucmVmKSk7XG4gICAgICAgICAgICBjb25zdCBwcmlvckRvYyA9IHByaW9yQWN0aW9uPy5wYXlsb2FkLmRvY3MuZmluZChkID0+IGQucmVmLmlzRXF1YWwoY3VycmVudERvYy5yZWYpKTtcbiAgICAgICAgICAgIGlmIChkb2NDaGFuZ2UgJiYgSlNPTi5zdHJpbmdpZnkoZG9jQ2hhbmdlLmRvYy5tZXRhZGF0YSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnREb2MubWV0YWRhdGEpIHx8XG4gICAgICAgICAgICAgICFkb2NDaGFuZ2UgJiYgcHJpb3JEb2MgJiYgSlNPTi5zdHJpbmdpZnkocHJpb3JEb2MubWV0YWRhdGEpID09PSBKU09OLnN0cmluZ2lmeShjdXJyZW50RG9jLm1ldGFkYXRhKSkge1xuICAgICAgICAgICAgICAvLyBkb2N1bWVudCBkb2Vzbid0IGFwcGVhciB0byBoYXZlIGNoYW5nZWQsIGRvbid0IGxvZyBhbm90aGVyIGFjdGlvblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gc2luY2UgdGhlIGFjdGlvbnMgYXJlIHByb2Nlc3NlZCBpbiBvcmRlciBqdXN0IHB1c2ggb250byB0aGUgYXJyYXlcbiAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbW9kaWZpZWQnLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgIG9sZEluZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICAgICAgICBuZXdJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ21vZGlmaWVkJyxcbiAgICAgICAgICAgICAgICAgIGRvYzogY3VycmVudERvY1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGlvbnMgYXMgRG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXTtcbiAgICAgIH0pLFxuICApO1xufVxuXG4vKipcbiAqIFJldHVybiBhIHN0cmVhbSBvZiBkb2N1bWVudCBjaGFuZ2VzIG9uIGEgcXVlcnkuIFRoZXNlIHJlc3VsdHMgYXJlIGluIHNvcnQgb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3J0ZWRDaGFuZ2VzPFQ+KFxuICBxdWVyeTogUXVlcnksXG4gIGV2ZW50czogRG9jdW1lbnRDaGFuZ2VUeXBlW10sXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgcmV0dXJuIGRvY0NoYW5nZXM8VD4ocXVlcnksIHNjaGVkdWxlcilcbiAgICAucGlwZShcbiAgICAgIHNjYW4oKGN1cnJlbnQsIGNoYW5nZXMpID0+IGNvbWJpbmVDaGFuZ2VzPFQ+KGN1cnJlbnQsIGNoYW5nZXMubWFwKGl0ID0+IGl0LnBheWxvYWQpLCBldmVudHMpLCBbXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCAvLyBjdXQgZG93biBvbiB1bm5lZWQgY2hhbmdlIGN5Y2xlc1xuICAgICAgbWFwKGNoYW5nZXMgPT4gY2hhbmdlcy5tYXAoYyA9PiAoeyB0eXBlOiBjLnR5cGUsIHBheWxvYWQ6IGMgfSBhcyBEb2N1bWVudENoYW5nZUFjdGlvbjxUPikpKSk7XG59XG5cbi8qKlxuICogQ29tYmluZXMgdGhlIHRvdGFsIHJlc3VsdCBzZXQgZnJvbSB0aGUgY3VycmVudCBzZXQgb2YgY2hhbmdlcyBmcm9tIGFuIGluY29taW5nIHNldFxuICogb2YgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVDaGFuZ2VzPFQ+KGN1cnJlbnQ6IERvY3VtZW50Q2hhbmdlPFQ+W10sIGNoYW5nZXM6IERvY3VtZW50Q2hhbmdlPFQ+W10sIGV2ZW50czogRG9jdW1lbnRDaGFuZ2VUeXBlW10pIHtcbiAgY2hhbmdlcy5mb3JFYWNoKGNoYW5nZSA9PiB7XG4gICAgLy8gc2tpcCB1bndhbnRlZCBjaGFuZ2UgdHlwZXNcbiAgICBpZiAoZXZlbnRzLmluZGV4T2YoY2hhbmdlLnR5cGUpID4gLTEpIHtcbiAgICAgIGN1cnJlbnQgPSBjb21iaW5lQ2hhbmdlKGN1cnJlbnQsIGNoYW5nZSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbi8qKlxuICogU3BsaWNlIGFyZ3VtZW50cyBvbiB0b3Agb2YgYSBzbGljZWQgYXJyYXksIHRvIGJyZWFrIHRvcC1sZXZlbCA9PT1cbiAqIHRoaXMgaXMgdXNlZnVsIGZvciBjaGFuZ2UtZGV0ZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIHNsaWNlQW5kU3BsaWNlPFQ+KFxuICBvcmlnaW5hbDogVFtdLFxuICBzdGFydDogbnVtYmVyLFxuICBkZWxldGVDb3VudDogbnVtYmVyLFxuICAuLi5hcmdzOiBUW11cbik6IFRbXSB7XG4gIGNvbnN0IHJldHVybkFycmF5ID0gb3JpZ2luYWwuc2xpY2UoKTtcbiAgcmV0dXJuQXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJncyk7XG4gIHJldHVybiByZXR1cm5BcnJheTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHNvcnRlZCBhcnJheSBmcm9tIGEgbmV3IGNoYW5nZS5cbiAqIEJ1aWxkIG91ciBvd24gYmVjYXVzZSB3ZSBhbGxvdyBmaWx0ZXJpbmcgb2YgYWN0aW9uIHR5cGVzICgnYWRkZWQnLCAncmVtb3ZlZCcsICdtb2RpZmllZCcpIGJlZm9yZSBzY2FubmluZ1xuICogYW5kIHNvIHdlIGhhdmUgZ3JlYXRlciBjb250cm9sIG92ZXIgY2hhbmdlIGRldGVjdGlvbiAoYnkgYnJlYWtpbmcgPT09KVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUNoYW5nZTxUPihjb21iaW5lZDogRG9jdW1lbnRDaGFuZ2U8VD5bXSwgY2hhbmdlOiBEb2N1bWVudENoYW5nZTxUPik6IERvY3VtZW50Q2hhbmdlPFQ+W10ge1xuICBzd2l0Y2ggKGNoYW5nZS50eXBlKSB7XG4gICAgY2FzZSAnYWRkZWQnOlxuICAgICAgaWYgKGNvbWJpbmVkW2NoYW5nZS5uZXdJbmRleF0gJiYgY29tYmluZWRbY2hhbmdlLm5ld0luZGV4XS5kb2MucmVmLmlzRXF1YWwoY2hhbmdlLmRvYy5yZWYpKSB7XG4gICAgICAgIC8vIE5vdCBzdXJlIHdoeSB0aGUgZHVwbGljYXRlcyBhcmUgZ2V0dGluZyBmaXJlZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNsaWNlQW5kU3BsaWNlKGNvbWJpbmVkLCBjaGFuZ2UubmV3SW5kZXgsIDAsIGNoYW5nZSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdtb2RpZmllZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XSA9PSBudWxsIHx8IGNvbWJpbmVkW2NoYW5nZS5vbGRJbmRleF0uZG9jLnJlZi5pc0VxdWFsKGNoYW5nZS5kb2MucmVmKSkge1xuICAgICAgICAvLyBXaGVuIGFuIGl0ZW0gY2hhbmdlcyBwb3NpdGlvbiB3ZSBmaXJzdCByZW1vdmUgaXRcbiAgICAgICAgLy8gYW5kIHRoZW4gYWRkIGl0J3MgbmV3IHBvc2l0aW9uXG4gICAgICAgIGlmIChjaGFuZ2Uub2xkSW5kZXggIT09IGNoYW5nZS5uZXdJbmRleCkge1xuICAgICAgICAgIGNvbnN0IGNvcGllZEFycmF5ID0gY29tYmluZWQuc2xpY2UoKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm9sZEluZGV4LCAxKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm5ld0luZGV4LCAwLCBjaGFuZ2UpO1xuICAgICAgICAgIHJldHVybiBjb3BpZWRBcnJheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5uZXdJbmRleCwgMSwgY2hhbmdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVtb3ZlZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XSAmJiBjb21iaW5lZFtjaGFuZ2Uub2xkSW5kZXhdLmRvYy5yZWYuaXNFcXVhbChjaGFuZ2UuZG9jLnJlZikpIHtcbiAgICAgICAgcmV0dXJuIHNsaWNlQW5kU3BsaWNlKGNvbWJpbmVkLCBjaGFuZ2Uub2xkSW5kZXgsIDEpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGNvbWJpbmVkO1xufVxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFZLEVBQUUsU0FBeUI7SUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1NBQ3ZDLElBQUksQ0FDSCxTQUFTLENBQW9FLFNBQVMsQ0FBQyxFQUN2RixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxXQUF1QixFQUFFLEVBQUU7UUFDOUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkYsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0csdUVBQXVFO1lBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9B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QyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzdEO2FBQ0Y7WUFDRCxNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDMUYsT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckQ7WUFDRCxNQUFNO0tBQ1Q7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgcGFpcndpc2UsIHNjYW4sIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbiwgRG9jdW1lbnRDaGFuZ2UsIERvY3VtZW50Q2hhbmdlQWN0aW9uLCBEb2N1bWVudENoYW5nZVR5cGUsIFF1ZXJ5LCBRdWVyeVNuYXBzaG90IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmcm9tQ29sbGVjdGlvblJlZiB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbVJlZic7XG5cblxudHlwZSBBY3Rpb25UdXBlID0gW0FjdGlvbjxRdWVyeVNuYXBzaG90PGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudERhdGE+PiwgQWN0aW9uPFF1ZXJ5U25hcHNob3Q8ZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YT4+XVxuLyoqXG4gKiBSZXR1cm4gYSBzdHJlYW0gb2YgZG9jdW1lbnQgY2hhbmdlcyBvbiBhIHF1ZXJ5LiBUaGVzZSByZXN1bHRzIGFyZSBub3QgaW4gc29ydCBvcmRlciBidXQgaW5cbiAqIG9yZGVyIG9mIG9jY3VyZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRvY0NoYW5nZXM8VD4ocXVlcnk6IFF1ZXJ5LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gIHJldHVybiBmcm9tQ29sbGVjdGlvblJlZihxdWVyeSwgc2NoZWR1bGVyKVxuICAgIC5waXBlKFxuICAgICAgc3RhcnRXaXRoPEFjdGlvbjxRdWVyeVNuYXBzaG90PGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudERhdGE+PiwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoYWN0aW9uVHVwbGU6IEFjdGlvblR1cGUpID0+IHtcbiAgICAgICAgY29uc3QgW3ByaW9yQWN0aW9uLCBhY3Rpb25dID0gYWN0aW9uVHVwbGU7XG4gICAgICAgIGNvbnN0IGRvY0NoYW5nZXMgPSBhY3Rpb24ucGF5bG9hZC5kb2NDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBkb2NDaGFuZ2VzLm1hcChjaGFuZ2UgPT4gKHsgdHlwZTogY2hhbmdlLnR5cGUsIHBheWxvYWQ6IGNoYW5nZSB9KSk7XG4gICAgICAgIC8vIHRoZSBtZXRhZGF0YSBoYXMgY2hhbmdlZCBmcm9tIHRoZSBwcmlvciBlbWlzc2lvblxuICAgICAgICBpZiAocHJpb3JBY3Rpb24gJiYgSlNPTi5zdHJpbmdpZnkocHJpb3JBY3Rpb24ucGF5bG9hZC5tZXRhZGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KGFjdGlvbi5wYXlsb2FkLm1ldGFkYXRhKSkge1xuICAgICAgICAgIC8vIGdvIHRocm91Z2ggYWxsIHRoZSBkb2NzIGluIHBheWxvYWQgYW5kIGZpZ3VyZSBvdXQgd2hpY2ggb25lcyBjaGFuZ2VkXG4gICAgICAgICAgYWN0aW9uLnBheWxvYWQuZG9jcy5mb3JFYWNoKChjdXJyZW50RG9jLCBjdXJyZW50SW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY0NoYW5nZSA9IGRvY0NoYW5nZXMuZmluZChkID0+IGQuZG9jLnJlZi5pc0VxdWFsKGN1cnJlbnREb2MucmVmKSk7XG4gICAgICAgICAgICBjb25zdCBwcmlvckRvYyA9IHByaW9yQWN0aW9uPy5wYXlsb2FkLmRvY3MuZmluZChkID0+IGQucmVmLmlzRXF1YWwoY3VycmVudERvYy5yZWYpKTtcbiAgICAgICAgICAgIGlmIChkb2NDaGFuZ2UgJiYgSlNPTi5zdHJpbmdpZnkoZG9jQ2hhbmdlLmRvYy5tZXRhZGF0YSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnREb2MubWV0YWRhdGEpIHx8XG4gICAgICAgICAgICAgICFkb2NDaGFuZ2UgJiYgcHJpb3JEb2MgJiYgSlNPTi5zdHJpbmdpZnkocHJpb3JEb2MubWV0YWRhdGEpID09PSBKU09OLnN0cmluZ2lmeShjdXJyZW50RG9jLm1ldGFkYXRhKSkge1xuICAgICAgICAgICAgICAvLyBkb2N1bWVudCBkb2Vzbid0IGFwcGVhciB0byBoYXZlIGNoYW5nZWQsIGRvbid0IGxvZyBhbm90aGVyIGFjdGlvblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gc2luY2UgdGhlIGFjdGlvbnMgYXJlIHByb2Nlc3NlZCBpbiBvcmRlciBqdXN0IHB1c2ggb250byB0aGUgYXJyYXlcbiAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbW9kaWZpZWQnLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgIG9sZEluZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICAgICAgICBuZXdJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ21vZGlmaWVkJyxcbiAgICAgICAgICAgICAgICAgIGRvYzogY3VycmVudERvY1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGlvbnMgYXMgRG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXTtcbiAgICAgIH0pLFxuICApO1xufVxuXG4vKipcbiAqIFJldHVybiBhIHN0cmVhbSBvZiBkb2N1bWVudCBjaGFuZ2VzIG9uIGEgcXVlcnkuIFRoZXNlIHJlc3VsdHMgYXJlIGluIHNvcnQgb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3J0ZWRDaGFuZ2VzPFQ+KFxuICBxdWVyeTogUXVlcnksXG4gIGV2ZW50czogRG9jdW1lbnRDaGFuZ2VUeXBlW10sXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgcmV0dXJuIGRvY0NoYW5nZXM8VD4ocXVlcnksIHNjaGVkdWxlcilcbiAgICAucGlwZShcbiAgICAgIHNjYW4oKGN1cnJlbnQsIGNoYW5nZXMpID0+IGNvbWJpbmVDaGFuZ2VzPFQ+KGN1cnJlbnQsIGNoYW5nZXMubWFwKGl0ID0+IGl0LnBheWxvYWQpLCBldmVudHMpLCBbXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCAvLyBjdXQgZG93biBvbiB1bm5lZWQgY2hhbmdlIGN5Y2xlc1xuICAgICAgbWFwKGNoYW5nZXMgPT4gY2hhbmdlcy5tYXAoYyA9PiAoeyB0eXBlOiBjLnR5cGUsIHBheWxvYWQ6IGMgfSBhcyBEb2N1bWVudENoYW5nZUFjdGlvbjxUPikpKSk7XG59XG5cbi8qKlxuICogQ29tYmluZXMgdGhlIHRvdGFsIHJlc3VsdCBzZXQgZnJvbSB0aGUgY3VycmVudCBzZXQgb2YgY2hhbmdlcyBmcm9tIGFuIGluY29taW5nIHNldFxuICogb2YgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVDaGFuZ2VzPFQ+KGN1cnJlbnQ6IERvY3VtZW50Q2hhbmdlPFQ+W10sIGNoYW5nZXM6IERvY3VtZW50Q2hhbmdlPFQ+W10sIGV2ZW50czogRG9jdW1lbnRDaGFuZ2VUeXBlW10pIHtcbiAgY2hhbmdlcy5mb3JFYWNoKGNoYW5nZSA9PiB7XG4gICAgLy8gc2tpcCB1bndhbnRlZCBjaGFuZ2UgdHlwZXNcbiAgICBpZiAoZXZlbnRzLmluZGV4T2YoY2hhbmdlLnR5cGUpID4gLTEpIHtcbiAgICAgIGN1cnJlbnQgPSBjb21iaW5lQ2hhbmdlKGN1cnJlbnQsIGNoYW5nZSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbi8qKlxuICogU3BsaWNlIGFyZ3VtZW50cyBvbiB0b3Agb2YgYSBzbGljZWQgYXJyYXksIHRvIGJyZWFrIHRvcC1sZXZlbCA9PT1cbiAqIHRoaXMgaXMgdXNlZnVsIGZvciBjaGFuZ2UtZGV0ZWN0aW9uXG4gKi9cbmZ1bmN0aW9uIHNsaWNlQW5kU3BsaWNlPFQ+KFxuICBvcmlnaW5hbDogVFtdLFxuICBzdGFydDogbnVtYmVyLFxuICBkZWxldGVDb3VudDogbnVtYmVyLFxuICAuLi5hcmdzOiBUW11cbik6IFRbXSB7XG4gIGNvbnN0IHJldHVybkFycmF5ID0gb3JpZ2luYWwuc2xpY2UoKTtcbiAgcmV0dXJuQXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJncyk7XG4gIHJldHVybiByZXR1cm5BcnJheTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHNvcnRlZCBhcnJheSBmcm9tIGEgbmV3IGNoYW5nZS5cbiAqIEJ1aWxkIG91ciBvd24gYmVjYXVzZSB3ZSBhbGxvdyBmaWx0ZXJpbmcgb2YgYWN0aW9uIHR5cGVzICgnYWRkZWQnLCAncmVtb3ZlZCcsICdtb2RpZmllZCcpIGJlZm9yZSBzY2FubmluZ1xuICogYW5kIHNvIHdlIGhhdmUgZ3JlYXRlciBjb250cm9sIG92ZXIgY2hhbmdlIGRldGVjdGlvbiAoYnkgYnJlYWtpbmcgPT09KVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUNoYW5nZTxUPihjb21iaW5lZDogRG9jdW1lbnRDaGFuZ2U8VD5bXSwgY2hhbmdlOiBEb2N1bWVudENoYW5nZTxUPik6IERvY3VtZW50Q2hhbmdlPFQ+W10ge1xuICBzd2l0Y2ggKGNoYW5nZS50eXBlKSB7XG4gICAgY2FzZSAnYWRkZWQnOlxuICAgICAgaWYgKGNvbWJpbmVkW2NoYW5nZS5uZXdJbmRleF0gJiYgY29tYmluZWRbY2hhbmdlLm5ld0luZGV4XS5kb2MucmVmLmlzRXF1YWwoY2hhbmdlLmRvYy5yZWYpKSB7XG4gICAgICAgIC8vIE5vdCBzdXJlIHdoeSB0aGUgZHVwbGljYXRlcyBhcmUgZ2V0dGluZyBmaXJlZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNsaWNlQW5kU3BsaWNlKGNvbWJpbmVkLCBjaGFuZ2UubmV3SW5kZXgsIDAsIGNoYW5nZSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdtb2RpZmllZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XSA9PSBudWxsIHx8IGNvbWJpbmVkW2NoYW5nZS5vbGRJbmRleF0uZG9jLnJlZi5pc0VxdWFsKGNoYW5nZS5kb2MucmVmKSkge1xuICAgICAgICAvLyBXaGVuIGFuIGl0ZW0gY2hhbmdlcyBwb3NpdGlvbiB3ZSBmaXJzdCByZW1vdmUgaXRcbiAgICAgICAgLy8gYW5kIHRoZW4gYWRkIGl0J3MgbmV3IHBvc2l0aW9uXG4gICAgICAgIGlmIChjaGFuZ2Uub2xkSW5kZXggIT09IGNoYW5nZS5uZXdJbmRleCkge1xuICAgICAgICAgIGNvbnN0IGNvcGllZEFycmF5ID0gY29tYmluZWQuc2xpY2UoKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm9sZEluZGV4LCAxKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm5ld0luZGV4LCAwLCBjaGFuZ2UpO1xuICAgICAgICAgIHJldHVybiBjb3BpZWRBcnJheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5uZXdJbmRleCwgMSwgY2hhbmdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVtb3ZlZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XSAmJiBjb21iaW5lZFtjaGFuZ2Uub2xkSW5kZXhdLmRvYy5yZWYuaXNFcXVhbChjaGFuZ2UuZG9jLnJlZikpIHtcbiAgICAgICAgcmV0dXJuIHNsaWNlQW5kU3BsaWNlKGNvbWJpbmVkLCBjaGFuZ2Uub2xkSW5kZXgsIDEpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGNvbWJpbmVkO1xufVxuIl19
@@ -1,9 +1,9 @@
1
+ import { keepUnstableUntilFirst } from '@angular/fire';
1
2
  import { from } from 'rxjs';
2
3
  import { filter, map, pairwise, scan, startWith } from 'rxjs/operators';
3
- import { keepUnstableUntilFirst } from '@angular/fire';
4
- import { docChanges, sortedChanges } from './changes';
5
4
  import { AngularFirestoreDocument } from '../document/document';
6
5
  import { fromCollectionRef } from '../observable/fromRef';
6
+ import { docChanges, sortedChanges } from './changes';
7
7
  export function validateEventsArray(events) {
8
8
  if (!events || events.length === 0) {
9
9
  events = ['added', 'removed', 'modified'];
@@ -64,7 +64,7 @@ export class AngularFirestoreCollection {
64
64
  return source.pipe(
65
65
  // We want to filter out empty arrays, but always emit at first, so the developer knows
66
66
  // that the collection has been resolve; even if it's empty
67
- startWith(undefined), pairwise(), filter(([prior, current]) => current.length > 0 || !prior), map(([prior, current]) => current), keepUnstableUntilFirst);
67
+ startWith(undefined), pairwise(), filter(([prior, current]) => current.length > 0 || !prior), map(([, current]) => current), keepUnstableUntilFirst);
68
68
  }
69
69
  /**
70
70
  * Create a stream of changes as they occur it time. This method is similar to stateChanges()
@@ -120,4 +120,4 @@ export class AngularFirestoreCollection {
120
120
  return new AngularFirestoreDocument(this.ref.doc(path), this.afs);
121
121
  }
122
122
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzFELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUE2QjtJQUMvRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDM0M7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBV25CO0lBQ0M7SUFDQTtJQVpuQjs7Ozs7Ozs7T0FRRztJQUNILFlBQ2tCLEdBQTJCLEVBQzFCLEtBQWUsRUFDZixHQUFxQjtRQUZ0QixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBRTdDOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsTUFBNkI7UUFDeEMs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QUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBUyxJQUFhO1FBQ3ZCLHNEQUFzRDtRQUN0RCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBwYWlyd2lzZSwgc2Nhbiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsga2VlcFVuc3RhYmxlVW50aWxGaXJzdCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5pbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBEb2N1bWVudENoYW5nZUFjdGlvbiwgRG9jdW1lbnRDaGFuZ2VUeXBlLCBEb2N1bWVudERhdGEsIERvY3VtZW50UmVmZXJlbmNlLCBRdWVyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZG9jQ2hhbmdlcywgc29ydGVkQ2hhbmdlcyB9IGZyb20gJy4vY2hhbmdlcyc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQgeyBmcm9tQ29sbGVjdGlvblJlZiB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbVJlZic7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnLi4vZmlyZXN0b3JlJztcblxudHlwZSBEb2N1bWVudENoYW5nZVR1cGxlPFQ+ID0gW0RvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10sIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W11dO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFdmVudHNBcnJheShldmVudHM/OiBEb2N1bWVudENoYW5nZVR5cGVbXSkge1xuICBpZiAoIWV2ZW50cyB8fCBldmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgZXZlbnRzID0gWydhZGRlZCcsICdyZW1vdmVkJywgJ21vZGlmaWVkJ107XG4gIH1cbiAgcmV0dXJuIGV2ZW50cztcbn1cblxuLyoqXG4gKiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbiBzZXJ2aWNlXG4gKlxuICogVGhpcyBjbGFzcyBjcmVhdGVzIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIENvbGxlY3Rpb24uIEEgcmVmZXJlbmNlIGFuZCBhIHF1ZXJ5IGFyZSBwcm92aWRlZCBpblxuICogaW4gdGhlIGNvbnN0cnVjdG9yLiBUaGUgcXVlcnkgY2FuIGJlIHRoZSB1bnF1ZXJpZWQgcmVmZXJlbmNlIGlmIG5vIHF1ZXJ5IGlzIGRlc2lyZWQuVGhlIGNsYXNzXG4gKiBpcyBnZW5lcmljIHdoaWNoIGdpdmVzIHlvdSB0eXBlIHNhZmV0eSBmb3IgZGF0YSB1cGRhdGUgbWV0aG9kcyBhbmQgZGF0YSBzdHJlYW1pbmcuXG4gKlxuICogVGhpcyBjbGFzcyB1c2VzIFN5bWJvbC5vYnNlcnZhYmxlIHRvIHRyYW5zZm9ybSBpbnRvIE9ic2VydmFibGUgdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkuXG4gKlxuICogVGhpcyBjbGFzcyBpcyByYXJlbHkgdXNlZCBkaXJlY3RseSBhbmQgc2hvdWxkIGJlIGNyZWF0ZWQgZnJvbSB0aGUgQW5ndWxhckZpcmVzdG9yZSBzZXJ2aWNlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogY29uc3QgY29sbGVjdGlvblJlZiA9IGZpcmViYXNlLmZpcmVzdG9yZS5jb2xsZWN0aW9uKCdzdG9ja3MnKTtcbiAqIGNvbnN0IHF1ZXJ5ID0gY29sbGVjdGlvblJlZi53aGVyZSgncHJpY2UnLCAnPicsICcwLjAxJyk7XG4gKiBjb25zdCBmYWtlU3RvY2sgPSBuZXcgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248U3RvY2s+KGNvbGxlY3Rpb25SZWYsIHF1ZXJ5KTtcbiAqXG4gKiAvLyBOT1RFITogdGhlIHVwZGF0ZXMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgcmVmZXJlbmNlIG5vdCB0aGUgcXVlcnlcbiAqIGF3YWl0IGZha2VTdG9jay5hZGQoeyBuYW1lOiAnRkFLRScsIHByaWNlOiAwLjAxIH0pO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGFzIHNuYXBzaG90cy4gVGhpcyBwcm92aWRlcyB5b3UgZGF0YSB1cGRhdGVzIGFzIHdlbGwgYXMgZGVsdGEgdXBkYXRlcy5cbiAqIGZha2VTdG9jay52YWx1ZUNoYW5nZXMoKS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQgPSBEb2N1bWVudERhdGE+IHtcbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciB0YWtlcyBpbiBhIENvbGxlY3Rpb25SZWZlcmVuY2UgYW5kIFF1ZXJ5IHRvIHByb3ZpZGUgd3JhcHBlciBtZXRob2RzXG4gICAqIGZvciBkYXRhIG9wZXJhdGlvbnMgYW5kIGRhdGEgc3RyZWFtaW5nLlxuICAgKlxuICAgKiBOb3RlOiBEYXRhIG9wZXJhdGlvbiBtZXRob2RzIGFyZSBkb25lIG9uIHRoZSByZWZlcmVuY2Ugbm90IHRoZSBxdWVyeS4gVGhpcyBtZWFuc1xuICAgKiB3aGVuIHlvdSB1cGRhdGUgZGF0YSBpdCBpcyBub3QgdXBkYXRpbmcgZGF0YSB0byB0aGUgd2luZG93IG9mIHlvdXIgcXVlcnkgdW5sZXNzXG4gICAqIHRoZSBkYXRhIGZpdHMgdGhlIGNyaXRlcmlhIG9mIHRoZSBxdWVyeS4gU2VlIHRoZSBBc3NvY2lhdGVkUmVmZW5jZSB0eXBlIGZvciBkZXRhaWxzXG4gICAqIG9uIHRoaXMgaW1wbGljYXRpb24uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVmOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVlcnk6IFF1ZXJ5PFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWZzOiBBbmd1bGFyRmlyZXN0b3JlKSB7IH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIHRoZSBsYXRlc3QgY2hhbmdlIGluIHRoZSBzdHJlYW0uIFRoaXMgbWV0aG9kIHJldHVybnMgY2hhbmdlc1xuICAgKiBhcyB0aGV5IG9jY3VyIGFuZCB0aGV5IGFyZSBub3Qgc29ydGVkIGJ5IHF1ZXJ5IG9yZGVyLiBUaGlzIGFsbG93cyB5b3UgdG8gY29uc3RydWN0XG4gICAqIHlvdXIgb3duIGRhdGEgc3RydWN0dXJlLlxuICAgKi9cbiAgc3RhdGVDaGFuZ2VzKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgbGV0IHNvdXJjZSA9IGRvY0NoYW5nZXM8VD4odGhpcy5xdWVyeSwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcik7XG4gICAgaWYgKGV2ZW50cyAmJiBldmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgc291cmNlID0gc291cmNlLnBpcGUoXG4gICAgICAgIG1hcChhY3Rpb25zID0+IGFjdGlvbnMuZmlsdGVyKGNoYW5nZSA9PiBldmVudHMuaW5kZXhPZihjaGFuZ2UudHlwZSkgPiAtMSkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICAvLyBXZSB3YW50IHRvIGZpbHRlciBvdXQgZW1wdHkgYXJyYXlzLCBidXQgYWx3YXlzIGVtaXQgYXQgZmlyc3QsIHNvIHRoZSBkZXZlbG9wZXIga25vd3NcbiAgICAgIC8vIHRoYXQgdGhlIGNvbGxlY3Rpb24gaGFzIGJlZW4gcmVzb2x2ZTsgZXZlbiBpZiBpdCdzIGVtcHR5XG4gICAgICBzdGFydFdpdGg8RG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXSwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByaW9yLCBjdXJyZW50XTogRG9jdW1lbnRDaGFuZ2VUdXBsZTxUPikgPT4gY3VycmVudC5sZW5ndGggPiAwIHx8ICFwcmlvciksXG4gICAgICBtYXAoKFtwcmlvciwgY3VycmVudF0pID0+IGN1cnJlbnQpLFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIGNoYW5nZXMgYXMgdGhleSBvY2N1ciBpdCB0aW1lLiBUaGlzIG1ldGhvZCBpcyBzaW1pbGFyIHRvIHN0YXRlQ2hhbmdlcygpXG4gICAqIGJ1dCBpdCBjb2xsZWN0cyBlYWNoIGV2ZW50IGluIGFuIGFycmF5IG92ZXIgdGltZS5cbiAgICovXG4gIGF1ZGl0VHJhaWwoZXZlbnRzPzogRG9jdW1lbnRDaGFuZ2VUeXBlW10pOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUNoYW5nZXMoZXZlbnRzKS5waXBlKHNjYW4oKGN1cnJlbnQsIGFjdGlvbikgPT4gWy4uLmN1cnJlbnQsIC4uLmFjdGlvbl0sIFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIHN5bmNocm9uaXplZCBjaGFuZ2VzLiBUaGlzIG1ldGhvZCBrZWVwcyB0aGUgbG9jYWwgYXJyYXkgaW4gc29ydGVkXG4gICAqIHF1ZXJ5IG9yZGVyLlxuICAgKi9cbiAgc25hcHNob3RDaGFuZ2VzKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgY29uc3QgdmFsaWRhdGVkRXZlbnRzID0gdmFsaWRhdGVFdmVudHNBcnJheShldmVudHMpO1xuICAgIGNvbnN0IHNjaGVkdWxlZFNvcnRlZENoYW5nZXMkID0gc29ydGVkQ2hhbmdlczxUPih0aGlzLnF1ZXJ5LCB2YWxpZGF0ZWRFdmVudHMsIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpO1xuICAgIHJldHVybiBzY2hlZHVsZWRTb3J0ZWRDaGFuZ2VzJC5waXBlKFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIGFsbCBkb2N1bWVudHMgaW4gdGhlIGNvbGxlY3Rpb24gYW5kIGl0cyBwb3NzaWJsZSBxdWVyeSBhcyBhbiBPYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiB0aGUgYGlkRmllbGRgIG9wdGlvbiBpcyBwcm92aWRlZCwgZG9jdW1lbnQgSURzIGFyZSBpbmNsdWRlZCBhbmQgbWFwcGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBgaWRGaWVsZGAgcHJvcGVydHkgbmFtZS5cbiAgICovXG4gIHZhbHVlQ2hhbmdlcygpOiBPYnNlcnZhYmxlPFRbXT47XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp1bmlmaWVkLXNpZ25hdHVyZXNcbiAgdmFsdWVDaGFuZ2VzKHt9KTogT2JzZXJ2YWJsZTxUW10+O1xuICB2YWx1ZUNoYW5nZXM8SyBleHRlbmRzIHN0cmluZz4ob3B0aW9uczoge2lkRmllbGQ6IEt9KTogT2JzZXJ2YWJsZTwoVCAmIHsgW1QgaW4gS106IHN0cmluZyB9KVtdPjtcbiAgdmFsdWVDaGFuZ2VzPEsgZXh0ZW5kcyBzdHJpbmc+KG9wdGlvbnM6IHtpZEZpZWxkPzogS30gPSB7fSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIGZyb21Db2xsZWN0aW9uUmVmPFQ+KHRoaXMucXVlcnksIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGFjdGlvbnMgPT4gYWN0aW9ucy5wYXlsb2FkLmRvY3MubWFwKGEgPT4ge1xuICAgICAgICAgIGlmIChvcHRpb25zLmlkRmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmEuZGF0YSgpIGFzIHt9LFxuICAgICAgICAgICAgICAuLi57IFtvcHRpb25zLmlkRmllbGRdOiBhLmlkIH1cbiAgICAgICAgICAgIH0gYXMgVCAmIHsgW1QgaW4gS106IHN0cmluZyB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYS5kYXRhKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSksXG4gICAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHJlc3VsdHMgb2YgdGhlIHF1ZXJ5IG9uY2UuXG4gICAqL1xuICBnZXQob3B0aW9ucz86IGZpcmViYXNlLmZpcmVzdG9yZS5HZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5xdWVyeS5nZXQob3B0aW9ucykpLnBpcGUoXG4gICAgICBrZWVwVW5zdGFibGVVbnRpbEZpcnN0LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGRhdGEgdG8gYSBjb2xsZWN0aW9uIHJlZmVyZW5jZS5cbiAgICpcbiAgICogTm90ZTogRGF0YSBvcGVyYXRpb24gbWV0aG9kcyBhcmUgZG9uZSBvbiB0aGUgcmVmZXJlbmNlIG5vdCB0aGUgcXVlcnkuIFRoaXMgbWVhbnNcbiAgICogd2hlbiB5b3UgdXBkYXRlIGRhdGEgaXQgaXMgbm90IHVwZGF0aW5nIGRhdGEgdG8gdGhlIHdpbmRvdyBvZiB5b3VyIHF1ZXJ5IHVubGVzc1xuICAgKiB0aGUgZGF0YSBmaXRzIHRoZSBjcml0ZXJpYSBvZiB0aGUgcXVlcnkuXG4gICAqL1xuICBhZGQoZGF0YTogVCk6IFByb21pc2U8RG9jdW1lbnRSZWZlcmVuY2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5yZWYuYWRkKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIHNpbmdsZSBkb2N1bWVudCBpbiBhIGNvbGxlY3Rpb24uXG4gICAqL1xuICBkb2M8VDIgPSBUPihwYXRoPzogc3RyaW5nKTogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFQyPiB7XG4gICAgLy8gVE9ETyBpcyB0aGVyZSBhIGJldHRlciB3YXkgdG8gc29sdmUgdGhpcyB0eXBlIGlzc3VlXG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQodGhpcy5yZWYuZG9jKHBhdGgpIGFzIGFueSwgdGhpcy5hZnMpO1xuICB9XG59XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXRELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUE2QjtJQUMvRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDM0M7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBV25CO0lBQ0M7SUFDQTtJQVpuQjs7Ozs7Ozs7T0FRRztJQUNILFlBQ2tCLEdBQTJCLEVBQzFCLEtBQWUsRUFDZixHQUFxQjtRQUZ0QixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBRTdDOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsTUFBNkI7UUFDeEMs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RUQ7O09BRUc7SUFDSCxHQUFHLENBQVMsSUFBYTtRQUN2QixzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZWVwVW5zdGFibGVVbnRpbEZpcnN0IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHNjYW4sIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50JztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICcuLi9maXJlc3RvcmUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgRG9jdW1lbnRDaGFuZ2VBY3Rpb24sIERvY3VtZW50Q2hhbmdlVHlwZSwgRG9jdW1lbnREYXRhLCBEb2N1bWVudFJlZmVyZW5jZSwgUXVlcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZyb21Db2xsZWN0aW9uUmVmIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tUmVmJztcbmltcG9ydCB7IGRvY0NoYW5nZXMsIHNvcnRlZENoYW5nZXMgfSBmcm9tICcuL2NoYW5nZXMnO1xuXG50eXBlIERvY3VtZW50Q2hhbmdlVHVwbGU8VD4gPSBbRG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXSwgRG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXV07XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUV2ZW50c0FycmF5KGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKSB7XG4gIGlmICghZXZlbnRzIHx8IGV2ZW50cy5sZW5ndGggPT09IDApIHtcbiAgICBldmVudHMgPSBbJ2FkZGVkJywgJ3JlbW92ZWQnLCAnbW9kaWZpZWQnXTtcbiAgfVxuICByZXR1cm4gZXZlbnRzO1xufVxuXG4vKipcbiAqIEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uIHNlcnZpY2VcbiAqXG4gKiBUaGlzIGNsYXNzIGNyZWF0ZXMgYSByZWZlcmVuY2UgdG8gYSBGaXJlc3RvcmUgQ29sbGVjdGlvbi4gQSByZWZlcmVuY2UgYW5kIGEgcXVlcnkgYXJlIHByb3ZpZGVkIGluXG4gKiBpbiB0aGUgY29uc3RydWN0b3IuIFRoZSBxdWVyeSBjYW4gYmUgdGhlIHVucXVlcmllZCByZWZlcmVuY2UgaWYgbm8gcXVlcnkgaXMgZGVzaXJlZC5UaGUgY2xhc3NcbiAqIGlzIGdlbmVyaWMgd2hpY2ggZ2l2ZXMgeW91IHR5cGUgc2FmZXR5IGZvciBkYXRhIHVwZGF0ZSBtZXRob2RzIGFuZCBkYXRhIHN0cmVhbWluZy5cbiAqXG4gKiBUaGlzIGNsYXNzIHVzZXMgU3ltYm9sLm9ic2VydmFibGUgdG8gdHJhbnNmb3JtIGludG8gT2JzZXJ2YWJsZSB1c2luZyBPYnNlcnZhYmxlLmZyb20oKS5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIHJhcmVseSB1c2VkIGRpcmVjdGx5IGFuZCBzaG91bGQgYmUgY3JlYXRlZCBmcm9tIHRoZSBBbmd1bGFyRmlyZXN0b3JlIHNlcnZpY2UuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBjb25zdCBjb2xsZWN0aW9uUmVmID0gZmlyZWJhc2UuZmlyZXN0b3JlLmNvbGxlY3Rpb24oJ3N0b2NrcycpO1xuICogY29uc3QgcXVlcnkgPSBjb2xsZWN0aW9uUmVmLndoZXJlKCdwcmljZScsICc+JywgJzAuMDEnKTtcbiAqIGNvbnN0IGZha2VTdG9jayA9IG5ldyBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxTdG9jaz4oY29sbGVjdGlvblJlZiwgcXVlcnkpO1xuICpcbiAqIC8vIE5PVEUhOiB0aGUgdXBkYXRlcyBhcmUgcGVyZm9ybWVkIG9uIHRoZSByZWZlcmVuY2Ugbm90IHRoZSBxdWVyeVxuICogYXdhaXQgZmFrZVN0b2NrLmFkZCh7IG5hbWU6ICdGQUtFJywgcHJpY2U6IDAuMDEgfSk7XG4gKlxuICogLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgYXMgc25hcHNob3RzLiBUaGlzIHByb3ZpZGVzIHlvdSBkYXRhIHVwZGF0ZXMgYXMgd2VsbCBhcyBkZWx0YSB1cGRhdGVzLlxuICogZmFrZVN0b2NrLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICovXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VCA9IERvY3VtZW50RGF0YT4ge1xuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdG9yIHRha2VzIGluIGEgQ29sbGVjdGlvblJlZmVyZW5jZSBhbmQgUXVlcnkgdG8gcHJvdmlkZSB3cmFwcGVyIG1ldGhvZHNcbiAgICogZm9yIGRhdGEgb3BlcmF0aW9ucyBhbmQgZGF0YSBzdHJlYW1pbmcuXG4gICAqXG4gICAqIE5vdGU6IERhdGEgb3BlcmF0aW9uIG1ldGhvZHMgYXJlIGRvbmUgb24gdGhlIHJlZmVyZW5jZSBub3QgdGhlIHF1ZXJ5LiBUaGlzIG1lYW5zXG4gICAqIHdoZW4geW91IHVwZGF0ZSBkYXRhIGl0IGlzIG5vdCB1cGRhdGluZyBkYXRhIHRvIHRoZSB3aW5kb3cgb2YgeW91ciBxdWVyeSB1bmxlc3NcbiAgICogdGhlIGRhdGEgZml0cyB0aGUgY3JpdGVyaWEgb2YgdGhlIHF1ZXJ5LiBTZWUgdGhlIEFzc29jaWF0ZWRSZWZlbmNlIHR5cGUgZm9yIGRldGFpbHNcbiAgICogb24gdGhpcyBpbXBsaWNhdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZWY6IENvbGxlY3Rpb25SZWZlcmVuY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWVyeTogUXVlcnk8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUpIHsgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gdGhlIGxhdGVzdCBjaGFuZ2UgaW4gdGhlIHN0cmVhbS4gVGhpcyBtZXRob2QgcmV0dXJucyBjaGFuZ2VzXG4gICAqIGFzIHRoZXkgb2NjdXIgYW5kIHRoZXkgYXJlIG5vdCBzb3J0ZWQgYnkgcXVlcnkgb3JkZXIuIFRoaXMgYWxsb3dzIHlvdSB0byBjb25zdHJ1Y3RcbiAgICogeW91ciBvd24gZGF0YSBzdHJ1Y3R1cmUuXG4gICAqL1xuICBzdGF0ZUNoYW5nZXMoZXZlbnRzPzogRG9jdW1lbnRDaGFuZ2VUeXBlW10pOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgICBsZXQgc291cmNlID0gZG9jQ2hhbmdlczxUPih0aGlzLnF1ZXJ5LCB0aGlzLmFmcy5zY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKTtcbiAgICBpZiAoZXZlbnRzICYmIGV2ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBzb3VyY2UgPSBzb3VyY2UucGlwZShcbiAgICAgICAgbWFwKGFjdGlvbnMgPT4gYWN0aW9ucy5maWx0ZXIoY2hhbmdlID0+IGV2ZW50cy5pbmRleE9mKGNoYW5nZS50eXBlKSA+IC0xKSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIC8vIFdlIHdhbnQgdG8gZmlsdGVyIG91dCBlbXB0eSBhcnJheXMsIGJ1dCBhbHdheXMgZW1pdCBhdCBmaXJzdCwgc28gdGhlIGRldmVsb3BlciBrbm93c1xuICAgICAgLy8gdGhhdCB0aGUgY29sbGVjdGlvbiBoYXMgYmVlbiByZXNvbHZlOyBldmVuIGlmIGl0J3MgZW1wdHlcbiAgICAgIHN0YXJ0V2l0aDxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdLCB1bmRlZmluZWQ+KHVuZGVmaW5lZCksXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgZmlsdGVyKChbcHJpb3IsIGN1cnJlbnRdOiBEb2N1bWVudENoYW5nZVR1cGxlPFQ+KSA9PiBjdXJyZW50Lmxlbmd0aCA+IDAgfHwgIXByaW9yKSxcbiAgICAgIG1hcCgoWywgY3VycmVudF0pID0+IGN1cnJlbnQpLFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIGNoYW5nZXMgYXMgdGhleSBvY2N1ciBpdCB0aW1lLiBUaGlzIG1ldGhvZCBpcyBzaW1pbGFyIHRvIHN0YXRlQ2hhbmdlcygpXG4gICAqIGJ1dCBpdCBjb2xsZWN0cyBlYWNoIGV2ZW50IGluIGFuIGFycmF5IG92ZXIgdGltZS5cbiAgICovXG4gIGF1ZGl0VHJhaWwoZXZlbnRzPzogRG9jdW1lbnRDaGFuZ2VUeXBlW10pOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUNoYW5nZXMoZXZlbnRzKS5waXBlKHNjYW4oKGN1cnJlbnQsIGFjdGlvbikgPT4gWy4uLmN1cnJlbnQsIC4uLmFjdGlvbl0sIFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIHN5bmNocm9uaXplZCBjaGFuZ2VzLiBUaGlzIG1ldGhvZCBrZWVwcyB0aGUgbG9jYWwgYXJyYXkgaW4gc29ydGVkXG4gICAqIHF1ZXJ5IG9yZGVyLlxuICAgKi9cbiAgc25hcHNob3RDaGFuZ2VzKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgY29uc3QgdmFsaWRhdGVkRXZlbnRzID0gdmFsaWRhdGVFdmVudHNBcnJheShldmVudHMpO1xuICAgIGNvbnN0IHNjaGVkdWxlZFNvcnRlZENoYW5nZXMkID0gc29ydGVkQ2hhbmdlczxUPih0aGlzLnF1ZXJ5LCB2YWxpZGF0ZWRFdmVudHMsIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpO1xuICAgIHJldHVybiBzY2hlZHVsZWRTb3J0ZWRDaGFuZ2VzJC5waXBlKFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIGFsbCBkb2N1bWVudHMgaW4gdGhlIGNvbGxlY3Rpb24gYW5kIGl0cyBwb3NzaWJsZSBxdWVyeSBhcyBhbiBPYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiB0aGUgYGlkRmllbGRgIG9wdGlvbiBpcyBwcm92aWRlZCwgZG9jdW1lbnQgSURzIGFyZSBpbmNsdWRlZCBhbmQgbWFwcGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBgaWRGaWVsZGAgcHJvcGVydHkgbmFtZS5cbiAgICovXG4gIHZhbHVlQ2hhbmdlcygpOiBPYnNlcnZhYmxlPFRbXT47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1wYXR0ZXJuXG4gIHZhbHVlQ2hhbmdlcyh7fSk6IE9ic2VydmFibGU8VFtdPjtcbiAgdmFsdWVDaGFuZ2VzPEsgZXh0ZW5kcyBzdHJpbmc+KG9wdGlvbnM6IHtpZEZpZWxkOiBLfSk6IE9ic2VydmFibGU8KFQgJiB7IFtUIGluIEtdOiBzdHJpbmcgfSlbXT47XG4gIHZhbHVlQ2hhbmdlczxLIGV4dGVuZHMgc3RyaW5nPihvcHRpb25zOiB7aWRGaWVsZD86IEt9ID0ge30pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiBmcm9tQ29sbGVjdGlvblJlZjxUPih0aGlzLnF1ZXJ5LCB0aGlzLmFmcy5zY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChhY3Rpb25zID0+IGFjdGlvbnMucGF5bG9hZC5kb2NzLm1hcChhID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5pZEZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5hLmRhdGEoKSBhcyBhbnksXG4gICAgICAgICAgICAgIC4uLnsgW29wdGlvbnMuaWRGaWVsZF06IGEuaWQgfVxuICAgICAgICAgICAgfSBhcyBUICYgeyBbVCBpbiBLXTogc3RyaW5nIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhLmRhdGEoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKSxcbiAgICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcmVzdWx0cyBvZiB0aGUgcXVlcnkgb25jZS5cbiAgICovXG4gIGdldChvcHRpb25zPzogZmlyZWJhc2UuZmlyZXN0b3JlLkdldE9wdGlvbnMpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLnF1ZXJ5LmdldChvcHRpb25zKSkucGlwZShcbiAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3QsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZGF0YSB0byBhIGNvbGxlY3Rpb24gcmVmZXJlbmNlLlxuICAgKlxuICAgKiBOb3RlOiBEYXRhIG9wZXJhdGlvbiBtZXRob2RzIGFyZSBkb25lIG9uIHRoZSByZWZlcmVuY2Ugbm90IHRoZSBxdWVyeS4gVGhpcyBtZWFuc1xuICAgKiB3aGVuIHlvdSB1cGRhdGUgZGF0YSBpdCBpcyBub3QgdXBkYXRpbmcgZGF0YSB0byB0aGUgd2luZG93IG9mIHlvdXIgcXVlcnkgdW5sZXNzXG4gICAqIHRoZSBkYXRhIGZpdHMgdGhlIGNyaXRlcmlhIG9mIHRoZSBxdWVyeS5cbiAgICovXG4gIGFkZChkYXRhOiBUKTogUHJvbWlzZTxEb2N1bWVudFJlZmVyZW5jZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnJlZi5hZGQoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgc2luZ2xlIGRvY3VtZW50IGluIGEgY29sbGVjdGlvbi5cbiAgICovXG4gIGRvYzxUMiA9IFQ+KHBhdGg/OiBzdHJpbmcpOiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8VDI+IHtcbiAgICAvLyBUT0RPIGlzIHRoZXJlIGEgYmV0dGVyIHdheSB0byBzb2x2ZSB0aGlzIHR5cGUgaXNzdWVcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudCh0aGlzLnJlZi5kb2MocGF0aCkgYXMgYW55LCB0aGlzLmFmcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,9 @@
1
+ import { keepUnstableUntilFirst } from '@angular/fire';
1
2
  import { from } from 'rxjs';
2
- import { fromCollectionRef } from '../observable/fromRef';
3
3
  import { filter, map, scan } from 'rxjs/operators';
4
- import { keepUnstableUntilFirst } from '@angular/fire';
5
- import { validateEventsArray } from '../collection/collection';
6
4
  import { docChanges, sortedChanges } from '../collection/changes';
5
+ import { validateEventsArray } from '../collection/collection';
6
+ import { fromCollectionRef } from '../observable/fromRef';
7
7
  /**
8
8
  * AngularFirestoreCollectionGroup service
9
9
  *
@@ -83,4 +83,4 @@ export class AngularFirestoreCollectionGroup {
83
83
  return from(this.query.get(options)).pipe(keepUnstableUntilFirst);
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24tZ3JvdXAvY29sbGVjdGlvbi1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sT0FBTywrQkFBK0I7SUFNdkI7SUFDQTtJQU5uQjs7O09BR0c7SUFDSCxZQUNtQixLQUFlLEVBQ2YsR0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQWtCO0lBQUksQ0FBQztJQUU3Qzs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLE1BQTZCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxVQUFVLENBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLHNCQUFzQixDQUN2QixDQUFDO1NBQ0g7UUFDRCxPQUFPLFVBQVUsQ0FBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQzthQUNqRSxJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdEMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLE1BQTZCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxNQUE2QjtRQUMzQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsSCxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FDakMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBWUQsWUFBWSxDQUFtQixVQUF5QixFQUFFO1FBQ3hELE1BQU0sMkJBQTJCLEdBQUcsaUJBQWlCLENBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RyxPQUFPLDJCQUEyQjthQUMvQixJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDbkIsT0FBTztvQkFDTCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDdkIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2lCQUNnQixDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsRUFDSCxzQkFBc0IsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxPQUF1QztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tQ29sbGVjdGlvblJlZiB9IGZyb20gJy4uL29ic2VydmFibGUvZnJvbVJlZic7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2NhbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IGtlZXBVbnN0YWJsZVVudGlsRmlyc3QgfSBmcm9tICdAYW5ndWxhci9maXJlJztcblxuaW1wb3J0IHsgRG9jdW1lbnRDaGFuZ2VBY3Rpb24sIERvY3VtZW50Q2hhbmdlVHlwZSwgRG9jdW1lbnREYXRhLCBRdWVyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgdmFsaWRhdGVFdmVudHNBcnJheSB9IGZyb20gJy4uL2NvbGxlY3Rpb24vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBkb2NDaGFuZ2VzLCBzb3J0ZWRDaGFuZ2VzIH0gZnJvbSAnLi4vY29sbGVjdGlvbi9jaGFuZ2VzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICcuLi9maXJlc3RvcmUnO1xuXG4vKipcbiAqIEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXAgc2VydmljZVxuICpcbiAqIFRoaXMgY2xhc3MgaG9sZHMgYSByZWZlcmVuY2UgdG8gYSBGaXJlc3RvcmUgQ29sbGVjdGlvbiBHcm91cCBRdWVyeS5cbiAqXG4gKiBUaGlzIGNsYXNzIHVzZXMgU3ltYm9sLm9ic2VydmFibGUgdG8gdHJhbnNmb3JtIGludG8gT2JzZXJ2YWJsZSB1c2luZyBPYnNlcnZhYmxlLmZyb20oKS5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIHJhcmVseSB1c2VkIGRpcmVjdGx5IGFuZCBzaG91bGQgYmUgY3JlYXRlZCBmcm9tIHRoZSBBbmd1bGFyRmlyZXN0b3JlIHNlcnZpY2UuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBjb25zdCBjb2xsZWN0aW9uR3JvdXAgPSBmaXJlYmFzZS5maXJlc3RvcmUuY29sbGVjdGlvbkdyb3VwKCdzdG9ja3MnKTtcbiAqIGNvbnN0IHF1ZXJ5ID0gY29sbGVjdGlvblJlZi53aGVyZSgncHJpY2UnLCAnPicsICcwLjAxJyk7XG4gKiBjb25zdCBmYWtlU3RvY2sgPSBuZXcgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxTdG9jaz4ocXVlcnksIGFmcyk7XG4gKlxuICogLy8gU3Vic2NyaWJlIHRvIGNoYW5nZXMgYXMgc25hcHNob3RzLiBUaGlzIHByb3ZpZGVzIHlvdSBkYXRhIHVwZGF0ZXMgYXMgd2VsbCBhcyBkZWx0YSB1cGRhdGVzLlxuICogZmFrZVN0b2NrLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICovXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxUID0gRG9jdW1lbnREYXRhPiB7XG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgaW4gYSBDb2xsZWN0aW9uR3JvdXBRdWVyeSB0byBwcm92aWRlIHdyYXBwZXIgbWV0aG9kc1xuICAgKiBmb3IgZGF0YSBvcGVyYXRpb25zIGFuZCBkYXRhIHN0cmVhbWluZy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVlcnk6IFF1ZXJ5PFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWZzOiBBbmd1bGFyRmlyZXN0b3JlKSB7IH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIHRoZSBsYXRlc3QgY2hhbmdlIGluIHRoZSBzdHJlYW0uIFRoaXMgbWV0aG9kIHJldHVybnMgY2hhbmdlc1xuICAgKiBhcyB0aGV5IG9jY3VyIGFuZCB0aGV5IGFyZSBub3Qgc29ydGVkIGJ5IHF1ZXJ5IG9yZGVyLiBUaGlzIGFsbG93cyB5b3UgdG8gY29uc3RydWN0XG4gICAqIHlvdXIgb3duIGRhdGEgc3RydWN0dXJlLlxuICAgKi9cbiAgc3RhdGVDaGFuZ2VzKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgaWYgKCFldmVudHMgfHwgZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGRvY0NoYW5nZXM8VD4odGhpcy5xdWVyeSwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcikucGlwZShcbiAgICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY0NoYW5nZXM8VD4odGhpcy5xdWVyeSwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYWN0aW9ucyA9PiBhY3Rpb25zLmZpbHRlcihjaGFuZ2UgPT4gZXZlbnRzLmluZGV4T2YoY2hhbmdlLnR5cGUpID4gLTEpKSxcbiAgICAgICAgZmlsdGVyKGNoYW5nZXMgPT4gIGNoYW5nZXMubGVuZ3RoID4gMCksXG4gICAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIGNoYW5nZXMgYXMgdGhleSBvY2N1ciBpdCB0aW1lLiBUaGlzIG1ldGhvZCBpcyBzaW1pbGFyIHRvIHN0YXRlQ2hhbmdlcygpXG4gICAqIGJ1dCBpdCBjb2xsZWN0cyBlYWNoIGV2ZW50IGluIGFuIGFycmF5IG92ZXIgdGltZS5cbiAgICovXG4gIGF1ZGl0VHJhaWwoZXZlbnRzPzogRG9jdW1lbnRDaGFuZ2VUeXBlW10pOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUNoYW5nZXMoZXZlbnRzKS5waXBlKHNjYW4oKGN1cnJlbnQsIGFjdGlvbikgPT4gWy4uLmN1cnJlbnQsIC4uLmFjdGlvbl0sIFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc3RyZWFtIG9mIHN5bmNocm9uaXplZCBjaGFuZ2VzLiBUaGlzIG1ldGhvZCBrZWVwcyB0aGUgbG9jYWwgYXJyYXkgaW4gc29ydGVkXG4gICAqIHF1ZXJ5IG9yZGVyLlxuICAgKi9cbiAgc25hcHNob3RDaGFuZ2VzKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgY29uc3QgdmFsaWRhdGVkRXZlbnRzID0gdmFsaWRhdGVFdmVudHNBcnJheShldmVudHMpO1xuICAgIGNvbnN0IHNjaGVkdWxlZFNvcnRlZENoYW5nZXMkID0gc29ydGVkQ2hhbmdlczxUPih0aGlzLnF1ZXJ5LCB2YWxpZGF0ZWRFdmVudHMsIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpO1xuICAgIHJldHVybiBzY2hlZHVsZWRTb3J0ZWRDaGFuZ2VzJC5waXBlKFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIGFsbCBkb2N1bWVudHMgaW4gdGhlIGNvbGxlY3Rpb24gYW5kIGl0cyBwb3NzaWJsZSBxdWVyeSBhcyBhbiBPYnNlcnZhYmxlLlxuICAgKlxuICAgKiBJZiB0aGUgYGlkRmllbGRgIG9wdGlvbiBpcyBwcm92aWRlZCwgZG9jdW1lbnQgSURzIGFyZSBpbmNsdWRlZCBhbmQgbWFwcGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBgaWRGaWVsZGAgcHJvcGVydHkgbmFtZS5cbiAgICovXG4gIHZhbHVlQ2hhbmdlcygpOiBPYnNlcnZhYmxlPFRbXT47XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp1bmlmaWVkLXNpZ25hdHVyZXNcbiAgdmFsdWVDaGFuZ2VzKHt9KTogT2JzZXJ2YWJsZTxUW10+O1xuICB2YWx1ZUNoYW5nZXM8SyBleHRlbmRzIHN0cmluZz4ob3B0aW9uczoge2lkRmllbGQ6IEt9KTogT2JzZXJ2YWJsZTwoVCAmIHsgW1QgaW4gS106IHN0cmluZyB9KVtdPjtcbiAgdmFsdWVDaGFuZ2VzPEsgZXh0ZW5kcyBzdHJpbmc+KG9wdGlvbnM6IHtpZEZpZWxkPzogS30gPSB7fSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgY29uc3QgZnJvbUNvbGxlY3Rpb25SZWZTY2hlZHVsZWQkID0gZnJvbUNvbGxlY3Rpb25SZWY8VD4odGhpcy5xdWVyeSwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcik7XG4gICAgcmV0dXJuIGZyb21Db2xsZWN0aW9uUmVmU2NoZWR1bGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChhY3Rpb25zID0+IGFjdGlvbnMucGF5bG9hZC5kb2NzLm1hcChhID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5pZEZpZWxkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBbb3B0aW9ucy5pZEZpZWxkXTogYS5pZCxcbiAgICAgICAgICAgICAgLi4uYS5kYXRhKClcbiAgICAgICAgICAgIH0gYXMgVCAmIHsgW1QgaW4gS106IHN0cmluZyB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYS5kYXRhKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSksXG4gICAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHJlc3VsdHMgb2YgdGhlIHF1ZXJ5IG9uY2UuXG4gICAqL1xuICBnZXQob3B0aW9ucz86IGZpcmViYXNlLmZpcmVzdG9yZS5HZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5xdWVyeS5nZXQob3B0aW9ucykpLnBpcGUoXG4gICAgICBrZWVwVW5zdGFibGVVbnRpbEZpcnN0XG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24tZ3JvdXAvY29sbGVjdGlvbi1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sT0FBTywrQkFBK0I7SUFNdkI7SUFDQTtJQU5uQjs7O09BR0c7SUFDSCxZQUNtQixLQUFlLEVBQ2YsR0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQWtCO0lBQUksQ0FBQztJQUU3Qzs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLE1BQTZCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxVQUFVLENBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLHNCQUFzQixDQUN2QixDQUFDO1NBQ0g7UUFDRCxPQUFPLFVBQVUsQ0FBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQzthQUNqRSxJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdEMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLE1BQTZCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxNQUE2QjtRQUMzQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsSCxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FDakMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBWUQsWUFBWSxDQUFtQixVQUF5QixFQUFFO1FBQ3hELE1BQU0sMkJBQTJCLEdBQUcsaUJBQWlCLENBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RyxPQUFPLDJCQUEyQjthQUMvQixJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDbkIsT0FBTztvQkFDTCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDdkIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2lCQUNnQixDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsRUFDSCxzQkFBc0IsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxPQUF1QztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkMsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZWVwVW5zdGFibGVVbnRpbEZpcnN0IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2NhbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGRvY0NoYW5nZXMsIHNvcnRlZENoYW5nZXMgfSBmcm9tICcuLi9jb2xsZWN0aW9uL2NoYW5nZXMnO1xuaW1wb3J0IHsgdmFsaWRhdGVFdmVudHNBcnJheSB9IGZyb20gJy4uL2NvbGxlY3Rpb24vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnLi4vZmlyZXN0b3JlJztcbmltcG9ydCB7IERvY3VtZW50Q2hhbmdlQWN0aW9uLCBEb2N1bWVudENoYW5nZVR5cGUsIERvY3VtZW50RGF0YSwgUXVlcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZyb21Db2xsZWN0aW9uUmVmIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tUmVmJztcblxuLyoqXG4gKiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwIHNlcnZpY2VcbiAqXG4gKiBUaGlzIGNsYXNzIGhvbGRzIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIENvbGxlY3Rpb24gR3JvdXAgUXVlcnkuXG4gKlxuICogVGhpcyBjbGFzcyB1c2VzIFN5bWJvbC5vYnNlcnZhYmxlIHRvIHRyYW5zZm9ybSBpbnRvIE9ic2VydmFibGUgdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkuXG4gKlxuICogVGhpcyBjbGFzcyBpcyByYXJlbHkgdXNlZCBkaXJlY3RseSBhbmQgc2hvdWxkIGJlIGNyZWF0ZWQgZnJvbSB0aGUgQW5ndWxhckZpcmVzdG9yZSBzZXJ2aWNlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogY29uc3QgY29sbGVjdGlvbkdyb3VwID0gZmlyZWJhc2UuZmlyZXN0b3JlLmNvbGxlY3Rpb25Hcm91cCgnc3RvY2tzJyk7XG4gKiBjb25zdCBxdWVyeSA9IGNvbGxlY3Rpb25SZWYud2hlcmUoJ3ByaWNlJywgJz4nLCAnMC4wMScpO1xuICogY29uc3QgZmFrZVN0b2NrID0gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8U3RvY2s+KHF1ZXJ5LCBhZnMpO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGFzIHNuYXBzaG90cy4gVGhpcyBwcm92aWRlcyB5b3UgZGF0YSB1cGRhdGVzIGFzIHdlbGwgYXMgZGVsdGEgdXBkYXRlcy5cbiAqIGZha2VTdG9jay52YWx1ZUNoYW5nZXMoKS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCA9IERvY3VtZW50RGF0YT4ge1xuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdG9yIHRha2VzIGluIGEgQ29sbGVjdGlvbkdyb3VwUXVlcnkgdG8gcHJvdmlkZSB3cmFwcGVyIG1ldGhvZHNcbiAgICogZm9yIGRhdGEgb3BlcmF0aW9ucyBhbmQgZGF0YSBzdHJlYW1pbmcuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5OiBRdWVyeTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFmczogQW5ndWxhckZpcmVzdG9yZSkgeyB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byB0aGUgbGF0ZXN0IGNoYW5nZSBpbiB0aGUgc3RyZWFtLiBUaGlzIG1ldGhvZCByZXR1cm5zIGNoYW5nZXNcbiAgICogYXMgdGhleSBvY2N1ciBhbmQgdGhleSBhcmUgbm90IHNvcnRlZCBieSBxdWVyeSBvcmRlci4gVGhpcyBhbGxvd3MgeW91IHRvIGNvbnN0cnVjdFxuICAgKiB5b3VyIG93biBkYXRhIHN0cnVjdHVyZS5cbiAgICovXG4gIHN0YXRlQ2hhbmdlcyhldmVudHM/OiBEb2N1bWVudENoYW5nZVR5cGVbXSk6IE9ic2VydmFibGU8RG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXT4ge1xuICAgIGlmICghZXZlbnRzIHx8IGV2ZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBkb2NDaGFuZ2VzPFQ+KHRoaXMucXVlcnksIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLnBpcGUoXG4gICAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBkb2NDaGFuZ2VzPFQ+KHRoaXMucXVlcnksIHRoaXMuYWZzLnNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGFjdGlvbnMgPT4gYWN0aW9ucy5maWx0ZXIoY2hhbmdlID0+IGV2ZW50cy5pbmRleE9mKGNoYW5nZS50eXBlKSA+IC0xKSksXG4gICAgICAgIGZpbHRlcihjaGFuZ2VzID0+ICBjaGFuZ2VzLmxlbmd0aCA+IDApLFxuICAgICAgICBrZWVwVW5zdGFibGVVbnRpbEZpcnN0XG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHN0cmVhbSBvZiBjaGFuZ2VzIGFzIHRoZXkgb2NjdXIgaXQgdGltZS4gVGhpcyBtZXRob2QgaXMgc2ltaWxhciB0byBzdGF0ZUNoYW5nZXMoKVxuICAgKiBidXQgaXQgY29sbGVjdHMgZWFjaCBldmVudCBpbiBhbiBhcnJheSBvdmVyIHRpbWUuXG4gICAqL1xuICBhdWRpdFRyYWlsKGV2ZW50cz86IERvY3VtZW50Q2hhbmdlVHlwZVtdKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVDaGFuZ2VzKGV2ZW50cykucGlwZShzY2FuKChjdXJyZW50LCBhY3Rpb24pID0+IFsuLi5jdXJyZW50LCAuLi5hY3Rpb25dLCBbXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHN0cmVhbSBvZiBzeW5jaHJvbml6ZWQgY2hhbmdlcy4gVGhpcyBtZXRob2Qga2VlcHMgdGhlIGxvY2FsIGFycmF5IGluIHNvcnRlZFxuICAgKiBxdWVyeSBvcmRlci5cbiAgICovXG4gIHNuYXBzaG90Q2hhbmdlcyhldmVudHM/OiBEb2N1bWVudENoYW5nZVR5cGVbXSk6IE9ic2VydmFibGU8RG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXT4ge1xuICAgIGNvbnN0IHZhbGlkYXRlZEV2ZW50cyA9IHZhbGlkYXRlRXZlbnRzQXJyYXkoZXZlbnRzKTtcbiAgICBjb25zdCBzY2hlZHVsZWRTb3J0ZWRDaGFuZ2VzJCA9IHNvcnRlZENoYW5nZXM8VD4odGhpcy5xdWVyeSwgdmFsaWRhdGVkRXZlbnRzLCB0aGlzLmFmcy5zY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKTtcbiAgICByZXR1cm4gc2NoZWR1bGVkU29ydGVkQ2hhbmdlcyQucGlwZShcbiAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBhbGwgZG9jdW1lbnRzIGluIHRoZSBjb2xsZWN0aW9uIGFuZCBpdHMgcG9zc2libGUgcXVlcnkgYXMgYW4gT2JzZXJ2YWJsZS5cbiAgICpcbiAgICogSWYgdGhlIGBpZEZpZWxkYCBvcHRpb24gaXMgcHJvdmlkZWQsIGRvY3VtZW50IElEcyBhcmUgaW5jbHVkZWQgYW5kIG1hcHBlZCB0byB0aGVcbiAgICogcHJvdmlkZWQgYGlkRmllbGRgIHByb3BlcnR5IG5hbWUuXG4gICAqL1xuICB2YWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxUW10+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktcGF0dGVyblxuICB2YWx1ZUNoYW5nZXMoe30pOiBPYnNlcnZhYmxlPFRbXT47XG4gIHZhbHVlQ2hhbmdlczxLIGV4dGVuZHMgc3RyaW5nPihvcHRpb25zOiB7aWRGaWVsZDogS30pOiBPYnNlcnZhYmxlPChUICYgeyBbVCBpbiBLXTogc3RyaW5nIH0pW10+O1xuICB2YWx1ZUNoYW5nZXM8SyBleHRlbmRzIHN0cmluZz4ob3B0aW9uczoge2lkRmllbGQ/OiBLfSA9IHt9KTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBjb25zdCBmcm9tQ29sbGVjdGlvblJlZlNjaGVkdWxlZCQgPSBmcm9tQ29sbGVjdGlvblJlZjxUPih0aGlzLnF1ZXJ5LCB0aGlzLmFmcy5zY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKTtcbiAgICByZXR1cm4gZnJvbUNvbGxlY3Rpb25SZWZTY2hlZHVsZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGFjdGlvbnMgPT4gYWN0aW9ucy5wYXlsb2FkLmRvY3MubWFwKGEgPT4ge1xuICAgICAgICAgIGlmIChvcHRpb25zLmlkRmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIFtvcHRpb25zLmlkRmllbGRdOiBhLmlkLFxuICAgICAgICAgICAgICAuLi5hLmRhdGEoKVxuICAgICAgICAgICAgfSBhcyBUICYgeyBbVCBpbiBLXTogc3RyaW5nIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhLmRhdGEoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKSxcbiAgICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcmVzdWx0cyBvZiB0aGUgcXVlcnkgb25jZS5cbiAgICovXG4gIGdldChvcHRpb25zPzogZmlyZWJhc2UuZmlyZXN0b3JlLkdldE9wdGlvbnMpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLnF1ZXJ5LmdldChvcHRpb25zKSkucGlwZShcbiAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3RcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,9 +1,9 @@
1
- import { from } from 'rxjs';
2
1
  import { keepUnstableUntilFirst } from '@angular/fire';
3
- import { fromDocRef } from '../observable/fromRef';
2
+ import { from } from 'rxjs';
4
3
  import { map } from 'rxjs/operators';
5
- import { associateQuery } from '../firestore';
6
4
  import { AngularFirestoreCollection } from '../collection/collection';
5
+ import { associateQuery } from '../firestore';
6
+ import { fromDocRef } from '../observable/fromRef';
7
7
  /**
8
8
  * AngularFirestoreDocument service
9
9
  *
@@ -84,4 +84,4 @@ export class AngularFirestoreDocument {
84
84
  return from(this.ref.get(options)).pipe(keepUnstableUntilFirst);
85
85
  }
86
86
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2ZpcmVzdG9yZS9kb2N1bWVudC9kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3RFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBTWhCO0lBQW1DO0lBSnREOzs7T0FHRztJQUNILFlBQW1CLEdBQXlCLEVBQVUsR0FBcUI7UUFBeEQsUUFBRyxHQUFILEdBQUcsQ0FBc0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUFJLENBQUM7SUFFaEY7O09BRUc7SUFDSCxHQUFHLENBQUMsSUFBTyxFQUFFLE9BQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBbUIsSUFBWSxFQUFFLE9BQWlCO1FBQzFELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBOEMsQ0FBQztRQUM3RixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUM5QixzQkFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFVRCxZQUFZLENBQW1CLFVBQTJCLEVBQUU7UUFDMUQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDaEIsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1NBQ1QsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUMvQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBdUM7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUN2QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsga2VlcFVuc3RhYmxlVW50aWxGaXJzdCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBEb2N1bWVudERhdGEsIERvY3VtZW50UmVmZXJlbmNlLCBEb2N1bWVudFNuYXBzaG90LCBRdWVyeUZuLCBTZXRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmcm9tRG9jUmVmIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tUmVmJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUsIGFzc29jaWF0ZVF1ZXJ5IH0gZnJvbSAnLi4vZmlyZXN0b3JlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbi9jb2xsZWN0aW9uJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcblxuLyoqXG4gKiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQgc2VydmljZVxuICpcbiAqIFRoaXMgY2xhc3MgY3JlYXRlcyBhIHJlZmVyZW5jZSB0byBhIEZpcmVzdG9yZSBEb2N1bWVudC4gQSByZWZlcmVuY2UgaXMgcHJvdmlkZWQgaW5cbiAqIGluIHRoZSBjb25zdHJ1Y3Rvci4gVGhlIGNsYXNzIGlzIGdlbmVyaWMgd2hpY2ggZ2l2ZXMgeW91IHR5cGUgc2FmZXR5IGZvciBkYXRhIHVwZGF0ZVxuICogbWV0aG9kcyBhbmQgZGF0YSBzdHJlYW1pbmcuXG4gKlxuICogVGhpcyBjbGFzcyB1c2VzIFN5bWJvbC5vYnNlcnZhYmxlIHRvIHRyYW5zZm9ybSBpbnRvIE9ic2VydmFibGUgdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkuXG4gKlxuICogVGhpcyBjbGFzcyBpcyByYXJlbHkgdXNlZCBkaXJlY3RseSBhbmQgc2hvdWxkIGJlIGNyZWF0ZWQgZnJvbSB0aGUgQW5ndWxhckZpcmVzdG9yZSBzZXJ2aWNlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogY29uc3QgZmFrZVN0b2NrID0gbmV3IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxTdG9jaz4oZG9jKCdzdG9ja3MvRkFLRScpKTtcbiAqIGF3YWl0IGZha2VTdG9jay5zZXQoeyBuYW1lOiAnRkFLRScsIHByaWNlOiAwLjAxIH0pO1xuICogZmFrZVN0b2NrLnZhbHVlQ2hhbmdlcygpLm1hcChzbmFwID0+IHtcbiAqICAgaWYoc25hcC5leGlzdHMpIHJldHVybiBzbmFwLmRhdGEoKTtcbiAqICAgcmV0dXJuIG51bGw7XG4gKiB9KS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqIC8vIE9SISBUcmFuc2Zvcm0gdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkgYW5kIHRoZSBkYXRhIGlzIHVud3JhcHBlZCBmb3IgeW91XG4gKiBPYnNlcnZhYmxlLmZyb20oZmFrZVN0b2NrKS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUID0gRG9jdW1lbnREYXRhPiB7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciB0YWtlcyBpbiBhIERvY3VtZW50UmVmZXJlbmNlIHRvIHByb3ZpZGUgd3JhcHBlciBtZXRob2RzXG4gICAqIGZvciBkYXRhIG9wZXJhdGlvbnMsIGRhdGEgc3RyZWFtaW5nLCBhbmQgU3ltYm9sLm9ic2VydmFibGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVmOiBEb2N1bWVudFJlZmVyZW5jZTxUPiwgcHJpdmF0ZSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUpIHsgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3Igb3ZlcndyaXRlIGEgc2luZ2xlIGRvY3VtZW50LlxuICAgKi9cbiAgc2V0KGRhdGE6IFQsIG9wdGlvbnM/OiBTZXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmLnNldChkYXRhLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc29tZSBmaWVsZHMgb2YgYSBkb2N1bWVudCB3aXRob3V0IG92ZXJ3cml0aW5nIHRoZSBlbnRpcmUgZG9jdW1lbnQuXG4gICAqL1xuICB1cGRhdGUoZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnJlZi51cGRhdGUoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGEgZG9jdW1lbnQuXG4gICAqL1xuICBkZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmLmRlbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIHN1Yi1jb2xsZWN0aW9uIGdpdmVuIGEgcGF0aCBhbmQgYW4gb3B0aW9uYWwgcXVlcnlcbiAgICogZnVuY3Rpb24uXG4gICAqL1xuICBjb2xsZWN0aW9uPFIgPSBEb2N1bWVudERhdGE+KHBhdGg6IHN0cmluZywgcXVlcnlGbj86IFF1ZXJ5Rm4pOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxSPiB7XG4gICAgY29uc3QgY29sbGVjdGlvblJlZiA9IHRoaXMucmVmLmNvbGxlY3Rpb24ocGF0aCkgYXMgZmlyZWJhc2UuZmlyZXN0b3JlLkNvbGxlY3Rpb25SZWZlcmVuY2U8Uj47XG4gICAgY29uc3QgeyByZWYsIHF1ZXJ5IH0gPSBhc3NvY2lhdGVRdWVyeShjb2xsZWN0aW9uUmVmLCBxdWVyeUZuKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uKHJlZiwgcXVlcnksIHRoaXMuYWZzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gc25hcHNob3QgdXBkYXRlcyBmcm9tIHRoZSBkb2N1bWVudC5cbiAgICovXG4gIHNuYXBzaG90Q2hhbmdlcygpOiBPYnNlcnZhYmxlPEFjdGlvbjxEb2N1bWVudFNuYXBzaG90PFQ+Pj4ge1xuICAgIGNvbnN0IHNjaGVkdWxlZEZyb21Eb2NSZWYkID0gZnJvbURvY1JlZjxUPih0aGlzLnJlZiwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcik7XG4gICAgcmV0dXJuIHNjaGVkdWxlZEZyb21Eb2NSZWYkLnBpcGUoXG4gICAgICBrZWVwVW5zdGFibGVVbnRpbEZpcnN0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gdW53cmFwcGVkIHNuYXBzaG90IHVwZGF0ZXMgZnJvbSB0aGUgZG9jdW1lbnQuXG4gICAqXG4gICAqIElmIHRoZSBgaWRGaWVsZGAgb3B0aW9uIGlzIHByb3ZpZGVkLCBkb2N1bWVudCBJRHMgYXJlIGluY2x1ZGVkIGFuZCBtYXBwZWQgdG8gdGhlXG4gICAqIHByb3ZpZGVkIGBpZEZpZWxkYCBwcm9wZXJ0eSBuYW1lLlxuICAgKi9cbiAgdmFsdWVDaGFuZ2VzKG9wdGlvbnM/OiB7IH0pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+O1xuICB2YWx1ZUNoYW5nZXM8SyBleHRlbmRzIHN0cmluZz4ob3B0aW9uczogeyBpZEZpZWxkOiBLIH0pOiBPYnNlcnZhYmxlPChUICYgeyBbVCBpbiBLXTogc3RyaW5nIH0pIHwgdW5kZWZpbmVkPjtcbiAgdmFsdWVDaGFuZ2VzPEsgZXh0ZW5kcyBzdHJpbmc+KG9wdGlvbnM6IHsgaWRGaWVsZD86IEsgfSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuc25hcHNob3RDaGFuZ2VzKCkucGlwZShcbiAgICAgIG1hcCgoeyBwYXlsb2FkIH0pID0+XG4gICAgICAgIG9wdGlvbnMuaWRGaWVsZCA/IHtcbiAgICAgICAgICAuLi5wYXlsb2FkLmRhdGEoKSxcbiAgICAgICAgICAuLi57IFtvcHRpb25zLmlkRmllbGRdOiBwYXlsb2FkLmlkIH1cbiAgICAgICAgfSBhcyBUICYgeyBbVCBpbiBLXTogc3RyaW5nIH0gOiBwYXlsb2FkLmRhdGEoKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGRvY3VtZW50IG9uY2UuXG4gICAqL1xuICBnZXQob3B0aW9ucz86IGZpcmViYXNlLmZpcmVzdG9yZS5HZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5yZWYuZ2V0KG9wdGlvbnMpKS5waXBlKFxuICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdCxcbiAgICApO1xuICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2ZpcmVzdG9yZS9kb2N1bWVudC9kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBTWhCO0lBQW1DO0lBSnREOzs7T0FHRztJQUNILFlBQW1CLEdBQXlCLEVBQVUsR0FBcUI7UUFBeEQsUUFBRyxHQUFILEdBQUcsQ0FBc0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUFJLENBQUM7SUFFaEY7O09BRUc7SUFDSCxHQUFHLENBQUMsSUFBTyxFQUFFLE9BQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBbUIsSUFBWSxFQUFFLE9BQWlCO1FBQzFELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBOEMsQ0FBQztRQUM3RixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUM5QixzQkFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFVRCxZQUFZLENBQW1CLFVBQTJCLEVBQUU7UUFDMUQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDaEIsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1NBQ1QsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUMvQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBdUM7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUN2QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2VlcFVuc3RhYmxlVW50aWxGaXJzdCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSwgYXNzb2NpYXRlUXVlcnkgfSBmcm9tICcuLi9maXJlc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBEb2N1bWVudERhdGEsIERvY3VtZW50UmVmZXJlbmNlLCBEb2N1bWVudFNuYXBzaG90LCBRdWVyeUZuLCBTZXRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmcm9tRG9jUmVmIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tUmVmJztcblxuLyoqXG4gKiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQgc2VydmljZVxuICpcbiAqIFRoaXMgY2xhc3MgY3JlYXRlcyBhIHJlZmVyZW5jZSB0byBhIEZpcmVzdG9yZSBEb2N1bWVudC4gQSByZWZlcmVuY2UgaXMgcHJvdmlkZWQgaW5cbiAqIGluIHRoZSBjb25zdHJ1Y3Rvci4gVGhlIGNsYXNzIGlzIGdlbmVyaWMgd2hpY2ggZ2l2ZXMgeW91IHR5cGUgc2FmZXR5IGZvciBkYXRhIHVwZGF0ZVxuICogbWV0aG9kcyBhbmQgZGF0YSBzdHJlYW1pbmcuXG4gKlxuICogVGhpcyBjbGFzcyB1c2VzIFN5bWJvbC5vYnNlcnZhYmxlIHRvIHRyYW5zZm9ybSBpbnRvIE9ic2VydmFibGUgdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkuXG4gKlxuICogVGhpcyBjbGFzcyBpcyByYXJlbHkgdXNlZCBkaXJlY3RseSBhbmQgc2hvdWxkIGJlIGNyZWF0ZWQgZnJvbSB0aGUgQW5ndWxhckZpcmVzdG9yZSBzZXJ2aWNlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogY29uc3QgZmFrZVN0b2NrID0gbmV3IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxTdG9jaz4oZG9jKCdzdG9ja3MvRkFLRScpKTtcbiAqIGF3YWl0IGZha2VTdG9jay5zZXQoeyBuYW1lOiAnRkFLRScsIHByaWNlOiAwLjAxIH0pO1xuICogZmFrZVN0b2NrLnZhbHVlQ2hhbmdlcygpLm1hcChzbmFwID0+IHtcbiAqICAgaWYoc25hcC5leGlzdHMpIHJldHVybiBzbmFwLmRhdGEoKTtcbiAqICAgcmV0dXJuIG51bGw7XG4gKiB9KS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqIC8vIE9SISBUcmFuc2Zvcm0gdXNpbmcgT2JzZXJ2YWJsZS5mcm9tKCkgYW5kIHRoZSBkYXRhIGlzIHVud3JhcHBlZCBmb3IgeW91XG4gKiBPYnNlcnZhYmxlLmZyb20oZmFrZVN0b2NrKS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUID0gRG9jdW1lbnREYXRhPiB7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciB0YWtlcyBpbiBhIERvY3VtZW50UmVmZXJlbmNlIHRvIHByb3ZpZGUgd3JhcHBlciBtZXRob2RzXG4gICAqIGZvciBkYXRhIG9wZXJhdGlvbnMsIGRhdGEgc3RyZWFtaW5nLCBhbmQgU3ltYm9sLm9ic2VydmFibGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVmOiBEb2N1bWVudFJlZmVyZW5jZTxUPiwgcHJpdmF0ZSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUpIHsgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3Igb3ZlcndyaXRlIGEgc2luZ2xlIGRvY3VtZW50LlxuICAgKi9cbiAgc2V0KGRhdGE6IFQsIG9wdGlvbnM/OiBTZXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmLnNldChkYXRhLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc29tZSBmaWVsZHMgb2YgYSBkb2N1bWVudCB3aXRob3V0IG92ZXJ3cml0aW5nIHRoZSBlbnRpcmUgZG9jdW1lbnQuXG4gICAqL1xuICB1cGRhdGUoZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnJlZi51cGRhdGUoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGEgZG9jdW1lbnQuXG4gICAqL1xuICBkZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmLmRlbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIHN1Yi1jb2xsZWN0aW9uIGdpdmVuIGEgcGF0aCBhbmQgYW4gb3B0aW9uYWwgcXVlcnlcbiAgICogZnVuY3Rpb24uXG4gICAqL1xuICBjb2xsZWN0aW9uPFIgPSBEb2N1bWVudERhdGE+KHBhdGg6IHN0cmluZywgcXVlcnlGbj86IFF1ZXJ5Rm4pOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxSPiB7XG4gICAgY29uc3QgY29sbGVjdGlvblJlZiA9IHRoaXMucmVmLmNvbGxlY3Rpb24ocGF0aCkgYXMgZmlyZWJhc2UuZmlyZXN0b3JlLkNvbGxlY3Rpb25SZWZlcmVuY2U8Uj47XG4gICAgY29uc3QgeyByZWYsIHF1ZXJ5IH0gPSBhc3NvY2lhdGVRdWVyeShjb2xsZWN0aW9uUmVmLCBxdWVyeUZuKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uKHJlZiwgcXVlcnksIHRoaXMuYWZzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gc25hcHNob3QgdXBkYXRlcyBmcm9tIHRoZSBkb2N1bWVudC5cbiAgICovXG4gIHNuYXBzaG90Q2hhbmdlcygpOiBPYnNlcnZhYmxlPEFjdGlvbjxEb2N1bWVudFNuYXBzaG90PFQ+Pj4ge1xuICAgIGNvbnN0IHNjaGVkdWxlZEZyb21Eb2NSZWYkID0gZnJvbURvY1JlZjxUPih0aGlzLnJlZiwgdGhpcy5hZnMuc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhcik7XG4gICAgcmV0dXJuIHNjaGVkdWxlZEZyb21Eb2NSZWYkLnBpcGUoXG4gICAgICBrZWVwVW5zdGFibGVVbnRpbEZpcnN0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gdW53cmFwcGVkIHNuYXBzaG90IHVwZGF0ZXMgZnJvbSB0aGUgZG9jdW1lbnQuXG4gICAqXG4gICAqIElmIHRoZSBgaWRGaWVsZGAgb3B0aW9uIGlzIHByb3ZpZGVkLCBkb2N1bWVudCBJRHMgYXJlIGluY2x1ZGVkIGFuZCBtYXBwZWQgdG8gdGhlXG4gICAqIHByb3ZpZGVkIGBpZEZpZWxkYCBwcm9wZXJ0eSBuYW1lLlxuICAgKi9cbiAgdmFsdWVDaGFuZ2VzKG9wdGlvbnM/OiB1bmtub3duKTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPjtcbiAgdmFsdWVDaGFuZ2VzPEsgZXh0ZW5kcyBzdHJpbmc+KG9wdGlvbnM6IHsgaWRGaWVsZDogSyB9KTogT2JzZXJ2YWJsZTwoVCAmIHsgW1QgaW4gS106IHN0cmluZyB9KSB8IHVuZGVmaW5lZD47XG4gIHZhbHVlQ2hhbmdlczxLIGV4dGVuZHMgc3RyaW5nPihvcHRpb25zOiB7IGlkRmllbGQ/OiBLIH0gPSB7fSk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnNuYXBzaG90Q2hhbmdlcygpLnBpcGUoXG4gICAgICBtYXAoKHsgcGF5bG9hZCB9KSA9PlxuICAgICAgICBvcHRpb25zLmlkRmllbGQgPyB7XG4gICAgICAgICAgLi4ucGF5bG9hZC5kYXRhKCksXG4gICAgICAgICAgLi4ueyBbb3B0aW9ucy5pZEZpZWxkXTogcGF5bG9hZC5pZCB9XG4gICAgICAgIH0gYXMgVCAmIHsgW1QgaW4gS106IHN0cmluZyB9IDogcGF5bG9hZC5kYXRhKClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBkb2N1bWVudCBvbmNlLlxuICAgKi9cbiAgZ2V0KG9wdGlvbnM/OiBmaXJlYmFzZS5maXJlc3RvcmUuR2V0T3B0aW9ucykge1xuICAgIHJldHVybiBmcm9tKHRoaXMucmVmLmdldChvcHRpb25zKSkucGlwZShcbiAgICAgIGtlZXBVbnN0YWJsZVVudGlsRmlyc3QsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,15 +1,15 @@
1
+ import { isPlatformServer } from '@angular/common';
1
2
  import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';
3
+ import { ɵAngularFireSchedulers } from '@angular/fire';
4
+ import { AppCheckInstances } from '@angular/fire/app-check';
5
+ import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';
6
+ import { SETTINGS as AUTH_SETTINGS, AngularFireAuth, LANGUAGE_CODE, PERSISTENCE, TENANT_ID, USE_EMULATOR as USE_AUTH_EMULATOR, USE_DEVICE_LANGUAGE, ɵauthFactory, } from '@angular/fire/compat/auth';
2
7
  import { from, of } from 'rxjs';
3
- import { AngularFirestoreDocument } from './document/document';
4
8
  import { AngularFirestoreCollection } from './collection/collection';
5
9
  import { AngularFirestoreCollectionGroup } from './collection-group/collection-group';
6
- import { ɵAngularFireSchedulers } from '@angular/fire';
7
- import { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';
8
- import { isPlatformServer } from '@angular/common';
10
+ import { AngularFirestoreDocument } from './document/document';
9
11
  import 'firebase/compat/auth';
10
12
  import 'firebase/compat/firestore';
11
- import { AngularFireAuth, USE_EMULATOR as USE_AUTH_EMULATOR, SETTINGS as AUTH_SETTINGS, TENANT_ID, LANGUAGE_CODE, USE_DEVICE_LANGUAGE, PERSISTENCE, ɵauthFactory, } from '@angular/fire/compat/auth';
12
- import { AppCheckInstances } from '@angular/fire/app-check';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/fire";
15
15
  import * as i2 from "@angular/fire/compat/auth";
@@ -103,7 +103,7 @@ export class AngularFirestore {
103
103
  * apps and use multiple apps.
104
104
  */
105
105
  constructor(options, name, shouldEnablePersistence, settings,
106
- // tslint:disable-next-line:ban-types
106
+ // eslint-disable-next-line @typescript-eslint/ban-types
107
107
  platformId, zone, schedulers, persistenceSettings, _useEmulator, auth, useAuthEmulator, authSettings, // can't use firebase.auth.AuthSettings here
108
108
  tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
109
109
  this.schedulers = schedulers;
@@ -180,10 +180,10 @@ export class AngularFirestore {
180
180
  createId() {
181
181
  return this.firestore.collection('_').doc().id;
182
182
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestore, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: ENABLE_PERSISTENCE, optional: true }, { token: SETTINGS, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: PERSISTENCE_SETTINGS, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_AUTH_EMULATOR, optional: true }, { token: AUTH_SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
184
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestore, providedIn: 'any' });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestore, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: ENABLE_PERSISTENCE, optional: true }, { token: SETTINGS, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: PERSISTENCE_SETTINGS, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_AUTH_EMULATOR, optional: true }, { token: AUTH_SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
184
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestore, providedIn: 'any' });
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestore, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestore, decorators: [{
187
187
  type: Injectable,
188
188
  args: [{
189
189
  providedIn: 'any'
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
254
254
  }] }, { type: i3.AppCheckInstances, decorators: [{
255
255
  type: Optional
256
256
  }] }]; } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9maXJlc3RvcmUvZmlyZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVc1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFlLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksSUFBSSxpQkFBaUIsRUFDakMsUUFBUSxJQUFJLGFBQWEsRUFDekIsU0FBUyxFQUNULGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUU1RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFVLHlDQUF5QyxDQUFDLENBQUM7QUFDekcsTUFB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UTs7MEJBRTNCLE1BQU07MkJBQUMsV0FBVzs7MEJBR2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDdkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZOzswQkFDL0IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUM1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQ3RDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzs7MEJBQzlCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFzc29jaWF0ZWRSZWZlcmVuY2UsXG4gIENvbGxlY3Rpb25SZWZlcmVuY2UsXG4gIERvY3VtZW50UmVmZXJlbmNlLFxuICBQZXJzaXN0ZW5jZVNldHRpbmdzLFxuICBRdWVyeSxcbiAgUXVlcnlGbixcbiAgUXVlcnlHcm91cEZuLFxuICBTZXR0aW5nc1xufSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXAgfSBmcm9tICcuL2NvbGxlY3Rpb24tZ3JvdXAvY29sbGVjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIMm1ZmlyZWJhc2VBcHBGYWN0b3J5LCBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgybVjYWNoZUluc3RhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0ICdmaXJlYmFzZS9jb21wYXQvYXV0aCc7XG5pbXBvcnQgJ2ZpcmViYXNlL2NvbXBhdC9maXJlc3RvcmUnO1xuaW1wb3J0IHtcbiAgQW5ndWxhckZpcmVBdXRoLFxuICBVU0VfRU1VTEFUT1IgYXMgVVNFX0FVVEhfRU1VTEFUT1IsXG4gIFNFVFRJTkdTIGFzIEFVVEhfU0VUVElOR1MsXG4gIFRFTkFOVF9JRCxcbiAgTEFOR1VBR0VfQ09ERSxcbiAgVVNFX0RFVklDRV9MQU5HVUFHRSxcbiAgUEVSU0lTVEVOQ0UsXG4gIMm1YXV0aEZhY3RvcnksXG59IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0L2F1dGgnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5cbi8qKlxuICogVGhlIHZhbHVlIG9mIHRoaXMgdG9rZW4gZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgZmlyZXN0b3JlIHdpbGwgaGF2ZSBwZXJzaXN0YW5jZSBlbmFibGVkXG4gKi9cbmV4cG9ydCBjb25zdCBFTkFCTEVfUEVSU0lTVEVOQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5lbmFibGVGaXJlc3RvcmVQZXJzaXN0ZW5jZScpO1xuZXhwb3J0IGNvbnN0IFBFUlNJU1RFTkNFX1NFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPFBlcnNpc3RlbmNlU2V0dGluZ3MgfCB1bmRlZmluZWQ+KCdhbmd1bGFyZmlyZTIuZmlyZXN0b3JlLnBlcnNpc3RlbmNlU2V0dGluZ3MnKTtcbmV4cG9ydCBjb25zdCBTRVRUSU5HUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZXR0aW5ncz4oJ2FuZ3VsYXJmaXJlMi5maXJlc3RvcmUuc2V0dGluZ3MnKTtcblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuZmlyZXN0b3JlLkZpcmVzdG9yZVsndXNlRW11bGF0b3InXT47XG5leHBvcnQgY29uc3QgVVNFX0VNVUxBVE9SID0gbmV3IEluamVjdGlvblRva2VuPFVzZUVtdWxhdG9yQXJndW1lbnRzPignYW5ndWxhcmZpcmUyLmZpcmVzdG9yZS51c2UtZW11bGF0b3InKTtcblxuLyoqXG4gKiBBIHV0aWxpdHkgbWV0aG9kcyBmb3IgYXNzb2NpYXRpbmcgYSBjb2xsZWN0aW9uIHJlZmVyZW5jZSB3aXRoXG4gKiBhIHF1ZXJ5LlxuICpcbiAqIEBwYXJhbSBjb2xsZWN0aW9uUmVmIC0gQSBjb2xsZWN0aW9uIHJlZmVyZW5jZSB0byBxdWVyeVxuICogQHBhcmFtIHF1ZXJ5Rm4gLSBUaGUgY2FsbGJhY2sgdG8gY3JlYXRlIGEgcXVlcnlcbiAqXG4gKiBFeGFtcGxlOlxuICogY29uc3QgeyBxdWVyeSwgcmVmIH0gPSBhc3NvY2lhdGVRdWVyeShkb2NSZWYuY29sbGVjdGlvbignaXRlbXMnKSwgcmVmID0+IHtcbiAqICByZXR1cm4gcmVmLndoZXJlKCdhZ2UnLCAnPCcsIDIwMCk7XG4gKiB9KTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc29jaWF0ZVF1ZXJ5PFQ+KGNvbGxlY3Rpb25SZWY6IENvbGxlY3Rpb25SZWZlcmVuY2U8VD4sIHF1ZXJ5Rm4gPSByZWYgPT4gcmVmKTogQXNzb2NpYXRlZFJlZmVyZW5jZTxUPiB7XG4gIGNvbnN0IHF1ZXJ5ID0gcXVlcnlGbihjb2xsZWN0aW9uUmVmKTtcbiAgY29uc3QgcmVmID0gY29sbGVjdGlvblJlZjtcbiAgcmV0dXJuIHsgcXVlcnksIHJlZiB9O1xufVxuXG50eXBlIEluc3RhbmNlQ2FjaGUgPSBNYXA8RmlyZWJhc2VBcHAsIFtcbiAgZmlyZWJhc2UuZmlyZXN0b3JlLkZpcmVzdG9yZSxcbiAgZmlyZWJhc2UuZmlyZXN0b3JlLlNldHRpbmdzIHwgbnVsbCxcbiAgVXNlRW11bGF0b3JBcmd1bWVudHMgfCBudWxsLFxuICBib29sZWFuIHwgbnVsbF1cbj47XG5cbi8qKlxuICogQW5ndWxhckZpcmVzdG9yZSBTZXJ2aWNlXG4gKlxuICogVGhpcyBzZXJ2aWNlIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciB0aGlzIGZlYXR1cmUgbW9kdWxlLiBJdCBwcm92aWRlc1xuICogYW4gQVBJIGZvciBjcmVhdGluZyBDb2xsZWN0aW9uIGFuZCBSZWZlcmVuY2Ugc2VydmljZXMuIFRoZXNlIHNlcnZpY2VzIGNhblxuICogdGhlbiBiZSB1c2VkIHRvIGRvIGRhdGEgdXBkYXRlcyBhbmQgb2JzZXJ2YWJsZSBzdHJlYW1zIG9mIHRoZSBkYXRhLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gKiBpbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlLCBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbiwgQW5ndWxhckZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuICogaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG4gKiBpbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlJztcbiAqXG4gKiBAQ29tcG9uZW50KHtcbiAqICAgc2VsZWN0b3I6ICdhcHAtbXktY29tcG9uZW50JyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgIDxoMj5JdGVtcyBmb3Ige3sgKHByb2ZpbGUgfCBhc3luYyk/Lm5hbWUgfX1cbiAqICAgIDx1bD5cbiAqICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCI+e3sgaXRlbS5uYW1lIH19PC9saT5cbiAqICAgIDwvdWw+XG4gKiAgICA8ZGl2IGNsYXNzPVwiY29udHJvbC1pbnB1dFwiPlxuICogICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI2l0ZW1uYW1lIC8+XG4gKiAgICAgICA8YnV0dG9uIChjbGljayk9XCJhZGRJdGVtKGl0ZW1uYW1lLnZhbHVlKVwiPkFkZCBJdGVtPC9idXR0b24+XG4gKiAgICA8L2Rpdj5cbiAqICAgYFxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gKlxuICogICAvLyBzZXJ2aWNlcyBmb3IgZGF0YSBvcGVyYXRpb25zIGFuZCBkYXRhIHN0cmVhbWluZ1xuICogICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zUmVmOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxJdGVtPjtcbiAqICAgcHJpdmF0ZSByZWFkb25seSBwcm9maWxlUmVmOiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8UHJvZmlsZT47XG4gKlxuICogICAvLyBvYnNlcnZhYmxlcyBmb3IgdGVtcGxhdGVcbiAqICAgaXRlbXM6IE9ic2VydmFibGU8SXRlbVtdPjtcbiAqICAgcHJvZmlsZTogT2JzZXJ2YWJsZTxQcm9maWxlPjtcbiAqXG4gKiAgIC8vIGluamVjdCBtYWluIHNlcnZpY2VcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUpIHt9XG4gKlxuICogICBuZ09uSW5pdCgpIHtcbiAqICAgICB0aGlzLml0ZW1zUmVmID0gYWZzLmNvbGxlY3Rpb24oJ2l0ZW1zJywgcmVmID0+IHJlZi53aGVyZSgndXNlcicsICc9PScsICdkYXZpZGVhc3QnKS5saW1pdCgxMCkpO1xuICogICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zUmVmLnZhbHVlQ2hhbmdlcygpLm1hcChzbmFwID0+IHNuYXAuZG9jcy5tYXAoZGF0YSA9PiBkb2MuZGF0YSgpKSk7XG4gKiAgICAgLy8gdGhpcy5pdGVtcyA9IGZyb20odGhpcy5pdGVtc1JlZik7IC8vIHlvdSBjYW4gYWxzbyBkbyB0aGlzIHdpdGggbm8gbWFwcGluZ1xuICpcbiAqICAgICB0aGlzLnByb2ZpbGVSZWYgPSBhZnMuZG9jKCd1c2Vycy9kYXZpZGVhc3QnKTtcbiAqICAgICB0aGlzLnByb2ZpbGUgPSB0aGlzLnByb2ZpbGVSZWYudmFsdWVDaGFuZ2VzKCk7XG4gKiAgIH1cbiAqXG4gKiAgIGFkZEl0ZW0obmFtZTogc3RyaW5nKSB7XG4gKiAgICAgY29uc3QgdXNlciA9ICdkYXZpZGVhc3QnO1xuICogICAgIHRoaXMuaXRlbXNSZWYuYWRkKHsgbmFtZSwgdXNlciB9KTtcbiAqICAgfVxuICogfVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmUge1xuICBwdWJsaWMgcmVhZG9ubHkgZmlyZXN0b3JlOiBmaXJlYmFzZS5maXJlc3RvcmUuRmlyZXN0b3JlO1xuICBwdWJsaWMgcmVhZG9ubHkgcGVyc2lzdGVuY2VFbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogRWFjaCBGZWF0dXJlIG9mIEFuZ3VsYXJGaXJlIGhhcyBhIEZpcmViYXNlQXBwIGluamVjdGVkLiBUaGlzIHdheSB3ZVxuICAgKiBkb24ndCByZWx5IG9uIHRoZSBtYWluIEZpcmViYXNlIEFwcCBpbnN0YW5jZSBhbmQgd2UgY2FuIGNyZWF0ZSBuYW1lZFxuICAgKiBhcHBzIGFuZCB1c2UgbXVsdGlwbGUgYXBwcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTkFCTEVfUEVSU0lTVEVOQ0UpIHNob3VsZEVuYWJsZVBlcnNpc3RlbmNlOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFNFVFRJTkdTKSBzZXR0aW5nczogU2V0dGluZ3MgfCBudWxsLFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgem9uZTogTmdab25lLFxuICAgIHB1YmxpYyBzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBFUlNJU1RFTkNFX1NFVFRJTkdTKSBwZXJzaXN0ZW5jZVNldHRpbmdzOiBQZXJzaXN0ZW5jZVNldHRpbmdzIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFVTRV9FTVVMQVRPUikgX3VzZUVtdWxhdG9yOiBhbnksXG4gICAgQE9wdGlvbmFsKCkgYXV0aDogQW5ndWxhckZpcmVBdXRoLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0FVVEhfRU1VTEFUT1IpIHVzZUF1dGhFbXVsYXRvcjogYW55LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVUSF9TRVRUSU5HUykgYXV0aFNldHRpbmdzOiBhbnksIC8vIGNhbid0IHVzZSBmaXJlYmFzZS5hdXRoLkF1dGhTZXR0aW5ncyBoZXJlXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChURU5BTlRfSUQpIHRlbmFudElkOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTEFOR1VBR0VfQ09ERSkgbGFuZ3VhZ2VDb2RlOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0RFVklDRV9MQU5HVUFHRSkgdXNlRGV2aWNlTGFuZ3VhZ2U6IGJvb2xlYW4gfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUEVSU0lTVEVOQ0UpIHBlcnNpc3RlbmNlOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIF9hcHBDaGVja0luc3RhbmNlczogQXBwQ2hlY2tJbnN0YW5jZXMsXG4gICkge1xuICAgIGNvbnN0IGFwcCA9IMm1ZmlyZWJhc2VBcHBGYWN0b3J5KG9wdGlvbnMsIHpvbmUsIG5hbWUpO1xuICAgIGNvbnN0IHVzZUVtdWxhdG9yOiBVc2VFbXVsYXRvckFyZ3VtZW50cyB8IG51bGwgPSBfdXNlRW11bGF0b3I7XG5cbiAgICBpZiAoYXV0aCkge1xuICAgICAgybVhdXRoRmFjdG9yeShhcHAsIHpvbmUsIHVzZUF1dGhFbXVsYXRvciwgdGVuYW50SWQsIGxhbmd1YWdlQ29kZSwgdXNlRGV2aWNlTGFuZ3VhZ2UsIGF1dGhTZXR0aW5ncywgcGVyc2lzdGVuY2UpO1xuICAgIH1cblxuICAgIFt0aGlzLmZpcmVzdG9yZSwgdGhpcy5wZXJzaXN0ZW5jZUVuYWJsZWQkXSA9IMm1Y2FjaGVJbnN0YW5jZShgJHthcHAubmFtZX0uZmlyZXN0b3JlYCwgJ0FuZ3VsYXJGaXJlc3RvcmUnLCBhcHAubmFtZSwgKCkgPT4ge1xuICAgICAgY29uc3QgZmlyZXN0b3JlID0gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBhcHAuZmlyZXN0b3JlKCkpO1xuICAgICAgaWYgKHNldHRpbmdzKSB7XG4gICAgICAgIGZpcmVzdG9yZS5zZXR0aW5ncyhzZXR0aW5ncyk7XG4gICAgICB9XG4gICAgICBpZiAodXNlRW11bGF0b3IpIHtcbiAgICAgICAgZmlyZXN0b3JlLnVzZUVtdWxhdG9yKC4uLnVzZUVtdWxhdG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZEVuYWJsZVBlcnNpc3RlbmNlICYmICFpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdHJ5L2NhdGNoIGhlcmUgYmVjYXVzZSBub3QgYWxsIGVuYWJsZVBlcnNpc3RlbmNlKCkgZmFpbHVyZXMgYXJlIGNhdWdodFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmlyZWJhc2UvZmlyZWJhc2UtanMtc2RrL2lzc3Vlcy82MDhcbiAgICAgICAgY29uc3QgZW5hYmxlUGVyc2lzdGVuY2UgPSAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKGZpcmVzdG9yZS5lbmFibGVQZXJzaXN0ZW5jZShwZXJzaXN0ZW5jZVNldHRpbmdzIHx8IHVuZGVmaW5lZCkudGhlbigoKSA9PiB0cnVlLCAoKSA9PiBmYWxzZSkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHsgY29uc29sZS53YXJuKGUpOyB9XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtmaXJlc3RvcmUsIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoZW5hYmxlUGVyc2lzdGVuY2UpXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbZmlyZXN0b3JlLCBvZihmYWxzZSldO1xuICAgICAgfVxuXG4gICAgfSwgW3NldHRpbmdzLCB1c2VFbXVsYXRvciwgc2hvdWxkRW5hYmxlUGVyc2lzdGVuY2VdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByZWZlcmVuY2UgdG8gYSBGaXJlc3RvcmUgQ29sbGVjdGlvbiBiYXNlZCBvbiBhIHBhdGggb3JcbiAgICogQ29sbGVjdGlvblJlZmVyZW5jZSBhbmQgYW4gb3B0aW9uYWwgcXVlcnkgZnVuY3Rpb24gdG8gbmFycm93IHRoZSByZXN1bHRcbiAgICogc2V0LlxuICAgKi9cbiAgY29sbGVjdGlvbjxUPihwYXRoOiBzdHJpbmcsIHF1ZXJ5Rm4/OiBRdWVyeUZuKTogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VD47XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp1bmlmaWVkLXNpZ25hdHVyZXNcbiAgY29sbGVjdGlvbjxUPihyZWY6IENvbGxlY3Rpb25SZWZlcmVuY2UsIHF1ZXJ5Rm4/OiBRdWVyeUZuKTogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VD47XG4gIGNvbGxlY3Rpb248VD4ocGF0aE9yUmVmOiBzdHJpbmcgfCBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+LCBxdWVyeUZuPzogUXVlcnlGbik6IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+IHtcbiAgICBsZXQgY29sbGVjdGlvblJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgICBpZiAodHlwZW9mIHBhdGhPclJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbGxlY3Rpb25SZWYgPSB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uKHBhdGhPclJlZikgYXMgZmlyZWJhc2UuZmlyZXN0b3JlLkNvbGxlY3Rpb25SZWZlcmVuY2U8VD47XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbGxlY3Rpb25SZWYgPSBwYXRoT3JSZWY7XG4gICAgfVxuICAgIGNvbnN0IHsgcmVmLCBxdWVyeSB9ID0gYXNzb2NpYXRlUXVlcnk8VD4oY29sbGVjdGlvblJlZiwgcXVlcnlGbik7XG4gICAgY29uc3QgcmVmSW5ab25lID0gdGhpcy5zY2hlZHVsZXJzLm5nWm9uZS5ydW4oKCkgPT4gcmVmKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+KHJlZkluWm9uZSwgcXVlcnksIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIEZpcmVzdG9yZSBDb2xsZWN0aW9uIEdyb3VwIGJhc2VkIG9uIGEgY29sbGVjdGlvbklkXG4gICAqIGFuZCBhbiBvcHRpb25hbCBxdWVyeSBmdW5jdGlvbiB0byBuYXJyb3cgdGhlIHJlc3VsdFxuICAgKiBzZXQuXG4gICAqL1xuICBjb2xsZWN0aW9uR3JvdXA8VD4oY29sbGVjdGlvbklkOiBzdHJpbmcsIHF1ZXJ5R3JvdXBGbj86IFF1ZXJ5R3JvdXBGbjxUPik6IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VD4ge1xuICAgIGNvbnN0IHF1ZXJ5Rm4gPSBxdWVyeUdyb3VwRm4gfHwgKHJlZiA9PiByZWYpO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25Hcm91cDogUXVlcnk8VD4gPSB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uR3JvdXAoY29sbGVjdGlvbklkKSBhcyBmaXJlYmFzZS5maXJlc3RvcmUuUXVlcnk8VD47XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQ+KHF1ZXJ5Rm4oY29sbGVjdGlvbkdyb3VwKSwgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIERvY3VtZW50IGJhc2VkIG9uIGEgcGF0aCBvclxuICAgKiBEb2N1bWVudFJlZmVyZW5jZS4gTm90ZSB0aGF0IGRvY3VtZW50cyBhcmUgbm90IHF1ZXJ5YWJsZSBiZWNhdXNlIHRoZXkgYXJlXG4gICAqIHNpbXBseSBvYmplY3RzLiBIb3dldmVyLCBkb2N1bWVudHMgaGF2ZSBzdWItY29sbGVjdGlvbnMgdGhhdCByZXR1cm4gYVxuICAgKiBDb2xsZWN0aW9uIHJlZmVyZW5jZSBhbmQgY2FuIGJlIHF1ZXJpZWQuXG4gICAqL1xuICBkb2M8VD4ocGF0aDogc3RyaW5nKTogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFQ+O1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dW5pZmllZC1zaWduYXR1cmVzXG4gIGRvYzxUPihyZWY6IERvY3VtZW50UmVmZXJlbmNlKTogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFQ+O1xuICBkb2M8VD4ocGF0aE9yUmVmOiBzdHJpbmcgfCBEb2N1bWVudFJlZmVyZW5jZTxUPik6IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUPiB7XG4gICAgbGV0IHJlZjogRG9jdW1lbnRSZWZlcmVuY2U8VD47XG4gICAgaWYgKHR5cGVvZiBwYXRoT3JSZWYgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZWYgPSB0aGlzLmZpcmVzdG9yZS5kb2MocGF0aE9yUmVmKSBhcyBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8VD47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZiA9IHBhdGhPclJlZjtcbiAgICB9XG4gICAgY29uc3QgcmVmSW5ab25lID0gdGhpcy5zY2hlZHVsZXJzLm5nWm9uZS5ydW4oKCkgPT4gcmVmKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUPihyZWZJblpvbmUsIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBnZW5lcmF0ZWQgRmlyZXN0b3JlIERvY3VtZW50IElkLlxuICAgKi9cbiAgY3JlYXRlSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24oJ18nKS5kb2MoKS5pZDtcbiAgfVxufVxuIl19
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9maXJlc3RvcmUvZmlyZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxJQUFJLGlCQUFpQixFQUNqQyxtQkFBbUIsRUFDbkIsWUFBWSxHQUNiLE1BQU0sMkJBQTJCLENBQUM7QUFHbkMsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXL0QsT0FBTyxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLDJCQUEyQixDQUFDOzs7OztBQUVuQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFVLHlDQUF5QyxDQUFDLENBQUM7QUFDekcsTUFB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UTs7MEJBRTNCLE1BQU07MkJBQUMsV0FBVzs7MEJBR2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDdkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZOzswQkFDL0IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUM1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQ3RDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzs7MEJBQzlCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE5nWm9uZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgybVjYWNoZUluc3RhbmNlLCDJtWZpcmViYXNlQXBwRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0JztcbmltcG9ydCB7XG4gIFNFVFRJTkdTIGFzIEFVVEhfU0VUVElOR1MsXG4gIEFuZ3VsYXJGaXJlQXV0aCxcbiAgTEFOR1VBR0VfQ09ERSxcbiAgUEVSU0lTVEVOQ0UsXG4gIFRFTkFOVF9JRCxcbiAgVVNFX0VNVUxBVE9SIGFzIFVTRV9BVVRIX0VNVUxBVE9SLFxuICBVU0VfREVWSUNFX0xBTkdVQUdFLFxuICDJtWF1dGhGYWN0b3J5LFxufSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdC9hdXRoJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwIH0gZnJvbSAnLi9jb2xsZWN0aW9uLWdyb3VwL2NvbGxlY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGVkUmVmZXJlbmNlLFxuICBDb2xsZWN0aW9uUmVmZXJlbmNlLFxuICBEb2N1bWVudFJlZmVyZW5jZSxcbiAgUGVyc2lzdGVuY2VTZXR0aW5ncyxcbiAgUXVlcnksXG4gIFF1ZXJ5Rm4sXG4gIFF1ZXJ5R3JvdXBGbixcbiAgU2V0dGluZ3Ncbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCAnZmlyZWJhc2UvY29tcGF0L2F1dGgnO1xuaW1wb3J0ICdmaXJlYmFzZS9jb21wYXQvZmlyZXN0b3JlJztcblxuLyoqXG4gKiBUaGUgdmFsdWUgb2YgdGhpcyB0b2tlbiBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBmaXJlc3RvcmUgd2lsbCBoYXZlIHBlcnNpc3RhbmNlIGVuYWJsZWRcbiAqL1xuZXhwb3J0IGNvbnN0IEVOQUJMRV9QRVJTSVNURU5DRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignYW5ndWxhcmZpcmUyLmVuYWJsZUZpcmVzdG9yZVBlcnNpc3RlbmNlJyk7XG5leHBvcnQgY29uc3QgUEVSU0lTVEVOQ0VfU0VUVElOR1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGVyc2lzdGVuY2VTZXR0aW5ncyB8IHVuZGVmaW5lZD4oJ2FuZ3VsYXJmaXJlMi5maXJlc3RvcmUucGVyc2lzdGVuY2VTZXR0aW5ncycpO1xuZXhwb3J0IGNvbnN0IFNFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPFNldHRpbmdzPignYW5ndWxhcmZpcmUyLmZpcmVzdG9yZS5zZXR0aW5ncycpO1xuXG50eXBlIFVzZUVtdWxhdG9yQXJndW1lbnRzID0gUGFyYW1ldGVyczxmaXJlYmFzZS5maXJlc3RvcmUuRmlyZXN0b3JlWyd1c2VFbXVsYXRvciddPjtcbmV4cG9ydCBjb25zdCBVU0VfRU1VTEFUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlRW11bGF0b3JBcmd1bWVudHM+KCdhbmd1bGFyZmlyZTIuZmlyZXN0b3JlLnVzZS1lbXVsYXRvcicpO1xuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2RzIGZvciBhc3NvY2lhdGluZyBhIGNvbGxlY3Rpb24gcmVmZXJlbmNlIHdpdGhcbiAqIGEgcXVlcnkuXG4gKlxuICogQHBhcmFtIGNvbGxlY3Rpb25SZWYgLSBBIGNvbGxlY3Rpb24gcmVmZXJlbmNlIHRvIHF1ZXJ5XG4gKiBAcGFyYW0gcXVlcnlGbiAtIFRoZSBjYWxsYmFjayB0byBjcmVhdGUgYSBxdWVyeVxuICpcbiAqIEV4YW1wbGU6XG4gKiBjb25zdCB7IHF1ZXJ5LCByZWYgfSA9IGFzc29jaWF0ZVF1ZXJ5KGRvY1JlZi5jb2xsZWN0aW9uKCdpdGVtcycpLCByZWYgPT4ge1xuICogIHJldHVybiByZWYud2hlcmUoJ2FnZScsICc8JywgMjAwKTtcbiAqIH0pO1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzb2NpYXRlUXVlcnk8VD4oY29sbGVjdGlvblJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPiwgcXVlcnlGbiA9IHJlZiA9PiByZWYpOiBBc3NvY2lhdGVkUmVmZXJlbmNlPFQ+IHtcbiAgY29uc3QgcXVlcnkgPSBxdWVyeUZuKGNvbGxlY3Rpb25SZWYpO1xuICBjb25zdCByZWYgPSBjb2xsZWN0aW9uUmVmO1xuICByZXR1cm4geyBxdWVyeSwgcmVmIH07XG59XG5cbi8qKlxuICogQW5ndWxhckZpcmVzdG9yZSBTZXJ2aWNlXG4gKlxuICogVGhpcyBzZXJ2aWNlIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciB0aGlzIGZlYXR1cmUgbW9kdWxlLiBJdCBwcm92aWRlc1xuICogYW4gQVBJIGZvciBjcmVhdGluZyBDb2xsZWN0aW9uIGFuZCBSZWZlcmVuY2Ugc2VydmljZXMuIFRoZXNlIHNlcnZpY2VzIGNhblxuICogdGhlbiBiZSB1c2VkIHRvIGRvIGRhdGEgdXBkYXRlcyBhbmQgb2JzZXJ2YWJsZSBzdHJlYW1zIG9mIHRoZSBkYXRhLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gKiBpbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlLCBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbiwgQW5ndWxhckZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuICogaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG4gKiBpbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlJztcbiAqXG4gKiBAQ29tcG9uZW50KHtcbiAqICAgc2VsZWN0b3I6ICdhcHAtbXktY29tcG9uZW50JyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgIDxoMj5JdGVtcyBmb3Ige3sgKHByb2ZpbGUgfCBhc3luYyk/Lm5hbWUgfX1cbiAqICAgIDx1bD5cbiAqICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCI+e3sgaXRlbS5uYW1lIH19PC9saT5cbiAqICAgIDwvdWw+XG4gKiAgICA8ZGl2IGNsYXNzPVwiY29udHJvbC1pbnB1dFwiPlxuICogICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI2l0ZW1uYW1lIC8+XG4gKiAgICAgICA8YnV0dG9uIChjbGljayk9XCJhZGRJdGVtKGl0ZW1uYW1lLnZhbHVlKVwiPkFkZCBJdGVtPC9idXR0b24+XG4gKiAgICA8L2Rpdj5cbiAqICAgYFxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gKlxuICogICAvLyBzZXJ2aWNlcyBmb3IgZGF0YSBvcGVyYXRpb25zIGFuZCBkYXRhIHN0cmVhbWluZ1xuICogICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zUmVmOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxJdGVtPjtcbiAqICAgcHJpdmF0ZSByZWFkb25seSBwcm9maWxlUmVmOiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8UHJvZmlsZT47XG4gKlxuICogICAvLyBvYnNlcnZhYmxlcyBmb3IgdGVtcGxhdGVcbiAqICAgaXRlbXM6IE9ic2VydmFibGU8SXRlbVtdPjtcbiAqICAgcHJvZmlsZTogT2JzZXJ2YWJsZTxQcm9maWxlPjtcbiAqXG4gKiAgIC8vIGluamVjdCBtYWluIHNlcnZpY2VcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmUpIHt9XG4gKlxuICogICBuZ09uSW5pdCgpIHtcbiAqICAgICB0aGlzLml0ZW1zUmVmID0gYWZzLmNvbGxlY3Rpb24oJ2l0ZW1zJywgcmVmID0+IHJlZi53aGVyZSgndXNlcicsICc9PScsICdkYXZpZGVhc3QnKS5saW1pdCgxMCkpO1xuICogICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zUmVmLnZhbHVlQ2hhbmdlcygpLm1hcChzbmFwID0+IHNuYXAuZG9jcy5tYXAoZGF0YSA9PiBkb2MuZGF0YSgpKSk7XG4gKiAgICAgLy8gdGhpcy5pdGVtcyA9IGZyb20odGhpcy5pdGVtc1JlZik7IC8vIHlvdSBjYW4gYWxzbyBkbyB0aGlzIHdpdGggbm8gbWFwcGluZ1xuICpcbiAqICAgICB0aGlzLnByb2ZpbGVSZWYgPSBhZnMuZG9jKCd1c2Vycy9kYXZpZGVhc3QnKTtcbiAqICAgICB0aGlzLnByb2ZpbGUgPSB0aGlzLnByb2ZpbGVSZWYudmFsdWVDaGFuZ2VzKCk7XG4gKiAgIH1cbiAqXG4gKiAgIGFkZEl0ZW0obmFtZTogc3RyaW5nKSB7XG4gKiAgICAgY29uc3QgdXNlciA9ICdkYXZpZGVhc3QnO1xuICogICAgIHRoaXMuaXRlbXNSZWYuYWRkKHsgbmFtZSwgdXNlciB9KTtcbiAqICAgfVxuICogfVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmUge1xuICBwdWJsaWMgcmVhZG9ubHkgZmlyZXN0b3JlOiBmaXJlYmFzZS5maXJlc3RvcmUuRmlyZXN0b3JlO1xuICBwdWJsaWMgcmVhZG9ubHkgcGVyc2lzdGVuY2VFbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogRWFjaCBGZWF0dXJlIG9mIEFuZ3VsYXJGaXJlIGhhcyBhIEZpcmViYXNlQXBwIGluamVjdGVkLiBUaGlzIHdheSB3ZVxuICAgKiBkb24ndCByZWx5IG9uIHRoZSBtYWluIEZpcmViYXNlIEFwcCBpbnN0YW5jZSBhbmQgd2UgY2FuIGNyZWF0ZSBuYW1lZFxuICAgKiBhcHBzIGFuZCB1c2UgbXVsdGlwbGUgYXBwcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTkFCTEVfUEVSU0lTVEVOQ0UpIHNob3VsZEVuYWJsZVBlcnNpc3RlbmNlOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFNFVFRJTkdTKSBzZXR0aW5nczogU2V0dGluZ3MgfCBudWxsLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBwdWJsaWMgc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQRVJTSVNURU5DRV9TRVRUSU5HUykgcGVyc2lzdGVuY2VTZXR0aW5nczogUGVyc2lzdGVuY2VTZXR0aW5ncyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfRU1VTEFUT1IpIF91c2VFbXVsYXRvcjogYW55LFxuICAgIEBPcHRpb25hbCgpIGF1dGg6IEFuZ3VsYXJGaXJlQXV0aCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFVTRV9BVVRIX0VNVUxBVE9SKSB1c2VBdXRoRW11bGF0b3I6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVVEhfU0VUVElOR1MpIGF1dGhTZXR0aW5nczogYW55LCAvLyBjYW4ndCB1c2UgZmlyZWJhc2UuYXV0aC5BdXRoU2V0dGluZ3MgaGVyZVxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEVOQU5UX0lEKSB0ZW5hbnRJZDogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExBTkdVQUdFX0NPREUpIGxhbmd1YWdlQ29kZTogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFVTRV9ERVZJQ0VfTEFOR1VBR0UpIHVzZURldmljZUxhbmd1YWdlOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBFUlNJU1RFTkNFKSBwZXJzaXN0ZW5jZTogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBfYXBwQ2hlY2tJbnN0YW5jZXM6IEFwcENoZWNrSW5zdGFuY2VzLFxuICApIHtcbiAgICBjb25zdCBhcHAgPSDJtWZpcmViYXNlQXBwRmFjdG9yeShvcHRpb25zLCB6b25lLCBuYW1lKTtcbiAgICBjb25zdCB1c2VFbXVsYXRvcjogVXNlRW11bGF0b3JBcmd1bWVudHMgfCBudWxsID0gX3VzZUVtdWxhdG9yO1xuXG4gICAgaWYgKGF1dGgpIHtcbiAgICAgIMm1YXV0aEZhY3RvcnkoYXBwLCB6b25lLCB1c2VBdXRoRW11bGF0b3IsIHRlbmFudElkLCBsYW5ndWFnZUNvZGUsIHVzZURldmljZUxhbmd1YWdlLCBhdXRoU2V0dGluZ3MsIHBlcnNpc3RlbmNlKTtcbiAgICB9XG5cbiAgICBbdGhpcy5maXJlc3RvcmUsIHRoaXMucGVyc2lzdGVuY2VFbmFibGVkJF0gPSDJtWNhY2hlSW5zdGFuY2UoYCR7YXBwLm5hbWV9LmZpcmVzdG9yZWAsICdBbmd1bGFyRmlyZXN0b3JlJywgYXBwLm5hbWUsICgpID0+IHtcbiAgICAgIGNvbnN0IGZpcmVzdG9yZSA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gYXBwLmZpcmVzdG9yZSgpKTtcbiAgICAgIGlmIChzZXR0aW5ncykge1xuICAgICAgICBmaXJlc3RvcmUuc2V0dGluZ3Moc2V0dGluZ3MpO1xuICAgICAgfVxuICAgICAgaWYgKHVzZUVtdWxhdG9yKSB7XG4gICAgICAgIGZpcmVzdG9yZS51c2VFbXVsYXRvciguLi51c2VFbXVsYXRvcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRFbmFibGVQZXJzaXN0ZW5jZSAmJiAhaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHRyeS9jYXRjaCBoZXJlIGJlY2F1c2Ugbm90IGFsbCBlbmFibGVQZXJzaXN0ZW5jZSgpIGZhaWx1cmVzIGFyZSBjYXVnaHRcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZpcmViYXNlL2ZpcmViYXNlLWpzLXNkay9pc3N1ZXMvNjA4XG4gICAgICAgIGNvbnN0IGVuYWJsZVBlcnNpc3RlbmNlID0gKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbShmaXJlc3RvcmUuZW5hYmxlUGVyc2lzdGVuY2UocGVyc2lzdGVuY2VTZXR0aW5ncyB8fCB1bmRlZmluZWQpLnRoZW4oKCkgPT4gdHJ1ZSwgKCkgPT4gZmFsc2UpKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7IGNvbnNvbGUud2FybihlKTsgfVxuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbZmlyZXN0b3JlLCB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKGVuYWJsZVBlcnNpc3RlbmNlKV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gW2ZpcmVzdG9yZSwgb2YoZmFsc2UpXTtcbiAgICAgIH1cblxuICAgIH0sIFtzZXR0aW5ncywgdXNlRW11bGF0b3IsIHNob3VsZEVuYWJsZVBlcnNpc3RlbmNlXSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIENvbGxlY3Rpb24gYmFzZWQgb24gYSBwYXRoIG9yXG4gICAqIENvbGxlY3Rpb25SZWZlcmVuY2UgYW5kIGFuIG9wdGlvbmFsIHF1ZXJ5IGZ1bmN0aW9uIHRvIG5hcnJvdyB0aGUgcmVzdWx0XG4gICAqIHNldC5cbiAgICovXG4gIGNvbGxlY3Rpb248VD4ocGF0aDogc3RyaW5nLCBxdWVyeUZuPzogUXVlcnlGbik6IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+O1xuICBjb2xsZWN0aW9uPFQ+KHJlZjogQ29sbGVjdGlvblJlZmVyZW5jZSwgcXVlcnlGbj86IFF1ZXJ5Rm4pOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxUPjtcbiAgY29sbGVjdGlvbjxUPihwYXRoT3JSZWY6IHN0cmluZyB8IENvbGxlY3Rpb25SZWZlcmVuY2U8VD4sIHF1ZXJ5Rm4/OiBRdWVyeUZuKTogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VD4ge1xuICAgIGxldCBjb2xsZWN0aW9uUmVmOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+O1xuICAgIGlmICh0eXBlb2YgcGF0aE9yUmVmID09PSAnc3RyaW5nJykge1xuICAgICAgY29sbGVjdGlvblJlZiA9IHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aE9yUmVmKSBhcyBmaXJlYmFzZS5maXJlc3RvcmUuQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sbGVjdGlvblJlZiA9IHBhdGhPclJlZjtcbiAgICB9XG4gICAgY29uc3QgeyByZWYsIHF1ZXJ5IH0gPSBhc3NvY2lhdGVRdWVyeTxUPihjb2xsZWN0aW9uUmVmLCBxdWVyeUZuKTtcbiAgICBjb25zdCByZWZJblpvbmUgPSB0aGlzLnNjaGVkdWxlcnMubmdab25lLnJ1bigoKSA9PiByZWYpO1xuICAgIHJldHVybiBuZXcgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VD4ocmVmSW5ab25lLCBxdWVyeSwgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIENvbGxlY3Rpb24gR3JvdXAgYmFzZWQgb24gYSBjb2xsZWN0aW9uSWRcbiAgICogYW5kIGFuIG9wdGlvbmFsIHF1ZXJ5IGZ1bmN0aW9uIHRvIG5hcnJvdyB0aGUgcmVzdWx0XG4gICAqIHNldC5cbiAgICovXG4gIGNvbGxlY3Rpb25Hcm91cDxUPihjb2xsZWN0aW9uSWQ6IHN0cmluZywgcXVlcnlHcm91cEZuPzogUXVlcnlHcm91cEZuPFQ+KTogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxUPiB7XG4gICAgY29uc3QgcXVlcnlGbiA9IHF1ZXJ5R3JvdXBGbiB8fCAocmVmID0+IHJlZik7XG4gICAgY29uc3QgY29sbGVjdGlvbkdyb3VwOiBRdWVyeTxUPiA9IHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb25Hcm91cChjb2xsZWN0aW9uSWQpIGFzIGZpcmViYXNlLmZpcmVzdG9yZS5RdWVyeTxUPjtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VD4ocXVlcnlGbihjb2xsZWN0aW9uR3JvdXApLCB0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByZWZlcmVuY2UgdG8gYSBGaXJlc3RvcmUgRG9jdW1lbnQgYmFzZWQgb24gYSBwYXRoIG9yXG4gICAqIERvY3VtZW50UmVmZXJlbmNlLiBOb3RlIHRoYXQgZG9jdW1lbnRzIGFyZSBub3QgcXVlcnlhYmxlIGJlY2F1c2UgdGhleSBhcmVcbiAgICogc2ltcGx5IG9iamVjdHMuIEhvd2V2ZXIsIGRvY3VtZW50cyBoYXZlIHN1Yi1jb2xsZWN0aW9ucyB0aGF0IHJldHVybiBhXG4gICAqIENvbGxlY3Rpb24gcmVmZXJlbmNlIGFuZCBjYW4gYmUgcXVlcmllZC5cbiAgICovXG4gIGRvYzxUPihwYXRoOiBzdHJpbmcpOiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8VD47XG4gIGRvYzxUPihyZWY6IERvY3VtZW50UmVmZXJlbmNlKTogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFQ+O1xuICBkb2M8VD4ocGF0aE9yUmVmOiBzdHJpbmcgfCBEb2N1bWVudFJlZmVyZW5jZTxUPik6IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUPiB7XG4gICAgbGV0IHJlZjogRG9jdW1lbnRSZWZlcmVuY2U8VD47XG4gICAgaWYgKHR5cGVvZiBwYXRoT3JSZWYgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZWYgPSB0aGlzLmZpcmVzdG9yZS5kb2MocGF0aE9yUmVmKSBhcyBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8VD47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZiA9IHBhdGhPclJlZjtcbiAgICB9XG4gICAgY29uc3QgcmVmSW5ab25lID0gdGhpcy5zY2hlZHVsZXJzLm5nWm9uZS5ydW4oKCkgPT4gcmVmKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUPihyZWZJblpvbmUsIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBnZW5lcmF0ZWQgRmlyZXN0b3JlIERvY3VtZW50IElkLlxuICAgKi9cbiAgY3JlYXRlSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24oJ18nKS5kb2MoKS5pZDtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { AngularFirestore, ENABLE_PERSISTENCE, PERSISTENCE_SETTINGS } from './firestore';
3
- import firebase from 'firebase/compat/app';
4
2
  import { VERSION } from '@angular/fire';
3
+ import firebase from 'firebase/compat/app';
4
+ import { AngularFirestore, ENABLE_PERSISTENCE, PERSISTENCE_SETTINGS } from './firestore';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AngularFirestoreModule {
7
7
  constructor() {
@@ -19,14 +19,14 @@ export class AngularFirestoreModule {
19
19
  ]
20
20
  };
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestoreModule });
24
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestoreModule, providers: [AngularFirestore] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestoreModule });
24
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestoreModule, providers: [AngularFirestore] });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFirestoreModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFirestoreModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  providers: [AngularFirestore]
30
30
  }]
31
31
  }], ctorParameters: function () { return []; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pGLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBeUM7UUFDaEUsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQy9DLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTthQUNqRTtTQUNGLENBQUM7SUFDSixDQUFDO3VHQWZVLHNCQUFzQjt3R0FBdEIsc0JBQXNCO3dHQUF0QixzQkFBc0IsYUFGdEIsQ0FBRSxnQkFBZ0IsQ0FBRTs7MkZBRXBCLHNCQUFzQjtrQkFIbEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBRTtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VTZXR0aW5ncyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlLCBFTkFCTEVfUEVSU0lTVEVOQ0UsIFBFUlNJU1RFTkNFX1NFVFRJTkdTIH0gZnJvbSAnLi9maXJlc3RvcmUnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVzdG9yZSBdXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnZnN0LWNvbXBhdCcpO1xuICB9XG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGVuYWJsZSBwZXJzaXN0ZW50IHN0b3JhZ2UsIGlmIHBvc3NpYmxlXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlUGVyc2lzdGVuY2UocGVyc2lzdGVuY2VTZXR0aW5ncz86IFBlcnNpc3RlbmNlU2V0dGluZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBFTkFCTEVfUEVSU0lTVEVOQ0UsIHVzZVZhbHVlOiB0cnVlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUEVSU0lTVEVOQ0VfU0VUVElOR1MsIHVzZVZhbHVlOiBwZXJzaXN0ZW5jZVNldHRpbmdzIH0sXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXpGLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBeUM7UUFDaEUsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQy9DLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTthQUNqRTtTQUNGLENBQUM7SUFDSixDQUFDO3dHQWZVLHNCQUFzQjt5R0FBdEIsc0JBQXNCO3lHQUF0QixzQkFBc0IsYUFGdEIsQ0FBRSxnQkFBZ0IsQ0FBRTs7NEZBRXBCLHNCQUFzQjtrQkFIbEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBRTtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSwgRU5BQkxFX1BFUlNJU1RFTkNFLCBQRVJTSVNURU5DRV9TRVRUSU5HUyB9IGZyb20gJy4vZmlyZXN0b3JlJztcbmltcG9ydCB7IFBlcnNpc3RlbmNlU2V0dGluZ3MgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVzdG9yZSBdXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnZnN0LWNvbXBhdCcpO1xuICB9XG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGVuYWJsZSBwZXJzaXN0ZW50IHN0b3JhZ2UsIGlmIHBvc3NpYmxlXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlUGVyc2lzdGVuY2UocGVyc2lzdGVuY2VTZXR0aW5ncz86IFBlcnNpc3RlbmNlU2V0dGluZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBFTkFCTEVfUEVSU0lTVEVOQ0UsIHVzZVZhbHVlOiB0cnVlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUEVSU0lTVEVOQ0VfU0VUVElOR1MsIHVzZVZhbHVlOiBwZXJzaXN0ZW5jZVNldHRpbmdzIH0sXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcblxuZXhwb3J0IHR5cGUgU2V0dGluZ3MgPSAgZmlyZWJhc2UuZmlyZXN0b3JlLlNldHRpbmdzO1xuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5Db2xsZWN0aW9uUmVmZXJlbmNlPFQ+O1xuZXhwb3J0IHR5cGUgRG9jdW1lbnRSZWZlcmVuY2U8VCA9IERvY3VtZW50RGF0YT4gPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8VD47XG5leHBvcnQgdHlwZSBQZXJzaXN0ZW5jZVNldHRpbmdzID0gZmlyZWJhc2UuZmlyZXN0b3JlLlBlcnNpc3RlbmNlU2V0dGluZ3M7XG5leHBvcnQgdHlwZSBEb2N1bWVudENoYW5nZVR5cGUgPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRDaGFuZ2VUeXBlO1xuZXhwb3J0IHR5cGUgU25hcHNob3RPcHRpb25zID0gZmlyZWJhc2UuZmlyZXN0b3JlLlNuYXBzaG90T3B0aW9ucztcbmV4cG9ydCB0eXBlIEZpZWxkUGF0aCA9IGZpcmViYXNlLmZpcmVzdG9yZS5GaWVsZFBhdGg7XG5leHBvcnQgdHlwZSBRdWVyeTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5RdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgU2V0T3B0aW9ucyA9IGZpcmViYXNlLmZpcmVzdG9yZS5TZXRPcHRpb25zO1xuZXhwb3J0IHR5cGUgRG9jdW1lbnREYXRhID0gZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YTtcblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBleGlzdHM6IHRydWU7XG4gIGRhdGEob3B0aW9ucz86IFNuYXBzaG90T3B0aW9ucyk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdCBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudFNuYXBzaG90IHtcbiAgcmVhZG9ubHkgZXhpc3RzOiBmYWxzZTtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogdW5kZWZpbmVkO1xuICBnZXQoZmllbGRQYXRoOiBzdHJpbmcgfCBGaWVsZFBhdGgsIG9wdGlvbnM/OiBTbmFwc2hvdE9wdGlvbnMpOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50U25hcHNob3Q8VD4gPSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IHwgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdDtcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURvY3VtZW50U25hcHNob3Q8VD4gZXh0ZW5kcyBmaXJlYmFzZS5maXJlc3RvcmUuUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+IHtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVNuYXBzaG90PFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLlF1ZXJ5U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBkb2NzOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VD5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudENoYW5nZTxUPiBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudENoYW5nZTxUPiB7XG4gIHJlYWRvbmx5IGRvYzogUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+IHtcbiAgdHlwZTogRG9jdW1lbnRDaGFuZ2VUeXBlO1xuICBwYXlsb2FkOiBEb2N1bWVudENoYW5nZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb248VD4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBheWxvYWQ6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJlbmNlPFQ+IHtcbiAgb25TbmFwc2hvdDogKG9wdGlvbnM6IGZpcmViYXNlLmZpcmVzdG9yZS5TbmFwc2hvdExpc3Rlbk9wdGlvbnMsIHN1YjogU3Vic2NyaWJlcjxhbnk+KSA9PiBhbnk7XG59XG5cbi8vIEEgY29udmllbmNlIHR5cGUgZm9yIG1ha2luZyBhIHF1ZXJ5LlxuLy8gRXhhbXBsZTogY29uc3QgcXVlcnkgPSAocmVmKSA9PiByZWYud2hlcmUoJ25hbWUnLCA9PSAnZGF2aWQnKTtcbmV4cG9ydCB0eXBlIFF1ZXJ5Rm48VCA9IERvY3VtZW50RGF0YT4gPSAocmVmOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+KSA9PiBRdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgUXVlcnlHcm91cEZuPFQgPSBEb2N1bWVudERhdGE+ID0gKHF1ZXJ5OiBRdWVyeTxUPikgPT4gUXVlcnk8VD47XG5cbi8qKlxuICogQSBzdHJ1Y3R1cmUgdGhhdCBwcm92aWRlcyBhbiBhc3NvY2lhdGlvbiBiZXR3ZWVuIGEgcmVmZXJlbmNlXG4gKiBhbmQgYSBxdWVyeSBvbiB0aGF0IHJlZmVyZW5jZS4gTm90ZTogUGVyZm9ybWluZyBvcGVyYXRpb25zXG4gKiBvbiB0aGUgcmVmZXJlbmNlIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyByZXN1bHRzIHdpdGggY29tcGxpY2F0ZWRcbiAqIHF1ZXJpZXMuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBjb25zdCBxdWVyeSA9IHJlZi53aGVyZSgndHlwZScsICc9PScsICdCb29rJykuXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPicgMTguMDApXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPCcgMTAwLjAwKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ2NhdGVnb3J5JywgJz09JywgJ0ZpY3Rpb24nKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ3B1Ymxpc2hlcicsICc9PScsICdCaWdQdWJsaXNoZXInKVxuICpcbiAqIC8vIFRoaXMgYWRkaXRpb24gd291bGQgbm90IGJlIGEgcmVzdWx0IG9mIHRoZSBxdWVyeSBhYm92ZVxuICogcmVmLmFkZCh7XG4gKiAgdHlwZTogJ01hZ2F6aW5lJyxcbiAqICBwcmljZTogNC45OSxcbiAqICBjYXRlZ29yeTogJ1Nwb3J0cycsXG4gKiAgcHVibGlzaGVyOiAnU3BvcnRzUHVibGlzaGVyJ1xuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzb2NpYXRlZFJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiB7XG4gIHJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgcXVlcnk6IFF1ZXJ5PFQ+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgU2V0dGluZ3MgPSAgZmlyZWJhc2UuZmlyZXN0b3JlLlNldHRpbmdzO1xuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5Db2xsZWN0aW9uUmVmZXJlbmNlPFQ+O1xuZXhwb3J0IHR5cGUgRG9jdW1lbnRSZWZlcmVuY2U8VCA9IERvY3VtZW50RGF0YT4gPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8VD47XG5leHBvcnQgdHlwZSBQZXJzaXN0ZW5jZVNldHRpbmdzID0gZmlyZWJhc2UuZmlyZXN0b3JlLlBlcnNpc3RlbmNlU2V0dGluZ3M7XG5leHBvcnQgdHlwZSBEb2N1bWVudENoYW5nZVR5cGUgPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRDaGFuZ2VUeXBlO1xuZXhwb3J0IHR5cGUgU25hcHNob3RPcHRpb25zID0gZmlyZWJhc2UuZmlyZXN0b3JlLlNuYXBzaG90T3B0aW9ucztcbmV4cG9ydCB0eXBlIEZpZWxkUGF0aCA9IGZpcmViYXNlLmZpcmVzdG9yZS5GaWVsZFBhdGg7XG5leHBvcnQgdHlwZSBRdWVyeTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5RdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgU2V0T3B0aW9ucyA9IGZpcmViYXNlLmZpcmVzdG9yZS5TZXRPcHRpb25zO1xuZXhwb3J0IHR5cGUgRG9jdW1lbnREYXRhID0gZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YTtcblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBleGlzdHM6IHRydWU7XG4gIGRhdGEob3B0aW9ucz86IFNuYXBzaG90T3B0aW9ucyk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdCBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudFNuYXBzaG90IHtcbiAgcmVhZG9ubHkgZXhpc3RzOiBmYWxzZTtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogdW5kZWZpbmVkO1xuICBnZXQoZmllbGRQYXRoOiBzdHJpbmcgfCBGaWVsZFBhdGgsIG9wdGlvbnM/OiBTbmFwc2hvdE9wdGlvbnMpOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50U25hcHNob3Q8VD4gPSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IHwgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdDtcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURvY3VtZW50U25hcHNob3Q8VD4gZXh0ZW5kcyBmaXJlYmFzZS5maXJlc3RvcmUuUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+IHtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVNuYXBzaG90PFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLlF1ZXJ5U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBkb2NzOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VD5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudENoYW5nZTxUPiBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudENoYW5nZTxUPiB7XG4gIHJlYWRvbmx5IGRvYzogUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+IHtcbiAgdHlwZTogRG9jdW1lbnRDaGFuZ2VUeXBlO1xuICBwYXlsb2FkOiBEb2N1bWVudENoYW5nZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb248VD4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBheWxvYWQ6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJlbmNlIHtcbiAgb25TbmFwc2hvdDogKG9wdGlvbnM6IGZpcmViYXNlLmZpcmVzdG9yZS5TbmFwc2hvdExpc3Rlbk9wdGlvbnMsIHN1YjogU3Vic2NyaWJlcjxhbnk+KSA9PiBhbnk7XG59XG5cbi8vIEEgY29udmllbmNlIHR5cGUgZm9yIG1ha2luZyBhIHF1ZXJ5LlxuLy8gRXhhbXBsZTogY29uc3QgcXVlcnkgPSAocmVmKSA9PiByZWYud2hlcmUoJ25hbWUnLCA9PSAnZGF2aWQnKTtcbmV4cG9ydCB0eXBlIFF1ZXJ5Rm48VCA9IERvY3VtZW50RGF0YT4gPSAocmVmOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+KSA9PiBRdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgUXVlcnlHcm91cEZuPFQgPSBEb2N1bWVudERhdGE+ID0gKHF1ZXJ5OiBRdWVyeTxUPikgPT4gUXVlcnk8VD47XG5cbi8qKlxuICogQSBzdHJ1Y3R1cmUgdGhhdCBwcm92aWRlcyBhbiBhc3NvY2lhdGlvbiBiZXR3ZWVuIGEgcmVmZXJlbmNlXG4gKiBhbmQgYSBxdWVyeSBvbiB0aGF0IHJlZmVyZW5jZS4gTm90ZTogUGVyZm9ybWluZyBvcGVyYXRpb25zXG4gKiBvbiB0aGUgcmVmZXJlbmNlIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyByZXN1bHRzIHdpdGggY29tcGxpY2F0ZWRcbiAqIHF1ZXJpZXMuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBjb25zdCBxdWVyeSA9IHJlZi53aGVyZSgndHlwZScsICc9PScsICdCb29rJykuXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPicgMTguMDApXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPCcgMTAwLjAwKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ2NhdGVnb3J5JywgJz09JywgJ0ZpY3Rpb24nKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ3B1Ymxpc2hlcicsICc9PScsICdCaWdQdWJsaXNoZXInKVxuICpcbiAqIC8vIFRoaXMgYWRkaXRpb24gd291bGQgbm90IGJlIGEgcmVzdWx0IG9mIHRoZSBxdWVyeSBhYm92ZVxuICogcmVmLmFkZCh7XG4gKiAgdHlwZTogJ01hZ2F6aW5lJyxcbiAqICBwcmljZTogNC45OSxcbiAqICBjYXRlZ29yeTogJ1Nwb3J0cycsXG4gKiAgcHVibGlzaGVyOiAnU3BvcnRzUHVibGlzaGVyJ1xuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzb2NpYXRlZFJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiB7XG4gIHJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgcXVlcnk6IFF1ZXJ5PFQ+O1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { asyncScheduler, Observable } from 'rxjs';
1
+ import { Observable, asyncScheduler } from 'rxjs';
2
2
  import { map, pairwise, startWith } from 'rxjs/operators';
3
3
  function _fromRef(ref, scheduler = asyncScheduler) {
4
4
  return new Observable(subscriber => {
@@ -37,4 +37,4 @@ export function fromDocRef(ref, scheduler) {
37
37
  export function fromCollectionRef(ref, scheduler) {
38
38
  return fromRef(ref, scheduler).pipe(map(payload => ({ payload, type: 'query' })));
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbVJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL29ic2VydmFibGUvZnJvbVJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUQsU0FBUyxRQUFRLENBQU8sR0FBaUIsRUFBRSxZQUEyQixjQUFjO0lBQ2xGLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakMsSUFBSSxXQUF1QixDQUFDO1FBQzVCLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNyQixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsV0FBVyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM3RSxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxXQUFXLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUU7Z0JBQ3ZCLFdBQVcsRUFBRSxDQUFDO2FBQ2Y7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFPLEdBQW9DLEVBQUUsU0FBeUI7SUFDM0YsT0FBTyxRQUFRLENBQWdCLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBSSxHQUF5QixFQUFFLFNBQXlCO0lBQ2hGLE9BQU8sT0FBTyxDQUF5QixHQUFHLEVBQUUsU0FBUyxDQUFDO1NBQ25ELElBQUksQ0FDSCxTQUFTLENBQWlDLFNBQVMsQ0FBQyxFQUNwRCxRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxTQUFxRCxFQUFFLEVBQUU7UUFDNUQsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNuQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFJLEdBQWEsRUFBRSxTQUF5QjtJQUMzRSxPQUFPLE9BQU8sQ0FBc0IsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIE9ic2VydmFibGUsIFNjaGVkdWxlckxpa2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvbiwgRG9jdW1lbnRSZWZlcmVuY2UsIERvY3VtZW50U25hcHNob3QsIFF1ZXJ5LCBRdWVyeVNuYXBzaG90LCBSZWZlcmVuY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZnVuY3Rpb24gX2Zyb21SZWY8VCwgUj4ocmVmOiBSZWZlcmVuY2U8VD4sIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSA9IGFzeW5jU2NoZWR1bGVyKTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICBsZXQgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQ7XG4gICAgaWYgKHNjaGVkdWxlciAhPSBudWxsKSB7XG4gICAgICBzY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4ge1xuICAgICAgICB1bnN1YnNjcmliZSA9IHJlZi5vblNuYXBzaG90KHsgaW5jbHVkZU1ldGFkYXRhQ2hhbmdlczogdHJ1ZSB9LCBzdWJzY3JpYmVyKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB1bnN1YnNjcmliZSA9IHJlZi5vblNuYXBzaG90KHsgaW5jbHVkZU1ldGFkYXRhQ2hhbmdlczogdHJ1ZSB9LCBzdWJzY3JpYmVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHVuc3Vic2NyaWJlICE9IG51bGwpIHtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21SZWY8UiwgVD4ocmVmOiBEb2N1bWVudFJlZmVyZW5jZTxUPiB8IFF1ZXJ5PFQ+LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKSB7XG4gIHJldHVybiBfZnJvbVJlZjx0eXBlb2YgcmVmLCBSPihyZWYsIHNjaGVkdWxlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRG9jUmVmPFQ+KHJlZjogRG9jdW1lbnRSZWZlcmVuY2U8VD4sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPEFjdGlvbjxEb2N1bWVudFNuYXBzaG90PFQ+Pj4ge1xuICByZXR1cm4gZnJvbVJlZjxEb2N1bWVudFNuYXBzaG90PFQ+LCBUPihyZWYsIHNjaGVkdWxlcilcbiAgICAucGlwZShcbiAgICAgIHN0YXJ0V2l0aDxEb2N1bWVudFNuYXBzaG90PFQ+LCB1bmRlZmluZWQ+KHVuZGVmaW5lZCksXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgbWFwKChzbmFwc2hvdHM6IFtEb2N1bWVudFNuYXBzaG90PFQ+LCBEb2N1bWVudFNuYXBzaG90PFQ+XSkgPT4ge1xuICAgICAgICBjb25zdCBbcHJpb3JQYXlsb2FkLCBwYXlsb2FkXSA9IHNuYXBzaG90cztcbiAgICAgICAgaWYgKCFwYXlsb2FkLmV4aXN0cykge1xuICAgICAgICAgIHJldHVybiB7IHBheWxvYWQsIHR5cGU6ICdyZW1vdmVkJyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHJpb3JQYXlsb2FkPy5leGlzdHMpIHtcbiAgICAgICAgICByZXR1cm4geyBwYXlsb2FkLCB0eXBlOiAnYWRkZWQnIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgcGF5bG9hZCwgdHlwZTogJ21vZGlmaWVkJyB9O1xuICAgICAgfSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbUNvbGxlY3Rpb25SZWY8VD4ocmVmOiBRdWVyeTxUPiwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8QWN0aW9uPFF1ZXJ5U25hcHNob3Q8VD4+PiB7XG4gIHJldHVybiBmcm9tUmVmPFF1ZXJ5U25hcHNob3Q8VD4sIFQ+KHJlZiwgc2NoZWR1bGVyKS5waXBlKG1hcChwYXlsb2FkID0+ICh7IHBheWxvYWQsIHR5cGU6ICdxdWVyeScgfSkpKTtcbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbVJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL29ic2VydmFibGUvZnJvbVJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFpQixjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUQsU0FBUyxRQUFRLENBQUksR0FBYyxFQUFFLFlBQTJCLGNBQWM7SUFDNUUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNqQyxJQUFJLFdBQXVCLENBQUM7UUFDNUIsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN0QixXQUFXLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDNUU7UUFFRCxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtnQkFDdkIsV0FBVyxFQUFFLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQU8sR0FBb0MsRUFBRSxTQUF5QjtJQUMzRixPQUFPLFFBQVEsQ0FBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksR0FBeUIsRUFBRSxTQUF5QjtJQUNoRixPQUFPLE9BQU8sQ0FBeUIsR0FBRyxFQUFFLFNBQVMsQ0FBQztTQUNuRCxJQUFJLENBQ0gsU0FBUyxDQUFpQyxTQUFTLENBQUMsRUFDcEQsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsU0FBcUQsRUFBRSxFQUFFO1FBQzVELE1BQU0sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUU7WUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDbkM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxHQUFhLEVBQUUsU0FBeUI7SUFDM0UsT0FBTyxPQUFPLENBQXNCLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFNjaGVkdWxlckxpa2UsIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb24sIERvY3VtZW50UmVmZXJlbmNlLCBEb2N1bWVudFNuYXBzaG90LCBRdWVyeSwgUXVlcnlTbmFwc2hvdCwgUmVmZXJlbmNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmZ1bmN0aW9uIF9mcm9tUmVmPFI+KHJlZjogUmVmZXJlbmNlLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgbGV0IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICAgIGlmIChzY2hlZHVsZXIgIT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgdW5zdWJzY3JpYmUgPSByZWYub25TbmFwc2hvdCh7IGluY2x1ZGVNZXRhZGF0YUNoYW5nZXM6IHRydWUgfSwgc3Vic2NyaWJlcik7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdW5zdWJzY3JpYmUgPSByZWYub25TbmFwc2hvdCh7IGluY2x1ZGVNZXRhZGF0YUNoYW5nZXM6IHRydWUgfSwgc3Vic2NyaWJlcik7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh1bnN1YnNjcmliZSAhPSBudWxsKSB7XG4gICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tUmVmPFIsIFQ+KHJlZjogRG9jdW1lbnRSZWZlcmVuY2U8VD4gfCBRdWVyeTxUPiwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSkge1xuICByZXR1cm4gX2Zyb21SZWY8Uj4ocmVmLCBzY2hlZHVsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbURvY1JlZjxUPihyZWY6IERvY3VtZW50UmVmZXJlbmNlPFQ+LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxBY3Rpb248RG9jdW1lbnRTbmFwc2hvdDxUPj4+IHtcbiAgcmV0dXJuIGZyb21SZWY8RG9jdW1lbnRTbmFwc2hvdDxUPiwgVD4ocmVmLCBzY2hlZHVsZXIpXG4gICAgLnBpcGUoXG4gICAgICBzdGFydFdpdGg8RG9jdW1lbnRTbmFwc2hvdDxUPiwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoc25hcHNob3RzOiBbRG9jdW1lbnRTbmFwc2hvdDxUPiwgRG9jdW1lbnRTbmFwc2hvdDxUPl0pID0+IHtcbiAgICAgICAgY29uc3QgW3ByaW9yUGF5bG9hZCwgcGF5bG9hZF0gPSBzbmFwc2hvdHM7XG4gICAgICAgIGlmICghcGF5bG9hZC5leGlzdHMpIHtcbiAgICAgICAgICByZXR1cm4geyBwYXlsb2FkLCB0eXBlOiAncmVtb3ZlZCcgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXByaW9yUGF5bG9hZD8uZXhpc3RzKSB7XG4gICAgICAgICAgcmV0dXJuIHsgcGF5bG9hZCwgdHlwZTogJ2FkZGVkJyB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHBheWxvYWQsIHR5cGU6ICdtb2RpZmllZCcgfTtcbiAgICAgIH0pXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db2xsZWN0aW9uUmVmPFQ+KHJlZjogUXVlcnk8VD4sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPEFjdGlvbjxRdWVyeVNuYXBzaG90PFQ+Pj4ge1xuICByZXR1cm4gZnJvbVJlZjxRdWVyeVNuYXBzaG90PFQ+LCBUPihyZWYsIHNjaGVkdWxlcikucGlwZShtYXAocGF5bG9hZCA9PiAoeyBwYXlsb2FkLCB0eXBlOiAncXVlcnknIH0pKSk7XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { Inject, Injectable, InjectionToken, NgZone, Optional } from '@angular/core';
2
+ import { ɵAngularFireSchedulers } from '@angular/fire';
3
+ import { AppCheckInstances } from '@angular/fire/app-check';
4
+ import { ɵapplyMixins, ɵlazySDKProxy } from '@angular/fire/compat';
5
+ import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';
2
6
  import { from, of } from 'rxjs';
3
7
  import { map, observeOn, shareReplay, switchMap } from 'rxjs/operators';
4
- import { ɵAngularFireSchedulers } from '@angular/fire';
5
- import { ɵlazySDKProxy, ɵapplyMixins } from '@angular/fire/compat';
6
- import { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';
7
8
  import { proxyPolyfillCompat } from './base';
8
- import { AppCheckInstances } from '@angular/fire/app-check';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/fire";
11
11
  import * as i2 from "@angular/fire/app-check";
@@ -31,10 +31,10 @@ export class AngularFireFunctions {
31
31
  this.httpsCallable = (name, options) => (data) => from(functions).pipe(observeOn(schedulers.insideAngular), switchMap(functions => functions.httpsCallable(name, options)(data)), map(r => r.data));
32
32
  return ɵlazySDKProxy(this, functions, zone);
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireFunctions, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: REGION, optional: true }, { token: ORIGIN, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireFunctions, providedIn: 'any' });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireFunctions, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: REGION, optional: true }, { token: ORIGIN, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireFunctions, providedIn: 'any' });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireFunctions, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireFunctions, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'any'
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
66
66
  type: Optional
67
67
  }] }]; } });
68
68
  ɵapplyMixins(AngularFireFunctions, [proxyPolyfillCompat]);
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9mdW5jdGlvbnMvZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBaUIsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUU1RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUdsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFTNUcsTUFBTSxPQUFPLG9CQUFvQjtJQUVmLGFBQWEsQ0FBaUc7SUFFOUgsWUFDNEIsT0FBd0IsRUFDWCxJQUErQixFQUN0RSxJQUFZLEVBQ1osVUFBa0MsRUFDTixNQUFxQixFQUNyQixNQUFxQixFQUNmLFlBQWlCLEVBQUUsMkJBQTJCO0lBQ3BFLGtCQUFxQztRQUVqRCxNQUFNLFdBQVcsR0FBZ0MsWUFBWSxDQUFDO1FBRTlELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ2xDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxFQUNwRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUNuRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxjQUFjLE1BQU0sSUFBSSxNQUFNLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUM1RyxJQUFJLFNBQXVDLENBQUM7WUFDNUMsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7YUFDdkU7WUFDRCxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELElBQUksV0FBVyxFQUFFO2dCQUNmLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQzthQUN2QztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUNoRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFtQixJQUFZLEVBQUUsT0FBOEIsRUFBRSxFQUFFLENBQ3RGLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMvQixTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUNuQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBUyxDQUFDLENBQ3RCLENBQUM7UUFFSixPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLENBQUM7dUdBM0NVLG9CQUFvQixrQkFLckIsZ0JBQWdCLGFBQ0osaUJBQWlCLHlGQUdqQixNQUFNLDZCQUNOLE1BQU0sNkJBQ04sWUFBWTsyR0FYdkIsb0JBQW9CLGNBRm5CLEtBQUs7OzJGQUVOLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQU1JLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUdwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROztBQW1DYixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBvYnNlcnZlT24sIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgybVsYXp5U0RLUHJveHksIMm1UHJvbWlzZVByb3h5LCDJtWFwcGx5TWl4aW5zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IMm1ZmlyZWJhc2VBcHBGYWN0b3J5LCBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgybVjYWNoZUluc3RhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBIdHRwc0NhbGxhYmxlT3B0aW9ucyB9IGZyb20gJ0BmaXJlYmFzZS9mdW5jdGlvbnMtdHlwZXMnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5cbmV4cG9ydCBjb25zdCBPUklHSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5vcmlnaW4nKTtcbmV4cG9ydCBjb25zdCBSRUdJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5yZWdpb24nKTtcblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9uc1sndXNlRW11bGF0b3InXT47XG5leHBvcnQgY29uc3QgVVNFX0VNVUxBVE9SID0gbmV3IEluamVjdGlvblRva2VuPFVzZUVtdWxhdG9yQXJndW1lbnRzPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy51c2UtZW11bGF0b3InKTtcblxuLy8gb3ZlcnJpZGUgaHR0cHNDYWxsYWJsZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDUueFxuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyRmlyZUZ1bmN0aW9ucyBleHRlbmRzIE9taXQ8ybVQcm9taXNlUHJveHk8ZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9ucz4sICdodHRwc0NhbGxhYmxlJz4ge1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlRnVuY3Rpb25zIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgaHR0cHNDYWxsYWJsZTogPFQgPSBhbnksIFIgPSBhbnk+KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IEh0dHBzQ2FsbGFibGVPcHRpb25zKSA9PiAoZGF0YTogVCkgPT4gT2JzZXJ2YWJsZTxSPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZJUkVCQVNFX09QVElPTlMpIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZJUkVCQVNFX0FQUF9OQU1FKSBuYW1lOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFR0lPTikgcmVnaW9uOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1JJR0lOKSBvcmlnaW46IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfRU1VTEFUT1IpIF91c2VFbXVsYXRvcjogYW55LCAvLyBjYW4ndCB1c2UgdGhlIHR1cGxlIGhlcmVcbiAgICBAT3B0aW9uYWwoKSBfYXBwQ2hlY2tJbnN0YW5jZXM6IEFwcENoZWNrSW5zdGFuY2VzLFxuICApIHtcbiAgICBjb25zdCB1c2VFbXVsYXRvcjogVXNlRW11bGF0b3JBcmd1bWVudHMgfCBudWxsID0gX3VzZUVtdWxhdG9yO1xuXG4gICAgY29uc3QgZnVuY3Rpb25zID0gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGltcG9ydCgnZmlyZWJhc2UvY29tcGF0L2Z1bmN0aW9ucycpKSxcbiAgICAgIG1hcCgoKSA9PiDJtWZpcmViYXNlQXBwRmFjdG9yeShvcHRpb25zLCB6b25lLCBuYW1lKSksXG4gICAgICBtYXAoYXBwID0+IMm1Y2FjaGVJbnN0YW5jZShgJHthcHAubmFtZX0uZnVuY3Rpb25zLiR7cmVnaW9uIHx8IG9yaWdpbn1gLCAnQW5ndWxhckZpcmVGdW5jdGlvbnMnLCBhcHAubmFtZSwgKCkgPT4ge1xuICAgICAgICBsZXQgZnVuY3Rpb25zOiBmaXJlYmFzZS5mdW5jdGlvbnMuRnVuY3Rpb25zO1xuICAgICAgICBpZiAocmVnaW9uICYmIG9yaWdpbikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUkVHSU9OIGFuZCBPUklHSU4gY2FuXFwndCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuJyk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb25zID0gYXBwLmZ1bmN0aW9ucyhyZWdpb24gfHwgb3JpZ2luIHx8IHVuZGVmaW5lZCk7XG4gICAgICAgIGlmICh1c2VFbXVsYXRvcikge1xuICAgICAgICAgIGZ1bmN0aW9ucy51c2VFbXVsYXRvciguLi51c2VFbXVsYXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICAgIH0sIFtyZWdpb24sIG9yaWdpbiwgdXNlRW11bGF0b3JdKSksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiBmYWxzZSB9KVxuICAgICk7XG5cbiAgICB0aGlzLmh0dHBzQ2FsbGFibGUgPSA8VCA9IGFueSwgUiA9IGFueT4obmFtZTogc3RyaW5nLCBvcHRpb25zPzogSHR0cHNDYWxsYWJsZU9wdGlvbnMpID0+XG4gICAgICAoZGF0YTogVCkgPT4gZnJvbShmdW5jdGlvbnMpLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpLFxuICAgICAgICBzd2l0Y2hNYXAoZnVuY3Rpb25zID0+IGZ1bmN0aW9ucy5odHRwc0NhbGxhYmxlKG5hbWUsIG9wdGlvbnMpKGRhdGEpKSxcbiAgICAgICAgbWFwKHIgPT4gci5kYXRhIGFzIFIpXG4gICAgICApO1xuXG4gICAgcmV0dXJuIMm1bGF6eVNES1Byb3h5KHRoaXMsIGZ1bmN0aW9ucywgem9uZSk7XG5cbiAgfVxuXG59XG5cbsm1YXBwbHlNaXhpbnMoQW5ndWxhckZpcmVGdW5jdGlvbnMsIFtwcm94eVBvbHlmaWxsQ29tcGF0XSk7XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9mdW5jdGlvbnMvZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJaEgsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUU3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUdsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFVNUcsTUFBTSxPQUFPLG9CQUFvQjtJQUVmLGFBQWEsQ0FBaUc7SUFFOUgsWUFDNEIsT0FBd0IsRUFDWCxJQUErQixFQUN0RSxJQUFZLEVBQ1osVUFBa0MsRUFDTixNQUFxQixFQUNyQixNQUFxQixFQUNmLFlBQWlCLEVBQUUsMkJBQTJCO0lBQ3BFLGtCQUFxQztRQUVqRCxNQUFNLFdBQVcsR0FBZ0MsWUFBWSxDQUFDO1FBRTlELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ2xDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxFQUNwRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUNuRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxjQUFjLE1BQU0sSUFBSSxNQUFNLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUM1RyxJQUFJLFNBQXVDLENBQUM7WUFDNUMsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7YUFDdkU7WUFDRCxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELElBQUksV0FBVyxFQUFFO2dCQUNmLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQzthQUN2QztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUNoRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFtQixJQUFZLEVBQUUsT0FBOEIsRUFBRSxFQUFFLENBQ3RGLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMvQixTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUNuQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBUyxDQUFDLENBQ3RCLENBQUM7UUFFSixPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLENBQUM7d0dBM0NVLG9CQUFvQixrQkFLckIsZ0JBQWdCLGFBQ0osaUJBQWlCLHlGQUdqQixNQUFNLDZCQUNOLE1BQU0sNkJBQ04sWUFBWTs0R0FYdkIsb0JBQW9CLGNBRm5CLEtBQUs7OzRGQUVOLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQU1JLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUdwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROztBQW1DYixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyDJtVByb21pc2VQcm94eSwgybVhcHBseU1peGlucywgybVsYXp5U0RLUHJveHkgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgybVjYWNoZUluc3RhbmNlLCDJtWZpcmViYXNlQXBwRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0JztcbmltcG9ydCB7IEh0dHBzQ2FsbGFibGVPcHRpb25zIH0gZnJvbSAnQGZpcmViYXNlL2Z1bmN0aW9ucy10eXBlcyc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgb2JzZXJ2ZU9uLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBPUklHSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5vcmlnaW4nKTtcbmV4cG9ydCBjb25zdCBSRUdJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5yZWdpb24nKTtcblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9uc1sndXNlRW11bGF0b3InXT47XG5leHBvcnQgY29uc3QgVVNFX0VNVUxBVE9SID0gbmV3IEluamVjdGlvblRva2VuPFVzZUVtdWxhdG9yQXJndW1lbnRzPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy51c2UtZW11bGF0b3InKTtcblxuLy8gb3ZlcnJpZGUgaHR0cHNDYWxsYWJsZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDUueFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVGdW5jdGlvbnMgZXh0ZW5kcyBPbWl0PMm1UHJvbWlzZVByb3h5PGZpcmViYXNlLmZ1bmN0aW9ucy5GdW5jdGlvbnM+LCAnaHR0cHNDYWxsYWJsZSc+IHtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUZ1bmN0aW9ucyB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGh0dHBzQ2FsbGFibGU6IDxUID0gYW55LCBSID0gYW55PihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwc0NhbGxhYmxlT3B0aW9ucykgPT4gKGRhdGE6IFQpID0+IE9ic2VydmFibGU8Uj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGSVJFQkFTRV9PUFRJT05TKSBvcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGSVJFQkFTRV9BUFBfTkFNRSkgbmFtZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRUdJT04pIHJlZ2lvbjogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9SSUdJTikgb3JpZ2luOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0VNVUxBVE9SKSBfdXNlRW11bGF0b3I6IGFueSwgLy8gY2FuJ3QgdXNlIHRoZSB0dXBsZSBoZXJlXG4gICAgQE9wdGlvbmFsKCkgX2FwcENoZWNrSW5zdGFuY2VzOiBBcHBDaGVja0luc3RhbmNlcyxcbiAgKSB7XG4gICAgY29uc3QgdXNlRW11bGF0b3I6IFVzZUVtdWxhdG9yQXJndW1lbnRzIHwgbnVsbCA9IF91c2VFbXVsYXRvcjtcblxuICAgIGNvbnN0IGZ1bmN0aW9ucyA9IG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbXBvcnQoJ2ZpcmViYXNlL2NvbXBhdC9mdW5jdGlvbnMnKSksXG4gICAgICBtYXAoKCkgPT4gybVmaXJlYmFzZUFwcEZhY3Rvcnkob3B0aW9ucywgem9uZSwgbmFtZSkpLFxuICAgICAgbWFwKGFwcCA9PiDJtWNhY2hlSW5zdGFuY2UoYCR7YXBwLm5hbWV9LmZ1bmN0aW9ucy4ke3JlZ2lvbiB8fCBvcmlnaW59YCwgJ0FuZ3VsYXJGaXJlRnVuY3Rpb25zJywgYXBwLm5hbWUsICgpID0+IHtcbiAgICAgICAgbGV0IGZ1bmN0aW9uczogZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9ucztcbiAgICAgICAgaWYgKHJlZ2lvbiAmJiBvcmlnaW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JFR0lPTiBhbmQgT1JJR0lOIGNhblxcJ3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLicpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9ucyA9IGFwcC5mdW5jdGlvbnMocmVnaW9uIHx8IG9yaWdpbiB8fCB1bmRlZmluZWQpO1xuICAgICAgICBpZiAodXNlRW11bGF0b3IpIHtcbiAgICAgICAgICBmdW5jdGlvbnMudXNlRW11bGF0b3IoLi4udXNlRW11bGF0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgICB9LCBbcmVnaW9uLCBvcmlnaW4sIHVzZUVtdWxhdG9yXSkpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSlcbiAgICApO1xuXG4gICAgdGhpcy5odHRwc0NhbGxhYmxlID0gPFQgPSBhbnksIFIgPSBhbnk+KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IEh0dHBzQ2FsbGFibGVPcHRpb25zKSA9PlxuICAgICAgKGRhdGE6IFQpID0+IGZyb20oZnVuY3Rpb25zKS5waXBlKFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICAgc3dpdGNoTWFwKGZ1bmN0aW9ucyA9PiBmdW5jdGlvbnMuaHR0cHNDYWxsYWJsZShuYW1lLCBvcHRpb25zKShkYXRhKSksXG4gICAgICAgIG1hcChyID0+IHIuZGF0YSBhcyBSKVxuICAgICAgKTtcblxuICAgIHJldHVybiDJtWxhenlTREtQcm94eSh0aGlzLCBmdW5jdGlvbnMsIHpvbmUpO1xuXG4gIH1cblxufVxuXG7JtWFwcGx5TWl4aW5zKEFuZ3VsYXJGaXJlRnVuY3Rpb25zLCBbcHJveHlQb2x5ZmlsbENvbXBhdF0pO1xuIl19