@sbb-esta/lyne-elements 3.0.0-next.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/accordion/accordion.component.js +10 -10
  2. package/alert/alert/alert.component.d.ts +4 -8
  3. package/alert/alert/alert.component.d.ts.map +1 -1
  4. package/alert/alert/alert.component.js +33 -33
  5. package/alert/alert-group/alert-group.component.d.ts +0 -3
  6. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  7. package/alert/alert-group/alert-group.component.js +44 -45
  8. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  9. package/autocomplete/autocomplete-base-element.js +9 -9
  10. package/autocomplete/autocomplete.component.d.ts +0 -4
  11. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  12. package/autocomplete/autocomplete.component.js +1 -1
  13. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  14. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  15. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +11 -11
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  17. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  18. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +14 -18
  19. package/button/accent-button/accent-button.component.d.ts +0 -1
  20. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  21. package/button/button/button.component.d.ts +0 -1
  22. package/button/button/button.component.d.ts.map +1 -1
  23. package/button/mini-button/mini-button.component.d.ts +0 -1
  24. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  25. package/button/secondary-button/secondary-button.component.d.ts +0 -1
  26. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  27. package/button/transparent-button/transparent-button.component.d.ts +0 -1
  28. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  29. package/calendar/calendar.component.d.ts +1 -5
  30. package/calendar/calendar.component.d.ts.map +1 -1
  31. package/calendar/calendar.component.js +68 -66
  32. package/card/card-button/card-button.component.d.ts +0 -1
  33. package/card/card-button/card-button.component.d.ts.map +1 -1
  34. package/checkbox/checkbox/checkbox.component.d.ts +2 -2
  35. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  36. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  37. package/checkbox/checkbox-panel/checkbox-panel.component.js +37 -39
  38. package/chip/chip/chip.component.d.ts +2 -3
  39. package/chip/chip/chip.component.d.ts.map +1 -1
  40. package/chip/chip/chip.component.js +31 -30
  41. package/chip/chip-group/chip-group.component.d.ts +4 -12
  42. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  43. package/chip/chip-group/chip-group.component.js +52 -46
  44. package/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  45. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  46. package/container/sticky-bar/sticky-bar.component.js +49 -49
  47. package/core/base-elements/open-close-base-element.d.ts +12 -22
  48. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  49. package/core/base-elements/open-close-base-element.js +23 -17
  50. package/core/eventing.d.ts +0 -1
  51. package/core/eventing.d.ts.map +1 -1
  52. package/core/eventing.js +10 -12
  53. package/core/interfaces/types.d.ts +0 -5
  54. package/core/interfaces/types.d.ts.map +1 -1
  55. package/core/interfaces.d.ts +0 -1
  56. package/core/interfaces.d.ts.map +1 -1
  57. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  58. package/core/mixins/disabled-mixin.js +43 -40
  59. package/core/mixins/panel-mixin.d.ts.map +1 -1
  60. package/core/mixins/panel-mixin.js +35 -38
  61. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  62. package/core/mixins/readonly-mixin.js +25 -19
  63. package/custom-elements.json +17460 -16560
  64. package/date-input/date-input.component.d.ts +0 -1
  65. package/date-input/date-input.component.d.ts.map +1 -1
  66. package/datepicker/datepicker/datepicker.component.d.ts +0 -6
  67. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  68. package/datepicker/datepicker/datepicker.component.js +9 -9
  69. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  70. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  71. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  72. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  73. package/development/accordion/accordion.component.js +3 -3
  74. package/development/alert/alert/alert.component.d.ts +4 -8
  75. package/development/alert/alert/alert.component.d.ts.map +1 -1
  76. package/development/alert/alert/alert.component.js +11 -9
  77. package/development/alert/alert-group/alert-group.component.d.ts +0 -3
  78. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  79. package/development/alert/alert-group/alert-group.component.js +14 -18
  80. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  81. package/development/autocomplete/autocomplete-base-element.js +5 -8
  82. package/development/autocomplete/autocomplete.component.d.ts +0 -4
  83. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  84. package/development/autocomplete/autocomplete.component.js +2 -2
  85. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  86. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  87. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  88. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  89. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  90. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -9
  91. package/development/button/accent-button/accent-button.component.d.ts +0 -1
  92. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  93. package/development/button/accent-button/accent-button.component.js +1 -1
  94. package/development/button/button/button.component.d.ts +0 -1
  95. package/development/button/button/button.component.d.ts.map +1 -1
  96. package/development/button/button/button.component.js +1 -1
  97. package/development/button/mini-button/mini-button.component.d.ts +0 -1
  98. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  99. package/development/button/mini-button/mini-button.component.js +1 -1
  100. package/development/button/secondary-button/secondary-button.component.d.ts +0 -1
  101. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  102. package/development/button/secondary-button/secondary-button.component.js +1 -1
  103. package/development/button/transparent-button/transparent-button.component.d.ts +0 -1
  104. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  105. package/development/button/transparent-button/transparent-button.component.js +1 -1
  106. package/development/calendar/calendar.component.d.ts +1 -5
  107. package/development/calendar/calendar.component.d.ts.map +1 -1
  108. package/development/calendar/calendar.component.js +11 -9
  109. package/development/card/card-button/card-button.component.d.ts +0 -1
  110. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  111. package/development/card/card-button/card-button.component.js +1 -1
  112. package/development/checkbox/checkbox/checkbox.component.d.ts +2 -2
  113. package/development/checkbox/checkbox/checkbox.component.js +1 -1
  114. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  115. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  116. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +14 -17
  117. package/development/chip/chip/chip.component.d.ts +2 -3
  118. package/development/chip/chip/chip.component.d.ts.map +1 -1
  119. package/development/chip/chip/chip.component.js +11 -10
  120. package/development/chip/chip-group/chip-group.component.d.ts +4 -12
  121. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  122. package/development/chip/chip-group/chip-group.component.js +20 -16
  123. package/development/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  124. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  125. package/development/container/sticky-bar/sticky-bar.component.js +20 -22
  126. package/development/core/base-elements/open-close-base-element.d.ts +12 -22
  127. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  128. package/development/core/base-elements/open-close-base-element.js +17 -15
  129. package/development/core/eventing.d.ts +0 -1
  130. package/development/core/eventing.d.ts.map +1 -1
  131. package/development/core/eventing.js +1 -3
  132. package/development/core/interfaces/types.d.ts +0 -5
  133. package/development/core/interfaces/types.d.ts.map +1 -1
  134. package/development/core/interfaces.d.ts +0 -1
  135. package/development/core/interfaces.d.ts.map +1 -1
  136. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  137. package/development/core/mixins/disabled-mixin.js +20 -17
  138. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  139. package/development/core/mixins/panel-mixin.js +8 -14
  140. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  141. package/development/core/mixins/readonly-mixin.js +17 -9
  142. package/development/date-input/date-input.component.d.ts +0 -1
  143. package/development/date-input/date-input.component.d.ts.map +1 -1
  144. package/development/date-input/date-input.component.js +1 -1
  145. package/development/datepicker/datepicker/datepicker.component.d.ts +0 -6
  146. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  147. package/development/datepicker/datepicker/datepicker.component.js +3 -3
  148. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  149. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  150. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  151. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  152. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  153. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  154. package/development/dialog/dialog/dialog.component.d.ts +0 -4
  155. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  156. package/development/dialog/dialog/dialog.component.js +3 -3
  157. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  158. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  159. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  160. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +15 -20
  161. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  162. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  163. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -11
  164. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  165. package/development/file-selector/common/file-selector-common.js +16 -7
  166. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -5
  167. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  168. package/development/file-selector/file-selector/file-selector.component.js +2 -2
  169. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  170. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  171. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -2
  172. package/development/flip-card/flip-card/flip-card.component.d.ts +0 -4
  173. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  174. package/development/flip-card/flip-card/flip-card.component.js +7 -9
  175. package/development/form-field/form-field/form-field.component.js +2 -2
  176. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  177. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  178. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  179. package/development/header/header-button/header-button.component.d.ts +0 -1
  180. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  181. package/development/header/header-button/header-button.component.js +1 -1
  182. package/development/image/image.component.d.ts +0 -2
  183. package/development/image/image.component.d.ts.map +1 -1
  184. package/development/image/image.component.js +4 -2
  185. package/development/journey-header/journey-header.component.js +1 -1
  186. package/development/link/block-link-button/block-link-button.component.d.ts +0 -1
  187. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  188. package/development/link/block-link-button/block-link-button.component.js +1 -1
  189. package/development/link/link-button/link-button.component.d.ts +0 -1
  190. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  191. package/development/link/link-button/link-button.component.js +1 -1
  192. package/development/menu/menu/menu.component.d.ts +0 -4
  193. package/development/menu/menu/menu.component.d.ts.map +1 -1
  194. package/development/menu/menu/menu.component.js +5 -8
  195. package/development/menu/menu-button/menu-button.component.d.ts +0 -1
  196. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  197. package/development/menu/menu-button/menu-button.component.js +1 -1
  198. package/development/navigation/navigation/navigation.component.d.ts +0 -4
  199. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  200. package/development/navigation/navigation/navigation.component.js +5 -8
  201. package/development/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  202. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  203. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  204. package/development/notification/notification.component.d.ts +5 -16
  205. package/development/notification/notification.component.d.ts.map +1 -1
  206. package/development/notification/notification.component.js +16 -18
  207. package/development/option/option/option-base-element.d.ts +8 -3
  208. package/development/option/option/option-base-element.d.ts.map +1 -1
  209. package/development/option/option/option-base-element.js +5 -4
  210. package/development/option/option/option.component.d.ts +3 -11
  211. package/development/option/option/option.component.d.ts.map +1 -1
  212. package/development/option/option/option.component.js +8 -11
  213. package/development/overlay/overlay-base-element.d.ts +2 -3
  214. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  215. package/development/overlay/overlay-base-element.js +10 -5
  216. package/development/overlay/overlay.component.d.ts +4 -8
  217. package/development/overlay/overlay.component.d.ts.map +1 -1
  218. package/development/overlay/overlay.component.js +7 -7
  219. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  220. package/development/paginator/common/paginator-common.js +12 -10
  221. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  222. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  223. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  224. package/development/paginator/paginator/paginator.component.d.ts +0 -2
  225. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  226. package/development/paginator/paginator/paginator.component.js +1 -1
  227. package/development/popover/popover/popover.component.d.ts +6 -14
  228. package/development/popover/popover/popover.component.d.ts.map +1 -1
  229. package/development/popover/popover/popover.component.js +16 -8
  230. package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  231. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  232. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  233. package/development/radio-button/radio-button/radio-button.component.d.ts +3 -3
  234. package/development/radio-button/radio-button/radio-button.component.js +2 -2
  235. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  236. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  237. package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -8
  238. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  239. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  240. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +11 -12
  241. package/development/select/select.component.d.ts +6 -19
  242. package/development/select/select.component.d.ts.map +1 -1
  243. package/development/select/select.component.js +31 -44
  244. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  245. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  246. package/development/selection-expansion-panel/selection-expansion-panel.component.js +16 -21
  247. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  248. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  249. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  250. package/development/sidebar/sidebar/sidebar.component.d.ts +0 -4
  251. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  252. package/development/sidebar/sidebar/sidebar.component.js +5 -5
  253. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  254. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  255. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  256. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  257. package/development/slider/slider.component.d.ts +2 -7
  258. package/development/slider/slider.component.d.ts.map +1 -1
  259. package/development/slider/slider.component.js +10 -14
  260. package/development/stepper/step/step.component.d.ts +3 -12
  261. package/development/stepper/step/step.component.d.ts.map +1 -1
  262. package/development/stepper/step/step.component.js +25 -26
  263. package/development/stepper/step-label/step-label.component.d.ts +1 -3
  264. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  265. package/development/stepper/step-label/step-label.component.js +13 -16
  266. package/development/stepper/stepper/stepper.component.js +2 -2
  267. package/development/tabs/tab-group/tab-group.component.d.ts +1 -4
  268. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  269. package/development/tabs/tab-group/tab-group.component.js +21 -18
  270. package/development/tag/tag/tag.component.d.ts +0 -9
  271. package/development/tag/tag/tag.component.d.ts.map +1 -1
  272. package/development/tag/tag/tag.component.js +11 -19
  273. package/development/time-input/time-input.component.d.ts +0 -1
  274. package/development/time-input/time-input.component.d.ts.map +1 -1
  275. package/development/time-input/time-input.component.js +1 -1
  276. package/development/toast/toast.component.d.ts +0 -4
  277. package/development/toast/toast.component.d.ts.map +1 -1
  278. package/development/toast/toast.component.js +5 -5
  279. package/development/toggle/toggle/toggle.component.d.ts +0 -3
  280. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  281. package/development/toggle/toggle/toggle.component.js +6 -11
  282. package/development/toggle-check/toggle-check.component.d.ts +2 -2
  283. package/development/toggle-check/toggle-check.component.js +1 -1
  284. package/development/train/train/train.component.d.ts +1 -6
  285. package/development/train/train/train.component.d.ts.map +1 -1
  286. package/development/train/train/train.component.js +7 -12
  287. package/development/train/train-formation/train-formation.component.js +3 -3
  288. package/development/train/train-wagon/train-wagon.component.d.ts +1 -6
  289. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  290. package/development/train/train-wagon/train-wagon.component.js +7 -12
  291. package/dialog/dialog/dialog.component.d.ts +0 -4
  292. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  293. package/dialog/dialog/dialog.component.js +2 -2
  294. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  295. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  296. package/expansion-panel/expansion-panel/expansion-panel.component.js +48 -50
  297. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  298. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  299. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +26 -30
  300. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  301. package/file-selector/common/file-selector-common.js +47 -37
  302. package/file-selector/file-selector/file-selector.component.d.ts +1 -5
  303. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  304. package/file-selector/file-selector/file-selector.component.js +3 -3
  305. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  306. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  307. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +5 -5
  308. package/flip-card/flip-card/flip-card.component.d.ts +0 -4
  309. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  310. package/flip-card/flip-card/flip-card.component.js +35 -37
  311. package/form-field/form-field/form-field.component.js +1 -1
  312. package/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  313. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  314. package/header/header-button/header-button.component.d.ts +0 -1
  315. package/header/header-button/header-button.component.d.ts.map +1 -1
  316. package/image/image.component.d.ts +0 -2
  317. package/image/image.component.d.ts.map +1 -1
  318. package/link/block-link-button/block-link-button.component.d.ts +0 -1
  319. package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  320. package/link/link-button/link-button.component.d.ts +0 -1
  321. package/link/link-button/link-button.component.d.ts.map +1 -1
  322. package/menu/menu/menu.component.d.ts +0 -4
  323. package/menu/menu/menu.component.d.ts.map +1 -1
  324. package/menu/menu/menu.component.js +8 -8
  325. package/menu/menu-button/menu-button.component.d.ts +0 -1
  326. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  327. package/navigation/navigation/navigation.component.d.ts +0 -4
  328. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  329. package/navigation/navigation/navigation.component.js +17 -17
  330. package/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  331. package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  332. package/notification/notification.component.d.ts +5 -16
  333. package/notification/notification.component.d.ts.map +1 -1
  334. package/notification/notification.component.js +54 -53
  335. package/option/option/option-base-element.d.ts +8 -3
  336. package/option/option/option-base-element.d.ts.map +1 -1
  337. package/option/option/option-base-element.js +22 -20
  338. package/option/option/option.component.d.ts +3 -11
  339. package/option/option/option.component.d.ts.map +1 -1
  340. package/option/option/option.component.js +23 -25
  341. package/overlay/overlay-base-element.d.ts +2 -3
  342. package/overlay/overlay-base-element.d.ts.map +1 -1
  343. package/overlay/overlay-base-element.js +42 -37
  344. package/overlay/overlay.component.d.ts +4 -8
  345. package/overlay/overlay.component.d.ts.map +1 -1
  346. package/overlay/overlay.component.js +11 -11
  347. package/package.json +1 -1
  348. package/paginator/common/paginator-common.d.ts.map +1 -1
  349. package/paginator/common/paginator-common.js +37 -34
  350. package/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  351. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  352. package/paginator/paginator/paginator.component.d.ts +0 -2
  353. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  354. package/popover/popover/popover.component.d.ts +6 -14
  355. package/popover/popover/popover.component.d.ts.map +1 -1
  356. package/popover/popover/popover.component.js +76 -67
  357. package/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  358. package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  359. package/radio-button/radio-button/radio-button.component.d.ts +3 -3
  360. package/radio-button/radio-button/radio-button.component.js +10 -10
  361. package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  362. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  363. package/radio-button/radio-button-group/radio-button-group.component.js +24 -26
  364. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  365. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  366. package/radio-button/radio-button-panel/radio-button-panel.component.js +39 -40
  367. package/select/select.component.d.ts +6 -19
  368. package/select/select.component.d.ts.map +1 -1
  369. package/select/select.component.js +99 -101
  370. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  371. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  372. package/selection-expansion-panel/selection-expansion-panel.component.js +49 -51
  373. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  374. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  375. package/sidebar/sidebar/sidebar.component.d.ts +0 -4
  376. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  377. package/sidebar/sidebar/sidebar.component.js +28 -28
  378. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  379. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  380. package/slider/slider.component.d.ts +2 -7
  381. package/slider/slider.component.d.ts.map +1 -1
  382. package/slider/slider.component.js +38 -43
  383. package/stepper/step/step.component.d.ts +3 -12
  384. package/stepper/step/step.component.d.ts.map +1 -1
  385. package/stepper/step/step.component.js +34 -34
  386. package/stepper/step-label/step-label.component.d.ts +1 -3
  387. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  388. package/stepper/step-label/step-label.component.js +15 -18
  389. package/stepper/stepper/stepper.component.js +6 -6
  390. package/tabs/tab-group/tab-group.component.d.ts +1 -4
  391. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  392. package/tabs/tab-group/tab-group.component.js +55 -52
  393. package/tag/tag/tag.component.d.ts +0 -9
  394. package/tag/tag/tag.component.d.ts.map +1 -1
  395. package/tag/tag/tag.component.js +34 -40
  396. package/time-input/time-input.component.d.ts +0 -1
  397. package/time-input/time-input.component.d.ts.map +1 -1
  398. package/toast/toast.component.d.ts +0 -4
  399. package/toast/toast.component.d.ts.map +1 -1
  400. package/toast/toast.component.js +19 -19
  401. package/toggle/toggle/toggle.component.d.ts +0 -3
  402. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  403. package/toggle/toggle/toggle.component.js +35 -40
  404. package/toggle-check/toggle-check.component.d.ts +2 -2
  405. package/train/train/train.component.d.ts +1 -6
  406. package/train/train/train.component.d.ts.map +1 -1
  407. package/train/train/train.component.js +33 -38
  408. package/train/train-formation/train-formation.component.js +1 -1
  409. package/train/train-wagon/train-wagon.component.d.ts +1 -6
  410. package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  411. package/train/train-wagon/train-wagon.component.js +48 -53
  412. package/core/eventing/event-emitter.d.ts +0 -23
  413. package/core/eventing/event-emitter.d.ts.map +0 -1
  414. package/core/eventing/event-emitter.js +0 -22
  415. package/core/interfaces/validation-change.d.ts +0 -4
  416. package/core/interfaces/validation-change.d.ts.map +0 -1
  417. package/development/core/eventing/event-emitter.d.ts +0 -23
  418. package/development/core/eventing/event-emitter.d.ts.map +0 -1
  419. package/development/core/eventing/event-emitter.js +0 -25
  420. package/development/core/interfaces/validation-change.d.ts +0 -4
  421. package/development/core/interfaces/validation-change.d.ts.map +0 -1
