@sbb-esta/lyne-elements 3.0.0 → 3.1.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 (477) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +1 -1
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  3. package/autocomplete/autocomplete-base-element.js +3 -1
  4. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  5. package/autocomplete/autocomplete.component.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  7. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
  8. package/button/accent-button/accent-button.component.d.ts +2 -1
  9. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  10. package/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  11. package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  12. package/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  13. package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  14. package/button/button/button.component.d.ts +2 -1
  15. package/button/button/button.component.d.ts.map +1 -1
  16. package/button/button-link/button-link.component.d.ts +2 -1
  17. package/button/button-link/button-link.component.d.ts.map +1 -1
  18. package/button/button-static/button-static.component.d.ts +2 -1
  19. package/button/button-static/button-static.component.d.ts.map +1 -1
  20. package/button/common/button-common.d.ts +1 -0
  21. package/button/common/button-common.d.ts.map +1 -1
  22. package/button/common/button-common.js +52 -28
  23. package/button/common.js +1 -1
  24. package/button/mini-button/mini-button.component.d.ts +1 -0
  25. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  26. package/button/mini-button/mini-button.component.js +20 -14
  27. package/button/secondary-button/secondary-button.component.d.ts +2 -1
  28. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  29. package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  30. package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  31. package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  32. package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  33. package/button/transparent-button/transparent-button.component.d.ts +2 -1
  34. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  35. package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  36. package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  37. package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  38. package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  39. package/button.js +1 -1
  40. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  41. package/checkbox/checkbox-group/checkbox-group.component.js +4 -4
  42. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  43. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  44. package/core/a11y/live-announcer.d.ts.map +1 -1
  45. package/core/a11y/live-announcer.js +10 -8
  46. package/core/base-elements/link-base-element.d.ts +1 -0
  47. package/core/base-elements/link-base-element.d.ts.map +1 -1
  48. package/core/base-elements/link-base-element.js +18 -17
  49. package/core/base-elements/open-close-base-element.d.ts +3 -3
  50. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  51. package/core/config/config.d.ts +5 -0
  52. package/core/config/config.d.ts.map +1 -1
  53. package/core/mixins/selection-panel-mixin.d.ts +23 -0
  54. package/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  55. package/core/mixins/selection-panel-mixin.js +87 -0
  56. package/core/mixins.d.ts +1 -0
  57. package/core/mixins.d.ts.map +1 -1
  58. package/core/mixins.js +12 -10
  59. package/core/styles/core.scss +42 -7
  60. package/core.css +22 -1
  61. package/custom-elements.json +22060 -19260
  62. package/datepicker/datepicker/datepicker.component.d.ts +7 -3
  63. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  64. package/datepicker/datepicker/datepicker.component.js +31 -25
  65. package/development/accordion/accordion.component.js +1 -1
  66. package/development/action-group/action-group.component.js +1 -1
  67. package/development/alert/alert/alert.component.js +1 -1
  68. package/development/alert/alert-group/alert-group.component.js +1 -1
  69. package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
  70. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  71. package/development/autocomplete/autocomplete-base-element.js +4 -2
  72. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  73. package/development/autocomplete/autocomplete.component.js +2 -2
  74. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  75. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  76. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  77. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  78. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  79. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  80. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  81. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  82. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  83. package/development/button/accent-button/accent-button.component.d.ts +2 -1
  84. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  85. package/development/button/accent-button/accent-button.component.js +1 -1
  86. package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  87. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  88. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  89. package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  90. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  91. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  92. package/development/button/button/button.component.d.ts +2 -1
  93. package/development/button/button/button.component.d.ts.map +1 -1
  94. package/development/button/button/button.component.js +1 -1
  95. package/development/button/button-link/button-link.component.d.ts +2 -1
  96. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  97. package/development/button/button-link/button-link.component.js +1 -1
  98. package/development/button/button-static/button-static.component.d.ts +2 -1
  99. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  100. package/development/button/button-static/button-static.component.js +1 -1
  101. package/development/button/common/button-common.d.ts +1 -0
  102. package/development/button/common/button-common.d.ts.map +1 -1
  103. package/development/button/common/button-common.js +42 -5
  104. package/development/button/common.js +1 -1
  105. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  106. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  107. package/development/button/mini-button/mini-button.component.js +41 -2
  108. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  109. package/development/button/secondary-button/secondary-button.component.d.ts +2 -1
  110. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  111. package/development/button/secondary-button/secondary-button.component.js +1 -1
  112. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  113. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  114. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  115. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  116. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  117. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  118. package/development/button/transparent-button/transparent-button.component.d.ts +2 -1
  119. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  120. package/development/button/transparent-button/transparent-button.component.js +1 -1
  121. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  122. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  123. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  124. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  125. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  126. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  127. package/development/button.js +1 -1
  128. package/development/calendar/calendar.component.js +1 -1
  129. package/development/card/card/card.component.js +1 -1
  130. package/development/card/card-badge/card-badge.component.js +1 -1
  131. package/development/card/card-button/card-button.component.js +1 -1
  132. package/development/card/card-link/card-link.component.js +1 -1
  133. package/development/card/common/card-action-common.js +1 -1
  134. package/development/checkbox/checkbox/checkbox.component.js +1 -1
  135. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  136. package/development/checkbox/checkbox-group/checkbox-group.component.js +2 -2
  137. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  138. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  139. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +1 -1
  140. package/development/checkbox/common/checkbox-common.js +1 -1
  141. package/development/chip/chip/chip.component.js +1 -1
  142. package/development/chip/chip-group/chip-group.component.js +1 -1
  143. package/development/chip-label/chip-label.component.js +1 -1
  144. package/development/clock/clock.component.js +1 -1
  145. package/development/container/container/container.component.js +1 -1
  146. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  147. package/development/core/a11y/arrow-navigation.js +1 -1
  148. package/development/core/a11y/focus-trap-controller.js +1 -1
  149. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  150. package/development/core/a11y/input-modality-detector.js +1 -1
  151. package/development/core/a11y/interactivity-checker.js +1 -1
  152. package/development/core/a11y/live-announcer.d.ts.map +1 -1
  153. package/development/core/a11y/live-announcer.js +10 -6
  154. package/development/core/base-elements/action-base-element.js +1 -1
  155. package/development/core/base-elements/button-base-element.js +1 -1
  156. package/development/core/base-elements/link-base-element.d.ts +1 -0
  157. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  158. package/development/core/base-elements/link-base-element.js +3 -1
  159. package/development/core/base-elements/open-close-base-element.d.ts +3 -3
  160. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  161. package/development/core/base-elements/open-close-base-element.js +1 -1
  162. package/development/core/config/config.d.ts +5 -0
  163. package/development/core/config/config.d.ts.map +1 -1
  164. package/development/core/config/config.js +1 -1
  165. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  166. package/development/core/controllers/id-reference-controller.js +1 -1
  167. package/development/core/controllers/inert-controller.js +1 -1
  168. package/development/core/controllers/language-controller.js +1 -1
  169. package/development/core/controllers/media-matchers-controller.js +1 -1
  170. package/development/core/controllers/slot-state-controller.js +1 -1
  171. package/development/core/datetime/date-adapter.js +1 -1
  172. package/development/core/datetime/native-date-adapter.js +1 -1
  173. package/development/core/decorators/force-type.js +1 -1
  174. package/development/core/decorators/get-override.js +1 -1
  175. package/development/core/decorators/handle-distinct-change.js +1 -1
  176. package/development/core/decorators/host-attributes.js +1 -1
  177. package/development/core/decorators/id-reference.js +1 -1
  178. package/development/core/decorators/omit-empty-converter.js +1 -1
  179. package/development/core/decorators/plain-date.js +1 -1
  180. package/development/core/decorators/slot-state.js +1 -1
  181. package/development/core/dom/animation.js +1 -1
  182. package/development/core/dom/breakpoint.js +1 -1
  183. package/development/core/dom/host-context.js +1 -1
  184. package/development/core/dom/scroll.js +1 -1
  185. package/development/core/dom/set-or-remove-attribute.js +1 -1
  186. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  187. package/development/core/eventing/form-element-handlers.js +1 -1
  188. package/development/core/eventing/throttle.js +1 -1
  189. package/development/core/i18n/i18n.js +1 -1
  190. package/development/core/mixins/animation-complete-mixin.js +1 -1
  191. package/development/core/mixins/disabled-mixin.js +1 -1
  192. package/development/core/mixins/element-internals-mixin.js +1 -1
  193. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  194. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  195. package/development/core/mixins/form-associated-mixin.js +1 -1
  196. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  197. package/development/core/mixins/hydration-mixin.js +1 -1
  198. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  199. package/development/core/mixins/negative-mixin.js +1 -1
  200. package/development/core/mixins/panel-mixin.js +1 -1
  201. package/development/core/mixins/readonly-mixin.js +1 -1
  202. package/development/core/mixins/required-mixin.js +1 -1
  203. package/development/core/mixins/selection-panel-mixin.d.ts +23 -0
  204. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  205. package/development/core/mixins/selection-panel-mixin.js +120 -0
  206. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  207. package/development/core/mixins.d.ts +1 -0
  208. package/development/core/mixins.d.ts.map +1 -1
  209. package/development/core/mixins.js +7 -5
  210. package/development/core/overlay/overlay-option-panel.js +1 -1
  211. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  212. package/development/core/overlay/position.js +1 -1
  213. package/development/core/testing/event-spy.js +1 -1
  214. package/development/core/testing/mocha-extensions.js +1 -1
  215. package/development/core/testing/wait-for-condition.js +1 -1
  216. package/development/core/testing/wait-for-image-ready.js +1 -1
  217. package/development/date-input/date-input.component.js +1 -1
  218. package/development/datepicker/common/datepicker-button.js +1 -1
  219. package/development/datepicker/datepicker/datepicker.component.d.ts +7 -3
  220. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  221. package/development/datepicker/datepicker/datepicker.component.js +14 -3
  222. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  223. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  224. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  225. package/development/dialog/dialog/dialog.component.d.ts +4 -2
  226. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  227. package/development/dialog/dialog/dialog.component.js +61 -11
  228. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  229. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  230. package/development/dialog/dialog-actions/dialog-actions.component.js +10 -1
  231. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  232. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  233. package/development/dialog/dialog-close-button/dialog-close-button.component.js +53 -0
  234. package/development/dialog/dialog-close-button.d.ts +5 -0
  235. package/development/dialog/dialog-close-button.d.ts.map +1 -0
  236. package/development/dialog/dialog-close-button.js +5 -0
  237. package/development/dialog/dialog-content/dialog-content.component.js +2 -2
  238. package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  239. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  240. package/development/dialog/dialog-title/dialog-title.component.js +6 -2
  241. package/development/dialog.d.ts +1 -0
  242. package/development/dialog.d.ts.map +1 -1
  243. package/development/dialog.js +3 -1
  244. package/development/divider/divider.component.js +1 -1
  245. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  246. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  247. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -2
  248. package/development/file-selector/common/file-selector-common.js +1 -1
  249. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  250. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  251. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  252. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  253. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  254. package/development/footer/footer.component.js +1 -1
  255. package/development/form-error/form-error.component.js +1 -1
  256. package/development/form-field/form-field/form-field.component.d.ts +23 -1
  257. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  258. package/development/form-field/form-field/form-field.component.js +39 -12
  259. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  260. package/development/form-field/form-field.js +2 -1
  261. package/development/form-field.js +2 -1
  262. package/development/header/common/header-action-common.js +1 -1
  263. package/development/header/header/header.component.js +1 -1
  264. package/development/header/header-environment/header-environment.component.d.ts +23 -0
  265. package/development/header/header-environment/header-environment.component.d.ts.map +1 -0
  266. package/development/header/header-environment/header-environment.component.js +111 -0
  267. package/development/header/header-environment.d.ts +5 -0
  268. package/development/header/header-environment.d.ts.map +1 -0
  269. package/development/header/header-environment.js +5 -0
  270. package/development/icon/icon-base.js +1 -1
  271. package/development/icon/icon-name-mixin.js +1 -1
  272. package/development/icon/icon-request.js +1 -1
  273. package/development/icon/icon-validate.js +1 -1
  274. package/development/icon/icon.component.js +1 -1
  275. package/development/image/image.component.js +1 -1
  276. package/development/journey-header/journey-header.component.js +1 -1
  277. package/development/lead-container/lead-container.component.js +1 -1
  278. package/development/link/common/block-link-common.js +1 -1
  279. package/development/link-common-DPLJx5Uo.js +1 -1
  280. package/development/link-list/common/link-list-base.js +1 -1
  281. package/development/link-list/link-list/link-list.component.js +1 -1
  282. package/development/loading-indicator/loading-indicator.component.js +1 -1
  283. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  284. package/development/logo/logo.component.js +1 -1
  285. package/development/map-container/map-container.component.js +1 -1
  286. package/development/menu/common/menu-action-common.js +1 -1
  287. package/development/menu/menu/menu.component.d.ts +1 -0
  288. package/development/menu/menu/menu.component.d.ts.map +1 -1
  289. package/development/menu/menu/menu.component.js +2 -2
  290. package/development/menu/menu-button/menu-button.component.d.ts +1 -0
  291. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  292. package/development/menu/menu-button/menu-button.component.js +2 -3
  293. package/development/menu/menu-link/menu-link.component.d.ts +1 -0
  294. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  295. package/development/menu/menu-link/menu-link.component.js +5 -1
  296. package/development/message/message.component.js +1 -1
  297. package/development/navigation/common/navigation-action-common.js +1 -1
  298. package/development/navigation/navigation/navigation.component.js +1 -1
  299. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  300. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  301. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  302. package/development/notification/notification.component.js +1 -1
  303. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  304. package/development/option/optgroup/optgroup-base-element.js +8 -6
  305. package/development/option/optgroup/optgroup.component.js +1 -1
  306. package/development/option/option/option-base-element.d.ts +1 -1
  307. package/development/option/option/option-base-element.d.ts.map +1 -1
  308. package/development/option/option/option-base-element.js +1 -1
  309. package/development/option/option/option.component.d.ts +1 -1
  310. package/development/option/option/option.component.d.ts.map +1 -1
  311. package/development/option/option/option.component.js +1 -1
  312. package/development/option/option-hint/option-hint.component.d.ts +18 -0
  313. package/development/option/option-hint/option-hint.component.d.ts.map +1 -0
  314. package/development/option/option-hint/option-hint.component.js +74 -0
  315. package/development/option/option-hint.d.ts +5 -0
  316. package/development/option/option-hint.d.ts.map +1 -0
  317. package/development/option/option-hint.js +5 -0
  318. package/development/option.d.ts +1 -0
  319. package/development/option.d.ts.map +1 -1
  320. package/development/option.js +4 -2
  321. package/development/overlay/overlay-base-element.d.ts +1 -0
  322. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  323. package/development/overlay/overlay-base-element.js +3 -3
  324. package/development/overlay/overlay.component.js +1 -1
  325. package/development/paginator/common/paginator-common.js +1 -1
  326. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  327. package/development/paginator/paginator/paginator.component.js +1 -1
  328. package/development/popover/popover/popover.component.d.ts +19 -4
  329. package/development/popover/popover/popover.component.d.ts.map +1 -1
  330. package/development/popover/popover/popover.component.js +44 -32
  331. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  332. package/development/radio-button/common/radio-button-common.js +1 -1
  333. package/development/radio-button/radio-button/radio-button.component.js +1 -1
  334. package/development/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  335. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  336. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  337. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +7 -7
  338. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  339. package/development/select/select.component.d.ts.map +1 -1
  340. package/development/select/select.component.js +2 -2
  341. package/development/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  342. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  343. package/development/selection-action-panel/selection-action-panel.component.js +105 -0
  344. package/development/selection-action-panel.d.ts +5 -0
  345. package/development/selection-action-panel.d.ts.map +1 -0
  346. package/development/selection-action-panel.js +5 -0
  347. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  348. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  349. package/development/selection-expansion-panel/selection-expansion-panel.component.js +26 -106
  350. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  351. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  352. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  353. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  354. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  355. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  356. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  357. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  358. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  359. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  360. package/development/signet/signet.component.js +1 -1
  361. package/development/skiplink-list/skiplink-list.component.js +1 -1
  362. package/development/slider/slider.component.js +1 -1
  363. package/development/status/status.component.js +1 -1
  364. package/development/stepper/step/step.component.d.ts +1 -1
  365. package/development/stepper/step/step.component.d.ts.map +1 -1
  366. package/development/stepper/step/step.component.js +1 -1
  367. package/development/stepper/step-label/step-label.component.js +1 -1
  368. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  369. package/development/stepper/stepper/stepper.component.js +1 -1
  370. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  371. package/development/tabs/tab/tab.component.js +1 -1
  372. package/development/tabs/tab-group/tab-group.component.js +1 -1
  373. package/development/tabs/tab-label/tab-label.component.js +1 -1
  374. package/development/tag/tag/tag.component.js +1 -1
  375. package/development/tag/tag-group/tag-group.component.js +1 -1
  376. package/development/teaser/teaser.component.js +1 -1
  377. package/development/teaser-hero/teaser-hero.component.js +1 -1
  378. package/development/teaser-product/common/teaser-product-common.js +1 -1
  379. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  380. package/development/time-input/time-input.component.js +1 -1
  381. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  382. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  383. package/development/title/title-base.js +1 -1
  384. package/development/toast/toast.component.js +1 -1
  385. package/development/toggle/toggle/toggle.component.js +1 -1
  386. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  387. package/development/toggle-check/toggle-check.component.js +1 -1
  388. package/development/train/train/train.component.js +1 -1
  389. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  390. package/development/train/train-formation/train-formation.component.js +1 -1
  391. package/development/train/train-wagon/train-wagon.component.js +1 -1
  392. package/development/{transparent-button-Ddb_s0a0.js → transparent-button-Dun6bh2G.js} +89 -8
  393. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  394. package/dialog/dialog/dialog.component.d.ts +4 -2
  395. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  396. package/dialog/dialog/dialog.component.js +63 -56
  397. package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  398. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  399. package/dialog/dialog-actions/dialog-actions.component.js +13 -9
  400. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  401. package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  402. package/dialog/dialog-close-button/dialog-close-button.component.js +31 -0
  403. package/dialog/dialog-close-button.d.ts +5 -0
  404. package/dialog/dialog-close-button.d.ts.map +1 -0
  405. package/dialog/dialog-close-button.js +4 -0
  406. package/dialog/dialog-content/dialog-content.component.js +6 -6
  407. package/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  408. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  409. package/dialog/dialog-title/dialog-title.component.js +11 -8
  410. package/dialog.d.ts +1 -0
  411. package/dialog.d.ts.map +1 -1
  412. package/dialog.js +6 -4
  413. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -7
  414. package/form-field/form-field/form-field.component.d.ts +23 -1
  415. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  416. package/form-field/form-field/form-field.component.js +52 -41
  417. package/form-field/form-field.js +3 -2
  418. package/form-field.js +5 -4
  419. package/header/header-environment/header-environment.component.d.ts +23 -0
  420. package/header/header-environment/header-environment.component.d.ts.map +1 -0
  421. package/header/header-environment/header-environment.component.js +37 -0
  422. package/header/header-environment.d.ts +5 -0
  423. package/header/header-environment.d.ts.map +1 -0
  424. package/header/header-environment.js +4 -0
  425. package/index.d.ts +8 -0
  426. package/index.js +8 -0
  427. package/menu/menu/menu.component.d.ts +1 -0
  428. package/menu/menu/menu.component.d.ts.map +1 -1
  429. package/menu/menu/menu.component.js +1 -1
  430. package/menu/menu-button/menu-button.component.d.ts +1 -0
  431. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  432. package/menu/menu-button/menu-button.component.js +8 -8
  433. package/menu/menu-link/menu-link.component.d.ts +1 -0
  434. package/menu/menu-link/menu-link.component.d.ts.map +1 -1
  435. package/menu/menu-link/menu-link.component.js +9 -6
  436. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  437. package/option/optgroup/optgroup-base-element.js +19 -17
  438. package/option/option/option-base-element.d.ts +1 -1
  439. package/option/option/option-base-element.d.ts.map +1 -1
  440. package/option/option/option.component.d.ts +1 -1
  441. package/option/option/option.component.d.ts.map +1 -1
  442. package/option/option-hint/option-hint.component.d.ts +18 -0
  443. package/option/option-hint/option-hint.component.d.ts.map +1 -0
  444. package/option/option-hint/option-hint.component.js +27 -0
  445. package/option/option-hint.d.ts +5 -0
  446. package/option/option-hint.d.ts.map +1 -0
  447. package/option/option-hint.js +4 -0
  448. package/option.d.ts +1 -0
  449. package/option.d.ts.map +1 -1
  450. package/option.js +5 -3
  451. package/overlay/overlay-base-element.d.ts +1 -0
  452. package/overlay/overlay-base-element.d.ts.map +1 -1
  453. package/overlay/overlay-base-element.js +21 -21
  454. package/package.json +23 -3
  455. package/popover/popover/popover.component.d.ts +19 -4
  456. package/popover/popover/popover.component.d.ts.map +1 -1
  457. package/popover/popover/popover.component.js +109 -96
  458. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  459. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  460. package/radio-button/radio-button-panel/radio-button-panel.component.js +9 -9
  461. package/select/select.component.d.ts.map +1 -1
  462. package/select/select.component.js +1 -1
  463. package/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  464. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  465. package/selection-action-panel/selection-action-panel.component.js +34 -0
  466. package/selection-action-panel.d.ts +5 -0
  467. package/selection-action-panel.d.ts.map +1 -0
  468. package/selection-action-panel.js +4 -0
  469. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  470. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  471. package/selection-expansion-panel/selection-expansion-panel.component.js +45 -102
  472. package/standard-theme.css +22 -1
  473. package/stepper/step/step.component.d.ts +1 -1
  474. package/stepper/step/step.component.d.ts.map +1 -1
  475. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  476. package/transparent-button-rf30m88X.js +9 -0
  477. package/transparent-button-BlbvexCb.js +0 -9
