@bravobit/bb-foundation 0.21.4 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/auth/lib/auth.interceptor.d.ts +1 -1
  2. package/auth/lib/auth.module.d.ts +4 -5
  3. package/auth/lib/auth.service.d.ts +4 -7
  4. package/auth/lib/directives/abstract.directive.d.ts +12 -0
  5. package/auth/lib/directives/authenticated.directive.d.ts +7 -4
  6. package/auth/lib/directives/permission.directive.d.ts +11 -11
  7. package/auth/lib/guards/anonymous.guard.d.ts +8 -5
  8. package/auth/lib/guards/authenticated.guard.d.ts +8 -5
  9. package/auth/lib/guards/permission.guard.d.ts +15 -0
  10. package/auth/lib/interfaces/config.interface.d.ts +14 -8
  11. package/auth/lib/interfaces/permission.interface.d.ts +6 -0
  12. package/auth/lib/interfaces/provider.interface.d.ts +10 -3
  13. package/auth/lib/permissions/permissions.handler.d.ts +9 -0
  14. package/auth/lib/permissions/permissions.service.d.ts +16 -0
  15. package/auth/lib/providers/email.provider.d.ts +2 -8
  16. package/auth/lib/providers/verify.provider.d.ts +2 -6
  17. package/auth/public_api.d.ts +4 -4
  18. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +5 -1
  19. package/controls/lib/control-error/control-error/control-error.animation.d.ts +1 -0
  20. package/controls/lib/control-error/control-error/control-error.component.d.ts +17 -0
  21. package/controls/lib/control-error/control-error-submit.directive.d.ts +15 -0
  22. package/controls/lib/control-error/control-error.defaults.d.ts +2 -0
  23. package/controls/lib/control-error/control-error.interface.d.ts +12 -0
  24. package/controls/lib/control-error/control-error.module.d.ts +9 -0
  25. package/controls/lib/controls.interfaces.d.ts +4 -0
  26. package/controls/lib/controls.module.d.ts +7 -2
  27. package/controls/lib/form-control/form-control/form-control.component.d.ts +31 -0
  28. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +6 -0
  29. package/controls/lib/form-control/form-control-input.directive.d.ts +35 -0
  30. package/controls/lib/form-control/form-control.module.d.ts +11 -0
  31. package/controls/public_api.d.ts +9 -0
  32. package/dashboard/lib/dashboard/dashboard.component.d.ts +2 -1
  33. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +10 -5
  34. package/dialog/lib/dialog-container/dialog-container.animations.d.ts +1 -0
  35. package/dialog/lib/dialog-container/dialog-container.component.d.ts +5 -7
  36. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -3
  37. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +7 -3
  38. package/dialog/lib/dialog-overlay/dialog-overlay.animations.d.ts +1 -0
  39. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
  40. package/dialog/lib/dialog.service.d.ts +4 -3
  41. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  42. package/elements/lib/directives/focus.directive.d.ts +1 -3
  43. package/elements/lib/directives/form-submitter.directive.d.ts +9 -0
  44. package/elements/lib/elements.module.d.ts +25 -24
  45. package/elements/lib/form-error/form-error.component.d.ts +9 -5
  46. package/elements/lib/pipes/file-image.pipe.d.ts +2 -1
  47. package/elements/public_api.d.ts +1 -0
  48. package/esm2020/auth/lib/auth.interceptor.mjs +9 -12
  49. package/esm2020/auth/lib/auth.module.mjs +7 -17
  50. package/esm2020/auth/lib/auth.service.mjs +29 -55
  51. package/esm2020/auth/lib/directives/abstract.directive.mjs +40 -0
  52. package/esm2020/auth/lib/directives/authenticated.directive.mjs +25 -14
  53. package/esm2020/auth/lib/directives/permission.directive.mjs +24 -46
  54. package/esm2020/auth/lib/guards/anonymous.guard.mjs +28 -19
  55. package/esm2020/auth/lib/guards/authenticated.guard.mjs +31 -20
  56. package/esm2020/auth/lib/guards/permission.guard.mjs +53 -0
  57. package/esm2020/auth/lib/helpers/jwt.helper.mjs +7 -7
  58. package/esm2020/auth/lib/interfaces/config.interface.mjs +1 -1
  59. package/esm2020/auth/lib/interfaces/permission.interface.mjs +2 -0
  60. package/esm2020/auth/lib/interfaces/provider.interface.mjs +1 -1
  61. package/esm2020/auth/lib/permissions/permissions.handler.mjs +33 -0
  62. package/esm2020/auth/lib/permissions/permissions.service.mjs +64 -0
  63. package/esm2020/auth/lib/providers/email.provider.mjs +8 -9
  64. package/esm2020/auth/lib/providers/verify.provider.mjs +8 -5
  65. package/esm2020/auth/public_api.mjs +5 -5
  66. package/esm2020/collections/lib/collections.module.mjs +4 -4
  67. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  68. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  69. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  70. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +19 -6
  71. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +4 -4
  72. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
  73. package/esm2020/controls/lib/control-error/control-error/control-error.animation.mjs +14 -0
  74. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +63 -0
  75. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +47 -0
  76. package/esm2020/controls/lib/control-error/control-error.defaults.mjs +26 -0
  77. package/esm2020/controls/lib/control-error/control-error.interface.mjs +3 -0
  78. package/esm2020/controls/lib/control-error/control-error.module.mjs +19 -0
  79. package/esm2020/controls/lib/controls.interfaces.mjs +2 -0
  80. package/esm2020/controls/lib/controls.module.mjs +45 -8
  81. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +94 -0
  82. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +22 -0
  83. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +124 -0
  84. package/esm2020/controls/lib/form-control/form-control.module.mjs +33 -0
  85. package/esm2020/controls/public_api.mjs +10 -1
  86. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +7 -6
  87. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  88. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  89. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  90. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  91. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  92. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  93. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  94. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  95. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +17 -11
  96. package/esm2020/dialog/lib/dialog-container/dialog-container.animations.mjs +29 -0
  97. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +28 -104
  98. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +7 -14
  99. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +4 -4
  100. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +29 -8
  101. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +26 -0
  102. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +29 -84
  103. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  104. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  105. package/esm2020/dialog/lib/dialog.service.mjs +8 -7
  106. package/esm2020/elements/lib/avatar/avatar.component.mjs +8 -6
  107. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  108. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  109. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
  110. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  111. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  112. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +5 -5
  113. package/esm2020/elements/lib/directives/focus.directive.mjs +7 -9
  114. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  115. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +25 -0
  116. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  117. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  118. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  119. package/esm2020/elements/lib/elements.module.mjs +9 -5
  120. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
  121. package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
  122. package/esm2020/elements/lib/form-error/form-error.component.mjs +22 -7
  123. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  124. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  125. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  126. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +8 -7
  127. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  128. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  129. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  130. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  131. package/esm2020/elements/public_api.mjs +2 -1
  132. package/esm2020/http/lib/http.module.mjs +4 -4
  133. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  134. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  135. package/esm2020/lib/core/services/clipboard.service.mjs +5 -5
  136. package/esm2020/lib/core/services/exif.service.mjs +5 -5
  137. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  138. package/esm2020/lib/core/services/image-converter.service.mjs +5 -5
  139. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  140. package/esm2020/lib/core/services/network.service.mjs +7 -7
  141. package/esm2020/lib/core/services/patch.service.mjs +7 -7
  142. package/esm2020/localize/lib/localize.module.mjs +4 -4
  143. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  144. package/esm2020/localize/lib/localize.service.mjs +5 -5
  145. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  146. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  147. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  148. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  149. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  150. package/esm2020/masking/lib/directives/input-mask.directive.mjs +7 -7
  151. package/esm2020/masking/lib/masking.module.mjs +4 -4
  152. package/esm2020/masking/lib/masking.service.mjs +3 -3
  153. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +5 -5
  154. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +7 -7
  155. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  156. package/esm2020/notifications/lib/notifications.service.mjs +5 -5
  157. package/esm2020/public_api.mjs +1 -2
  158. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  159. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +10 -10
  160. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  161. package/esm2020/storage/lib/storage.service.mjs +5 -5
  162. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  163. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  164. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  165. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  166. package/esm2020/table/lib/table.module.mjs +4 -4
  167. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +17 -2
  168. package/esm2020/theming/lib/themes/checkbox.theme.mjs +35 -2
  169. package/esm2020/theming/lib/themes/control-error.theme.mjs +11 -0
  170. package/esm2020/theming/lib/themes/form-control-addon.theme.mjs +6 -0
  171. package/esm2020/theming/lib/themes/form-control.theme.mjs +45 -0
  172. package/esm2020/theming/lib/theming.data.mjs +82 -0
  173. package/esm2020/theming/lib/theming.directive.mjs +38 -0
  174. package/esm2020/theming/lib/theming.interface.mjs +2 -3
  175. package/esm2020/theming/lib/theming.module.mjs +12 -34
  176. package/esm2020/theming/lib/utils/theming.variable.mjs +41 -0
  177. package/esm2020/theming/public_api.mjs +6 -3
  178. package/fesm2015/bravobit-bb-foundation-auth.mjs +326 -284
  179. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  180. package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
  181. package/fesm2015/bravobit-bb-foundation-controls.mjs +493 -24
  182. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  183. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +29 -28
  184. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  185. package/fesm2015/bravobit-bb-foundation-dialog.mjs +185 -233
  186. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  187. package/fesm2015/bravobit-bb-foundation-elements.mjs +140 -99
  188. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  189. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  190. package/fesm2015/bravobit-bb-foundation-localize.mjs +20 -20
  191. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  192. package/fesm2015/bravobit-bb-foundation-masking.mjs +20 -19
  193. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -1
  194. package/fesm2015/bravobit-bb-foundation-notifications.mjs +18 -17
  195. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  196. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +16 -16
  197. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  198. package/fesm2015/bravobit-bb-foundation-storage.mjs +4 -4
  199. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  200. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  201. package/fesm2015/bravobit-bb-foundation-theming.mjs +251 -128
  202. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -1
  203. package/fesm2015/bravobit-bb-foundation.mjs +33 -73
  204. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
  205. package/fesm2020/bravobit-bb-foundation-auth.mjs +306 -277
  206. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  207. package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
  208. package/fesm2020/bravobit-bb-foundation-controls.mjs +477 -24
  209. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  210. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +29 -28
  211. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  212. package/fesm2020/bravobit-bb-foundation-dialog.mjs +175 -233
  213. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  214. package/fesm2020/bravobit-bb-foundation-elements.mjs +140 -99
  215. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  216. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  217. package/fesm2020/bravobit-bb-foundation-localize.mjs +20 -20
  218. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  219. package/fesm2020/bravobit-bb-foundation-masking.mjs +19 -19
  220. package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -1
  221. package/fesm2020/bravobit-bb-foundation-notifications.mjs +17 -17
  222. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  223. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +16 -16
  224. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  225. package/fesm2020/bravobit-bb-foundation-storage.mjs +4 -4
  226. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  227. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  228. package/fesm2020/bravobit-bb-foundation-theming.mjs +252 -120
  229. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -1
  230. package/fesm2020/bravobit-bb-foundation.mjs +32 -70
  231. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
  232. package/lib/core/services/clipboard.service.d.ts +2 -2
  233. package/lib/core/services/exif.service.d.ts +1 -1
  234. package/lib/core/services/image-converter.service.d.ts +1 -1
  235. package/lib/core/services/network.service.d.ts +4 -4
  236. package/lib/core/services/patch.service.d.ts +4 -4
  237. package/localize/lib/localize.service.d.ts +1 -1
  238. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  239. package/notifications/lib/notifications.service.d.ts +1 -1
  240. package/package.json +4 -4
  241. package/public_api.d.ts +0 -1
  242. package/recaptcha/lib/recaptcha-loader.service.d.ts +3 -3
  243. package/storage/lib/storage.service.d.ts +1 -1
  244. package/theming/lib/themes/checkbox-group.theme.d.ts +14 -3
  245. package/theming/lib/themes/checkbox.theme.d.ts +30 -17
  246. package/theming/lib/themes/control-error.theme.d.ts +9 -0
  247. package/theming/lib/themes/form-control-addon.theme.d.ts +5 -0
  248. package/theming/lib/themes/form-control.theme.d.ts +32 -0
  249. package/theming/lib/theming.data.d.ts +17 -0
  250. package/theming/lib/theming.directive.d.ts +13 -0
  251. package/theming/lib/theming.interface.d.ts +19 -8
  252. package/theming/lib/theming.module.d.ts +3 -9
  253. package/theming/lib/utils/theming.variable.d.ts +16 -0
  254. package/theming/public_api.d.ts +5 -2
  255. package/auth/lib/directives/role.directive.d.ts +0 -16
  256. package/auth/lib/helpers/mapper.helper.d.ts +0 -23
  257. package/auth/lib/interfaces/mapper.interface.d.ts +0 -19
  258. package/auth/lib/permissions.service.d.ts +0 -14
  259. package/esm2020/auth/lib/directives/role.directive.mjs +0 -37
  260. package/esm2020/auth/lib/helpers/mapper.helper.mjs +0 -35
  261. package/esm2020/auth/lib/interfaces/mapper.interface.mjs +0 -2
  262. package/esm2020/auth/lib/permissions.service.mjs +0 -56
  263. package/esm2020/lib/core/services/platform.service.mjs +0 -42
  264. package/esm2020/theming/lib/themes/theme.mjs +0 -34
  265. package/esm2020/theming/lib/theming.service.mjs +0 -77
  266. package/lib/core/services/platform.service.d.ts +0 -18
  267. package/theming/lib/themes/theme.d.ts +0 -12
  268. package/theming/lib/theming.service.d.ts +0 -22
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@bravobit/bb-foundation";
3
+ import * as i1 from "@angular/cdk/platform";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@bravobit/bb-foundation/localize";
6
6
  export class BbNotificationsItem {
@@ -79,9 +79,9 @@ export class BbNotificationsItem {
79
79
  this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
80
80
  }
81
81
  }