@@ -11,7 +11,6 @@ import { customElement, property } from "lit/decorators.js";
11
11
  import { isArrowKeyPressed, getNextElementIndex } from "../../core/a11y.js";
12
12
  import { SbbLanguageController } from "../../core/controllers.js";
13
13
  import { isLean } from "../../core/dom.js";
14
- import { EventEmitter } from "../../core/eventing.js";
15
14
  import { i18nSelectionRequired, i18nChipGroupInputDescription } from "../../core/i18n.js";
16
15
  import { SbbRequiredMixin, SbbDisabledMixin, SbbNegativeMixin, SbbFormAssociatedMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
17
16
  import { SbbChipElement } from "../chip.js";
@@ -67,20 +66,17 @@ let SbbChipGroupElement = (() => {
67
66
  let _separatorKeys_decorators;
68
67
  let _separatorKeys_initializers = [];
69
68
  let _separatorKeys_extraInitializers = [];
70
- var SbbChipGroupElement2 = (_a = class extends _classSuper {
69
+ _a = class extends _classSuper {
71
70
  constructor() {
72
71
  super();
73
72
  __privateAdd(this, _displayWith_accessor_storage);
74
73
  __privateAdd(this, _separatorKeys_accessor_storage);
75
74
  __privateSet(this, _displayWith_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _displayWith_initializers, null)));
76
75
  __privateSet(this, _separatorKeys_accessor_storage, (__runInitializers(this, _displayWith_extraInitializers), __runInitializers(this, _separatorKeys_initializers, ["Enter"])));
77
- this._change = (__runInitializers(this, _separatorKeys_extraInitializers), new EventEmitter(this, SbbChipGroupElement2.events.change));
78
- this._input = new EventEmitter(this, SbbChipGroupElement2.events.input);
79
- this._chipInputTokenEnd = new EventEmitter(this, SbbChipGroupElement2.events.chipInputTokenEnd);
80
- this._inputAttributeObserver = !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null;
76
+ this._inputAttributeObserver = (__runInitializers(this, _separatorKeys_extraInitializers), !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null);
81
77
  this._formFieldAttributeObserver = !isServer ? new MutationObserver(() => this._inheritSize()) : null;
82
78
  this._language = new SbbLanguageController(this);
83
- this.addEventListener?.(SbbChipElement.events.requestDelete, (ev) => this._deleteChip(ev.target));
79
+ this.addEventListener?.(SbbChipElement.events.requestdelete, (ev) => this._deleteChip(ev.target));
84
80
  this.addEventListener?.("keydown", (ev) => this._onChipKeyDown(ev));
85
81
  }
86
82
  /** Value of the form element. */
@@ -112,7 +108,7 @@ let SbbChipGroupElement = (() => {
112
108
  set displayWith(value) {
113
109
  __privateSet(this, _displayWith_accessor_storage, value);
114
110
  }
115
- /** The array of keys that will trigger a `chipInputTokenEnd` event. Default `['Enter']` */
111
+ /** The array of keys that will trigger a `chipinputtokenend` event. Default `['Enter']` */
116
112
  get separatorKeys() {
117
113
  return __privateGet(this, _separatorKeys_accessor_storage);
118
114
  }
@@ -256,13 +252,21 @@ let SbbChipGroupElement = (() => {
256
252
  setValue: (value2) => eventDetail.value = value2,
257
253
  setLabel: (label) => eventDetail.label = label
258
254
  };
259
- if (!this._chipInputTokenEnd.emit(eventDetail)) {
255
+ if (!this._dispatchChipInputTokenEnd(eventDetail)) {
260
256
  return;
261
257
  }
262
258
  this._createChipElement(eventDetail.value, eventDetail.label);
263
259
  this._inputElement.value = "";
264
260
  this._emitInputEvents();
265
261
  }
262
+ _dispatchChipInputTokenEnd(eventDetail) {
263
+ return this.dispatchEvent(new CustomEvent("chipinputtokenend", {
264
+ detail: eventDetail,
265
+ cancelable: true,
266
+ bubbles: true,
267
+ composed: true
268
+ }));
269
+ }
266
270
  _deleteChip(chip) {
267
271
  const chips = this._enabledChipElements();
268
272
  chip.remove();
@@ -286,8 +290,8 @@ let SbbChipGroupElement = (() => {
286
290
  this._inputElement?.focus();
287
291
  }
288
292
  _emitInputEvents() {
289
- this._input.emit();
290
- this._change.emit();
293
+ this.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true }));
294
+ this.dispatchEvent(new Event("change", { bubbles: true }));
291
295
  }
292
296
  _createChipElement(value, label) {
293
297
  if (isServer) {
@@ -346,16 +350,16 @@ let SbbChipGroupElement = (() => {
346
350
  obj.separatorKeys = value;
347
351
  } }, metadata: _metadata }, _separatorKeys_initializers, _separatorKeys_extraInitializers);
348
352
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
349
- SbbChipGroupElement2 = _classThis = _classDescriptor.value;
353
+ _classThis = _classDescriptor.value;
350
354
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
351
355
  })(), _a.role = "listbox", _a.styles = style, _a.events = {
352
356
  input: "input",
353
357
  change: "change",
354
- chipInputTokenEnd: "chipInputTokenEnd"
355
- }, __runInitializers(_classThis, _classExtraInitializers), _a);
356
- return SbbChipGroupElement2 = _classThis;
358
+ chipinputtokenend: "chipinputtokenend"
359
+ }, __runInitializers(_classThis, _classExtraInitializers), _a;
360
+ return _classThis;
357
361
  })();
358
362
  export {
359
363
  SbbChipGroupElement
360
364
  };
