@sbb-esta/lyne-elements 1.10.0 → 1.11.1

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 (285) hide show
  1. package/autocomplete/autocomplete.d.ts.map +1 -1
  2. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  4. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid-button.js +32 -28
  6. package/autocomplete-grid/autocomplete-grid.js +16 -17
  7. package/autocomplete.js +23 -24
  8. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  9. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  10. package/breadcrumb/breadcrumb-group.js +25 -24
  11. package/button/button/button.d.ts +1 -1
  12. package/button/button-link/button-link.d.ts +1 -1
  13. package/button/button-link.js +14 -14
  14. package/button/button.js +9 -9
  15. package/button/mini-button/mini-button.d.ts +1 -1
  16. package/button/mini-button/mini-button.d.ts.map +1 -1
  17. package/button/mini-button.js +15 -17
  18. package/button/secondary-button/secondary-button.d.ts +1 -1
  19. package/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  20. package/button/secondary-button-link.js +15 -15
  21. package/button/secondary-button.js +6 -6
  22. package/button/tertiary-button/tertiary-button.d.ts +1 -1
  23. package/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  24. package/button/tertiary-button-link.js +12 -12
  25. package/button/tertiary-button.js +13 -13
  26. package/button/transparent-button/transparent-button.d.ts +1 -1
  27. package/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  28. package/button/transparent-button-link.js +15 -15
  29. package/button/transparent-button.js +8 -8
  30. package/card/card-badge/card-badge.d.ts.map +1 -1
  31. package/card/card-badge.js +7 -9
  32. package/card/common/card-action-common.d.ts.map +1 -1
  33. package/card/common.js +24 -25
  34. package/container/sticky-bar/sticky-bar.d.ts +0 -1
  35. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  36. package/container/sticky-bar.js +20 -20
  37. package/core/a11y/arrow-navigation.d.ts.map +1 -1
  38. package/core/a11y.js +46 -47
  39. package/core/base-elements/action-base-element.d.ts +1 -0
  40. package/core/base-elements/action-base-element.d.ts.map +1 -1
  41. package/core/base-elements/link-base-element.d.ts.map +1 -1
  42. package/core/base-elements.js +52 -49
  43. package/core/controllers/language-controller.d.ts.map +1 -1
  44. package/core/controllers.js +22 -23
  45. package/core/dom/get-document-writing-mode.d.ts +3 -0
  46. package/core/dom/get-document-writing-mode.d.ts.map +1 -1
  47. package/core/mixins/disabled-mixin.d.ts +9 -4
  48. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  49. package/core/mixins.js +68 -58
  50. package/core/observers/intersection-observer.d.ts +6 -0
  51. package/core/observers/intersection-observer.d.ts.map +1 -1
  52. package/core/observers/mutation-observer.d.ts +6 -0
  53. package/core/observers/mutation-observer.d.ts.map +1 -1
  54. package/core/observers/resize-observer.d.ts +6 -0
  55. package/core/observers/resize-observer.d.ts.map +1 -1
  56. package/core/styles/core.scss +23 -0
  57. package/core/styles/mixins/overlay.scss +2 -2
  58. package/core.css +23 -0
  59. package/custom-elements.json +1268 -159
  60. package/datepicker/datepicker/datepicker.d.ts +1 -1
  61. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  62. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  63. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  64. package/datepicker/datepicker-toggle.js +36 -45
  65. package/datepicker/datepicker.js +34 -35
  66. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  67. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  68. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  69. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  70. package/development/autocomplete-grid/autocomplete-grid-button.js +17 -15
  71. package/development/autocomplete-grid/autocomplete-grid.js +2 -3
  72. package/development/autocomplete.js +4 -5
  73. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  74. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  75. package/development/breadcrumb/breadcrumb-group.js +9 -8
  76. package/development/button/button/button.d.ts +1 -1
  77. package/development/button/button-link/button-link.d.ts +1 -1
  78. package/development/button/button-link.js +3 -3
  79. package/development/button/button.js +3 -3
  80. package/development/button/mini-button/mini-button.d.ts +1 -1
  81. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  82. package/development/button/mini-button.js +3 -5
  83. package/development/button/secondary-button/secondary-button.d.ts +1 -1
  84. package/development/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  85. package/development/button/secondary-button-link.js +3 -3
  86. package/development/button/secondary-button.js +3 -3
  87. package/development/button/tertiary-button/tertiary-button.d.ts +1 -1
  88. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  89. package/development/button/tertiary-button-link.js +3 -3
  90. package/development/button/tertiary-button.js +3 -3
  91. package/development/button/transparent-button/transparent-button.d.ts +1 -1
  92. package/development/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  93. package/development/button/transparent-button-link.js +3 -3
  94. package/development/button/transparent-button.js +3 -3
  95. package/development/card/card-badge/card-badge.d.ts.map +1 -1
  96. package/development/card/card-badge.js +3 -5
  97. package/development/card/common/card-action-common.d.ts.map +1 -1
  98. package/development/card/common.js +8 -10
  99. package/development/container/sticky-bar/sticky-bar.d.ts +0 -1
  100. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  101. package/development/container/sticky-bar.js +8 -9
  102. package/development/core/a11y/arrow-navigation.d.ts.map +1 -1
  103. package/development/core/a11y.js +2 -3
  104. package/development/core/base-elements/action-base-element.d.ts +1 -0
  105. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  106. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  107. package/development/core/base-elements.js +7 -4
  108. package/development/core/controllers/language-controller.d.ts.map +1 -1
  109. package/development/core/controllers.js +9 -4
  110. package/development/core/dom/get-document-writing-mode.d.ts +3 -0
  111. package/development/core/dom/get-document-writing-mode.d.ts.map +1 -1
  112. package/development/core/dom.js +1 -1
  113. package/development/core/mixins/disabled-mixin.d.ts +9 -4
  114. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  115. package/development/core/mixins.js +25 -9
  116. package/development/core/observers/intersection-observer.d.ts +6 -0
  117. package/development/core/observers/intersection-observer.d.ts.map +1 -1
  118. package/development/core/observers/mutation-observer.d.ts +6 -0
  119. package/development/core/observers/mutation-observer.d.ts.map +1 -1
  120. package/development/core/observers/resize-observer.d.ts +6 -0
  121. package/development/core/observers/resize-observer.d.ts.map +1 -1
  122. package/development/core/observers.js +1 -1
  123. package/development/datepicker/datepicker/datepicker.d.ts +1 -1
  124. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  125. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  126. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  127. package/development/datepicker/datepicker-toggle.js +2 -12
  128. package/development/datepicker/datepicker.js +6 -7
  129. package/development/dialog/dialog/dialog.d.ts +0 -1
  130. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  131. package/development/dialog/dialog.js +10 -10
  132. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  133. package/development/expansion-panel/expansion-panel-header.js +3 -3
  134. package/development/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  135. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  136. package/development/flip-card/flip-card-details.js +10 -22
  137. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  138. package/development/form-field/form-field.js +11 -12
  139. package/development/header/common.js +42 -21
  140. package/development/header/header/header.d.ts +2 -0
  141. package/development/header/header/header.d.ts.map +1 -1
  142. package/development/header/header.js +12 -1
  143. package/development/journey-header/journey-header.d.ts.map +1 -1
  144. package/development/journey-header.js +3 -4
  145. package/development/link/block-link-button/block-link-button.d.ts +1 -1
  146. package/development/link/block-link-button.js +3 -3
  147. package/development/link/link-button/link-button.d.ts +1 -1
  148. package/development/link/link-button.js +3 -3
  149. package/development/logo.js +2 -4
  150. package/development/map-container/map-container.d.ts +8 -5
  151. package/development/map-container/map-container.d.ts.map +1 -1
  152. package/development/map-container.js +31 -34
  153. package/development/menu/common/menu-action-common.d.ts +1 -2
  154. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  155. package/development/menu/common.js +1 -1
  156. package/development/menu/menu/menu.d.ts.map +1 -1
  157. package/development/menu/menu-button/menu-button.d.ts +1 -1
  158. package/development/menu/menu-button.js +3 -3
  159. package/development/menu/menu-link/menu-link.d.ts +1 -1
  160. package/development/menu/menu-link/menu-link.d.ts.map +1 -1
  161. package/development/menu/menu-link.js +5 -2
  162. package/development/menu/menu.js +4 -2
  163. package/development/navigation/navigation/navigation.d.ts +1 -1
  164. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  165. package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  166. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  167. package/development/navigation/navigation-marker.js +8 -15
  168. package/development/navigation/navigation.js +13 -10
  169. package/development/notification/notification.d.ts +0 -1
  170. package/development/notification/notification.d.ts.map +1 -1
  171. package/development/notification.js +11 -13
  172. package/development/option/optgroup/optgroup-base-element.d.ts +0 -2
  173. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  174. package/development/option/optgroup.js +9 -14
  175. package/development/option/option/option-base-element.d.ts +0 -3
  176. package/development/option/option/option-base-element.d.ts.map +1 -1
  177. package/development/option/option.js +6 -10
  178. package/development/popover/popover-trigger/popover-trigger.d.ts +1 -1
  179. package/development/popover/popover-trigger.js +3 -3
  180. package/development/select/select.d.ts.map +1 -1
  181. package/development/select.js +4 -5
  182. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  183. package/development/selection-expansion-panel.js +10 -9
  184. package/development/signet/signet.d.ts +4 -1
  185. package/development/signet/signet.d.ts.map +1 -1
  186. package/development/signet.js +37 -8
  187. package/development/slider/slider.d.ts.map +1 -1
  188. package/development/slider.js +12 -10
  189. package/development/stepper/step/step.d.ts +1 -2
  190. package/development/stepper/step/step.d.ts.map +1 -1
  191. package/development/stepper/step.js +9 -14
  192. package/development/table/table-wrapper/table-wrapper.d.ts +0 -1
  193. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  194. package/development/table/table-wrapper.js +7 -7
  195. package/development/tabs/tab-group/tab-group.d.ts +0 -1
  196. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  197. package/development/tabs/tab-group.js +19 -18
  198. package/development/tag/tag/tag.d.ts +1 -1
  199. package/development/tag/tag.js +3 -3
  200. package/development/toggle/toggle/toggle.d.ts +0 -1
  201. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  202. package/development/toggle/toggle-option.js +2 -2
  203. package/development/toggle/toggle.js +7 -7
  204. package/development/train/train-formation/train-formation.d.ts +1 -2
  205. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  206. package/development/train/train-formation.js +10 -8
  207. package/dialog/dialog/dialog.d.ts +0 -1
  208. package/dialog/dialog/dialog.d.ts.map +1 -1
  209. package/dialog/dialog.js +16 -17
  210. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  211. package/expansion-panel/expansion-panel-header.js +1 -1
  212. package/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  213. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  214. package/flip-card/flip-card-details.js +20 -28
  215. package/form-field/form-field/form-field.d.ts.map +1 -1
  216. package/form-field/form-field.js +26 -27
  217. package/header/common.js +3 -3
  218. package/header/header/header.d.ts +2 -0
  219. package/header/header/header.d.ts.map +1 -1
  220. package/header/header.js +21 -18
  221. package/journey-header/journey-header.d.ts.map +1 -1
  222. package/journey-header.js +14 -15
  223. package/link/block-link-button/block-link-button.d.ts +1 -1
  224. package/link/block-link-button.js +10 -10
  225. package/link/link-button/link-button.d.ts +1 -1
  226. package/link/link-button.js +4 -4
  227. package/logo.js +1 -1
  228. package/map-container/map-container.d.ts +8 -5
  229. package/map-container/map-container.d.ts.map +1 -1
  230. package/map-container.js +35 -37
  231. package/menu/common/menu-action-common.d.ts +1 -2
  232. package/menu/common/menu-action-common.d.ts.map +1 -1
  233. package/menu/menu/menu.d.ts.map +1 -1
  234. package/menu/menu-button/menu-button.d.ts +1 -1
  235. package/menu/menu-button.js +13 -13
  236. package/menu/menu-link/menu-link.d.ts +1 -1
  237. package/menu/menu-link/menu-link.d.ts.map +1 -1
  238. package/menu/menu-link.js +15 -12
  239. package/menu/menu.js +9 -7
  240. package/navigation/navigation/navigation.d.ts +1 -1
  241. package/navigation/navigation/navigation.d.ts.map +1 -1
  242. package/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  243. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  244. package/navigation/navigation-marker.js +17 -22
  245. package/navigation/navigation.js +40 -34
  246. package/notification/notification.d.ts +0 -1
  247. package/notification/notification.d.ts.map +1 -1
  248. package/notification.js +17 -18
  249. package/option/optgroup/optgroup-base-element.d.ts +0 -2
  250. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  251. package/option/optgroup.js +31 -33
  252. package/option/option/option-base-element.d.ts +0 -3
  253. package/option/option/option-base-element.d.ts.map +1 -1
  254. package/option/option.js +16 -18
  255. package/package.json +3 -2
  256. package/popover/popover-trigger/popover-trigger.d.ts +1 -1
  257. package/popover/popover-trigger.js +1 -1
  258. package/select/select.d.ts.map +1 -1
  259. package/select.js +14 -15
  260. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  261. package/selection-expansion-panel.js +25 -24
  262. package/signet/signet.d.ts +4 -1
  263. package/signet/signet.d.ts.map +1 -1
  264. package/signet.js +34 -23
  265. package/slider/slider.d.ts.map +1 -1
  266. package/slider.js +5 -5
  267. package/standard-theme.css +23 -0
  268. package/stepper/step/step.d.ts +1 -2
  269. package/stepper/step/step.d.ts.map +1 -1
  270. package/stepper/step.js +19 -24
  271. package/table/table-wrapper/table-wrapper.d.ts +0 -1
  272. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  273. package/table/table-wrapper.js +19 -18
  274. package/tabs/tab-group/tab-group.d.ts +0 -1
  275. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  276. package/tabs/tab-group.js +37 -33
  277. package/tag/tag/tag.d.ts +1 -1
  278. package/tag/tag.js +19 -19
  279. package/toggle/toggle/toggle.d.ts +0 -1
  280. package/toggle/toggle/toggle.d.ts.map +1 -1
  281. package/toggle/toggle-option.js +1 -1
  282. package/toggle/toggle.js +32 -31
  283. package/train/train-formation/train-formation.d.ts +1 -2
  284. package/train/train-formation/train-formation.d.ts.map +1 -1
  285. package/train/train-formation.js +23 -22
