@koobiq/components 16.0.0-beta.5 → 16.0.0-beta.7

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 (294) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  2. package/button/_button-theme.scss +20 -9
  3. package/button-toggle/button-toggle.component.d.ts +2 -2
  4. package/checkbox/_checkbox-theme.scss +10 -2
  5. package/checkbox/checkbox.d.ts +1 -1
  6. package/code-block/README.md +14 -14
  7. package/code-block/_code-block-theme.scss +8 -0
  8. package/code-block/code-block.component.d.ts +1 -1
  9. package/core/animation/index.d.ts +1 -1
  10. package/core/animation/select-animations.d.ts +1 -1
  11. package/core/formatters/index.d.ts +1 -1
  12. package/core/formatters/number/formatter.d.ts +56 -1
  13. package/core/forms/forms.directive.d.ts +2 -2
  14. package/core/locales/en-US.d.ts +19 -1
  15. package/core/locales/es-LA.d.ts +27 -0
  16. package/core/locales/fa-IR.d.ts +28 -0
  17. package/core/locales/locale-service.d.ts +148 -3
  18. package/core/locales/pt-BR.d.ts +27 -0
  19. package/core/locales/ru-RU.d.ts +20 -1
  20. package/core/locales/zh-CN.d.ts +26 -0
  21. package/core/option/action.d.ts +1 -1
  22. package/core/option/optgroup.d.ts +1 -1
  23. package/core/option/option.d.ts +37 -8
  24. package/core/overlay/overlay-position-map.d.ts +7 -1
  25. package/core/pop-up/constants.d.ts +2 -1
  26. package/core/public-api.d.ts +1 -0
  27. package/core/select/constants.d.ts +2 -2
  28. package/core/services/theme.service.d.ts +23 -0
  29. package/core/styles/_variables.scss +1 -0
  30. package/core/styles/common/_select.scss +24 -24
  31. package/core/styles/theming/_components-theming.scss +31 -5
  32. package/datepicker/calendar-body.component.d.ts +1 -1
  33. package/datepicker/calendar-header.component.d.ts +9 -3
  34. package/datepicker/calendar.component.d.ts +4 -5
  35. package/datepicker/datepicker-animations.d.ts +1 -1
  36. package/datepicker/datepicker-input.directive.d.ts +4 -4
  37. package/datepicker/datepicker-toggle.component.d.ts +3 -3
  38. package/datepicker/datepicker.component.d.ts +2 -2
  39. package/datepicker/month-view.component.d.ts +5 -6
  40. package/dl/_dl-theme.scss +2 -56
  41. package/dl/dl.component.d.ts +1 -2
  42. package/dl/dl.scss +10 -47
  43. package/dropdown/dropdown-animations.d.ts +1 -1
  44. package/dropdown/dropdown-content.directive.d.ts +1 -1
  45. package/dropdown/dropdown-item.component.d.ts +1 -1
  46. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  47. package/dropdown/dropdown.component.d.ts +1 -1
  48. package/dropdown/dropdown.types.d.ts +1 -1
  49. package/esm2022/alert/alert.component.mjs +2 -2
  50. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +24 -21
  51. package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
  52. package/esm2022/checkbox/checkbox.mjs +3 -3
  53. package/esm2022/code-block/actionbar.component.mjs +1 -1
  54. package/esm2022/code-block/code-block.component.mjs +3 -3
  55. package/esm2022/core/animation/index.mjs +2 -2
  56. package/esm2022/core/animation/select-animations.mjs +4 -4
  57. package/esm2022/core/formatters/index.mjs +10 -2
  58. package/esm2022/core/formatters/number/formatter.mjs +224 -3
  59. package/esm2022/core/forms/forms.directive.mjs +5 -5
  60. package/esm2022/core/locales/en-US.mjs +22 -4
  61. package/esm2022/core/locales/es-LA.mjs +31 -2
  62. package/esm2022/core/locales/fa-IR.mjs +30 -2
  63. package/esm2022/core/locales/locale-service.mjs +4 -4
  64. package/esm2022/core/locales/pt-BR.mjs +29 -2
  65. package/esm2022/core/locales/ru-RU.mjs +23 -2
  66. package/esm2022/core/locales/zh-CN.mjs +28 -2
  67. package/esm2022/core/option/action.mjs +3 -3
  68. package/esm2022/core/option/optgroup.mjs +3 -3
  69. package/esm2022/core/option/option.mjs +47 -10
  70. package/esm2022/core/overlay/overlay-position-map.mjs +7 -1
  71. package/esm2022/core/pop-up/constants.mjs +2 -1
  72. package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -3
  73. package/esm2022/core/public-api.mjs +2 -1
  74. package/esm2022/core/select/constants.mjs +3 -3
  75. package/esm2022/core/services/theme.service.mjs +60 -0
  76. package/esm2022/core/version.mjs +2 -2
  77. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  78. package/esm2022/datepicker/calendar-header.component.mjs +9 -8
  79. package/esm2022/datepicker/calendar.component.mjs +7 -16
  80. package/esm2022/datepicker/datepicker-animations.mjs +2 -2
  81. package/esm2022/datepicker/datepicker-input.directive.mjs +29 -20
  82. package/esm2022/datepicker/datepicker-toggle.component.mjs +6 -6
  83. package/esm2022/datepicker/datepicker.component.mjs +11 -11
  84. package/esm2022/datepicker/month-view.component.mjs +9 -18
  85. package/esm2022/dl/dl.component.mjs +3 -7
  86. package/esm2022/dropdown/dropdown-animations.mjs +4 -4
  87. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  88. package/esm2022/dropdown/dropdown-errors.mjs +6 -6
  89. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  90. package/esm2022/dropdown/dropdown-trigger.directive.mjs +8 -8
  91. package/esm2022/dropdown/dropdown.component.mjs +8 -8
  92. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  93. package/esm2022/file-upload/file-drop.mjs +4 -4
  94. package/esm2022/file-upload/multiple-file-upload.component.mjs +12 -8
  95. package/esm2022/file-upload/single-file-upload.component.mjs +12 -8
  96. package/esm2022/form-field/cleaner.mjs +3 -3
  97. package/esm2022/form-field/form-field.mjs +9 -12
  98. package/esm2022/form-field/hint.mjs +4 -4
  99. package/esm2022/form-field/password-hint.mjs +22 -13
  100. package/esm2022/form-field/password-toggle.mjs +25 -8
  101. package/esm2022/form-field/suffix.mjs +3 -3
  102. package/esm2022/form-field/validate.directive.mjs +4 -4
  103. package/esm2022/input/input-number.mjs +259 -43
  104. package/esm2022/link/link.component.mjs +3 -3
  105. package/esm2022/list/list-selection.component.mjs +6 -6
  106. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  107. package/esm2022/modal/modal-control.service.mjs +5 -5
  108. package/esm2022/modal/modal-ref.class.mjs +1 -1
  109. package/esm2022/modal/modal.component.mjs +126 -112
  110. package/esm2022/modal/modal.module.mjs +13 -7
  111. package/esm2022/modal/modal.service.mjs +23 -23
  112. package/esm2022/modal/modal.type.mjs +1 -3
  113. package/esm2022/navbar/navbar-item.component.mjs +17 -17
  114. package/esm2022/navbar/navbar.component.mjs +18 -9
  115. package/esm2022/navbar/vertical-navbar.component.mjs +9 -6
  116. package/esm2022/popover/popover-animations.mjs +2 -2
  117. package/esm2022/popover/popover-confirm.component.mjs +9 -9
  118. package/esm2022/popover/popover.component.mjs +23 -23
  119. package/esm2022/radio/radio.component.mjs +11 -8
  120. package/esm2022/select/select.component.mjs +35 -21
  121. package/esm2022/sidebar/sidebar-animations.mjs +2 -2
  122. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  123. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  124. package/esm2022/sidepanel/sidepanel.module.mjs +10 -4
  125. package/esm2022/splitter/splitter.component.mjs +3 -3
  126. package/esm2022/table/table.component.mjs +3 -3
  127. package/esm2022/tabs/paginated-tab-header.mjs +11 -2
  128. package/esm2022/tabs/tab-body.component.mjs +7 -7
  129. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  130. package/esm2022/tabs/tab-group.component.mjs +3 -3
  131. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +6 -6
  132. package/esm2022/tabs/tab.component.mjs +14 -5
  133. package/esm2022/tabs/tabs-animations.mjs +2 -2
  134. package/esm2022/tags/tag-default-options.mjs +1 -1
  135. package/esm2022/tags/tag-input.mjs +12 -10
  136. package/esm2022/tags/tag-list.component.mjs +12 -8
  137. package/esm2022/tags/tag.component.mjs +13 -13
  138. package/esm2022/timepicker/timepicker.directive.mjs +10 -10
  139. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  140. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  141. package/esm2022/title/title.directive.mjs +6 -6
  142. package/esm2022/toast/toast.module.mjs +10 -4
  143. package/esm2022/toggle/toggle.component.mjs +3 -3
  144. package/esm2022/tooltip/tooltip.component.mjs +16 -16
  145. package/esm2022/tree/node.mjs +5 -5
  146. package/esm2022/tree/outlet.mjs +3 -3
  147. package/esm2022/tree/padding.directive.mjs +6 -6
  148. package/esm2022/tree/toggle.mjs +8 -8
  149. package/esm2022/tree/tree-base.mjs +3 -3
  150. package/esm2022/tree/tree-option.component.mjs +9 -5
  151. package/esm2022/tree/tree-selection.component.mjs +8 -6
  152. package/esm2022/tree/tree.mjs +3 -3
  153. package/esm2022/tree-select/tree-select.component.mjs +13 -13
  154. package/fesm2022/koobiq-components-alert.mjs +2 -2
  155. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-autocomplete.mjs +24 -21
  157. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-button-toggle.mjs +7 -7
  159. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  161. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-code-block.mjs +3 -3
  163. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-core.mjs +526 -39
  165. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-datepicker.mjs +66 -74
  167. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-dl.mjs +2 -6
  169. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-dropdown.mjs +28 -28
  171. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-file-upload.mjs +23 -15
  173. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-form-field.mjs +61 -40
  175. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-input.mjs +257 -43
  177. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-link.mjs +2 -2
  179. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-list.mjs +5 -5
  181. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  183. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-modal.mjs +161 -145
  185. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-navbar.mjs +39 -31
  187. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-popover.mjs +30 -30
  189. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-radio.mjs +10 -7
  191. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-select.mjs +34 -20
  193. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-sidebar.mjs +8 -8
  195. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-sidepanel.mjs +10 -4
  197. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-splitter.mjs +2 -2
  199. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-table.mjs +2 -2
  201. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-tabs.mjs +39 -21
  203. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-tags.mjs +34 -28
  205. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  207. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-timezone.mjs +6 -6
  209. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-title.mjs +5 -5
  211. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-toast.mjs +8 -2
  213. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  215. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-tooltip.mjs +15 -15
  217. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-tree-select.mjs +12 -12
  219. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-tree.mjs +37 -31
  221. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  222. package/file-upload/file-drop.d.ts +1 -1
  223. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  224. package/file-upload/single-file-upload.component.d.ts +4 -3
  225. package/form-field/_hint-theme.scss +1 -1
  226. package/form-field/cleaner.d.ts +1 -1
  227. package/form-field/form-field.d.ts +2 -3
  228. package/form-field/form-field.scss +2 -2
  229. package/form-field/hint.d.ts +1 -1
  230. package/form-field/password-hint.d.ts +7 -3
  231. package/form-field/password-toggle.d.ts +12 -6
  232. package/form-field/suffix.d.ts +1 -1
  233. package/form-field/validate.directive.d.ts +1 -1
  234. package/icon/_icon-theme.scss +2 -1
  235. package/input/_input-theme.scss +2 -1
  236. package/input/input-number.d.ts +61 -10
  237. package/link/_link-theme.scss +4 -0
  238. package/link/link.component.d.ts +1 -1
  239. package/list/list-selection.component.d.ts +1 -1
  240. package/loader-overlay/loader-overlay.scss +3 -0
  241. package/modal/README.md +5 -5
  242. package/modal/modal-ref.class.d.ts +2 -2
  243. package/modal/modal.component.d.ts +51 -47
  244. package/modal/modal.module.d.ts +2 -1
  245. package/modal/modal.scss +7 -0
  246. package/modal/modal.type.d.ts +35 -36
  247. package/navbar/navbar-item.component.d.ts +4 -3
  248. package/navbar/navbar.component.d.ts +5 -2
  249. package/navbar/vertical-navbar.component.d.ts +4 -2
  250. package/package.json +9 -11
  251. package/popover/README.md +14 -14
  252. package/popover/_popover-theme.scss +11 -11
  253. package/popover/popover-animations.d.ts +1 -1
  254. package/popover/popover-confirm.component.d.ts +1 -1
  255. package/popover/popover.component.d.ts +3 -3
  256. package/prebuilt-themes/dark-theme.css +1 -1
  257. package/prebuilt-themes/light-theme.css +1 -1
  258. package/radio/_radio-theme.scss +15 -2
  259. package/radio/radio.component.d.ts +2 -2
  260. package/radio/radio.scss +13 -0
  261. package/select/select.component.d.ts +14 -11
  262. package/select/select.scss +1 -1
  263. package/sidebar/sidebar-animations.d.ts +1 -1
  264. package/sidebar/sidebar.component.d.ts +3 -3
  265. package/splitter/splitter.component.d.ts +1 -1
  266. package/table/table.component.d.ts +1 -1
  267. package/tabs/paginated-tab-header.d.ts +1 -0
  268. package/tabs/tab-body.component.d.ts +1 -1
  269. package/tabs/tab-content.directive.d.ts +1 -1
  270. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +2 -2
  271. package/tabs/tab.component.d.ts +1 -1
  272. package/tabs/tabs-animations.d.ts +1 -1
  273. package/tags/_tag-theme.scss +1 -1
  274. package/tags/tag-default-options.d.ts +4 -0
  275. package/tags/tag-input.d.ts +2 -2
  276. package/tags/tag-list.component.d.ts +3 -2
  277. package/tags/tag-list.scss +2 -0
  278. package/tags/tag.component.d.ts +4 -4
  279. package/timepicker/timepicker.directive.d.ts +2 -2
  280. package/timezone/timezone-option.component.d.ts +1 -1
  281. package/timezone/timezone-select.component.d.ts +1 -1
  282. package/title/title.directive.d.ts +1 -1
  283. package/toggle/toggle.component.d.ts +1 -1
  284. package/tooltip/tooltip.component.d.ts +3 -3
  285. package/tree/node.d.ts +1 -1
  286. package/tree/outlet.d.ts +1 -1
  287. package/tree/padding.directive.d.ts +1 -1
  288. package/tree/toggle.d.ts +3 -3
  289. package/tree/tree-base.d.ts +1 -1
  290. package/tree/tree-option.component.d.ts +1 -1
  291. package/tree/tree-option.scss +2 -0
  292. package/tree/tree-selection.component.d.ts +1 -1
  293. package/tree/tree.d.ts +1 -1
  294. package/tree-select/tree-select.component.d.ts +1 -1