361
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uLCBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG4gIFNiYlJlcXVpcmVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9vcHRpb24vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQuanMnO1xuaW1wb3J0IHsgU2JiQ2hpcEVsZW1lbnQgfSBmcm9tICcuLi9jaGlwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2hpcC1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gZmFsc2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VCA9IHN0cmluZz4ge1xuICAvKiogVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNoaXAgY3JlYXRpb24gKi9cbiAgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICB2YWx1ZTogVCB8IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZDtcbiAgLyoqIFNldCBhIGxhYmVsIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRMYWJlbCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgYHNiYi1jaGlwLWdyb3VwYCBjb21wb25lbnQgaXMgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG11bHRpcGxlIGBzYmItY2hpcGAuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gTm90aWZpZXMgdGhhdCB0aGUgY29tcG9uZW50J3MgdmFsdWUgaGFzIGNoYW5nZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBpbnB1dCAtIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscz59IGNoaXBJbnB1dFRva2VuRW5kIC0gTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHVzZWQgdG8gY3VzdG9taXplIHRoZSB2YWx1ZSBhbmQgdGhlIGxhYmVsLiBDYW4gYmUgcHJldmVudGVkLlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jaGlwYCBlbGVtZW50cy5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZ1tdKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoaXAtZ3JvdXAnKVxuY2xhc3MgU2JiQ2hpcEdyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiTmVnYXRpdmVNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbGlzdGJveCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGNoaXBJbnB1dFRva2VuRW5kOiAnY2hpcElucHV0VG9rZW5FbmQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiAoVCB8IG51bGwpW10gfCBudWxsKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tICdvbGRWYWx1ZScgdGhlIG5ldyAndmFsdWUnXG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIGNoaXBzIHRvIHJlbW92ZSAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9SZW1vdmUgPSBbLi4ub2xkVmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiB2YWx1ZSkge1xuICAgICAgaWYgKHRvUmVtb3ZlLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvUmVtb3ZlLnNwbGljZSh0b1JlbW92ZS5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9SZW1vdmUuZm9yRWFjaCgodmFsdWUpID0+XG4gICAgICB0aGlzLl9jaGlwRWxlbWVudHMoKVxuICAgICAgICAuZmluZCgoYykgPT4gYy52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICAgID8ucmVtb3ZlKCksXG4gICAgKTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gdGhlIG5ldyAndmFsdWUnIHdoYXQgd2FzIGFscmVhZHkgcHJlc2VudFxuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBuZXcgY2hpcHMgdG8gYWRkIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b0FkZCA9IFsuLi52YWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIG9sZFZhbHVlKSB7XG4gICAgICBpZiAodG9BZGQuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9BZGQuc3BsaWNlKHRvQWRkLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b0FkZC5mb3JFYWNoKChjKSA9PiB0aGlzLl9jcmVhdGVDaGlwRWxlbWVudChjKSk7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiAoVCB8IG51bGwpW10ge1xuICAgIHJldHVybiB0aGlzLl9jaGlwRWxlbWVudHMoKS5tYXAoKGMpID0+IGMudmFsdWUpO1xuICB9XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgbWFwcyBhIGNoaXAncyB2YWx1ZSB0byBpdHMgZGlzcGxheSB2YWx1ZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzcGxheVdpdGg6ICgodmFsdWU6IFQpID0+IHN0cmluZykgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGFycmF5IG9mIGtleXMgdGhhdCB3aWxsIHRyaWdnZXIgYSBgY2hpcElucHV0VG9rZW5FbmRgIGV2ZW50LiBEZWZhdWx0IGBbJ0VudGVyJ11gICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NlcGFyYXRvci1rZXlzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNlcGFyYXRvcktleXM6IHN0cmluZ1tdID0gWydFbnRlciddO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYkNoaXBHcm91cEVsZW1lbnQuZXZlbnRzLmNoYW5nZSk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBwcml2YXRlIF9pbnB1dDogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5pbnB1dCk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgYSBjaGlwIGlzIGFib3V0IHRvIGJlIGNyZWF0ZWQuIENhbiBiZSBwcmV2ZW50ZWQuICovXG4gIHByaXZhdGUgX2NoaXBJbnB1dFRva2VuRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPj4oXG4gICAgdGhpcyxcbiAgICBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5jaGlwSW5wdXRUb2tlbkVuZCxcbiAgKTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgJ3NpemUnIGNoYW5nZXMgb24gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5faW5oZXJpdFNpemUoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihTYmJDaGlwRWxlbWVudC5ldmVudHMucmVxdWVzdERlbGV0ZSwgKGV2KSA9PlxuICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldi50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD4pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25DaGlwS2V5RG93bihldikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dEF1dG9jb21wbGV0ZScsXG4gICAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8eyBvcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IH0+KSA9PiB7XG4gICAgICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnYXV0b2NvbXBsZXRlJywgZXZlbnQuZGV0YWlsPy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhIGNoaXBJbnB1dFRva2VuRW5kIGV2ZW50XG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHR5cGluZyB0aGUgc2VwYXJhdG9yIGtleSBpbnRvIHRoZSBpbnB1dFxuICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnaW5wdXQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGlucHV0IGlzIG5vdCBlbXB0eSwgY3JlYXRlIGEgY2hpcCB3aXRoIGl0cyB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEZyb21JbnB1dChvcmlnaW46ICdpbnB1dCcgfCAnYXV0b2NvbXBsZXRlJyA9ICdpbnB1dCcsIHZhbHVlPzogVCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSB2YWx1ZSA/PyB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoIWlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudERldGFpbDogU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VD4gPSB7XG4gICAgICBvcmlnaW46IG9yaWdpbixcbiAgICAgIHZhbHVlOiBpbnB1dFZhbHVlLFxuICAgICAgbGFiZWw6ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyB1bmRlZmluZWQsXG4gICAgICBzZXRWYWx1ZTogKHZhbHVlOiBUKSA9PiAoZXZlbnREZXRhaWwudmFsdWUgPSB2YWx1ZSksXG4gICAgICBzZXRMYWJlbDogKGxhYmVsOiBzdHJpbmcpID0+IChldmVudERldGFpbC5sYWJlbCA9IGxhYmVsKSxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLl9jaGlwSW5wdXRUb2tlbkVuZC5lbWl0KGV2ZW50RGV0YWlsKSkge1xuICAgICAgcmV0dXJuOyAvLyBldmVudCBwcmV2ZW50ZWQ7IGRvIG5vdGhpbmcgKHRoZSBjb25zdW1lciBoYXMgdG8gY3JlYXRlIHRoZSBjaGlwKVxuICAgIH1cblxuICAgIHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGV2ZW50RGV0YWlsLnZhbHVlIGFzIFQsIGV2ZW50RGV0YWlsLmxhYmVsKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlID0gJyc7IC8vIEVtcHR5IHRoZSBpbnB1dFxuICAgIHRoaXMuX2VtaXRJbnB1dEV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQ2hpcChjaGlwOiBTYmJDaGlwRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGNoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgIGNoaXAucmVtb3ZlKCk7XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gICAgdGhpcy5fZm9jdXNDaGlwKGNoaXBzLmluZGV4T2YoY2hpcCkpOyAvLyBGb2N1cyB0aGUgbmV4dCBjaGlwXG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgYW4gZW5hYmxlZCBjaGlwLiBJZiBub25lIGFyZSBwcmVzZW50LCBmb2N1cyB0aGUgaW5wdXRcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZW5hYmxlZCBjaGlwLiBJZiBudWxsLCBmb2N1cyB0aGUgbGFzdCBvbmUuXG4gICAqL1xuICBwcml2YXRlIF9mb2N1c0NoaXAoaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG5cbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBlbmFibGVkQ2hpcHNbaW5kZXhdKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbaW5kZXhdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbZW5hYmxlZENoaXBzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0LmVtaXQoKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEVsZW1lbnQodmFsdWU6IFQgfCBudWxsLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdDaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLWNoaXAnKSBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBuZXdDaGlwLnZhbHVlID0gdmFsdWU7XG4gICAgbmV3Q2hpcC5pbm5lclRleHQgPSBsYWJlbCA/PyAodmFsdWUgPyB0aGlzLmRpc3BsYXlXaXRoPy4odmFsdWUpIDogbnVsbCkgPz8gJyc7XG4gICAgaWYgKFxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkRFViAmJlxuICAgICAgIWRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCAmJlxuICAgICAgIWxhYmVsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhdGhpcy5kaXNwbGF5V2l0aFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgZGlzcGxheVdpdGggaGFzIG5vdCBiZWVuIHNldCB5ZXQgZm9yIHNiYi1jaGlwLWdyb3VwIGFuZCB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gICAgICAgICBJZiB5b3UgYXJlIHVzaW5nIG9iamVjdCB2YWx1ZXMsIHlvdSBuZWVkIHRvIHByb3ZpZGUgZGlzcGxheVdpZHRoIGJlZm9yZVxuICAgICAgICAgc2V0dGluZyBvciBzZWxlY3RpbmcgYW55IHZhbHVlLmAsXG4gICAgICApO1xuICAgICAgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUobmV3Q2hpcCwgdGhpcy5faW5wdXRFbGVtZW50ID8/IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eVN0YXRlVG9DaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwRWxlbWVudHMoKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICAgIGMucmVhZE9ubHkgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgICAgIGMubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5oZXJpdFNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKT8uc2l6ZSA/PyAoaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwLWdyb3VwXCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwLWdyb3VwJzogU2JiQ2hpcEdyb3VwRWxlbWVudDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBjaGlwSW5wdXRUb2tlbkVuZDogQ3VzdG9tRXZlbnQ8U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8YW55Pj47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJDaGlwR3JvdXBFbGVtZW50IiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLElBQUksMkJBQTJCO0lBNkJ6Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7QUFDYyxNQUFBLGNBQUEsaUJBQzVDLGlCQUFpQixpQkFBaUIsdUJBQXVCLHlCQUF5QixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7OztBQUQ1RCxNQUFBQSx3QkFBQSxtQkFBUSxZQUU3QztBQUFBLElBaUZDLGNBQUE7QUFDRSxZQUFBO0FBckNGO0FBSUE7QUFKZ0IseUJBQUEsZ0NBL0NaLGtCQUFBLE1BQUEsMEJBQUEsR0FBbUIsa0JBQUEsTUFBQSwyQkErQ3NDLElBQUk7QUFJakQseUJBQUEsa0NBQUEsa0JBQUEsTUFBQSw4QkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQTBCLENBQUMsT0FBTyxDQUFDO0FBRzNDLFdBQUEsV0FBTyxrQkFBQSxNQUFBLGdDQUFBLEdBQWlCLElBQUksYUFBYSxNQUFNQSxxQkFBb0IsT0FBTyxNQUFNO0FBR2hGLFdBQUEsU0FBdUIsSUFBSSxhQUFhLE1BQU1BLHFCQUFvQixPQUFPLEtBQUs7QUFHOUUsV0FBQSxxQkFBcUIsSUFBSSxhQUMvQixNQUNBQSxxQkFBb0IsT0FBTyxpQkFBaUI7QUFNdEMsV0FBQSwwQkFBMEIsQ0FBQyxXQUMvQixJQUFJLGlCQUFpQixNQUFNLEtBQUsscUJBQUEsQ0FBc0IsSUFDdEQ7QUFLSSxXQUFBLDhCQUE4QixDQUFDLFdBQ25DLElBQUksaUJBQWlCLE1BQU0sS0FBSyxhQUFBLENBQWMsSUFDOUM7QUFJSSxXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUtoRCxXQUFLLG1CQUFtQixlQUFlLE9BQU8sZUFBZSxDQUFDLE9BQzVELEtBQUssWUFBWSxHQUFHLE1BQTJCLENBQUM7QUFHbEQsV0FBSyxtQkFBbUIsV0FBVyxDQUFDLE9BQU8sS0FBSyxlQUFlLEVBQUUsQ0FBQztBQUFBLElBQUE7QUFBQTtBQUFBLElBN0VwRSxJQUFXLE1BQU0sT0FBMEI7QUFDekMsY0FBUSxTQUFTLENBQUE7QUFDakIsWUFBTSxXQUFXLEtBQUs7QUFJdEIsWUFBTSxXQUFXLENBQUMsR0FBRyxRQUFRO0FBQzdCLGlCQUFXLEtBQUssT0FBTztBQUNyQixZQUFJLFNBQVMsU0FBUyxDQUFDLEdBQUc7QUFDeEIsbUJBQVMsT0FBTyxTQUFTLFFBQVEsQ0FBQyxHQUFHLENBQUM7QUFBQSxRQUFBO0FBQUEsTUFDeEM7QUFFRixlQUFTLFFBQVEsQ0FBQ0MsV0FDaEIsS0FBSyxnQkFDRixLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVVBLE1BQUssR0FDNUIsUUFBUTtBQUtkLFlBQU0sUUFBUSxDQUFDLEdBQUcsS0FBSztBQUN2QixpQkFBVyxLQUFLLFVBQVU7QUFDeEIsWUFBSSxNQUFNLFNBQVMsQ0FBQyxHQUFHO0FBQ3JCLGdCQUFNLE9BQU8sTUFBTSxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQUEsUUFBQTtBQUFBLE1BQ2xDO0FBRUYsWUFBTSxRQUFRLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFFakQsSUFBVyxRQUFLO0FBQ2QsYUFBTyxLQUFLLGdCQUFnQixJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUtoRCxJQUFnQixjQUFXO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSx5QkFBQSwrQkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSTNCLElBQWdCLGdCQUFhO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSx5QkFBQSxpQ0FBQTtBQUFBLElBQUE7QUFBQSxJQTBDYixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUNOLFdBQUssZ0JBQUE7QUFBQSxJQUFlO0FBQUEsSUFHSCxXQUFXLG1CQUFpQztBQUM3RCxZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQ0Usa0JBQWtCLElBQUksVUFBVSxLQUNoQyxrQkFBa0IsSUFBSSxjQUFjLEtBQ3BDLGtCQUFrQixJQUFJLFVBQVUsR0FDaEM7QUFDQSxhQUFLLG1CQUFBO0FBQUEsTUFBa0I7QUFBQSxJQUN6QjtBQUFBO0FBQUEsSUFJSyxvQkFBaUI7QUFDdEIsV0FBSyxRQUFRO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJUix5QkFDTCxPQUNBLFNBQTBCO0FBRTFCLFVBQUksQ0FBQyxPQUFPO0FBQ1YsYUFBSyxRQUFRO0FBQ2I7QUFBQSxNQUFBO0FBR0YsV0FBSyxjQUFjLEtBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVcsS0FBSyxRQUFRLEtBQU07QUFBQSxJQUFBO0FBQUEsSUFHcEUsTUFBTSxjQUFjLFVBQWtCO0FBQzVDLGFBQU8sUUFBUSxJQUNiLFNBQ0csT0FBTyxLQUFLLElBQUksRUFDaEIsSUFBSSxPQUFPLFVBQ1YsaUJBQWlCLE9BQU8sS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLElBQUssS0FBVyxDQUN0RTtBQUFBLElBQUE7QUFBQSxJQUlZLGVBQWUsTUFBNkI7QUFDN0QsYUFBTyxNQUFNLGVBQWUsSUFBSSxLQUFLLFNBQVMsY0FBYyxTQUFTO0FBQUEsSUFBQTtBQUFBLElBR3BELFdBQVE7QUFDekIsWUFBTSxTQUFBO0FBQ04sVUFBSSxLQUFLLFlBQVksS0FBSyxNQUFNLFdBQVcsR0FBRztBQUM1QyxhQUFLLGdCQUFnQixnQkFBZ0Isc0JBQXNCLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQSxNQUFBLE9BQzdFO0FBQ0wsYUFBSyxtQkFBbUIsY0FBYztBQUFBLE1BQUE7QUFBQSxJQUN4QztBQUFBO0FBQUEsSUFJTSxnQkFBYTtBQUNuQixhQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFzQyxVQUFVLEtBQUssRUFBRTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSXhFLHVCQUFvQjtBQUMxQixhQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQiwwQkFBMEIsS0FBSyxFQUFFO0FBQUEsSUFBQTtBQUFBLElBR3JFLGtCQUFlO0FBQ3JCLFlBQU0sUUFBUSxLQUFLLGNBQWMsT0FBTztBQUd4QyxVQUFJLFNBQVMsVUFBVSxLQUFLLGVBQWU7QUFDekMsYUFBSyx1QkFBdUIsTUFBQTtBQUM1QixhQUFLLHlCQUF5QixXQUFBO0FBQzlCLGFBQUssZ0JBQWdCO0FBRXJCLGFBQUssd0JBQXdCLElBQUksZ0JBQUE7QUFDakMsYUFBSyxjQUFjLGlCQUFpQixXQUFXLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFFLEdBQUc7QUFBQSxVQUMvRSxRQUFRLEtBQUssc0JBQXNCO0FBQUEsUUFBQSxDQUNwQztBQUNELGFBQUssY0FBYyxpQkFDakIscUJBQ0EsQ0FBQyxVQUEyRDtBQUMxRCxlQUFLLHFCQUFxQixnQkFBZ0IsTUFBTSxRQUFRLE9BQU8sS0FBSztBQUFBLFFBQUEsR0FFdEU7QUFBQSxVQUNFLFFBQVEsS0FBSyxzQkFBc0I7QUFBQSxRQUFBLENBQ3BDO0FBR0gsYUFBSyx5QkFBeUIsUUFBUSxLQUFLLGVBQWU7QUFBQSxVQUN4RCxZQUFZO0FBQUEsVUFDWixpQkFBaUIsQ0FBQyxZQUFZLFVBQVU7QUFBQSxRQUFBLENBQ3pDO0FBQUEsTUFBQTtBQUlILFdBQUssYUFBQTtBQUNMLFdBQUssNkJBQTZCLFdBQUE7QUFDbEMsWUFBTSxZQUFZLEtBQUssUUFBUSxnQkFBZ0I7QUFDL0MsVUFBSSxXQUFXO0FBQ2IsYUFBSyw2QkFBNkIsUUFBUSxXQUFXO0FBQUEsVUFDbkQsWUFBWTtBQUFBLFVBQ1osaUJBQWlCLENBQUMsTUFBTTtBQUFBLFFBQUEsQ0FDekI7QUFBQSxNQUFBO0FBR0gsV0FBSyxnQkFBZ0IsY0FBYyxLQUFLLE1BQU0sV0FBVyxDQUFDO0FBQzFELFdBQUsscUJBQUE7QUFDTCxXQUFLLHdCQUFBO0FBQ0wsV0FBSyxnQkFBQTtBQUFBLElBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU1kLGVBQWUsT0FBb0I7QUFDekMsWUFBTSxjQUFjLE1BQU07QUFDMUIsVUFBSSxZQUFZLGNBQWMsWUFBWTtBQUN4QztBQUFBLE1BQUE7QUFJRixVQUFJLGtCQUFrQixLQUFLLEdBQUc7QUFDNUIsY0FBTSxhQUFhLEtBQUsscUJBQUE7QUFDeEIsY0FBTSxPQUFPLG9CQUFvQixPQUFPLFdBQVcsUUFBUSxXQUFXLEdBQUcsV0FBVyxNQUFNO0FBQzFGLG1CQUFXLElBQUksRUFBRSxNQUFBO0FBQ2pCO0FBQUEsTUFBQTtBQUdGLGNBQVEsTUFBTSxLQUFBO0FBQUEsUUFDWixLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsY0FBSSxDQUFDLFlBQVksWUFBWSxDQUFDLFlBQVksVUFBVTtBQUNsRCxrQkFBTSxlQUFBO0FBQ04saUJBQUssWUFBWSxXQUFXO0FBQUEsVUFBQTtBQUU5QjtBQUFBLE1BQUE7QUFBQSxJQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNTSxnQkFBZ0IsT0FBb0I7QUFDMUMsY0FBUSxNQUFNLEtBQUE7QUFBQSxRQUNaLEtBQUs7QUFBQSxRQUNMLEtBQUs7QUFDSCxjQUFJLENBQUMsS0FBSyxjQUFlLE9BQU87QUFDOUIsaUJBQUssV0FBQTtBQUFBLFVBQVU7QUFFakI7QUFBQSxRQUNGLEtBQUs7QUFDSCxnQkFBTSxlQUFBO0FBQ047QUFBQSxNQUFBO0FBSUosVUFBSSxLQUFLLGNBQWMsU0FBUyxNQUFNLEdBQUcsR0FBRztBQUMxQyxjQUFNLGVBQUE7QUFDTixhQUFLLHFCQUFxQixPQUFPO0FBQUEsTUFBQTtBQUFBLElBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNTSxxQkFBcUIsU0FBbUMsU0FBUyxPQUFTO0FBQ2hGLFlBQU0sYUFBYSxTQUFTLEtBQUssY0FBZSxNQUFNLEtBQUE7QUFDdEQsVUFBSSxDQUFDLFlBQVk7QUFDZjtBQUFBLE1BQUE7QUFHRixZQUFNLGNBQW1EO0FBQUEsUUFDdkQ7QUFBQSxRQUNBLE9BQU87QUFBQSxRQUNQLFFBQVEsUUFBUSxLQUFLLGNBQWMsS0FBSyxJQUFJLFNBQVM7QUFBQSxRQUNyRCxVQUFVLENBQUNBLFdBQWMsWUFBWSxRQUFRQTtBQUFBQSxRQUM3QyxVQUFVLENBQUMsVUFBbUIsWUFBWSxRQUFRO0FBQUEsTUFBQTtBQUdwRCxVQUFJLENBQUMsS0FBSyxtQkFBbUIsS0FBSyxXQUFXLEdBQUc7QUFDOUM7QUFBQSxNQUFBO0FBR0YsV0FBSyxtQkFBbUIsWUFBWSxPQUFZLFlBQVksS0FBSztBQUNqRSxXQUFLLGNBQWUsUUFBUTtBQUM1QixXQUFLLGlCQUFBO0FBQUEsSUFBZ0I7QUFBQSxJQUdmLFlBQVksTUFBdUI7QUFDekMsWUFBTSxRQUFRLEtBQUsscUJBQUE7QUFDbkIsV0FBSyxPQUFBO0FBQ0wsV0FBSyxpQkFBQTtBQUNMLFdBQUssV0FBVyxNQUFNLFFBQVEsSUFBSSxDQUFDO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPN0IsV0FBVyxPQUFjO0FBQy9CLFlBQU0sZUFBZSxLQUFLLHFCQUFBO0FBRTFCLFVBQUksVUFBVSxVQUFhLGFBQWEsS0FBSyxHQUFHO0FBQzlDLHFCQUFhLEtBQUssRUFBRSxNQUFBO0FBQ3BCO0FBQUEsTUFBQTtBQUdGLFVBQUksYUFBYSxTQUFTLEdBQUc7QUFDM0IscUJBQWEsYUFBYSxTQUFTLENBQUMsRUFBRSxNQUFBO0FBQ3RDO0FBQUEsTUFBQTtBQUdGLFdBQUssZUFBZSxNQUFBO0FBQUE7SUFHZCxtQkFBZ0I7QUFDdEIsV0FBSyxPQUFPLEtBQUE7QUFDWixXQUFLLFFBQVEsS0FBQTtBQUFBO0lBR1AsbUJBQW1CLE9BQWlCLE9BQWM7QUFDeEQsVUFBSSxVQUFVO0FBQ1o7QUFBQSxNQUFBO0FBRUYsWUFBTSxVQUFVLFNBQVMsY0FBYyxVQUFVO0FBQ2pELGNBQVEsUUFBUTtBQUNoQixjQUFRLFlBQVksVUFBVSxRQUFRLEtBQUssY0FBYyxLQUFLLElBQUksU0FBUztBQUMzRSxVQUVFLENBQUMsNEJBQ0QsQ0FBQyxTQUNELE9BQU8sVUFBVSxZQUNqQixDQUFDLEtBQUssYUFDTjtBQUNBLGdCQUFRLEtBQ047QUFBQTtBQUFBLHlDQUVpQztBQUVuQyxtQ0FBMkI7QUFBQSxNQUFBO0FBRTdCLFdBQUssYUFBYSxTQUFTLEtBQUssaUJBQWlCLEtBQUssY0FBYyxPQUFPLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFHdEUsdUJBQW9CO0FBQzFCLFdBQUssV0FBVyxLQUFLLGVBQWUsWUFBWTtBQUNoRCxXQUFLLG1CQUFBO0FBQUEsSUFBa0I7QUFBQSxJQUdqQixxQkFBa0I7QUFDeEIsV0FBSyxjQUFBLEVBQWdCLFFBQVEsQ0FBQyxNQUFLO0FBQ2pDLFVBQUUsV0FBVyxLQUFLLFlBQVksS0FBSztBQUNuQyxVQUFFLFdBQVcsS0FBSyxlQUFlLGFBQWEsVUFBVSxLQUFLO0FBQzdELFVBQUUsV0FBVyxLQUFLO0FBQUEsTUFBQSxDQUNuQjtBQUFBLElBQUE7QUFBQSxJQUdLLGVBQVk7QUFDbEIsV0FBSyxhQUFhLGFBQWEsS0FBSyxRQUFRLGdCQUFnQixHQUFHLFNBQVMsT0FBQSxJQUFXLE1BQU0sSUFBSTtBQUFBLElBQUE7QUFBQSxJQUd2RiwwQkFBdUI7QUFDN0IsVUFBSSxDQUFDLEtBQUssZUFBZTtBQUN2QjtBQUFBLE1BQUE7QUFFRixXQUFLLGNBQWMsYUFDakIsb0JBQ0EsR0FBRyw4QkFBOEIsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxNQUFNLEVBQUU7QUFBQSxJQUFBO0FBQUEsSUFJaEUsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQSw0QkFFaUIsS0FBSyxlQUFlO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxLQW5VOUMsK0NBSUE7O0FBdkNDLDRCQUFBLENBQUEsU0FBUyxFQUFFLE1BQU0sTUFBQSxDQUFPLENBQUM7QUFrQ3pCLDhCQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsTUFBQSxDQUFPLENBQUM7aUNBSTlCLFNBQVMsRUFBRSxXQUFXLGtCQUFrQixNQUFNLE1BQUEsQ0FBTyxDQUFDO0FBckN2RCxpQkFBQSxJQUFBLE1BQUEsdUJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxRQUFLO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSxNQUFBLDBCQUFBO0FBa0NoQixpQkFBQSxJQUFBLE1BQUEseUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxlQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGlCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsYUFBVyxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBWCxjQUFXO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSwyQkFBQSw4QkFBQTtBQUkzQixpQkFBQSxJQUFBLE1BQUEsMkJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxpQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxtQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLGVBQWEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWIsZ0JBQWE7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLDZCQUFBLGdDQUFBO0FBbkQvQixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBR2tDLEdBQUEsT0FBTyxXQUNoQixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBUztBQUFBLElBQzlCLE9BQU87QUFBQSxJQUNQLFFBQVE7QUFBQSxJQUNSLG1CQUFtQjtBQUFBLEVBQUEsR0FSakIsa0JBQUEsWUFBQSx1QkFBQSxHQUFnQzs7OyJ9
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2hpcEdyb3VwSW5wdXREZXNjcmlwdGlvbiwgaTE4blNlbGVjdGlvblJlcXVpcmVkIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICBTYmJSZXF1aXJlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LmpzJztcbmltcG9ydCB7IFNiYkNoaXBFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxubGV0IGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IGZhbHNlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQgPSBzdHJpbmc+IHtcbiAgLyoqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGlwIGNyZWF0aW9uICovXG4gIG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBuZXcgY2hpcC4gRWl0aGVyIHRoZSBpbnB1dCBvciB0aGUgb3B0aW9uIHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgb3JpZ2luLlxuICAgKiBFaXRoZXIgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IHdoaWNoIGlzIGFsd2F5cyBgc3RyaW5nYCBvciB0aGUgdmFsdWUgZnJvbSB0aGUgc2VsZWN0ZWQgb3B0aW9uXG4gICAqIGZyb20gYW4gYXV0b2NvbXBsZXRlLCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFueSBvdGhlciB0eXBlLlxuICAgKi9cbiAgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogU2V0IGEgbmV3IHZhbHVlIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQ7XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0TGFiZWwodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogVGhlIGBzYmItY2hpcC1ncm91cGAgY29tcG9uZW50IGlzIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtdWx0aXBsZSBgc2JiLWNoaXBgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hpcGAgZWxlbWVudHMuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmdbXSkgfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jaGlwLWdyb3VwJylcbmNsYXNzIFNiYkNoaXBHcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYk5lZ2F0aXZlTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2xpc3Rib3gnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgaW5wdXQ6ICdpbnB1dCcsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBjaGlwaW5wdXR0b2tlbmVuZDogJ2NoaXBpbnB1dHRva2VuZW5kJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogKFQgfCBudWxsKVtdIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSAnb2xkVmFsdWUnIHRoZSBuZXcgJ3ZhbHVlJ1xuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBjaGlwcyB0byByZW1vdmUgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvUmVtb3ZlID0gWy4uLm9sZFZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgdmFsdWUpIHtcbiAgICAgIGlmICh0b1JlbW92ZS5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b1JlbW92ZS5zcGxpY2UodG9SZW1vdmUuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvUmVtb3ZlLmZvckVhY2goKHZhbHVlKSA9PlxuICAgICAgdGhpcy5fY2hpcEVsZW1lbnRzKClcbiAgICAgICAgLmZpbmQoKGMpID0+IGMudmFsdWUgPT09IHZhbHVlKVxuICAgICAgICA/LnJlbW92ZSgpLFxuICAgICk7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tIHRoZSBuZXcgJ3ZhbHVlJyB3aGF0IHdhcyBhbHJlYWR5IHByZXNlbnRcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgbmV3IGNoaXBzIHRvIGFkZCAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9BZGQgPSBbLi4udmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiBvbGRWYWx1ZSkge1xuICAgICAgaWYgKHRvQWRkLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvQWRkLnNwbGljZSh0b0FkZC5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9BZGQuZm9yRWFjaCgoYykgPT4gdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoYykpO1xuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogKFQgfCBudWxsKVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcEVsZW1lbnRzKCkubWFwKChjKSA9PiBjLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IG1hcHMgYSBjaGlwJ3MgdmFsdWUgdG8gaXRzIGRpc3BsYXkgdmFsdWUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc3BsYXlXaXRoOiAoKHZhbHVlOiBUKSA9PiBzdHJpbmcpIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBhcnJheSBvZiBrZXlzIHRoYXQgd2lsbCB0cmlnZ2VyIGEgYGNoaXBpbnB1dHRva2VuZW5kYCBldmVudC4gRGVmYXVsdCBgWydFbnRlciddYCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZXBhcmF0b3Ita2V5cycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZXBhcmF0b3JLZXlzOiBzdHJpbmdbXSA9IFsnRW50ZXInXTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgJ3NpemUnIGNoYW5nZXMgb24gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5faW5oZXJpdFNpemUoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihTYmJDaGlwRWxlbWVudC5ldmVudHMucmVxdWVzdGRlbGV0ZSwgKGV2KSA9PlxuICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldi50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD4pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25DaGlwS2V5RG93bihldikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dEF1dG9jb21wbGV0ZScsXG4gICAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8eyBvcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IH0+KSA9PiB7XG4gICAgICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnYXV0b2NvbXBsZXRlJywgZXZlbnQuZGV0YWlsPy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhICdjaGlwaW5wdXR0b2tlbmVuZCcgZXZlbnRcbiAgICBpZiAodGhpcy5zZXBhcmF0b3JLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgdHlwaW5nIHRoZSBzZXBhcmF0b3Iga2V5IGludG8gdGhlIGlucHV0XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbm90IGVtcHR5LCBjcmVhdGUgYSBjaGlwIHdpdGggaXRzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVDaGlwRnJvbUlucHV0KG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnID0gJ2lucHV0JywgdmFsdWU/OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHZhbHVlID8/IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUudHJpbSgpO1xuICAgIGlmICghaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50RGV0YWlsOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPiA9IHtcbiAgICAgIG9yaWdpbjogb3JpZ2luLFxuICAgICAgdmFsdWU6IGlucHV0VmFsdWUsXG4gICAgICBsYWJlbDogKHZhbHVlID8gdGhpcy5kaXNwbGF5V2l0aD8uKHZhbHVlKSA6IG51bGwpID8/IHVuZGVmaW5lZCxcbiAgICAgIHNldFZhbHVlOiAodmFsdWU6IFQpID0+IChldmVudERldGFpbC52YWx1ZSA9IHZhbHVlKSxcbiAgICAgIHNldExhYmVsOiAobGFiZWw6IHN0cmluZykgPT4gKGV2ZW50RGV0YWlsLmxhYmVsID0gbGFiZWwpLFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuX2Rpc3BhdGNoQ2hpcElucHV0VG9rZW5FbmQoZXZlbnREZXRhaWwpKSB7XG4gICAgICByZXR1cm47IC8vIGV2ZW50IHByZXZlbnRlZDsgZG8gbm90aGluZyAodGhlIGNvbnN1bWVyIGhhcyB0byBjcmVhdGUgdGhlIGNoaXApXG4gICAgfVxuXG4gICAgdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoZXZlbnREZXRhaWwudmFsdWUgYXMgVCwgZXZlbnREZXRhaWwubGFiZWwpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUgPSAnJzsgLy8gRW1wdHkgdGhlIGlucHV0XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNwYXRjaENoaXBJbnB1dFRva2VuRW5kKGV2ZW50RGV0YWlsOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPik6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscz59XG4gICAgICogTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHByZXZlbnRlZC5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdjaGlwaW5wdXR0b2tlbmVuZCcsIHtcbiAgICAgICAgZGV0YWlsOiBldmVudERldGFpbCxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQ2hpcChjaGlwOiBTYmJDaGlwRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGNoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgIGNoaXAucmVtb3ZlKCk7XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gICAgdGhpcy5fZm9jdXNDaGlwKGNoaXBzLmluZGV4T2YoY2hpcCkpOyAvLyBGb2N1cyB0aGUgbmV4dCBjaGlwXG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgYW4gZW5hYmxlZCBjaGlwLiBJZiBub25lIGFyZSBwcmVzZW50LCBmb2N1cyB0aGUgaW5wdXRcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZW5hYmxlZCBjaGlwLiBJZiBudWxsLCBmb2N1cyB0aGUgbGFzdCBvbmUuXG4gICAqL1xuICBwcml2YXRlIF9mb2N1c0NoaXAoaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG5cbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBlbmFibGVkQ2hpcHNbaW5kZXhdKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbaW5kZXhdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbZW5hYmxlZENoaXBzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0RXZlbnRzKCk6IHZvaWQge1xuICAgIC8qKiBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2hhbmdlIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZFxuICAgICAqIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDaGlwRWxlbWVudCh2YWx1ZTogVCB8IG51bGwsIGxhYmVsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5ld0NoaXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzYmItY2hpcCcpIGFzIFNiYkNoaXBFbGVtZW50PFQ+O1xuICAgIG5ld0NoaXAudmFsdWUgPSB2YWx1ZTtcbiAgICBuZXdDaGlwLmlubmVyVGV4dCA9IGxhYmVsID8/ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyAnJztcbiAgICBpZiAoXG4gICAgICBpbXBvcnQubWV0YS5lbnYuREVWICYmXG4gICAgICAhZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkICYmXG4gICAgICAhbGFiZWwgJiZcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICF0aGlzLmRpc3BsYXlXaXRoXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBkaXNwbGF5V2l0aCBoYXMgbm90IGJlZW4gc2V0IHlldCBmb3Igc2JiLWNoaXAtZ3JvdXAgYW5kIHZhbHVlIGlzIGFuIG9iamVjdC5cbiAgICAgICAgIElmIHlvdSBhcmUgdXNpbmcgb2JqZWN0IHZhbHVlcywgeW91IG5lZWQgdG8gcHJvdmlkZSBkaXNwbGF5V2lkdGggYmVmb3JlXG4gICAgICAgICBzZXR0aW5nIG9yIHNlbGVjdGluZyBhbnkgdmFsdWUuYCxcbiAgICAgICk7XG4gICAgICBkaXNwbGF5V2l0aFdhcm5pbmdMb2dnZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmluc2VydEJlZm9yZShuZXdDaGlwLCB0aGlzLl9pbnB1dEVsZW1lbnQgPz8gdGhpcy5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWN0VG9JbnB1dENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuX2lucHV0RWxlbWVudD8uZGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgdGhpcy5fcHJveHlTdGF0ZVRvQ2hpcHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5U3RhdGVUb0NoaXBzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NoaXBFbGVtZW50cygpLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkO1xuICAgICAgYy5yZWFkT25seSA9IHRoaXMuX2lucHV0RWxlbWVudD8uaGFzQXR0cmlidXRlKCdyZWFkb25seScpID8/IGZhbHNlO1xuICAgICAgYy5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pbmhlcml0U2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpPy5zaXplID8/IChpc0xlYW4oKSA/ICdzJyA6ICdtJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSW5wdXREZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ2FyaWEtZGVzY3JpcHRpb24nLFxuICAgICAgYCR7aTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy52YWx1ZS5sZW5ndGh9YCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNoaXAtZ3JvdXBcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zZXR1cENvbXBvbmVudH0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtZ3JvdXAnOiBTYmJDaGlwR3JvdXBFbGVtZW50O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50RXZlbnRNYXAge1xuICAgIGNoaXBpbnB1dHRva2VuZW5kOiBDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxhbnk+PjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEJBLElBQUksMkJBQTJCO0lBMEJ6Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7QUFDYyxNQUFBLGNBQUEsaUJBQzVDLGlCQUFpQixpQkFBaUIsdUJBQXVCLHlCQUF5QixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7OztBQUQ1RCxFQUFBLG1CQUFRLFlBRTdDO0FBQUEsSUFxRUMsY0FBQTtBQUNFLFlBQUE7QUF6QkY7QUFJQTtBQUpnQix5QkFBQSxnQ0EvQ1osa0JBQUEsTUFBQSwwQkFBQSxHQUFtQixrQkFBQSxNQUFBLDJCQStDc0MsSUFBSTtBQUlqRCx5QkFBQSxrQ0FBQSxrQkFBQSxNQUFBLDhCQUFBLEdBQUEsa0JBQUEsTUFBQSw2QkFBMEIsQ0FBQyxPQUFPLENBQUM7QUFLM0MsV0FBQSwyQkFBdUIsa0JBQUEsTUFBQSxnQ0FBQSxHQUFHLENBQUMsV0FDL0IsSUFBSSxpQkFBaUIsTUFBTSxLQUFLLHFCQUFBLENBQXNCLElBQ3REO0FBS0ksV0FBQSw4QkFBOEIsQ0FBQyxXQUNuQyxJQUFJLGlCQUFpQixNQUFNLEtBQUssYUFBQSxDQUFjLElBQzlDO0FBSUksV0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFLaEQsV0FBSyxtQkFBbUIsZUFBZSxPQUFPLGVBQWUsQ0FBQyxPQUM1RCxLQUFLLFlBQVksR0FBRyxNQUEyQixDQUFDO0FBR2xELFdBQUssbUJBQW1CLFdBQVcsQ0FBQyxPQUFPLEtBQUssZUFBZSxFQUFFLENBQUM7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQWpFcEUsSUFBVyxNQUFN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
@@ -4,10 +4,6 @@ declare const SbbStickyBarElement_base: import('../../core/mixins.js').AbstractC
4
4
  * A container that sticks to the bottom of the page if slotted into `sbb-container`.