@@ -1,7 +1,7 @@
1
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
1
2
  import { css, LitElement } from "lit";
2
- import { property, state, customElement } from "lit/decorators.js";
3
+ import { property, customElement } from "lit/decorators.js";
3
4
  import { SbbNamedSlotListMixin } from "../core/mixins.js";
4
- import { AgnosticResizeObserver } from "../core/observers.js";
5
5
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
6
6
  /*
7
7
  * SBB table mixin
@@ -113,15 +113,16 @@ var __decorateClass = (decorators, target, key, kind) => {
113
113
  };
114
114
  let SbbNavigationMarkerElement = class extends SbbNamedSlotListMixin(LitElement) {
115
115
  constructor() {
116
- super(...arguments);
116
+ super();
117
117
  this.listChildLocalNames = [
118
118
  "sbb-navigation-button",
119
119
  "sbb-navigation-link"
120
120
  ];
121
121
  this.size = "l";
122
- this._navigationMarkerResizeObserver = new AgnosticResizeObserver(
123
- () => this._setMarkerPosition()
124
- );
122
+ new ResizeController(this, {
123
+ skipInitial: true,
124
+ callback: () => this._setMarkerPosition()
125
+ });
125
126
  }
126
127
  willUpdate(changedProperties) {
127
128
  super.willUpdate(changedProperties);
@@ -141,7 +142,6 @@ let SbbNavigationMarkerElement = class extends SbbNamedSlotListMixin(LitElement)
141
142
  }
142
143
  connectedCallback() {
143
144
  super.connectedCallback();
144
- this._navigationMarkerResizeObserver.observe(this);
145
145
  this._checkActiveAction();
146
146
  }
147
147
  _checkActiveAction() {
@@ -152,10 +152,6 @@ let SbbNavigationMarkerElement = class extends SbbNamedSlotListMixin(LitElement)
152
152
  this.select(activeAction);
153
153
  }
154
154
  }
155
- disconnectedCallback() {
156
- super.disconnectedCallback();
157
- this._navigationMarkerResizeObserver.disconnect();
158
- }
159
155
  select(action) {
160
156
  if (!action) {
161
157
  return;
@@ -198,13 +194,10 @@ SbbNavigationMarkerElement.styles = style;
198
194
  __decorateClass([
199
195
  property({ reflect: true })
200
196
  ], SbbNavigationMarkerElement.prototype, "size", 2);
201
- __decorateClass([
202
- state()
203
- ], SbbNavigationMarkerElement.prototype, "_currentActiveAction", 2);
204
197
  SbbNavigationMarkerElement = __decorateClass([
205
198
  customElement("sbb-navigation-marker")
206
199
  ], SbbNavigationMarkerElement);
207
200
  export {
208
201
  SbbNavigationMarkerElement
209
202
  };
210
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24tbWFya2VyL25hdmlnYXRpb24tbWFya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLW1hcmtlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2Agd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLW1hcmtlcmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItbmF2aWdhdGlvbi1tYXJrZXInKVxuZXhwb3J0IGNsYXNzIFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFxuICBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCxcbiAgdHlwZW9mIExpdEVsZW1lbnRcbj4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWJ1dHRvbicsXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWxpbmsnLFxuICBdO1xuXG4gIC8qKlxuICAgKiBNYXJrZXIgc2l6ZSB2YXJpYW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZT86ICdsJyB8ICdzJyA9ICdsJztcblxuICBAc3RhdGUoKSBwcml2YXRlIF9jdXJyZW50QWN0aXZlQWN0aW9uPzogU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbk1hcmtlclJlc2l6ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIoKCkgPT5cbiAgICB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpLFxuICApO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZU1hcmtlckFjdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLWFjdGl2ZS1hY3Rpb24nLCAhIXRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTWFya2VyQWN0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiB0aGlzLmxpc3RDaGlsZHJlbikge1xuICAgICAgYWN0aW9uLnNpemUgPSB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbiA9IHRoaXMubGlzdENoaWxkcmVuLmZpbmQoKGFjdGlvbikgPT5cbiAgICAgIGFjdGlvbi5oYXNBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpLFxuICAgICk7XG4gICAgdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX25hdmlnYXRpb25NYXJrZXJSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaykuc2JiLWFjdGl2ZScsXG4gICAgKSBhcyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudDtcbiAgICBpZiAoYWN0aXZlQWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdChhY3RpdmVBY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX25hdmlnYXRpb25NYXJrZXJSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGFjdGlvbjogU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoIWFjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgYWN0aW9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJywgdHJ1ZSk7XG4gICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbiA9IGFjdGlvbjtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbikge1xuICAgICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpO1xuICAgICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbi5jb25uZWN0ZWRTZWN0aW9uPy5jbG9zZSgpO1xuICAgICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleCA9IHRoaXMubGlzdENoaWxkcmVuLmluZGV4T2YodGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbikhO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPEhUTUxMSUVsZW1lbnQ+KFxuICAgICAgYGxpOm50aC1jaGlsZCgke2luZGV4ICsgMX0pYCxcbiAgICApPy5vZmZzZXRUb3A7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1uYXZpZ2F0aW9uLW1hcmtlci1wb3NpdGlvbi15JywgYCR7dmFsdWV9cHhgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJMaXN0KCk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLW1hcmtlcic6IFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24tbWFya2VyL25hdmlnYXRpb24tbWFya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1tYXJrZXIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIHdpdGhpbiBhIGBzYmItbmF2aWdhdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIGVsZW1lbnRzIGludG8gdGhlIGBzYmItbmF2aWdhdGlvbi1tYXJrZXJgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tbWFya2VyJylcbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogTWFya2VyIHNpemUgdmFyaWFudC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU/OiAnbCcgfCAncycgPSAnbCc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2ZUFjdGlvbj86IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZU1hcmtlckFjdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLWFjdGl2ZS1hY3Rpb24nLCAhIXRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTWFya2VyQWN0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiB0aGlzLmxpc3RDaGlsZHJlbikge1xuICAgICAgYWN0aW9uLnNpemUgPSB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbiA9IHRoaXMubGlzdENoaWxkcmVuLmZpbmQoKGFjdGlvbikgPT5cbiAgICAgIGFjdGlvbi5oYXNBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScpLFxuICAgICk7XG4gICAgdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaykuc2JiLWFjdGl2ZScsXG4gICAgKSBhcyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudDtcbiAgICBpZiAoYWN0aXZlQWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdChhY3RpdmVBY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoYWN0aW9uOiBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmVzZXQoKTtcbiAgICBhY3Rpb24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnLCB0cnVlKTtcbiAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gYWN0aW9uO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSB7XG4gICAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJyk7XG4gICAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uLmNvbm5lY3RlZFNlY3Rpb24/LmNsb3NlKCk7XG4gICAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldE1hcmtlclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0Q2hpbGRyZW4uaW5kZXhPZih0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSE7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTExJRWxlbWVudD4oXG4gICAgICBgbGk6bnRoLWNoaWxkKCR7aW5kZXggKyAxfSlgLFxuICAgICk/Lm9mZnNldFRvcDtcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLW5hdmlnYXRpb24tbWFya2VyLXBvc2l0aW9uLXknLCBgJHt2YWx1ZX1weGApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLnJlbmRlckxpc3QoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5hdmlnYXRpb24tbWFya2VyJzogU2JiTmF2aWdhdGlvbk1hcmtlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCTyxJQUFNLDZCQUFOLGNBQXlDLHNCQUc5QyxVQUFVLEVBQUU7QUFBQSxFQWNMLGNBQWM7QUFDYjtBQWJSLFNBQTRCLHNCQUFzQjtBQUFBLE1BQ2hEO0FBQUEsTUFDQTtBQUFBLElBQUE7QUFNMkIsU0FBTyxP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
@@ -1,3 +1,5 @@
1
+ import { MutationController } from "@lit-labs/observers/mutation-controller.js";
2
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
1
3
  import { css, html } from "lit";
2
4
  import { property, state, customElement } from "lit/decorators.js";
3
5
  import { ref } from "lit/directives/ref.js";
@@ -8,7 +10,6 @@ import { hostAttributes } from "../core/decorators.js";
8
10
  import { SbbScrollHandler, findReferencedElement } from "../core/dom.js";
9
11
  import { i18nCloseNavigation } from "../core/i18n.js";
10
12
  import { SbbUpdateSchedulerMixin } from "../core/mixins.js";
11
- import { AgnosticMutationObserver, AgnosticResizeObserver } from "../core/observers.js";
12
13
  import { isEventOnElement, removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes } from "../core/overlay.js";
13
14
  import "../button/transparent-button.js";
14
15
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
@@ -300,7 +301,7 @@ let nextId = 0;
300
301
  const DEBOUNCE_TIME = 150;
301
302
  let SbbNavigationElement = class extends SbbUpdateSchedulerMixin(SbbOpenCloseBaseElement) {
302
303
  constructor() {
303
- super(...arguments);
304
+ super();
304
305
  this._trigger = null;
305
306
  this._activeNavigationSection = null;
306
307
  this._triggerElement = null;
@@ -311,10 +312,10 @@ let SbbNavigationElement = class extends SbbUpdateSchedulerMixin(SbbOpenCloseBas
311
312
  this._scrollHandler = new SbbScrollHandler();
312
313
  this._isPointerDownEventOnNavigation = false;
313
314
  this._resizeObserverTimeout = null;
314
- this._navigationObserver = new AgnosticMutationObserver(
315
- (mutationsList) => this._onNavigationSectionChange(mutationsList)
316
- );
317
- this._navigationResizeObserver = new AgnosticResizeObserver(() => this._onNavigationResize());
315
+ this._navigationResizeObserver = new ResizeController(this, {
316
+ skipInitial: true,
317
+ callback: () => this._onNavigationResize()
318
+ });
318
319
  this._trapFocusFilter = (el) => {
319
320
  return el.nodeName !== "SBB-NAVIGATION-SECTION" || el.getAttribute("data-state") === "opened";
320
321
  };
@@ -332,6 +333,11 @@ let SbbNavigationElement = class extends SbbUpdateSchedulerMixin(SbbOpenCloseBas
332
333
  this.close();
333
334
  }
334
335
  };
336
+ new MutationController(this, {
337
+ skipInitial: true,
338
+ config: navigationObserverConfig,
339
+ callback: (mutationsList) => this._onNavigationSectionChange(mutationsList)
340
+ });
335
341
  }
336
342
  set trigger(value) {
337
343
  const oldValue = this._trigger;
@@ -517,7 +523,6 @@ let SbbNavigationElement = class extends SbbUpdateSchedulerMixin(SbbOpenCloseBas
517
523
  const signal = this._abort.signal;
518
524
  this.addEventListener("click", (e) => this._handleNavigationClose(e), { signal });
519
525
  this._configure(this.trigger);
520
- this._navigationObserver.observe(this, navigationObserverConfig);
521
526
  this.addEventListener("pointerup", (event) => this._closeOnBackdropClick(event), { signal });
522
527
  this.addEventListener("pointerdown", (event) => this._pointerDownListener(event), { signal });
523
528
  }
@@ -527,8 +532,6 @@ let SbbNavigationElement = class extends SbbUpdateSchedulerMixin(SbbOpenCloseBas
527
532
  (_a = this._navigationController) == null ? void 0 : _a.abort();
528
533
  (_b = this._windowEventsController) == null ? void 0 : _b.abort();
529
534
  this._focusHandler.disconnect();
530
- this._navigationObserver.disconnect();
531
- this._navigationResizeObserver.disconnect();
532
535
  this._scrollHandler.enableScroll();
533
536
  }
534
537
  render() {
@@ -587,4 +590,4 @@ SbbNavigationElement = __decorateClass([
587
590
  export {
588
591
  SbbNavigationElement
589
592
  };
590
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiRm9jdXNIYW5kbGVyLCBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgZmluZFJlZmVyZW5jZWRFbGVtZW50LCBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlTmF2aWdhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlciwgQWdub3N0aWNSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uLy4uL2NvcmUvb2JzZXJ2ZXJzLmpzJztcbmltcG9ydCB7XG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3RyYW5zcGFyZW50LWJ1dHRvbi5qcyc7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXR0cmlidXRlIHRvIGxvb2sgYXQgaWYgYSBuYXZpZ2F0aW9uIHNlY3Rpb24gaXMgZGlzcGxheWVkICovXG5jb25zdCBuYXZpZ2F0aW9uT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBzdWJ0cmVlOiB0cnVlLFxuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1zdGF0ZSddLFxufTtcblxubGV0IG5leHRJZCA9IDA7XG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbmF2aWdhdGlvbiBtZW51LCB3cmFwcGluZyBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tKmAgY29tcG9uZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgc2JiLW5hdmlnYXRpb24gbWVudS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbmF2aWdhdGlvbmAgYmVnaW5zIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItbmF2aWdhdGlvbi16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItbmF2aWdhdGlvbicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAnbmF2aWdhdGlvbicsXG59KVxuZXhwb3J0IGNsYXNzIFNiYk5hdmlnYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uLlxuICAgKiBBY2NlcHRzIGJvdGggYSBzdHJpbmcgKGlkIG9mIGFuIGVsZW1lbnQpIG9yIGFuIEhUTUwgZWxlbWVudC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdHJpZ2dlcih2YWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl90cmlnZ2VyO1xuICAgIHRoaXMuX3RyaWdnZXIgPSB2YWx1ZTtcbiAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcih0aGlzLl90cmlnZ2VyLCBvbGRWYWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCB0cmlnZ2VyKCk6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI7XG4gIH1cbiAgcHJpdmF0ZSBfdHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pIHB1YmxpYyBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDpcbiAgICB8IHN0cmluZ1xuICAgIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgbmF2aWdhdGlvbiBzZWN0aW9uIGlzIGRpc3BsYXllZC5cbiAgICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24oKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb247XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0aW9uITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX25hdmlnYXRpb25Db250ZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbkNvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9pbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c0hhbmRsZXIgPSBuZXcgU2JiRm9jdXNIYW5kbGVyKCk7XG4gIHByaXZhdGUgX3Njcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKSA9PlxuICAgIHRoaXMuX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gICk7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMuX29uTmF2aWdhdGlvblJlc2l6ZSgpKTtcblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMuX25hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb25zKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVTZWN0aW9uKCk7XG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuXG4gICAgLy8gRGlzYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcihcbiAgICBuZXdWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIG9sZFZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZSh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmUodHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudCh0cmlnZ2VyKTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fbmF2aWdhdGlvbkNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhcEZvY3VzRmlsdGVyID0gKGVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBlbC5ub2RlTmFtZSAhPT0gJ1NCQi1OQVZJR0FUSU9OLVNFQ1RJT04nIHx8IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpID09PSAnb3BlbmVkJztcbiAgfTtcblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci50cmFwKHRoaXMsIHsgZmlsdGVyOiB0aGlzLl90cmFwRm9jdXNGaWx0ZXIgfSk7XG4gICAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25Gb2N1cygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICAgIHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudC5zY3JvbGxUbygwLCAwKTtcbiAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICAgIC8vIFRvIGVuYWJsZSBmb2N1c2luZyBvdGhlciBlbGVtZW50IHRoYW4gdGhlIHRyaWdnZXIsIHdlIG5lZWQgdG8gY2FsbCBmb2N1cygpIGEgc2Vjb25kIHRpbWUuXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICAgIHRoaXMuX3Jlc2V0TWFya2VycygpO1xuICAgICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG5cbiAgICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspW2RhdGEtYWN0aW9uLWFjdGl2ZV06bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hXaW5kb3dFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5fb25LZXlkb3duRXZlbnQoZXZlbnQpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvc2VkUGF0aEVsZW1lbnRzID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KTtcbiAgICBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzQ2xvc2VFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLW5hdmlnYXRpb24tY2xvc2UnKSAmJiAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpXG4gICAgKTtcbiAgfVxuXG4gIC8vIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBvbiBcIkVzY1wiIGtleSBwcmVzc2VkLlxuICBwcml2YXRlIF9vbktleWRvd25FdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0TmF2aWdhdGlvbkZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhjbG9zZUJ1dHRvbik7XG4gICAgY2xvc2VCdXR0b24uZm9jdXMoKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBuYXZpZ2F0aW9uLlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb24gPVxuICAgICAgaXNFdmVudE9uRWxlbWVudCh0aGlzLl9uYXZpZ2F0aW9uLCBldmVudCkgfHxcbiAgICAgIGlzRXZlbnRPbkVsZW1lbnQoXG4gICAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnc2JiLW5hdmlnYXRpb24tc2VjdGlvbltkYXRhLXN0YXRlPVwib3BlbmVkXCJdJyxcbiAgICAgICAgKT8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignbmF2LnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nKSBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgZXZlbnQsXG4gICAgICApO1xuICB9O1xuXG4gIC8vIENsb3NlIG5hdmlnYXRpb24gb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLl9uYXZpZ2F0aW9uLCBldmVudCkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gT2JzZXJ2ZSBjaGFuZ2VzIG9uIG5hdmlnYXRpb24gc2VjdGlvbiBkYXRhLXN0YXRlLlxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25TZWN0aW9uQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmICgobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5ub2RlTmFtZSA9PT0gJ1NCQi1OQVZJR0FUSU9OLVNFQ1RJT04nKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuaW5nXCJdLCBzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl0nLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtbmF2aWdhdGlvbi1zZWN0aW9uJywgISF0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25OYXZpZ2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdGhlIG5hdmlnYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbmF2aWdhdGlvbi0ke25leHRJZCsrfWA7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGUpLCB7IHNpZ25hbCB9KTtcbiAgICAvLyBWYWxpZGF0ZSB0cmlnZ2VyIGVsZW1lbnQgYW5kIGF0dGFjaCBldmVudCBsaXN0ZW5lcnNcbiAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCBuYXZpZ2F0aW9uT2JzZXJ2ZXJDb25maWcpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2ZW50KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldmVudCksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZm9jdXNIYW5kbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VOYXZpZ2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgIG5lZ2F0aXZlXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLW5hdmlnYXRpb24tY2xvc2VcbiAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uXCJcbiAgICAgICAgICAke3JlZigobmF2aWdhdGlvblJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9uYXZpZ2F0aW9uID0gbmF2aWdhdGlvblJlZiBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19oZWFkZXJcIj4ke2Nsb3NlQnV0dG9ufTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250ZW50XCJcbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNsb3QgbmFtZT1cIm5hdmlnYXRpb24tc2VjdGlvblwiPjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uJzogU2JiTmF2aWdhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsTUFBTSwyQkFBaUQ7QUFBQSxFQUNyRCxTQUFTO0FBQUEsRUFDVCxpQkFBaUIsQ0FBQyxZQUFZO0FBQ2hDO0FBRUEsSUFBSSxTQUFTO0FBQ2IsTUFBTSxnQkFBZ0I7QUFrQmYsSUFBTSx1QkFBTixjQUFtQyx3QkFBd0IsdUJBQXVCLEVBQUU7QUFBQSxFQUFwRixjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFnQkwsU0FBUSxXQUF3QztBQVl2QyxTQUFRLDJCQUErQztBQVFoRSxTQUFRLGtCQUFzQztBQUd0QyxTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUM3QyxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUMxQyxTQUFBLG1CQUFtQixJQUFJLG1CQUFtQixJQUFJO0FBQzlDLFNBQUEsZ0JBQWdCLElBQUk7QUFDcEIsU0FBQSxpQkFBaUIsSUFBSTtBQUM3QixTQUFRLGtDQUEyQztBQUNuRCxTQUFRLHlCQUErRDtBQUN2RSxTQUFRLHNCQUFzQixJQUFJO0FBQUEsTUFBeUIsQ0FBQyxrQkFDMUQsS0FBSywyQkFBMkIsYUFBYTtBQUFBLElBQUE7QUFFL0MsU0FBUSw0QkFBNEIsSUFBSSx1QkFBdUIsTUFBTSxLQUFLLHFCQUFxQjtBQXVGdkYsU0FBQSxtQkFBbUIsQ0FBQyxPQUE2QjtBQUN2RCxhQUFPLEdBQUcsYUFBYSw0QkFBNEIsR0FBRyxhQUFhLFlBQVksTUFBTTtBQUFBLElBQUE7QUFrRi9FLFNBQUEsdUJBQXVCLENBQUMsVUFBOEI7O0FBQzVELFdBQUssa0NBQ0gsaUJBQWlCLEtBQUssYUFBYSxLQUFLLEtBQ3hDO0FBQUEsU0FDRSxnQkFBSztBQUFBLFVBQ0g7QUFBQSxRQUFBLE1BREYsbUJBRUcsZUFGSCxtQkFFZSxjQUFjO0FBQUEsUUFDN0I7QUFBQSxNQUFBO0FBQUEsSUFDRjtBQUlJLFNBQUEsd0JBQXdCLENBQUMsVUFBOEI7QUFDekQsVUFBQSxDQUFDLEtBQUssbUNBQW1DLENBQUMsaUJBQWlCLEtBQUssYUFBYSxLQUFLLEdBQUc7QUFDdkYsYUFBSyxNQUFNO0FBQUEsTUFDYjtBQUFBLElBQUE7QUFBQSxFQUNGO0FBQUEsRUFuT0EsSUFBVyxRQUFRLE9BQW9DO0FBQ3JELFVBQU0sV0FBVyxLQUFLO0FBQ3RCLFNBQUssV0FBVztBQUNYLFNBQUEsNEJBQTRCLEtBQUssVUFBVSxRQUFRO0FBQUEsRUFDMUQ7QUFBQSxFQUNBLElBQVcsVUFBdUM7QUFDaEQsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBZUEsSUFBVywwQkFBOEM7QUFDdkQsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0JPLE9BQWE7O0FBQ2xCLFFBQUksS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLLGFBQWE7QUFDaEQ7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssU0FBUyxRQUFRO0FBQ3pCO0FBQUEsSUFDRjtBQUNBLFNBQUssUUFBUTtBQUNiLFNBQUssb0JBQW9CO0FBQ3pCLFNBQUssb0JBQW9CO0FBQ3pCLFNBQUssWUFBWTtBQUdqQixTQUFLLGVBQWU7QUFDZixlQUFBLG9CQUFBLG1CQUFpQixhQUFhLGlCQUFpQjtBQUFBLEVBQ3REO0FBQUEsRUFFUSxzQkFBNEI7O0FBQ2xDLFVBQU0sZUFBZSxLQUFLO0FBQUEsTUFDeEI7QUFBQSxJQUFBO0FBRUYsdURBQWMscUJBQWQsbUJBQWdDO0FBQUEsRUFDbEM7QUFBQSxFQUVRLHNCQUE0QjtBQUNsQyxVQUFNLGdCQUFnQixNQUFNO0FBQUEsTUFDMUIsS0FBSyxpQkFBaUIsNERBQTREO0FBQUEsSUFBQTtBQUVwRixtREFBZSxRQUFRLENBQUMsV0FBVzs7QUFBQSwwQkFBTyxXQUFQLG1CQUFlLE9BQU87QUFBQTtBQUFBLEVBQzNEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxRQUFjOztBQUNmLFFBQUEsS0FBSyxVQUFVLFVBQVU7QUFDM0I7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssVUFBVSxRQUFRO0FBQzFCO0FBQUEsSUFDRjtBQUNBLFNBQUssUUFBUTtBQUNiLFNBQUssWUFBWTtBQUNaLGVBQUEsb0JBQUEsbUJBQWlCLGFBQWEsaUJBQWlCO0FBQUEsRUFDdEQ7QUFBQTtBQUFBLEVBR1EsNEJBQ04sVUFDQSxVQUNNOztBQUNOLFFBQUksYUFBYSxVQUFVO0FBQ3pCLGlCQUFLLDBCQUFMLG1CQUE0QjtBQUM1QixpQkFBSyw0QkFBTCxtQkFBOEI7QUFDekIsV0FBQSxXQUFXLEtBQUssT0FBTztBQUFBLElBQzlCO0FBQUEsRUFDRjtBQUFBO0FBQUEsRUFHUSxXQUFXLFNBQTRDOztBQUM3RCx1Q0FBbUMsS0FBSyxlQUFlO0FBRXZELFFBQUksQ0FBQyxTQUFTO0FBQ1o7QUFBQSxJQUNGO0FBRUssU0FBQSxrQkFBa0Isc0JBQXNCLE9BQU87QUFFaEQsUUFBQSxDQUFDLEtBQUssaUJBQWlCO0FBQ3pCO0FBQUEsSUFDRjtBQUVBLG9DQUFnQyxLQUFLLGlCQUFpQixRQUFRLEtBQUssSUFBSSxLQUFLLEtBQUs7QUFDakYsZUFBSywwQkFBTCxtQkFBNEI7QUFDdkIsU0FBQSx3QkFBd0IsSUFBSTtBQUNqQyxTQUFLLGdCQUFnQixpQkFBaUIsU0FBUyxNQUFNLEtBQUssUUFBUTtBQUFBLE1BQ2hFLFFBQVEsS0FBSyxzQkFBc0I7QUFBQSxJQUFBLENBQ3BDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQSxFQVFRLGdCQUFnQixPQUE2Qjs7QUFDbkQsUUFBSSxNQUFNLGtCQUFrQixVQUFVLEtBQUssVUFBVSxXQUFXO0FBQzlELFdBQUssUUFBUTtBQUNiLFdBQUssUUFBUTtBQUNSLFdBQUEsMEJBQTBCLFFBQVEsSUFBSTtBQUMzQyxXQUFLLGlCQUFpQjtBQUN0QixXQUFLLGNBQWMsS0FBSyxNQUFNLEVBQUUsUUFBUSxLQUFLLGtCQUFrQjtBQUMvRCxXQUFLLG9CQUFvQjtBQUN6QixXQUFLLG9CQUFvQjtBQUFBLElBQUEsV0FDaEIsTUFBTSxrQkFBa0IsV0FBVyxLQUFLLFVBQVUsV0FBVztBQUN0RSxXQUFLLFFBQVE7QUFDUixXQUFBLDBCQUEwQixTQUFTLEdBQUcsQ0FBQztBQUM1Qyw2QkFBdUIsS0FBSyxlQUFlO0FBQzNDLFdBQUssaUJBQWlCO0FBRXRCLGlCQUFLLG9CQUFMLG1CQUFzQjtBQUN0QixXQUFLLFNBQVM7QUFDVCxXQUFBLDBCQUEwQixVQUFVLElBQUk7QUFDN0MsV0FBSyxjQUFjO0FBQ25CLGlCQUFLLDRCQUFMLG1CQUE4QjtBQUM5QixXQUFLLGNBQWM7QUFHbkIsV0FBSyxlQUFlO0lBQ3RCO0FBQ0EsU0FBSyxlQUFlO0FBQUEsRUFDdEI7QUFBQSxFQUVRLGdCQUFzQjtBQUM1QixVQUFNLGdCQUFnQixNQUFNO0FBQUEsTUFDMUIsS0FBSztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFBQTtBQUVGLG1EQUFlLFFBQVEsQ0FBQyxXQUFBOztBQUFXLDBCQUFPLFdBQVAsbUJBQWU7QUFBQTtBQUFBLEVBQ3BEO0FBQUEsRUFFUSxzQkFBNEI7QUFDN0IsU0FBQSwwQkFBMEIsSUFBSTtBQUNuQyxXQUFPLGlCQUFpQixXQUFXLENBQUMsVUFBeUIsS0FBSyxnQkFBZ0IsS0FBSyxHQUFHO0FBQUEsTUFDeEYsUUFBUSxLQUFLLHdCQUF3QjtBQUFBLElBQUEsQ0FDdEM7QUFBQSxFQUNIO0FBQUEsRUFFUSx1QkFBdUIsT0FBb0I7QUFDM0MsVUFBQSx1QkFBdUIsTUFDMUIsZUFDQSxPQUFPLENBQUMsT0FBTyxjQUFjLE9BQU8sV0FBVztBQUM5QyxRQUFBLHFCQUFxQixLQUFLLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFpQixDQUFDLEdBQUc7QUFDOUUsV0FBSyxNQUFNO0FBQUEsSUFDYjtBQUFBLEVBQ0Y7QUFBQSxFQUVRLGdCQUFnQixTQUErQjtBQUVuRCxXQUFBLFFBQVEsYUFBYSxPQUNwQixRQUFRLGFBQWEsc0JBQXNCLEtBQUssQ0FBQyxRQUFRLGFBQWEsVUFBVTtBQUFBLEVBRXJGO0FBQUE7QUFBQSxFQUdRLGdCQUFnQixPQUE0QjtBQUNsRCxRQUFJLEtBQUssVUFBVSxZQUFZLE1BQU0sUUFBUSxVQUFVO0FBQ3JELFdBQUssTUFBTTtBQUFBLElBQ2I7QUFBQSxFQUNGO0FBQUE7QUFBQSxFQUdRLHNCQUE0QjtBQUM1QixVQUFBLGNBQWMsS0FBSyxXQUFZO0FBQUEsTUFDbkM7QUFBQSxJQUFBO0FBRUYsMkJBQXVCLFdBQVc7QUFDbEMsZ0JBQVksTUFBTTtBQUFBLEVBQ3BCO0FBQUE7QUFBQSxFQXNCUSwyQkFBMkIsZUFBdUM7QUFDeEUsZUFBVyxZQUFZLGVBQWU7QUFDL0IsVUFBQSxTQUFTLE9BQXVCLGFBQWEsMEJBQTBCO0FBQzFFLGFBQUssMkJBQTJCLEtBQUs7QUFBQSxVQUNuQztBQUFBLFFBQUE7QUFFRixhQUFLLGdCQUFnQiwrQkFBK0IsQ0FBQyxDQUFDLEtBQUssd0JBQXdCO0FBQUEsTUFDckY7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRVEsc0JBQTRCO0FBQzlCLFFBQUEsS0FBSyxVQUFVLFVBQVU7QUFDM0I7QUFBQSxJQUNGO0FBRUEsUUFBSSxLQUFLLHdCQUF3QjtBQUMvQixtQkFBYSxLQUFLLHNCQUFzQjtBQUFBLElBQzFDO0FBRUssU0FBQSxnQkFBZ0IsaUNBQWlDLElBQUk7QUFHMUQsU0FBSyx5QkFBeUI7QUFBQSxNQUM1QixNQUFNLEtBQUssZ0JBQWdCLCtCQUErQjtBQUFBLE1BQzFEO0FBQUEsSUFBQTtBQUFBLEVBRUo7QUFBQSxFQUVnQixvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbkIsU0FBQSxPQUFBLEtBQUEsS0FBTyxrQkFBa0IsUUFBUTtBQUNoQyxVQUFBLFNBQVMsS0FBSyxPQUFPO0FBQ3RCLFNBQUEsaUJBQWlCLFNBQVMsQ0FBQyxNQUFNLEtBQUssdUJBQXVCLENBQUMsR0FBRyxFQUFFLE9BQUEsQ0FBUTtBQUUzRSxTQUFBLFdBQVcsS0FBSyxPQUFPO0FBQ3ZCLFNBQUEsb0JBQW9CLFFBQVEsTUFBTSx3QkFBd0I7QUFDMUQsU0FBQSxpQkFBaUIsYUFBYSxDQUFDLFVBQVUsS0FBSyxzQkFBc0IsS0FBSyxHQUFHLEVBQUUsT0FBQSxDQUFRO0FBQ3RGLFNBQUEsaUJBQWlCLGVBQWUsQ0FBQyxVQUFVLEtBQUsscUJBQXFCLEtBQUssR0FBRyxFQUFFLE9BQUEsQ0FBUTtBQUFBLEVBQzlGO0FBQUEsRUFFZ0IsdUJBQTZCOztBQUMzQyxVQUFNLHFCQUFxQjtBQUMzQixlQUFLLDBCQUFMLG1CQUE0QjtBQUM1QixlQUFLLDRCQUFMLG1CQUE4QjtBQUM5QixTQUFLLGNBQWM7QUFDbkIsU0FBSyxvQkFBb0I7QUFDekIsU0FBSywwQkFBMEI7QUFDL0IsU0FBSyxlQUFlO0VBQ3RCO0FBQUEsRUFFbUIsU0FBeUI7QUFDMUMsVUFBTSxjQUFjO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBSUgsS0FBSywyQkFBMkIsb0JBQW9CLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVXJGLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwwQkFJZSxDQUFDLFVBQTBCLEtBQUssZ0JBQWdCLEtBQUssQ0FBQztBQUFBO0FBQUEsWUFFcEUsSUFBSSxDQUFDLGtCQUE2QixLQUFLLGNBQWMsYUFBZ0MsQ0FBQztBQUFBO0FBQUEsZ0RBRWxELFdBQVc7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFJM0MsSUFBSSxDQUFDLE9BQWtCLEtBQUssNEJBQTRCLEVBQWtCLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTekY7QUFDRjtBQXRVYSxxQkFDWSxTQUF5QjtBQU9yQyxnQkFBQTtBQUFBLEVBRFYsU0FBUztBQUFBLEdBUEMscUJBUUEsV0FBQSxXQUFBLENBQUE7QUFha0QsZ0JBQUE7QUFBQSxFQUE1RCxTQUFTLEVBQUUsV0FBVyw2QkFBNkI7QUFBQSxHQXJCekMscUJBcUJrRCxXQUFBLDJCQUFBLENBQUE7QUFPNUMsZ0JBQUE7QUFBQSxFQUFoQixNQUFNO0FBQUEsR0E1QkkscUJBNEJNLFdBQUEsNEJBQUEsQ0FBQTtBQTVCTix1QkFBTixnQkFBQTtBQUFBLEVBSk4sY0FBYyxnQkFBZ0I7QUFBQSxFQUM5QixlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSxvQkFBQTsifQ==
593
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzSGFuZGxlciwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQge1xuICBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGZpbmRSZWZlcmVuY2VkRWxlbWVudCwgU2JiU2Nyb2xsSGFuZGxlciB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5hdmlnYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuXG4vKiogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGF0IGlmIGEgbmF2aWdhdGlvbiBzZWN0aW9uIGlzIGRpc3BsYXllZCAqL1xuY29uc3QgbmF2aWdhdGlvbk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgc3VidHJlZTogdHJ1ZSxcbiAgYXR0cmlidXRlRmlsdGVyOiBbJ2RhdGEtc3RhdGUnXSxcbn07XG5cbmxldCBuZXh0SWQgPSAwO1xuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIG5hdmlnYXRpb24gbWVudSwgd3JhcHBpbmcgb25lIG9yIG1vcmUgYHNiYi1uYXZpZ2F0aW9uLSpgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIGVsZW1lbnRzIGludG8gdGhlIHNiYi1uYXZpZ2F0aW9uIG1lbnUuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGJlZ2lucyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbmF2aWdhdGlvbmAgaXMgb3BlbmVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbmF2aWdhdGlvbmAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbmF2aWdhdGlvbmAgaXMgY2xvc2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW5hdmlnYXRpb24tei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbi5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5fdHJpZ2dlcjtcbiAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gICAgdGhpcy5fcmVtb3ZlVHJpZ2dlckNsaWNrTGlzdGVuZXIodGhpcy5fdHJpZ2dlciwgb2xkVmFsdWUpO1xuICB9XG4gIHB1YmxpYyBnZXQgdHJpZ2dlcigpOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyO1xuICB9XG4gIHByaXZhdGUgX3RyaWdnZXI6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6XG4gICAgfCBzdHJpbmdcbiAgICB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbiE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25Db250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF93aW5kb3dFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNIYW5kbGVyID0gbmV3IFNiYkZvY3VzSGFuZGxlcigpO1xuICBwcml2YXRlIF9zY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5hdmlnYXRpb25SZXNpemUoKSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgICAgY29uZmlnOiBuYXZpZ2F0aW9uT2JzZXJ2ZXJDb25maWcsXG4gICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+IHRoaXMuX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMuX25hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb25zKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVTZWN0aW9uKCk7XG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuXG4gICAgLy8gRGlzYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyQ2xpY2tMaXN0ZW5lcihcbiAgICBuZXdWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIG9sZFZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZSh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmUodHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudCh0cmlnZ2VyKTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25Db250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fbmF2aWdhdGlvbkNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhcEZvY3VzRmlsdGVyID0gKGVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBlbC5ub2RlTmFtZSAhPT0gJ1NCQi1OQVZJR0FUSU9OLVNFQ1RJT04nIHx8IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpID09PSAnb3BlbmVkJztcbiAgfTtcblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci50cmFwKHRoaXMsIHsgZmlsdGVyOiB0aGlzLl90cmFwRm9jdXNGaWx0ZXIgfSk7XG4gICAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICAgIHRoaXMuX3NldE5hdmlnYXRpb25Gb2N1cygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICAgIHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudC5zY3JvbGxUbygwLCAwKTtcbiAgICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICAgIC8vIFRvIGVuYWJsZSBmb2N1c2luZyBvdGhlciBlbGVtZW50IHRoYW4gdGhlIHRyaWdnZXIsIHdlIG5lZWQgdG8gY2FsbCBmb2N1cygpIGEgc2Vjb25kIHRpbWUuXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICAgIHRoaXMuX3Jlc2V0TWFya2VycygpO1xuICAgICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG5cbiAgICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspW2RhdGEtYWN0aW9uLWFjdGl2ZV06bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hXaW5kb3dFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5fb25LZXlkb3duRXZlbnQoZXZlbnQpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvc2VkUGF0aEVsZW1lbnRzID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KTtcbiAgICBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzQ2xvc2VFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLW5hdmlnYXRpb24tY2xvc2UnKSAmJiAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpXG4gICAgKTtcbiAgfVxuXG4gIC8vIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBvbiBcIkVzY1wiIGtleSBwcmVzc2VkLlxuICBwcml2YXRlIF9vbktleWRvd25FdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0TmF2aWdhdGlvbkZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhjbG9zZUJ1dHRvbik7XG4gICAgY2xvc2VCdXR0b24uZm9jdXMoKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBuYXZpZ2F0aW9uLlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb24gPVxuICAgICAgaXNFdmVudE9uRWxlbWVudCh0aGlzLl9uYXZpZ2F0aW9uLCBldmVudCkgfHxcbiAgICAgIGlzRXZlbnRPbkVsZW1lbnQoXG4gICAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnc2JiLW5hdmlnYXRpb24tc2VjdGlvbltkYXRhLXN0YXRlPVwib3BlbmVkXCJdJyxcbiAgICAgICAgKT8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignbmF2LnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nKSBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgZXZlbnQsXG4gICAgICApO1xuICB9O1xuXG4gIC8vIENsb3NlIG5hdmlnYXRpb24gb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLl9uYXZpZ2F0aW9uLCBldmVudCkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gT2JzZXJ2ZSBjaGFuZ2VzIG9uIG5hdmlnYXRpb24gc2VjdGlvbiBkYXRhLXN0YXRlLlxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25TZWN0aW9uQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmICgobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5ub2RlTmFtZSA9PT0gJ1NCQi1OQVZJR0FUSU9OLVNFQ1RJT04nKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuaW5nXCJdLCBzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl0nLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtbmF2aWdhdGlvbi1zZWN0aW9uJywgISF0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25OYXZpZ2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdGhlIG5hdmlnYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbmF2aWdhdGlvbi0ke25leHRJZCsrfWA7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGUpLCB7IHNpZ25hbCB9KTtcbiAgICAvLyBWYWxpZGF0ZSB0cmlnZ2VyIGVsZW1lbnQgYW5kIGF0dGFjaCBldmVudCBsaXN0ZW5lcnNcbiAgICB0aGlzLl9jb25maWd1cmUodGhpcy50cmlnZ2VyKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2ZW50KSwgeyBzaWduYWwgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzSGFuZGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VOYXZpZ2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgIG5lZ2F0aXZlXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLW5hdmlnYXRpb24tY2xvc2VcbiAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPVwic2JiLW5hdmlnYXRpb24tb3ZlcmxheVwiXG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uXCJcbiAgICAgICAgICAke3JlZigobmF2aWdhdGlvblJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9uYXZpZ2F0aW9uID0gbmF2aWdhdGlvblJlZiBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19oZWFkZXJcIj4ke2Nsb3NlQnV0dG9ufTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250ZW50XCJcbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX25hdmlnYXRpb25Db250ZW50RWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNsb3QgbmFtZT1cIm5hdmlnYXRpb24tc2VjdGlvblwiPjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uJzogU2JiTmF2aWdhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0JBLE1BQU0sMkJBQWlEO0FBQUEsRUFDckQsU0FBUztBQUFBLEVBQ1QsaUJBQWlCLENBQUMsWUFBWTtBQUNoQztBQUVBLElBQUksU0FBUztBQUNiLE1BQU0sZ0JBQWdCO0FBa0JmLElBQU0sdUJBQU4sY0FBbUMsd0JBQXdCLHVCQUF1QixFQUFFO0FBQUEsRUFtRGxGLGNBQWM7QUFDYjtBQXBDUixTQUFRLFdBQXdDO0FBWXZDLFNBQVEsMkJBQStDO0FBUWhFLFNBQVEsa0JBQXNDO0FBR3RDLFNBQUEsU0FBUyxJQUFJLDRCQUE0QixJQUFJO0FBQzdDLFNBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBQzFDLFNBQUEsbUJBQW1CLElBQUksbUJBQW1CLElBQUk7QUFDOUMsU0FBQSxnQkFBZ0IsSUFBSTtBQUNwQixTQUFBLGlCQUFpQixJQUFJO0FBQzdCLFNBQVEsa0NBQTJDO0FBQ25ELFNBQVEseUJBQStEO0FBQy9ELFNBQUEsNEJBQTRCLElBQUksaUJBQWlCLE1B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
@@ -54,7 +54,6 @@ export declare class SbbNotificationElement extends LitElement {
54
54
  close(): void;
55
55
  connectedCallback(): void;
56
56
  protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
57
- disconnectedCallback(): void;
58
57
  private _setNotificationHeight;
59
58
  private _onNotificationResize;
60
59
  private _onNotificationAnimationEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../src/elements/notification/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAShD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AAWrB;;;;;;;;;;;GAWG;AACH,qBAEa,sBAAuB,SAAQ,UAAU;IAEpD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,oCAAoC;IACA,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAU;IAEzF,wBAAwB;IACwC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtF,yFAAyF;IAC1C,UAAU,EAAE,aAAa,CAAO;IAE/E;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,mCAAmC;IACC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAO;IAE1D,8BAA8B;IACM,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAS;IAEzF,qCAAqC;IACrC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,oBAAoB,CAAe;IAC3C,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,2BAA2B,CAEjC;IAEF,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAGf;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAGd;IAEF,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAGhB;IAEF,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,KAAK;IAON,KAAK,IAAI,IAAI;IAOJ,iBAAiB,IAAI,IAAI;cAMhB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7E,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;cAOH,MAAM,IAAI,cAAc;CAuC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../src/elements/notification/notification.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAQhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AAWrB;;;;;;;;;;;GAWG;AACH,qBAEa,sBAAuB,SAAQ,UAAU;IAEpD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,oCAAoC;IACA,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAU;IAEzF,wBAAwB;IACwC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtF,yFAAyF;IAC1C,UAAU,EAAE,aAAa,CAAO;IAE/E;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,mCAAmC;IACC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAO;IAE1D,8BAA8B;IACM,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAS;IAEzF,qCAAqC;IACrC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,oBAAoB,CAAe;IAC3C,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,2BAA2B,CAIhC;IAEH,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAGf;IAEF,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAGd;IAEF,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAGhB;IAEF,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,KAAK;IAON,KAAK,IAAI,IAAI;IAOJ,iBAAiB,IAAI,IAAI;cAMhB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7F,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;cAOH,MAAM,IAAI,cAAc;CAuC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
@@ -1,10 +1,10 @@
1
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
1
2
  import { css, LitElement, html, nothing } from "lit";
2
3
  import { property, customElement } from "lit/decorators.js";
3
4
  import { SbbLanguageController } from "./core/controllers.js";
4
5
  import { slotState } from "./core/decorators.js";
5
6
  import { EventEmitter } from "./core/eventing.js";
6
7
  import { i18nCloseNotification } from "./core/i18n.js";
7
- import { AgnosticResizeObserver } from "./core/observers.js";
8
8
  import "./button/secondary-button.js";
9
9
  import "./divider.js";
10
10
  import "./icon.js";
@@ -65,24 +65,24 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
65
65
  /* Types */