82
- BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
- BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{top:0;left:0;right:0;bottom:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: BbNotificationsItem, decorators: [{
82
+ BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
+ BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{top:0;left:0;right:0;bottom:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbNotificationsItem, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
87
87
  'role': 'alert'
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImpor
97
97
  type: HostBinding,
98
98
  args: ['class']
99
99
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBZXZCLE1BQU0sT0FBTyxtQkFBbUI7SUE0QjVCLFlBQW9CLEtBQWEsRUFDYixTQUFtQixFQUNuQixnQkFBbUM7UUFGbkMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQXJCdkQsUUFBUTtRQUNBLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBU25CLFFBQVE7UUFDUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBd0M3RCx5QkFBb0IsR0FBRyxDQUFDLFlBQTBCLEVBQUUsTUFBMEIsRUFBRSxFQUFFO1lBQzlFLHVDQUF1QztZQUN2QyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFL0MsMENBQTBDO1lBQzFDLFlBQVks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RyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXRELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOztnSEFsRlEsbUJBQW1CO29HQUFuQixtQkFBbUIsb1ZDM0JoQywweUhBc0dBOzJGRDNFYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLE1BQU0sRUFBRSxPQUFPO3FCQUNsQjtvSkFLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHaUIsa0JBQWtCO3NCQUF4QyxTQUFTO3VCQUFDLFVBQVU7Z0JBaUJLLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbn0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1ub3RpZmljYXRpb25zLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAncm9sZSc6ICdhbGVydCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0l0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gICAgQElucHV0KCkgZGlzbWlzc0J1dHRvblRleHQ6IHN0cmluZyB8IG51bGw7XG5cbiAgICAvLyBFbGVtZW50cy5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzcycpIHByb2dyZXNzRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3MgPSAwO1xuICAgIHByaXZhdGUgX2NvdW50ID0gMDtcblxuICAgIC8vIEhlbHBlciB2YXJpYWJsZXMuXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zcGVlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3RpbWVyOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3RhcnRUaW1lOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGlmZmVyZW5jZTogbnVtYmVyO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpdXMgPSAxOTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaXJjdW1mZXJlbmNlID0gdGhpcy5fcmFkaXVzICogMiAqIE1hdGguUEk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYGJiLW5vdGlmaWNhdGlvbnMtaXRlbSAke3RoaXMubm90aWZpY2F0aW9uLnR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgcHJvZ3Jlc3NTdHJva2VBcnJheSgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHRoaXMuX2NpcmN1bWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gYCR7dmFsdWV9LCAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlIC0gdGhpcy5fcHJvZ3Jlc3MgLyAxMDAgKiB0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb250ZW50U3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMubm90aWZpY2F0aW9uLmNvbnRlbnQgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbm90aWZpY2F0aW9uIHRpbWVvdXQgaXMgbm90IDAgYW5kIHRoZSBwbGF0Zm9ybSBpcyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbi50aW1lb3V0IDw9IDAgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGlzbWlzcyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgdGltZW91dC5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVvdXQgaWYgaXQgd2FzIHNldC5cbiAgICAgICAgdGhpcy5fdGltZXIgJiYgd2luZG93ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQgJiYgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XG4gICAgfVxuXG4gICAgY2FsbEFjdGlvbkFuZERlc3Ryb3kgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKSA9PiB7XG4gICAgICAgIC8vIFBlcmZvcm0gdGhlIGNhbGxiYWNrIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBhY3Rpb24gJiYgYWN0aW9uLmNhbGxiYWNrICYmIGFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGRlc3Ryb3kgbWV0aG9kIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3kgJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVvdXQoKSB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RlcHMgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3N0ZXBzID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIDEwO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3BlZWQgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3NwZWVkID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIEdldCB0aGUgc3RhcnQgdGltZS5cbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIgb3V0c2lkZSBvZiBBbmd1bGFyLlxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnN0YW5jZSA9ICgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICB0aGlzLl9kaWZmZXJlbmNlID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydFRpbWUpIC0gKHRoaXMuX2NvdW50ICogdGhpcy5fc3BlZWQpO1xuXG4gICAgICAgIC8vIEFkZCB1cCB0aGUgY291bnQuXG4gICAgICAgIGlmICh0aGlzLl9jb3VudCsrID09PSB0aGlzLl9zdGVwcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBzdGVwcyB0byB0aGUgcHJvZ3Jlc3MuXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzICs9IDEwMCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIFNldCBhIG5ldyB0aW1lci5cbiAgICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLnNldFRpbWVvdXQodGhpcy5pbnN0YW5jZSwgdGhpcy5fc3BlZWQgLSB0aGlzLl9kaWZmZXJlbmNlKTtcblxuICAgICAgICAvLyBSdW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0VGltZW91dCA9IChtZXRob2Q6ICgpID0+IHZvaWQsIHRpbWVvdXQ6IG51bWJlcikgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgd2luZG93IGFuZCBtZXRob2QgZXhpc3QuXG4gICAgICAgIGlmICghd2luZG93IHx8ICF3aW5kb3cuc2V0VGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQobWV0aG9kLCB0aW1lb3V0KTtcbiAgICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGljb24gZm9yIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICAgICAgVGhlIGljb24gaXMgcmVmbGVjdGVkIGJ5IHRoZSB0eXBlIG9mIHRoZVxuICAgICAgICBub3RpZmljYXRpb24uIFNhbWUgZ29lcyBmb3IgdGhlIGNvbG9yIGFuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIC0tPlxuICAgIDxkaXYgW3N0eWxlLmNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uY29sb3JcIlxuICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwibm90aWZpY2F0aW9uPy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxOS41XCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCAxOS41YzEuMSAwIDItLjkgMi0ySDZjMCAxLjEuOSAyIDIgMnpNMTQgMTMuNXYtNWMwLTMuMS0xLjYtNS42LTQuNS02LjN2LS43QzkuNS43IDguOCAwIDggMFM2LjUuNyA2LjUgMS41di43QzMuNiAyLjkgMiA1LjQgMiA4LjV2NWwtMiAydjFoMTZ2LTFsLTItMnpcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIGNpcmN1bGFyIHByb2dyZXNzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgICAgICBUaGUgcHJvZ3Jlc3MgaXMgb25seSB2aXNpYmxlIHdoZW4gYSB0aW1lb3V0IGlzXG4gICAgICAgICAgICBzZXQuIFRoZSBwcm9ncmVzcyBhZGFwdHMgdG8gdGhlIHRpbWUgcmVtYWluaW5nXG4gICAgICAgICAgICBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgLS0+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJub3RpZmljYXRpb24/LnRpbWVvdXQgPiAwXCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1wcm9ncmVzcy1yaW5nXCJcbiAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQwIDQwXCJcbiAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIj5cbiAgICAgICAgICAgIDxjaXJjbGUgI3Byb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNoYXJyYXldPVwicHJvZ3Jlc3NTdHJva2VBcnJheVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInByb2dyZXNzU3Ryb2tlT2Zmc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnN0cm9rZV09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tcHJvZ3Jlc3MtY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIHI9XCIxOVwiXG4gICAgICAgICAgICAgICAgICAgIGN4PVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICBjeT1cIjIwXCI+XG4gICAgICAgICAgICA8L2NpcmNsZT5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBjb250ZW50IGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgIFRoaXMgZGlzcGxheXMgYSBzdHJpbmcgb3IgYSB0ZW1wbGF0ZSBiYXNlZFxuICAgICAgICBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyIGJ5IHRoZSB1c2VyLlxuICAgIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50U3RyaW5nOyBlbHNlIHRlbXBsYXRlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3dpdGNoXT1cIm5vdGlmaWNhdGlvbj8ubG9jYWxpemVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICB7eyAkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudCkgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICB7eyBub3RpZmljYXRpb24/LmNvbnRlbnQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIGFjdGlvbnMgb2YgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgIEFsbCBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaGVyZSBhbmQgYXJlXG4gICAgYmFzZWQgb24gdGhlIGFjdGlvbnMgYXJyYXkgdGhlIHVzZXIgcHJvdmlkZWQuXG4tLT5cbjxkaXYgKm5nSWY9XCJub3RpZmljYXRpb24/LmFjdGlvbnM/Lmxlbmd0aCA+IDAgfHwgbm90aWZpY2F0aW9uPy5kaXNtaXNzXCJcbiAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9uc1wiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBub3RpZmljYXRpb24/LmFjdGlvbnNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbGxBY3Rpb25BbmREZXN0cm95KG5vdGlmaWNhdGlvbiwgYWN0aW9uKVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZXN0cnVjdGl2ZV09XCJhY3Rpb24/LnR5cGUgPT09ICdjYW5jZWwnXCJcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uXCI+XG4gICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJub3RpZmljYXRpb24/LmxvY2FsaXplXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24taGlnaGxpZ2h0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgYWN0aW9uPy50aXRsZSB8IGJiTG9jYWxpemU6e2RhdGE6IG5vdGlmaWNhdGlvbj8uZGF0YX0gfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIm5vdGlmaWNhdGlvbj8uZGlzbWlzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibm90aWZpY2F0aW9uPy5kZXN0cm95KClcIlxuICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24gZGVzdHJ1Y3RpdmVcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvbi1oaWdobGlnaHRcIj5cbiAgICAgICAgICAgIHt7IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1RleHQgfHwgZGlzbWlzc0J1dHRvblRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjwhLS1cbiAgICBUaGUgb3V0bGV0IGZvciB0aGUgbm90aWZpY2F0aW9uIGNvbnRlbnQgdGVtcGxhdGUgcmVmLlxuLS0+XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiJGFueShub3RpZmljYXRpb24/LmNvbnRlbnQpXCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBZXZCLE1BQU0sT0FBTyxtQkFBbUI7SUE0QjVCLFlBQW9CLEtBQWEsRUFDYixTQUFtQixFQUNuQixnQkFBbUM7UUFGbkMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQXJCdkQsUUFBUTtRQUNBLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBU25CLFFBQVE7UUFDUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBd0M3RCx5QkFBb0IsR0FBRyxDQUFDLFlBQTBCLEVBQUUsTUFBMEIsRUFBRSxFQUFFO1lBQzlFLHVDQUF1QztZQUN2QyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFL0MsMENBQTBDO1lBQzFDLFlBQVks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RyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXRELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOztnSEFsRlEsbUJBQW1CO29HQUFuQixtQkFBbUIsb1ZDM0JoQywweUhBc0dBOzJGRDNFYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLE1BQU0sRUFBRSxPQUFPO3FCQUNsQjtvSkFLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHaUIsa0JBQWtCO3NCQUF4QyxTQUFTO3VCQUFDLFVBQVU7Z0JBaUJLLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbn0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3JvbGUnOiAnYWxlcnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNJdGVtIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICAgIEBJbnB1dCgpIGRpc21pc3NCdXR0b25UZXh0OiBzdHJpbmcgfCBudWxsO1xuXG4gICAgLy8gRWxlbWVudHMuXG4gICAgQFZpZXdDaGlsZCgncHJvZ3Jlc3MnKSBwcm9ncmVzc0VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3Byb2dyZXNzID0gMDtcbiAgICBwcml2YXRlIF9jb3VudCA9IDA7XG5cbiAgICAvLyBIZWxwZXIgdmFyaWFibGVzLlxuICAgIHByaXZhdGUgX3N0ZXBzOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3BlZWQ6IG51bWJlcjtcbiAgICBwcml2YXRlIF90aW1lcjogbnVtYmVyO1xuICAgIHByaXZhdGUgX3N0YXJ0VGltZTogbnVtYmVyO1xuICAgIHByaXZhdGUgX2RpZmZlcmVuY2U6IG51bWJlcjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmFkaXVzID0gMTk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2lyY3VtZmVyZW5jZSA9IHRoaXMuX3JhZGl1cyAqIDIgKiBNYXRoLlBJO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBnZXRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGBiYi1ub3RpZmljYXRpb25zLWl0ZW0gJHt0aGlzLm5vdGlmaWNhdGlvbi50eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlQXJyYXkoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlfSwgJHt2YWx1ZX1gO1xuICAgIH1cblxuICAgIGdldCBwcm9ncmVzc1N0cm9rZU9mZnNldCgpIHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5fY2lyY3VtZmVyZW5jZSAtIHRoaXMuX3Byb2dyZXNzIC8gMTAwICogdGhpcy5fY2lyY3VtZmVyZW5jZSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29udGVudFN0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLm5vdGlmaWNhdGlvbi5jb250ZW50ID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG5vdGlmaWNhdGlvbiB0aW1lb3V0IGlzIG5vdCAwIGFuZCB0aGUgcGxhdGZvcm0gaXMgYSBicm93c2VyLlxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb24udGltZW91dCA8PSAwIHx8ICF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmRpc21pc3MgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIENsZWFyIHRoZSB0aW1lb3V0IGlmIGl0IHdhcyBzZXQuXG4gICAgICAgIHRoaXMuX3RpbWVyICYmIHdpbmRvdyAmJiB3aW5kb3cuY2xlYXJUaW1lb3V0ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fdGltZXIpO1xuICAgIH1cblxuICAgIGNhbGxBY3Rpb25BbmREZXN0cm95ID0gKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uLCBhY3Rpb246IE5vdGlmaWNhdGlvbkFjdGlvbikgPT4ge1xuICAgICAgICAvLyBQZXJmb3JtIHRoZSBjYWxsYmFjayAoaWYgaXQgZXhpc3RzKS5cbiAgICAgICAgYWN0aW9uICYmIGFjdGlvbi5jYWxsYmFjayAmJiBhY3Rpb24uY2FsbGJhY2soKTtcblxuICAgICAgICAvLyBDYWxsIHRoZSBkZXN0cm95IG1ldGhvZCAoaWYgaXQgZXhpc3RzKS5cbiAgICAgICAgbm90aWZpY2F0aW9uICYmIG5vdGlmaWNhdGlvbi5kZXN0cm95ICYmIG5vdGlmaWNhdGlvbi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc3RhcnRUaW1lb3V0KCkge1xuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHN0ZXBzIG9mIHRoZSB0aW1lb3V0LlxuICAgICAgICB0aGlzLl9zdGVwcyA9IHRoaXMubm90aWZpY2F0aW9uLnRpbWVvdXQgLyAxMDtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHNwZWVkIG9mIHRoZSB0aW1lb3V0LlxuICAgICAgICB0aGlzLl9zcGVlZCA9IHRoaXMubm90aWZpY2F0aW9uLnRpbWVvdXQgLyB0aGlzLl9zdGVwcztcblxuICAgICAgICAvLyBHZXQgdGhlIHN0YXJ0IHRpbWUuXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IERhdGUubm93KCk7XG5cbiAgICAgICAgLy8gU2V0IGEgbmV3IHRpbWVyIG91dHNpZGUgb2YgQW5ndWxhci5cbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLl90aW1lciA9IHRoaXMuc2V0VGltZW91dCh0aGlzLmluc3RhbmNlLCB0aGlzLl9zcGVlZCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5zdGFuY2UgPSAoKSA9PiB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZS5cbiAgICAgICAgdGhpcy5fZGlmZmVyZW5jZSA9IChEYXRlLm5vdygpIC0gdGhpcy5fc3RhcnRUaW1lKSAtICh0aGlzLl9jb3VudCAqIHRoaXMuX3NwZWVkKTtcblxuICAgICAgICAvLyBBZGQgdXAgdGhlIGNvdW50LlxuICAgICAgICBpZiAodGhpcy5fY291bnQrKyA9PT0gdGhpcy5fc3RlcHMpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCB0aGUgc3RlcHMgdG8gdGhlIHByb2dyZXNzLlxuICAgICAgICB0aGlzLl9wcm9ncmVzcyArPSAxMDAgLyB0aGlzLl9zdGVwcztcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIuXG4gICAgICAgIHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkIC0gdGhpcy5fZGlmZmVyZW5jZSk7XG5cbiAgICAgICAgLy8gUnVuIGEgbmV3IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuX2NoYW5nZURldGVjdGlvbi5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHNldFRpbWVvdXQgPSAobWV0aG9kOiAoKSA9PiB2b2lkLCB0aW1lb3V0OiBudW1iZXIpID0+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHdpbmRvdyBhbmQgbWV0aG9kIGV4aXN0LlxuICAgICAgICBpZiAoIXdpbmRvdyB8fCAhd2luZG93LnNldFRpbWVvdXQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KG1ldGhvZCwgdGltZW91dCk7XG4gICAgfTtcblxufVxuIiwiPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1jb250ZW50LXdyYXBwZXJcIj5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBpY29uIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgIFRoZSBpY29uIGlzIHJlZmxlY3RlZCBieSB0aGUgdHlwZSBvZiB0aGVcbiAgICAgICAgbm90aWZpY2F0aW9uLiBTYW1lIGdvZXMgZm9yIHRoZSBjb2xvciBhbmRcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvci5cbiAgICAtLT5cbiAgICA8ZGl2IFtzdHlsZS5jb2xvcl09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWljb24td3JhcHBlclwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTkuNVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvblwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTggMTkuNWMxLjEgMCAyLS45IDItMkg2YzAgMS4xLjkgMiAyIDJ6TTE0IDEzLjV2LTVjMC0zLjEtMS42LTUuNi00LjUtNi4zdi0uN0M5LjUuNyA4LjggMCA4IDBTNi41LjcgNi41IDEuNXYuN0MzLjYgMi45IDIgNS40IDIgOC41djVsLTIgMnYxaDE2di0xbC0yLTJ6XCI+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuXG4gICAgICAgIDwhLS1cbiAgICAgICAgICAgIFRoZSBjaXJjdWxhciBwcm9ncmVzcyBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICAgICAgVGhlIHByb2dyZXNzIGlzIG9ubHkgdmlzaWJsZSB3aGVuIGEgdGltZW91dCBpc1xuICAgICAgICAgICAgc2V0LiBUaGUgcHJvZ3Jlc3MgYWRhcHRzIHRvIHRoZSB0aW1lIHJlbWFpbmluZ1xuICAgICAgICAgICAgZm9yIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIC0tPlxuICAgICAgICA8c3ZnICpuZ0lmPVwibm90aWZpY2F0aW9uPy50aW1lb3V0ID4gMFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tcHJvZ3Jlc3MtcmluZ1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCI+XG4gICAgICAgICAgICA8Y2lyY2xlICNwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInByb2dyZXNzU3Ryb2tlQXJyYXlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaG9mZnNldF09XCJwcm9ncmVzc1N0cm9rZU9mZnNldFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5zdHJva2VdPVwibm90aWZpY2F0aW9uPy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLXByb2dyZXNzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICByPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICBjeD1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgY3k9XCIyMFwiPlxuICAgICAgICAgICAgPC9jaXJjbGU+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLVxuICAgICAgICBUaGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICBUaGlzIGRpc3BsYXlzIGEgc3RyaW5nIG9yIGEgdGVtcGxhdGUgYmFzZWRcbiAgICAgICAgb24gdGhlIGdpdmVuIHBhcmFtZXRlciBieSB0aGUgdXNlci5cbiAgICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29udGVudFN0cmluZzsgZWxzZSB0ZW1wbGF0ZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJub3RpZmljYXRpb24/LmxvY2FsaXplXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgJGFueShub3RpZmljYXRpb24/LmNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7ZGF0YTogbm90aWZpY2F0aW9uPy5kYXRhfSB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uPy5jb250ZW50IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLVxuICAgIFRoZSBhY3Rpb25zIG9mIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICBBbGwgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGhlcmUgYW5kIGFyZVxuICAgIGJhc2VkIG9uIHRoZSBhY3Rpb25zIGFycmF5IHRoZSB1c2VyIHByb3ZpZGVkLlxuLS0+XG48ZGl2ICpuZ0lmPVwibm90aWZpY2F0aW9uPy5hY3Rpb25zPy5sZW5ndGggPiAwIHx8IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1wiXG4gICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnNcIj5cbiAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygbm90aWZpY2F0aW9uPy5hY3Rpb25zXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYWxsQWN0aW9uQW5kRGVzdHJveShub3RpZmljYXRpb24sIGFjdGlvbilcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiYWN0aW9uPy50eXBlID09PSAnY2FuY2VsJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwibm90aWZpY2F0aW9uPy5sb2NhbGl6ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uLWhpZ2hsaWdodFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICB7eyBhY3Rpb24/LnRpdGxlIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJub3RpZmljYXRpb24/LmRpc21pc3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbj8uZGVzdHJveSgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uIGRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24taGlnaGxpZ2h0XCI+XG4gICAgICAgICAgICB7eyBub3RpZmljYXRpb24/LmRpc21pc3NUZXh0IHx8IGRpc21pc3NCdXR0b25UZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIG91dGxldCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBjb250ZW50IHRlbXBsYXRlIHJlZi5cbi0tPlxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZUNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIiRhbnkobm90aWZpY2F0aW9uPy5jb250ZW50KVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -10,7 +10,7 @@ export class BbNotificationsList {
10
10
  // Data.
11
11
  this.position = null;
12
12
  // Track by function.
13
- this.trackByFn = (_, item) => item.id;
13
+ this.trackByFn = (_, item) => item?.id;
14
14
  }
15
15
  get horizontalPosition() {
16
16
  return this.location.horizontal;
@@ -25,13 +25,13 @@ export class BbNotificationsList {
25
25
  return { to };
26
26
  }
27
27
  get location() {
28
- const [y, x] = (this.data.position || '').split('|');
29
- return { vertical: y || null, horizontal: x || null };
28
+ const [y, x] = (this.data.position ?? '').split('|');
29
+ return { vertical: y ?? null, horizontal: x ?? null };
30
30
  }
31
31
  }
32
- BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
33
- BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{top:0;left:0;right:0;bottom:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: BbNotificationsList, decorators: [{
32
+ BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
33
+ BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{top:0;left:0;right:0;bottom:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbNotificationsList, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'bb-notifications-list', animations: [notificationAnimation], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
37
37
  'class': 'bb-notifications-list',
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImpor
44
44
  type: HostBinding,
45
45
  args: ['style.align-items']
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFlbEUsTUFBTSxPQUFPLG1CQUFtQjtJQVE1QixZQUFtQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQU4xQyxRQUFRO1FBQ1IsYUFBUSxHQUFpQyxJQUFJLENBQUM7UUFFOUMscUJBQXFCO1FBQ3JCLGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRy9DLENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssWUFBWTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE9BQU8sRUFBQyxFQUFFLEVBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckQsT0FBTyxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFDLENBQUM7SUFDeEQsQ0FBQzs7Z0hBakNRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGtRQ2pCaEMsb3lCQXNCQSwwdUJEZGdCLENBQUMscUJBQXFCLENBQUM7MkZBUzFCLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDbEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsdUJBQXVCO3dCQUNoQyxNQUFNLEVBQUUsTUFBTTtxQkFDakI7d0dBY0csa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLHVCQUF1QjtnQkFNaEMsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25zRGF0YSwgTm90aWZpY2F0aW9uc1Bvc2l0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtub3RpZmljYXRpb25BbmltYXRpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbbm90aWZpY2F0aW9uQW5pbWF0aW9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgICAgICdyb2xlJzogJ2xpc3QnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNMaXN0IHtcblxuICAgIC8vIERhdGEuXG4gICAgcG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gVHJhY2sgYnkgZnVuY3Rpb24uXG4gICAgdHJhY2tCeUZuID0gKF8sIGl0ZW06IE5vdGlmaWNhdGlvbikgPT4gaXRlbS5pZDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBOb3RpZmljYXRpb25zRGF0YSkge1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuanVzdGlmeS1jb250ZW50JylcbiAgICBnZXQgaG9yaXpvbnRhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYWxpZ24taXRlbXMnKVxuICAgIGdldCB2ZXJ0aWNhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi52ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICBnZXQgYW5pbWF0aW9uKCkge1xuICAgICAgICBjb25zdCB0byA9IHRoaXMuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnZmxleC1zdGFydCdcbiAgICAgICAgICAgID8gLTUwXG4gICAgICAgICAgICA6IDUwO1xuXG4gICAgICAgIHJldHVybiB7dG99O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgICBjb25zdCBbeSwgeF0gPSAodGhpcy5kYXRhLnBvc2l0aW9uIHx8ICcnKS5zcGxpdCgnfCcpO1xuXG4gICAgICAgIHJldHVybiB7dmVydGljYWw6IHkgfHwgbnVsbCwgaG9yaXpvbnRhbDogeCB8fCBudWxsfTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGUgbm90aWZpY2F0aW9ucyBsaXN0LlxuXG4gICAgVGhlIGxpc3QgcHJvdmlkZXMgdGhlIGFuaW1hdGlvbiBlZmZlY3QgZm9yIHRoZVxuICAgIGluY29taW5nIG5vdGlmaWNhdGlvbnMuXG4tLT5cbjxkaXYgKm5nSWY9XCJkYXRhPy5kYXRhIHwgYXN5bmMgYXMgbm90aWZpY2F0aW9uc1wiXG4gICAgIFtAbm90aWZpY2F0aW9uTGlzdEFuaW1hdGlvbl09XCJ7dmFsdWU6IG5vdGlmaWNhdGlvbnM/Lmxlbmd0aCwgcGFyYW1zOiBhbmltYXRpb259XCJcbiAgICAgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3Qtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGxvb3AgZm9yIHRoZSBub3RpZmljYXRpb25zLlxuXG4gICAgICAgIEFsbCBub3RpZmljYXRpb25zIHdpbGwgYmUgZGlzcGxheWVkIGhlcmUuIFRoZXlcbiAgICAgICAgYXJlIHdyYXBwZWQgd2l0aGluIGEgd3JhcHBlciB3aGljaCBzZXBhcmF0ZXMgdGhlbS5cbiAgICAtLT5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pdGVtLXdyYXBwZXJcIj5cbiAgICAgICAgPGJiLW5vdGlmaWNhdGlvbnMtaXRlbSBbbm90aWZpY2F0aW9uXT1cIm5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc21pc3NCdXR0b25UZXh0XT1cImRhdGE/LmRpc21pc3NUZXh0XCI+XG4gICAgICAgIDwvYmItbm90aWZpY2F0aW9ucy1pdGVtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFlbEUsTUFBTSxPQUFPLG1CQUFtQjtJQVE1QixZQUFtQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQU4xQyxRQUFRO1FBQ1IsYUFBUSxHQUFpQyxJQUFJLENBQUM7UUFFOUMscUJBQXFCO1FBQ3JCLGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBR2hELENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssWUFBWTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE9BQU8sRUFBQyxFQUFFLEVBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckQsT0FBTyxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFDLENBQUM7SUFDeEQsQ0FBQzs7Z0hBakNRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGtRQ2pCaEMsb3lCQXNCQSwwdUJEZGdCLENBQUMscUJBQXFCLENBQUM7MkZBUzFCLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDbEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsdUJBQXVCO3dCQUNoQyxNQUFNLEVBQUUsTUFBTTtxQkFDakI7d0dBY0csa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLHVCQUF1QjtnQkFNaEMsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25zRGF0YSwgTm90aWZpY2F0aW9uc1Bvc2l0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtub3RpZmljYXRpb25BbmltYXRpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbbm90aWZpY2F0aW9uQW5pbWF0aW9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgICAgICdyb2xlJzogJ2xpc3QnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNMaXN0IHtcblxuICAgIC8vIERhdGEuXG4gICAgcG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gVHJhY2sgYnkgZnVuY3Rpb24uXG4gICAgdHJhY2tCeUZuID0gKF8sIGl0ZW06IE5vdGlmaWNhdGlvbikgPT4gaXRlbT8uaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogTm90aWZpY2F0aW9uc0RhdGEpIHtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmp1c3RpZnktY29udGVudCcpXG4gICAgZ2V0IGhvcml6b250YWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24uaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmFsaWduLWl0ZW1zJylcbiAgICBnZXQgdmVydGljYWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24udmVydGljYWw7XG4gICAgfVxuXG4gICAgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICAgICAgY29uc3QgdG8gPSB0aGlzLmhvcml6b250YWxQb3NpdGlvbiA9PT0gJ2ZsZXgtc3RhcnQnXG4gICAgICAgICAgICA/IC01MFxuICAgICAgICAgICAgOiA1MDtcblxuICAgICAgICByZXR1cm4ge3RvfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsb2NhdGlvbigpIHtcbiAgICAgICAgY29uc3QgW3ksIHhdID0gKHRoaXMuZGF0YS5wb3NpdGlvbiA/PyAnJykuc3BsaXQoJ3wnKTtcblxuICAgICAgICByZXR1cm4ge3ZlcnRpY2FsOiB5ID8/IG51bGwsIGhvcml6b250YWw6IHggPz8gbnVsbH07XG4gICAgfVxuXG59XG4iLCI8IS0tXG4gICAgVGhlIG5vdGlmaWNhdGlvbnMgbGlzdC5cblxuICAgIFRoZSBsaXN0IHByb3ZpZGVzIHRoZSBhbmltYXRpb24gZWZmZWN0IGZvciB0aGVcbiAgICBpbmNvbWluZyBub3RpZmljYXRpb25zLlxuLS0+XG48ZGl2ICpuZ0lmPVwiZGF0YT8uZGF0YSB8IGFzeW5jIGFzIG5vdGlmaWNhdGlvbnNcIlxuICAgICBbQG5vdGlmaWNhdGlvbkxpc3RBbmltYXRpb25dPVwie3ZhbHVlOiBub3RpZmljYXRpb25zPy5sZW5ndGgsIHBhcmFtczogYW5pbWF0aW9ufVwiXG4gICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0LXdyYXBwZXJcIj5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBsb29wIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cblxuICAgICAgICBBbGwgbm90aWZpY2F0aW9ucyB3aWxsIGJlIGRpc3BsYXllZCBoZXJlLiBUaGV5XG4gICAgICAgIGFyZSB3cmFwcGVkIHdpdGhpbiBhIHdyYXBwZXIgd2hpY2ggc2VwYXJhdGVzIHRoZW0uXG4gICAgLS0+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaXRlbS13cmFwcGVyXCI+XG4gICAgICAgIDxiYi1ub3RpZmljYXRpb25zLWl0ZW0gW25vdGlmaWNhdGlvbl09XCJub3RpZmljYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNtaXNzQnV0dG9uVGV4dF09XCJkYXRhPy5kaXNtaXNzVGV4dFwiPlxuICAgICAgICA8L2JiLW5vdGlmaWNhdGlvbnMtaXRlbT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -17,10 +17,10 @@ export class NotificationsModule {
17
17
  };
18
18
  }
19
19
  }
20
- NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.4", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] });
22
- NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: NotificationsModule, decorators: [{
20
+ NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] });
22
+ NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NotificationsModule, decorators: [{
24
24
  type: NgModule,
25
25
  args: [{
26
26
  imports: [CommonModule, LocalizeModule],
@@ -5,7 +5,7 @@ import { NotificationsInjector } from './notifications.injector';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import { share } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "@bravobit/bb-foundation";
8
+ import * as i1 from "@angular/cdk/platform";
9
9
  import * as i2 from "@bravobit/bb-foundation/localize";
10
10
  import * as i3 from "./notifications.interfaces";
11
11
  export class Notifications {
@@ -133,13 +133,13 @@ export class Notifications {
133
133
  }
134
134
  }
135
135
  }
136
- Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Notifications, deps: [{ token: i0.Injector }, { token: i1.Platform }, { token: i0.ApplicationRef }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
137
- Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Notifications });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Notifications, decorators: [{
136
+ Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Notifications, deps: [{ token: i0.Injector }, { token: i1.Platform }, { token: i0.ApplicationRef }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
137
+ Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Notifications });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Notifications, decorators: [{
139
139
  type: Injectable
140
140
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Platform }, { type: i0.ApplicationRef }, { type: i2.Localize, decorators: [{
141
141
  type: Optional
142
142
  }] }, { type: i3.NotificationsConfig, decorators: [{
143
143
  type: Optional
144
144
  }] }, { type: i0.ComponentFactoryResolver }]; } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxxQkFBcUIsRUFFckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUdyQyxNQUFNLE9BQU8sYUFBYTtJQWdCdEIsWUFBb0IsU0FBbUIsRUFDbkIsU0FBbUIsRUFDbkIsZUFBK0IsRUFDbkIsU0FBbUIsRUFDbkIsT0FBNEIsRUFDeEMseUJBQW1EO1FBTG5ELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUN4Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBUnZFLHlDQUF5QztRQUNqQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztRQStJMUQsZ0JBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxZQUFpQixFQUFFLEVBQUU7WUFDdkQsT0FBTyxPQUFPLFFBQVEsS0FBSyxXQUFXO2dCQUNsQyxD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UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFN0UsbUNBQW1DO1FBQ25DLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyx5QkFBeUI7YUFDckMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUM7YUFDNUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFbkMsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFNUMsaURBQWlEO1FBQ2pELGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBRUQsSUFBSTtZQUNBLGlDQUFpQztZQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvRDtRQUFDLE1BQU07WUFDSixnREFBZ0Q7U0FDbkQ7SUFDTCxDQUFDOzswR0EzSlEsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQW9CTSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgT3B0aW9uYWwsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE5vdGlmaWNhdGlvbixcbiAgICBOb3RpZmljYXRpb25BY3Rpb24sXG4gICAgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLFxuICAgIE5vdGlmaWNhdGlvbnNDb25maWcsXG4gICAgTm90aWZpY2F0aW9uVHlwZSxcbiAgICBOb3RpZmljYXRpb25zRGF0YVxufSBmcm9tICcuL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25zSW5qZWN0b3J9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbmplY3Rvcic7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3NoYXJlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zIHtcblxuICAgIC8vIFJlZmVyZW5jZSB0byB0aGUgbGlzdC5cbiAgICBwcml2YXRlIF9yZWY6IENvbXBvbmVudFJlZjxCYk5vdGlmaWNhdGlvbnNMaXN0PjtcblxuICAgIC8vIFRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TW9kZTogJ3ByZXBlbmQnIHwgJ2FwcGVuZCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFRpbWVvdXQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TG9jYWxpemU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3M6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3NUZXh0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFBvc2l0aW9uOiBOb3RpZmljYXRpb25zUG9zaXRpb247XG5cbiAgICAvLyBUaGUgZGF0YSBjb250YWluaW5nIHRoZSBub3RpZmljYXRpb25zLlxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb3RpZmljYXRpb25bXT4oW10pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9hcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU6IExvY2FsaXplLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbmZpZzogTm90aWZpY2F0aW9uc0NvbmZpZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xuICAgICAgICAvLyBHZXQgdGhlIGNvbmZpZy5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5fY29uZmlnIHx8IHt9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgY29uZmlnLlxuICAgICAgICB0aGlzLl9kZWZhdWx0TW9kZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLm1vZGUsICdwcmVwZW5kJyk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRUaW1lb3V0ID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcudGltZW91dCwgODAwMCk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmxvY2FsaXplLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcuZGlzbWlzcywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmRpc21pc3NUZXh0LCAnRGlzbWlzcycpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0UG9zaXRpb24gPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5wb3NpdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLlRvcFJpZ2h0KTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGVsZW1lbnQgdGhhdCBob2xkcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgc3VjY2Vzcyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3N9KTtcbiAgICB9XG5cbiAgICBlcnJvcihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkVycm9yfSk7XG4gICAgfVxuXG4gICAgd2Fybihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm5pbmd9KTtcbiAgICB9XG5cbiAgICBpbmZvKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuSW5mb30pO1xuICAgIH1cblxuICAgIGNyZWF0ZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBDb21wb3NlIGEgbmV3IG5vdGlmaWNhdGlvbiBpdGVtLlxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb21wb3NlKG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBkZXN0cm95IGZ1bmN0aW9uIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIGl0ZW0uZGVzdHJveSA9ICgpID0+IHRoaXMucHVsbChpdGVtKTtcblxuICAgICAgICAvLyBBZGQgdGhlIG5vdGlmaWNhdGlvbiB0byB0aGUgbGlzdFxuICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBpdGVtLlxuICAgICAgICByZXR1cm4gdGhpcy5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVzaChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3Qgb2xkTGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkLmdldFZhbHVlKCk7XG5cbiAgICAgICAgLy8gQ2hlY2sgd2hpY2ggbW9kZSBpcyBhY3RpdmF0ZWQuXG4gICAgICAgIGxldCBuZXdMaXN0OiBOb3RpZmljYXRpb25bXTtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9kZWZhdWx0TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnYXBwZW5kJzpcbiAgICAgICAgICAgICAgICBuZXdMaXN0ID0gWy4uLm9sZExpc3QsIG5vdGlmaWNhdGlvbl07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdwcmVwZW5kJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbmV3TGlzdCA9IFtub3RpZmljYXRpb24sIC4uLm9sZExpc3RdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHVzaCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQobmV3TGlzdCk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBub3RpZmljYXRpb24gZm9yIGZ1cnRoZXIgdXNlLlxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVsbChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3QgbmV3TGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkXG4gICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XG5cbiAgICAgICAgLy8gUHVzaCBhIG5ldyBsaXN0LlxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KG5ld0xpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBBdHRhY2ggYSByYW5kb20gaWQgdG8gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgbm90aWZpY2F0aW9uLmlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDEwKTtcblxuICAgICAgICAvLyBTZXQgYWxsIHByb3BlcnRpZXMuXG4gICAgICAgIG5vdGlmaWNhdGlvbi50eXBlID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24udHlwZSwgTm90aWZpY2F0aW9uVHlwZS5DdXN0b20pO1xuICAgICAgICBub3RpZmljYXRpb24uY29udGVudCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmNvbnRlbnQsIG51bGwpO1xuICAgICAgICBub3RpZmljYXRpb24uZGF0YSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRhdGEsIHt9KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnRpbWVvdXQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi50aW1lb3V0LCB0aGlzLl9kZWZhdWx0VGltZW91dCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5sb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmxvY2FsaXplLCB0aGlzLl9kZWZhdWx0TG9jYWxpemUpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzcyA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3MsIHRoaXMuX2RlZmF1bHREaXNtaXNzKTtcblxuICAgICAgICAvLyBEaXNtaXNzIHRleHQgbG9jYWxpemF0aW9uLlxuICAgICAgICBjb25zdCBkaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3NUZXh0LCB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzc1RleHQgPSB0aGlzLl9kZWZhdWx0TG9jYWxpemUgJiYgdGhpcy5fbG9jYWxpemVcbiAgICAgICAgICAgID8gdGhpcy5fbG9jYWxpemUudHJhbnNsYXRlKGRpc21pc3NUZXh0KVxuICAgICAgICAgICAgOiBkaXNtaXNzVGV4dDtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbXBvc2VkIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUVsZW1lbnQoKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG1hcCB3aXRoIHRoZSBjb25maWcuXG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICAgIG1hcC5zZXQoTm90aWZpY2F0aW9uc0RhdGEsIHtcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuX25vdGlmaWNhdGlvbnMkLnBpcGUoc2hhcmUoKSksXG4gICAgICAgICAgICBkaXNtaXNzVGV4dDogdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0LFxuICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuX2RlZmF1bHRQb3NpdGlvblxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBjdXN0b20gaW5qZWN0b3IuXG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbnNJbmplY3RvciA9IG5ldyBOb3RpZmljYXRpb25zSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG1hcCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBub3RpZmljYXRpb24gbGlzdCBhbmRcbiAgICAgICAgLy8gZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQuXG4gICAgICAgIHRoaXMuX3JlZiA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEJiTm90aWZpY2F0aW9uc0xpc3QpXG4gICAgICAgICAgICAuY3JlYXRlKG5vdGlmaWNhdGlvbnNJbmplY3Rvcik7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHRoZSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLl9yZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8vIEF0dGFjaCB0aGUgY29tcG9uZW50J3MgdmlldyB0byB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgLy8gc28gdGhhdCB0aGUgY2hhbmdlIGRldGVjdGlvbiB3aWxsIHJ1biBwcm9wZXJseS5cbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLl9yZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIC8vIElmIHRoZSBwbGF0Zm9ybSBpcyBub3QgYSBicm93c2VyIHJldHVybi5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGVsZW1lbnQgdG8gdGhlIERPTS5cbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nLCBiZWNhdXNlIGl0IG11c3QndmUgZmFpbGVkLlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wZXJ0eSA9IChwcm9wZXJ0eTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5ID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBkZWZhdWx0VmFsdWVcbiAgICAgICAgICAgIDogcHJvcGVydHk7XG4gICAgfTtcblxufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxxQkFBcUIsRUFFckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUdyQyxNQUFNLE9BQU8sYUFBYTtJQWdCdEIsWUFBb0IsU0FBbUIsRUFDbkIsU0FBbUIsRUFDbkIsZUFBK0IsRUFDbkIsU0FBbUIsRUFDbkIsT0FBNEIsRUFDeEMseUJBQW1EO1FBTG5ELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUN4Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBUnZFLHlDQUF5QztRQUNqQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztRQStJMUQsZ0JBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxZQUFpQixFQUFFLEVBQUU7WUFDdkQsT0FBTyxPQUFPLFFBQVEsS0FBSyxXQUFXO2dCQUNsQyxD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UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFN0UsbUNBQW1DO1FBQ25DLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyx5QkFBeUI7YUFDckMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUM7YUFDNUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFbkMsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFNUMsaURBQWlEO1FBQ2pELGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBRUQsSUFBSTtZQUNBLGlDQUFpQztZQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvRDtRQUFDLE1BQU07WUFDSixnREFBZ0Q7U0FDbkQ7SUFDTCxDQUFDOzswR0EzSlEsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQW9CTSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgT3B0aW9uYWwsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE5vdGlmaWNhdGlvbixcbiAgICBOb3RpZmljYXRpb25BY3Rpb24sXG4gICAgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLFxuICAgIE5vdGlmaWNhdGlvbnNDb25maWcsXG4gICAgTm90aWZpY2F0aW9uVHlwZSxcbiAgICBOb3RpZmljYXRpb25zRGF0YVxufSBmcm9tICcuL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25zSW5qZWN0b3J9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbmplY3Rvcic7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzaGFyZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9ucyB7XG5cbiAgICAvLyBSZWZlcmVuY2UgdG8gdGhlIGxpc3QuXG4gICAgcHJpdmF0ZSBfcmVmOiBDb21wb25lbnRSZWY8QmJOb3RpZmljYXRpb25zTGlzdD47XG5cbiAgICAvLyBUaGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgdGhlIG5vdGlmaWNhdGlvbnMuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdE1vZGU6ICdwcmVwZW5kJyB8ICdhcHBlbmQnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRUaW1lb3V0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdExvY2FsaXplOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHREaXNtaXNzOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHREaXNtaXNzVGV4dDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRQb3NpdGlvbjogTm90aWZpY2F0aW9uc1Bvc2l0aW9uO1xuXG4gICAgLy8gVGhlIGRhdGEgY29udGFpbmluZyB0aGUgbm90aWZpY2F0aW9ucy5cbiAgICBwcml2YXRlIF9ub3RpZmljYXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uW10+KFtdKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2xvY2FsaXplOiBMb2NhbGl6ZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb25maWc6IE5vdGlmaWNhdGlvbnNDb25maWcsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBjb25maWcuXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuX2NvbmZpZyB8fCB7fTtcblxuICAgICAgICAvLyBTZXQgdGhlIGNvbmZpZy5cbiAgICAgICAgdGhpcy5fZGVmYXVsdE1vZGUgPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5tb2RlLCAncHJlcGVuZCcpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0VGltZW91dCA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLnRpbWVvdXQsIDgwMDApO1xuICAgICAgICB0aGlzLl9kZWZhdWx0TG9jYWxpemUgPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5sb2NhbGl6ZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0RGlzbWlzcyA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmRpc21pc3MsIHRydWUpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQgPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5kaXNtaXNzVGV4dCwgJ0Rpc21pc3MnKTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFBvc2l0aW9uID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcucG9zaXRpb24sIE5vdGlmaWNhdGlvbnNQb3NpdGlvbi5Ub3BSaWdodCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBlbGVtZW50IHRoYXQgaG9sZHMgYWxsIG5vdGlmaWNhdGlvbnMuXG4gICAgICAgIHRoaXMuY3JlYXRlRWxlbWVudCgpO1xuICAgIH1cblxuICAgIHN1Y2Nlc3MoY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgYWN0aW9uczogTm90aWZpY2F0aW9uQWN0aW9uW10gPSBbXSwgdGltZW91dCA9IHRoaXMuX2RlZmF1bHRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7Y29udGVudCwgdGltZW91dCwgYWN0aW9ucywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5TdWNjZXNzfSk7XG4gICAgfVxuXG4gICAgZXJyb3IoY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgYWN0aW9uczogTm90aWZpY2F0aW9uQWN0aW9uW10gPSBbXSwgdGltZW91dCA9IHRoaXMuX2RlZmF1bHRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7Y29udGVudCwgdGltZW91dCwgYWN0aW9ucywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5FcnJvcn0pO1xuICAgIH1cblxuICAgIHdhcm4oY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgYWN0aW9uczogTm90aWZpY2F0aW9uQWN0aW9uW10gPSBbXSwgdGltZW91dCA9IHRoaXMuX2RlZmF1bHRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7Y29udGVudCwgdGltZW91dCwgYWN0aW9ucywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5XYXJuaW5nfSk7XG4gICAgfVxuXG4gICAgaW5mbyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkluZm99KTtcbiAgICB9XG5cbiAgICBjcmVhdGUobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pIHtcbiAgICAgICAgLy8gQ29tcG9zZSBhIG5ldyBub3RpZmljYXRpb24gaXRlbS5cbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29tcG9zZShub3RpZmljYXRpb24pO1xuXG4gICAgICAgIC8vIEFkZCB0aGUgZGVzdHJveSBmdW5jdGlvbiB0byB0aGUgbm90aWZpY2F0aW9uLlxuICAgICAgICBpdGVtLmRlc3Ryb3kgPSAoKSA9PiB0aGlzLnB1bGwoaXRlbSk7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBub3RpZmljYXRpb24gdG8gdGhlIGxpc3RcbiAgICAgICAgLy8gYW5kIHJldHVybiB0aGUgaXRlbS5cbiAgICAgICAgcmV0dXJuIHRoaXMucHVzaChpdGVtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHB1c2gobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pIHtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGxpc3QuXG4gICAgICAgIGNvbnN0IG9sZExpc3QgPSB0aGlzLl9ub3RpZmljYXRpb25zJC5nZXRWYWx1ZSgpO1xuXG4gICAgICAgIC8vIENoZWNrIHdoaWNoIG1vZGUgaXMgYWN0aXZhdGVkLlxuICAgICAgICBsZXQgbmV3TGlzdDogTm90aWZpY2F0aW9uW107XG4gICAgICAgIHN3aXRjaCAodGhpcy5fZGVmYXVsdE1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FwcGVuZCc6XG4gICAgICAgICAgICAgICAgbmV3TGlzdCA9IFsuLi5vbGRMaXN0LCBub3RpZmljYXRpb25dO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncHJlcGVuZCc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG5ld0xpc3QgPSBbbm90aWZpY2F0aW9uLCAuLi5vbGRMaXN0XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyBub3RpZmljYXRpb25zLlxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KG5ld0xpc3QpO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgbm90aWZpY2F0aW9uIGZvciBmdXJ0aGVyIHVzZS5cbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHB1bGwobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pIHtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGxpc3QuXG4gICAgICAgIGNvbnN0IG5ld0xpc3QgPSB0aGlzLl9ub3RpZmljYXRpb25zJFxuICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBub3RpZmljYXRpb24uaWQpO1xuXG4gICAgICAgIC8vIFB1c2ggYSBuZXcgbGlzdC5cbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucyQubmV4dChuZXdMaXN0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXBvc2Uobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pIHtcbiAgICAgICAgLy8gQXR0YWNoIGEgcmFuZG9tIGlkIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIG5vdGlmaWNhdGlvbi5pZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCAxMCk7XG5cbiAgICAgICAgLy8gU2V0IGFsbCBwcm9wZXJ0aWVzLlxuICAgICAgICBub3RpZmljYXRpb24udHlwZSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLnR5cGUsIE5vdGlmaWNhdGlvblR5cGUuQ3VzdG9tKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmNvbnRlbnQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi5jb250ZW50LCBudWxsKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmRhdGEgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi5kYXRhLCB7fSk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi50aW1lb3V0ID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24udGltZW91dCwgdGhpcy5fZGVmYXVsdFRpbWVvdXQpO1xuICAgICAgICBub3RpZmljYXRpb24ubG9jYWxpemUgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi5sb2NhbGl6ZSwgdGhpcy5fZGVmYXVsdExvY2FsaXplKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmRpc21pc3MgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi5kaXNtaXNzLCB0aGlzLl9kZWZhdWx0RGlzbWlzcyk7XG5cbiAgICAgICAgLy8gRGlzbWlzcyB0ZXh0IGxvY2FsaXphdGlvbi5cbiAgICAgICAgY29uc3QgZGlzbWlzc1RleHQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi5kaXNtaXNzVGV4dCwgdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmRpc21pc3NUZXh0ID0gdGhpcy5fZGVmYXVsdExvY2FsaXplICYmIHRoaXMuX2xvY2FsaXplXG4gICAgICAgICAgICA/IHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZShkaXNtaXNzVGV4dClcbiAgICAgICAgICAgIDogZGlzbWlzc1RleHQ7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBjb21wb3NlZCBub3RpZmljYXRpb24uXG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVFbGVtZW50KCkge1xuICAgICAgICAvLyBDcmVhdGUgYSBtYXAgd2l0aCB0aGUgY29uZmlnLlxuICAgICAgICBjb25zdCBtYXAgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICBtYXAuc2V0KE5vdGlmaWNhdGlvbnNEYXRhLCB7XG4gICAgICAgICAgICBkYXRhOiB0aGlzLl9ub3RpZmljYXRpb25zJC5waXBlKHNoYXJlKCkpLFxuICAgICAgICAgICAgZGlzbWlzc1RleHQ6IHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLl9kZWZhdWx0UG9zaXRpb25cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgY3VzdG9tIGluamVjdG9yLlxuICAgICAgICBjb25zdCBub3RpZmljYXRpb25zSW5qZWN0b3IgPSBuZXcgTm90aWZpY2F0aW9uc0luamVjdG9yKHRoaXMuX2luamVjdG9yLCBtYXApO1xuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgbm90aWZpY2F0aW9uIGxpc3QgYW5kXG4gICAgICAgIC8vIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICAgICAgICB0aGlzLl9yZWYgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShCYk5vdGlmaWNhdGlvbnNMaXN0KVxuICAgICAgICAgICAgLmNyZWF0ZShub3RpZmljYXRpb25zSW5qZWN0b3IpO1xuXG4gICAgICAgIC8vIERldGVjdCB0aGUgY2hhbmdlcy5cbiAgICAgICAgdGhpcy5fcmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAvLyBBdHRhY2ggdGhlIGNvbXBvbmVudCdzIHZpZXcgdG8gdGhlIGFwcGxpY2F0aW9uXG4gICAgICAgIC8vIHNvIHRoYXQgdGhlIGNoYW5nZSBkZXRlY3Rpb24gd2lsbCBydW4gcHJvcGVybHkuXG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcodGhpcy5fcmVmLmhvc3RWaWV3KTtcblxuICAgICAgICAvLyBJZiB0aGUgcGxhdGZvcm0gaXMgbm90IGEgYnJvd3NlciByZXR1cm4uXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBlbGVtZW50IHRvIHRoZSBET00uXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3JlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBEb24ndCBkbyBhbnl0aGluZywgYmVjYXVzZSBpdCBtdXN0J3ZlIGZhaWxlZC5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcGVydHkgPSAocHJvcGVydHk6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgID8gZGVmYXVsdFZhbHVlXG4gICAgICAgICAgICA6IHByb3BlcnR5O1xuICAgIH07XG5cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  /*
2
2
  * Public API Surface of bb-foundation
3
3
  */
4
- export * from './lib/core/services/platform.service';
5
4
  export * from './lib/core/services/image-converter.service';
6
5
  export * from './lib/core/services/file-loader.service';
7
6
  export * from './lib/core/services/languages.service';
@@ -26,4 +25,4 @@ export * from './lib/core/tokens/navigator.token';
26
25
  export * from './lib/core/tokens/location.token';
27
26
  export * from './lib/core/miscellaneous/regex';
28
27
  export * from './lib/core/miscellaneous/validator';
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBiYi1mb3VuZGF0aW9uXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvaW1hZ2UtY29udmVydGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9maWxlLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvbGFuZ3VhZ2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9wYXRjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvZXhpZi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvY2xpcGJvYXJkLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jb25zdHJ1Y3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jYW4tZGlzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jYW4tbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9oYXMtZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9taXhpbnMvY2FuLWhpZGUtZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbWl4aW5zL2lzLWZvY3VzZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9taXhpbnMvaXMtZ3JvdXBlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9pcy1yZWFkb25seSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9pcy1yZXF1aXJlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL2Jhc2UtdXJsLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL2FjY2VwdC1sYW5ndWFnZS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3Rva2Vucy9jb29raWUudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS90b2tlbnMvd2luZG93LnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL25hdmlnYXRvci50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3Rva2Vucy9sb2NhdGlvbi50b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbWlzY2VsbGFuZW91cy9yZWdleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21pc2NlbGxhbmVvdXMvdmFsaWRhdG9yJztcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYmItZm91bmRhdGlvblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvaW1hZ2UtY29udmVydGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9maWxlLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvbGFuZ3VhZ2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9wYXRjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvZXhpZi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMvY2xpcGJvYXJkLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jb25zdHJ1Y3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jYW4tZGlzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9jYW4tbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9oYXMtZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9taXhpbnMvY2FuLWhpZGUtZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbWl4aW5zL2lzLWZvY3VzZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9taXhpbnMvaXMtZ3JvdXBlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9pcy1yZWFkb25seSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21peGlucy9pcy1yZXF1aXJlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL2Jhc2UtdXJsLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL2FjY2VwdC1sYW5ndWFnZS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3Rva2Vucy9jb29raWUudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS90b2tlbnMvd2luZG93LnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdG9rZW5zL25hdmlnYXRvci50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3Rva2Vucy9sb2NhdGlvbi50b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbWlzY2VsbGFuZW91cy9yZWdleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21pc2NlbGxhbmVvdXMvdmFsaWRhdG9yJztcbiJdfQ==
@@ -133,15 +133,15 @@ export class RecaptchaComponent extends BbRecaptchaMixinBase {
133
133
  this.badge = this.badge ?? this._config?.badge;
134
134
  }
135
135
  }
136
- RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.RecaptchaLoader }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
- RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.4", type: RecaptchaComponent, selector: "bb-recaptcha", inputs: { grouped: "grouped", id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode" }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
136
+ RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.RecaptchaLoader }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
+ RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: RecaptchaComponent, selector: "bb-recaptcha", inputs: { grouped: "grouped", id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode" }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
138
138
  {
139
139
  provide: NG_VALUE_ACCESSOR,
140
140
  useExisting: forwardRef(() => RecaptchaComponent),
141
141
  multi: true
142
142
  }
143
143
  ], exportAs: ["bbRecaptcha"], usesInheritance: true, ngImport: i0, template: "", styles: [".bb-recaptcha{display:block}.bb-recaptcha.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaComponent, decorators: [{
145
145
  type: Component,
146
146
  args: [{ selector: 'bb-recaptcha', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'bbRecaptcha', providers: [
147
147
  {
@@ -3,13 +3,13 @@ import { RECAPTCHA_CONFIG } from './recaptcha.interface';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@bravobit/bb-foundation";
6
+ import * as i1 from "@angular/cdk/platform";
7
7
  export class RecaptchaLoader {
8
- constructor(_platform, _renderFactory, _document, _localeId, _config) {
8
+ constructor(_platform, _renderFactory, _localeId, _document, _config) {
9
9
  this._platform = _platform;
10
10
  this._renderFactory = _renderFactory;
11
- this._document = _document;
12
11
  this._localeId = _localeId;
12
+ this._document = _document;
13
13
  this._config = _config;
14
14
  // Ready state.
15
15
  this.ready$ = null;
@@ -67,24 +67,24 @@ export class RecaptchaLoader {
67
67
  .join('&');
68
68
  }
69
69
  }
70
- RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaLoader, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: DOCUMENT, optional: true }, { token: LOCALE_ID, optional: true }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
71
- RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaLoader });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaLoader, decorators: [{
70
+ RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaLoader, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: LOCALE_ID, optional: true }, { token: DOCUMENT, optional: true }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
71
+ RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaLoader });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaLoader, decorators: [{
73
73
  type: Injectable
74
74
  }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.RendererFactory2 }, { type: undefined, decorators: [{
75
75
  type: Optional
76
76
  }, {
77
77
  type: Inject,
78
- args: [DOCUMENT]
79
- }] }, { type: undefined, decorators: [{
78
+ args: [LOCALE_ID]
79
+ }] }, { type: Document, decorators: [{
80
80
  type: Optional
81
81
  }, {
82
82
  type: Inject,
83
- args: [LOCALE_ID]
83
+ args: [DOCUMENT]
84
84
  }] }, { type: undefined, decorators: [{
85
85
  type: Optional
86
86
  }, {
87
87
  type: Inject,
88
88
  args: [RECAPTCHA_CONFIG]
89
89
  }] }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9yZWNhcHRjaGEvc3JjL2xpYi9yZWNhcHRjaGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHckMsTUFBTSxPQUFPLGVBQWU7SUFTeEIsWUFBb0IsU0FBbUIsRUFDbkIsY0FBZ0MsRUFDRixTQUFlLEVBQ2QsU0FBa0IsRUFDWCxPQUF5QjtRQUovRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNGLGNBQVMsR0FBVCxTQUFTLENBQU07UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ1gsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFYbkYsZUFBZTtRQUNOLFdBQU0sR0FBeUQsSUFBSSxDQUFDO1FBRTdFLFFBQVE7UUFDUyxrQkFBYSxHQUFXLGlCQUFpQixDQUFDO1FBQzFDLGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBT2hELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVoRSx1Q0FBdUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBK0Is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MEJBQzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIExPQ0FMRV9JRCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5Mn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JFQ0FQVENIQV9DT05GSUcsIFJlY2FwdGNoYUNvbmZpZ30gZnJvbSAnLi9yZWNhcHRjaGEuaW50ZXJmYWNlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWNhcHRjaGFMb2FkZXIge1xuXG4gICAgLy8gUmVhZHkgc3RhdGUuXG4gICAgcmVhZG9ubHkgcmVhZHkkOiBCZWhhdmlvclN1YmplY3Q8UmVDYXB0Y2hhVjIuUmVDYXB0Y2hhIHwgbnVsbD4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfd2luZG93TG9hZEZuOiBzdHJpbmcgPSAnYmJSZWNhcHRjaGFMb2FkJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudD86IGFueSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlSWQ/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChSRUNBUFRDSEFfQ09ORklHKSBwcml2YXRlIF9jb25maWc/OiBSZWNhcHRjaGFDb25maWcpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgcmVuZGVyZXIuXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyID0gdGhpcy5fcmVuZGVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcblxuICAgICAgICAvLyBTZXQgdGhlIHJlYWR5IHN1YmplY3QgaWYgbm90IGV4aXN0cy5cbiAgICAgICAgaWYgKHRoaXMucmVhZHkkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWFkeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlQ2FwdGNoYVYyLlJlQ2FwdGNoYSB8IG51bGw+KG51bGwpO1xuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0LlxuICAgICAgICB0aGlzLmNyZWF0ZVNjcmlwdChjYXB0Y2hhID0+IHRoaXMucmVhZHkkLm5leHQoY2FwdGNoYSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2NyaXB0KGNhbGxiYWNrOiAoZ3JlY2FwdGNoYTogUmVDYXB0Y2hhVjIuUmVDYXB0Y2hhKSA9PiB2b2lkKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHdlIGFyZSBvbiBhIGJyb3dzZXIuXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGUgdGhlIHNjcmlwdC5cbiAgICAgICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICAgICAgLy8gU2V0IHByb3BlcnRpZXMgb24gdGhlIHNjcmlwdC5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoc2NyaXB0LCAnc3JjJywgdGhpcy5nZXRVcmwoKSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHNjcmlwdCwgJ2FzeW5jJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHNjcmlwdCwgJ2RlZmVyJywgdHJ1ZSk7XG5cbiAgICAgICAgLy8gU2V0IHRoZSBub25jZS5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5ub25jZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHNjcmlwdCwgJ25vbmNlJywgdGhpcy5fY29uZmlnLm5vbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgbG9hZGluZyBmdW5jdGlvbi5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgd2luZG93W3RoaXMuX3dpbmRvd0xvYWRGbl0gPSAoKSA9PiBjYWxsYmFjayhncmVjYXB0Y2hhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IHRhZy5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZG9jdW1lbnQ/LmJvZHksIHNjcmlwdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVcmwoKSB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLl9jb25maWc/LmJhc2VVcmwgPz8gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcyc7XG4gICAgICAgIHJldHVybiBbYmFzZVVybCwgdGhpcy5nZXRRdWVyeVBhcmFtcygpXVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcbiAgICAgICAgICAgIC5qb2luKCc/Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRRdWVyeVBhcmFtcygpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgcmVuZGVyOiAnZXhwbGljaXQnLFxuICAgICAgICAgICAgb25sb2FkOiB0aGlzLl93aW5kb3dMb2FkRm4gPz8gbnVsbCxcbiAgICAgICAgICAgIGhsOiB0aGlzLl9sb2NhbGVJZCA/PyBudWxsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgICAgICAgIC5tYXAoa2V5ID0+ICh7a2V5LCB2YWx1ZTogcGFyYW1zW2tleV19KSlcbiAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhIWl0ZW0udmFsdWUpXG4gICAgICAgICAgICAubWFwKGl0ZW0gPT4gYCR7aXRlbT8ua2V5fT0ke2l0ZW0/LnZhbHVlfWApXG4gICAgICAgICAgICAuam9pbignJicpO1xuICAgIH1cblxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYXB0Y2hhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9yZWNhcHRjaGEvc3JjL2xpYi9yZWNhcHRjaGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHckMsTUFBTSxPQUFPLGVBQWU7SUFTeEIsWUFBb0IsU0FBbUIsRUFDbkIsY0FBZ0MsRUFDRCxTQUFrQixFQUNuQixTQUFvQixFQUNaLE9BQXlCO1FBSi9ELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ0QsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFYbkYsZUFBZTtRQUNOLFdBQU0sR0FBeUQsSUFBSSxDQUFDO1FBRTdFLFFBQVE7UUFDUyxrQkFBYSxHQUFXLGlCQUFpQixDQUFDO1FBQzFDLGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBT2hELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVoRSx1Q0FBdUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBK0IsSUFBSSxDQUFDLENBQUM7UUFFdEUscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxZQUFZLENBQUMsUUFBcUQ7UUFDdEUsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFFRCxxQkFBcUI7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEQsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxELGlCQUFpQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRTtRQUVELDRCQUE0QjtRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO1FBRUQseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxNQUFNO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUkseUNBQXlDLENBQUM7UUFDbkYsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsTUFBTSxNQUFNLEdBQUc7WUFDWCxNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJO1lBQ2xDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUk7U0FDN0IsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQzthQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOzs0R0ExRVEsZUFBZSwwRUFXUSxTQUFTLDZCQUNULFFBQVEsNkJBQ1IsZ0JBQWdCO2dIQWJ2QyxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVlNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUzs4QkFDcUIsUUFBUTswQkFBekQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzswQkFDM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTE9DQUxFX0lELCBPcHRpb25hbCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UkVDQVBUQ0hBX0NPTkZJRywgUmVjYXB0Y2hhQ29uZmlnfSBmcm9tICcuL3JlY2FwdGNoYS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWNhcHRjaGFMb2FkZXIge1xuXG4gICAgLy8gUmVhZHkgc3RhdGUuXG4gICAgcmVhZG9ubHkgcmVhZHkkOiBCZWhhdmlvclN1YmplY3Q8UmVDYXB0Y2hhVjIuUmVDYXB0Y2hhIHwgbnVsbD4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfd2luZG93TG9hZEZuOiBzdHJpbmcgPSAnYmJSZWNhcHRjaGFMb2FkJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlSWQ/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ/OiBEb2N1bWVudCxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFQ0FQVENIQV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZz86IFJlY2FwdGNoYUNvbmZpZykge1xuICAgICAgICAvLyBDcmVhdGUgYSByZW5kZXJlci5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIgPSB0aGlzLl9yZW5kZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuXG4gICAgICAgIC8vIFNldCB0aGUgcmVhZHkgc3ViamVjdCBpZiBub3QgZXhpc3RzLlxuICAgICAgICBpZiAodGhpcy5yZWFkeSQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVDYXB0Y2hhVjIuUmVDYXB0Y2hhIHwgbnVsbD4obnVsbCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBzY3JpcHQuXG4gICAgICAgIHRoaXMuY3JlYXRlU2NyaXB0KGNhcHRjaGEgPT4gdGhpcy5yZWFkeSQubmV4dChjYXB0Y2hhKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTY3JpcHQoY2FsbGJhY2s6IChncmVjYXB0Y2hhOiBSZUNhcHRjaGFWMi5SZUNhcHRjaGEpID0+IHZvaWQpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgd2UgYXJlIG9uIGEgYnJvd3Nlci5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0LlxuICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAgICAgICAvLyBTZXQgcHJvcGVydGllcyBvbiB0aGUgc2NyaXB0LlxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShzY3JpcHQsICdzcmMnLCB0aGlzLmdldFVybCgpKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoc2NyaXB0LCAnYXN5bmMnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoc2NyaXB0LCAnZGVmZXInLCB0cnVlKTtcblxuICAgICAgICAvLyBTZXQgdGhlIG5vbmNlLlxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLm5vbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc2NyaXB0LCAnbm9uY2UnLCB0aGlzLl9jb25maWcubm9uY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSBsb2FkaW5nIGZ1bmN0aW9uLlxuICAgICAgICBpZiAodGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB3aW5kb3dbdGhpcy5fd2luZG93TG9hZEZuXSA9ICgpID0+IGNhbGxiYWNrKGdyZWNhcHRjaGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwZW5kIHRoZSBzY3JpcHQgdGFnLlxuICAgICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9kb2N1bWVudD8uYm9keSwgc2NyaXB0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVybCgpIHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuX2NvbmZpZz8uYmFzZVVybCA/PyAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9yZWNhcHRjaGEvYXBpLmpzJztcbiAgICAgICAgcmV0dXJuIFtiYXNlVXJsLCB0aGlzLmdldFF1ZXJ5UGFyYW1zKCldXG4gICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKVxuICAgICAgICAgICAgLmpvaW4oJz8nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1ZXJ5UGFyYW1zKCkge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICByZW5kZXI6ICdleHBsaWNpdCcsXG4gICAgICAgICAgICBvbmxvYWQ6IHRoaXMuX3dpbmRvd0xvYWRGbiA/PyBudWxsLFxuICAgICAgICAgICAgaGw6IHRoaXMuX2xvY2FsZUlkID8/IG51bGxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgICAgICAgLm1hcChrZXkgPT4gKHtrZXksIHZhbHVlOiBwYXJhbXNba2V5XX0pKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbS52YWx1ZSlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBgJHtpdGVtPy5rZXl9PSR7aXRlbT8udmFsdWV9YClcbiAgICAgICAgICAgIC5qb2luKCcmJyk7XG4gICAgfVxuXG59XG4iXX0=
@@ -14,10 +14,10 @@ export class RecaptchaModule {
14
14
  };
15
15
  }
16
16
  }
17
- RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaModule, declarations: [RecaptchaComponent], exports: [RecaptchaComponent] });
19
- RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaModule });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: RecaptchaModule, decorators: [{
17
+ RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaModule, declarations: [RecaptchaComponent], exports: [RecaptchaComponent] });
19
+ RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaModule });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: RecaptchaModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  declarations: [RecaptchaComponent],
@@ -4,7 +4,7 @@ import { CookieStorage } from './strategies/cookie-storage.strategy';
4
4
  import { MemoryStorage } from './strategies/memory-storage.strategy';