5
5
  *
6
6
  * @slot - Use the unnamed slot to add content to the sticky bar.
7
- * @event {CustomEvent<void>} willStick - Emits when the animation from normal content flow to `position: sticky` starts. Can be canceled.
8
- * @event {CustomEvent<void>} didStick - Emits when the animation from normal content flow to `position: sticky` ends.
9
- * @event {CustomEvent<void>} willUnstick - Emits when the animation from `position: sticky` to normal content flow starts. Can be canceled.
10
- * @event {CustomEvent<void>} didUnstick - Emits when the animation from `position: sticky` to normal content flow ends.
11
7
  * @cssprop [--sbb-sticky-bar-padding-block=var(--sbb-spacing-responsive-xs)] - Block padding of the sticky bar.
12
8
  * @cssprop [--sbb-sticky-bar-bottom-overlapping-height=0px] - Define an additional area where
13
9
  * the sticky bar overlaps the following content on the bottom.
@@ -18,10 +14,10 @@ declare const SbbStickyBarElement_base: import('../../core/mixins.js').AbstractC
18
14
  export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
19
15
  static styles: CSSResultGroup;
20
16
  static readonly events: {
21
- readonly willStick: "willStick";
22
- readonly didStick: "didStick";
23
- readonly willUnstick: "willUnstick";
24
- readonly didUnstick: "didUnstick";
17
+ readonly beforestick: "beforestick";
18
+ readonly stick: "stick";
19
+ readonly beforeunstick: "beforeunstick";
20
+ readonly unstick: "unstick";
25
21
  };