@@ -276,4 +276,4 @@ const SbbFormAssociatedMixin = (superClass) => {
276
276
  export {
277
277
  SbbFormAssociatedMixin
278
278
  };
279
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBQcm9wZXJ0eURlY2xhcmF0aW9uLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUgfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAvKipcbiAgICogRGVmaW5lcyBjdXN0b20gdmFsaWRpdHkgc3RhdGUgcHJvcGVydGllcy5cbiAgICovXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlIGV4dGVuZHMgQ3VzdG9tVmFsaWRpdHlTdGF0ZSB7fVxuICBpbnRlcmZhY2UgVmFsaWRpdHlTdGF0ZUZsYWdzIGV4dGVuZHMgUGFydGlhbDxDdXN0b21WYWxpZGl0eVN0YXRlPiB7fVxufVxuXG5jb25zdCB2YWxpZGl0eUtleXM6IFJlcXVpcmVkPE9taXQ8VmFsaWRpdHlTdGF0ZUZsYWdzLCBrZXlvZiBDdXN0b21WYWxpZGl0eVN0YXRlPj4gPSB7XG4gIGJhZElucHV0OiBmYWxzZSxcbiAgY3VzdG9tRXJyb3I6IGZhbHNlLFxuICBwYXR0ZXJuTWlzbWF0Y2g6IGZhbHNlLFxuICByYW5nZU92ZXJmbG93OiBmYWxzZSxcbiAgcmFuZ2VVbmRlcmZsb3c6IGZhbHNlLFxuICBzdGVwTWlzbWF0Y2g6IGZhbHNlLFxuICB0b29Mb25nOiBmYWxzZSxcbiAgdG9vU2hvcnQ6IGZhbHNlLFxuICB0eXBlTWlzbWF0Y2g6IGZhbHNlLFxuICB2YWx1ZU1pc3Npbmc6IGZhbHNlLFxufTtcbi8vIFdlIG5lZWQgVmFsaWRpdHlTdGF0ZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHQsIGFzIHdlIGNoZWNrIHRoZSBwcm90b3R5cGUgZm9yXG4vLyBleHRlbnNpb25zLiBJbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhhdCBpcyBub3QgdGhlIGNhc2UgKGUuZy4gTm9kZS5qcykgd2Vcbi8vIHBhdGNoIGl0IHdpdGggYSBtaW5pbWFsIHNoaW0uXG5pZiAodHlwZW9mIFZhbGlkaXR5U3RhdGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIGNvbnN0IHZhbGlkaXR5Q2xhc3MgPSBjbGFzcyBWYWxpZGl0eVN0YXRlIHtcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbGxlZ2FsIGNvbnN0cnVjdG9yJyk7XG4gICAgfVxuICB9O1xuICBPYmplY3QuZW50cmllcyh2YWxpZGl0eUtleXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT5cbiAgICBPYmplY3QuYXNzaWduKHZhbGlkaXR5Q2xhc3MucHJvdG90eXBlLCB7XG4gICAgICBnZXQgW2tleV0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG4gIGdsb2JhbFRoaXMuVmFsaWRpdHlTdGF0ZSA9IHZhbGlkaXR5Q2xhc3MgYXMgdW5rbm93biBhcyB0eXBlb2YgVmFsaWRpdHlTdGF0ZTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUge1xuICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgYWNjZXNzb3IgdmFsdWU6IHVua25vd247XG5cbiAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlO1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25NZXNzYWdlKCk6IHN0cmluZztcbiAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgZm9ybURpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgZm9ybUFzc29jaWF0ZWRDYWxsYmFjaz8oZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGZvcm1TdGF0ZT8oKTogRm9ybVJlc3RvcmVTdGF0ZTtcbiAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICBmbGFnOiBULFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICk6IHZvaWQ7XG4gIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY3VzdG9tIGNvbnRyb2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybUFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gICAgcHVibGljIGFic3RyYWN0IGFjY2Vzc29yIHZhbHVlOiB1bmtub3duO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZm9ybSBvd25lciBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtKCk6IEhUTUxGb3JtRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmZvcm07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50LiBXaWxsIGJlIHJlYWQgZnJvbSBuYW1lIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICAgKiBEdWUgdG8gdGhpcyBpdCBpcyBpbXBsZW1lbnRlZCBhcyBhIGdldHRlci9zZXR0ZXIgYW5kIHRoZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSBoYW5kbGVzIHRoZSBkaWZmIGNoZWNrLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgJHtuYW1lfWApO1xuXG4gICAgICAvLyBGb3IgYEZvcm1EYXRhYCB2YWx1ZXMsIHdlIGhhdmUgdG8gbWFudWFsbHkgdXBkYXRlIHRoZSBmaWVsZE5hbWUga2V5XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBWYWxpZGl0eVN0YXRlIG9iamVjdCBmb3IgdGhpcyBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVmFsaWRpdHlTdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMudmFsaWRpdHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBlcnJvciBtZXNzYWdlLCBpZiBhdmFpbGFibGUsIHdoaWNoIGNvcnJlc3BvbmRzXG4gICAgICogdG8gdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBzdGF0ZS5cbiAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IG9ubHkgb25lIG1lc3NhZ2UgaXMgcmV0dXJuZWQgYXQgYSB0aW1lIChlLmcuIGlmXG4gICAgICogbXVsdGlwbGUgdmFsaWRpdHkgc3RhdGVzIGFyZSBpbnZhbGlkLCBvbmx5IHRoZSBjaHJvbm9sb2dpY2FsbHkgZmlyc3Qgb25lXG4gICAgICogaXMgcmV0dXJuZWQgdW50aWwgaXQgaXMgZml4ZWQsIGF0IHdoaWNoIHBvaW50IHRoZSBuZXh0IG1lc3NhZ2UgbWlnaHQgYmVcbiAgICAgKiByZXR1cm5lZCwgaWYgaXQgaXMgc3RpbGwgYXBwbGljYWJsZSkuIEFsc28gYSBjdXN0b20gdmFsaWRpdHkgbWVzc2FnZVxuICAgICAqIChzZWUgYmVsb3cpIGhhcyBwcmVjZWRlbmNlIG92ZXIgbmF0aXZlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLndpbGxWYWxpZGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGl0eVN0YXRlcyA9IG5ldyBNYXA8XG4gICAgICBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3MsXG4gICAgICB7IGZsYWdWYWx1ZTogdW5rbm93bjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICA+KCk7XG5cbiAgICAvKiogV2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIG9yIGZpZWxkc2V0IGlzIGNoYW5naW5nIGl0cyBkaXNhYmxlZCBzdGF0ZS4gKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZm9ybURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgLy8gV2Ugd2FudCB0byBwcmV2ZW50IHRoZSBuYXRpdmUgYnJvd3NlciB2YWxpZGF0aW9uIG1lc3NhZ2UgcG9wb3ZlclxuICAgICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW52YWxpZCcsIChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IG90aGVyd2lzZSxcbiAgICAgKiByZXR1cm5zIGZhbHNlLCBmaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50LFxuICAgICAqIGFuZCAoaWYgdGhlIGV2ZW50IGlzbid0IGNhbmNlbGVkKSByZXBvcnRzIHRoZSBwcm9ibGVtIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5yZXBvcnRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlIGZvciB0aGlzIGVsZW1lbnQuIFVzZSB0aGUgZW1wdHkgc3RyaW5nXG4gICAgICogdG8gaW5kaWNhdGUgdGhhdCB0aGUgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgY3VzdG9tIHZhbGlkaXR5IGVycm9yLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdjdXN0b21FcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgZm9ybSBlbGVtZW50IGNoYW5nZXMuXG4gICAgICogRWxlbWVudEludGVybmFscy5mb3JtIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgZnJvbSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIGEgc3Vycm91bmRpbmcgZm9ybSAvIGZpZWxkc2V0IGNoYW5nZXMgZGlzYWJsZWQgc3RhdGUuXG4gICAgICogQHBhcmFtIGRpc2FibGVkXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybURpc2FibGVkQ2FsbGJhY2soZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIC8vIFRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGlmIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eSBjaGFuZ2VzIG9yIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgYSBmaWVsZHNldCBvciBmb3JtIGNoYW5nZXMuXG4gICAgICAvLyBXZSBuZWVkIHRvIHBvc3Rwb25lIHRoZSBhc3NpZ25tZW50LCBvdGhlcndpc2UgaXQgaW50ZXJmZXJlcyB3aXRoIGRpc2FibGVkIHN0YXR1cyBzZXR0aW5nXG4gICAgICAvLyBhbmQgbGVhZHMgdG8gYSB3cm9uZyBzdGF0ZSAoZS5nLiBlbWJlZGRlZCBzYmItdmlzdWFsLWNoZWNrYm94KS5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1EaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgPT09ICd2YWx1ZScpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy5zaG91bGRWYWxpZGF0ZShuYW1lKSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIGJlIGNhbGxlZCB3aGVuIGZvcm0gdmFsdWUgaXMgY2hhbmdlZC5cbiAgICAgKiBBZGFwdHMgYW5kIHNldHMgdGhlIGZvcm1WYWx1ZSBpbiB0aGUgc3VwcG9ydGVkIGZvcm1hdCAoc3RyaW5nIHwgRm9ybURhdGEgfCBGaWxlIHwgbnVsbClcbiAgICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudEludGVybmFscy9zZXRGb3JtVmFsdWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgbGV0IGZvcm1WYWx1ZTogRm9ybURhdGEgfCBzdHJpbmcgfCBudWxsO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSA/PyB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnIHx8IHRoaXMudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBmb3JtVmFsdWUgPSB0aGlzLnZhbHVlIGFzIHN0cmluZyB8IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgICAoZm9ybVZhbHVlIGFzIEZvcm1EYXRhKS5hcHBlbmQoXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdHlwZW9mIGVsID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICA/IGVsXG4gICAgICAgICAgICAgIDogbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KGVsKV0sIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm1WYWx1ZSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtVmFsdWUuYXBwZW5kKFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpXSwge1xuICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgZm9ybSBzdGF0ZSBpcyB1bmRlZmluZWQgdGhlbiBmb3JtIHZhbHVlIHdpbGwgYmUgY29waWVkIHRvIHN0YXRlLlxuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy5mb3JtU3RhdGU/LigpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9ybVN0YXRlPygpOiBGb3JtUmVzdG9yZVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhpcyBlbGVtZW50IGFzIHN1ZmZlcmluZyBmcm9tIHRoZSBjb25zdHJhaW50IGluZGljYXRlZCBieSB0aGVcbiAgICAgKiBmbGFnIGFyZ3VtZW50IGFuZCBhc3NvY2lhdGVzIHRoZSBnaXZlbiBtZXNzYWdlIHRvIGl0LlxuICAgICAqIE5vdGUgdGhhdCBvbmx5IG9uZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBhdCBhIHRpbWUgYW5kIGN1c3RvbSBtZXNzYWdlcyBieVxuICAgICAqIGNvbnN1bWVycyBhcmUgYWx3YXlzIGRpc3BsYXllZCBiZWZvcmUgaW50ZXJuYWwgbWVzc2FnZXMgYW5kIGludGVybmFsXG4gICAgICogbWVzc2FnZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGFkZGVkLlxuICAgICAqIFRvIHNldC9kZWZpbmUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGZsYWdzLCB5b3UgbmVlZCB0byBleHRlbmQgdGhlXG4gICAgICogVmFsaWRpdHlTdGF0ZSBwcm90b3R5cGUgKGFuZCB0aGUgQ3VzdG9tVmFsaWRpdHlTdGF0ZSBpbnRlcmZhY2UpLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBkb2VzIG5vdCBuZWVkIHRvIGJlIGJvb2xlYW4uXG4gICAgICogICBPYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gICAgICogICAgIGdldCBteUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAqICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgKiAgICAgfSxcbiAgICAgKiAgIH0pO1xuICAgICAqXG4gICAgICogICBkZWNsYXJlIGdsb2JhbCB7XG4gICAgICogICAgIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICAgKiAgICAgICBteUVycm9yOiBib29sZWFuO1xuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICAgIGZsYWc6IFQsXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICAgKTogdm9pZCB7XG4gICAgICBmbGFnVmFsdWUgPz89IHRydWU7XG4gICAgICBjb25zdCB2YWxpZGl0eVN0YXRlID0gdGhpcy5fdmFsaWRpdHlTdGF0ZXMuZ2V0KGZsYWcpO1xuICAgICAgaWYgKFxuICAgICAgICAhdmFsaWRpdHlTdGF0ZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLm1lc3NhZ2UgIT09IG1lc3NhZ2UgfHxcbiAgICAgICAgdmFsaWRpdHlTdGF0ZS5mbGFnVmFsdWUgIT09IGZsYWdWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLnNldChmbGFnLCB7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9KTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIHRoZSB2YWxpZGl0eSBzdGF0ZSBmbGFnIGVudHJ5IGFuZCB1cGRhdGVzIHZhbGlkaXR5IHN0YXRlLiAqL1xuICAgIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmhhcyhmbGFnKSkge1xuICAgICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5kZWxldGUoZmxhZyk7XG4gICAgICAgIHRoaXMuX3NldEludGVybmFsVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG8gYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBjdXJyZW50IGVsZW1lbnQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkLiAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkIHt9XG5cbiAgICAvKiogV2hldGhlciB2YWxpZGF0aW9uIHNob3VsZCBiZSBydW4gb24gYSBwcm9wZXJ0eSBjaGFuZ2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhbmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRJbnRlcm5hbFZhbGlkaXR5KCk6IHZvaWQge1xuICAgICAgbGV0IG91dHB1dE1lc3NhZ2UgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoJ2N1c3RvbUVycm9yJyk/Lm1lc3NhZ2U7XG4gICAgICBjb25zdCBmbGFnczogVmFsaWRpdHlTdGF0ZUZsYWdzID0ge307XG4gICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5mb3JFYWNoKCh7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9LCBmbGFnKSA9PiB7XG4gICAgICAgIGZsYWdzW2ZsYWddID0gZmxhZ1ZhbHVlIGFzIGFueTtcbiAgICAgICAgb3V0cHV0TWVzc2FnZSB8fD0gbWVzc2FnZTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjdXN0b21GbGFncyA9IE9iamVjdC5rZXlzKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlKS5maWx0ZXIoXG4gICAgICAgIChmKSA9PiAhKGYgaW4gdmFsaWRpdHlLZXlzKSAmJiBmICE9PSAndmFsaWQnLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBjdXN0b21GbGFncykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZsYWcgaW4gZmxhZ3MgPyBmbGFnc1tmbGFnIGFzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFnc10gOiBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLnZhbGlkaXR5LCBmbGFnLCB7IHZhbHVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIC8vIElmIGFueSBjdXN0b20gZXJyb3JzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSxcbiAgICAgICAgICAvLyBhcyB0aGlzIGlzIHRoZSBvbmx5IGN1c3RvbSBlcnJvciBwcm9wZXJ0eSBicm93c2VycyBhY2NlcHQuXG4gICAgICAgICAgZmxhZ3MuY3VzdG9tRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldFZhbGlkaXR5KGZsYWdzLCBvdXRwdXRNZXNzYWdlKTtcblxuICAgICAgLy8gV2ViS2l0IHNlZW1zIHRvIGFsd2F5cyBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSwgaWYgYW55IGVycm9yIGlzIGFjdGl2ZS5cbiAgICAgIC8vIER1ZSB0byB0aGlzIHdlIHBhdGNoIHRoZSBjdXN0b21FcnJvciB2YWx1ZSBtYW51YWxseS5cbiAgICAgIGlmIChpc1dlYmtpdCkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksICdjdXN0b21FcnJvcicsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKCdjdXN0b21FcnJvcicpIHx8ICEhZmxhZ3MuY3VzdG9tRXJyb3IsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVDtcbn07XG5cbi8qKlxuICogQSB2YWx1ZSB0byBiZSByZXN0b3JlZCBmb3IgYSBjb21wb25lbnQncyBmb3JtIHZhbHVlLiBJZiBhIGNvbXBvbmVudCdzIGZvcm1cbiAqIHN0YXRlIGlzIGEgYEZvcm1EYXRhYCBvYmplY3QsIGl0cyBlbnRyeSBsaXN0IG9mIG5hbWUgYW5kIHZhbHVlcyB3aWxsIGJlXG4gKiBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSA9IHN0cmluZyB8IEZvcm1EYXRhIHwgRmlsZTtcblxuLyoqXG4gKiBUaGUgcmVhc29uIGEgZm9ybSBjb21wb25lbnQgaXMgYmVpbmcgcmVzdG9yZWQgZm9yLCBlaXRoZXIgYCdyZXN0b3JlJ2AgZm9yXG4gKiBicm93c2VyIHJlc3RvcmF0aW9uIG9yIGAnYXV0b2NvbXBsZXRlJ2AgZm9yIHJlc3RvcmluZyB1c2VyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVSZWFzb24gPSAncmVzdG9yZScgfCAnYXV0b2NvbXBsZXRlJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBa0JBLE1BQU0sZUFBOEU7QUFBQSxFQUNsRixVQUFVO0FBQUEsRUFDVixhQUFhO0FBQUEsRUFDYixpQkFBaUI7QUFBQSxFQUNqQixlQUFlO0FBQUEsRUFDZixnQkFBZ0I7QUFBQSxFQUNoQixjQUFjO0FBQUEsRUFDZCxTQUFTO0FBQUEsRUFDVCxVQUFVO0FBQUEsRUFDVixjQUFjO0FBQUEsRUFDZCxjQUFjOztBQUtoQixJQUFJLE9BQU8sa0JBQWtCLGFBQWE7QUFDeEMsUUFBTSxnQkFBZ0IsTUFBTSxjQUFhO0FBQUEsSUFDdkMsSUFBVyxRQUFLO0FBQ2QsYUFBTztBQUFBLElBQUE7QUFBQSxJQUVULGNBQUE7QUFDRSxZQUFNLElBQUksVUFBVSxxQkFBcUI7QUFBQSxJQUFBO0FBQUEsRUFDM0M7QUFFRixTQUFPLFFBQVEsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUMvQyxPQUFPLE9BQU8sY0FBYyxXQUFXO0FBQUEsSUFDckMsS0FBSyxHQUFHLElBQUM7QUFDUCxhQUFPO0FBQUEs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
279
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBQcm9wZXJ0eURlY2xhcmF0aW9uLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUgfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAvKipcbiAgICogRGVmaW5lcyBjdXN0b20gdmFsaWRpdHkgc3RhdGUgcHJvcGVydGllcy5cbiAgICovXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlIGV4dGVuZHMgQ3VzdG9tVmFsaWRpdHlTdGF0ZSB7fVxuICBpbnRlcmZhY2UgVmFsaWRpdHlTdGF0ZUZsYWdzIGV4dGVuZHMgUGFydGlhbDxDdXN0b21WYWxpZGl0eVN0YXRlPiB7fVxufVxuXG5jb25zdCB2YWxpZGl0eUtleXM6IFJlcXVpcmVkPE9taXQ8VmFsaWRpdHlTdGF0ZUZsYWdzLCBrZXlvZiBDdXN0b21WYWxpZGl0eVN0YXRlPj4gPSB7XG4gIGJhZElucHV0OiBmYWxzZSxcbiAgY3VzdG9tRXJyb3I6IGZhbHNlLFxuICBwYXR0ZXJuTWlzbWF0Y2g6IGZhbHNlLFxuICByYW5nZU92ZXJmbG93OiBmYWxzZSxcbiAgcmFuZ2VVbmRlcmZsb3c6IGZhbHNlLFxuICBzdGVwTWlzbWF0Y2g6IGZhbHNlLFxuICB0b29Mb25nOiBmYWxzZSxcbiAgdG9vU2hvcnQ6IGZhbHNlLFxuICB0eXBlTWlzbWF0Y2g6IGZhbHNlLFxuICB2YWx1ZU1pc3Npbmc6IGZhbHNlLFxufTtcbi8vIFdlIG5lZWQgVmFsaWRpdHlTdGF0ZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHQsIGFzIHdlIGNoZWNrIHRoZSBwcm90b3R5cGUgZm9yXG4vLyBleHRlbnNpb25zLiBJbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhhdCBpcyBub3QgdGhlIGNhc2UgKGUuZy4gTm9kZS5qcykgd2Vcbi8vIHBhdGNoIGl0IHdpdGggYSBtaW5pbWFsIHNoaW0uXG5pZiAodHlwZW9mIFZhbGlkaXR5U3RhdGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIGNvbnN0IHZhbGlkaXR5Q2xhc3MgPSBjbGFzcyBWYWxpZGl0eVN0YXRlIHtcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbGxlZ2FsIGNvbnN0cnVjdG9yJyk7XG4gICAgfVxuICB9O1xuICBPYmplY3QuZW50cmllcyh2YWxpZGl0eUtleXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT5cbiAgICBPYmplY3QuYXNzaWduKHZhbGlkaXR5Q2xhc3MucHJvdG90eXBlLCB7XG4gICAgICBnZXQgW2tleV0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG4gIGdsb2JhbFRoaXMuVmFsaWRpdHlTdGF0ZSA9IHZhbGlkaXR5Q2xhc3MgYXMgdW5rbm93biBhcyB0eXBlb2YgVmFsaWRpdHlTdGF0ZTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUge1xuICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgYWNjZXNzb3IgdmFsdWU6IHVua25vd247XG5cbiAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlO1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25NZXNzYWdlKCk6IHN0cmluZztcbiAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgZm9ybURpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgZm9ybUFzc29jaWF0ZWRDYWxsYmFjaz8oZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGZvcm1TdGF0ZT8oKTogRm9ybVJlc3RvcmVTdGF0ZTtcbiAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICBmbGFnOiBULFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICk6IHZvaWQ7XG4gIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY3VzdG9tIGNvbnRyb2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybUFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gICAgcHVibGljIGFic3RyYWN0IGFjY2Vzc29yIHZhbHVlOiB1bmtub3duO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZm9ybSBvd25lciBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtKCk6IEhUTUxGb3JtRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmZvcm07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50LiBXaWxsIGJlIHJlYWQgZnJvbSBuYW1lIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICAgKiBEdWUgdG8gdGhpcyBpdCBpcyBpbXBsZW1lbnRlZCBhcyBhIGdldHRlci9zZXR0ZXIgYW5kIHRoZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSBoYW5kbGVzIHRoZSBkaWZmIGNoZWNrLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgJHtuYW1lfWApO1xuXG4gICAgICAvLyBGb3IgYEZvcm1EYXRhYCB2YWx1ZXMsIHdlIGhhdmUgdG8gbWFudWFsbHkgdXBkYXRlIHRoZSBmaWVsZE5hbWUga2V5XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBWYWxpZGl0eVN0YXRlIG9iamVjdCBmb3IgdGhpcyBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVmFsaWRpdHlTdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMudmFsaWRpdHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBlcnJvciBtZXNzYWdlLCBpZiBhdmFpbGFibGUsIHdoaWNoIGNvcnJlc3BvbmRzXG4gICAgICogdG8gdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBzdGF0ZS5cbiAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IG9ubHkgb25lIG1lc3NhZ2UgaXMgcmV0dXJuZWQgYXQgYSB0aW1lIChlLmcuIGlmXG4gICAgICogbXVsdGlwbGUgdmFsaWRpdHkgc3RhdGVzIGFyZSBpbnZhbGlkLCBvbmx5IHRoZSBjaHJvbm9sb2dpY2FsbHkgZmlyc3Qgb25lXG4gICAgICogaXMgcmV0dXJuZWQgdW50aWwgaXQgaXMgZml4ZWQsIGF0IHdoaWNoIHBvaW50IHRoZSBuZXh0IG1lc3NhZ2UgbWlnaHQgYmVcbiAgICAgKiByZXR1cm5lZCwgaWYgaXQgaXMgc3RpbGwgYXBwbGljYWJsZSkuIEFsc28gYSBjdXN0b20gdmFsaWRpdHkgbWVzc2FnZVxuICAgICAqIChzZWUgYmVsb3cpIGhhcyBwcmVjZWRlbmNlIG92ZXIgbmF0aXZlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLndpbGxWYWxpZGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGl0eVN0YXRlcyA9IG5ldyBNYXA8XG4gICAgICBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3MsXG4gICAgICB7IGZsYWdWYWx1ZTogdW5rbm93bjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICA+KCk7XG5cbiAgICAvKiogV2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIG9yIGZpZWxkc2V0IGlzIGNoYW5naW5nIGl0cyBkaXNhYmxlZCBzdGF0ZS4gKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZm9ybURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgLy8gV2Ugd2FudCB0byBwcmV2ZW50IHRoZSBuYXRpdmUgYnJvd3NlciB2YWxpZGF0aW9uIG1lc3NhZ2UgcG9wb3ZlclxuICAgICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW52YWxpZCcsIChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IG90aGVyd2lzZSxcbiAgICAgKiByZXR1cm5zIGZhbHNlLCBmaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50LFxuICAgICAqIGFuZCAoaWYgdGhlIGV2ZW50IGlzbid0IGNhbmNlbGVkKSByZXBvcnRzIHRoZSBwcm9ibGVtIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5yZXBvcnRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlIGZvciB0aGlzIGVsZW1lbnQuIFVzZSB0aGUgZW1wdHkgc3RyaW5nXG4gICAgICogdG8gaW5kaWNhdGUgdGhhdCB0aGUgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgY3VzdG9tIHZhbGlkaXR5IGVycm9yLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdjdXN0b21FcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgZm9ybSBlbGVtZW50IGNoYW5nZXMuXG4gICAgICogRWxlbWVudEludGVybmFscy5mb3JtIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgZnJvbSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIGEgc3Vycm91bmRpbmcgZm9ybSAvIGZpZWxkc2V0IGNoYW5nZXMgZGlzYWJsZWQgc3RhdGUuXG4gICAgICogQHBhcmFtIGRpc2FibGVkXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybURpc2FibGVkQ2FsbGJhY2soZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIC8vIFRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGlmIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eSBjaGFuZ2VzIG9yIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgYSBmaWVsZHNldCBvciBmb3JtIGNoYW5nZXMuXG4gICAgICAvLyBXZSBuZWVkIHRvIHBvc3Rwb25lIHRoZSBhc3NpZ25tZW50LCBvdGhlcndpc2UgaXQgaW50ZXJmZXJlcyB3aXRoIGRpc2FibGVkIHN0YXR1cyBzZXR0aW5nXG4gICAgICAvLyBhbmQgbGVhZHMgdG8gYSB3cm9uZyBzdGF0ZSAoZS5nLiBlbWJlZGRlZCBzYmItdmlzdWFsLWNoZWNrYm94KS5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1EaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgPT09ICd2YWx1ZScpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy5zaG91bGRWYWxpZGF0ZShuYW1lKSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIGJlIGNhbGxlZCB3aGVuIGZvcm0gdmFsdWUgaXMgY2hhbmdlZC5cbiAgICAgKiBBZGFwdHMgYW5kIHNldHMgdGhlIGZvcm1WYWx1ZSBpbiB0aGUgc3VwcG9ydGVkIGZvcm1hdCAoc3RyaW5nIHwgRm9ybURhdGEgfCBGaWxlIHwgbnVsbClcbiAgICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudEludGVybmFscy9zZXRGb3JtVmFsdWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgbGV0IGZvcm1WYWx1ZTogRm9ybURhdGEgfCBzdHJpbmcgfCBudWxsO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSA/PyB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnIHx8IHRoaXMudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBmb3JtVmFsdWUgPSB0aGlzLnZhbHVlIGFzIHN0cmluZyB8IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgICAoZm9ybVZhbHVlIGFzIEZvcm1EYXRhKS5hcHBlbmQoXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdHlwZW9mIGVsID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICA/IGVsXG4gICAgICAgICAgICAgIDogbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KGVsKV0sIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm1WYWx1ZSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtVmFsdWUuYXBwZW5kKFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpXSwge1xuICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgZm9ybSBzdGF0ZSBpcyB1bmRlZmluZWQgdGhlbiBmb3JtIHZhbHVlIHdpbGwgYmUgY29waWVkIHRvIHN0YXRlLlxuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy5mb3JtU3RhdGU/LigpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9ybVN0YXRlPygpOiBGb3JtUmVzdG9yZVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhpcyBlbGVtZW50IGFzIHN1ZmZlcmluZyBmcm9tIHRoZSBjb25zdHJhaW50IGluZGljYXRlZCBieSB0aGVcbiAgICAgKiBmbGFnIGFyZ3VtZW50IGFuZCBhc3NvY2lhdGVzIHRoZSBnaXZlbiBtZXNzYWdlIHRvIGl0LlxuICAgICAqIE5vdGUgdGhhdCBvbmx5IG9uZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBhdCBhIHRpbWUgYW5kIGN1c3RvbSBtZXNzYWdlcyBieVxuICAgICAqIGNvbnN1bWVycyBhcmUgYWx3YXlzIGRpc3BsYXllZCBiZWZvcmUgaW50ZXJuYWwgbWVzc2FnZXMgYW5kIGludGVybmFsXG4gICAgICogbWVzc2FnZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGFkZGVkLlxuICAgICAqIFRvIHNldC9kZWZpbmUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGZsYWdzLCB5b3UgbmVlZCB0byBleHRlbmQgdGhlXG4gICAgICogVmFsaWRpdHlTdGF0ZSBwcm90b3R5cGUgKGFuZCB0aGUgQ3VzdG9tVmFsaWRpdHlTdGF0ZSBpbnRlcmZhY2UpLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBkb2VzIG5vdCBuZWVkIHRvIGJlIGJvb2xlYW4uXG4gICAgICogICBPYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gICAgICogICAgIGdldCBteUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAqICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgKiAgICAgfSxcbiAgICAgKiAgIH0pO1xuICAgICAqXG4gICAgICogICBkZWNsYXJlIGdsb2JhbCB7XG4gICAgICogICAgIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICAgKiAgICAgICBteUVycm9yOiBib29sZWFuO1xuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICAgIGZsYWc6IFQsXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICAgKTogdm9pZCB7XG4gICAgICBmbGFnVmFsdWUgPz89IHRydWU7XG4gICAgICBjb25zdCB2YWxpZGl0eVN0YXRlID0gdGhpcy5fdmFsaWRpdHlTdGF0ZXMuZ2V0KGZsYWcpO1xuICAgICAgaWYgKFxuICAgICAgICAhdmFsaWRpdHlTdGF0ZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLm1lc3NhZ2UgIT09IG1lc3NhZ2UgfHxcbiAgICAgICAgdmFsaWRpdHlTdGF0ZS5mbGFnVmFsdWUgIT09IGZsYWdWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLnNldChmbGFnLCB7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9KTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIHRoZSB2YWxpZGl0eSBzdGF0ZSBmbGFnIGVudHJ5IGFuZCB1cGRhdGVzIHZhbGlkaXR5IHN0YXRlLiAqL1xuICAgIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmhhcyhmbGFnKSkge1xuICAgICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5kZWxldGUoZmxhZyk7XG4gICAgICAgIHRoaXMuX3NldEludGVybmFsVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG8gYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBjdXJyZW50IGVsZW1lbnQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkLiAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkIHt9XG5cbiAgICAvKiogV2hldGhlciB2YWxpZGF0aW9uIHNob3VsZCBiZSBydW4gb24gYSBwcm9wZXJ0eSBjaGFuZ2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhbmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRJbnRlcm5hbFZhbGlkaXR5KCk6IHZvaWQge1xuICAgICAgbGV0IG91dHB1dE1lc3NhZ2UgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoJ2N1c3RvbUVycm9yJyk/Lm1lc3NhZ2U7XG4gICAgICBjb25zdCBmbGFnczogVmFsaWRpdHlTdGF0ZUZsYWdzID0ge307XG4gICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5mb3JFYWNoKCh7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9LCBmbGFnKSA9PiB7XG4gICAgICAgIGZsYWdzW2ZsYWddID0gZmxhZ1ZhbHVlIGFzIGFueTtcbiAgICAgICAgb3V0cHV0TWVzc2FnZSB8fD0gbWVzc2FnZTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjdXN0b21GbGFncyA9IE9iamVjdC5rZXlzKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlKS5maWx0ZXIoXG4gICAgICAgIChmKSA9PiAhKGYgaW4gdmFsaWRpdHlLZXlzKSAmJiBmICE9PSAndmFsaWQnLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBjdXN0b21GbGFncykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZsYWcgaW4gZmxhZ3MgPyBmbGFnc1tmbGFnIGFzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFnc10gOiBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLnZhbGlkaXR5LCBmbGFnLCB7IHZhbHVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIC8vIElmIGFueSBjdXN0b20gZXJyb3JzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSxcbiAgICAgICAgICAvLyBhcyB0aGlzIGlzIHRoZSBvbmx5IGN1c3RvbSBlcnJvciBwcm9wZXJ0eSBicm93c2VycyBhY2NlcHQuXG4gICAgICAgICAgZmxhZ3MuY3VzdG9tRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldFZhbGlkaXR5KGZsYWdzLCBvdXRwdXRNZXNzYWdlKTtcblxuICAgICAgLy8gV2ViS2l0IHNlZW1zIHRvIGFsd2F5cyBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSwgaWYgYW55IGVycm9yIGlzIGFjdGl2ZS5cbiAgICAgIC8vIER1ZSB0byB0aGlzIHdlIHBhdGNoIHRoZSBjdXN0b21FcnJvciB2YWx1ZSBtYW51YWxseS5cbiAgICAgIGlmIChpc1dlYmtpdCkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksICdjdXN0b21FcnJvcicsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKCdjdXN0b21FcnJvcicpIHx8ICEhZmxhZ3MuY3VzdG9tRXJyb3IsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVDtcbn07XG5cbi8qKlxuICogQSB2YWx1ZSB0byBiZSByZXN0b3JlZCBmb3IgYSBjb21wb25lbnQncyBmb3JtIHZhbHVlLiBJZiBhIGNvbXBvbmVudCdzIGZvcm1cbiAqIHN0YXRlIGlzIGEgYEZvcm1EYXRhYCBvYmplY3QsIGl0cyBlbnRyeSBsaXN0IG9mIG5hbWUgYW5kIHZhbHVlcyB3aWxsIGJlXG4gKiBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSA9IHN0cmluZyB8IEZvcm1EYXRhIHwgRmlsZTtcblxuLyoqXG4gKiBUaGUgcmVhc29uIGEgZm9ybSBjb21wb25lbnQgaXMgYmVpbmcgcmVzdG9yZWQgZm9yLCBlaXRoZXIgYCdyZXN0b3JlJ2AgZm9yXG4gKiBicm93c2VyIHJlc3RvcmF0aW9uIG9yIGAnYXV0b2NvbXBsZXRlJ2AgZm9yIHJlc3RvcmluZyB1c2VyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVSZWFzb24gPSAncmVzdG9yZScgfCAnYXV0b2NvbXBsZXRlJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBa0JBLE1BQU0sZUFBOEU7QUFBQSxFQUNsRixVQUFVO0FBQUEsRUFDVixhQUFhO0FBQUEsRUFDYixpQkFBaUI7QUFBQSxFQUNqQixlQUFlO0FBQUEsRUFDZixnQkFBZ0I7QUFBQSxFQUNoQixjQUFjO0FBQUEsRUFDZCxTQUFTO0FBQUEsRUFDVCxVQUFVO0FBQUEsRUFDVixjQUFjO0FBQUEsRUFDZCxjQUFjOztBQUtoQixJQUFJLE9BQU8sa0JBQWtCLGFBQWE7QUFDeEMsUUFBTSxnQkFBZ0IsTUFBTSxjQUFhO0FBQUEsSUFDdkMsSUFBVyxRQUFLO0FBQ2QsYUFBTztBQUFBLElBQ1Q7QUFBQSxJQUNBLGNBQUE7QUFDRSxZQUFNLElBQUksVUFBVSxxQkFBcUI7QUFBQSxJQUMzQztBQUFBLEVBQUE7QUFFRixTQUFPLFFBQVEsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUMvQyxPQUFPLE9BQU8sY0FBYyxXQUFXO0FBQUEsSUFDckMsS0FBSyxHQUFHLElBQUM7QUFDUCxhQUFPO0FBQUEs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
@@ -249,4 +249,4 @@ export {
249
249
  SbbFormAssociatedRadioButtonMixin,
250
250
  radioButtonRegistry
251
251
  };
252
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLXJhZGlvLWJ1dHRvbi1taXhpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2Zvcm0tYXNzb2NpYXRlZC1yYWRpby1idXR0b24tbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbn0gZnJvbSAnLi9mb3JtLWFzc29jaWF0ZWQtbWl4aW4uanMnO1xuaW1wb3J0IHsgU2JiUmVxdWlyZWRNaXhpbiB9IGZyb20gJy4vcmVxdWlyZWQtbWl4aW4uanMnO1xuXG4vKipcbiAqIEEgc3RhdGljIHJlZ2lzdHJ5IHRoYXQgaG9sZHMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwZWQgYHJhZGlvLWJ1dHRvbnNgLlxuICogR3JvdXBzIG9mIHJhZGlvIGJ1dHRvbnMgYXJlIGxvY2FsIHRvIHRoZSBmb3JtIHRoZXkgYmVsb25nIChvciB0aGUgYHJlbmRlclJvb3RgIGlmIHRoZXkncmUgbm90IHBhcnQgb2YgYW55IGZvcm0pXG4gKiBNdWx0aXBsZSBncm91cHMgb2YgcmFkaW8gd2l0aCB0aGUgc2FtZSBuYW1lIGNhbiBjb2V4aXN0IChhcyBsb25nIGFzIHRoZXkgYmVsb25nIHRvIGEgZGlmZmVyZW50IGZvcm0gLyByZW5kZXJSb290KVxuICogSXQgaXMgbWFpbmx5IHVzZWQgdG8gc3VwcG9ydCB0aGUgc3RhbmRhbG9uZSBncm91cHMgb2YgcmFkaW9zLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByYWRpb0J1dHRvblJlZ2lzdHJ5ID0gbmV3IFdlYWtNYXA8XG4gIE5vZGUsXG4gIE1hcDxzdHJpbmcsIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPj5cbj4oKTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdENoYW5nZUV2ZW50cygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbmF2aWdhdGVCeUtleWJvYXJkKHJhZGlvOiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgcmFkaW8gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcykpKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW8nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGNoZWNrZWQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9ICEhdmFsdWU7XG5cbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSB0aGlzLmNoZWNrZWQudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgICB0aGlzLl9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLm5hbWUgPSB2YWx1ZTtcblxuICAgICAgdGhpcy5fZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBzdXBlci5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdyYWRpbydcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAncmFkaW8nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBvZiByYWRpbyBidXR0b25zIHRoYXQgYmVsb25ncyB0byB0aGUgc2FtZSBncm91cCBvZiBgdGhpc2AuXG4gICAgICogQXNzdW1lIHRoZW0gb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG4gICAgcHJpdmF0ZSBfcmFkaW9CdXR0b25Hcm91cHNNYXA/OiBNYXA8c3RyaW5nLCBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT4+O1xuICAgIHByaXZhdGUgX2xhbmd1YWdlQ29udHJvbGxlciA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlQXJyb3dLZXlEb3duKGUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9kaXNjb25uZWN0RnJvbVJlZ2lzdHJ5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgfHwgc3RhdGUgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBkYXRhID09PSB0aGlzLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICBjb25zdCBkYXRhID0gZm9ybURhdGEuZ2V0KHRoaXMubmFtZSk7XG4gICAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGRhdGEudGV4dCgpKSA6IGRhdGE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgb24gYHZhbHVlYCBjaGFuZ2VcbiAgICAgKiBJZiAnY2hlY2tlZCcsIHVwZGF0ZSB0aGUgdmFsdWUuIE90aGVyd2lzZSwgZG8gbm90aGluZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB2YWxpZGl0eSBvZiBhbGwgYXNzb2NpYXRlZCByYWRpbyBidXR0b25zLlxuICAgICAqIElmIGFueSByYWRpbyBidXR0b24gaXMgcmVxdWlyZWQsIGFsbCBhc3NvY2lhdGVkIGFyZSByZXF1aXJlZCBhcyB3ZWxsLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxldCByZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgbGV0IGNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIGZvciAoY29uc3QgcmFkaW8gb2YgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKSB7XG4gICAgICAgIHJlcXVpcmVkIHx8PSByYWRpby5yZXF1aXJlZDtcbiAgICAgICAgY2hlY2tlZCB8fD0gcmFkaW8uY2hlY2tlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVpcmVkICYmICFjaGVja2VkKSB7XG4gICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PlxuICAgICAgICAgIHIuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAgICAgJ3ZhbHVlTWlzc2luZycsXG4gICAgICAgICAgICBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2VDb250cm9sbGVyLmN1cnJlbnRdLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMuZm9yRWFjaCgocikgPT4gci5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbmx5IGEgc2luZ2xlIHJhZGlvIHNob3VsZCBiZSBmb2N1c2FibGUgaW4gdGhlIGdyb3VwLiBEZWZpbmVkIGFzOlxuICAgICAqIC0gdGhlIGNoZWNrZWQgcmFkaW87XG4gICAgICogLSB0aGUgZmlyc3Qgbm9uLWRpc2FibGVkIHJhZGlvIGluIERPTSBvcmRlcjtcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpO1xuICAgICAgY29uc3QgY2hlY2tlZEluZGV4ID0gcmFkaW9zLmZpbmRJbmRleCgocikgPT4gci5jaGVja2VkICYmICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCk7XG4gICAgICBjb25zdCBmb2N1c2FibGVJbmRleCA9XG4gICAgICAgIGNoZWNrZWRJbmRleCAhPT0gLTFcbiAgICAgICAgICA/IGNoZWNrZWRJbmRleFxuICAgICAgICAgIDogcmFkaW9zLmZpbmRJbmRleCgocikgPT4gIXIuZGlzYWJsZWQgJiYgIXIuZm9ybURpc2FibGVkKTsgLy8gR2V0IHRoZSBmaXJzdCBmb2N1c2FibGUgcmFkaW9cblxuICAgICAgaWYgKGZvY3VzYWJsZUluZGV4ICE9PSAtMSkge1xuICAgICAgICByYWRpb3NbZm9jdXNhYmxlSW5kZXhdLnRhYkluZGV4ID0gMDtcbiAgICAgICAgcmFkaW9zLnNwbGljZShmb2N1c2FibGVJbmRleCwgMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc2V0IHRhYkluZGV4IG9uIG90aGVyIHJhZGlvc1xuICAgICAgcmFkaW9zLmZvckVhY2goKHIpID0+IHIucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmF2aWdhdGVCeUtleWJvYXJkKG5leHQ6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBuZXh0LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnRzKCk7XG5cbiAgICAgIGF3YWl0IG5leHQudXBkYXRlQ29tcGxldGU7XG4gICAgICBuZXh0LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVtaXRDaGFuZ2VFdmVudHMoKTogdm9pZCB7XG4gICAgICAvLyBNYW51YWxseSBkaXNwYXRjaCBldmVudHMgdG8gc2ltdWxhdGUgYSB1c2VyIGludGVyYWN0aW9uXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSksXG4gICAgICApO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYHRoaXNgIHRvIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeVxuICAgICAqL1xuICAgIHByaXZhdGUgX2Nvbm5lY3RUb1JlZ2lzdHJ5KCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLm5hbWUgfHwgaXNTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZm9ybSA/PyB0aGlzLmdldFJvb3ROb2RlKCk7XG4gICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCA9IHJhZGlvQnV0dG9uUmVnaXN0cnkuZ2V0KHJvb3QpO1xuXG4gICAgICAvLyBJbml0aWFsaXplIHRoZSAncm9vdCcgbWFwIGVudHJ5XG4gICAgICBpZiAoIXRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICByYWRpb0J1dHRvblJlZ2lzdHJ5LnNldChyb290LCB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA9IHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwLmdldChcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgKSBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG5cbiAgICAgIC8vIEluaXRpYWxpemUgdGhlIGdyb3VwIHNldFxuICAgICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcC5zZXQoXG4gICAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zZXJ0IHRoZSBuZXcgcmFkaW8gaW50byB0aGUgc2V0IGFuZCBzb3J0IGZvbGxvd2luZyB0aGUgRE9NIG9yZGVyLlxuICAgICAgLy8gU2luY2UgdGhlIG9yZGVyIG9mIGEgJ1NldCcgaXMgdGhlIGluc2VydCBvcmRlciwgd2UgaGF2ZSB0byBlbXB0eSBpdCBhbmQgcmUtaW5zZXJ0IHJhZGlvcyBpbiBvcmRlclxuICAgICAgY29uc3QgZW50cmllcyA9IEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5jbGVhcigpO1xuXG4gICAgICAvLyBGaW5kIGB0aGlzYCBwb3NpdGlvbiBhbmQgaW5zZXJ0IGl0XG4gICAgICBjb25zdCBpbmRleCA9IGVudHJpZXMuZmluZEluZGV4KFxuICAgICAgICAocikgPT4gdGhpcy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLFxuICAgICAgKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDAsIHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW50cmllcy5wdXNoKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXBvcHVsYXRlIHRoZSBTZXRcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgocikgPT4gdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zIS5hZGQocikpO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGB0aGlzYCBmcm9tIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeSBhbmQsIGlmIHRoZSBncm91cCBpcyBlbXB0eSwgZGVsZXRlIHRoZSBlbnRyeSBmcm9tIHRoZSBncm91cHMgTWFwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz8uZGVsZXRlKHRoaXMpO1xuXG4gICAgICBpZiAodGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zPy5zaXplID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwPy5kZWxldGUodGhpcy5uYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXAgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbGlzdCBvZiAnaW50ZXJhY3RhYmxlJyBncm91cGVkIHJhZGlvcywgb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbnRlcmFjdGFibGVHcm91cGVkUmFkaW9zKCk6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50W10ge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKS5maWx0ZXIoKGVsKSA9PlxuICAgICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUoZWwpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlbGVjdCBvdGhlciByYWRpbyBvZiB0aGUgc2FtZSBncm91cFxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpOiB2b2lkIHtcbiAgICAgIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKVxuICAgICAgICAuZmlsdGVyKChyKSA9PiByICE9PSB0aGlzKVxuICAgICAgICAuZm9yRWFjaCgocikgPT4gKHIuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQXJyb3dLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKCFpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCBlbmFibGVkUmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpLmZpbHRlcihcbiAgICAgICAgKHIpID0+ICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkUmFkaW9zLmluZGV4T2YodGhpcyk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkUmFkaW9zLmxlbmd0aCk7XG5cbiAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVCeUtleWJvYXJkKGVuYWJsZWRSYWRpb3NbbmV4dEluZGV4XSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQXdCTyxNQUFNLDBDQUEwQixRQUFBO0FBeUJoQyxNQUFNLG9DQUFvQyxDQUMvQyxlQUNrRTtNQUNuRCx1Q0FBbUMsTUFBQTs7c0JBQ3hDLGlCQUNOLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUM7Ozs7QUFGbkUsV0FBQSxtQkFDTCxZQUVQO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFTRCxJQUFXLFFBQVEsT0FBYztBQUMvQixhQUFLLFdBQVcsQ0FBQyxDQUFDO0FBRWxCLGFBQUssZ0JBQWdCLGdCQUFnQixLQUFLLE9B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
252
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLXJhZGlvLWJ1dHRvbi1taXhpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2Zvcm0tYXNzb2NpYXRlZC1yYWRpby1idXR0b24tbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbn0gZnJvbSAnLi9mb3JtLWFzc29jaWF0ZWQtbWl4aW4uanMnO1xuaW1wb3J0IHsgU2JiUmVxdWlyZWRNaXhpbiB9IGZyb20gJy4vcmVxdWlyZWQtbWl4aW4uanMnO1xuXG4vKipcbiAqIEEgc3RhdGljIHJlZ2lzdHJ5IHRoYXQgaG9sZHMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwZWQgYHJhZGlvLWJ1dHRvbnNgLlxuICogR3JvdXBzIG9mIHJhZGlvIGJ1dHRvbnMgYXJlIGxvY2FsIHRvIHRoZSBmb3JtIHRoZXkgYmVsb25nIChvciB0aGUgYHJlbmRlclJvb3RgIGlmIHRoZXkncmUgbm90IHBhcnQgb2YgYW55IGZvcm0pXG4gKiBNdWx0aXBsZSBncm91cHMgb2YgcmFkaW8gd2l0aCB0aGUgc2FtZSBuYW1lIGNhbiBjb2V4aXN0IChhcyBsb25nIGFzIHRoZXkgYmVsb25nIHRvIGEgZGlmZmVyZW50IGZvcm0gLyByZW5kZXJSb290KVxuICogSXQgaXMgbWFpbmx5IHVzZWQgdG8gc3VwcG9ydCB0aGUgc3RhbmRhbG9uZSBncm91cHMgb2YgcmFkaW9zLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByYWRpb0J1dHRvblJlZ2lzdHJ5ID0gbmV3IFdlYWtNYXA8XG4gIE5vZGUsXG4gIE1hcDxzdHJpbmcsIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPj5cbj4oKTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdENoYW5nZUV2ZW50cygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbmF2aWdhdGVCeUtleWJvYXJkKHJhZGlvOiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgcmFkaW8gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcykpKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW8nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGNoZWNrZWQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9ICEhdmFsdWU7XG5cbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSB0aGlzLmNoZWNrZWQudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgICB0aGlzLl9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLm5hbWUgPSB2YWx1ZTtcblxuICAgICAgdGhpcy5fZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBzdXBlci5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdyYWRpbydcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAncmFkaW8nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBvZiByYWRpbyBidXR0b25zIHRoYXQgYmVsb25ncyB0byB0aGUgc2FtZSBncm91cCBvZiBgdGhpc2AuXG4gICAgICogQXNzdW1lIHRoZW0gb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG4gICAgcHJpdmF0ZSBfcmFkaW9CdXR0b25Hcm91cHNNYXA/OiBNYXA8c3RyaW5nLCBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT4+O1xuICAgIHByaXZhdGUgX2xhbmd1YWdlQ29udHJvbGxlciA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlQXJyb3dLZXlEb3duKGUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9kaXNjb25uZWN0RnJvbVJlZ2lzdHJ5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgfHwgc3RhdGUgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBkYXRhID09PSB0aGlzLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICBjb25zdCBkYXRhID0gZm9ybURhdGEuZ2V0KHRoaXMubmFtZSk7XG4gICAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGRhdGEudGV4dCgpKSA6IGRhdGE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgb24gYHZhbHVlYCBjaGFuZ2VcbiAgICAgKiBJZiAnY2hlY2tlZCcsIHVwZGF0ZSB0aGUgdmFsdWUuIE90aGVyd2lzZSwgZG8gbm90aGluZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB2YWxpZGl0eSBvZiBhbGwgYXNzb2NpYXRlZCByYWRpbyBidXR0b25zLlxuICAgICAqIElmIGFueSByYWRpbyBidXR0b24gaXMgcmVxdWlyZWQsIGFsbCBhc3NvY2lhdGVkIGFyZSByZXF1aXJlZCBhcyB3ZWxsLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxldCByZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgbGV0IGNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIGZvciAoY29uc3QgcmFkaW8gb2YgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKSB7XG4gICAgICAgIHJlcXVpcmVkIHx8PSByYWRpby5yZXF1aXJlZDtcbiAgICAgICAgY2hlY2tlZCB8fD0gcmFkaW8uY2hlY2tlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVpcmVkICYmICFjaGVja2VkKSB7XG4gICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PlxuICAgICAgICAgIHIuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAgICAgJ3ZhbHVlTWlzc2luZycsXG4gICAgICAgICAgICBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2VDb250cm9sbGVyLmN1cnJlbnRdLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMuZm9yRWFjaCgocikgPT4gci5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbmx5IGEgc2luZ2xlIHJhZGlvIHNob3VsZCBiZSBmb2N1c2FibGUgaW4gdGhlIGdyb3VwLiBEZWZpbmVkIGFzOlxuICAgICAqIC0gdGhlIGNoZWNrZWQgcmFkaW87XG4gICAgICogLSB0aGUgZmlyc3Qgbm9uLWRpc2FibGVkIHJhZGlvIGluIERPTSBvcmRlcjtcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpO1xuICAgICAgY29uc3QgY2hlY2tlZEluZGV4ID0gcmFkaW9zLmZpbmRJbmRleCgocikgPT4gci5jaGVja2VkICYmICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCk7XG4gICAgICBjb25zdCBmb2N1c2FibGVJbmRleCA9XG4gICAgICAgIGNoZWNrZWRJbmRleCAhPT0gLTFcbiAgICAgICAgICA/IGNoZWNrZWRJbmRleFxuICAgICAgICAgIDogcmFkaW9zLmZpbmRJbmRleCgocikgPT4gIXIuZGlzYWJsZWQgJiYgIXIuZm9ybURpc2FibGVkKTsgLy8gR2V0IHRoZSBmaXJzdCBmb2N1c2FibGUgcmFkaW9cblxuICAgICAgaWYgKGZvY3VzYWJsZUluZGV4ICE9PSAtMSkge1xuICAgICAgICByYWRpb3NbZm9jdXNhYmxlSW5kZXhdLnRhYkluZGV4ID0gMDtcbiAgICAgICAgcmFkaW9zLnNwbGljZShmb2N1c2FibGVJbmRleCwgMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc2V0IHRhYkluZGV4IG9uIG90aGVyIHJhZGlvc1xuICAgICAgcmFkaW9zLmZvckVhY2goKHIpID0+IHIucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmF2aWdhdGVCeUtleWJvYXJkKG5leHQ6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBuZXh0LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnRzKCk7XG5cbiAgICAgIGF3YWl0IG5leHQudXBkYXRlQ29tcGxldGU7XG4gICAgICBuZXh0LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVtaXRDaGFuZ2VFdmVudHMoKTogdm9pZCB7XG4gICAgICAvLyBNYW51YWxseSBkaXNwYXRjaCBldmVudHMgdG8gc2ltdWxhdGUgYSB1c2VyIGludGVyYWN0aW9uXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSksXG4gICAgICApO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYHRoaXNgIHRvIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeVxuICAgICAqL1xuICAgIHByaXZhdGUgX2Nvbm5lY3RUb1JlZ2lzdHJ5KCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLm5hbWUgfHwgaXNTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZm9ybSA/PyB0aGlzLmdldFJvb3ROb2RlKCk7XG4gICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCA9IHJhZGlvQnV0dG9uUmVnaXN0cnkuZ2V0KHJvb3QpO1xuXG4gICAgICAvLyBJbml0aWFsaXplIHRoZSAncm9vdCcgbWFwIGVudHJ5XG4gICAgICBpZiAoIXRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICByYWRpb0J1dHRvblJlZ2lzdHJ5LnNldChyb290LCB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA9IHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwLmdldChcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgKSBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG5cbiAgICAgIC8vIEluaXRpYWxpemUgdGhlIGdyb3VwIHNldFxuICAgICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcC5zZXQoXG4gICAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zZXJ0IHRoZSBuZXcgcmFkaW8gaW50byB0aGUgc2V0IGFuZCBzb3J0IGZvbGxvd2luZyB0aGUgRE9NIG9yZGVyLlxuICAgICAgLy8gU2luY2UgdGhlIG9yZGVyIG9mIGEgJ1NldCcgaXMgdGhlIGluc2VydCBvcmRlciwgd2UgaGF2ZSB0byBlbXB0eSBpdCBhbmQgcmUtaW5zZXJ0IHJhZGlvcyBpbiBvcmRlclxuICAgICAgY29uc3QgZW50cmllcyA9IEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5jbGVhcigpO1xuXG4gICAgICAvLyBGaW5kIGB0aGlzYCBwb3NpdGlvbiBhbmQgaW5zZXJ0IGl0XG4gICAgICBjb25zdCBpbmRleCA9IGVudHJpZXMuZmluZEluZGV4KFxuICAgICAgICAocikgPT4gdGhpcy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLFxuICAgICAgKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDAsIHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW50cmllcy5wdXNoKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXBvcHVsYXRlIHRoZSBTZXRcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgocikgPT4gdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zIS5hZGQocikpO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGB0aGlzYCBmcm9tIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeSBhbmQsIGlmIHRoZSBncm91cCBpcyBlbXB0eSwgZGVsZXRlIHRoZSBlbnRyeSBmcm9tIHRoZSBncm91cHMgTWFwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz8uZGVsZXRlKHRoaXMpO1xuXG4gICAgICBpZiAodGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zPy5zaXplID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwPy5kZWxldGUodGhpcy5uYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXAgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbGlzdCBvZiAnaW50ZXJhY3RhYmxlJyBncm91cGVkIHJhZGlvcywgb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbnRlcmFjdGFibGVHcm91cGVkUmFkaW9zKCk6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50W10ge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKS5maWx0ZXIoKGVsKSA9PlxuICAgICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUoZWwpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlbGVjdCBvdGhlciByYWRpbyBvZiB0aGUgc2FtZSBncm91cFxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpOiB2b2lkIHtcbiAgICAgIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKVxuICAgICAgICAuZmlsdGVyKChyKSA9PiByICE9PSB0aGlzKVxuICAgICAgICAuZm9yRWFjaCgocikgPT4gKHIuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQXJyb3dLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKCFpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCBlbmFibGVkUmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpLmZpbHRlcihcbiAgICAgICAgKHIpID0+ICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkUmFkaW9zLmluZGV4T2YodGhpcyk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkUmFkaW9zLmxlbmd0aCk7XG5cbiAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVCeUtleWJvYXJkKGVuYWJsZWRSYWRpb3NbbmV4dEluZGV4XSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQXdCTyxNQUFNLDBDQUEwQixRQUFBO0FBeUJoQyxNQUFNLG9DQUFvQyxDQUMvQyxlQUNrRTtNQUNuRCx1Q0FBbUMsTUFBQTs7c0JBQ3hDLGlCQUNOLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUM7Ozs7QUFGbkUsV0FBQSxtQkFDTCxZQUVQO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFTRCxJQUFXLFFBQVEsT0FBYztBQUMvQixhQUFLLFdBQVcsQ0FBQyxDQUFDO0FBRWxCLGFBQUssZ0JBQWdCLGdCQUFnQixLQUFLLE9B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
@@ -53,4 +53,4 @@ const SbbHydrationMixin = (base) => {
53
53
  export {
54
54
  SbbHydrationMixin
55
55
  };
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlkcmF0aW9uLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvaHlkcmF0aW9uLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCwgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBtaXhpblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKiogUmV0dXJucyB3aGV0aGVyIGh5ZHJhdGlvbiBpcyByZXF1aXJlZCBhbmQgbm90IGNvbXBsZXRlZC4gKi9cbiAgcHJvdGVjdGVkIGdldCBoeWRyYXRpb25SZXF1aXJlZCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgbWl4aW4gZXh0ZW5kcyBhIGJhc2UgY2xhc3Mgd2l0aCBmdW5jdGlvbmFsaXR5IHRvIGNoZWNrIGlmIGh5ZHJhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBJdCBhbHNvIGRlbGF5cyBzbG90Y2hhbmdlIGV2ZW50cyB1bnRpbCBoeWRyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHBhcmFtIGJhc2UgVGhlIGNsYXNzIHRvIGV4dGVuZC5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZXh0ZW5kZWQgd2l0aCB0aGUgaHlkcmF0aW9uIGNoZWNrIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJIeWRyYXRpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIGJhc2U6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBleHRlbmRzIGJhc2UgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4ge1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvblJlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgICApO1xuICAgIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVsZW1lbnQgaGFzIGNvbXBsZXRlZCBoeWRyYXRpb24uXG4gICAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICAgIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgICAgLy8gaXMgYXZhaWxhYmxlIGR1cmluZyBjb25zdHJ1Y3Rpb24vdXBncmFkZSBwaGFzZS5cbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24oZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAgIC8vIGNhbiBjYXVzZSByZW5kZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHdvdWxkIGJyZWFrIGh5ZHJhdGlvbi4gQWZ0ZXJcbiAgICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgICBjb25zdCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgICBjb25zdCBzbG90cyA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgnc2xvdCcpO1xuICAgICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgICBzbG90LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgICAgc2xvdHMuZm9yRWFjaCgoc2xvdCkgPT4ge1xuICAgICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgICBzdXBlci51cGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkh5ZHJhdGlvbk1peGluQ2xhc3MgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQk8sTUFBTSxvQkFBb0IsQ0FDL0IsU0FDa0Q7QUFBQSxFQUNsRCxNQUFlLCtCQUErQixLQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBZWhELElBQVcsb0JBQWlCO0FBQzFCLGFBQU8sS0FBSztBQUFBLElBQUE7QUFBQTtBQUFBLElBSWQsSUFBYyxvQkFBaUI7QUFDN0IsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBR2QsZUFBc0IsTUFBVztBQUMvQixZQUFNLEdBQUcsSUFBSTtBQXZCUCxXQUFBLHFCQUFxQixJQUFJLFFBQy9CLENBQUMsWUFBYSxLQUFLLG9CQUFvQixPQUFRO0FBeUIvQyxXQUFLLHFCQUFxQixDQUFDLENBQUMsS0FBSztBQUNqQyxVQUFJLENBQUMsS0FBSyxvQkFBb0I7QUFDNUIsYUFBSyxrQkFBa0IsS0FBSztBQUFBLE1BQUEsT0FDdkI7QUFLTCxjQUFNLDBCQUEwQixDQUFDLFVBQXNCO0FBQ3JELGNBQUksS0FBSyxvQkFBb0I7QUFDM0Isa0JBQU0seUJBQUE7QUFBQSxVQUF3QjtBQUFBLFFBQ2hDO0FBRUYsY0FBTSxlQUFxQyxFQUFFLFNBQVMsS0FBQTtBQUN0RCxjQUFNLFFBQVEsS0FBSyxZQUFZLGlCQUFpQixNQUFNO0FBQ3RELFlBQUksT0FBTyxRQUFRO0FBQ2pCLGdCQUFNLFFBQVEsQ0FBQyxTQUNiLEtBQUssaUJBQWlCLGNBQWMseUJBQXlCLFlBQVksQ0FBQztBQUU1RSxlQUFLLGtCQUFrQixLQUFLLE1BQzFCLE1BQU0sUUFBUSxDQUFDLFNBQVE7QUFDckIsaUJBQUssb0JBQW9CLGNBQWMseUJBQXlCLFlBQVk7QUFDNUUsZ0JBQUksS0FBSyxjQUFBLEVBQWdCLFFBQVE7QUFDL0IsbUJBQUssY0FBYyxJQUFJLE1BQU0sY0FBYyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFBQSxZQUFBO0FBQUEsVUFDL0QsQ0FDRCxDQUFDO0FBQUEsUUFBQTtBQUFBLE1BRU47QUFBQSxJQUNGO0FBQUEsSUFHaUIsT0FBTyxtQkFBdUM7QUFHL0QsWUFBTSxPQUFPLGlCQUFpQjtBQUU5QixVQUFJLEtBQUssb0JBQW9CO0FBQzNCLGFBQUsscUJBQXFCO0FBQzFCLGFBQUssa0JBQWtCLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBRUYsU0FBTztBQUNUOyJ9
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlkcmF0aW9uLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvaHlkcmF0aW9uLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCwgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBtaXhpblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKiogUmV0dXJucyB3aGV0aGVyIGh5ZHJhdGlvbiBpcyByZXF1aXJlZCBhbmQgbm90IGNvbXBsZXRlZC4gKi9cbiAgcHJvdGVjdGVkIGdldCBoeWRyYXRpb25SZXF1aXJlZCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgbWl4aW4gZXh0ZW5kcyBhIGJhc2UgY2xhc3Mgd2l0aCBmdW5jdGlvbmFsaXR5IHRvIGNoZWNrIGlmIGh5ZHJhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBJdCBhbHNvIGRlbGF5cyBzbG90Y2hhbmdlIGV2ZW50cyB1bnRpbCBoeWRyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHBhcmFtIGJhc2UgVGhlIGNsYXNzIHRvIGV4dGVuZC5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZXh0ZW5kZWQgd2l0aCB0aGUgaHlkcmF0aW9uIGNoZWNrIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJIeWRyYXRpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIGJhc2U6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBleHRlbmRzIGJhc2UgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4ge1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvblJlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgICApO1xuICAgIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVsZW1lbnQgaGFzIGNvbXBsZXRlZCBoeWRyYXRpb24uXG4gICAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICAgIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgICAgLy8gaXMgYXZhaWxhYmxlIGR1cmluZyBjb25zdHJ1Y3Rpb24vdXBncmFkZSBwaGFzZS5cbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24oZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAgIC8vIGNhbiBjYXVzZSByZW5kZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHdvdWxkIGJyZWFrIGh5ZHJhdGlvbi4gQWZ0ZXJcbiAgICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgICBjb25zdCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgICBjb25zdCBzbG90cyA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgnc2xvdCcpO1xuICAgICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgICBzbG90LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgICAgc2xvdHMuZm9yRWFjaCgoc2xvdCkgPT4ge1xuICAgICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgICBzdXBlci51cGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkh5ZHJhdGlvbk1peGluQ2xhc3MgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQk8sTUFBTSxvQkFBb0IsQ0FDL0IsU0FDa0Q7QUFBQSxFQUNsRCxNQUFlLCtCQUErQixLQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBZWhELElBQVcsb0JBQWlCO0FBQzFCLGFBQU8sS0FBSztBQUFBLElBQ2Q7QUFBQTtBQUFBLElBR0EsSUFBYyxvQkFBaUI7QUFDN0IsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLElBRUEsZUFBc0IsTUFBVztBQUMvQixZQUFNLEdBQUcsSUFBSTtBQXZCUCxXQUFBLHFCQUFxQixJQUFJLFFBQy9CLENBQUMsWUFBYSxLQUFLLG9CQUFvQixPQUFRO0FBeUIvQyxXQUFLLHFCQUFxQixDQUFDLENBQUMsS0FBSztBQUNqQyxVQUFJLENBQUMsS0FBSyxvQkFBb0I7QUFDNUIsYUFBSyxrQkFBa0IsS0FBSztBQUFBLE1BQzlCLE9BQU87QUFLTCxjQUFNLDBCQUEwQixDQUFDLFVBQXNCO0FBQ3JELGNBQUksS0FBSyxvQkFBb0I7QUFDM0Isa0JBQU0seUJBQUE7QUFBQSxVQUNSO0FBQUEsUUFDRjtBQUNBLGNBQU0sZUFBcUMsRUFBRSxTQUFTLEtBQUE7QUFDdEQsY0FBTSxRQUFRLEtBQUssWUFBWSxpQkFBaUIsTUFBTTtBQUN0RCxZQUFJLE9BQU8sUUFBUTtBQUNqQixnQkFBTSxRQUFRLENBQUMsU0FDYixLQUFLLGlCQUFpQixjQUFjLHlCQUF5QixZQUFZLENBQUM7QUFFNUUsZUFBSyxrQkFBa0IsS0FBSyxNQUMxQixNQUFNLFFBQVEsQ0FBQyxTQUFRO0FBQ3JCLGlCQUFLLG9CQUFvQixjQUFjLHlCQUF5QixZQUFZO0FBQzVFLGdCQUFJLEtBQUssY0FBQSxFQUFnQixRQUFRO0FBQy9CLG1CQUFLLGNBQWMsSUFBSSxNQUFNLGNBQWMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBQUEsWUFDL0Q7QUFBQSxVQUNGLENBQUMsQ0FBQztBQUFBLFFBRU47QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBRW1CLE9BQU8sbUJBQXVDO0FBRy9ELFlBQU0sT0FBTyxpQkFBaUI7QUFFOUIsVUFBSSxLQUFLLG9CQUFvQjtBQUMzQixhQUFLLHFCQUFxQjtBQUMxQixhQUFLLGtCQUFrQixJQUFJO0FBQUEsTUFDN0I7QUFBQSxJQUNGO0FBQUEsRUFBQTtBQUVGLFNBQU87QUFDVDsifQ==
@@ -130,4 +130,4 @@ const SbbNamedSlotListMixin = (superClass) => {
130
130
  export {
131
131
  SbbNamedSlotListMixin
132
132
  };
133
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtc2xvdC1saXN0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvbmFtZWQtc2xvdC1saXN0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIHR5cGUgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgdHlwZSBTYmJIeWRyYXRpb25NaXhpblR5cGUgfSBmcm9tICcuL2h5ZHJhdGlvbi1taXhpbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgU1NSX0NISUxEX0NPVU5UX0FUVFJJQlVURSA9ICdkYXRhLXNzci1jaGlsZC1jb3VudCc7XG5jb25zdCBTTE9UTkFNRV9QUkVGSVggPSAnbGknO1xuXG5leHBvcnQgdHlwZSBTYmJOYW1lZFNsb3RQcm9wZXJ0aWVzID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFyaWFIaWRkZW46IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEhlbHBlciB0eXBlIGZvciB3aWxsVXBkYXRlIG9yIHNpbWlsYXIgY2hlY2tzLlxuICogQWxsb3dzIHRoZSB1c2FnZSBvZiB0aGUgc3RyaW5nIGxpdGVyYWwgJ2xpc3RDaGlsZHJlbicuXG4gKlxuICogQGV4YW1wbGVcbiAqIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICogICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICogICAgIC4uLlxuICogICB9XG4gKiB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW48XG4gIFQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+LFxuICBDIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudCxcbj4gPSBUICYgeyBsaXN0Q2hpbGRyZW46IENbXSB9O1xuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPFxuICBDIGV4dGVuZHMgSFRNTEVsZW1lbnQsXG4+IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgYWNjZXNzb3IgbGlzdENoaWxkcmVuOiBDW107XG4gIHByb3RlY3RlZCByZW5kZXJMaXN0KFxuICAgIGF0dHJpYnV0ZXM/OiB7XG4gICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgIGFyaWFMYWJlbD86IHN0cmluZztcbiAgICAgIGFyaWFMYWJlbGxlZGJ5Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgbGlzdEl0ZW1BdHRyaWJ1dGVzPzoge1xuICAgICAgbG9jYWxOYW1lVmlzdWFsT25seT86IHN0cmluZ1tdO1xuICAgIH0sXG4gICk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgbGlzdFNsb3RFbnRyaWVzKCk6IFNiYk5hbWVkU2xvdFByb3BlcnRpZXNbXTtcbiAgcHJvdGVjdGVkIHJlbmRlckhpZGRlblNsb3QoKTogVGVtcGxhdGVSZXN1bHQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gPSA8XG4gIEMgZXh0ZW5kcyBIVE1MRWxlbWVudCxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+PiAmIFQgPT4ge1xuICAvKipcbiAgICogVGhpcyBiYXNlIGNsYXNzIHByb3ZpZGVzIG5hbWVkIHNsb3QgbGlzdCBvYnNlcnZlciBmdW5jdGlvbmFsaXR5LlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyB0aGUgcGF0dGVybiBvZiByZW5kZXJpbmcgYSBuYW1lZCBzbG90IGZvciBlYWNoIGNoaWxkLCB3aGljaCBhbGxvd3NcbiAgICogd3JhcHBpbmcgY2hpbGRyZW4gaW4gYW4gdWwvbGkgbGlzdC5cbiAgICovXG4gIGFic3RyYWN0IGNsYXNzIE5hbWVkU2xvdExpc3RFbGVtZW50PEMgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PlxuICAgIGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTmFtZWRTbG90TGlzdE1peGluVHlwZTxDPj5cbiAge1xuICAgIC8qKiBBIGxpc3Qgb2YgbG93ZXItY2FzZWQgdGFnIG5hbWVzIHRvIG1hdGNoIGFnYWluc3QuIChlLmcuIGBzYmItbGlua2ApICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXM6IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGNoaWxkcmVuIHdpdGggdGhlIGRlZmluZWQgdGFnIG5hbWVzLlxuICAgICAqIFRoaXMgYXJyYXkgaXMgb25seSB1cGRhdGVkIGlmIHRoZXJlIGlzIGFuIGFjdHVhbCBjaGFuZ2VcbiAgICAgKiB0byB0aGUgY2hpbGQgZWxlbWVudHMuXG4gICAgICovXG4gICAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGxpc3RDaGlsZHJlbjogQ1tdID0gW107XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgdGhpcy5faGFuZGxlU2xvdGNoYW5nZSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3Q/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9oYW5kbGVTbG90Y2hhbmdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgbGlzdENoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGUpOiBlIGlzIEMgPT5cbiAgICAgICAgdGhpcy5saXN0Q2hpbGRMb2NhbE5hbWVzLmluY2x1ZGVzKGUubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gICAgICAvLyBJZiB0aGUgc2xvdHRlZCBjaGlsZCBpbnN0YW5jZXMgaGF2ZSBub3QgY2hhbmdlZCwgd2UgY2FuIHNraXAgc3luY2luZyBhbmQgdXBkYXRpbmdcbiAgICAgIC8vIHRoZSBsaW5rIHJlZmVyZW5jZSBsaXN0LlxuICAgICAgaWYgKFxuICAgICAgICBsaXN0Q2hpbGRyZW4ubGVuZ3RoID09PSB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggJiZcbiAgICAgICAgdGhpcy5saXN0Q2hpbGRyZW4uZXZlcnkoKGUsIGkpID0+IGxpc3RDaGlsZHJlbltpXSA9PT0gZSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGlzdENoaWxkcmVuXG4gICAgICAgIC5maWx0ZXIoKGMpID0+ICFsaXN0Q2hpbGRyZW4uaW5jbHVkZXMoYykpXG4gICAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnc2xvdCcpKTtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuID0gbGlzdENoaWxkcmVuO1xuICAgICAgdGhpcy5saXN0Q2hpbGRyZW4uZm9yRWFjaCgoYywgaW5kZXgpID0+XG4gICAgICAgIGMuc2V0QXR0cmlidXRlKCdzbG90JywgYCR7U0xPVE5BTUVfUFJFRklYfS0ke2luZGV4fWApLFxuICAgICAgKTtcblxuICAgICAgLy8gUmVtb3ZlIHRoZSBzc3IgYXR0cmlidXRlLCBvbmNlIHdlIGhhdmUgYWN0dWFsbHkgaW5pdGlhbGl6ZWQgdGhlIGNoaWxkcmVuIGVsZW1lbnRzLlxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoU1NSX0NISUxEX0NPVU5UX0FUVFJJQlVURSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFJlbmRlcnMgbGlzdCBhbmQgbGlzdCBzbG90cyBmb3Igc2xvdHRlZCBjaGlsZHJlbiBvciBhIG51bWJlciBvZiBsaXN0IHNsb3RzXG4gICAgICogY29ycmVzcG9uZGluZyB0byB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICpcbiAgICAgKiBUaGlzIGlzIGEgcG9zc2libGUgb3B0aW1pemF0aW9uIGZvciBTU1IsIGFzIGluIGFuIFNTUiBMaXQgZW52aXJvbm1lbnRcbiAgICAgKiBvdGhlciBlbGVtZW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYnV0IG1pZ2h0IGJlIGF2YWlsYWJsZSBpbiB0aGUgbWV0YVxuICAgICAqIGZyYW1ld29yayB3cmFwcGVyIChsaWtlIGUuZy4gUmVhY3QpLiBUaGlzIGFsbG93cyB0byBwcm92aWRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBjaGlsZHJlbiB0byBiZSBwYXNzZWQgdmlhIHRoZSBgZGF0YS1zc3ItY2hpbGQtY291bnRgIGF0dHJpYnV0ZSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVuZGVyTGlzdChcbiAgICAgIGF0dHJpYnV0ZXM6IHsgY2xhc3M/OiBzdHJpbmc7IGFyaWFMYWJlbD86IHN0cmluZzsgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmcgfSA9IHt9LFxuICAgICAgbGlzdEl0ZW1BdHRyaWJ1dGVzOiB7IGxvY2FsTmFtZVZpc3VhbE9ubHk/OiBzdHJpbmdbXSB9ID0ge30sXG4gICAgKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgY29uc3QgbGlzdFNsb3ROYW1lczogU2JiTmFtZWRTbG90UHJvcGVydGllc1tdID0gdGhpcy5saXN0U2xvdEVudHJpZXMobGlzdEl0ZW1BdHRyaWJ1dGVzKTtcblxuICAgICAgaWYgKGxpc3RTbG90TmFtZXMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICAgPHVsXG4gICAgICAgICAgICBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgdGhpcy5sb2NhbE5hbWV9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7YXR0cmlidXRlcy5hcmlhTGFiZWwgfHwgbm90aGluZ31cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsbGVkYnkgfHwgbm90aGluZ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke2xpc3RTbG90TmFtZXMubWFwKFxuICAgICAgICAgICAgICAoc2xvdCkgPT4gaHRtbGBcbiAgICAgICAgICAgICAgICA8bGkgYXJpYS1oaWRkZW49JHtzbG90LmFyaWFIaWRkZW4gfHwgbm90aGluZ30+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICAke3RoaXMucmVuZGVySGlkZGVuU2xvdCgpfVxuICAgICAgICBgO1xuICAgICAgfSBlbHNlIGlmIChsaXN0U2xvdE5hbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgdGhpcy5sb2NhbE5hbWV9PlxuICAgICAgICAgICAgPHNwYW4+PHNsb3QgbmFtZT0ke2xpc3RTbG90TmFtZXNbMF0ubmFtZX0+PC9zbG90Pjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckhpZGRlblNsb3QoKX0gYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlckhpZGRlblNsb3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIFNiYk5hbWVkU2xvdFByb3BlcnRpZXMsIHdoaWNoIGhvbGRzIHRoZSBsaXN0IHNsb3QgbmFtZXMgYW5kIHRoZSBoaWRkZW4gcHJvcGVydHk7XG4gICAgICogaXRzIGxlbmd0aCBjb3JyZXNwb25kcyB0byB0aGUgbnVtYmVyIG9mIG1hdGNoZWQgY2hpbGRyZW4gb3IgdGhlIGBkYXRhLXNzci1jaGlsZC1jb3VudGAgYXR0cmlidXRlIHZhbHVlLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBhIHBvc3NpYmxlIG9wdGltaXphdGlvbiBmb3IgU1NSLCBhcyBpbiBhbiBTU1IgTGl0IGVudmlyb25tZW50XG4gICAgICogb3RoZXIgZWxlbWVudHMgYXJlIG5vdCBhdmFpbGFibGUsIGJ1dCBtaWdodCBiZSBhdmFpbGFibGUgaW4gdGhlIG1ldGFcbiAgICAgKiBmcmFtZXdvcmsgd3JhcHBlciAobGlrZSBlLmcuIFJlYWN0KS4gVGhpcyBhbGxvd3MgdG8gcHJvdmlkZSB0aGUgbnVtYmVyIG9mXG4gICAgICogY2hpbGRyZW4gdG8gYmUgcGFzc2VkIHZpYSB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxpc3RTbG90RW50cmllcyhsaXN0SXRlbUF0dHJpYnV0ZXM6IHtcbiAgICAgIGxvY2FsTmFtZVZpc3VhbE9ubHk/OiBzdHJpbmdbXTtcbiAgICB9KTogU2JiTmFtZWRTbG90UHJvcGVydGllc1tdIHtcbiAgICAgIGNvbnN0IGxpc3RDaGlsZHJlbiA9IHRoaXMubGlzdENoaWxkcmVuLmxlbmd0aFxuICAgICAgICA/IHRoaXMubGlzdENoaWxkcmVuXG4gICAgICAgIDogQXJyYXkuZnJvbSh7IGxlbmd0aDogKyh0aGlzLmdldEF0dHJpYnV0ZShTU1JfQ0hJTERfQ09VTlRfQVRUUklCVVRFKSA/PyAwKSB9KTtcbiAgICAgIHJldHVybiBsaXN0Q2hpbGRyZW4ubWFwKChlLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogYCR7U0xPVE5BTUVfUFJFRklYfS0ke2l9YCxcbiAgICAgICAgICBhcmlhSGlkZGVuOlxuICAgICAgICAgICAgbGlzdEl0ZW1BdHRyaWJ1dGVzPy5sb2NhbE5hbWVWaXN1YWxPbmx5Py5pbmNsdWRlcygoZSBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSA/P1xuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgaGlkZGVuIHNsb3QsIHdoaWNoIGlzIGludGVuZGVkIGFzIHRoZSBjaGlsZHJlbiBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAqIFdoZW4gYW4gZWxlbWVudCB3aXRob3V0IGEgc2xvdCBhdHRyaWJ1dGUgaXMgc2xvdHRlZCB0byB0aGUgZWxlbWVudCwgaXQgdHJpZ2dlcnNcbiAgICAgKiB0aGUgc2xvdGNoYW5nZSBldmVudCwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gYXNzaWduIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBuYW1lZCBzbG90LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZW5kZXJIaWRkZW5TbG90KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYDxzcGFuIGhpZGRlbj48c2xvdD48L3Nsb3Q+PC9zcGFuPmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIE5hbWVkU2xvdExpc3RFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+PiAmIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVFBLE1BQU0sNEJBQTRCO0FBQ2xDLE1BQU0sa0JBQWtCO0FBMkNqQixNQUFNLHdCQUF3QixDQUluQyxlQUN5RDtNQU0xQyx3QkFBb0IsTUFBQTs7c0JBQ3pCLGtCQUFrQixVQUFVOzs7O0FBRHZCLFdBQUEsbUJBQ0wsWUFBNkI7QUFBQTs7QUFXNUI7QUFBbUIsMkJBQUEsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBb0IsQ0FBQSxDQUFFO0FBWTFDLGFBQUEscUJBQWlCLGtCQUFBLE1BQUEsK0JBQUEsR0FBRyxNQUFXO0FBQ3JDLGdCQUFNLGVBQWUsTUFBTSxLQUFLLEtBQUssWUFBWSxDQUFBLENBQUUsRUFBRSxPQUFPLENBQUMsTUFDM0QsS0FBSyxvQkFBb0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztBQUloRCxjQUNFLGFBQWEsV0FBVyxLQUFLLGFBQWEsVUFDMUMsS0FBSyxhQUFhLE1BQU0sQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUN2RDtBQUNBO0FBQUEsVUFBQTtBQUdGLGVBQUssYUFDRixPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsRUFDdkMsUUFBUSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsTUFBTSxDQUFDO0FBQzNDLGVBQUssZUFBZTtBQUNwQixlQUFLLGFBQWEsUUFBUSxDQUFDLEdBQUcsVUFDNUIsRUFBRSxhQUFhLFFBQVEs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
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtc2xvdC1saXN0LW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvbmFtZWQtc2xvdC1saXN0LW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIHR5cGUgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgdHlwZSBTYmJIeWRyYXRpb25NaXhpblR5cGUgfSBmcm9tICcuL2h5ZHJhdGlvbi1taXhpbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgU1NSX0NISUxEX0NPVU5UX0FUVFJJQlVURSA9ICdkYXRhLXNzci1jaGlsZC1jb3VudCc7XG5jb25zdCBTTE9UTkFNRV9QUkVGSVggPSAnbGknO1xuXG5leHBvcnQgdHlwZSBTYmJOYW1lZFNsb3RQcm9wZXJ0aWVzID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFyaWFIaWRkZW46IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEhlbHBlciB0eXBlIGZvciB3aWxsVXBkYXRlIG9yIHNpbWlsYXIgY2hlY2tzLlxuICogQWxsb3dzIHRoZSB1c2FnZSBvZiB0aGUgc3RyaW5nIGxpdGVyYWwgJ2xpc3RDaGlsZHJlbicuXG4gKlxuICogQGV4YW1wbGVcbiAqIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICogICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICogICAgIC4uLlxuICogICB9XG4gKiB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW48XG4gIFQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+LFxuICBDIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudCxcbj4gPSBUICYgeyBsaXN0Q2hpbGRyZW46IENbXSB9O1xuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPFxuICBDIGV4dGVuZHMgSFRNTEVsZW1lbnQsXG4+IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgYWNjZXNzb3IgbGlzdENoaWxkcmVuOiBDW107XG4gIHByb3RlY3RlZCByZW5kZXJMaXN0KFxuICAgIGF0dHJpYnV0ZXM/OiB7XG4gICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgIGFyaWFMYWJlbD86IHN0cmluZztcbiAgICAgIGFyaWFMYWJlbGxlZGJ5Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgbGlzdEl0ZW1BdHRyaWJ1dGVzPzoge1xuICAgICAgbG9jYWxOYW1lVmlzdWFsT25seT86IHN0cmluZ1tdO1xuICAgIH0sXG4gICk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgbGlzdFNsb3RFbnRyaWVzKCk6IFNiYk5hbWVkU2xvdFByb3BlcnRpZXNbXTtcbiAgcHJvdGVjdGVkIHJlbmRlckhpZGRlblNsb3QoKTogVGVtcGxhdGVSZXN1bHQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gPSA8XG4gIEMgZXh0ZW5kcyBIVE1MRWxlbWVudCxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+PiAmIFQgPT4ge1xuICAvKipcbiAgICogVGhpcyBiYXNlIGNsYXNzIHByb3ZpZGVzIG5hbWVkIHNsb3QgbGlzdCBvYnNlcnZlciBmdW5jdGlvbmFsaXR5LlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyB0aGUgcGF0dGVybiBvZiByZW5kZXJpbmcgYSBuYW1lZCBzbG90IGZvciBlYWNoIGNoaWxkLCB3aGljaCBhbGxvd3NcbiAgICogd3JhcHBpbmcgY2hpbGRyZW4gaW4gYW4gdWwvbGkgbGlzdC5cbiAgICovXG4gIGFic3RyYWN0IGNsYXNzIE5hbWVkU2xvdExpc3RFbGVtZW50PEMgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PlxuICAgIGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTmFtZWRTbG90TGlzdE1peGluVHlwZTxDPj5cbiAge1xuICAgIC8qKiBBIGxpc3Qgb2YgbG93ZXItY2FzZWQgdGFnIG5hbWVzIHRvIG1hdGNoIGFnYWluc3QuIChlLmcuIGBzYmItbGlua2ApICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXM6IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIGNoaWxkcmVuIHdpdGggdGhlIGRlZmluZWQgdGFnIG5hbWVzLlxuICAgICAqIFRoaXMgYXJyYXkgaXMgb25seSB1cGRhdGVkIGlmIHRoZXJlIGlzIGFuIGFjdHVhbCBjaGFuZ2VcbiAgICAgKiB0byB0aGUgY2hpbGQgZWxlbWVudHMuXG4gICAgICovXG4gICAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGxpc3RDaGlsZHJlbjogQ1tdID0gW107XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgdGhpcy5faGFuZGxlU2xvdGNoYW5nZSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3Q/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9oYW5kbGVTbG90Y2hhbmdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgbGlzdENoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGUpOiBlIGlzIEMgPT5cbiAgICAgICAgdGhpcy5saXN0Q2hpbGRMb2NhbE5hbWVzLmluY2x1ZGVzKGUubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gICAgICAvLyBJZiB0aGUgc2xvdHRlZCBjaGlsZCBpbnN0YW5jZXMgaGF2ZSBub3QgY2hhbmdlZCwgd2UgY2FuIHNraXAgc3luY2luZyBhbmQgdXBkYXRpbmdcbiAgICAgIC8vIHRoZSBsaW5rIHJlZmVyZW5jZSBsaXN0LlxuICAgICAgaWYgKFxuICAgICAgICBsaXN0Q2hpbGRyZW4ubGVuZ3RoID09PSB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggJiZcbiAgICAgICAgdGhpcy5saXN0Q2hpbGRyZW4uZXZlcnkoKGUsIGkpID0+IGxpc3RDaGlsZHJlbltpXSA9PT0gZSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGlzdENoaWxkcmVuXG4gICAgICAgIC5maWx0ZXIoKGMpID0+ICFsaXN0Q2hpbGRyZW4uaW5jbHVkZXMoYykpXG4gICAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnc2xvdCcpKTtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuID0gbGlzdENoaWxkcmVuO1xuICAgICAgdGhpcy5saXN0Q2hpbGRyZW4uZm9yRWFjaCgoYywgaW5kZXgpID0+XG4gICAgICAgIGMuc2V0QXR0cmlidXRlKCdzbG90JywgYCR7U0xPVE5BTUVfUFJFRklYfS0ke2luZGV4fWApLFxuICAgICAgKTtcblxuICAgICAgLy8gUmVtb3ZlIHRoZSBzc3IgYXR0cmlidXRlLCBvbmNlIHdlIGhhdmUgYWN0dWFsbHkgaW5pdGlhbGl6ZWQgdGhlIGNoaWxkcmVuIGVsZW1lbnRzLlxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoU1NSX0NISUxEX0NPVU5UX0FUVFJJQlVURSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFJlbmRlcnMgbGlzdCBhbmQgbGlzdCBzbG90cyBmb3Igc2xvdHRlZCBjaGlsZHJlbiBvciBhIG51bWJlciBvZiBsaXN0IHNsb3RzXG4gICAgICogY29ycmVzcG9uZGluZyB0byB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICpcbiAgICAgKiBUaGlzIGlzIGEgcG9zc2libGUgb3B0aW1pemF0aW9uIGZvciBTU1IsIGFzIGluIGFuIFNTUiBMaXQgZW52aXJvbm1lbnRcbiAgICAgKiBvdGhlciBlbGVtZW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYnV0IG1pZ2h0IGJlIGF2YWlsYWJsZSBpbiB0aGUgbWV0YVxuICAgICAqIGZyYW1ld29yayB3cmFwcGVyIChsaWtlIGUuZy4gUmVhY3QpLiBUaGlzIGFsbG93cyB0byBwcm92aWRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBjaGlsZHJlbiB0byBiZSBwYXNzZWQgdmlhIHRoZSBgZGF0YS1zc3ItY2hpbGQtY291bnRgIGF0dHJpYnV0ZSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVuZGVyTGlzdChcbiAgICAgIGF0dHJpYnV0ZXM6IHsgY2xhc3M/OiBzdHJpbmc7IGFyaWFMYWJlbD86IHN0cmluZzsgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmcgfSA9IHt9LFxuICAgICAgbGlzdEl0ZW1BdHRyaWJ1dGVzOiB7IGxvY2FsTmFtZVZpc3VhbE9ubHk/OiBzdHJpbmdbXSB9ID0ge30sXG4gICAgKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgY29uc3QgbGlzdFNsb3ROYW1lczogU2JiTmFtZWRTbG90UHJvcGVydGllc1tdID0gdGhpcy5saXN0U2xvdEVudHJpZXMobGlzdEl0ZW1BdHRyaWJ1dGVzKTtcblxuICAgICAgaWYgKGxpc3RTbG90TmFtZXMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICAgPHVsXG4gICAgICAgICAgICBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgdGhpcy5sb2NhbE5hbWV9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7YXR0cmlidXRlcy5hcmlhTGFiZWwgfHwgbm90aGluZ31cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsbGVkYnkgfHwgbm90aGluZ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke2xpc3RTbG90TmFtZXMubWFwKFxuICAgICAgICAgICAgICAoc2xvdCkgPT4gaHRtbGBcbiAgICAgICAgICAgICAgICA8bGkgYXJpYS1oaWRkZW49JHtzbG90LmFyaWFIaWRkZW4gfHwgbm90aGluZ30+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICAke3RoaXMucmVuZGVySGlkZGVuU2xvdCgpfVxuICAgICAgICBgO1xuICAgICAgfSBlbHNlIGlmIChsaXN0U2xvdE5hbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgdGhpcy5sb2NhbE5hbWV9PlxuICAgICAgICAgICAgPHNwYW4+PHNsb3QgbmFtZT0ke2xpc3RTbG90TmFtZXNbMF0ubmFtZX0+PC9zbG90Pjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckhpZGRlblNsb3QoKX0gYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlckhpZGRlblNsb3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIFNiYk5hbWVkU2xvdFByb3BlcnRpZXMsIHdoaWNoIGhvbGRzIHRoZSBsaXN0IHNsb3QgbmFtZXMgYW5kIHRoZSBoaWRkZW4gcHJvcGVydHk7XG4gICAgICogaXRzIGxlbmd0aCBjb3JyZXNwb25kcyB0byB0aGUgbnVtYmVyIG9mIG1hdGNoZWQgY2hpbGRyZW4gb3IgdGhlIGBkYXRhLXNzci1jaGlsZC1jb3VudGAgYXR0cmlidXRlIHZhbHVlLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBhIHBvc3NpYmxlIG9wdGltaXphdGlvbiBmb3IgU1NSLCBhcyBpbiBhbiBTU1IgTGl0IGVudmlyb25tZW50XG4gICAgICogb3RoZXIgZWxlbWVudHMgYXJlIG5vdCBhdmFpbGFibGUsIGJ1dCBtaWdodCBiZSBhdmFpbGFibGUgaW4gdGhlIG1ldGFcbiAgICAgKiBmcmFtZXdvcmsgd3JhcHBlciAobGlrZSBlLmcuIFJlYWN0KS4gVGhpcyBhbGxvd3MgdG8gcHJvdmlkZSB0aGUgbnVtYmVyIG9mXG4gICAgICogY2hpbGRyZW4gdG8gYmUgcGFzc2VkIHZpYSB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxpc3RTbG90RW50cmllcyhsaXN0SXRlbUF0dHJpYnV0ZXM6IHtcbiAgICAgIGxvY2FsTmFtZVZpc3VhbE9ubHk/OiBzdHJpbmdbXTtcbiAgICB9KTogU2JiTmFtZWRTbG90UHJvcGVydGllc1tdIHtcbiAgICAgIGNvbnN0IGxpc3RDaGlsZHJlbiA9IHRoaXMubGlzdENoaWxkcmVuLmxlbmd0aFxuICAgICAgICA/IHRoaXMubGlzdENoaWxkcmVuXG4gICAgICAgIDogQXJyYXkuZnJvbSh7IGxlbmd0aDogKyh0aGlzLmdldEF0dHJpYnV0ZShTU1JfQ0hJTERfQ09VTlRfQVRUUklCVVRFKSA/PyAwKSB9KTtcbiAgICAgIHJldHVybiBsaXN0Q2hpbGRyZW4ubWFwKChlLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogYCR7U0xPVE5BTUVfUFJFRklYfS0ke2l9YCxcbiAgICAgICAgICBhcmlhSGlkZGVuOlxuICAgICAgICAgICAgbGlzdEl0ZW1BdHRyaWJ1dGVzPy5sb2NhbE5hbWVWaXN1YWxPbmx5Py5pbmNsdWRlcygoZSBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSA/P1xuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgaGlkZGVuIHNsb3QsIHdoaWNoIGlzIGludGVuZGVkIGFzIHRoZSBjaGlsZHJlbiBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAqIFdoZW4gYW4gZWxlbWVudCB3aXRob3V0IGEgc2xvdCBhdHRyaWJ1dGUgaXMgc2xvdHRlZCB0byB0aGUgZWxlbWVudCwgaXQgdHJpZ2dlcnNcbiAgICAgKiB0aGUgc2xvdGNoYW5nZSBldmVudCwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gYXNzaWduIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBuYW1lZCBzbG90LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZW5kZXJIaWRkZW5TbG90KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYDxzcGFuIGhpZGRlbj48c2xvdD48L3Nsb3Q+PC9zcGFuPmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIE5hbWVkU2xvdExpc3RFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYW1lZFNsb3RMaXN0TWl4aW5UeXBlPEM+PiAmIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVFBLE1BQU0sNEJBQTRCO0FBQ2xDLE1BQU0sa0JBQWtCO0FBMkNqQixNQUFNLHdCQUF3QixDQUluQyxlQUN5RDtNQU0xQyx3QkFBb0IsTUFBQTs7c0JBQ3pCLGtCQUFrQixVQUFVOzs7O0FBRHZCLFdBQUEsbUJBQ0wsWUFBNkI7QUFBQTs7QUFXNUI7QUFBbUIsMkJBQUEsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBb0IsQ0FBQSxDQUFFO0FBWTFDLGFBQUEscUJBQWlCLGtCQUFBLE1BQUEsK0JBQUEsR0FBRyxNQUFXO0FBQ3JDLGdCQUFNLGVBQWUsTUFBTSxLQUFLLEtBQUssWUFBWSxDQUFBLENBQUUsRUFBRSxPQUFPLENBQUMsTUFDM0QsS0FBSyxvQkFBb0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztBQUloRCxjQUNFLGFBQWEsV0FBVyxLQUFLLGFBQWEsVUFDMUMsS0FBSyxhQUFhLE1BQU0sQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUN2RDtBQUNBO0FBQUEsVUFDRjtBQUVBLGVBQUssYUFDRixPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsRUFDdkMsUUFBUSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsTUFBTSxDQUFDO0FBQzNDLGVBQUssZUFBZTtBQUNwQixlQUFLLGFBQWEsUUFBUSxDQUFDLEdBQUcsVUFDNUIsRUFBRSxhQUFhLFFBQVEs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
@@ -42,4 +42,4 @@ const SbbNegativeMixin = (superClass) => {
42
42
  export {
43
43
  SbbNegativeMixin
44
44
  };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVnYXRpdmUtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9uZWdhdGl2ZS1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgbmVnYXRpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgbmVnYXRpdmUgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJOZWdhdGl2ZU1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmVnYXRpdmVNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYk5lZ2F0aXZlRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBTYmJOZWdhdGl2ZU1peGluVHlwZSB7XG4gICAgLyoqIE5lZ2F0aXZlIGNvbG9yaW5nIHZhcmlhbnQgZmxhZy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIG5lZ2F0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gU2JiTmVnYXRpdmVFbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmVnYXRpdmVNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWVPLE1BQU0sbUJBQW1CLENBQzlCLGVBQ2lEO01BQ2xDLHNCQUFrQixNQUFBOztzQkFBUzs7OztBQUEzQixXQUFBLG1CQUEyQixZQUFVO0FBQUE7O0FBSWxELHVEQUFBLGtCQUFBLE1BQUEsd0JBQW9DLEtBQUs7Ozs7TUFBekMsSUFBZ0IsV0FBUTtBQUFBLGVBQUEsbUJBQUE7QUFBQSxNQUFBO0FBQUEsTUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsMkJBQUEsNEJBQUE7QUFBQSxNQUFBO0FBQUEsT0FBeEI7O0FBRkMsNkJBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFFBQUEsQ0FBUyxDQUFDO0FBQzNDLG1CQUFBLElBQUEsTUFBQSxzQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFVBQVEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQVIsV0FBUTtBQUFBLE1BQUEsS0FBQSxVQUFBLGFBQUEsd0JBQUEsMkJBQUE7O1VBSlg7QUFBQTtBQU9mLFNBQU87QUFDVDsifQ==
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVnYXRpdmUtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9uZWdhdGl2ZS1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgbmVnYXRpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgbmVnYXRpdmUgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJOZWdhdGl2ZU1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmVnYXRpdmVNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYk5lZ2F0aXZlRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBTYmJOZWdhdGl2ZU1peGluVHlwZSB7XG4gICAgLyoqIE5lZ2F0aXZlIGNvbG9yaW5nIHZhcmlhbnQgZmxhZy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIG5lZ2F0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gU2JiTmVnYXRpdmVFbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmVnYXRpdmVNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWVPLE1BQU0sbUJBQW1CLENBQzlCLGVBQ2lEO01BQ2xDLHNCQUFrQixNQUFBOztzQkFBUzs7OztBQUEzQixXQUFBLG1CQUEyQixZQUFVO0FBQUE7O0FBSWxELHVEQUFBLGtCQUFBLE1BQUEsd0JBQW9DLEtBQUs7Ozs7TUFBekMsSUFBZ0IsV0FBUTtBQUFBLGVBQUEsbUJBQUE7QUFBQSxNQUFBO0FBQUEsTUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsMkJBQUEsNEJBQUE7QUFBQSxNQUFBO0FBQUEsT0FBeEI7O0FBRkMsNkJBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFFBQUEsQ0FBUyxDQUFDO0FBQzNDLG1CQUFBLElBQUEsTUFBQSxzQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFVBQVEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQVIsV0FBUTtBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSx3QkFBQSwyQkFBQTs7VUFKWDtBQUFBO0FBT2YsU0FBTztBQUNUOyJ9
@@ -77,4 +77,4 @@ const SbbPanelMixin = (superClass) => {
77
77
  export {
78
78
  SbbPanelMixin
79
79
  };
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9wYW5lbC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiUGFuZWxNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsayc7XG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgZXhwYW5zaW9uU3RhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU2JiUGFuZWxTaXplID0gJ3MnIHwgJ20nO1xuXG4vKipcbiAqIE1peGluIGZvciBjb21tb24gcGFuZWwgYmVoYXZpb3JzXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJQYW5lbE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFuZWxNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlBhbmVsRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBTYmJQYW5lbE1peGluVHlwZSB7XG4gICAgLyoqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lbC4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJyA9ICd3aGl0ZSc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdW5zZWxlY3RlZCBwYW5lbCBoYXMgYSBib3JkZXIuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogQGludGVybmFsIHVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgbGFiZWwgd2hlbiBpbiBleHBhbnNpb24gcGFuZWwgKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoKVxuICAgIHB1YmxpYyBhY2Nlc3NvciBleHBhbnNpb25TdGF0ZTogc3RyaW5nID0gJyc7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdwYW5lbGNvbm5lY3RlZCcsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG5cbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItcmFkaW8tYnV0dG9uLWdyb3VwLCBzYmItY2hlY2tib3gtZ3JvdXAnKT8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGF0YS1oYXMtcGFuZWwnLFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUGFuZWxFbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFuZWxNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7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
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9wYW5lbC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiUGFuZWxNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsayc7XG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgZXhwYW5zaW9uU3RhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU2JiUGFuZWxTaXplID0gJ3MnIHwgJ20nO1xuXG4vKipcbiAqIE1peGluIGZvciBjb21tb24gcGFuZWwgYmVoYXZpb3JzXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJQYW5lbE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFuZWxNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlBhbmVsRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBTYmJQYW5lbE1peGluVHlwZSB7XG4gICAgLyoqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lbC4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJyA9ICd3aGl0ZSc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdW5zZWxlY3RlZCBwYW5lbCBoYXMgYSBib3JkZXIuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogQGludGVybmFsIHVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgbGFiZWwgd2hlbiBpbiBleHBhbnNpb24gcGFuZWwgKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoKVxuICAgIHB1YmxpYyBhY2Nlc3NvciBleHBhbnNpb25TdGF0ZTogc3RyaW5nID0gJyc7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdwYW5lbGNvbm5lY3RlZCcsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG5cbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItcmFkaW8tYnV0dG9uLWdyb3VwLCBzYmItY2hlY2tib3gtZ3JvdXAnKT8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAnZGF0YS1oYXMtcGFuZWwnLFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUGFuZWxFbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFuZWxNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7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
@@ -43,4 +43,4 @@ const SbbReadonlyMixin = (superClass) => {
43
43
  export {
44
44
  SbbReadonlyMixin
45
45
  };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9yZWFkb25seS1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJSZWFkb25seU1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciByZWFkT25seTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYSByZWFkb25seSBwcm9wZXJ0eS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYlJlYWRvbmx5TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSZWFkb25seU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUmVhZG9ubHlFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiUmVhZG9ubHlNaXhpblR5cGU+IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgcmVhZG9ubHkuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdyZWFkb25seScgfSlcbiAgICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLiNyZWFkT25seSA9ICEhdmFsdWU7XG5cbiAgICAgIC8vIFRoZSBhdHRyaWJ1dGUgbmVlZHMgdG8gYmUgcmVmbGVjdGVkIHN5bmNocm9ub3VzbHkgKGxpa2UgbmF0aXZlKVxuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgdGhpcy4jcmVhZE9ubHkpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlYWRPbmx5O1xuICAgIH1cbiAgICAjcmVhZE9ubHkgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBTYmJSZWFkb25seUVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlJlYWRvbmx5TWl4aW5UeXBlPiAmIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWFPLE1BQU0sbUJBQW1CLENBQzlCLGVBQ2lEO01BQ2xDLHNCQUFrQixNQUFBOztzQkFBUzs7O0FBQTNCLFdBQUEsbUJBQTJCLFlBQVU7QUFBQSxNQUFyQztBQUFBO0FBZWIsdUNBZmEsa0JBQUEsTUFBQSwwQkFBQSxHQWVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BVFosSUFBVyxTQUFTLE9BQWM7QUFDaEMsMkJBQUssV0FBWSxDQUFDLENBQUM7QUFHbkIsYUFBSyxnQkFBZ0IsWUFBWSxtQkFBSyxVQUFTO0FBQUEsTUFBQTtBQUFBLE1BRWpELElBQVcsV0FBUTtBQUNqQixlQUFPLG1CQUFLO0FBQUEsTUFBQTtBQUFBLElBRUYsR0FBWjs7a0NBVkMsU0FBUyxFQUFFLE1BQU0sU0FBUyxXQUFXLFdBQUEsQ0FBWSxDQUFDO0FBQ25ELG1CQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLFdBQVE7QUFBQSxNQUFBLEtBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7O1VBTk47QUFBQTtBQWtCZixTQUFPO0FBQ1Q7In0=
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9yZWFkb25seS1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJSZWFkb25seU1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciByZWFkT25seTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYSByZWFkb25seSBwcm9wZXJ0eS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYlJlYWRvbmx5TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSZWFkb25seU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUmVhZG9ubHlFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiUmVhZG9ubHlNaXhpblR5cGU+IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgcmVhZG9ubHkuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdyZWFkb25seScgfSlcbiAgICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLiNyZWFkT25seSA9ICEhdmFsdWU7XG5cbiAgICAgIC8vIFRoZSBhdHRyaWJ1dGUgbmVlZHMgdG8gYmUgcmVmbGVjdGVkIHN5bmNocm9ub3VzbHkgKGxpa2UgbmF0aXZlKVxuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgdGhpcy4jcmVhZE9ubHkpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlYWRPbmx5O1xuICAgIH1cbiAgICAjcmVhZE9ubHkgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBTYmJSZWFkb25seUVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlJlYWRvbmx5TWl4aW5UeXBlPiAmIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWFPLE1BQU0sbUJBQW1CLENBQzlCLGVBQ2lEO01BQ2xDLHNCQUFrQixNQUFBOztzQkFBUzs7O0FBQTNCLFdBQUEsbUJBQTJCLFlBQVU7QUFBQSxNQUFyQztBQUFBO0FBZWIsdUNBZmEsa0JBQUEsTUFBQSwwQkFBQSxHQWVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BVFosSUFBVyxTQUFTLE9BQWM7QUFDaEMsMkJBQUssV0FBWSxDQUFDLENBQUM7QUFHbkIsYUFBSyxnQkFBZ0IsWUFBWSxtQkFBSyxVQUFTO0FBQUEsTUFDakQ7QUFBQSxNQUNBLElBQVcsV0FBUTtBQUNqQixlQUFPLG1CQUFLO0FBQUEsTUFDZDtBQUFBLElBQ1ksR0FBWjs7a0NBVkMsU0FBUyxFQUFFLE1BQU0sU0FBUyxXQUFXLFdBQUEsQ0FBWSxDQUFDO0FBQ25ELG1CQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLFdBQVE7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSwwQkFBQTs7VUFOTjtBQUFBO0FBa0JmLFNBQU87QUFDVDsifQ==
@@ -45,4 +45,4 @@ const SbbRequiredMixin = (superClass) => {
45
45
  export {
46
46
  SbbRequiredMixin
47
47
  };
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9yZXF1aXJlZC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJSZXF1aXJlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciByZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGlzUmVxdWlyZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgcmVxdWlyZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSZXF1aXJlZE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSZXF1aXJlZE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUmVxdWlyZWRFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiUmVxdWlyZWRNaXhpblR5cGU+IHtcbiAgICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLiAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAvLyBUbyBwcm92aWRlIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHRoZSBuYXRpdmUgcmVxdWlyZWQgc3RhdGUsXG4gICAgICAvLyBhbnkgdmFsdWUgaXMgY29udmVydGVkIHRvIGEgYm9vbGVhbi5cbiAgICAgIHRoaXMuX3JlcXVpcmVkID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQgfHwgdGhpcy5pc1JlcXVpcmVkRXh0ZXJuYWxseSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncmVxdWlyZWQnKSkge1xuICAgICAgICAvLyBGaXJlZm94IG5lZWRzIGV4cGxpY2l0bHkgc2V0IGFyaWEtcmVxdWlyZWQgdmFsdWUuXG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZXF1aXJlZCA9IGAke3RoaXMucmVxdWlyZWR9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaWxsIGJlIHVzZWQgYXMgJ29yJyBjaGVjayB0byB0aGUgY3VycmVudCByZXF1aXJlZCBzdGF0ZS5cbiAgICAgKiBDYW4gZS5nLiBiZSB1c2VkIHRvIHJlYWQgcmVxdWlyZWQgc3RhdGUgb2YgYSBncm91cC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYlJlcXVpcmVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUmVxdWlyZWRNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlTyxNQUFNLG1CQUFtQixDQUc5QixlQUNpRDtNQUNsQyxzQkFBa0IsTUFBQTs7c0JBQVM7OztBQUEzQixXQUFBLG1CQUEyQixZQUFVO0FBQUE7O0FBVzFDLGFBQUEsYUFYSyxrQkFBQSxNQUFBLDBCQUFBLEdBV2dCO0FBQUEsTUFBQTtBQUFBO0FBQUEsTUFSN0IsSUFBVyxTQUFTLE9BQWM7QUFHaEMsYUFBSyxZQUFZLFFBQVEsS0FBSztBQUFBLE1BQUE7QUFBQSxNQUVoQyxJQUFXLFdBQVE7QUFDakIsZUFBTyxLQUFLLGFBQWEsS0FBSyxxQkFBQTtBQUFBO01BSWIsV0FBVyxtQkFBdUM7QUFDbkUsY0FBTSxXQUFXLGlCQUFpQjtBQUVsQyxZQUFJLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUVyQyxlQUFLLFVBQVUsZUFBZSxHQUFHLEtBQUssUUFBUTtBQUFBLFFBQUE7QUFBQSxNQUNoRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFPUSx1QkFBb0I7QUFDNUIsZUFBTztBQUFBLE1BQUE7QUFBQSxJQUNUOztrQ0ExQkMsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFFBQUEsQ0FBUyxDQUFDO0FBQzNDLG1CQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsVUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLFdBQVE7QUFBQSxNQUFBLEtBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7O1VBSE47QUFBQTtBQStCZixTQUFPO0FBQ1Q7In0=
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtbWl4aW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9yZXF1aXJlZC1taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJSZXF1aXJlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciByZXF1aXJlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGlzUmVxdWlyZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgcmVxdWlyZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSZXF1aXJlZE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZT4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSZXF1aXJlZE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUmVxdWlyZWRFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiUmVxdWlyZWRNaXhpblR5cGU+IHtcbiAgICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLiAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAvLyBUbyBwcm92aWRlIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHRoZSBuYXRpdmUgcmVxdWlyZWQgc3RhdGUsXG4gICAgICAvLyBhbnkgdmFsdWUgaXMgY29udmVydGVkIHRvIGEgYm9vbGVhbi5cbiAgICAgIHRoaXMuX3JlcXVpcmVkID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQgfHwgdGhpcy5pc1JlcXVpcmVkRXh0ZXJuYWxseSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncmVxdWlyZWQnKSkge1xuICAgICAgICAvLyBGaXJlZm94IG5lZWRzIGV4cGxpY2l0bHkgc2V0IGFyaWEtcmVxdWlyZWQgdmFsdWUuXG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFSZXF1aXJlZCA9IGAke3RoaXMucmVxdWlyZWR9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaWxsIGJlIHVzZWQgYXMgJ29yJyBjaGVjayB0byB0aGUgY3VycmVudCByZXF1aXJlZCBzdGF0ZS5cbiAgICAgKiBDYW4gZS5nLiBiZSB1c2VkIHRvIHJlYWQgcmVxdWlyZWQgc3RhdGUgb2YgYSBncm91cC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYlJlcXVpcmVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUmVxdWlyZWRNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlTyxNQUFNLG1CQUFtQixDQUc5QixlQUNpRDtNQUNsQyxzQkFBa0IsTUFBQTs7c0JBQVM7OztBQUEzQixXQUFBLG1CQUEyQixZQUFVO0FBQUE7O0FBVzFDLGFBQUEsYUFYSyxrQkFBQSxNQUFBLDBCQUFBLEdBV2dCO0FBQUEsTUFrQi9CO0FBQUE7QUFBQSxNQTFCRSxJQUFXLFNBQVMsT0FBYztBQUdoQyxhQUFLLFlBQVksUUFBUSxLQUFLO0FBQUEsTUFDaEM7QUFBQSxNQUNBLElBQVcsV0FBUTtBQUNqQixlQUFPLEtBQUssYUFBYSxLQUFLLHFCQUFBO0FBQUEsTUFDaEM7QUFBQSxNQUdtQixXQUFXLG1CQUF1QztBQUNuRSxjQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFlBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBRXJDLGVBQUssVUFBVSxlQUFlLEdBQUcsS0FBSyxRQUFRO0FBQUEsUUFDaEQ7QUFBQSxNQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQU1VLHVCQUFvQjtBQUM1QixlQUFPO0FBQUEsTUFDVDtBQUFBLElBQUE7O2tDQTFCQyxTQUFTLEVBQUUsU0FBUyxNQUFNLE1BQU0sUUFBQSxDQUFTLENBQUM7QUFDM0MsbUJBQUEsSUFBQSxNQUFBLDBCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsWUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxjQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQVcsV0FBUTtBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLDBCQUFBOztVQUhOO0FBQUE7QUErQmYsU0FBTztBQUNUOyJ9
@@ -0,0 +1,23 @@
1
+ import { LitElement } from 'lit';
2
+ import { SbbCheckboxGroupElement } from '../../checkbox/checkbox-group.js';
3
+ import { SbbRadioButtonGroupElement } from '../../radio-button/radio-button-group.js';
4
+ import { SbbStateChange } from '../interfaces/types.js';
5
+ import { AbstractConstructor } from './constructor.js';
6
+ import { SbbElementInternalsMixinType } from './element-internals-mixin.js';
7
+ export declare class SbbSelectionPanelMixinType {
8
+ accessor color: 'white' | 'milk';
9
+ accessor borderless: boolean;
10
+ protected set checked(checked: boolean);
11
+ protected get checked(): boolean;
12
+ protected set disabled(disabled: boolean);
13
+ protected get disabled(): boolean;
14
+ protected group: SbbRadioButtonGroupElement | SbbCheckboxGroupElement | null;
15
+ protected sizeAttributeObserver: MutationObserver | null;
16
+ protected initFromInput(event: Event): void;
17
+ protected onInputStateChange(event: CustomEvent<SbbStateChange>): void;
18
+ }
19
+ /**
20
+ * Mixin for common selection panel behaviors
21
+ */
22
+ export declare const SbbSelectionPanelMixin: <T extends AbstractConstructor<LitElement>>(superClass: T) => AbstractConstructor<SbbSelectionPanelMixinType & SbbElementInternalsMixinType> & T;
23
+ //# sourceMappingURL=selection-panel-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-panel-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/selection-panel-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAGhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAG3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,SAAgB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,SAAgB,UAAU,EAAE,OAAO,CAAC;IAEpC,SAAS,KAAK,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;IACxC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC;IAEjC,SAAS,KAAK,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC1C,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC;IAElC,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAC7E,SAAS,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEzD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAC3C,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI;CACvE;AAED;;GAEG;AAEH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EAC9E,YAAY,CAAC,KACZ,mBAAmB,CAAC,0BAA0B,GAAG,4BAA4B,CAAC,GAAG,CA8FnF,CAAC"}
@@ -0,0 +1,120 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
+ import { isServer } from "lit";
10
+ import { property } from "lit/decorators.js";
11
+ import { forceType } from "../decorators.js";
12
+ import { SbbElementInternalsMixin } from "./element-internals-mixin.js";
13
+ const SbbSelectionPanelMixin = (superClass) => {
14
+ let SbbSelectionPanelElement = (() => {
15
+ var _color_accessor_storage, _borderless_accessor_storage, _a;
16
+ let _classSuper = SbbElementInternalsMixin(superClass);
17
+ let _color_decorators;
18
+ let _color_initializers = [];
19
+ let _color_extraInitializers = [];
20
+ let _borderless_decorators;
21
+ let _borderless_initializers = [];
22
+ let _borderless_extraInitializers = [];
23
+ return _a = class extends _classSuper {
24
+ constructor(...args) {
25
+ super(args);
26
+ __privateAdd(this, _color_accessor_storage);
27
+ __privateAdd(this, _borderless_accessor_storage);
28
+ __privateSet(this, _color_accessor_storage, __runInitializers(this, _color_initializers, "white"));
29
+ __privateSet(this, _borderless_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _borderless_initializers, false)));
30
+ this.group = (__runInitializers(this, _borderless_extraInitializers), null);
31
+ this.sizeAttributeObserver = !isServer ? new MutationObserver((mutationsList) => this._onSizeAttributesChange(mutationsList)) : null;
32
+ this.addEventListener?.("panelconnected", (e) => this.initFromInput(e));
33
+ }
34
+ /** The background color of the panel. */
35
+ get color() {
36
+ return __privateGet(this, _color_accessor_storage);
37
+ }
38
+ set color(value) {
39
+ __privateSet(this, _color_accessor_storage, value);
40
+ }
41
+ /** Whether the unselected panel has a border. */
42
+ get borderless() {
43
+ return __privateGet(this, _borderless_accessor_storage);
44
+ }
45
+ set borderless(value) {
46
+ __privateSet(this, _borderless_accessor_storage, value);
47
+ }
48
+ /** Whether the selection panel is checked. */
49
+ set checked(checked) {
50
+ this.toggleState("checked", checked);
51
+ }
52
+ get checked() {
53
+ return this.internals.states.has("checked");
54
+ }
55
+ /** Whether the selection panel is disabled. */
56
+ set disabled(disabled) {
57
+ this.toggleState("disabled", disabled);
58
+ }
59
+ get disabled() {
60
+ return this.internals.states.has("disabled");
61
+ }
62
+ connectedCallback() {
63
+ super.connectedCallback();
64
+ this.group = this.closest("sbb-radio-button-group, sbb-checkbox-group");
65
+ }
66
+ disconnectedCallback() {
67
+ super.disconnectedCallback();
68
+ this.sizeAttributeObserver?.disconnect();
69
+ }
70
+ initFromInput(event) {
71
+ const input = event.target;
72
+ this.checked = input.checked;
73
+ this.disabled = input.disabled;
74
+ this.sizeAttributeObserver?.disconnect();
75
+ this.sizeAttributeObserver?.observe(input, { attributeFilter: ["size"] });
76
+ }
77
+ onInputStateChange(event) {
78
+ if (event.detail.type === "disabled") {
79
+ this.disabled = event.detail.disabled;
80
+ } else if (event.detail.type === "checked") {
81
+ this.checked = event.detail.checked;
82
+ }
83
+ }
84
+ /**
85
+ * Set the data-size in two cases:
86
+ * - if there's no group, so the size change comes directly from a change on the inner panel;
87
+ * - if there's a wrapper group and its size changes, syncing it with the panel size.
88
+ *
89
+ * On the other hand, if there's a wrapper group and the size changes on the inner panel, the data-size doesn't change.
90
+ */
91
+ _onSizeAttributesChange(mutationsList) {
92
+ for (const mutation of mutationsList) {
93
+ if (mutation.attributeName === "size") {
94
+ const group = this.group;
95
+ const size = mutation.target.getAttribute("size");
96
+ if (!group || group.size === size) {
97
+ this.setAttribute("data-size", size);
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }, _color_accessor_storage = new WeakMap(), _borderless_accessor_storage = new WeakMap(), (() => {
103
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
104
+ _color_decorators = [property({ reflect: true })];
105
+ _borderless_decorators = [forceType(), property({ reflect: true, type: Boolean })];
106
+ __esDecorate(_a, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: (obj) => "color" in obj, get: (obj) => obj.color, set: (obj, value) => {
107
+ obj.color = value;
108
+ } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
109
+ __esDecorate(_a, null, _borderless_decorators, { kind: "accessor", name: "borderless", static: false, private: false, access: { has: (obj) => "borderless" in obj, get: (obj) => obj.borderless, set: (obj, value) => {
110
+ obj.borderless = value;
111
+ } }, metadata: _metadata }, _borderless_initializers, _borderless_extraInitializers);
112
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
113
+ })(), _a;
114
+ })();
115
+ return SbbSelectionPanelElement;
116
+ };
117
+ export {
118
+ SbbSelectionPanelMixin
119
+ };
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvc2VsZWN0aW9uLXBhbmVsLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jaGVja2JveC9jaGVja2JveC1ncm91cC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vLi4vY2hlY2tib3gvY2hlY2tib3gtcGFuZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4uLy4uL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uLy4uL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tcGFuZWwuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0YXRlQ2hhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHtcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICB0eXBlIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG59IGZyb20gJy4vZWxlbWVudC1pbnRlcm5hbHMtbWl4aW4uanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJTZWxlY3Rpb25QYW5lbE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJztcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHNldCBjaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4pO1xuICBwcm90ZWN0ZWQgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTtcbiAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBncm91cDogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGw7XG4gIHByb3RlY3RlZCBzaXplQXR0cmlidXRlT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuXG4gIHByb3RlY3RlZCBpbml0RnJvbUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBvbklucHV0U3RhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYlN0YXRlQ2hhbmdlPik6IHZvaWQ7XG59XG5cbi8qKlxuICogTWl4aW4gZm9yIGNvbW1vbiBzZWxlY3Rpb24gcGFuZWwgYmVoYXZpb3JzXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJTZWxlY3Rpb25QYW5lbE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiU2VsZWN0aW9uUGFuZWxNaXhpblR5cGUgJiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJTZWxlY3Rpb25QYW5lbEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJTZWxlY3Rpb25QYW5lbE1peGluVHlwZT5cbiAge1xuICAgIC8qKiBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgcGFuZWwuICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVuc2VsZWN0ZWQgcGFuZWwgaGFzIGEgYm9yZGVyLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYm9yZGVybGVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBwYW5lbCBpcyBjaGVja2VkLiAqL1xuICAgIHByb3RlY3RlZCBzZXQgY2hlY2tlZChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjaGVja2VkJywgY2hlY2tlZCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBwYW5lbCBpcyBkaXNhYmxlZC4gKi9cbiAgICBwcm90ZWN0ZWQgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlZCcsIGRpc2FibGVkKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5zdGF0ZXMuaGFzKCdkaXNhYmxlZCcpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBncm91cDogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHNpemVBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSkgPT5cbiAgICAgICAgICB0aGlzLl9vblNpemVBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICAgICAgICApXG4gICAgICA6IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKGFyZ3MpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BhbmVsY29ubmVjdGVkJywgKGUpID0+IHRoaXMuaW5pdEZyb21JbnB1dChlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuZ3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1yYWRpby1idXR0b24tZ3JvdXAsIHNiYi1jaGVja2JveC1ncm91cCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLnNpemVBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0RnJvbUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgfCBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudDtcblxuICAgICAgdGhpcy5jaGVja2VkID0gaW5wdXQuY2hlY2tlZDtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBpbnB1dC5kaXNhYmxlZDtcbiAgICAgIHRoaXMuc2l6ZUF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgaW5uZXIgcGFuZWwgY2FuIGNoYW5nZSBkdWUgZGlyZWN0IGNoYW5nZSBvbiB0aGUgcGFuZWwgb3IgZHVlIHRvIGNoYW5nZSBvZiB0aGUgaW5wdXQtZ3JvdXAgc2l6ZS5cbiAgICAgIHRoaXMuc2l6ZUF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKGlucHV0LCB7IGF0dHJpYnV0ZUZpbHRlcjogWydzaXplJ10gfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXRTdGF0ZUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQ8U2JiU3RhdGVDaGFuZ2U+KTogdm9pZCB7XG4gICAgICBpZiAoZXZlbnQuZGV0YWlsLnR5cGUgPT09ICdkaXNhYmxlZCcpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGV2ZW50LmRldGFpbC5kaXNhYmxlZDtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGV0YWlsLnR5cGUgPT09ICdjaGVja2VkJykge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBldmVudC5kZXRhaWwuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGRhdGEtc2l6ZSBpbiB0d28gY2FzZXM6XG4gICAgICogLSBpZiB0aGVyZSdzIG5vIGdyb3VwLCBzbyB0aGUgc2l6ZSBjaGFuZ2UgY29tZXMgZGlyZWN0bHkgZnJvbSBhIGNoYW5nZSBvbiB0aGUgaW5uZXIgcGFuZWw7XG4gICAgICogLSBpZiB0aGVyZSdzIGEgd3JhcHBlciBncm91cCBhbmQgaXRzIHNpemUgY2hhbmdlcywgc3luY2luZyBpdCB3aXRoIHRoZSBwYW5lbCBzaXplLlxuICAgICAqXG4gICAgICogT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoZXJlJ3MgYSB3cmFwcGVyIGdyb3VwIGFuZCB0aGUgc2l6ZSBjaGFuZ2VzIG9uIHRoZSBpbm5lciBwYW5lbCwgdGhlIGRhdGEtc2l6ZSBkb2Vzbid0IGNoYW5nZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vblNpemVBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ3NpemUnKSB7XG4gICAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgICAgICAgIGNvbnN0IHNpemUgPSAobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ3NpemUnKSE7XG4gICAgICAgICAgaWYgKCFncm91cCB8fCBncm91cC5zaXplID09PSBzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYlNlbGVjdGlvblBhbmVsRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8XG4gICAgU2JiU2VsZWN0aW9uUGFuZWxNaXhpblR5cGUgJiBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlXG4gID4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXFDTyxNQUFNLHlCQUF5QixDQUNwQyxlQUNzRjtNQUN2RSw0QkFBd0IsTUFBQTs7c0JBQzdCLHlCQUF5QixVQUFVOzs7Ozs7O0FBRDlCLFdBQUEsbUJBQ0wsWUFBb0M7QUFBQSxN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