5
5
  import { COOKIE } from '@bravobit/bb-foundation';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@bravobit/bb-foundation";
7
+ import * as i1 from "@angular/cdk/platform";
8
8
  export class Storage {
9
9
  constructor(_platform, _cookieString) {
10
10
  this._platform = _platform;
@@ -93,9 +93,9 @@ export class Storage {
93
93
  return this._strategies.memory;
94
94
  }
95
95
  }
96
- Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
97
- Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Storage, providedIn: 'root' });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Storage, decorators: [{
96
+ Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, providedIn: 'root' });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, decorators: [{
99
99
  type: Injectable,
100
100
  args: [{
101
101
  providedIn: 'root'
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImpor
106
106
  type: Inject,
107
107
  args: [COOKIE]
108
108
  }] }]; } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zdG9yYWdlL3NyYy9saWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLE1BQU0sRUFBVyxNQUFNLHlCQUF5QixDQUFDOzs7QUFLekQsTUFBTSxPQUFPLE9BQU87SUFRaEIsWUFBb0IsU0FBbUIsRUFDUyxhQUFzQjtRQURsRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1Msa0JBQWEsR0FBYixhQUFhLENBQVM7UUFKdEUscUNBQXFDO1FBQ3BCLGFBQVEsR0FBMkIsSUFBSSxDQUFDO1FBdUZqRCxvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUMzQixJQUFJO2dCQUNBLE9BQU8sQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3hFO1lBQUMsTUFBTTtnQkFDSixPQUFPLElBQUksQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDO1FBRU0sc0JBQWlCLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDMUU7WUFBQyxNQUFNO2dCQUNK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RDtRQUNwRCwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUNoRztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQzs7b0dBM0ZRLE9BQU8sMENBU2dCLE1BQU07d0dBVDdCLE9BQU8sY0FGSixNQUFNOzJGQUVULE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFVZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdG9yYWdlT3B0aW9uLCBTdG9yYWdlU3RyYXRlZ3l9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJhdGVneS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQb2x5ZmlsbFN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9wb2x5ZmlsbC1zdG9yYWdlLnN0cmF0ZWd5JztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZXN9IGZyb20gJy4vaW50ZXJmYWNlcy9hdHRyaWJ1dGVzLmludGVyZmFjZSc7XG5pbXBvcnQge0Nvb2tpZVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9jb29raWUtc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge01lbW9yeVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9tZW1vcnktc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge0NPT0tJRSwgUGxhdGZvcm19IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZVN0cmF0ZWd5IHtcblxuICAgIC8vIEFsbCBhdmFpbGFibGUgc3RyYXRlZ2llcyAoc29ydGVkIGJlc3QgdG8gbGFzdCkuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3RyYXRlZ2llczogeyBba2V5IGluIGAke1N0b3JhZ2VPcHRpb259YF06IFN0b3JhZ2VTdHJhdGVneSB9O1xuXG4gICAgLy8gQ3VycmVudCBzZWxlY3RlZCBzdG9yYWdlIHN0cmF0ZWd5LlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnQ6IFN0b3JhZ2VTdHJhdGVneSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ09PS0lFKSBwcml2YXRlIF9jb29raWVTdHJpbmc/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc3RyYXRlZ2llcyA9IHtcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkxvY2FsXTogbmV3IFBvbHlmaWxsU3RvcmFnZSh0aGlzLmdldExvY2FsU3RvcmFnZSgpKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkNvb2tpZV06IG5ldyBDb29raWVTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciwgdGhpcy5fY29va2llU3RyaW5nKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLlNlc3Npb25dOiBuZXcgUG9seWZpbGxTdG9yYWdlKHRoaXMuZ2V0U2Vzc2lvblN0b3JhZ2UoKSksXG4gICAgICAgICAgICBbU3RvcmFnZU9wdGlvbi5NZW1vcnldOiBuZXcgTWVtb3J5U3RvcmFnZSgpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fY3VycmVudCA9IHRoaXMuZmluZEJlc3RTdG9yYWdlU3RyYXRlZ3koKTtcbiAgICB9XG5cbiAgICBzZWxlY3Qob3B0aW9uOiBTdG9yYWdlT3B0aW9uIHwgU3RvcmFnZU9wdGlvbltdKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShvcHRpb24pID8gb3B0aW9uIDogW29wdGlvbl07XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zdHJhdGVnaWVzPy5baXRlbV0gPz8gbnVsbDtcbiAgICAgICAgICAgIGlmIChzdHJhdGVneSAmJiBzdHJhdGVneS5pc1N1cHBvcnRlZCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cmF0ZWd5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbHdheXMgcmV0dXJuIGFzIGEgZmFsbGJhY2sgdGhlIG1lbW9yeSBzdG9yYWdlIHNpbmNlIGl0IHNob3VsZCBiZSBhbHdheXMgYXZhaWxhYmxlLlxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgZ2V0IGxvY2FsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5sb2NhbDtcbiAgICB9XG5cbiAgICBnZXQgY29va2llKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5jb29raWU7XG4gICAgfVxuXG4gICAgZ2V0IHNlc3Npb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJhdGVnaWVzLnNlc3Npb247XG4gICAgfVxuXG4gICAgZ2V0IG1lbW9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmF0ZWdpZXMubWVtb3J5O1xuICAgIH1cblxuICAgIGdldDxUID0gYW55Pih0b2tlbjogc3RyaW5nKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50LmdldCh0b2tlbik7XG4gICAgfVxuXG4gICAgc2V0PFQgPSBhbnk+KHRva2VuOiBzdHJpbmcsIHZhbHVlOiBULCBhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5zZXQ8VD4odG9rZW4sIHZhbHVlLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICByZW1vdmUodG9rZW46IHN0cmluZywgYXR0cmlidXRlcz86IFN0b3JhZ2VBdHRyaWJ1dGVzKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnQucmVtb3ZlKHRva2VuLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBjbGVhcihhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5jbGVhcihhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBpc1N1cHBvcnRlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fY3VycmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRCZXN0U3RvcmFnZVN0cmF0ZWd5KCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIGF2YWlsYWJsZSBzdHJhdGVnaWVzIHRvIGZpbmQgdGhlIGJlc3QuXG4gICAgICAgIGZvciAoY29uc3QgdHlwZSBpbiB0aGlzLl9zdHJhdGVnaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX3N0cmF0ZWdpZXM/Llt0eXBlXTtcblxuICAgICAgICAgICAgLy8gVGhlIGZpcnN0IHN1cHBvcnRlZCBzdHJhdGVneSBpcyB0aGUgYmVzdC5cbiAgICAgICAgICAgIGlmIChzdHJhdGVneT8uaXNTdXBwb3J0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHJhdGVneTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIG5vIHN0cmF0ZWd5IHdhcyByZXR1cm5lZCB3ZSBmYWxsYmFjayB0byBtZW1vcnlcbiAgICAgICAgLy8gc3RvcmFnZSBzaW5jZSBpdCBzaG91bGQgYmUgYXZhaWxhYmxlIGFsd2F5cy5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSA/IHdpbmRvdz8ubG9jYWxTdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIGdldFNlc3Npb25TdG9yYWdlID0gKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3c/LnNlc3Npb25TdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbn1cbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zdG9yYWdlL3NyYy9saWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFbkUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFLL0MsTUFBTSxPQUFPLE9BQU87SUFRaEIsWUFBb0IsU0FBbUIsRUFDUyxhQUFzQjtRQURsRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1Msa0JBQWEsR0FBYixhQUFhLENBQVM7UUFKdEUscUNBQXFDO1FBQ3BCLGFBQVEsR0FBMkIsSUFBSSxDQUFDO1FBdUZqRCxvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUMzQixJQUFJO2dCQUNBLE9BQU8sQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3hFO1lBQUMsTUFBTTtnQkFDSixPQUFPLElBQUksQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDO1FBRU0sc0JBQWlCLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDMUU7WUFBQyxNQUFNO2dCQUNK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RDtRQUNwRCwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUNoRztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQzs7b0dBM0ZRLE9BQU8sMENBU2dCLE1BQU07d0dBVDdCLE9BQU8sY0FGSixNQUFNOzJGQUVULE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFVZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdG9yYWdlT3B0aW9uLCBTdG9yYWdlU3RyYXRlZ3l9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJhdGVneS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQb2x5ZmlsbFN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9wb2x5ZmlsbC1zdG9yYWdlLnN0cmF0ZWd5JztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZXN9IGZyb20gJy4vaW50ZXJmYWNlcy9hdHRyaWJ1dGVzLmludGVyZmFjZSc7XG5pbXBvcnQge0Nvb2tpZVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9jb29raWUtc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge01lbW9yeVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9tZW1vcnktc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtDT09LSUV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZVN0cmF0ZWd5IHtcblxuICAgIC8vIEFsbCBhdmFpbGFibGUgc3RyYXRlZ2llcyAoc29ydGVkIGJlc3QgdG8gbGFzdCkuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3RyYXRlZ2llczogeyBba2V5IGluIGAke1N0b3JhZ2VPcHRpb259YF06IFN0b3JhZ2VTdHJhdGVneSB9O1xuXG4gICAgLy8gQ3VycmVudCBzZWxlY3RlZCBzdG9yYWdlIHN0cmF0ZWd5LlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnQ6IFN0b3JhZ2VTdHJhdGVneSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ09PS0lFKSBwcml2YXRlIF9jb29raWVTdHJpbmc/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc3RyYXRlZ2llcyA9IHtcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkxvY2FsXTogbmV3IFBvbHlmaWxsU3RvcmFnZSh0aGlzLmdldExvY2FsU3RvcmFnZSgpKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkNvb2tpZV06IG5ldyBDb29raWVTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciwgdGhpcy5fY29va2llU3RyaW5nKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLlNlc3Npb25dOiBuZXcgUG9seWZpbGxTdG9yYWdlKHRoaXMuZ2V0U2Vzc2lvblN0b3JhZ2UoKSksXG4gICAgICAgICAgICBbU3RvcmFnZU9wdGlvbi5NZW1vcnldOiBuZXcgTWVtb3J5U3RvcmFnZSgpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fY3VycmVudCA9IHRoaXMuZmluZEJlc3RTdG9yYWdlU3RyYXRlZ3koKTtcbiAgICB9XG5cbiAgICBzZWxlY3Qob3B0aW9uOiBTdG9yYWdlT3B0aW9uIHwgU3RvcmFnZU9wdGlvbltdKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShvcHRpb24pID8gb3B0aW9uIDogW29wdGlvbl07XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zdHJhdGVnaWVzPy5baXRlbV0gPz8gbnVsbDtcbiAgICAgICAgICAgIGlmIChzdHJhdGVneSAmJiBzdHJhdGVneS5pc1N1cHBvcnRlZCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cmF0ZWd5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbHdheXMgcmV0dXJuIGFzIGEgZmFsbGJhY2sgdGhlIG1lbW9yeSBzdG9yYWdlIHNpbmNlIGl0IHNob3VsZCBiZSBhbHdheXMgYXZhaWxhYmxlLlxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgZ2V0IGxvY2FsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5sb2NhbDtcbiAgICB9XG5cbiAgICBnZXQgY29va2llKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5jb29raWU7XG4gICAgfVxuXG4gICAgZ2V0IHNlc3Npb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJhdGVnaWVzLnNlc3Npb247XG4gICAgfVxuXG4gICAgZ2V0IG1lbW9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmF0ZWdpZXMubWVtb3J5O1xuICAgIH1cblxuICAgIGdldDxUID0gYW55Pih0b2tlbjogc3RyaW5nKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50LmdldCh0b2tlbik7XG4gICAgfVxuXG4gICAgc2V0PFQgPSBhbnk+KHRva2VuOiBzdHJpbmcsIHZhbHVlOiBULCBhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5zZXQ8VD4odG9rZW4sIHZhbHVlLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICByZW1vdmUodG9rZW46IHN0cmluZywgYXR0cmlidXRlcz86IFN0b3JhZ2VBdHRyaWJ1dGVzKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnQucmVtb3ZlKHRva2VuLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBjbGVhcihhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5jbGVhcihhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBpc1N1cHBvcnRlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fY3VycmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRCZXN0U3RvcmFnZVN0cmF0ZWd5KCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIGF2YWlsYWJsZSBzdHJhdGVnaWVzIHRvIGZpbmQgdGhlIGJlc3QuXG4gICAgICAgIGZvciAoY29uc3QgdHlwZSBpbiB0aGlzLl9zdHJhdGVnaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX3N0cmF0ZWdpZXM/Llt0eXBlXTtcblxuICAgICAgICAgICAgLy8gVGhlIGZpcnN0IHN1cHBvcnRlZCBzdHJhdGVneSBpcyB0aGUgYmVzdC5cbiAgICAgICAgICAgIGlmIChzdHJhdGVneT8uaXNTdXBwb3J0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHJhdGVneTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIG5vIHN0cmF0ZWd5IHdhcyByZXR1cm5lZCB3ZSBmYWxsYmFjayB0byBtZW1vcnlcbiAgICAgICAgLy8gc3RvcmFnZSBzaW5jZSBpdCBzaG91bGQgYmUgYXZhaWxhYmxlIGFsd2F5cy5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSA/IHdpbmRvdz8ubG9jYWxTdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIGdldFNlc3Npb25TdG9yYWdlID0gKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3c/LnNlc3Npb25TdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbn1cbiJdfQ==