26
22
  /** Color of the container, like transparent, white etc. */
27
23
  accessor color: 'white' | 'milk' | 'midnight' | 'charcoal' | null;
@@ -33,10 +29,6 @@ export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
33
29
  /** The state of the component. */
34
30
  private set _state(value);
35
31
  private get _state();
36
- private _willStick;
37
- private _didStick;
38
- private _willUnstick;
39
- private _didUnstick;
40
32
  private _intersector?;
41
33
  private _observer;
42
34
  connectedCallback(): void;
@@ -51,6 +43,8 @@ export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
51
43
  private _stickyCallback;
52
44
  private _unstickyCallback;
53
45
  private _onAnimationEnd;
46
+ private _dispatchBeforeStickEvent;
47
+ private _dispatchBeforeUnStickEvent;
54
48
  protected render(): TemplateResult;
55
49
  }
56
50
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"sticky-bar.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/container/sticky-bar/sticky-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAWb;;;;;;;;;;;;;;GAcG;AACH,qBAEM,mBAAoB,SAAQ,wBAAmC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,2DAA2D;IAC3D,SAA6C,KAAK,EAC9C,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,IAAI,CAAQ;IAEhB;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,kCAAkC;IAClC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,UAAU,CAEf;IACH,OAAO,CAAC,SAAS,CAEd;IACH,OAAO,CAAC,YAAY,CAIlB;IACF,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,SAAS,CAKd;IAEa,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IA+B1B,wEAAwE;IACjE,KAAK,IAAI,IAAI;IAWpB,mEAAmE;IAC5D,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;cAWJ,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"sticky-bar.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/container/sticky-bar/sticky-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAUb;;;;;;;;;;GAUG;AACH,qBAEM,mBAAoB,SAAQ,wBAAmC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,2DAA2D;IAC3D,SAA6C,KAAK,EAC9C,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,IAAI,CAAQ;IAEhB;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,kCAAkC;IAClC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,SAAS,CAKd;IAEa,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IA+B1B,wEAAwE;IACjE,KAAK,IAAI,IAAI;IAWpB,mEAAmE;IAC5D,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,2BAA2B;cAKhB,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -10,7 +10,6 @@ import { IntersectionController } from "@lit-labs/observers/intersection-control
10
10
  import { css, LitElement, html } from "lit";