66
66
  :host([type=info]) {
67
67
  --sbb-notification-type-color: var(--sbb-color-smoke);
68
- --sbb-notification-type-color-sass: #f9f9f9;
68
+ --sbb-notification-type-color-sass: rgb(249.3, 249.3, 249.3);
69
69
  --sbb-notification-icon-color: var(--sbb-notification-color);
70
70
  }
71
71
 
72
72
  :host([type=success]) {
73
73
  --sbb-notification-type-color: var(--sbb-color-green);
74
- --sbb-notification-type-color-sass: #f2f9f5;
74
+ --sbb-notification-type-color-sass: rgb(242.25, 249.15, 244.95);
75
75
  }
76
76
 
77
77
  :host([type=warn]) {
78
78
  --sbb-notification-type-color: var(--sbb-color-peach);
79
- --sbb-notification-type-color-sass: #fffcf2;
79
+ --sbb-notification-type-color-sass: rgb(254.85, 251.6, 242.25);
80
80
  --sbb-notification-icon-color: var(--sbb-notification-color);
81
81
  }
82
82
 
83
83
  :host([type=error]) {
84
84
  --sbb-notification-type-color: var(--sbb-color-red);
85
- --sbb-notification-type-color-sass: #fef2f2;
85
+ --sbb-notification-type-color-sass: rgb(254, 242.25, 242.25);
86
86
  }