@@ -1,3 +1,4 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, ElementRef, forwardRef, Input, QueryList, ViewEncapsulation } from '@angular/core';
2
3
  import { FocusKeyManager } from '@koobiq/cdk/a11y';
3
4
  import { LEFT_ARROW, RIGHT_ARROW, TAB, isHorizontalMovement, isVerticalMovement } from '@koobiq/cdk/keycodes';
@@ -5,6 +6,7 @@ import { merge, Subject } from 'rxjs';
5
6
  import { debounceTime, startWith, takeUntil } from 'rxjs/operators';
6
7
  import { KbqNavbarFocusableItem, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';
7
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/a11y";
8
10
  export class KbqFocusableComponent {
9
11
  get tabIndex() {
10
12
  return this._tabIndex;
@@ -18,15 +20,18 @@ export class KbqFocusableComponent {
18
20
  get optionBlurChanges() {
19
21
  return merge(...this.focusableItems.map((option) => option.onBlur));
20
22
  }
21
- constructor(changeDetectorRef) {
23
+ constructor(changeDetectorRef, elementRef, focusMonitor) {
22
24
  this.changeDetectorRef = changeDetectorRef;
25
+ this.focusMonitor = focusMonitor;
23
26
  this._tabIndex = 0;
24
27
  this.destroyed = new Subject();
28
+ this.focusMonitorSubscription = this.focusMonitor.monitor(elementRef).subscribe((focusOrigin) => {
29
+ this.keyManager.setFocusOrigin(focusOrigin);
30
+ });
25
31
  }
26
32
  ngAfterContentInit() {
27
33
  this.keyManager = new FocusKeyManager(this.focusableItems)
28
34
  .withTypeAhead();
29
- this.keyManager.setFocusOrigin('keyboard');
30
35
  this.keyManager.tabOut
31
36
  .pipe(takeUntil(this.destroyed))
32
37
  .subscribe(() => {
@@ -47,6 +52,10 @@ export class KbqFocusableComponent {
47
52
  ngOnDestroy() {
48
53
  this.destroyed.next();
49
54
  this.destroyed.complete();
55
+ if (this.focusMonitorSubscription) {
56
+ this.focusMonitorSubscription.unsubscribe();
57
+ this.focusMonitorSubscription = null;
58
+ }
50
59
  }
51
60
  focus() {
52
61
  if (this.focusableItems.length === 0) {
@@ -94,12 +103,12 @@ export class KbqFocusableComponent {
94
103
  hasFocusedItem() {
95
104
  return this.focusableItems.some((item) => item.hasFocus);
96
105
  }
97
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
106
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
98
107
  /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqFocusableComponent, inputs: { tabIndex: "tabIndex" }, queries: [{ propertyName: "focusableItems", predicate: i0.forwardRef(function () { return KbqNavbarFocusableItem; }), descendants: true }], ngImport: i0 }); }
99
108
  }
100
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFocusableComponent, decorators: [{
101
110
  type: Directive
102
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { focusableItems: [{
111
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { focusableItems: [{
103
112
  type: ContentChildren,
104
113
  args: [forwardRef(() => KbqNavbarFocusableItem), { descendants: true }]
105
114
  }], tabIndex: [{
@@ -132,8 +141,8 @@ export class KbqNavbar extends KbqFocusableComponent {
132
141
  .filter((item) => item.icon && item.title && item.collapsable)
133
142
  .reverse();
134
143
  }
135
- constructor(elementRef, changeDetectorRef) {
136
- super(changeDetectorRef);
144
+ constructor(elementRef, changeDetectorRef, focusMonitor) {
145
+ super(changeDetectorRef, elementRef, focusMonitor);
137
146
  this.elementRef = elementRef;
138
147
  this.resizeStream = new Subject();
139
148
  this.resizeDebounceInterval = 100;
@@ -216,7 +225,7 @@ export class KbqNavbar extends KbqFocusableComponent {
216
225
  }
217
226
  });
218
227
  }
219
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
228
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
220
229
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqNavbar, selector: "kbq-navbar", host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)", "window:resize": "resizeStream.next($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-navbar" }, queries: [{ propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return KbqNavbarRectangleElement; }), descendants: true }, { propertyName: "navbarItems", predicate: i0.forwardRef(function () { return KbqNavbarItem; }), descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="[kbq-navbar-container], kbq-navbar-container"></ng-content>`, isInline: true, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
221
230
  }
222
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbar, decorators: [{
@@ -229,11 +238,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
229
238
  '(keydown)': 'onKeyDown($event)',
230
239
  '(window:resize)': 'resizeStream.next($event)'
231
240
  }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
232
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
241
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { rectangleElements: [{
233
242
  type: ContentChildren,
234
243
  args: [forwardRef(() => KbqNavbarRectangleElement), { descendants: true }]
235
244
  }], navbarItems: [{
236
245
  type: ContentChildren,
237
246
  args: [forwardRef(() => KbqNavbarItem), { descendants: true }]
238
247
  }] } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILG9CQUFvQixFQUNwQixrQkFBa0IsRUFDckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUNILHNCQUFzQixFQUV0QixhQUFhLEVBQ2IseUJBQXlCLEVBQzVCLE1BQU0seUJBQXlCLENBQUM7O0FBT2pDLE1BQU0sT0FBTyxxQkFBcUI7SUFNOUIsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFD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Q0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNoQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNkLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO2lJQTFIUSxTQUFTO3FIQUFULFNBQVMsK1VBQ2dCLHlCQUF5Qix3R0FHekIsYUFBYSwyRUExQnJDLGlGQUFpRjs7MkZBc0JsRixTQUFTO2tCQXhCckIsU0FBUzsrQkFDSSxZQUFZLFlBQ1osaUZBQWlGLFFBT3JGO3dCQUNGLEtBQUssRUFBRSxZQUFZO3dCQUVuQixpQkFBaUIsRUFBRSxVQUFVO3dCQUU3QixTQUFTLEVBQUUsU0FBUzt3QkFDcEIsUUFBUSxFQUFFLFFBQVE7d0JBRWxCLFdBQVcsRUFBRSxtQkFBbUI7d0JBRWhDLGlCQUFpQixFQUFFLDJCQUEyQjtxQkFDakQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7aUlBSXJDLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR1YsV0FBVztzQkFBbkYsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAa29vYmlxL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgTEVGVF9BUlJPVyxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBUQUIsXG4gICAgaXNIb3Jpem9udGFsTW92ZW1lbnQsXG4gICAgaXNWZXJ0aWNhbE1vdmVtZW50XG59IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSxcbiAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQsXG4gICAgS2JxTmF2YmFySXRlbSxcbiAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50XG59IGZyb20gJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcblxuXG5leHBvcnQgdHlwZSBLYnFOYXZiYXJDb250YWluZXJQb3NpdGlvblR5cGUgPSAnbGVmdCcgfCAncmlnaHQnO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEticUZvY3VzYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckZvY3VzYWJsZUl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgZm9jdXNhYmxlSXRlbXM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJGb2N1c2FibGVJdGVtPjtcblxuICAgIGtleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxLYnFOYXZiYXJGb2N1c2FibGVJdGVtPjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRhYkluZGV4KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJJbmRleDtcbiAgICB9XG5cbiAgICBzZXQgdGFiSW5kZXgodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl90YWJJbmRleCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RhYkluZGV4ID0gMDtcblxuICAgIGdldCBvcHRpb25Gb2N1c0NoYW5nZXMoKTogT2JzZXJ2YWJsZTxLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRoaXMuZm9jdXNhYmxlSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm9uRm9jdXMpKTtcbiAgICB9XG5cbiAgICBnZXQgb3B0aW9uQmx1ckNoYW5nZXMoKTogT2JzZXJ2YWJsZTxLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRoaXMuZm9jdXNhYmxlSXRlbXMubWFwKChvcHRpb24pID0+IG9wdGlvbi5vbkJsdXIpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgb3B0aW9uRm9jdXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgcHJpdmF0ZSBvcHRpb25CbHVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcjxLYnFOYXZiYXJGb2N1c2FibGVJdGVtPih0aGlzLmZvY3VzYWJsZUl0ZW1zKVxuICAgICAgICAud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRGb2N1c09yaWdpbigna2V5Ym9hcmQnKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c2FibGVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0T3B0aW9ucygpO1xuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgdG8gdXBkYXRlIG91ciB0YWIgaW5kZXhcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRhYkluZGV4KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgYmx1cigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZvY3VzZWRJdGVtKCkpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0T3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy5kcm9wU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLmxpc3RlblRvT3B0aW9uc0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRyb3BTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25CbHVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uQmx1clN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlblRvT3B0aW9uc0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbkZvY3VzU3Vic2NyaXB0aW9uID0gdGhpcy5vcHRpb25Gb2N1c0NoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZm9jdXNhYmxlSXRlbXMudG9BcnJheSgpLmluZGV4T2YoZXZlbnQuaXRlbSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24gPSB0aGlzLm9wdGlvbkJsdXJDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYmx1cigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRhYkluZGV4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgPyAtMSA6IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRm9jdXNlZEl0ZW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaGFzRm9jdXMpO1xuICAgIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS1uYXZiYXItY29udGFpbmVyJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLW5hdmJhci1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFOYXZiYXJDb250YWluZXIge31cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtbmF2YmFyJyxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtbmF2YmFyLWNvbnRhaW5lcl0sIGticS1uYXZiYXItY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL25hdmJhci5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWl0ZW0uc2NzcycsXG4gICAgICAgICcuL25hdmJhci1icmFuZC5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWRpdmlkZXIuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtbmF2YmFyJyxcblxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknLFxuXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxTmF2YmFyIGV4dGVuZHMgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWN0YW5nbGVFbGVtZW50czogUXVlcnlMaXN0PEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG5hdmJhckl0ZW1zOiBRdWVyeUxpc3Q8S2JxTmF2YmFySXRlbT47XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplRGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuXG4gICAgcHJpdmF0ZSBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdGFsSXRlbXNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWN0YW5nbGVFbGVtZW50c1xuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBhY2MgKyBpdGVtLmdldE91dGVyRWxlbWVudFdpZHRoKCksIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbGxhcHNhYmxlSXRlbXMoKTogS2JxTmF2YmFySXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2YmFySXRlbXNcbiAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWNvbiAmJiBpdGVtLnRpdGxlICYmIGl0ZW0uY29sbGFwc2FibGUpXG4gICAgICAgICAgICAucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEl0ZW1zU3RhdGUoKTtcblxuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzLmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZXRJdGVtc1N0YXRlKTtcblxuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXJcbiAgICAgICAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbihmYWxzZSlcbiAgICAgICAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIE5vdGU6IHRoaXMgd2FpdCBpcyByZXF1aXJlZCBmb3IgbG9hZGluZyBhbmQgcmVuZGVyaW5nIGZvbnRzIGZvciBpY29ucztcbiAgICAgICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgY29udHJvbCBmb250IHJlbmRlcmluZ1xuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRlcHJlY2F0aW9uXG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgICAgIGlmIChpc1ZlcnRpY2FsTW92ZW1lbnQoZXZlbnQpIHx8IGlzSG9yaXpvbnRhbE1vdmVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci50YWJPdXQubmV4dCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IExFRlRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xsYXBzZURlbHRhID0gdGhpcy50b3RhbEl0ZW1zV2lkdGggLSB0aGlzLndpZHRoO1xuXG4gICAgICAgIGNvbnN0IG5lZWRDb2xsYXBzZSA9IGNvbGxhcHNlRGVsdGEgPiAwO1xuXG4gICAgICAgIGlmIChuZWVkQ29sbGFwc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcyhjb2xsYXBzZURlbHRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxhcHNlSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgY29uc3QgdW5Db2xsYXBzZWRJdGVtcyA9IHRoaXMuY29sbGFwc2FibGVJdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29sbGFwc2VkKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdW5Db2xsYXBzZWRJdGVtcykge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVsdGEgLT0gaXRlbS5nZXRUaXRsZVdpZHRoKCk7XG5cbiAgICAgICAgICAgIGlmIChkZWx0YSA8IDApIHsgYnJlYWs7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgdGhpcy5jb2xsYXBzYWJsZUl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvbGxhcHNlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhICsgaXRlbS5nZXRUaXRsZVdpZHRoKCkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhICs9IGl0ZW0uZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaG9yaXpvbnRhbCA9IHRydWUpKTtcbiAgICB9XG59XG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFDSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsYUFBYSxFQUNiLHlCQUF5QixFQUM1QixNQUFNLHlCQUF5QixDQUFDOzs7QUFPakMsTUFBTSxPQUFPLHFCQUFxQjtJQU05QixJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUlELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxD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QXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs0SkFJckMsaUJBQWlCO3NCQURoQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHVixXQUFXO3NCQUFuRixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Brb29iaXEvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBMRUZUX0FSUk9XLFxuICAgIFJJR0hUX0FSUk9XLFxuICAgIFRBQixcbiAgICBpc0hvcml6b250YWxNb3ZlbWVudCxcbiAgICBpc1ZlcnRpY2FsTW92ZW1lbnRcbn0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtLFxuICAgIEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudCxcbiAgICBLYnFOYXZiYXJJdGVtLFxuICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnRcbn0gZnJvbSAnLi9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCB0eXBlIEticU5hdmJhckNvbnRhaW5lclBvc2l0aW9uVHlwZSA9ICdsZWZ0JyB8ICdyaWdodCc7XG5cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBmb2N1c2FibGVJdGVtczogUXVlcnlMaXN0PEticU5hdmJhckZvY3VzYWJsZUl0ZW0+O1xuXG4gICAga2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEticU5hdmJhckZvY3VzYWJsZUl0ZW0+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGFiSW5kZXgoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4O1xuICAgIH1cblxuICAgIHNldCB0YWJJbmRleCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3RhYkluZGV4ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdGFiSW5kZXggPSAwO1xuXG4gICAgZ2V0IG9wdGlvbkZvY3VzQ2hhbmdlcygpOiBPYnNlcnZhYmxlPEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudD4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoLi4udGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ub25Gb2N1cykpO1xuICAgIH1cblxuICAgIGdldCBvcHRpb25CbHVyQ2hhbmdlcygpOiBPYnNlcnZhYmxlPEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudD4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoLi4udGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLm9uQmx1cikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBvcHRpb25Gb2N1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcbiAgICBwcml2YXRlIG9wdGlvbkJsdXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3JTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbiA9IHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IoZWxlbWVudFJlZikuc3Vic2NyaWJlKChmb2N1c09yaWdpbikgPT4ge1xuICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rm9jdXNPcmlnaW4oZm9jdXNPcmlnaW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXI8S2JxTmF2YmFyRm9jdXNhYmxlSXRlbT4odGhpcy5mb2N1c2FibGVJdGVtcylcbiAgICAgICAgLndpdGhUeXBlQWhlYWQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c2FibGVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0T3B0aW9ucygpO1xuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgdG8gdXBkYXRlIG91ciB0YWIgaW5kZXhcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRhYkluZGV4KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgYmx1cigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZvY3VzZWRJdGVtKCkpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0T3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy5kcm9wU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLmxpc3RlblRvT3B0aW9uc0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRyb3BTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25CbHVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uQmx1clN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlblRvT3B0aW9uc0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbkZvY3VzU3Vic2NyaXB0aW9uID0gdGhpcy5vcHRpb25Gb2N1c0NoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZm9jdXNhYmxlSXRlbXMudG9BcnJheSgpLmluZGV4T2YoZXZlbnQuaXRlbSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24gPSB0aGlzLm9wdGlvbkJsdXJDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYmx1cigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRhYkluZGV4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgPyAtMSA6IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRm9jdXNlZEl0ZW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaGFzRm9jdXMpO1xuICAgIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS1uYXZiYXItY29udGFpbmVyJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLW5hdmJhci1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFOYXZiYXJDb250YWluZXIge31cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtbmF2YmFyJyxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtbmF2YmFyLWNvbnRhaW5lcl0sIGticS1uYXZiYXItY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL25hdmJhci5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWl0ZW0uc2NzcycsXG4gICAgICAgICcuL25hdmJhci1icmFuZC5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWRpdmlkZXIuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtbmF2YmFyJyxcblxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknLFxuXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxTmF2YmFyIGV4dGVuZHMgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWN0YW5nbGVFbGVtZW50czogUXVlcnlMaXN0PEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG5hdmJhckl0ZW1zOiBRdWVyeUxpc3Q8S2JxTmF2YmFySXRlbT47XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplRGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuXG4gICAgcHJpdmF0ZSBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdGFsSXRlbXNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWN0YW5nbGVFbGVtZW50c1xuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBhY2MgKyBpdGVtLmdldE91dGVyRWxlbWVudFdpZHRoKCksIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbGxhcHNhYmxlSXRlbXMoKTogS2JxTmF2YmFySXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2YmFySXRlbXNcbiAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWNvbiAmJiBpdGVtLnRpdGxlICYmIGl0ZW0uY29sbGFwc2FibGUpXG4gICAgICAgICAgICAucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBlbGVtZW50UmVmLCBmb2N1c01vbml0b3IpO1xuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEl0ZW1zU3RhdGUoKTtcblxuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzLmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZXRJdGVtc1N0YXRlKTtcblxuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXJcbiAgICAgICAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbihmYWxzZSlcbiAgICAgICAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIE5vdGU6IHRoaXMgd2FpdCBpcyByZXF1aXJlZCBmb3IgbG9hZGluZyBhbmQgcmVuZGVyaW5nIGZvbnRzIGZvciBpY29ucztcbiAgICAgICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgY29udHJvbCBmb250IHJlbmRlcmluZ1xuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRlcHJlY2F0aW9uXG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgICAgIGlmIChpc1ZlcnRpY2FsTW92ZW1lbnQoZXZlbnQpIHx8IGlzSG9yaXpvbnRhbE1vdmVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci50YWJPdXQubmV4dCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IExFRlRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xsYXBzZURlbHRhID0gdGhpcy50b3RhbEl0ZW1zV2lkdGggLSB0aGlzLndpZHRoO1xuXG4gICAgICAgIGNvbnN0IG5lZWRDb2xsYXBzZSA9IGNvbGxhcHNlRGVsdGEgPiAwO1xuXG4gICAgICAgIGlmIChuZWVkQ29sbGFwc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcyhjb2xsYXBzZURlbHRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxhcHNlSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgY29uc3QgdW5Db2xsYXBzZWRJdGVtcyA9IHRoaXMuY29sbGFwc2FibGVJdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29sbGFwc2VkKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdW5Db2xsYXBzZWRJdGVtcykge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVsdGEgLT0gaXRlbS5nZXRUaXRsZVdpZHRoKCk7XG5cbiAgICAgICAgICAgIGlmIChkZWx0YSA8IDApIHsgYnJlYWs7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgdGhpcy5jb2xsYXBzYWJsZUl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvbGxhcHNlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhICsgaXRlbS5nZXRUaXRsZVdpZHRoKCkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhICs9IGl0ZW0uZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaG9yaXpvbnRhbCA9IHRydWUpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,13 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
1
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, forwardRef, Input, QueryList, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, forwardRef, Input, QueryList, ViewEncapsulation } from '@angular/core';
3
4
  import { DOWN_ARROW, UP_ARROW, TAB, isVerticalMovement, isHorizontalMovement } from '@koobiq/cdk/keycodes';
4
5
  import { Subject } from 'rxjs';
5
6
  import { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';
6
7
  import { KbqFocusableComponent } from './navbar.component';
7
8
  import { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';
8
9
  import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/cdk/a11y";
9
11
  export class KbqVerticalNavbar extends KbqFocusableComponent {
10
12
  get expanded() {
11
13
  return this._expanded;
@@ -14,8 +16,9 @@ export class KbqVerticalNavbar extends KbqFocusableComponent {
14
16
  this._expanded = coerceBooleanProperty(value);
15
17
  this.updateExpandedStateForItems();
16
18
  }
17
- constructor(changeDetectorRef) {
18
- super(changeDetectorRef);
19
+ constructor(elementRef, changeDetectorRef, focusMonitor) {
20
+ super(changeDetectorRef, elementRef, focusMonitor);
21
+ this.elementRef = elementRef;
19
22
  this.animationDone = new Subject();
20
23
  this._expanded = false;
21
24
  this.updateExpandedStateForItems = () => {
@@ -67,7 +70,7 @@ export class KbqVerticalNavbar extends KbqFocusableComponent {
67
70
  this.keyManager.onKeydown(event);
68
71
  }
69
72
  }
70
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqVerticalNavbar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqVerticalNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
71
74
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqVerticalNavbar, selector: "kbq-vertical-navbar", inputs: { expanded: "expanded" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-vertical-navbar" }, queries: [{ propertyName: "bento", first: true, predicate: i0.forwardRef(function () { return KbqNavbarBento; }), descendants: true }, { propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return KbqNavbarRectangleElement; }), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(function () { return KbqNavbarItem; }), descendants: true }], exportAs: ["KbqVerticalNavbar"], usesInheritance: true, ngImport: i0, template: `
72
75
  <div class="kbq-vertical-navbar__container"
73
76
  [@toggle]="expanded"
@@ -99,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
99
102
  '(blur)': 'blur()',
100
103
  '(keydown)': 'onKeyDown($event)'
101
104
  }, animations: [toggleVerticalNavbarAnimation()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-vertical-navbar{position:relative;min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px);height:100%}.kbq-vertical-navbar .kbq-navbar-container{flex-direction:column;align-items:unset}.kbq-vertical-navbar .kbq-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;position:absolute;z-index:998;height:100%}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-collapsed{width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-expanded{width:var(--kbq-vertical-navbar-size-states-expanded-width, 240px)}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
102
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { rectangleElements: [{
105
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { rectangleElements: [{
103
106
  type: ContentChildren,
104
107
  args: [forwardRef(() => KbqNavbarRectangleElement), { descendants: true }]
105
108
  }], items: [{
@@ -111,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
111
114
  }], expanded: [{
112
115
  type: Input
113
116
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL3ZlcnRpY2FsLW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYix5QkFBeUIsRUFDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFvQzVFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFVeEQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUlELFlBQVksaUJBQW9DO1FBQzVDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FB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VCxRQU9LO3dCQUNGLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLGlCQUFpQixFQUFFLFVBQVU7d0JBRTdCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixRQUFRLEVBQUUsUUFBUTt3QkFFbEIsV0FBVyxFQUFFLG1CQUFtQjtxQkFDbkMsY0FDVyxDQUFDLDZCQUE2QixFQUFFLENBQUMsbUJBQzVCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7d0dBSXJDLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR1YsS0FBSztzQkFBN0UsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUV2QixLQUFLO3NCQUFwRCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBSzFDLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERPV05fQVJST1csXG4gICAgVVBfQVJST1csXG4gICAgVEFCLFxuICAgIGlzVmVydGljYWxNb3ZlbWVudCxcbiAgICBpc0hvcml6b250YWxNb3ZlbWVudFxufSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgS2JxTmF2YmFyQmVudG8sXG4gICAgS2JxTmF2YmFySXRlbSxcbiAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50XG59IGZyb20gJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEticUZvY3VzYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0b2dnbGVWZXJ0aWNhbE5hdmJhckFuaW1hdGlvbiB9IGZyb20gJy4vdmVydGljYWwtbmF2YmFyLmFuaW1hdGlvbic7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdmVydGljYWwtbmF2YmFyJyxcbiAgICBleHBvcnRBczogJ0ticVZlcnRpY2FsTmF2YmFyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLXZlcnRpY2FsLW5hdmJhcl9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICBbQHRvZ2dsZV09XCJleHBhbmRlZFwiXG4gICAgICAgICAgICAgKEB0b2dnbGUuZG9uZSk9XCJhbmltYXRpb25Eb25lLm5leHQoKVwiXG4gICAgICAgICAgICAgW2NsYXNzLmticS1jb2xsYXBzZWRdPVwiIWV4cGFuZGVkXCJcbiAgICAgICAgICAgICBbY2xhc3Mua2JxLWV4cGFuZGVkXT1cImV4cGFuZGVkXCI+XG5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtbmF2YmFyLWNvbnRhaW5lcl0sIGticS1uYXZiYXItY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1uYXZiYXItdG9nZ2xlXSwga2JxLW5hdmJhci10b2dnbGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL3ZlcnRpY2FsLW5hdmJhci5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWl0ZW0uc2NzcycsXG4gICAgICAgICcuL25hdmJhci1icmFuZC5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWRpdmlkZXIuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdmVydGljYWwtbmF2YmFyJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnZm9jdXMoKScsXG4gICAgICAgICcoYmx1ciknOiAnYmx1cigpJyxcblxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW3RvZ2dsZVZlcnRpY2FsTmF2YmFyQW5pbWF0aW9uKCldLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxVmVydGljYWxOYXZiYXIgZXh0ZW5kcyBLYnFGb2N1c2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWN0YW5nbGVFbGVtZW50czogUXVlcnlMaXN0PEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGl0ZW1zOiBRdWVyeUxpc3Q8S2JxTmF2YmFySXRlbT47XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyQmVudG8pKSBiZW50bzogS2JxTmF2YmFyQmVudG87XG5cbiAgICByZWFkb25seSBhbmltYXRpb25Eb25lOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV4cGFuZGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZVRvb2x0aXBGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEl0ZW1zU3RhdGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVFeHBhbmRlZFN0YXRlRm9ySXRlbXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVUb29sdGlwRm9ySXRlbXMoKTtcblxuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzLmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZXRJdGVtc1N0YXRlKTtcblxuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIud2l0aFZlcnRpY2FsT3JpZW50YXRpb24odHJ1ZSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxuICAgICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgICBpZiAoaXNWZXJ0aWNhbE1vdmVtZW50KGV2ZW50KSB8fCBpc0hvcml6b250YWxNb3ZlbWVudChldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0Lm5leHQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IERPV05fQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IFVQX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0UHJldmlvdXNJdGVtQWN0aXZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmNvbGxhcHNlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBpdGVtLmJ1dHRvbj8udXBkYXRlQ2xhc3NNb2RpZmllckZvckljb25zKCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBGb3JJdGVtcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLnVwZGF0ZVRvb2x0aXAoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJdGVtc1N0YXRlID0gKCkgPT4ge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWN0YW5nbGVFbGVtZW50cz8uZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS52ZXJ0aWNhbCA9IHRydWUpKTtcbiAgICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL3ZlcnRpY2FsLW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUFFLFVBQVUsRUFDM0IsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYix5QkFBeUIsRUFDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBb0M1RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBVXhELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3ZDLENB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LDRHQWxDckM7Ozs7Ozs7Ozs7S0FVVCxxN0lBZ0JXLENBQUMsNkJBQTZCLEVBQUUsQ0FBQzs7MkZBSXBDLGlCQUFpQjtrQkFqQzdCLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCLG1CQUFtQixZQUNuQjs7Ozs7Ozs7OztLQVVULFFBT0s7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIsaUJBQWlCLEVBQUUsVUFBVTt3QkFFN0IsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLFFBQVEsRUFBRSxRQUFRO3dCQUVsQixXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQyxjQUNXLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxtQkFDNUIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs0SkFJckMsaUJBQWlCO3NCQURoQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHVixLQUFLO3NCQUE3RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRXZCLEtBQUs7c0JBQXBELFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFLMUMsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRE9XTl9BUlJPVyxcbiAgICBVUF9BUlJPVyxcbiAgICBUQUIsXG4gICAgaXNWZXJ0aWNhbE1vdmVtZW50LFxuICAgIGlzSG9yaXpvbnRhbE1vdmVtZW50XG59IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBLYnFOYXZiYXJCZW50byxcbiAgICBLYnFOYXZiYXJJdGVtLFxuICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnRcbn0gZnJvbSAnLi9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IHRvZ2dsZVZlcnRpY2FsTmF2YmFyQW5pbWF0aW9uIH0gZnJvbSAnLi92ZXJ0aWNhbC1uYXZiYXIuYW5pbWF0aW9uJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS12ZXJ0aWNhbC1uYXZiYXInLFxuICAgIGV4cG9ydEFzOiAnS2JxVmVydGljYWxOYXZiYXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdmVydGljYWwtbmF2YmFyX19jb250YWluZXJcIlxuICAgICAgICAgICAgIFtAdG9nZ2xlXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAoQHRvZ2dsZS5kb25lKT1cImFuaW1hdGlvbkRvbmUubmV4dCgpXCJcbiAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvbGxhcHNlZF09XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1uYXZiYXItY29udGFpbmVyXSwga2JxLW5hdmJhci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLW5hdmJhci10b2dnbGVdLCBrYnEtbmF2YmFyLXRvZ2dsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vdmVydGljYWwtbmF2YmFyLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItaXRlbS5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWJyYW5kLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItZGl2aWRlci5zY3NzJ1xuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS12ZXJ0aWNhbC1uYXZiYXInLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbdG9nZ2xlVmVydGljYWxOYXZiYXJBbmltYXRpb24oKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFWZXJ0aWNhbE5hdmJhciBleHRlbmRzIEticUZvY3VzYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHJlY3RhbmdsZUVsZW1lbnRzOiBRdWVyeUxpc3Q8S2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFySXRlbSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgaXRlbXM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJJdGVtPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJCZW50bykpIGJlbnRvOiBLYnFOYXZiYXJCZW50bztcblxuICAgIHJlYWRvbmx5IGFuaW1hdGlvbkRvbmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXhwYW5kZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgZWxlbWVudFJlZiwgZm9jdXNNb25pdG9yKTtcblxuICAgICAgICB0aGlzLmFuaW1hdGlvbkRvbmVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy51cGRhdGVUb29sdGlwRm9ySXRlbXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtc1N0YXRlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVG9vbHRpcEZvckl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cy5jaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuc2V0SXRlbXNTdGF0ZSk7XG5cbiAgICAgICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKHRydWUpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGVwcmVjYXRpb25cbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG5cbiAgICAgICAgaWYgKGlzVmVydGljYWxNb3ZlbWVudChldmVudCkgfHwgaXNIb3Jpem9udGFsTW92ZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5uZXh0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaXRlbS5idXR0b24/LnVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwRm9ySXRlbXMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS51cGRhdGVUb29sdGlwKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0udmVydGljYWwgPSB0cnVlKSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { animate, state, style, transition, trigger } from '@angular/animations';
2
- export const mcPopoverAnimations = {
2
+ export const kbqPopoverAnimations = {
3
3
  /** Animation that transitions a tooltip in and out. */
4
4
  popoverState: trigger('state', [
5
5
  state('initial', style({
@@ -13,4 +13,4 @@ export const mcPopoverAnimations = {
13
13
  transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))
14
14
  ])
15
15
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUVQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDVixNQUFNLHFCQUFxQixDQUFDO0FBRzdCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUU1QjtJQUNBLHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRTtRQUMzQixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxlQUFlO1NBQzdCLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQztZQUN6RSxPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxhQUFhO1NBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0osVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDNUUsQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLFxuICAgIHN0YXRlLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgdHJpZ2dlclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuXG5leHBvcnQgY29uc3QgbWNQb3BvdmVyQW5pbWF0aW9uczoge1xuICAgIHJlYWRvbmx5IHBvcG92ZXJTdGF0ZTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhO1xufSA9IHtcbiAgICAvKiogQW5pbWF0aW9uIHRoYXQgdHJhbnNpdGlvbnMgYSB0b29sdGlwIGluIGFuZCBvdXQuICovXG4gICAgcG9wb3ZlclN0YXRlOiB0cmlnZ2VyKCdzdGF0ZScsIFtcbiAgICAgICAgc3RhdGUoJ2luaXRpYWwnLCBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMSwgMC44KSdcbiAgICAgICAgfSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZpc2libGUnLCBhbmltYXRlKCcxMjBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScsIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgxLCAxKSdcbiAgICAgICAgfSkpKSxcbiAgICAgICAgdHJhbnNpdGlvbignKiA9PiBoaWRkZW4nLCBhbmltYXRlKCcxMDBtcyBsaW5lYXInLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpKVxuICAgIF0pXG59O1xuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUVQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDVixNQUFNLHFCQUFxQixDQUFDO0FBRzdCLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUU3QjtJQUNBLHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRTtRQUMzQixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxlQUFlO1NBQzdCLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQztZQUN6RSxPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxhQUFhO1NBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0osVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDNUUsQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLFxuICAgIHN0YXRlLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgdHJpZ2dlclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuXG5leHBvcnQgY29uc3Qga2JxUG9wb3ZlckFuaW1hdGlvbnM6IHtcbiAgICByZWFkb25seSBwb3BvdmVyU3RhdGU6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gICAgLyoqIEFuaW1hdGlvbiB0aGF0IHRyYW5zaXRpb25zIGEgdG9vbHRpcCBpbiBhbmQgb3V0LiAqL1xuICAgIHBvcG92ZXJTdGF0ZTogdHJpZ2dlcignc3RhdGUnLCBbXG4gICAgICAgIHN0YXRlKCdpbml0aWFsJywgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDEsIDAuOCknXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2aXNpYmxlJywgYW5pbWF0ZSgnMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknLCBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMSwgMSknXG4gICAgICAgIH0pKSksXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gaGlkZGVuJywgYW5pbWF0ZSgnMTAwbXMgbGluZWFyJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSlcbiAgICBdKVxufTtcbiJdfQ==
@@ -4,7 +4,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, Eleme
4
4
  import { ThemePalette } from '@koobiq/components/core';
5
5
  import { Subject } from 'rxjs';
6
6
  import { takeUntil } from 'rxjs/operators';
7
- import { mcPopoverAnimations } from './popover-animations';
7
+ import { kbqPopoverAnimations } from './popover-animations';
8
8
  import { KBQ_POPOVER_SCROLL_STRATEGY, KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/common";
@@ -21,11 +21,11 @@ export class KbqPopoverConfirmComponent extends KbqPopoverComponent {
21
21
  this.onConfirm = new Subject();
22
22
  }
23
23
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqPopoverConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
24
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqPopoverConfirmComponent, selector: "kbq-popover-confirm-component", usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-popover-confirm kbq-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n", styles: [".kbq-popover{position:relative;border-radius:var(--kbq-popover-size-border-radius, 8px);border-width:var(--kbq-popover-size-border-width, 1px);border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.kbq-popover.kbq-popover_small{max-width:var(--kbq-popover-size-small-width, 200px)}.kbq-popover.kbq-popover_medium{max-width:var(--kbq-popover-size-medium-width, 400px)}.kbq-popover.kbq-popover_large{max-width:var(--kbq-popover-size-large-width, 640px)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover__container{display:flex;flex-direction:column;max-height:var(--kbq-popover-size-max-height, 480px);border-radius:var(--kbq-popover-size-border-radius, 8px);overflow:hidden}.kbq-popover__header{display:flex;align-items:center;height:var(--kbq-popover-header-size-height, 40px);padding:var(--kbq-popover-header-size-padding, 0 16px);border-bottom-width:1px;border-bottom-style:solid}.kbq-popover__content{overflow:hidden;padding:var(--kbq-popover-size-padding, 16px)}.kbq-popover__content.kbq-popover__content_padding_bottom{padding-bottom:calc(var(--kbq-popover-size-padding, 16px) + var(--kbq-popover-footer-size-margin-top, 8px))}.kbq-popover__footer{box-sizing:border-box;height:var(--kbq-popover-footer-size-height, 56px);padding:var(--kbq-popover-footer-size-padding, 12px 16px);border-top-width:1px;border-top-style:solid}.kbq-popover__arrow{position:absolute;z-index:-1;width:var(--kbq-popover-size-arrow-size, 12px);height:var(--kbq-popover-size-arrow-size, 12px);border:solid 1px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-right .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-right-top .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-left .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-left-top .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-bottom .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover-confirm .kbq-popover__content{padding:24px 16px 16px}.kbq-popover-confirm .kbq-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [mcPopoverAnimations.popoverState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqPopoverConfirmComponent, selector: "kbq-popover-confirm-component", usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-popover-confirm kbq-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n", styles: [".kbq-popover{position:relative;border-radius:var(--kbq-popover-size-border-radius, );border-width:var(--kbq-popover-size-border-width, );border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.kbq-popover.kbq-popover_small{max-width:var(--kbq-popover-size-small-width, )}.kbq-popover.kbq-popover_medium{max-width:var(--kbq-popover-size-medium-width, )}.kbq-popover.kbq-popover_large{max-width:var(--kbq-popover-size-large-width, )}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover__container{display:flex;flex-direction:column;max-height:var(--kbq-popover-size-max-height, );border-radius:var(--kbq-popover-size-border-radius, );overflow:hidden}.kbq-popover__header{display:flex;align-items:center;height:var(--kbq-popover-header-size-height, );padding:var(--kbq-popover-header-size-padding, );border-bottom-width:1px;border-bottom-style:solid}.kbq-popover__content{overflow:hidden;padding:var(--kbq-popover-size-padding, )}.kbq-popover__content.kbq-popover__content_padding_bottom{padding-bottom:calc(var(--kbq-popover-size-padding, ) + var(--kbq-popover-footer-size-margin-top, ))}.kbq-popover__footer{box-sizing:border-box;height:var(--kbq-popover-footer-size-height, );padding:var(--kbq-popover-footer-size-padding, );border-top-width:1px;border-top-style:solid}.kbq-popover__arrow{position:absolute;z-index:-1;width:var(--kbq-popover-size-arrow-size, );height:var(--kbq-popover-size-arrow-size, );border:solid 1px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-right .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-right-top .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-left .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-left-top .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-bottom .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover-confirm .kbq-popover__content{padding:24px 16px 16px}.kbq-popover-confirm .kbq-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [kbqPopoverAnimations.popoverState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqPopoverConfirmComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'kbq-popover-confirm-component', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [mcPopoverAnimations.popoverState], template: "<div class=\"kbq-popover-confirm kbq-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n", styles: [".kbq-popover{position:relative;border-radius:var(--kbq-popover-size-border-radius, 8px);border-width:var(--kbq-popover-size-border-width, 1px);border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.kbq-popover.kbq-popover_small{max-width:var(--kbq-popover-size-small-width, 200px)}.kbq-popover.kbq-popover_medium{max-width:var(--kbq-popover-size-medium-width, 400px)}.kbq-popover.kbq-popover_large{max-width:var(--kbq-popover-size-large-width, 640px)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:calc(var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover__container{display:flex;flex-direction:column;max-height:var(--kbq-popover-size-max-height, 480px);border-radius:var(--kbq-popover-size-border-radius, 8px);overflow:hidden}.kbq-popover__header{display:flex;align-items:center;height:var(--kbq-popover-header-size-height, 40px);padding:var(--kbq-popover-header-size-padding, 0 16px);border-bottom-width:1px;border-bottom-style:solid}.kbq-popover__content{overflow:hidden;padding:var(--kbq-popover-size-padding, 16px)}.kbq-popover__content.kbq-popover__content_padding_bottom{padding-bottom:calc(var(--kbq-popover-size-padding, 16px) + var(--kbq-popover-footer-size-margin-top, 8px))}.kbq-popover__footer{box-sizing:border-box;height:var(--kbq-popover-footer-size-height, 56px);padding:var(--kbq-popover-footer-size-padding, 12px 16px);border-top-width:1px;border-top-style:solid}.kbq-popover__arrow{position:absolute;z-index:-1;width:var(--kbq-popover-size-arrow-size, 12px);height:var(--kbq-popover-size-arrow-size, 12px);border:solid 1px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-right .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-right-top .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-left .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-left-top .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-bottom .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, 11px) / -2)}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, 11px) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, 9px))}.kbq-popover-confirm .kbq-popover__content{padding:24px 16px 16px}.kbq-popover-confirm .kbq-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"] }]
28
+ args: [{ selector: 'kbq-popover-confirm-component', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [kbqPopoverAnimations.popoverState], template: "<div class=\"kbq-popover-confirm kbq-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n", styles: [".kbq-popover{position:relative;border-radius:var(--kbq-popover-size-border-radius, );border-width:var(--kbq-popover-size-border-width, );border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.kbq-popover.kbq-popover_small{max-width:var(--kbq-popover-size-small-width, )}.kbq-popover.kbq-popover_medium{max-width:var(--kbq-popover-size-medium-width, )}.kbq-popover.kbq-popover_large{max-width:var(--kbq-popover-size-large-width, )}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:calc(var(--kbq-popover-size-trigger-margin, ))}.kbq-popover__container{display:flex;flex-direction:column;max-height:var(--kbq-popover-size-max-height, );border-radius:var(--kbq-popover-size-border-radius, );overflow:hidden}.kbq-popover__header{display:flex;align-items:center;height:var(--kbq-popover-header-size-height, );padding:var(--kbq-popover-header-size-padding, );border-bottom-width:1px;border-bottom-style:solid}.kbq-popover__content{overflow:hidden;padding:var(--kbq-popover-size-padding, )}.kbq-popover__content.kbq-popover__content_padding_bottom{padding-bottom:calc(var(--kbq-popover-size-padding, ) + var(--kbq-popover-footer-size-margin-top, ))}.kbq-popover__footer{box-sizing:border-box;height:var(--kbq-popover-footer-size-height, );padding:var(--kbq-popover-footer-size-padding, );border-top-width:1px;border-top-style:solid}.kbq-popover__arrow{position:absolute;z-index:-1;width:var(--kbq-popover-size-arrow-size, );height:var(--kbq-popover-size-arrow-size, );border:solid 1px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:calc(var(--kbq-popover-size-arrow-size, -1) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-right .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-right-top .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:calc(var(--kbq-popover-size-arrow-size, -1) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-left .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:50%;margin-top:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-left-top .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);top:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:calc(var(--kbq-popover-size-arrow-size, -1) / -2);bottom:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-bottom .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:50%;margin-left:calc(var(--kbq-popover-size-arrow-size, -1) / -2)}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);left:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:calc(var(--kbq-popover-size-arrow-size, -1) / -2);right:calc(18px - var(--kbq-popover-size-trigger-margin, ))}.kbq-popover-confirm .kbq-popover__content{padding:24px 16px 16px}.kbq-popover-confirm .kbq-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"] }]
29
29
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
30
30
  export class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {
31
31
  get confirmText() {
@@ -68,13 +68,13 @@ export class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {
68
68
  return KbqPopoverConfirmComponent;
69
69
  }
70
70
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqPopoverConfirmTrigger, deps: [{ token: i4.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i4.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: KBQ_POPOVER_SCROLL_STRATEGY }, { token: i5.Directionality, optional: true }, { token: KBQ_POPOVER_CONFIRM_TEXT, optional: true }, { token: KBQ_POPOVER_CONFIRM_BUTTON_TEXT, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
71
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqPopoverConfirmTrigger, selector: "[mcPopoverConfirm]", inputs: { confirmText: ["mcPopoverConfirmText", "confirmText"], confirmButtonText: ["mcPopoverConfirmButtonText", "confirmButtonText"] }, outputs: { confirm: "confirm" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-popover_open": "isOpen" } }, exportAs: ["mcPopoverConfirm"], usesInheritance: true, ngImport: i0 }); }
71
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqPopoverConfirmTrigger, selector: "[kbqPopoverConfirm]", inputs: { confirmText: ["kbqPopoverConfirmText", "confirmText"], confirmButtonText: ["kbqPopoverConfirmButtonText", "confirmButtonText"] }, outputs: { confirm: "confirm" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-popover_open": "isOpen" } }, exportAs: ["kbqPopoverConfirm"], usesInheritance: true, ngImport: i0 }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqPopoverConfirmTrigger, decorators: [{
74
74
  type: Directive,
75
75
  args: [{
76
- selector: '[mcPopoverConfirm]',
77
- exportAs: 'mcPopoverConfirm',
76
+ selector: '[kbqPopoverConfirm]',
77
+ exportAs: 'kbqPopoverConfirm',
78
78
  host: {
79
79
  '[class.kbq-popover_open]': 'isOpen',
80
80
  '(keydown)': 'handleKeydown($event)',
@@ -100,9 +100,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
100
100
  type: Output
101
101
  }], confirmText: [{
102
102
  type: Input,
103
- args: ['mcPopoverConfirmText']
103
+ args: ['kbqPopoverConfirmText']
104
104
  }], confirmButtonText: [{
105
105
  type: Input,
106
- args: ['mcPopoverConfirmButtonText']
106
+ args: ['kbqPopoverConfirmButtonText']
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcxRyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxFQUFFLENBQUMsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxFQUFFLENBQUMsQ0FBQztB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RiwwQkFBMEIsRUFBRSxRQUFRO3dCQUNwQyxXQUFXLEVBQUUsdUJBQXVCO3dCQUNwQyxZQUFZLEVBQUUsa0JBQWtCO3FCQUNuQztpQkFDSjs7MEJBb0NRLE1BQU07MkJBQUMsMkJBQTJCOzswQkFDbEMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQjs0Q0FyQzdDLE9BQU87c0JBQWhCLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxLQUFLO3VCQUFDLHNCQUFzQjtnQkFjekIsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBtY1BvcG92ZXJBbmltYXRpb25zIH0gZnJvbSAnLi9wb3BvdmVyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgS0JRX1BPUE9WRVJfU0NST0xMX1NUUkFURUdZLCBLYnFQb3BvdmVyQ29tcG9uZW50LCBLYnFQb3BvdmVyVHJpZ2dlciB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCBjb25zdCBLQlFfUE9QT1ZFUl9DT05GSVJNX1RFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignJyk7XG5leHBvcnQgY29uc3QgS0JRX1BPUE9WRVJfQ09ORklSTV9CVVRUT05fVEVYVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCcnKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtcG9wb3Zlci1jb25maXJtLWNvbXBvbmVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbbWNQb3BvdmVyQW5pbWF0aW9ucy5wb3BvdmVyU3RhdGVdXG59KVxuZXhwb3J0IGNsYXNzIEticVBvcG92ZXJDb25maXJtQ29tcG9uZW50IGV4dGVuZHMgS2JxUG9wb3ZlckNvbXBvbmVudCB7XG4gICAgdGhlbWVQYWxldHRlID0gVGhlbWVQYWxldHRlO1xuXG4gICAgb25Db25maXJtID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gICAgY29uZmlybVRleHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21jUG9wb3ZlckNvbmZpcm1dJyxcbiAgICBleHBvcnRBczogJ21jUG9wb3ZlckNvbmZpcm0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5rYnEtcG9wb3Zlcl9vcGVuXSc6ICdpc09wZW4nLFxuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgICAgICcodG91Y2hlbmQpJzogJ2hhbmRsZVRvdWNoZW5kKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFQb3BvdmVyQ29uZmlybVRyaWdnZXIgZXh0ZW5kcyBLYnFQb3BvdmVyVHJpZ2dlciB7XG4gICAgQE91dHB1dCgpIGNvbmZpcm06IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgnbWNQb3BvdmVyQ29uZmlybVRleHQnKVxuICAgIGdldCBjb25maXJtVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlybVRleHQ7XG4gICAgfVxuXG4gICAgc2V0IGNvbmZpcm1UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fY29uZmlybVRleHQgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb25maXJtVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KCdtY1BvcG92ZXJDb25maXJtQnV0dG9uVGV4dCcpXG4gICAgZ2V0IGNvbmZpcm1CdXR0b25UZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maXJtQnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICBzZXQgY29uZmlybUJ1dHRvblRleHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jb25maXJtQnV0dG9uVGV4dCA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSAn0JTQsCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KEtCUV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX1BPUE9WRVJfQ09ORklSTV9URVhUKSBjb25maXJtVGV4dDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9QT1BPVkVSX0NPTkZJUk1fQlVUVE9OX1RFWFQpIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG5cbiAgICAgICAgdGhpcy5jb25maXJtVGV4dCA9IGNvbmZpcm1UZXh0IHx8ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INC/0YDQvtC00L7Qu9C20LjRgtGMPyc7XG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBjb25maXJtQnV0dG9uVGV4dCB8fCAn0JTQsCc7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuICAgICAgICBzdXBlci51cGRhdGVEYXRhKCk7XG4gICAgICAgIHRoaXMuc2V0dXBCdXR0b25FdmVudHMoKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5jb25maXJtQnV0dG9uVGV4dCA9IHRoaXMuY29uZmlybUJ1dHRvblRleHQ7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuY29uZmlybVRleHQgPSB0aGlzLmNvbmZpcm1UZXh0O1xuICAgIH1cblxuICAgIHNldHVwQnV0dG9uRXZlbnRzKCkge1xuICAgICAgICB0aGlzLmluc3RhbmNlLm9uQ29uZmlybS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCkge1xuICAgICAgICByZXR1cm4gS2JxUG9wb3ZlckNvbmZpcm1Db21wb25lbnQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImticS1wb3BvdmVyLWNvbmZpcm0ga2JxLXBvcG92ZXJcIlxuICAgICBjZGtUcmFwRm9jdXM9XCJ0cnVlXCJcbiAgICAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU9XCJ0cnVlXCJcbiAgICAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxuICAgICBbQHN0YXRlXT1cInZpc2liaWxpdHlcIlxuICAgICAoQHN0YXRlLnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAoQHN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImticS1wb3BvdmVyX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+e3sgY29uZmlybVRleHQgfX08L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBrYnEtYnV0dG9uIFtjb2xvcl09XCJ0aGVtZVBhbGV0dGUuUHJpbWFyeVwiIChjbGljayk9XCJvbkNvbmZpcm0ubmV4dCgpXCI+e3tjb25maXJtQnV0dG9uVGV4dH19PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLXBvcG92ZXJfX2Fycm93XCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcxRyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxFQUFFLENBQUMsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxFQUFFLENBQUMsQ0FBQztB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RiwwQkFBMEIsRUFBRSxRQUFRO3dCQUNwQyxXQUFXLEVBQUUsdUJBQXVCO3dCQUNwQyxZQUFZLEVBQUUsa0JBQWtCO3FCQUNuQztpQkFDSjs7MEJBb0NRLE1BQU07MkJBQUMsMkJBQTJCOzswQkFDbEMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQjs0Q0FyQzdDLE9BQU87c0JBQWhCLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxLQUFLO3VCQUFDLHVCQUF1QjtnQkFjMUIsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBrYnFQb3BvdmVyQW5pbWF0aW9ucyB9IGZyb20gJy4vcG9wb3Zlci1hbmltYXRpb25zJztcbmltcG9ydCB7IEtCUV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSwgS2JxUG9wb3ZlckNvbXBvbmVudCwgS2JxUG9wb3ZlclRyaWdnZXIgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuXG5leHBvcnQgY29uc3QgS0JRX1BPUE9WRVJfQ09ORklSTV9URVhUID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJycpO1xuZXhwb3J0IGNvbnN0IEtCUV9QT1BPVkVSX0NPTkZJUk1fQlVUVE9OX1RFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXBvcG92ZXItY29uZmlybS1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0eWxlVXJsczogWycuL3BvcG92ZXIuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW2ticVBvcG92ZXJBbmltYXRpb25zLnBvcG92ZXJTdGF0ZV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUG9wb3ZlckNvbmZpcm1Db21wb25lbnQgZXh0ZW5kcyBLYnFQb3BvdmVyQ29tcG9uZW50IHtcbiAgICB0aGVtZVBhbGV0dGUgPSBUaGVtZVBhbGV0dGU7XG5cbiAgICBvbkNvbmZpcm0gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgICBjb25maXJtVGV4dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxUG9wb3ZlckNvbmZpcm1dJyxcbiAgICBleHBvcnRBczogJ2ticVBvcG92ZXJDb25maXJtJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Mua2JxLXBvcG92ZXJfb3Blbl0nOiAnaXNPcGVuJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKHRvdWNoZW5kKSc6ICdoYW5kbGVUb3VjaGVuZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUG9wb3ZlckNvbmZpcm1UcmlnZ2VyIGV4dGVuZHMgS2JxUG9wb3ZlclRyaWdnZXIge1xuICAgIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoJ2ticVBvcG92ZXJDb25maXJtVGV4dCcpXG4gICAgZ2V0IGNvbmZpcm1UZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maXJtVGV4dDtcbiAgICB9XG5cbiAgICBzZXQgY29uZmlybVRleHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jb25maXJtVGV4dCA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbmZpcm1UZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2ticVBvcG92ZXJDb25maXJtQnV0dG9uVGV4dCcpXG4gICAgZ2V0IGNvbmZpcm1CdXR0b25UZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maXJtQnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICBzZXQgY29uZmlybUJ1dHRvblRleHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jb25maXJtQnV0dG9uVGV4dCA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSAn0JTQsCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KEtCUV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX1BPUE9WRVJfQ09ORklSTV9URVhUKSBjb25maXJtVGV4dDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9QT1BPVkVSX0NPTkZJUk1fQlVUVE9OX1RFWFQpIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG5cbiAgICAgICAgdGhpcy5jb25maXJtVGV4dCA9IGNvbmZpcm1UZXh0IHx8ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INC/0YDQvtC00L7Qu9C20LjRgtGMPyc7XG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBjb25maXJtQnV0dG9uVGV4dCB8fCAn0JTQsCc7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuICAgICAgICBzdXBlci51cGRhdGVEYXRhKCk7XG4gICAgICAgIHRoaXMuc2V0dXBCdXR0b25FdmVudHMoKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5jb25maXJtQnV0dG9uVGV4dCA9IHRoaXMuY29uZmlybUJ1dHRvblRleHQ7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuY29uZmlybVRleHQgPSB0aGlzLmNvbmZpcm1UZXh0O1xuICAgIH1cblxuICAgIHNldHVwQnV0dG9uRXZlbnRzKCkge1xuICAgICAgICB0aGlzLmluc3RhbmNlLm9uQ29uZmlybS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCkge1xuICAgICAgICByZXR1cm4gS2JxUG9wb3ZlckNvbmZpcm1Db21wb25lbnQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImticS1wb3BvdmVyLWNvbmZpcm0ga2JxLXBvcG92ZXJcIlxuICAgICBjZGtUcmFwRm9jdXM9XCJ0cnVlXCJcbiAgICAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU9XCJ0cnVlXCJcbiAgICAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxuICAgICBbQHN0YXRlXT1cInZpc2liaWxpdHlcIlxuICAgICAoQHN0YXRlLnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAoQHN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImticS1wb3BvdmVyX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+e3sgY29uZmlybVRleHQgfX08L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBrYnEtYnV0dG9uIFtjb2xvcl09XCJ0aGVtZVBhbGV0dGUuUHJpbWFyeVwiIChjbGljayk9XCJvbkNvbmZpcm0ubmV4dCgpXCI+e3tjb25maXJtQnV0dG9uVGV4dH19PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLXBvcG92ZXJfX2Fycm93XCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==