11
11
  import { customElement, property } from "lit/decorators.js";
12
12
  import { isLean, isZeroAnimationDuration } from "../../core/dom.js";
13
- import { EventEmitter } from "../../core/eventing.js";
14
13
  import { SbbUpdateSchedulerMixin } from "../../core/mixins.js";
15
14
  const style = css`*,
16
15
  ::before,
@@ -213,21 +212,14 @@ let SbbStickyBarElement = (() => {
213
212
  let _size_decorators;
214
213
  let _size_initializers = [];
215
214
  let _size_extraInitializers = [];
216
- var SbbStickyBarElement2 = (_a = class extends _classSuper {
215
+ _a = class extends _classSuper {
217
216
  constructor() {
218
217
  super(...arguments);
219
218
  __privateAdd(this, _color_accessor_storage);
220
219
  __privateAdd(this, _size_accessor_storage);
221
220
  __privateSet(this, _color_accessor_storage, __runInitializers(this, _color_initializers, null));
222
221
  __privateSet(this, _size_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
223
- this._willStick = (__runInitializers(this, _size_extraInitializers), new EventEmitter(this, SbbStickyBarElement2.events.willStick, {
224
- cancelable: true
225
- }));
226
- this._didStick = new EventEmitter(this, SbbStickyBarElement2.events.didStick, {
227
- cancelable: true
228
- });
229
- this._willUnstick = new EventEmitter(this, SbbStickyBarElement2.events.willUnstick, { cancelable: true });
230
- this._didUnstick = new EventEmitter(this, SbbStickyBarElement2.events.didUnstick, { cancelable: true });
222
+ this._intersector = __runInitializers(this, _size_extraInitializers);
231
223
  this._observer = new IntersectionController(this, {
232
224
  // Although `this` is observed, we have to postpone observing
233
225
  // into firstUpdated() to achieve a correct initial state.
@@ -299,7 +291,7 @@ let SbbStickyBarElement = (() => {
299
291
  }
300
292
  /** Animates from normal content flow position to `position: sticky`. */
301
293
  stick() {
302
- if (this._state !== "unsticky" || !this._willStick.emit()) {
294
+ if (this._state !== "unsticky" || !this._dispatchBeforeStickEvent()) {
303
295
  return;
304
296
  }
305
297
  this._state = "sticking";
@@ -309,7 +301,7 @@ let SbbStickyBarElement = (() => {
309
301
  }
310
302
  /** Animates `position: sticky` to normal content flow position. */
311
303
  unstick() {
312
- if (this._state !== "sticky" || !this._willUnstick.emit()) {
304
+ if (this._state !== "sticky" || !this._dispatchBeforeUnStickEvent()) {
313
305
  return;
314
306
  }
315
307
  this._state = "unsticking";
@@ -319,10 +311,10 @@ let SbbStickyBarElement = (() => {
319
311
  }
320
312
  _stickyCallback() {
321
313
  this._state = "sticky";
322
- this._didStick.emit();
314
+ this.dispatchEvent(new Event("stick"));
323
315
  }
324
316
  _unstickyCallback() {
325
- this._didUnstick.emit();
317
+ this.dispatchEvent(new Event("unstick"));
326
318
  this._state = "unsticky";
327
319
  }
328
320
  _onAnimationEnd(event) {
@@ -332,6 +324,12 @@ let SbbStickyBarElement = (() => {
332
324
  this._unstickyCallback();
333
325
  }
334
326
  }
327
+ _dispatchBeforeStickEvent() {
328
+ return this.dispatchEvent(new Event("beforestick", { cancelable: true }));
329
+ }
330
+ _dispatchBeforeUnStickEvent() {
331
+ return this.dispatchEvent(new Event("beforeunstick", { cancelable: true }));
332
+ }
335
333
  render() {
336
334
  return html`
337
335
  <div class="sbb-sticky-bar__wrapper" @animationend=${this._onAnimationEnd}>
@@ -353,17 +351,17 @@ let SbbStickyBarElement = (() => {
353
351
  obj.size = value;
354
352
  } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
355
353
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
356
- SbbStickyBarElement2 = _classThis = _classDescriptor.value;
354
+ _classThis = _classDescriptor.value;
357
355
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
358
356
  })(), _a.styles = style, _a.events = {
359
- willStick: "willStick",
360
- didStick: "didStick",
361
- willUnstick: "willUnstick",
362
- didUnstick: "didUnstick"
363
- }, __runInitializers(_classThis, _classExtraInitializers), _a);
364
- return SbbStickyBarElement2 = _classThis;
357
+ beforestick: "beforestick",
358
+ stick: "stick",
359
+ beforeunstick: "beforeunstick",
360
+ unstick: "unstick"
361
+ }, __runInitializers(_classThis, _classExtraInitializers), _a;
362
+ return _classThis;
365
363
  })();
366
364
  export {
367
365
  SbbStickyBarElement
368
366
  };