87
87
 
88
88
  :host([size=s]) {
@@ -293,9 +293,11 @@ let SbbNotificationElement = class extends LitElement {
293
293
  this.animation = "all";
294
294
  this._resizeObserverTimeout = null;
295
295
  this._language = new SbbLanguageController(this);
296
- this._notificationResizeObserver = new AgnosticResizeObserver(
297
- () => this._onNotificationResize()
298
- );
296
+ this._notificationResizeObserver = new ResizeController(this, {
297
+ target: null,
298
+ skipInitial: true,
299
+ callback: () => this._onNotificationResize()
300
+ });
299
301
  this._willOpen = new EventEmitter(
300
302
  this,
301
303
  SbbNotificationElement.events.willOpen
@@ -346,10 +348,6 @@ let SbbNotificationElement = class extends LitElement {
346
348
  this._setNotificationHeight();
347
349
  this._open();
348
350
  }
349
- disconnectedCallback() {
350
- super.disconnectedCallback();
351
- this._notificationResizeObserver.disconnect();
352
- }
353
351
  _setNotificationHeight() {
354
352
  var _a;
355
353
  if (!((_a = this._notificationElement) == null ? void 0 : _a.scrollHeight)) {
@@ -461,4 +459,4 @@ SbbNotificationElement = __decorateClass([
461
459
  export {
462
460
  SbbNotificationElement
463
461
  };
464
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOb3RpZmljYXRpb24gfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi4vY29yZS9vYnNlcnZlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9ub3RpZmljYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uL2RpdmlkZXIuanMnO1xuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGlzIHRvIHByb3ZpZGUgYSBub3RpZmljYXRpb24gdGl0bGUgKG9wdGlvbmFsKS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBzdGFydHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLW5vdGlmaWNhdGlvbicpXG5Ac2xvdFN0YXRlKClcbmV4cG9ydCBjbGFzcyBTYmJOb3RpZmljYXRpb25FbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIC8vIEZJWE1FIGluaGVyaXRpbmcgZnJvbSBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL29wZW4td2MvY3VzdG9tLWVsZW1lbnRzLW1hbmlmZXN0L2lzc3Vlcy8yNTNcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHdpbGxPcGVuOiAnd2lsbE9wZW4nLFxuICAgIGRpZE9wZW46ICdkaWRPcGVuJyxcbiAgICB3aWxsQ2xvc2U6ICd3aWxsQ2xvc2UnLFxuICAgIGRpZENsb3NlOiAnZGlkQ2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyB0eXBlOiAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybicgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKiBDb250ZW50IG9mIHRpdGxlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1jb250ZW50JywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgdGl0bGVDb250ZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBMZXZlbCBvZiB0aXRsZSwgaXQgd2lsbCBiZSByZW5kZXJlZCBhcyBoZWFkaW5nIHRhZyAoZS5nLiBoMykuIERlZmF1bHRzIHRvIGxldmVsIDMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWxldmVsJyB9KSBwdWJsaWMgdGl0bGVMZXZlbDogU2JiVGl0bGVMZXZlbCA9ICczJztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbm90aWZpY2F0aW9uIGlzIHJlYWRvbmx5LlxuICAgKiBJbiByZWFkb25seSBtb2RlLCB0aGVyZSBpcyBubyBkaXNtaXNzIGJ1dHRvbiBvZmZlcmVkIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiAnbScgfCAncycgPSAnbSc7XG5cbiAgLyoqIFRoZSBlbmFibGVkIGFuaW1hdGlvbnMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFuaW1hdGlvbjogJ29wZW4nIHwgJ2Nsb3NlJyB8ICdhbGwnIHwgJ25vbmUnID0gJ2FsbCc7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbkVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX25vdGlmaWNhdGlvblJlc2l6ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIoKCkgPT5cbiAgICB0aGlzLl9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsT3BlbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLndpbGxPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGlzIG9wZW5lZC4gKi9cbiAgcHJpdmF0ZSBfZGlkT3BlbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZE9wZW4sXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uICovXG4gIHByaXZhdGUgX3dpbGxDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLndpbGxDbG9zZSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBjbG9zZWQuICovXG4gIHByaXZhdGUgX2RpZENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiTm90aWZpY2F0aW9uRWxlbWVudC5ldmVudHMuZGlkQ2xvc2UsXG4gICk7XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAgIHRoaXMuX3dpbGxPcGVuLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgICB0aGlzLl93aWxsQ2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG5cbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKTtcbiAgICB0aGlzLl9vcGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicsIHRydWUpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9kaWRPcGVuLmVtaXQoKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuX2RpZENsb3NlLmVtaXQoKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIlxuICAgICAgICBAYW5pbWF0aW9uZW5kPSR7KGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gdGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQpfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgIDxzYmItaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19pY29uXCJcbiAgICAgICAgICAgIG5hbWU9JHtub3RpZmljYXRpb25UeXBlcy5nZXQodGhpcy50eXBlKSF9XG4gICAgICAgICAgPjwvc2JiLWljb24+XG5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzYmItdGl0bGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190aXRsZVwiXG4gICAgICAgICAgICAgIGxldmVsPSR7dGhpcy50aXRsZUxldmVsfVxuICAgICAgICAgICAgICB2aXN1YWwtbGV2ZWw9JHt0aGlzLnNpemUgPT09ICdtJyA/ICc1JyA6ICc2J31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCI+JHt0aGlzLnRpdGxlQ29udGVudH08L3Nsb3Q+XG4gICAgICAgICAgICA8L3NiYi10aXRsZT5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAkeyF0aGlzLnJlYWRvbmx5XG4gICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPHNiYi1kaXZpZGVyIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlclwiIG9yaWVudGF0aW9uPVwidmVydGljYWxcIj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuY2xvc2UoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VOb3RpZmljYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2Nsb3NlXCJcbiAgICAgICAgICAgICAgICA+PC9zYmItc2Vjb25kYXJ5LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbm90aWZpY2F0aW9uJzogU2JiTm90aWZpY2F0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
462
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOb3RpZmljYXRpb24gfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25vdGlmaWNhdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgJy4uL2ljb24uanMnO1xuaW1wb3J0ICcuLi90aXRsZS5qcyc7XG5cbmNvbnN0IG5vdGlmaWNhdGlvblR5cGVzID0gbmV3IE1hcChbXG4gIFsnaW5mbycsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydzdWNjZXNzJywgJ2NpcmNsZS10aWNrLXNtYWxsJ10sXG4gIFsnd2FybicsICdjaXJjbGUtZXhjbGFtYXRpb24tcG9pbnQtc21hbGwnXSxcbiAgWydlcnJvcicsICdjaXJjbGUtY3Jvc3Mtc21hbGwnXSxcbl0pO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG1lc3NhZ2VzIHdoaWNoIHJlcXVpcmUgYSB1c2VyJ3MgYXR0ZW50aW9uIHdpdGhvdXQgaW50ZXJydXB0aW5nIGl0cyB0YXNrcy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBub3RpZmljYXRpb24gbWVzc2FnZS5cbiAqIEBzbG90IHRpdGxlIC0gVXNlIHRoaXMgdG8gcHJvdmlkZSBhIG5vdGlmaWNhdGlvbiB0aXRsZSAob3B0aW9uYWwpLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBzdGFydHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gZW5kcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIHN0YXJ0cy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gZW5kcy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luPTBdIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSBtYXJnaW4gaW4gb3JkZXIgdG8gZ2V0IGEgc21vb3RoZXIgYW5pbWF0aW9uLlxuICogU2VlIHN0eWxlIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItbm90aWZpY2F0aW9uJylcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgLy8gRklYTUUgaW5oZXJpdGluZyBmcm9tIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IHJlcXVpcmVzOiBodHRwczovL2dpdGh1Yi5jb20vb3Blbi13Yy9jdXN0b20tZWxlbWVudHMtbWFuaWZlc3QvaXNzdWVzLzI1M1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgd2lsbE9wZW46ICd3aWxsT3BlbicsXG4gICAgZGlkT3BlbjogJ2RpZE9wZW4nLFxuICAgIHdpbGxDbG9zZTogJ3dpbGxDbG9zZScsXG4gICAgZGlkQ2xvc2U6ICdkaWRDbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHR5cGU6ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuJyB8ICdlcnJvcicgPSAnaW5mbyc7XG5cbiAgLyoqIENvbnRlbnQgb2YgdGl0bGUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyB0aXRsZUNvbnRlbnQ/OiBzdHJpbmc7XG5cbiAgLyoqIExldmVsIG9mIHRpdGxlLCBpdCB3aWxsIGJlIHJlbmRlcmVkIGFzIGhlYWRpbmcgdGFnIChlLmcuIGgzKS4gRGVmYXVsdHMgdG8gbGV2ZWwgMy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pIHB1YmxpYyB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsID0gJzMnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBub3RpZmljYXRpb24gaXMgcmVhZG9ubHkuXG4gICAqIEluIHJlYWRvbmx5IG1vZGUsIHRoZXJlIGlzIG5vIGRpc21pc3MgYnV0dG9uIG9mZmVyZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU6ICdtJyB8ICdzJyA9ICdtJztcblxuICAvKiogVGhlIGVuYWJsZWQgYW5pbWF0aW9ucy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYW5pbWF0aW9uOiAnb3BlbicgfCAnY2xvc2UnIHwgJ2FsbCcgfCAnbm9uZScgPSAnYWxsJztcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzIFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItbm90aWZpY2F0aW9uYCBpcyBvcGVuZWQuICovXG4gIHByaXZhdGUgX2RpZE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy5kaWRPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1ub3RpZmljYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICBwcml2YXRlIF93aWxsQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJOb3RpZmljYXRpb25FbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQuZXZlbnRzLmRpZENsb3NlLFxuICApO1xuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgICAgdGhpcy5fd2lsbENsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgfHw9ICdjbG9zZWQnO1xuXG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXInLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgY29tcG9uZW50J3MgYHVwZGF0ZUNvbXBsZXRlYCBpbiBvcmRlciB0byBzZXQgdGhlIGNvcnJlY3RcbiAgICAvLyBoZWlnaHQgdG8gdGhlIG5vdGlmaWNhdGlvbiBlbGVtZW50LlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgdGhpcy5fb3BlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudD8uc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbkhlaWdodCA9IGAke3RoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1ub3RpZmljYXRpb24taGVpZ2h0Jywgbm90aWZpY2F0aW9uSGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZXNpemUtZGlzYWJsZS1hbmltYXRpb24nLCB0cnVlKTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG5cbiAgICAvLyBUbyBhdm9pZCBSZXNpemVPYnNlcnZlciBsb29wcywgd2Ugc2V0IHRoZSBoZWlnaHQgYSB0aWNrIGxhdGVyLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmluZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlLWhlaWdodCcpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fZGlkT3Blbi5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX193cmFwcGVyXCJcbiAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25cIj5cbiAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9faWNvblwiXG4gICAgICAgICAgICBuYW1lPSR7bm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhfVxuICAgICAgICAgID48L3NiYi1pY29uPlxuXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fdGl0bGVcIlxuICAgICAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbH1cbiAgICAgICAgICAgICAgdmlzdWFsLWxldmVsPSR7dGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNid9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgPC9zYmItdGl0bGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkb25seVxuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -8,12 +8,10 @@ export declare abstract class SbbOptgroupBaseElement extends SbbOptgroupBaseElem
8
8
  label: string;
9
9
  protected negative: boolean;
10
10
  private _inertAriaGroups;
11
- private _negativeObserver;
12
11
  protected abstract get options(): SbbOptionBaseElement[];
13
12
  constructor();
14
13
  connectedCallback(): void;
15
14
  protected willUpdate(changedProperties: PropertyValues<this>): void;
16
- disconnectedCallback(): void;
17
15
  protected abstract setAttributeFromParent(): void;
18
16
  protected abstract getAutocompleteParent(): SbbAutocompleteBaseElement | null;
19
17
  private _handleSlotchange;
@@ -1 +1 @@
1
- {"version":3,"file":"optgroup-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAKxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,kBAAkB,CAAC;;AAS1B,8BACsB,sBAAuB,SAAQ,2BAEpD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IACP,KAAK,EAAG,MAAM,CAAC;IAEzB,SAAS,CAAC,QAAQ,UAAS;IAE3B,OAAO,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,iBAAiB,CAAgE;IAEzF,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;;IAczC,iBAAiB,IAAI,IAAI;cAYtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5D,oBAAoB,IAAI,IAAI;IAK5C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;IAE7E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAY5C"}
1
+ {"version":3,"file":"optgroup-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup-base-element.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAIxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,kBAAkB,CAAC;;AAS1B,8BACsB,sBAAuB,SAAQ,2BAEpD;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IACP,KAAK,EAAG,MAAM,CAAC;IAEzB,SAAS,CAAC,QAAQ,UAAS;IAE3B,OAAO,CAAC,gBAAgB,CAAS;IAE1C,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;;IAsBzC,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;IAE7E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAY5C"}
@@ -1,9 +1,9 @@
1
1
  import { property, state, customElement } from "lit/decorators.js";
2
+ import { MutationController } from "@lit-labs/observers/mutation-controller.js";
2
3
  import { css, LitElement, html } from "lit";
3
4
  import { hostAttributes } from "../core/decorators.js";
4
5
  import { setOrRemoveAttribute, isSafari } from "../core/dom.js";
5
6
  import { SbbDisabledMixin, SbbHydrationMixin } from "../core/mixins.js";
6
- import { AgnosticMutationObserver } from "../core/observers.js";
7
7
  import "../divider.js";
8
8
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
9
9
  /*
@@ -104,7 +104,13 @@ let SbbOptgroupBaseElement = class extends SbbDisabledMixin(
104
104
  super();
105
105
  this.negative = false;
106
106
  this._inertAriaGroups = false;
107
- this._negativeObserver = new AgnosticMutationObserver(() => this._onNegativeChange());
107
+ new MutationController(this, {
108
+ config: {
109
+ attributes: true,
110
+ attributeFilter: ["data-negative"]
111
+ },
112
+ callback: () => this._onNegativeChange()
113
+ });
108
114
  if (inertAriaGroups) {
109
115
  if (this.hydrationRequired) {
110
116
  this.hydrationComplete.then(() => this._inertAriaGroups = inertAriaGroups);
@@ -114,14 +120,8 @@ let SbbOptgroupBaseElement = class extends SbbDisabledMixin(
114
120
  }
115
121
  }
116
122
  connectedCallback() {
117
- var _a;
118
123
  super.connectedCallback();
119
- (_a = this._negativeObserver) == null ? void 0 : _a.disconnect();
120
124
  this.setAttributeFromParent();
121
- this._negativeObserver.observe(this, {
122
- attributes: true,
123
- attributeFilter: ["data-negative"]
124
- });
125
125
  this._proxyGroupLabelToOptions();
126
126
  }
127
127
  willUpdate(changedProperties) {
@@ -136,11 +136,6 @@ let SbbOptgroupBaseElement = class extends SbbDisabledMixin(
136
136
  this._proxyGroupLabelToOptions();
137
137
  }
138
138
  }
139
- disconnectedCallback() {
140
- var _a;
141
- super.disconnectedCallback();
142
- (_a = this._negativeObserver) == null ? void 0 : _a.disconnect();
143
- }
144
139
  _handleSlotchange() {
145
140
  this.proxyDisabledToOptions();
146
141
  this._proxyGroupLabelToOptions();
@@ -255,4 +250,4 @@ export {
255
250
  SbbOptGroupElement,
256
251
  SbbOptgroupBaseElement
257
252
  };
258
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyIH0gZnJvbSAnLi4vLi4vY29yZS9vYnNlcnZlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGdyb3VwLWJhc2UtZWxlbWVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuQGhvc3RBdHRyaWJ1dGVzKHsgcm9sZTogIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBPcHRpb24gZ3JvdXAgbGFiZWwuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcml2YXRlIF9uZWdhdGl2ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcigoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCkpO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25CYXNlRWxlbWVudFtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9uZWdhdGl2ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVGcm9tUGFyZW50KCk7XG4gICAgdGhpcy5fbmVnYXRpdmVPYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1uZWdhdGl2ZSddLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZC50b1N0cmluZygpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wcm94eURpc2FibGVkVG9PcHRpb25zKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xhYmVsJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX25lZ2F0aXZlT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRBdHRyaWJ1dGVGcm9tUGFyZW50KCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRBdXRvY29tcGxldGVQYXJlbnQoKTogU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQgfCBudWxsO1xuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5wcm94eURpc2FibGVkVG9PcHRpb25zKCk7XG4gICAgdGhpcy5fcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlHcm91cExhYmVsVG9PcHRpb25zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnYXJpYS1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sYWJlbCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24uc2V0QXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJywgdGhpcy5sYWJlbCk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtbGFiZWwnKTtcbiAgICAgICAgb3B0aW9uLnJlcXVlc3RVcGRhdGU/LigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcm94eURpc2FibGVkVG9PcHRpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgb3B0aW9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hpZ2hsaWdodE9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlID0gdGhpcy5nZXRBdXRvY29tcGxldGVQYXJlbnQoKTtcbiAgICBpZiAoIWF1dG9jb21wbGV0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IGF1dG9jb21wbGV0ZS50cmlnZ2VyRWxlbWVudD8udmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiBvcHQuaGlnaGxpZ2h0KHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5lZ2F0aXZlQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMubmVnYXRpdmUgPSB0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19kaXZpZGVyXCI+XG4gICAgICAgIDxzYmItZGl2aWRlciA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfT48L3NiYi1kaXZpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19pY29uLXNwYWNlXCI+PC9kaXY+XG4gICAgICAgIDxzcGFuPiR7dGhpcy5sYWJlbH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cbiIsImltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi9vcHRpb24uanMnO1xuXG5pbXBvcnQgeyBTYmJPcHRncm91cEJhc2VFbGVtZW50IH0gZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuanMnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW9wdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLW9wdGdyb3VwYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1vcHRncm91cCcpXG5leHBvcnQgY2xhc3MgU2JiT3B0R3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCB7XG4gIHByb3RlY3RlZCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItb3B0aW9uJykgPz8gW10pIGFzIFNiYk9wdGlvbkVsZW1lbnRbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGVQYXJlbnQoKTogU2JiQXV0b2NvbXBsZXRlRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZScpIHx8IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gISF0aGlzLmNsb3Nlc3Q/LihgOmlzKHNiYi1hdXRvY29tcGxldGUsIHNiYi1zZWxlY3QsIHNiYi1mb3JtLWZpZWxkKVtuZWdhdGl2ZV1gKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbXVsdGlwbGUnLCAhIXRoaXMuY2xvc2VzdCgnc2JiLXNlbGVjdFttdWx0aXBsZV0nKSk7XG4gICAgdGhpcy5fc2V0VmFyaWFudEJ5Q29udGV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VmFyaWFudEJ5Q29udGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZXN0Py4oJ3NiYi1hdXRvY29tcGxldGUnKSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdmFyaWFudCcsICdhdXRvY29tcGxldGUnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItc2VsZWN0JykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCAnc2VsZWN0Jyk7XG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0Z3JvdXAnOiBTYmJPcHRHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfX2RlY29yYXRlQ2xhc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLE1BQU0sa0JBQWtCO0FBR2pCLElBQWUseUJBQWYsY0FBOEM7QUFBQSxFQUNuRCxrQkFBa0IsVUFBVTtBQUM5QixFQUFFO0FBQUEsRUFjTyxjQUFjO0FBQ2I7QUFUQyxTQUFVLFdBQVc7QUFFckIsU0FBUSxtQkFBbUI7QUFFcEMsU0FBUSxvQkFBb0IsSUFBSSx5QkFBeUIsTUFBTSxLQUFLLG1CQUFtQjtBQU9yRixRQUFJLGlCQUFpQjtBQUNuQixVQUFJLEtBQUssbUJBQW1CO0FBQzFCLGFBQUssa0JBQWtCLEtBQUssTUFBTyxLQUFLLG1CQUFtQixlQUFnQjtBQUFBLE1BQUEsT0FDdEU7QUFDTCxhQUFLLG1CQUFtQjtBQUFBLE1BQzFCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixvQkFBMEI7O0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ3hCLGVBQUssc0JBQUwsbUJBQXdCO0FBQ3hCLFNBQUssdUJBQXVCO0FBQ3ZCLFNBQUEsa0JBQWtCLFFBQVEsTUFBTTtBQUFBLE1BQ25DLFlBQVk7QUFBQSxNQUNaLGlCQUFpQixDQUFDLGVBQWU7QUFBQSxJQUFBLENBQ2xDO0FBRUQsU0FBSywwQkFBMEI7QUFBQSxFQUNqQztBQUFBLEVBRW1CLFdBQVcsbUJBQStDO0FBQzNFLFVBQU0sV0FBVyxpQkFBaUI7QUFFOUIsUUFBQSxrQkFBa0IsSUFBSSxVQUFVLEdBQUc7QUFDakMsVUFBQSxDQUFDLEtBQUssa0JBQWtCO0FBQzFCLGFBQUssYUFBYSxpQkFBaUIs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
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1NhZmFyaSwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9vcHRpb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBncm91cHMgbGFiZWxzIGFyZSBub3QgcmVhZCBieSBWb2ljZU92ZXIuXG4gKiBUbyBzb2x2ZSB0aGUgcHJvYmxlbSwgd2UgcmVtb3ZlIHRoZSByb2xlPVwiZ3JvdXBcIiBhbmQgYWRkIGEgaGlkZGVuIHNwYW4gY29udGFpbmluZyB0aGUgZ3JvdXAgbmFtZVxuICogVE9ETzogV2Ugc2hvdWxkIHBlcmlvZGljYWxseSBjaGVjayBpZiBpdCBoYXMgYmVlbiBzb2x2ZWQgYW5kLCBpZiBzbywgcmVtb3ZlIHRoZSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgaW5lcnRBcmlhR3JvdXBzID0gaXNTYWZhcmk7XG5cbkBob3N0QXR0cmlidXRlcyh7IHJvbGU6ICFpbmVydEFyaWFHcm91cHMgPyAnZ3JvdXAnIDogbnVsbCB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbGFiZWwhOiBzdHJpbmc7XG5cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIG5lZ2F0aXZlID0gZmFsc2U7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50W107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGF0YS1uZWdhdGl2ZSddLFxuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCksXG4gICAgfSk7XG5cbiAgICBpZiAoaW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQudG9TdHJpbmcoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2FyaWEtbGFiZWwnLCB0aGlzLmxhYmVsKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fbGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9faWNvbi1zcGFjZVwiPjwvZGl2PlxuICAgICAgICA8c3Bhbj4ke3RoaXMubGFiZWx9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHsgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCB9IGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1vcHRpb25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItb3B0aW9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1vcHRncm91cGAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItb3B0Z3JvdXAnKVxuZXhwb3J0IGNsYXNzIFNiYk9wdEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLW9wdGlvbicpID8/IFtdKSBhcyBTYmJPcHRpb25FbGVtZW50W107XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py4oJ3NiYi1hdXRvY29tcGxldGUnKSB8fCBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5uZWdhdGl2ZSA9ICEhdGhpcy5jbG9zZXN0Py4oYDppcyhzYmItYXV0b2NvbXBsZXRlLCBzYmItc2VsZWN0LCBzYmItZm9ybS1maWVsZClbbmVnYXRpdmVdYCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW11bHRpcGxlJywgISF0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3RbbXVsdGlwbGVdJykpO1xuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhcmlhbnRCeUNvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXZhcmlhbnQnLCAnYXV0b2NvbXBsZXRlJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLXNlbGVjdCcpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS12YXJpYW50JywgJ3NlbGVjdCcpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW9wdGdyb3VwJzogU2JiT3B0R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -36,8 +36,6 @@ export declare abstract class SbbOptionBaseElement extends SbbOptionBaseElement_
36
36
  private _highlightString;
37
37
  private _inertAriaGroups;
38
38
  private _abort;
39
- /** MutationObserver on data attributes. */
40
- private _optionAttributeObserver;
41
39
  constructor();
42
40
  attributeChangedCallback(name: string, old: string | null, value: string | null): void;
43
41
  /**
@@ -53,7 +51,6 @@ export declare abstract class SbbOptionBaseElement extends SbbOptionBaseElement_
53
51
  connectedCallback(): void;
54
52
  protected willUpdate(changedProperties: PropertyValues<this>): void;
55
53
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
56
- disconnectedCallback(): void;
57
54
  protected abstract selectByClick(event: MouseEvent): void;
58
55
  protected abstract setAttributeFromParent(): void;
59
56
  protected updateDisableHighlight(disabled: boolean): void;