369
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb250YWluZXIvc3RpY2t5LWJhci9zdGlja3ktYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGlja3ktYmFyLnNjc3M/bGl0JmlubGluZSc7XG5cbnR5cGUgU3RpY2t5U3RhdGUgPSAnc3RpY2tpbmcnIHwgJ3N0aWNreScgfCAndW5zdGlja2luZycgfCAndW5zdGlja3knO1xuXG4vKipcbiAqIEEgY29udGFpbmVyIHRoYXQgc3RpY2tzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgaWYgc2xvdHRlZCBpbnRvIGBzYmItY29udGFpbmVyYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBzdGlja3kgYmFyLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbFN0aWNrIC0gRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRTdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgdG8gYHBvc2l0aW9uOiBzdGlja3lgIGVuZHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsVW5zdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IHN0YXJ0cy4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkVW5zdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IGVuZHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrPXZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpXSAtIEJsb2NrIHBhZGRpbmcgb2YgdGhlIHN0aWNreSBiYXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0PTBweF0gLSBEZWZpbmUgYW4gYWRkaXRpb25hbCBhcmVhIHdoZXJlXG4gKiB0aGUgc3RpY2t5IGJhciBvdmVybGFwcyB0aGUgZm9sbG93aW5nIGNvbnRlbnQgb24gdGhlIGJvdHRvbS5cbiAqIFRoaXMgYXJlYSBiZWNvbWVzIHZpc2libGUgd2hlbiB0aGUgc3RpY2t5IGJhciB0cmFuc2l0aW9ucyBmcm9tIHN0aWNreSB0byB0aGUgbm9ybWFsIGRvY3VtZW50IGZsb3cuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci16LWluZGV4XSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc3RpY2t5LWJhcicpXG5jbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsU3RpY2s6ICd3aWxsU3RpY2snLFxuICAgIGRpZFN0aWNrOiAnZGlkU3RpY2snLFxuICAgIHdpbGxVbnN0aWNrOiAnd2lsbFVuc3RpY2snLFxuICAgIGRpZFVuc3RpY2s6ICdkaWRVbnN0aWNrJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogQ29sb3Igb2YgdGhlIGNvbnRhaW5lciwgbGlrZSB0cmFuc3BhcmVudCwgd2hpdGUgZXRjLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjpcbiAgICB8ICd3aGl0ZSdcbiAgICB8ICdtaWxrJ1xuICAgIHwgJ21pZG5pZ2h0J1xuICAgIHwgJ2NoYXJjb2FsJ1xuICAgIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFN0aWNreVN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTdGlja3lTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3dpbGxTdGljazogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJTdGlja3lCYXJFbGVtZW50LmV2ZW50cy53aWxsU3RpY2ssIHtcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBfZGlkU3RpY2s6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiU3RpY2t5QmFyRWxlbWVudC5ldmVudHMuZGlkU3RpY2ssIHtcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBfd2lsbFVuc3RpY2s6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJTdGlja3lCYXJFbGVtZW50LmV2ZW50cy53aWxsVW5zdGljayxcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcbiAgcHJpdmF0ZSBfZGlkVW5zdGljazogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlN0aWNreUJhckVsZW1lbnQuZXZlbnRzLmRpZFVuc3RpY2ssXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNreSc7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY2xvc2VzdCgnc2JiLWNvbnRhaW5lcicpO1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWV4cGFuZGVkJywgY29udGFpbmVyLmV4cGFuZGVkKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ludGVyc2VjdG9yKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX2ludGVyc2VjdG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKCF0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5faW50ZXJzZWN0b3IgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3InKSE7XG4gICAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX2ludGVyc2VjdG9yKTtcbiAgICB9XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0U3RpY2t5U3RhdGUoZW50cnk6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuXG4gICAgY29uc3QgaXNTdGlja3kgPSAhZW50cnkuaXNJbnRlcnNlY3RpbmcgJiYgZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LnRvcCA+IDA7XG5cbiAgICAvLyBUbyBvcHRpbWl6ZSB0aGUgdmlzdWFsIHBlcmNlcHRpb24gb2YgdGhlIHN0aWNreSBiYXIsIHdlIGhhdmUgY2VydGFpbiBjYXNlcyAoZS5nLiBvbiBwYWdlIGxvYWQpXG4gICAgLy8gd2hlcmUgd2Ugd2FudCB0aGUgc3RpY2t5IGJhciB0byBzbGlkZSBpbiBmcm9tIHRoZSBib3R0b20uXG4gICAgLy8gVG8gZGVjaWRlIHdoZXRoZXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tIHVwLFxuICAgIC8vIHdlIGNoZWNrIGhvdyBmYXIgYXdheSB0aGUgc3RpY2t5IGJhciBpcyBmcm9tIHRoZSBpbnRlcnNlY3RvciBlbGVtZW50LiBXaGVuIHNjcm9sbGluZyBmYXN0LCB0aGVcbiAgICAvLyBkaWZmZXJlbmNlIGNhbiB2YXJ5IHNsaWdodGx5LiBUbyBhY2NvdW50IGZvciB0aGlzIHdlIGFkZCBhIGhlaWdodCB0b2xlcmFuY2UuXG4gICAgLy8gVGhpcyB2YWx1ZSB3YXMgZm91bmQgYnkgdHJpYWwgYW5kIGVycm9yLlxuICAgIGNvbnN0IGludGVyc2VjdG9yUmVjdCA9IHRoaXMuX2ludGVyc2VjdG9yPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzdGlja3lCYXJSZWN0ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5zYmItc3RpY2t5LWJhcl9fd3JhcHBlcicsXG4gICAgKSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgSEVJR0hUX1RPTEVSQU5DRSA9IDMwO1xuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1zbGlkZS12ZXJ0aWNhbGx5JyxcbiAgICAgIGlzU3RpY2t5ICYmXG4gICAgICAgIHRoaXMuX2ludGVyc2VjdG9yICYmXG4gICAgICAgIE1hdGguYWJzKGludGVyc2VjdG9yUmVjdCEuYm90dG9tIC0gc3RpY2t5QmFyUmVjdC5ib3R0b20pID4gSEVJR0hUX1RPTEVSQU5DRSxcbiAgICApO1xuXG4gICAgLy8gVG9nZ2xpbmcgZGF0YS1zdGlja2luZyBoYXMgdG8gYmUgYWZ0ZXIgZGF0YS1zbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl93aWxsU3RpY2suZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2tpbmcnO1xuICAgIGlmICghdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbi4gKi9cbiAgcHVibGljIHVuc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnc3RpY2t5JyB8fCAhdGhpcy5fd2lsbFVuc3RpY2suZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAndW5zdGlja2luZyc7XG5cbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLXN0aWNraW5nJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N0aWNreUNhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNreSc7XG4gICAgdGhpcy5fZGlkU3RpY2suZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWRVbnN0aWNrLmVtaXQoKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNreSc7XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5fc3RhdGUgPT09ICdzdGlja2luZycgfHwgdGhpcy5fc3RhdGUgPT09ICdzdGlja3knKSAmJlxuICAgICAgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ3NsaWRlLWluJ1xuICAgICkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXRlID09PSAndW5zdGlja2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ3NsaWRlLW91dCcpIHtcbiAgICAgIHRoaXMuX3Vuc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJTdGlja3lCYXJF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
367
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb250YWluZXIvc3RpY2t5LWJhci9zdGlja3ktYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RpY2t5LWJhci5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zdGlja3ktYmFyJylcbmNsYXNzIFNiYlN0aWNreUJhckVsZW1lbnQgZXh0ZW5kcyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZXN0aWNrOiAnYmVmb3Jlc3RpY2snLFxuICAgIHN0aWNrOiAnc3RpY2snLFxuICAgIGJlZm9yZXVuc3RpY2s6ICdiZWZvcmV1bnN0aWNrJyxcbiAgICB1bnN0aWNrOiAndW5zdGljaycsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIENvbG9yIG9mIHRoZSBjb250YWluZXIsIGxpa2UgdHJhbnNwYXJlbnQsIHdoaXRlIGV0Yy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6XG4gICAgfCAnd2hpdGUnXG4gICAgfCAnbWlsaydcbiAgICB8ICdtaWRuaWdodCdcbiAgICB8ICdjaGFyY29hbCdcbiAgICB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTdGlja3lTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTdGlja3lTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU3RpY2t5U3RhdGU7XG4gIH1cblxuICBwcml2YXRlIF9pbnRlcnNlY3Rvcj86IEhUTUxTcGFuRWxlbWVudDtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgLy8gQWx0aG91Z2ggYHRoaXNgIGlzIG9ic2VydmVkLCB3ZSBoYXZlIHRvIHBvc3Rwb25lIG9ic2VydmluZ1xuICAgIC8vIGludG8gZmlyc3RVcGRhdGVkKCkgdG8gYWNoaWV2ZSBhIGNvcnJlY3QgaW5pdGlhbCBzdGF0ZS5cbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9kZXRlY3RTdGlja3lTdGF0ZShlbnRyaWVzWzBdKSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RpY2t5LWJhcic7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8vIFN0aWNreSBiYXIgbmVlZHMgdG8gYmUgaGlkZGVuIHVudGlsIGZpcnN0IG9ic2VydmVyIGNhbGxiYWNrXG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jbG9zZXN0KCdzYmItY29udGFpbmVyJyk7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZXhwYW5kZWQnLCBjb250YWluZXIuZXhwYW5kZWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5faW50ZXJzZWN0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5pdGlhbGl6ZWQnLCBmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2ludGVyc2VjdG9yKSB7XG4gICAgICB0aGlzLl9pbnRlcnNlY3RvciA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvcicpITtcbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5faW50ZXJzZWN0b3IpO1xuICAgIH1cbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RTdGlja3lTdGF0ZShlbnRyeTogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBpc1N0aWNreSA9ICFlbnRyeS5pc0ludGVyc2VjdGluZyAmJiBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QudG9wID4gMDtcblxuICAgIC8vIFRvIG9wdGltaXplIHRoZSB2aXN1YWwgcGVyY2VwdGlvbiBvZiB0aGUgc3RpY2t5IGJhciwgd2UgaGF2ZSBjZXJ0YWluIGNhc2VzIChlLmcuIG9uIHBhZ2UgbG9hZClcbiAgICAvLyB3aGVyZSB3ZSB3YW50IHRoZSBzdGlja3kgYmFyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbS5cbiAgICAvLyBUbyBkZWNpZGUgd2hldGhlciB0byBzbGlkZSBpbiBmcm9tIHRoZSBib3R0b20gdXAsXG4gICAgLy8gd2UgY2hlY2sgaG93IGZhciBhd2F5IHRoZSBzdGlja3kgYmFyIGlzIGZyb20gdGhlIGludGVyc2VjdG9yIGVsZW1lbnQuIFdoZW4gc2Nyb2xsaW5nIGZhc3QsIHRoZVxuICAgIC8vIGRpZmZlcmVuY2UgY2FuIHZhcnkgc2xpZ2h0bHkuIFRvIGFjY291bnQgZm9yIHRoaXMgd2UgYWRkIGEgaGVpZ2h0IHRvbGVyYW5jZS5cbiAgICAvLyBUaGlzIHZhbHVlIHdhcyBmb3VuZCBieSB0cmlhbCBhbmQgZXJyb3IuXG4gICAgY29uc3QgaW50ZXJzZWN0b3JSZWN0ID0gdGhpcy5faW50ZXJzZWN0b3I/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHN0aWNreUJhclJlY3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1zdGlja3ktYmFyX193cmFwcGVyJyxcbiAgICApIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBIRUlHSFRfVE9MRVJBTkNFID0gMzA7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLXNsaWRlLXZlcnRpY2FsbHknLFxuICAgICAgaXNTdGlja3kgJiZcbiAgICAgICAgdGhpcy5faW50ZXJzZWN0b3IgJiZcbiAgICAgICAgTWF0aC5hYnMoaW50ZXJzZWN0b3JSZWN0IS5ib3R0b20gLSBzdGlja3lCYXJSZWN0LmJvdHRvbSkgPiBIRUlHSFRfVE9MRVJBTkNFLFxuICAgICk7XG5cbiAgICAvLyBUb2dnbGluZyBkYXRhLXN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBkYXRhLXNsaWRlLXZlcnRpY2FsbHkgKHByZXZlbnRzIGJhY2tncm91bmQgY29sb3IgdHJhbnNpdGlvbilcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zdGlja2luZycsIGlzU3RpY2t5KTtcblxuICAgIC8vIFN0aWNreSBiYXIgbmVlZHMgdG8gYmUgaGlkZGVuIHVudGlsIGZpcnN0IG9ic2VydmVyIGNhbGxiYWNrXG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqIEFuaW1hdGVzIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbiB0byBgcG9zaXRpb246IHN0aWNreWAuICovXG4gIHB1YmxpYyBzdGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICd1bnN0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2tpbmcnO1xuICAgIGlmICghdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbi4gKi9cbiAgcHVibGljIHVuc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnc3RpY2t5JyB8fCAhdGhpcy5fZGlzcGF0Y2hCZWZvcmVVblN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2tpbmcnO1xuXG4gICAgaWYgKCF0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1zdGlja2luZycpIHx8IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX3Vuc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdzdGlja3knO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgdG8gYHBvc2l0aW9uOiBzdGlja3lgIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3RpY2snKSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN0aWNreUNhbGxiYWNrKCk6IHZvaWQge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Vuc3RpY2snKSk7XG4gICAgdGhpcy5fc3RhdGUgPSAndW5zdGlja3knO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuX3N0YXRlID09PSAnc3RpY2tpbmcnIHx8IHRoaXMuX3N0YXRlID09PSAnc3RpY2t5JykgJiZcbiAgICAgIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdzbGlkZS1pbidcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0aWNreUNhbGxiYWNrKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ3Vuc3RpY2tpbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdzbGlkZS1vdXQnKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVTdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3Jlc3RpY2snLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVVblN0aWNrRXZlbnQoKTogYm9vbGVhbiB7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IHN0YXJ0cy4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmV1bnN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyX193cmFwcGVyXCIgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvclwiPjwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGlja3ktYmFyJzogU2JiU3RpY2t5QmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQThCTSx1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0Usd0JBQXdCLFVBQVU7Ozs7Ozs7QUFBMUMsRUFBQSxtQkFBUSxZQUFtQztBQUFBOztBQVd0QztBQVdBO0FBWGdCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBS2xDLElBQUk7QUFNOEIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JB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
@@ -1,47 +1,37 @@
1
1
  import { LitElement } from 'lit';
2
- import { EventEmitter } from '../eventing.js';
3
2
  import { SbbOpenedClosedState } from '../interfaces.js';
4
3
  declare const SbbOpenCloseBaseElement_base: import('../mixins.js').AbstractConstructor<import('../mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('../mixins.js').SbbElementInternalsConstructor;
5
4
  /**
6
5
  * Base class for overlay components.
7
- *
8
- * @event willOpen - Emits whenever the component starts the opening transition. Can be canceled.
9
- * @event didOpen - Emits whenever the component is opened.
10
- * @event willClose - Emits whenever the component begins the closing transition. Can be canceled.
11
- * @event didClose - Emits whenever the component is closed.
12
6
  */
13
7
  export declare abstract class SbbOpenCloseBaseElement extends SbbOpenCloseBaseElement_base {
14
8
  static readonly events: {
15
- readonly willOpen: "willOpen";
16
- readonly didOpen: "didOpen";
17
- readonly willClose: "willClose";
18
- readonly didClose: "didClose";
9
+ readonly beforeopen: "beforeopen";
10
+ readonly open: "open";
11
+ readonly beforeclose: "beforeclose";
12
+ readonly close: "close";
19
13
  };
20
14
  /** The state of the component. */
21
15
  protected set state(state: SbbOpenedClosedState);
22
16
  protected get state(): SbbOpenedClosedState;
23
17
  /** Whether the element is open. */
24
18
  get isOpen(): boolean;
25
- /** Emits whenever the component starts the opening transition. */
26
- protected willOpen: EventEmitter;
27
- /** Emits whenever the component is opened. */
28
- protected didOpen: EventEmitter;
29
- /** Emits whenever the component begins the closing transition. */
30
- protected willClose: EventEmitter;
31
- /** Emits whenever the component is closed. */
32
- protected didClose: EventEmitter;
33
19
  /** Opens the component. */
34
20
  abstract open(): void;
35
21
  /** Closes the component. */
36
22
  abstract close(): void;
37
23
  connectedCallback(): void;
24
+ protected dispatchBeforeOpenEvent(): boolean;
25
+ protected dispatchOpenEvent(): boolean;
26
+ protected dispatchBeforeCloseEvent(): boolean;
27
+ protected dispatchCloseEvent(): boolean;
38
28
  }
39
29
  declare global {
40
30
  interface GlobalEventHandlersEventMap {
41
- willOpen: CustomEvent<void>;
42
- willClose: CustomEvent<void>;
43
- didOpen: CustomEvent<void>;
44
- didClose: CustomEvent<void>;
31
+ beforeopen: CustomEvent<void>;
32
+ beforeclose: CustomEvent<void>;
33
+ open: CustomEvent<void>;
34
+ close: Event;
45
35
  }
46
36
  }
47
37
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"open-close-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/open-close-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;;AAG7D;;;;;;;GAOG;AACH,8BAAsB,uBAAwB,SAAQ,4BAAoC;IACxF,gBAAuB,MAAM;;;;;MAKlB;IAEX,kCAAkC;IAClC,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAE9C;IACD,SAAS,KAAK,KAAK,IAAI,oBAAoB,CAE1C;IAED,mCAAmC;IACnC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,kEAAkE;IAClE,SAAS,CAAC,QAAQ,EAAE,YAAY,CAI9B;IAEF,8CAA8C;IAC9C,SAAS,CAAC,OAAO,EAAE,YAAY,CAE5B;IAEH,kEAAkE;IAClE,SAAS,CAAC,SAAS,EAAE,YAAY,CAI/B;IAEF,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,EAAE,YAAY,CAI9B;IAEF,2BAA2B;aACX,IAAI,IAAI,IAAI;IAC5B,4BAA4B;aACZ,KAAK,IAAI,IAAI;IAEb,iBAAiB,IAAI,IAAI;CAI1C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"open-close-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/open-close-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;;AAG7D;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,4BAAoC;IACxF,gBAAuB,MAAM;;;;;MAKlB;IAEX,kCAAkC;IAClC,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAE9C;IACD,SAAS,KAAK,KAAK,IAAI,oBAAoB,CAE1C;IAED,mCAAmC;IACnC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,2BAA2B;aACX,IAAI,IAAI,IAAI;IAC5B,4BAA4B;aACZ,KAAK,IAAI,IAAI;IAEb,iBAAiB,IAAI,IAAI;IAKzC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAK5C,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAKtC,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAK7C,SAAS,CAAC,kBAAkB,IAAI,OAAO;CAIxC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC;KACd;CACF"}
@@ -1,16 +1,6 @@
1
1
  import { LitElement } from "lit";
2
- import { EventEmitter } from "../eventing.js";
3
2
  import { SbbElementInternalsMixin } from "../mixins.js";
4
3
  const _SbbOpenCloseBaseElement = class _SbbOpenCloseBaseElement extends SbbElementInternalsMixin(LitElement) {
5
- constructor() {
6
- super(...arguments);
7
- this.willOpen = new EventEmitter(this, _SbbOpenCloseBaseElement.events.willOpen, { cancelable: true });
8
- this.didOpen = new EventEmitter(this, _SbbOpenCloseBaseElement.events.didOpen, {
9
- cancelable: true
10
- });
11
- this.willClose = new EventEmitter(this, _SbbOpenCloseBaseElement.events.willClose, { cancelable: true });
12
- this.didClose = new EventEmitter(this, _SbbOpenCloseBaseElement.events.didClose, { cancelable: true });
13
- }
14
4
  /** The state of the component. */
15
5
  set state(state) {
16
6
  this.setAttribute("data-state", state);
@@ -26,15 +16,27 @@ const _SbbOpenCloseBaseElement = class _SbbOpenCloseBaseElement extends SbbEleme
26
16
  super.connectedCallback();
27
17
  this.state ||= "closed";
28
18
  }
19
+ dispatchBeforeOpenEvent() {
20
+ return this.dispatchEvent(new Event("beforeopen", { cancelable: true }));
21
+ }
22
+ dispatchOpenEvent() {
23
+ return this.dispatchEvent(new Event("open"));
24
+ }
25
+ dispatchBeforeCloseEvent() {
26
+ return this.dispatchEvent(new Event("beforeclose", { cancelable: true }));
27
+ }
28
+ dispatchCloseEvent() {
29
+ return this.dispatchEvent(new Event("close"));
30
+ }
29
31
  };
30
32
  _SbbOpenCloseBaseElement.events = {
31
- willOpen: "willOpen",
32
- didOpen: "didOpen",
33
- willClose: "willClose",
34
- didClose: "didClose"
33
+ beforeopen: "beforeopen",
34
+ open: "open",
35
+ beforeclose: "beforeclose",
36
+ close: "close"
35
37
  };
36
38
  let SbbOpenCloseBaseElement = _SbbOpenCloseBaseElement;
37
39
  export {
38
40
  SbbOpenCloseBaseElement
39
41
  };
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMvb3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL2V2ZW50aW5nLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uL21peGlucy5qcyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igb3ZlcmxheSBjb21wb25lbnRzLlxuICpcbiAqIEBldmVudCB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQgd2lsbENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHdpbGxPcGVuOiAnd2lsbE9wZW4nLFxuICAgIGRpZE9wZW46ICdkaWRPcGVuJyxcbiAgICB3aWxsQ2xvc2U6ICd3aWxsQ2xvc2UnLFxuICAgIGRpZENsb3NlOiAnZGlkQ2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJvdGVjdGVkIHNldCBzdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IHN0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIG9wZW4uICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnb3BlbmVkJztcbiAgfVxuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiAqL1xuICBwcm90ZWN0ZWQgd2lsbE9wZW46IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudC5ldmVudHMud2lsbE9wZW4sXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgb3BlbmVkLiAqL1xuICBwcm90ZWN0ZWQgZGlkT3BlbjogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudC5ldmVudHMuZGlkT3Blbiwge1xuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcm90ZWN0ZWQgd2lsbENsb3NlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQuZXZlbnRzLndpbGxDbG9zZSxcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuICovXG4gIHByb3RlY3RlZCBkaWRDbG9zZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50LmV2ZW50cy5kaWRDbG9zZSxcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIGFic3RyYWN0IG9wZW4oKTogdm9pZDtcbiAgLyoqIENsb3NlcyB0aGUgY29tcG9uZW50LiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2xvc2UoKTogdm9pZDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnN0YXRlIHx8PSAnY2xvc2VkJztcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIHdpbGxPcGVuOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICB3aWxsQ2xvc2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZE9wZW46IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZENsb3NlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztNQWNzQixpQ0FBQSxpQ0FBZ0MseUJBQXlCLFVBQVUsRUFBQztBQUFBLEVBQTFGLGNBQUE7O0FBc0JZLFNBQUEsV0FBeUIsSUFBSSxhQUNyQyxNQUNBLHlCQUF3QixPQUFPLFVBQy9CLEVBQUUsWUFBWSxNQUFNO0FBSVosU0FBQSxVQUF3QixJQUFJLGFBQWEsTUFBTSx5QkFBd0IsT0FBTyxTQUFTO0FBQUEsTUFDL0YsWUFBWTtBQUFBLElBQUEsQ0FDYjtBQUdTLFNBQUEsWUFBMEIsSUFBSSxhQUN0QyxNQUNBLHlCQUF3QixPQUFPLFdBQy9CLEVBQUUsWUFBWSxNQUFNO0FBSVosU0FBQSxXQUF5QixJQUFJLGFBQ3JDLE1BQ0EseUJBQXdCLE9BQU8sVUFDL0IsRUFBRSxZQUFZLE1BQU07QUFBQSxFQUFBO0FBQUE7QUFBQSxFQW5DdEIsSUFBYyxNQUFNLE9BQTJCO0FBQzdDLFNBQUssYUFBYSxjQUFjLEtBQUs7QUFBQSxFQUFBO0FBQUEsRUFFdkMsSUFBYyxRQUFLO0FBQ2pCLFdBQU8sS0FBSyxhQUFhLFlBQVk7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl2QyxJQUFXLFNBQU07QUFDZixXQUFPLEtBQUssVUFBVTtBQUFBLEVBQUE7QUFBQSxFQWtDUixvQkFBaUI7QUFDL0IsVUFBTSxrQkFBQTtBQUNOLFNBQUssVUFBVTtBQUFBLEVBQUE7O0FBckRNLHlCQUFBLFNBQVM7QUFBQSxFQUM5QixVQUFVO0FBQUEsRUFDVixTQUFTO0FBQUEsRUFDVCxXQUFXO0FBQUEsRUFDWCxVQUFVO0FBQUE7SUFMUTsifQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMvb3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uL21peGlucy5qcyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igb3ZlcmxheSBjb21wb25lbnRzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJvdGVjdGVkIHNldCBzdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IHN0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIG9wZW4uICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnb3BlbmVkJztcbiAgfVxuXG4gIC8qKiBPcGVucyB0aGUgY29tcG9uZW50LiAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb3BlbigpOiB2b2lkO1xuICAvKiogQ2xvc2VzIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjbG9zZSgpOiB2b2lkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc3RhdGUgfHw9ICdjbG9zZWQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc3BhdGNoT3BlbkV2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGlzIG9wZW5lZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKTogYm9vbGVhbiB7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc3BhdGNoQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Nsb3NlJykpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgYmVmb3Jlb3BlbjogQ3VzdG9tRXZlbnQ8dm9pZD47XG4gICAgYmVmb3JlY2xvc2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIG9wZW46IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGNsb3NlOiBFdmVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BUXNCLGlDQUFBLGlDQUFnQyx5QkFBeUIsVUFBVSxFQUFDO0FBQUE7QUFBQSxFQVN4RixJQUFjLE1BQU0sT0FBMkI7QUFDN0MsU0FBSyxhQUFhLGNBQWMsS0FBSztBQUFBLEVBQUE7QUFBQSxFQUV2QyxJQUFjLFFBQUs7QUFDakIsV0FBTyxLQUFLLGFBQWEsWUFBWTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSXZDLElBQVcsU0FBTTtBQUNmLFdBQU8sS0FBSyxVQUFVO0FBQUEsRUFBQTtBQUFBLEVBUVIsb0JBQWlCO0FBQy9CLFVBQU0sa0JBQUE7QUFDTixTQUFLLFVBQVU7QUFBQSxFQUFBO0FBQUEsRUFHUCwwQkFBdUI7QUFFL0IsV0FBTyxLQUFLLGNBQWMsSUFBSSxNQUFNLGNBQWMsRUFBRSxZQUFZLEtBQUEsQ0FBTSxDQUFDO0FBQUEsRUFBQTtBQUFBLEVBRy9ELG9CQUFpQjtBQUV6QixXQUFPLEtBQUssY0FBYyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQUEsRUFBQTtBQUFBLEVBR25DLDJCQUF3QjtBQUVoQyxXQUFPLEtBQUssY0FBYyxJQUFJLE1BQU0sZUFBZSxFQUFFLFlBQVksS0FBQSxDQUFNLENBQUM7QUFBQSxFQUFBO0FBQUEsRUFHaEUscUJBQWtCO0FBRTFCLFdBQU8sS0FBSyxjQUFjLElBQUksTUFBTSxPQUFPLENBQUM7QUFBQSxFQUFBOztBQS9DdkIseUJBQUEsU0FBUztBQUFBLEVBQzlCLFlBQVk7QUFBQSxFQUNaLE1BQU07QUFBQSxFQUNOLGFBQWE7QUFBQSxFQUNiLE9BQU87QUFBQTtJQUxXOyJ9
@@ -2,7 +2,6 @@
2
2
  * @entrypoint
3
3
  */
4
4
  export * from './eventing/composed-path-has-attribute.js';
5
- export * from './eventing/event-emitter.js';
6
5
  export * from './eventing/event-target.js';
7
6
  export * from './eventing/form-element-handlers.js';
8
7
  export * from './eventing/forward-event.js';
@@ -1 +1 @@
1
- {"version":3,"file":"eventing.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/eventing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"eventing.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/eventing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
@@ -1,12 +1,10 @@
1
1
  import { composedPathHasAttribute } from "./eventing/composed-path-has-attribute.js";
2
- import { EventEmitter } from "./eventing/event-emitter.js";
3
2
  import { getEventTarget } from "./eventing/event-target.js";
4
3
  import { preventScrollOnSpacebarPress } from "./eventing/form-element-handlers.js";
5
4
  import { forwardEvent } from "./eventing/forward-event.js";
6
5
  import { isEventPrevented } from "./eventing/is-event-prevented.js";
7
6
  import { throttle } from "./eventing/throttle.js";
8
7
  export {
9
- EventEmitter,
10
8
  composedPathHasAttribute,
11
9
  forwardEvent,
12
10
  getEventTarget,
@@ -14,4 +12,4 @@ export {
14
12
  preventScrollOnSpacebarPress,
15
13
  throttle
16
14
  };
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRpbmcuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OyJ9
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRpbmcuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=