@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 +1 @@
1
- {"version":3,"file":"tab-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-group/tab-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-group/tab-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,kBAAkB,CAAC;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,IAAI,IAAI,CAAC;IACjB,UAAU,IAAI,IAAI,CAAC;IACnB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAC9C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;CACxB;;AAQD;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,uBAA6B;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,qBAAqB,CAI1B;IACH,OAAO,CAAC,uBAAuB,CAI5B;IACH,OAAO,CAAC,yBAAyB,CAI9B;IAEH,uCAAuC;IACvC,IACW,IAAI,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAGrD;IACD,IAAW,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAEjD;IACD,OAAO,CAAC,KAAK,CAAwC;IAErD;;;OAGG;IACqE,oBAAoB,SAAK;IAEjG,6CAA6C;IAC7C,OAAO,CAAC,mBAAmB,CAGzB;IAEc,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9E;;;OAGG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,iBAAiB,CAavB;IAEF,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,UAAU;IAkGlB,OAAO,CAAC,cAAc;cAoBH,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -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, LitElement, html } from "lit";
2
4
  import { property, customElement } from "lit/decorators.js";
3
5
  import { ref } from "lit/directives/ref.js";
@@ -5,7 +7,6 @@ import { isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
5
7
  import { SbbConnectedAbortController } from "../core/controllers.js";
6
8
  import { EventEmitter, throttle } from "../core/eventing.js";
7
9
  import { SbbHydrationMixin } from "../core/mixins.js";
8
- import { AgnosticMutationObserver, AgnosticResizeObserver } from "../core/observers.js";
9
10
  import { SbbTabElement } from "./tab.js";
10
11
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
11
12
  /*
@@ -77,15 +78,21 @@ let SbbTabGroupElement = class extends SbbHydrationMixin(LitElement) {
77
78
  super(...arguments);
78
79
  this._tabs = [];
79
80
  this._abort = new SbbConnectedAbortController(this);
80
- this._tabAttributeObserver = new AgnosticMutationObserver(
81
- (mutationsList) => this._onTabAttributesChange(mutationsList)
82
- );
83
- this._tabGroupResizeObserver = new AgnosticResizeObserver(
84
- (entries) => this._onTabGroupElementResize(entries)
85
- );
86
- this._tabContentResizeObserver = new AgnosticResizeObserver(
87
- (entries) => this._onTabContentElementResize(entries)
88
- );
81
+ this._tabAttributeObserver = new MutationController(this, {
82
+ target: null,
83
+ config: tabObserverConfig,
84
+ callback: (mutationsList) => this._onTabAttributesChange(mutationsList)
85
+ });
86
+ this._tabGroupResizeObserver = new ResizeController(this, {
87
+ target: null,
88
+ skipInitial: true,
89
+ callback: (entries) => this._onTabGroupElementResize(entries)
90
+ });
91
+ this._tabContentResizeObserver = new ResizeController(this, {
92
+ target: null,
93
+ skipInitial: true,
94
+ callback: (entries) => this._onTabContentElementResize(entries)
95
+ });
89
96
  this._size = "l";
90
97
  this.initialSelectedIndex = 0;
91
98
  this._selectedTabChanged = new EventEmitter(
@@ -164,12 +171,6 @@ let SbbTabGroupElement = class extends SbbHydrationMixin(LitElement) {
164
171
  _enabledTabs() {
165
172
  return this._tabs.filter((t) => !t.hasAttribute("disabled"));
166
173
  }
167
- disconnectedCallback() {
168
- super.disconnectedCallback();
169
- this._tabAttributeObserver.disconnect();
170
- this._tabContentResizeObserver.disconnect();
171
- this._tabGroupResizeObserver.disconnect();
172
- }
173
174
  _updateSize() {
174
175
  for (const tab of this._tabs) {
175
176
  tab.setAttribute("data-size", this.size);
@@ -323,7 +324,7 @@ let SbbTabGroupElement = class extends SbbHydrationMixin(LitElement) {
323
324
  tabLabel.tab.setAttribute("role", "tabpanel");
324
325
  tabLabel.tab.toggleAttribute("active", tabLabel.active);
325
326
  }
326
- this._tabAttributeObserver.observe(tabLabel, tabObserverConfig);
327
+ this._tabAttributeObserver.observe(tabLabel);
327
328
  tabLabel.slot = "tab-bar";
328
329
  }
329
330
  _handleKeyDown(evt) {
@@ -373,4 +374,4 @@ SbbTabGroupElement = __decorateClass([
373
374
  export {
374
375
  SbbTabGroupElement
375
376
  };
376
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlciwgQWdub3N0aWNSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uLy4uL2NvcmUvb2JzZXJ2ZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsLmpzJztcbmltcG9ydCB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgdGFiPzogU2JiVGFiRWxlbWVudDtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIHRhYkdyb3VwQWN0aW9ucz86IEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucztcbiAgc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJztcbn1cblxuY29uc3QgdGFiT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJ10sXG59O1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBvbmUgb3IgbW9yZSB0YWJzLCBlYWNoIG9uZSB3aXRoIGEgbGFiZWwgYW5kIGEgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLXRhYi1ncm91cGAgdmlhXG4gKiBgc2JiLXRhYi1sYWJlbGAgYW5kIGBzYmItdGFiYCBpbnN0YW5jZXMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+fSBkaWRDaGFuZ2UgLSBFbWl0cyBhbiBldmVudCBvbiBzZWxlY3RlZCB0YWIgY2hhbmdlLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5leHBvcnQgY2xhc3MgU2JiVGFiR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF90YWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG4gIHByaXZhdGUgX3RhYkdyb3VwRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJDb250ZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdCkgPT5cbiAgICB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gICk7XG4gIHByaXZhdGUgX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT5cbiAgICB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgKTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+XG4gICAgdGhpcy5fb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgKTtcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBzaXplKHZhbHVlOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZVNpemUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpemUoKTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cbiAgcHJpdmF0ZSBfc2l6ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSA9ICdsJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCB0YWIuIElmIGl0IG1hdGNoZXMgYSBkaXNhYmxlZCB0YWIgb3IgZXhjZWVkcyB0aGUgbGVuZ3RoIG9mXG4gICAqIHRoZSB0YWIgZ3JvdXAsIHRoZSBmaXJzdCBlbmFibGVkIHRhYiB3aWxsIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW5pdGlhbC1zZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KSBwdWJsaWMgaW5pdGlhbFNlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCBvbiBzZWxlY3RlZCB0YWIgY2hhbmdlLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZFRhYkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUYWJHcm91cEVsZW1lbnQuZXZlbnRzLmRpZENoYW5nZSxcbiAgKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItbGFiZWwkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJzLmZpbHRlcigodCkgPT4gIXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2l6ZSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLl90YWJzKSB7XG4gICAgICB0YWIuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLnNpemUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uQ29udGVudFNsb3RDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fdGFiQ29udGVudEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ2Rpdi50YWItY29udGVudCcpITtcbiAgICBjb25zdCBsb2FkZWRUYWJzID0gdGhpcy5fZ2V0VGFicygpLmZpbHRlcigodGFiKSA9PiAhdGhpcy5fdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgIC8vIGlmIGEgbmV3IHRhYi9jb250ZW50IGlzIGFkZGVkIHRvIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAobG9hZGVkVGFicy5sZW5ndGgpIHtcbiAgICAgIGxvYWRlZFRhYnMuZm9yRWFjaCgodGFiKSA9PiB0aGlzLl9jb25maWd1cmUodGFiKSk7XG4gICAgICB0aGlzLl90YWJzID0gdGhpcy5fdGFicy5jb25jYXQobG9hZGVkVGFicyk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVGFic1Nsb3RDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcblxuICAgIC8vIGlmIGEgdGFiIGlzIHJlbW92ZWQgZnJvbSB0aGUgdGFiIGdyb3VwXG4gICAgaWYgKHRhYnMubGVuZ3RoIDwgdGhpcy5fdGFicy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHJlbW92ZWRUYWJzID0gdGhpcy5fdGFicy5maWx0ZXIoKHRhYikgPT4gIXRhYnMuaW5jbHVkZXModGFiKSk7XG5cbiAgICAgIHJlbW92ZWRUYWJzLmZvckVhY2goKHJlbW92ZWRUYWIpID0+IHtcbiAgICAgICAgcmVtb3ZlZFRhYi50YWI/LnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl90YWJzID0gdGFicztcbiAgICB9XG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWI6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0YWIuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLnNpemUpKTtcbiAgfTtcblxuICBwcml2YXRlIF9hc3NpZ25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2JiLXRhYi1wYW5lbC0keysrbmV4dElkfWA7XG4gIH1cblxuICBwcml2YXRlIF9pbml0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPj0gMCAmJlxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA8IHRoaXMuX3RhYnMubGVuZ3RoICYmXG4gICAgICAhdGhpcy5fdGFic1t0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4XS5kaXNhYmxlZFxuICAgICkge1xuICAgICAgdGhpcy5fdGFic1t0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4XS50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQXR0cmlidXRlc0NoYW5nZShtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICBpZiAobXV0YXRpb24udHlwZSAhPT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYiA9IG11dGF0aW9uLnRhcmdldCBhcyBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcblxuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkaXNhYmxlZCcpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiYgdGFiICE9PSB0aGlzLl9zZWxlY3RlZFRhYikge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdhY3RpdmUnKSB7XG4gICAgICAgIGlmICh0YWIuaGFzQXR0cmlidXRlKCdhY3RpdmUnKSAmJiAhdGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFiID09PSB0aGlzLl9zZWxlY3RlZFRhYikge1xuICAgICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJHcm91cEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCB0YWJUaXRsZXMgPSAoXG4gICAgICAgIGVudHJ5LnRhcmdldC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MU2xvdEVsZW1lbnRcbiAgICAgICkuYXNzaWduZWRFbGVtZW50cygpIGFzIFNiYlRhYkxhYmVsRWxlbWVudFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0YWJUaXRsZXMpIHtcbiAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgICAgdGFiID09PSB0YWJUaXRsZXNbMF0gfHwgdGFiLm9mZnNldExlZnQgPT09IHRhYlRpdGxlc1swXS5vZmZzZXRMZWZ0LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10YWItZ3JvdXAtd2lkdGgnLCBgJHt0aGlzLl90YWJHcm91cEVsZW1lbnQuY2xpZW50V2lkdGh9cHhgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgY29udGVudEhlaWdodCA9IE1hdGguZmxvb3IoZW50cnkuY29udGVudFJlY3QuaGVpZ2h0KTtcblxuICAgICAgKHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5oZWlnaHQgPSBgJHtjb250ZW50SGVpZ2h0fXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUodGFiTGFiZWw6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKTogdm9pZCB7XG4gICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zID0ge1xuICAgICAgYWN0aXZhdGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAwO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICB9LFxuICAgICAgZGVhY3RpdmF0ZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIGlmICh0YWJMYWJlbC5hY3RpdmUpIHtcbiAgICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlbmFibGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgIHRhYkxhYmVsLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZWxlY3Q6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsICE9PSB0aGlzLl9zZWxlY3RlZFRhYiAmJiAhdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zdCBwcmV2VGFiID0gdGhpcy5fc2VsZWN0ZWRUYWI7XG5cbiAgICAgICAgICBpZiAocHJldlRhYikge1xuICAgICAgICAgICAgcHJldlRhYi50YWJHcm91cEFjdGlvbnM/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUocHJldlRhYi50YWIhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LmFjdGl2YXRlKCk7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSB0YWJMYWJlbDtcblxuICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhYkxhYmVsLnRhYiEpO1xuICAgICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLl90YWJzO1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVGFiQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFiTGFiZWwpLFxuICAgICAgICAgICAgYWN0aXZlVGFiTGFiZWw6IHRhYkxhYmVsLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWJMYWJlbC50YWIgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXg6IHRhYnMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2VGFiKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZUYWIsXG4gICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiB0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignWW91IGNhbm5vdCBhY3RpdmF0ZSBhIGRpc2FibGVkIHRhYicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFiJyk7XG4gICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgdGFiTGFiZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0pO1xuICAgIGlmICh0YWJMYWJlbC50YWIpIHtcbiAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRhYkxhYmVsLnRhYi5pZCk7XG4gICAgICB0YWJMYWJlbC50YWIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RhYnBhbmVsJyk7XG4gICAgICB0YWJMYWJlbC50YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0YWJMYWJlbC5hY3RpdmUpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwsIHRhYk9ic2VydmVyQ29uZmlnKTtcbiAgICB0YWJMYWJlbC5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzKCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRhYnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkVGFicy5maW5kSW5kZXgoKHQ6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0LmFjdGl2ZSk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkVGFicy5sZW5ndGgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWItZ3JvdXBcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJHcm91cEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBuYW1lPVwidGFiLWJhclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25UYWJzU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3Rocm90dGxlKHRoaXMuX29uQ29udGVudFNsb3RDaGFuZ2UsIDE1MCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlDQSxNQUFNLG9CQUEwQztBQUFBLEVBQzlDLGlCQUFpQixDQUFDLFVBQVUsVUFBVTtBQUN4QztBQUVBLElBQUksU0FBUztBQVVOLElBQU0scUJBQU4sY0FBaUMsa0JBQWtCLFVBQVUsRUFBRTtBQUFBLEVBQS9ELGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU1MLFNBQVEsUUFBbUM7QUFJbkMsU0FBQSxTQUFTLElBQUksNEJBQTRCLElBQUk7QUFDckQsU0FBUSx3QkFBd0IsSUFBSTtBQUFBLE1BQXlCLENBQUMsa0JBQzVELEtBQUssdUJBQXVCLGFBQWE7QUFBQSxJQUFBO0FBRTNDLFNBQVEsMEJBQTBCLElBQUk7QUFBQSxNQUF1QixDQUFDLFlBQzVELEtBQUsseUJBQXlCLE9BQU87QUFBQSxJQUFBO0FBRXZDLFNBQVEsNEJBQTRCLElBQUk7QUFBQSxNQUF1QixDQUFDLFlBQzlELEtBQUssMkJBQTJCLE9BQU87QUFBQSxJQUFBO0FBWXpDLFNBQVEsUUFBeUM7QUFNZ0IsU0FBTyx1QkFBdUI7QUFHL0YsU0FBUSxzQkFBK0QsSUFBSTtBQUFBLE1BQ3pFO0FBQUEsTUFDQSxtQkFBbUIsT0FBTztBQUFBLElBQUE7QUFpRTVCLFNBQVEsdUJBQXVCLE1BQVk7QUFDekMsV0FBSyxxQkFBcUIsS0FBSyxXQUFZLGNBQWMsaUJBQWlCO0FBQzFFLFlBQU0sYUFBYSxLQUFLLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxTQUFTLEdBQUcsQ0FBQztBQUc1RSxVQUFJLFdBQVcsUUFBUTtBQUNyQixtQkFBVyxRQUFRLENBQUMsUUFBUSxLQUFLLFdBQVcsR0FBRyxDQUFDO0FBQ2hELGFBQUssUUFBUSxLQUFLLE1BQU0sT0FBTyxVQUFVO0FBQUEsTUFDM0M7QUFBQSxJQUFBO0FBR0YsU0FBUSxvQkFBb0IsTUFBWTtBQUNoQyxZQUFBLE9BQU8sS0FBSztBQUdsQixVQUFJLEtBQUssU0FBUyxLQUFLLE1BQU0sUUFBUTtBQUM3QixjQUFBLGNBQWMsS0FBSyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLEdBQUcsQ0FBQztBQUV0RCxvQkFBQSxRQUFRLENBQUMsZUFBZTs7QUFDbEMsMkJBQVcsUUFBWCxtQkFBZ0I7QUFBQSxRQUFPLENBQ3hCO0FBQ0QsYUFBSyxRQUFRO0FBQUEsTUFDZjtBQUNLLFdBQUEsTUFBTSxRQUFRLENBQUMsUUFBaUMsSUFBSSxhQUFhLGFBQWEsS0FBSyxJQUFJLENBQUM7QUFBQSxJQUFBO0FBQUEsRUFDL0Y7QUFBQSxFQTNHQSxJQUFXLEtBQUssT0FBd0M7QUFDdEQsU0FBSyxRQUFRO0FBQ2IsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFBQSxFQUNBLElBQVcsT0FBd0M7QUFDakQsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBZWdCLG9CQUEwQjtBQUN4QyxVQUFNLGtCQUFrQjtBQUNsQixVQUFBLFNBQVMsS0FBSyxPQUFPO0FBQ3RCLFNBQUEsaUJBQWlCLFdBQVcsQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLEdBQUcsRUFBRSxPQUFBLENBQVE7QUFBQSxFQUM1RTtBQUFBLEVBRW1CLGFBQWEsbUJBQStDO0FBQzdFLFVBQU0sYUFBYSxpQkFBaUI7QUFFL0IsU0FBQSxRQUFRLEtBQUs7QUFDbEIsU0FBSyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEtBQUssV0FBVyxHQUFHLENBQUM7QUFDaEQsU0FBSyxlQUFlO0FBQ2YsU0FBQSx3QkFBd0IsUUFBUSxLQUFLLGdCQUFnQjtBQUFBLEVBQzVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFdBQVcsVUFBd0I7O0FBQ3hDLHFCQUFLLE1BQU0sUUFBUSxNQUFuQixtQkFBc0Isb0JBQXRCLG1CQUF1QztBQUFBLEVBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFVBQVUsVUFBd0I7O0FBQ3ZDLHFCQUFLLE1BQU0sUUFBUSxNQUFuQixtQkFBc0Isb0JBQXRCLG1CQUF1QztBQUFBLEVBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFlBQVksVUFBd0I7O0FBQ3pDLHFCQUFLLE1BQU0sUUFBUSxNQUFuQixtQkFBc0Isb0JBQXRCLG1CQUF1QztBQUFBLEVBQ3pDO0FBQUEsRUFFUSxXQUFzQztBQUM1QyxXQUFPLE1BQU0sS0FBSyxLQUFLLFlBQVksQ0FBQSxDQUFFLEVBQUU7QUFBQSxNQUFPLENBQUMsVUFDN0MsbUJBQW1CLEtBQUssTUFBTSxTQUFTO0FBQUEsSUFBQTtBQUFBLEVBRTNDO0FBQUEsRUFFUSxlQUEwQztBQUN6QyxXQUFBLEtBQUssTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxVQUFVLENBQUM7QUFBQSxFQUM3RDtBQUFBLEVBRWdCLHVCQUE2QjtBQUMzQyxVQUFNLHFCQUFxQjtBQUMzQixTQUFLLHNCQUFzQjtBQUMzQixTQUFLLDBCQUEwQjtBQUMvQixTQUFLLHdCQUF3QjtFQUMvQjtBQUFBLEVBRVEsY0FBb0I7QUFDZixlQUFBLE9BQU8sS0FBSyxPQUFPO0FBQ3hCLFVBQUEsYUFBYSxhQUFhLEtBQUssSUFBSTtBQUFBLElBQ3pDO0FBQUEsRUFDRjtBQUFBLEVBNEJRLFlBQW9CO0FBQ25CLFdBQUEsaUJBQWlCLEVBQUUsTUFBTTtBQUFBLEVBQ2xDO0FBQUEsRUFFUSxpQkFBdUI7O0FBQzdCLFFBQ0UsS0FBSyx3QkFBd0IsS0FDN0IsS0FBSyx1QkFBdUIsS0FBSyxNQUFNLFVBQ3ZDLENBQUMsS0FBSyxNQUFNLEtBQUssb0JBQW9CLEVBQUUsVUFDdkM7QUFDQSxpQkFBSyxNQUFNLEtBQUssb0JBQW9CLEVBQUUsb0JBQXRDLG1CQUF1RDtBQUFBLElBQU8sT0FDekQ7QUFDTCx1QkFBSyxhQUFhLEVBQUUsQ0FBQyxNQUFyQixtQkFBd0Isb0JBQXhCLG1CQUF5QztBQUFBLElBQzNDO0FBQUEsRUFDRjtBQUFBLEVBRVEsdUJBQXVCLGVBQXVDOztBQUNwRSxlQUFXLFlBQVksZUFBZTtBQUNoQyxVQUFBLFNBQVMsU0FBUyxjQUFjO0FBQ2xDO0FBQUEsTUFDRjtBQUNBLFlBQU0sTUFBTSxTQUFTO0FBRWpCLFVBQUEsU0FBUyxrQkFBa0IsWUFBWTtBQUN6QyxZQUFJLElBQUksYUFBYSxVQUFVLEtBQUssUUFBUSxLQUFLLGNBQWM7QUFDN0Qsb0JBQUksb0JBQUosbUJBQXFCO0FBQUEsUUFBUSxXQUNwQixJQUFJLFVBQVU7QUFDdkIsb0JBQUksb0JBQUosbUJBQXFCO0FBQUEsUUFDdkI7QUFBQSxNQUNGO0FBQ0ksVUFBQSxTQUFTLGtCQUFrQixVQUFVO0FBQ3ZDLFlBQUksSUFBSSxhQUFhLFFBQVEsS0FBSyxDQUFDLElBQUksVUFBVTtBQUMvQyxvQkFBSSxvQkFBSixtQkFBcUI7QUFBQSxRQUFPLFdBQ25CLFFBQVEsS0FBSyxjQUFjO0FBQ2hDLGNBQUEsZ0JBQWdCLFVBQVUsSUFBSTtBQUFBLFFBQ3BDO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFFUSx5QkFBeUIsU0FBc0M7QUFDckUsZUFBVyxTQUFTLFNBQVM7QUFDM0IsWUFBTSxZQUNKLE1BQU0sT0FBTyxrQkFDYixpQkFBaUI7QUFFbkIsaUJBQVcsT0FBTyxXQUFXO0FBQ3ZCLFlBQUE7QUFBQSxVQUNGO0FBQUEsVUFDQSxRQUFRLFVBQVUsQ0FBQyxLQUFLLElBQUksZUFBZSxVQUFVLENBQUMsRUFBRTtBQUFBLFFBQUE7QUFFMUQsYUFBSyxNQUFNLFlBQVkseUJBQXlCLEdBQUcsS0FBSyxpQkFBaUIsV0FBVyxJQUFJO0FBQUEsTUFDMUY7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRVEsMkJBQTJCLFNBQXNDO0FBQ3ZFLGVBQVcsU0FBUyxTQUFTO0FBQzNCLFlBQU0sZ0JBQWdCLEtBQUssTUFBTSxNQUFNLFlBQVksTUFBTTtBQUV4RCxXQUFLLG1CQUFtQyxNQUFNLFNBQVMsR0FBRyxhQUFhO0FBQUEsSUFDMUU7QUFBQSxFQUNGO0FBQUEsRUFFUSxXQUFXLFVBQXlDOztBQUMxRCxhQUFTLGtCQUFrQjtBQUFBLE1BQ3pCLFVBQVUsTUFBWTs7QUFDWCxpQkFBQSxnQkFBZ0IsVUFBVSxJQUFJO0FBQ3ZDLGlCQUFTLFNBQVM7QUFDbEIsaUJBQVMsV0FBVztBQUNYLGlCQUFBLGFBQWEsaUJBQWlCLE1BQU07QUFDcEMsU0FBQUEsTUFBQSxTQUFBLFFBQUEsZ0JBQUFBLElBQUssZ0JBQWdCLFVBQVU7QUFBQSxNQUMxQztBQUFBLE1BQ0EsWUFBWSxNQUFZOztBQUN0QixpQkFBUyxnQkFBZ0IsUUFBUTtBQUNqQyxpQkFBUyxTQUFTO0FBQ2xCLGlCQUFTLFdBQVc7QUFDWCxpQkFBQSxhQUFhLGlCQUFpQixPQUFPO0FBQ3JDLFNBQUFBLE1BQUEsU0FBQSxRQUFBLGdCQUFBQSxJQUFLLGdCQUFnQjtBQUFBLE1BQ2hDO0FBQUEsTUFDQSxTQUFTLE1BQVk7O0FBQ25CLFlBQUksU0FBUyxVQUFVO0FBQ3JCO0FBQUEsUUFDRjtBQUNBLFlBQUksQ0FBQyxTQUFTLGFBQWEsVUFBVSxHQUFHO0FBQzdCLG1CQUFBLGdCQUFnQixZQUFZLElBQUk7QUFBQSxRQUMzQztBQUNBLGlCQUFTLFdBQVc7QUFDcEIsaUJBQVMsV0FBVztBQUNYLGlCQUFBLGFBQWEsaUJBQWlCLE9BQU87QUFDckMsU0FBQUEsTUFBQSxTQUFBLFFBQUEsZ0JBQUFBLElBQUssZ0JBQWdCO0FBQzlCLFlBQUksU0FBUyxRQUFRO0FBQ25CLG1CQUFTLGdCQUFnQixRQUFRO0FBQ2pDLG1CQUFTLFNBQVM7QUFDbEIsMkJBQUssYUFBYSxFQUFFLENBQUMsTUFBckIsbUJBQXdCLG9CQUF4QixtQkFBeUM7QUFBQSxRQUMzQztBQUFBLE1BQ0Y7QUFBQSxNQUNBLFFBQVEsTUFBWTtBQUNsQixZQUFJLFNBQVMsVUFBVTtBQUNyQixtQkFBUyxnQkFBZ0IsVUFBVTtBQUNuQyxtQkFBUyxXQUFXO0FBQUEsUUFDdEI7QUFBQSxNQUNGO0FBQUEsTUFDQSxRQUFRLE1BQVk7O0FBQ2xCLFlBQUksYUFBYSxLQUFLLGdCQUFnQixDQUFDLFNBQVMsVUFBVTtBQUN4RCxnQkFBTSxVQUFVLEtBQUs7QUFFckIsY0FBSSxTQUFTO0FBQ1gsYUFBQUEsTUFBQSxRQUFRLG9CQUFSLGdCQUFBQSxJQUF5QjtBQUNwQixpQkFBQSwwQkFBMEIsVUFBVSxRQUFRLEdBQUk7QUFBQSxVQUN2RDtBQUVBLHlCQUFTLG9CQUFULG1CQUEwQjtBQUMxQixlQUFLLGVBQWU7QUFFZixlQUFBLDBCQUEwQixRQUFRLFNBQVMsR0FBSTtBQUNwRCxnQkFBTSxPQUFPLEtBQUs7QUFDbEIsZUFBSyxvQkFBb0IsS0FBSztBQUFBLFlBQzVCLGFBQWEsS0FBSyxVQUFVLENBQUMsTUFBTSxNQUFNLFFBQVE7QUFBQSxZQUNqRCxnQkFBZ0I7QUFBQSxZQUNoQixXQUFXLFNBQVM7QUFBQSxZQUNwQixlQUFlLEtBQUssVUFBVSxDQUFDLE1BQU0sTUFBTSxPQUFPO0FBQUEsWUFDbEQsa0JBQWtCO0FBQUEsWUFDbEIsYUFBYSxtQ0FBUztBQUFBLFVBQUEsQ0FDdkI7QUFBQSxRQUFBLFdBQytCLFNBQVMsVUFBVTtBQUNuRCxrQkFBUSxLQUFLLG9DQUFvQztBQUFBLFFBQ25EO0FBQUEsTUFDRjtBQUFBLElBQUE7QUFFRSxVQUFBLGNBQVMsdUJBQVQsbUJBQTZCLGVBQWMsV0FBVztBQUN4RCxlQUFTLE1BQU0sU0FBUztBQUNmLGVBQUEsSUFBSSxLQUFLLEtBQUssVUFBVTtBQUM3QixVQUFBLFNBQVMsZUFBZSxlQUFlO0FBQ3pDLGlCQUFTLElBQUksV0FBVztBQUN4QixpQkFBUyxJQUFJO01BQ2Y7QUFBQSxJQUFBLE9BQzhCO0FBQ3JCLGVBQUEsbUJBQW1CLFlBQVksZ0NBQWdDO0FBQ3hFLGVBQVMsTUFBTSxTQUFTO0FBQ2hCLGNBQUE7QUFBQSxRQUNOLHFFQUFxRSxTQUFTLFNBQVM7QUFBQSxNQUFBO0FBQUEsSUFFM0Y7QUFDQSxhQUFTLFdBQVc7QUFDWCxhQUFBLFdBQVcsU0FBUyxhQUFhLFVBQVU7QUFDcEQsYUFBUyxTQUFTLFNBQVMsYUFBYSxRQUFRLEtBQUssQ0FBQyxTQUFTO0FBQ3RELGFBQUEsYUFBYSxRQUFRLEtBQUs7QUFDMUIsYUFBQSxhQUFhLGlCQUFpQixPQUFPO0FBQ3JDLGFBQUEsaUJBQWlCLFNBQVMsTUFBTTs7QUFDdkMsT0FBQUEsTUFBQSxTQUFTLG9CQUFULGdCQUFBQSxJQUEwQjtBQUFBLElBQU8sQ0FDbEM7QUFDRCxRQUFJLFNBQVMsS0FBSztBQUNoQixlQUFTLGFBQWEsaUJBQWlCLFNBQVMsSUFBSSxFQUFFO0FBQzdDLGVBQUEsSUFBSSxhQUFhLFFBQVEsVUFBVTtBQUM1QyxlQUFTLElBQUksZ0JBQWdCLFVBQVUsU0FBUyxNQUFNO0FBQUEsSUFDeEQ7QUFFSyxTQUFBLHNCQUFzQixRQUFRLFVBQVUsaUJBQWlCO0FBQzlELGFBQVMsT0FBTztBQUFBLEVBQ2xCO0FBQUEsRUFFUSxlQUFlLEtBQTBCOztBQUN6QyxVQUFBLGNBQXlDLEtBQUs7QUFFcEQsUUFDRSxDQUFDO0FBQUEsSUFFQyxJQUFJLFdBQTJCLFFBQVMsSUFBSSxPQUF1QixrQkFBa0IsTUFDdkY7QUFDQTtBQUFBLElBQ0Y7QUFFSSxRQUFBLGtCQUFrQixHQUFHLEdBQUc7QUFDMUIsWUFBTSxVQUFrQixZQUFZLFVBQVUsQ0FBQyxNQUErQixFQUFFLE1BQU07QUFDdEYsWUFBTSxZQUFvQixvQkFBb0IsS0FBSyxTQUFTLFlBQVksTUFBTTtBQUNsRSw4QkFBQSxTQUFTLE1BQVQsbUJBQVksb0JBQVosbUJBQTZCO0FBQzdCLHdCQUFBLFNBQVMsTUFBVCxtQkFBWTtBQUN4QixVQUFJLGVBQWU7QUFBQSxJQUNyQjtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFJRCxJQUFJLENBQUMsT0FBa0IsS0FBSyxtQkFBbUIsRUFBa0IsQ0FBQztBQUFBO0FBQUEsMkNBRWpDLEtBQUssaUJBQWlCO0FBQUE7QUFBQTtBQUFBO0FBQUEsNEJBSXJDLFNBQVMsS0FBSyxzQkFBc0IsR0FBRyxDQUFDO0FBQUE7QUFBQTtBQUFBLEVBR2xFO0FBQ0Y7QUF6VWEsbUJBQ1ksU0FBeUI7QUFEckMsbUJBRVksU0FBUztBQUFBLEVBQzlCLFdBQVc7QUFDYjtBQW1CVyxnQkFBQTtBQUFBLEVBRFYsU0FBUztBQUFBLEdBdEJDLG1CQXVCQSxXQUFBLFFBQUEsQ0FBQTtBQWE2RCxnQkFBQTtBQUFBLEVBQXZFLFNBQVMsRUFBRSxXQUFXLDBCQUEwQixNQUFNLFFBQVE7QUFBQSxHQXBDcEQsbUJBb0M2RCxXQUFBLHdCQUFBLENBQUE7QUFwQzdELHFCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGVBQWU7QUFBQSxHQUNqQixrQkFBQTsifQ==
377
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXgsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCB0aHJvdHRsZSB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkxhYmVsRWxlbWVudCB9IGZyb20gJy4uL3RhYi1sYWJlbC5qcyc7XG5pbXBvcnQgeyBTYmJUYWJFbGVtZW50IH0gZnJvbSAnLi4vdGFiLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHMgPSB7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGFjdGl2ZVRhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYjogU2JiVGFiRWxlbWVudDtcbiAgcHJldmlvdXNJbmRleDogbnVtYmVyO1xuICBwcmV2aW91c1RhYkxhYmVsOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByZXZpb3VzVGFiOiBTYmJUYWJFbGVtZW50IHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VTYmJUYWJHcm91cEFjdGlvbnMge1xuICBhY3RpdmF0ZSgpOiB2b2lkO1xuICBkZWFjdGl2YXRlKCk6IHZvaWQ7XG4gIGVuYWJsZSgpOiB2b2lkO1xuICBkaXNhYmxlKCk6IHZvaWQ7XG4gIHNlbGVjdCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiIGV4dGVuZHMgU2JiVGFiTGFiZWxFbGVtZW50IHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRhYj86IFNiYlRhYkVsZW1lbnQ7XG4gIGluZGV4PzogbnVtYmVyO1xuICB0YWJHcm91cEFjdGlvbnM/OiBJbnRlcmZhY2VTYmJUYWJHcm91cEFjdGlvbnM7XG4gIHNpemU6ICdzJyB8ICdsJyB8ICd4bCc7XG59XG5cbmNvbnN0IHRhYk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgYXR0cmlidXRlRmlsdGVyOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCddLFxufTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb25lIG9yIG1vcmUgdGFicywgZWFjaCBvbmUgd2l0aCBhIGxhYmVsIGFuZCBhIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10YWItZ3JvdXBgIHZpYVxuICogYHNiYi10YWItbGFiZWxgIGFuZCBgc2JiLXRhYmAgaW5zdGFuY2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPn0gZGlkQ2hhbmdlIC0gRW1pdHMgYW4gZXZlbnQgb24gc2VsZWN0ZWQgdGFiIGNoYW5nZS5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWItZ3JvdXAnKVxuZXhwb3J0IGNsYXNzIFNiYlRhYkdyb3VwRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGRpZENoYW5nZTogJ2RpZENoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IFtdO1xuICBwcml2YXRlIF9zZWxlY3RlZFRhYj86IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuICBwcml2YXRlIF90YWJHcm91cEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF90YWJBdHRyaWJ1dGVPYnNlcnZlciA9IG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjb25maWc6IHRhYk9ic2VydmVyQ29uZmlnLFxuICAgIGNhbGxiYWNrOiAobXV0YXRpb25zTGlzdCkgPT4gdGhpcy5fb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgfSk7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBzaXplKHZhbHVlOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZVNpemUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpemUoKTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cbiAgcHJpdmF0ZSBfc2l6ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSA9ICdsJztcblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCB0YWIuIElmIGl0IG1hdGNoZXMgYSBkaXNhYmxlZCB0YWIgb3IgZXhjZWVkcyB0aGUgbGVuZ3RoIG9mXG4gICAqIHRoZSB0YWIgZ3JvdXAsIHRoZSBmaXJzdCBlbmFibGVkIHRhYiB3aWxsIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW5pdGlhbC1zZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KSBwdWJsaWMgaW5pdGlhbFNlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCBvbiBzZWxlY3RlZCB0YWIgY2hhbmdlLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZFRhYkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUYWJHcm91cEVsZW1lbnQuZXZlbnRzLmRpZENoYW5nZSxcbiAgKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItbGFiZWwkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJzLmZpbHRlcigodCkgPT4gIXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0YWIgb2YgdGhpcy5fdGFicykge1xuICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdkaXYudGFiLWNvbnRlbnQnKSE7XG4gICAgY29uc3QgbG9hZGVkVGFicyA9IHRoaXMuX2dldFRhYnMoKS5maWx0ZXIoKHRhYikgPT4gIXRoaXMuX3RhYnMuaW5jbHVkZXModGFiKSk7XG5cbiAgICAvLyBpZiBhIG5ldyB0YWIvY29udGVudCBpcyBhZGRlZCB0byB0aGUgdGFiIGdyb3VwXG4gICAgaWYgKGxvYWRlZFRhYnMubGVuZ3RoKSB7XG4gICAgICBsb2FkZWRUYWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgICAgdGhpcy5fdGFicyA9IHRoaXMuX3RhYnMuY29uY2F0KGxvYWRlZFRhYnMpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vblRhYnNTbG90Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG5cbiAgICAvLyBpZiBhIHRhYiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYiBncm91cFxuICAgIGlmICh0YWJzLmxlbmd0aCA8IHRoaXMuX3RhYnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCByZW1vdmVkVGFicyA9IHRoaXMuX3RhYnMuZmlsdGVyKCh0YWIpID0+ICF0YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgICByZW1vdmVkVGFicy5mb3JFYWNoKChyZW1vdmVkVGFiKSA9PiB7XG4gICAgICAgIHJlbW92ZWRUYWIudGFiPy5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgfVxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfYXNzaWduSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNiYi10YWItcGFuZWwtJHsrK25leHRJZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPCB0aGlzLl90YWJzLmxlbmd0aCAmJlxuICAgICAgIXRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKG11dGF0aW9uLnR5cGUgIT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0YWIgPSBtdXRhdGlvbi50YXJnZXQgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG5cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGlzYWJsZWQnKSB7XG4gICAgICAgIGlmICh0YWIuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpICYmIHRhYiAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnYWN0aXZlJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJykgJiYgIXRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYiA9PT0gdGhpcy5fc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgdGFiVGl0bGVzID0gKFxuICAgICAgICBlbnRyeS50YXJnZXQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTFNsb3RFbGVtZW50XG4gICAgICApLmFzc2lnbmVkRWxlbWVudHMoKSBhcyBTYmJUYWJMYWJlbEVsZW1lbnRbXTtcblxuICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGFiVGl0bGVzKSB7XG4gICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2RhdGEtaGFzLWRpdmlkZXInLFxuICAgICAgICAgIHRhYiA9PT0gdGFiVGl0bGVzWzBdIHx8IHRhYi5vZmZzZXRMZWZ0ID09PSB0YWJUaXRsZXNbMF0ub2Zmc2V0TGVmdCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItdGFiLWdyb3VwLXdpZHRoJywgYCR7dGhpcy5fdGFiR3JvdXBFbGVtZW50LmNsaWVudFdpZHRofXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBNYXRoLmZsb29yKGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCk7XG5cbiAgICAgICh0aGlzLl90YWJDb250ZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuaGVpZ2h0ID0gYCR7Y29udGVudEhlaWdodH1weGA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKHRhYkxhYmVsOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYik6IHZvaWQge1xuICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucyA9IHtcbiAgICAgIGFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgfSxcbiAgICAgIGRlYWN0aXZhdGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICB9LFxuICAgICAgZGlzYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICBpZiAodGFiTGFiZWwuYWN0aXZlKSB7XG4gICAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5hYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICAgICAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbCAhPT0gdGhpcy5fc2VsZWN0ZWRUYWIgJiYgIXRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgY29uc3QgcHJldlRhYiA9IHRoaXMuX3NlbGVjdGVkVGFiO1xuXG4gICAgICAgICAgaWYgKHByZXZUYWIpIHtcbiAgICAgICAgICAgIHByZXZUYWIudGFiR3JvdXBBY3Rpb25zPy5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHByZXZUYWIudGFiISk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5hY3RpdmF0ZSgpO1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVGFiID0gdGFiTGFiZWw7XG5cbiAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YWJMYWJlbC50YWIhKTtcbiAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicztcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgIGFjdGl2ZVRhYkxhYmVsOiB0YWJMYWJlbCxcbiAgICAgICAgICAgIGFjdGl2ZVRhYjogdGFiTGFiZWwudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICBwcmV2aW91c1RhYkxhYmVsOiBwcmV2VGFiLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZUYWI/LnRhYiBhcyBTYmJUYWJFbGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICAgIGlmICh0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInKSB7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIHRhYkxhYmVsLnRhYi5pZCA9IHRoaXMuX2Fzc2lnbklkKCk7XG4gICAgICBpZiAodGFiTGFiZWwudGFiIGluc3RhbmNlb2YgU2JiVGFiRWxlbWVudCkge1xuICAgICAgICB0YWJMYWJlbC50YWIudGFiSW5kZXggPSAwO1xuICAgICAgICB0YWJMYWJlbC50YWIuY29uZmlndXJlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICB0YWJMYWJlbC5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyZW5kJywgJzxzYmItdGFiPk5vIGNvbnRlbnQuPC9zYmItdGFiPicpO1xuICAgICAgdGFiTGFiZWwudGFiID0gdGFiTGFiZWwubmV4dEVsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYkVsZW1lbnQ7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBNaXNzaW5nIGNvbnRlbnQ6IHlvdSBzaG91bGQgcHJvdmlkZSBhIHJlbGF0ZWQgY29udGVudCBmb3IgdGhlIHRhYiAke3RhYkxhYmVsLm91dGVySFRNTH0uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgdGFiTGFiZWwuZGlzYWJsZWQgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgdGFiTGFiZWwuYWN0aXZlID0gdGFiTGFiZWwuaGFzQXR0cmlidXRlKCdhY3RpdmUnKSAmJiAhdGFiTGFiZWwuZGlzYWJsZWQ7XG4gICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RhYicpO1xuICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgIHRhYkxhYmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9KTtcbiAgICBpZiAodGFiTGFiZWwudGFiKSB7XG4gICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCB0YWJMYWJlbC50YWIuaWQpO1xuICAgICAgdGFiTGFiZWwudGFiLnNldEF0dHJpYnV0ZSgncm9sZScsICd0YWJwYW5lbCcpO1xuICAgICAgdGFiTGFiZWwudGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdGFiTGFiZWwuYWN0aXZlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRhYkxhYmVsKTtcbiAgICB0YWJMYWJlbC5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzKCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFRhYnMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkVGFicy5maW5kSW5kZXgoKHQ6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0LmFjdGl2ZSk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkVGFicy5sZW5ndGgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWItZ3JvdXBcIlxuICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl90YWJHcm91cEVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICA8c2xvdCBuYW1lPVwidGFiLWJhclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25UYWJzU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3Rocm90dGxlKHRoaXMuX29uQ29udGVudFNsb3RDaGFuZ2UsIDE1MCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItZ3JvdXAnOiBTYmJUYWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQ0EsTUFBTSxvQkFBMEM7QUFBQSxFQUM5QyxpQkFBaUIsQ0FBQyxVQUFVLFVBQVU7QUFDeEM7QUFFQSxJQUFJLFNBQVM7QUFVTixJQUFNLHFCQUFOLGNBQWlDLGtCQUFrQixVQUFVLEVBQUU7QUFBQSxFQUEvRCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFNTCxTQUFRLFFBQW1DO0FBSW5DLFNBQUEsU0FBUyxJQUFJLDRCQUE0QixJQUFJO0FBQzdDLFNBQUEsd0JBQXdCLElBQUksbUJBQW1CLE1BQU07QUFBQSxNQUMzRCxRQUFRO0FBQUEsTUFDUixRQUFRO0FBQUEsTUFDUixVQUFVLENBQUMsa0JBQWtCLEtBQUssdUJBQXVCLGFBQWE7QUFBQSxJQUFBLENBQ3ZFO0FBQ08sU0FBQSwwQkFBMEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLE1BQzNELFFBQVE7QUFBQSxNQUNSLGFBQWE7QUFBQSxNQUNiLFVBQVUsQ0FBQyxZQUFZLEtBQUsseUJBQXlCLE9BQU87QUFBQSxJQUFBLENBQzdEO0FBQ08sU0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLE1BQzdELFFBQVE7QUFBQSxNQUNSLGFBQWE7QUFBQSxNQUNiLFVBQVUsQ0FBQyxZQUFZLEtBQUssMkJBQTJCLE9BQU87QUFBQSxJQUFBLENBQy9EO0FBV0QsU0FBUSxRQUF5QztBQU1nQixTQUFPLHVCQUF1QjtBQUcvRixTQUFRLHNCQUErRCxJQUFJO0FBQUEsTUFDekU7QUFBQSxNQUNBLG1CQUFtQixPQUFPO0FBQUEsSUFBQTtBQTBENUIsU0FBUSx1QkFBdUIsTUFBWTtBQUN6QyxX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
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
3
  export type SbbTagSize = 's' | 'm';
4
- declare const SbbTagElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbButtonBaseElement;
4
+ declare const SbbTagElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbButtonBaseElement;
5
5
  /**
6
6
  * It displays a selectable element which can be used as a filter.
7
7
  *
@@ -4,7 +4,7 @@ import { SbbButtonBaseElement } from "../core/base-elements.js";
4
4
  import { SbbConnectedAbortController } from "../core/controllers.js";
5
5
  import { slotState } from "../core/decorators.js";
6
6
  import { EventEmitter } from "../core/eventing.js";
7
- import { SbbFocusableDisabledActionMixin } from "../core/mixins.js";
7
+ import { SbbDisabledTabIndexActionMixin } from "../core/mixins.js";
8
8
  import { SbbIconNameMixin } from "../icon.js";
9
9
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
10
10
  /*
@@ -198,7 +198,7 @@ var __decorateClass = (decorators, target, key, kind) => {
198
198
  return result;
199
199
  };
200
200
  let SbbTagElement = class extends SbbIconNameMixin(
201
- SbbFocusableDisabledActionMixin(SbbButtonBaseElement)
201
+ SbbDisabledTabIndexActionMixin(SbbButtonBaseElement)
202
202
  ) {
203
203
  constructor() {
204
204
  super(...arguments);
@@ -288,4 +288,4 @@ SbbTagElement = __decorateClass([
288
288
  export {
289
289
  SbbTagElement
290
290
  };
291
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgU2JiRm9jdXNhYmxlRGlzYWJsZWRBY3Rpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFnLWdyb3VwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFnLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYlRhZ1NpemUgPSAncycgfCAnbSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBzZWxlY3RhYmxlIGVsZW1lbnQgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSBmaWx0ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFnIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIGF0IHRoZSBjb21wb25lbnQgc3RhcnQsIGJ5IHByb3ZpZGluZyBhIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQHNsb3QgYW1vdW50IC0gUHJvdmlkZSBhbiBhbW91bnQgdG8gc2hvdyBpdCBhdCB0aGUgY29tcG9uZW50IGVuZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGlucHV0IC0gSW5wdXQgZXZlbnQgZW1pdHRlclxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIENoYW5nZSBldmVudCBlbWl0dGVyXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdGFnJylcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYlRhZ0VsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFxuICBTYmJGb2N1c2FibGVEaXNhYmxlZEFjdGlvbk1peGluKFNiYkJ1dHRvbkJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgaW5wdXQ6ICdpbnB1dCcsXG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFnLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhbW91bnQ/OiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhZyBpcyBjaGVja2VkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBjaGVja2VkID0gZmFsc2U7XG5cbiAgLyoqIFRhZyBzaXplLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogU2JiVGFnU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpemUoKTogU2JiVGFnU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwPy5zaXplID8/IHRoaXMuX3NpemU7XG4gIH1cbiAgcHJpdmF0ZSBfc2l6ZTogU2JiVGFnU2l6ZSA9ICdtJztcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjb25uZWN0ZWQgdGFnIGdyb3VwLiAqL1xuICBwcml2YXRlIF9ncm91cDogU2JiVGFnR3JvdXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIElucHV0IGV2ZW50IGVtaXR0ZXIgKi9cbiAgcHJpdmF0ZSBfaW5wdXQ6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVGFnRWxlbWVudC5ldmVudHMuaW5wdXQsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNvbXBvc2VkOiB0cnVlLFxuICB9KTtcblxuICAvKiogQGRlcHJlY2F0ZWQgb25seSB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLiAqL1xuICBwcml2YXRlIF9kaWRDaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVGFnRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgfSk7XG5cbiAgLyoqIENoYW5nZSBldmVudCBlbWl0dGVyICovXG4gIHByaXZhdGUgX2NoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUYWdFbGVtZW50LmV2ZW50cy5jaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICB9KTtcblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZ3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi10YWctZ3JvdXAnKSBhcyBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCksIHsgc2lnbmFsOiB0aGlzLl9hYm9ydC5zaWduYWwgfSk7XG4gIH1cblxuICAvKiogTWV0aG9kIHRyaWdnZXJlZCBvbiBidXR0b24gY2xpY2suIEludmVydHMgdGhlIGNoZWNrZWQgdmFsdWUgYW5kIGVtaXRzIGV2ZW50cy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50IGRlYWN0aXZhdGluZyBvbiBleGNsdXNpdmUgLyByYWRpbyBtb2RlXG4gICAgY29uc3QgdGFnR3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi10YWctZ3JvdXAnKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuX2lucHV0LmVtaXQoKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICAgIHRoaXMuX2RpZENoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2NoZWNrZWQnKSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIGAke3RoaXMuY2hlY2tlZH1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWdHcm91cCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItdGFnLWdyb3VwJyk7XG4gICAgaWYgKHRhZ0dyb3VwICYmICF0YWdHcm91cC5tdWx0aXBsZSAmJiBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2NoZWNrZWQnKSAmJiB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRhZ0dyb3VwPy50YWdzLmZpbHRlcigodCkgPT4gdCAhPT0gdGhpcykuZm9yRWFjaCgodCkgPT4gKHQuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19faWNvbiBzYmItdGFnLS1zaGlmdFwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX190ZXh0IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fYW1vdW50IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJhbW91bnRcIj4ke3RoaXMuYW1vdW50fTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFnJzogU2JiVGFnRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0Qk8sSUFBTSxnQkFBTixjQUE0QjtBQUFBLEVBQ2pDLGdDQUFnQyxvQkFBb0I7QUFDdEQsRUFBRTtBQUFBLEVBRkssY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBY3VDLFNBQU8sVUFBVTtBQVU3RCxTQUFRLFFBQW9CO0FBRzVCLFNBQVEsU0FBb0M7QUFHNUMsU0FBUSxTQUF1QixJQUFJLGFBQWEsTUFBTSxjQUFjLE9BQU8sT0FBTztBQUFBLE1BQ2hGLFNBQVM7QUFBQSxNQUNULFVBQVU7QUFBQSxJQUFBLENBQ1g7QUFHRCxTQUFRLGFBQTJCLElBQUksYUFBYSxNQUFNLGNBQWMsT0FBTyxXQUFXO0FBQUEsTUFDeEYsU0FBUztBQUFBLElBQUEsQ0FDVjtBQUdELFNBQVEsVUFBd0IsSUFBSSxhQUFhLE1BQU0sY0FBYyxPQUFPLFFBQVE7QUFBQSxNQUNsRixTQUFTO0FBQUEsSUFBQSxDQUNWO0FBRU8sU0FBQSxTQUFTLElBQUksNEJBQTRCLElBQUk7QUFBQSxFQUFBO0FBQUEsRUEzQnJELElBQVcsS0FBSyxPQUFtQjtBQUNqQyxTQUFLLFFBQVE7QUFBQSxFQUNmO0FBQUEsRUFDQSxJQUFXLE9BQW1COztBQUNyQixhQUFBLFVBQUssV0FBTCxtQkFBYSxTQUFRLEtBQUs7QUFBQSxFQUNuQztBQUFBLEVBd0JnQixvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbkIsU0FBQSxTQUFTLEtBQUssUUFBUSxlQUFlO0FBQ3JDLFNBQUEsaUJBQWlCLFNBQVMsTUFBTSxLQUFLLGFBQUEsR0FBZ0IsRUFBRSxRQUFRLEtBQUssT0FBTyxPQUFRLENBQUE7QUFBQSxFQUMxRjtBQUFBO0FBQUEsRUFHUSxlQUFxQjtBQUMzQixRQUFJLEtBQUssVUFBVTtBQUNqQjtBQUFBLElBQ0Y7QUFHTSxVQUFBLFdBQVcsS0FBSyxRQUFRLGVBQWU7QUFDN0MsUUFBSSxZQUFZLENBQUMsU0FBUyxZQUFZLEtBQUssU0FBUztBQUNsRDtBQUFBLElBQ0Y7QUFDSyxTQUFBLFVBQVUsQ0FBQyxLQUFLO0FBQ3JCLFNBQUssT0FBTztBQUNaLFNBQUssUUFBUTtBQUNiLFNBQUssV0FBVztFQUNsQjtBQUFBLEVBRW1CLFdBQVcsbUJBQStDOztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFFBQUEsa0JBQWtCLElBQUksU0FBUyxHQUFHO0FBQ3BDLFdBQUssYUFBYSxnQkFBZ0IsR0FBRyxLQUFLLE9BQU8sRUFBRTtBQUFBLElBQ3JEO0FBRU0sVUFBQSxZQUFXLFVBQUssWUFBTCw4QkFBZTtBQUM1QixRQUFBLFlBQVksQ0FBQyxTQUFTLFlBQVksa0JBQWtCLElBQUksU0FBUyxLQUFLLEtBQUssU0FBUztBQUN0RiwyQ0FBVSxLQUFLLE9BQU8sQ0FBQyxNQUFNLE1BQU0sTUFBTSxRQUFRLENBQUMsTUFBTyxFQUFFLFVBQVU7QUFBQSxJQUN2RTtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixpQkFBaUM7QUFDM0MsV0FBQTtBQUFBLG9EQUN5QyxLQUFLLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsOEJBSzNDLEtBQUssTUFBTTtBQUFBO0FBQUE7QUFBQSxFQUd2QztBQUNGO0FBOUZhLGNBR1ksU0FBeUI7QUFIckMsY0FJWSxTQUFTO0FBQUEsRUFDOUIsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUNWO0FBR29DLGdCQUFBO0FBQUEsRUFBbkMsU0FBUyxFQUFFLFNBQVMsTUFBTTtBQUFBLEdBWGhCLGNBV3lCLFdBQUEsVUFBQSxDQUFBO0FBR2UsZ0JBQUE7QUFBQSxFQUFsRCxTQUFTLEVBQUUsU0FBUyxNQUFNLE1BQU0sU0FBUztBQUFBLEdBZC9CLGNBY3dDLFdBQUEsV0FBQSxDQUFBO0FBSXhDLGdCQUFBO0FBQUEsRUFEVixTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FqQmhCLGNBa0JBLFdBQUEsUUFBQSxDQUFBO0FBbEJBLGdCQUFOLGdCQUFBO0FBQUEsRUFGTixjQUFjLFNBQVM7QUFBQSxFQUN2QixVQUFVO0FBQUEsR0FDRSxhQUFBOyJ9
291
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWdHcm91cEVsZW1lbnQgfSBmcm9tICcuLi90YWctZ3JvdXAuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWcuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFnU2l6ZSA9ICdzJyB8ICdtJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHNlbGVjdGFibGUgZWxlbWVudCB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIGZpbHRlci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0YWcgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGFuIGljb24gYXQgdGhlIGNvbXBvbmVudCBzdGFydCwgYnkgcHJvdmlkaW5nIGEgYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAc2xvdCBhbW91bnQgLSBQcm92aWRlIGFuIGFtb3VudCB0byBzaG93IGl0IGF0IHRoZSBjb21wb25lbnQgZW5kLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gaW5wdXQgLSBJbnB1dCBldmVudCBlbWl0dGVyXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gQ2hhbmdlIGV2ZW50IGVtaXR0ZXJcbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWcnKVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiVGFnRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIGRpZENoYW5nZTogJ2RpZENoYW5nZScsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhZy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYW1vdW50Pzogc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWcgaXMgY2hlY2tlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8qKiBUYWcgc2l6ZS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IFNiYlRhZ1NpemUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBzaXplKCk6IFNiYlRhZ1NpemUge1xuICAgIHJldHVybiB0aGlzLl9ncm91cD8uc2l6ZSA/PyB0aGlzLl9zaXplO1xuICB9XG4gIHByaXZhdGUgX3NpemU6IFNiYlRhZ1NpemUgPSAnbSc7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY29ubmVjdGVkIHRhZyBncm91cC4gKi9cbiAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlRhZ0dyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBJbnB1dCBldmVudCBlbWl0dGVyICovXG4gIHByaXZhdGUgX2lucHV0OiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRhZ0VsZW1lbnQuZXZlbnRzLmlucHV0LCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIG9ubHkgdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS4gKi9cbiAgcHJpdmF0ZSBfZGlkQ2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRhZ0VsZW1lbnQuZXZlbnRzLmRpZENoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBDaGFuZ2UgZXZlbnQgZW1pdHRlciAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVGFnRWxlbWVudC5ldmVudHMuY2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2dyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItdGFnLWdyb3VwJykgYXMgU2JiVGFnR3JvdXBFbGVtZW50O1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpLCB7IHNpZ25hbDogdGhpcy5fYWJvcnQuc2lnbmFsIH0pO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gYnV0dG9uIGNsaWNrLiBJbnZlcnRzIHRoZSBjaGVja2VkIHZhbHVlIGFuZCBlbWl0cyBldmVudHMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBkZWFjdGl2YXRpbmcgb24gZXhjbHVzaXZlIC8gcmFkaW8gbW9kZVxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItdGFnLWdyb3VwJyk7XG4gICAgaWYgKHRhZ0dyb3VwICYmICF0YWdHcm91cC5tdWx0aXBsZSAmJiB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICB0aGlzLl9pbnB1dC5lbWl0KCk7XG4gICAgdGhpcy5fY2hhbmdlLmVtaXQoKTtcbiAgICB0aGlzLl9kaWRDaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCBgJHt0aGlzLmNoZWNrZWR9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgdGFnR3JvdXAgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXRhZy1ncm91cCcpO1xuICAgIGlmICh0YWdHcm91cCAmJiAhdGFnR3JvdXAubXVsdGlwbGUgJiYgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykgJiYgdGhpcy5jaGVja2VkKSB7XG4gICAgICB0YWdHcm91cD8udGFncy5maWx0ZXIoKHQpID0+IHQgIT09IHRoaXMpLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWdfX2ljb24gc2JiLXRhZy0tc2hpZnRcIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fdGV4dCBzYmItdGFnLS1zaGlmdFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWdfX2Ftb3VudCBzYmItdGFnLS1zaGlmdFwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhZyc6IFNiYlRhZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEJPLElBQU0sZ0JBQU4sY0FBNEI7QUFBQSxFQUNqQywrQkFBK0Isb0JBQW9CO0FBQ3JELEVBQUU7QUFBQSxFQUZLLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQWN1QyxTQUFPLFVBQVU7QUFVN0QsU0FBUSxRQUFvQjtBQUc1QixTQUFRLFNBQW9DO0FBRzVDLFNBQVEsU0FBdUIsSUFBSSxhQUFhLE1BQU0sY0FBYyxPQUFPLE9BQU87QUFBQSxNQUNoRixTQUFTO0FBQUEsTUFDVCxVQUFVO0FBQUEsSUFBQSxDQUNYO0FBR0QsU0FBUSxhQUEyQixJQUFJLGFBQWEsTUFBTSxjQUFjLE9BQU8sV0FBVztBQUFBLE1BQ3hGLFNBQVM7QUFBQSxJQUFBLENBQ1Y7QUFHRCxTQUFRLFVBQXdCLElBQUksYUFBYSxNQUFNLGNBQWMsT0FBTyxRQUFRO0FBQUEsTUFDbEYsU0FBUztBQUFBLElBQUEsQ0FDVjtBQUVPLFNBQUEsU0FBUyxJQUFJLDRCQUE0QixJQUFJO0FBQUEsRUFBQTtBQUFBLEVBM0JyRCxJQUFXLEtBQUssT0FBbUI7QUFDakMsU0FBSyxRQUFRO0FBQUEsRUFDZjtBQUFBLEVBQ0EsSUFBVyxPQUFtQjs7QUFDckIsYUFBQSxVQUFLLFdBQUwsbUJBQWEsU0FBUSxLQUFLO0FBQUEsRUFDbkM7QUFBQSxFQXdCZ0Isb0JBQTBCO0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ25CLFNBQUEsU0FBUyxLQUFLLFFBQVEsZUFBZTtBQUNyQyxTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxhQUFBLEdBQWdCLEVBQUUsUUFBUSxLQUFLLE9BQU8sT0FBUSxDQUFBO0FBQUEsRUFDMUY7QUFBQTtBQUFBLEVBR1EsZUFBcUI7QUFDM0IsUUFBSSxLQUFLLFVBQVU7QUFDakI7QUFBQSxJQUNGO0FBR00sVUFBQSxXQUFXLEtBQUssUUFBUSxlQUFlO0FBQzdDLFFBQUksWUFBWSxDQUFDLFNBQVMsWUFBWSxLQUFLLFNBQVM7QUFDbEQ7QUFBQSxJQUNGO0FBQ0ssU0FBQSxVQUFVLENBQUMsS0FBSztBQUNyQixTQUFLLE9BQU87QUFDWixTQUFLLFFBQVE7QUFDYixTQUFLLFdBQVc7RUFDbEI7QUFBQSxFQUVtQixXQUFXLG1CQUErQzs7QUFDM0UsVUFBTSxXQUFXLGlCQUFpQjtBQUU5QixRQUFBLGtCQUFrQixJQUFJLFNBQVMsR0FBRztBQUNwQyxXQUFLLGFBQWEsZ0JBQWdCLEdBQUcsS0FBSyxPQUFPLEVBQUU7QUFBQSxJQUNyRDtBQUVNLFVBQUEsWUFBVyxVQUFLLFlBQUwsOEJBQWU7QUFDNUIsUUFBQSxZQUFZLENBQUMsU0FBUyxZQUFZLGtCQUFrQixJQUFJLFNBQVMsS0FBSyxLQUFLLFNBQVM7QUFDdEYsMkNBQVUsS0FBSyxPQUFPLENBQUMsTUFBTSxNQUFNLE1BQU0sUUFBUSxDQUFDLE1BQU8sRUFBRSxVQUFVO0FBQUEsSUFDdkU7QUFBQSxFQUNGO0FBQUEsRUFFbUIsaUJBQWlDO0FBQzNDLFdBQUE7QUFBQSxvREFDeUMsS0FBSyxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDhCQUszQyxLQUFLLE1BQU07QUFBQTtBQUFBO0FBQUEsRUFHdkM7QUFDRjtBQTlGYSxjQUdZLFNBQXlCO0FBSHJDLGNBSVksU0FBUztBQUFBLEVBQzlCLE9BQU87QUFBQSxFQUNQLFdBQVc7QUFBQSxFQUNYLFFBQVE7QUFDVjtBQUdvQyxnQkFBQTtBQUFBLEVBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxHQVhoQixjQVd5QixXQUFBLFVBQUEsQ0FBQTtBQUdlLGdCQUFBO0FBQUEsRUFBbEQsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFNBQVM7QUFBQSxHQWQvQixjQWN3QyxXQUFBLFdBQUEsQ0FBQTtBQUl4QyxnQkFBQTtBQUFBLEVBRFYsU0FBUyxFQUFFLFNBQVMsTUFBTTtBQUFBLEdBakJoQixjQWtCQSxXQUFBLFFBQUEsQ0FBQTtBQWxCQSxnQkFBTixnQkFBQTtBQUFBLEVBRk4sY0FBYyxTQUFTO0FBQUEsRUFDdkIsVUFBVTtBQUFBLEdBQ0UsYUFBQTsifQ==
@@ -47,7 +47,6 @@ export declare class SbbToggleElement extends LitElement {
47
47
  updatePillPosition(resizing: boolean): void;
48
48
  connectedCallback(): void;
49
49
  protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
50
- disconnectedCallback(): void;
51
50
  private _updateToggle;
52
51
  private _valueChanged;
53
52
  private _updateDisabled;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAIa,gBAAiB,SAAQ,UAAU;IAC9C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,sCAAsC;IACtC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACgD,IAAI,EAAE,OAAO,CAAS;IAEzE,mCAAmC;IACC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAO;IAE3D;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAAmE;IAEhG;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAIa,gBAAiB,SAAQ,UAAU;IAC9C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,sCAAsC;IACtC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACgD,IAAI,EAAE,OAAO,CAAS;IAEzE,mCAAmC;IACC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAO;IAE3D;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAI1B;IAEH;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -177,7 +177,7 @@ let SbbToggleOptionElement = class extends SbbIconNameMixin(LitElement) {
177
177
  id="sbb-toggle-option-id"
178
178
  aria-hidden="true"
179
179
  tabindex="-1"
180
- .inert=${this.checked}
180
+ ?inert=${this.checked}
181
181
  ?disabled=${this.disabled}
182
182
  .checked=${this.checked || nothing}
183
183
  .value=${this.value || nothing}
@@ -212,4 +212,4 @@ SbbToggleOptionElement = __decorateClass([
212
212
  export {
213
213
  SbbToggleOptionElement
214
214
  };
215
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4uL3RvZ2dsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1vcHRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRvZ2dsZSBvcHRpb24gd2l0aGluIGEgYHNiYi10b2dnbGVgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGxhYmVsIG9mIHRoZSB0b2dnbGUgb3B0aW9uLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byByZW5kZXIgdGhlIGBzYmItaWNvbmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlLW9wdGlvbicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmFkaW8nLFxufSlcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRvZ2dsZS1vcHRpb24gaXMgY2hlY2tlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBWYWx1ZSBvZiB0b2dnbGUtb3B0aW9uLiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IGAke3ZhbHVlfWA7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlPzogU2JiVG9nZ2xlRWxlbWVudDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcblxuICAgIC8vIFdlIG5lZWQgdG8gbGlzdGVuIGlucHV0IGV2ZW50IG9uIGhvc3QgYXMgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgLy8gdGhlIElucHV0IEV2ZW50IGlzIHRyaWdnZXJlZCBmcm9tIHNiYi10b2dnbGUuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk/LmNsaWNrKCksIHtcbiAgICAgIHNpZ25hbCxcbiAgICB9KTtcbiAgICAvLyBXZSBjYW4gdXNlIGNsb3Nlc3QgaGVyZSwgYXMgd2UgZXhwZWN0IHRoZSBwYXJlbnQgc2JiLXRvZ2dsZSB0byBiZSBpbiBsaWdodCBET00uXG4gICAgdGhpcy5fdG9nZ2xlID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10b2dnbGUnKSA/PyB1bmRlZmluZWQ7XG4gICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgYCR7dGhpcy5jaGVja2VkfWApO1xuICAgICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5fdW5jaGVja090aGVyT3B0aW9ucygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VuY2hlY2tPdGhlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlPy5vcHRpb25zLmZpbHRlcigobykgPT4gbyAhPT0gdGhpcykuZm9yRWFjaCgobykgPT4gKG8uY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlRGlzYWJsZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gRW5mb3JjZSBkaXNhYmxlZCBzdGF0ZSBmcm9tIHBhcmVudC5cbiAgICBpZiAoIXRoaXMuX3RvZ2dsZSkge1xuICAgICAgLy8gSWdub3JlIGlsbGVnYWwgc3RhdGUuIE91ciBleHBlY3RhdGlvbiAgaXMgdGhhdCBhIHNiYi10b2dnbGUtb3B0aW9uXG4gICAgICAvLyBhbHdheXMgaGFzIGEgcGFyZW50IHNiYi10b2dnbGUuXG4gICAgfSBlbHNlIGlmICh0aGlzLl90b2dnbGUuZGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX3RvZ2dsZS5kaXNhYmxlZCAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCA/IGB0cnVlYCA6IG51bGwpO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuX3VuY2hlY2tPdGhlck9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZlcmlmeVRhYmluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBpZD1cInNiYi10b2dnbGUtb3B0aW9uLWlkXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIC5pbmVydD0ke3RoaXMuY2hlY2tlZH1cbiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgLmNoZWNrZWQ9JHt0aGlzLmNoZWNrZWQgfHwgbm90aGluZ31cbiAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZSB8fCBub3RoaW5nfVxuICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAvPlxuICAgICAgPGxhYmVsIGNsYXNzPVwic2JiLXRvZ2dsZS1vcHRpb25cIiBmb3I9XCJzYmItdG9nZ2xlLW9wdGlvbi1pZFwiPlxuICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1vcHRpb24nOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Qk8sSUFBTSx5QkFBTixjQUFxQyxpQkFBaUIsVUFBVSxFQUFFO0FBQUEsRUFBbEUsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBS0wsU0FBTyxVQUFVO0FBSWpCLFNBQU8sV0FBb0I7QUFVM0IsU0FBUSxTQUFpQjtBQUdqQixTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQVRyRCxJQUFXLE1BQU0sT0FBZTtBQUN6QixTQUFBLFNBQVMsR0FBRyxLQUFLO0FBQUEsRUFDeEI7QUFBQSxFQUNBLElBQVcsUUFBZ0I7QUFDekIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBTWdCLG9CQUEwQjs7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUl0QixTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxRQUFRO0FBQy9ELFNBQUEsaUJBQWlCLFNBQVM7O0FBQU0sY0FBQUEsTUFBQSxLQUFLLFdBQVksY0FBYyxPQUFPLE1BQXRDLGdCQUFBQSxJQUF5QztBQUFBLE9BQVM7QUFBQSxNQUNyRjtBQUFBLElBQUEsQ0FDRDtBQUVELFNBQUssWUFBVSxVQUFLLFlBQUwsOEJBQWUsa0JBQWlCO0FBQy9DLFNBQUssZ0JBQWdCO0FBQUEsRUFDdkI7QUFBQSxFQUVtQixXQUFXLG1CQUErQztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFFBQUEsa0JBQWtCLElBQUksU0FBUyxHQUFHO0FBQ3BDLFdBQUssYUFBYSxnQkFBZ0IsR0FBRyxLQUFLLE9BQU8sRUFBRTtBQUNuRCxXQUFLLGdCQUFnQjtBQUNyQixVQUFJLEtBQUssU0FBUztBQUNoQixhQUFLLHFCQUFxQjtBQUFBLE1BQzVCO0FBQUEsSUFDRjtBQUNJLFFBQUEsa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3JDLFdBQUssc0JBQXNCO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBQUEsRUFFUSx1QkFBNkI7O0FBQ25DLGVBQUssWUFBTCxtQkFBYyxRQUFRLE9BQU8sQ0FBQyxNQUFNLE1BQU0sTUFBTSxRQUFRLENBQUMsTUFBTyxFQUFFLFVBQVU7QUFDdkUsZUFBQSxZQUFBLG1CQUFTLG1CQUFtQjtBQUFBLEVBQ25DO0FBQUEsRUFFUSx3QkFBOEI7QUFFaEMsUUFBQSxDQUFDLEtBQUssUUFBUztBQUFBLGFBR1IsS0FBSyxRQUFRLFlBQVksQ0FBQyxLQUFLLFVBQVU7QUFDbEQsV0FBSyxXQUFXO0FBQUEsSUFBQSxXQUNQLENBQUMsS0FBSyxRQUFRLFlBQVksS0FBSyxVQUFVO0FBQ2xELFdBQUssV0FBVztBQUFBLElBQ2xCO0FBQ0EseUJBQXFCLE1BQU0saUJBQWlCLEtBQUssV0FBVyxTQUFTLElBQUk7QUFDekUsU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBLEVBRVEsZUFBcUI7QUFDM0IsUUFBSSxLQUFLLFVBQVU7QUFDakI7QUFBQSxJQUNGO0FBQ0EsU0FBSyxVQUFVO0FBQ2YsU0FBSyxxQkFBcUI7QUFBQSxFQUM1QjtBQUFBLEVBRVEsa0JBQXdCO0FBQzlCLFNBQUssV0FBVyxLQUFLLFdBQVcsQ0FBQyxLQUFLLFdBQVcsSUFBSTtBQUFBLEVBQ3ZEO0FBQUEsRUFFbUIsU0FBeUI7QUFDbkMsV0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFNTSxLQUFLLE9BQU87QUFBQSxvQkFDVCxLQUFLLFFBQVE7QUFBQSxtQkFDZCxLQUFLLFdBQVcsT0FBTztBQUFBLGlCQUN6QixLQUFLLFNBQVMsT0FBTztBQUFBLGlCQUNyQixDQUFDLFVBQXdCLE1BQU0saUJBQWlCO0FBQUE7QUFBQTtBQUFBLFVBR3ZELEtBQUssZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTdCO0FBQ0Y7QUExR2EsdUJBQ1ksU0FBeUI7QUFJekMsZ0JBQUE7QUFBQSxFQUROLFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsR0FKL0IsdUJBS0osV0FBQSxXQUFBLENBQUE7QUFJQSxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFNBQVM7QUFBQSxHQVIvQix1QkFTSixXQUFBLFlBQUEsQ0FBQTtBQUlJLGdCQUFBO0FBQUEsRUFEVixTQUFTO0FBQUEsR0FaQyx1QkFhQSxXQUFBLFNBQUEsQ0FBQTtBQWJBLHlCQUFOLGdCQUFBO0FBQUEsRUFMTixjQUFjLG1CQUFtQjtBQUFBLEVBQ2pDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxFQUNBLFVBQVU7QUFBQSxHQUNFLHNCQUFBOyJ9
215
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4uL3RvZ2dsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1vcHRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRvZ2dsZSBvcHRpb24gd2l0aGluIGEgYHNiYi10b2dnbGVgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGxhYmVsIG9mIHRoZSB0b2dnbGUgb3B0aW9uLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byByZW5kZXIgdGhlIGBzYmItaWNvbmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlLW9wdGlvbicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmFkaW8nLFxufSlcbkBzbG90U3RhdGUoKVxuZXhwb3J0IGNsYXNzIFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRvZ2dsZS1vcHRpb24gaXMgY2hlY2tlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBWYWx1ZSBvZiB0b2dnbGUtb3B0aW9uLiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IGAke3ZhbHVlfWA7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlPzogU2JiVG9nZ2xlRWxlbWVudDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcblxuICAgIC8vIFdlIG5lZWQgdG8gbGlzdGVuIGlucHV0IGV2ZW50IG9uIGhvc3QgYXMgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgLy8gdGhlIElucHV0IEV2ZW50IGlzIHRyaWdnZXJlZCBmcm9tIHNiYi10b2dnbGUuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk/LmNsaWNrKCksIHtcbiAgICAgIHNpZ25hbCxcbiAgICB9KTtcbiAgICAvLyBXZSBjYW4gdXNlIGNsb3Nlc3QgaGVyZSwgYXMgd2UgZXhwZWN0IHRoZSBwYXJlbnQgc2JiLXRvZ2dsZSB0byBiZSBpbiBsaWdodCBET00uXG4gICAgdGhpcy5fdG9nZ2xlID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10b2dnbGUnKSA/PyB1bmRlZmluZWQ7XG4gICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgYCR7dGhpcy5jaGVja2VkfWApO1xuICAgICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5fdW5jaGVja090aGVyT3B0aW9ucygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VuY2hlY2tPdGhlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlPy5vcHRpb25zLmZpbHRlcigobykgPT4gbyAhPT0gdGhpcykuZm9yRWFjaCgobykgPT4gKG8uY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlRGlzYWJsZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gRW5mb3JjZSBkaXNhYmxlZCBzdGF0ZSBmcm9tIHBhcmVudC5cbiAgICBpZiAoIXRoaXMuX3RvZ2dsZSkge1xuICAgICAgLy8gSWdub3JlIGlsbGVnYWwgc3RhdGUuIE91ciBleHBlY3RhdGlvbiAgaXMgdGhhdCBhIHNiYi10b2dnbGUtb3B0aW9uXG4gICAgICAvLyBhbHdheXMgaGFzIGEgcGFyZW50IHNiYi10b2dnbGUuXG4gICAgfSBlbHNlIGlmICh0aGlzLl90b2dnbGUuZGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX3RvZ2dsZS5kaXNhYmxlZCAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCA/IGB0cnVlYCA6IG51bGwpO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuX3VuY2hlY2tPdGhlck9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZlcmlmeVRhYmluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBpZD1cInNiYi10b2dnbGUtb3B0aW9uLWlkXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgID9pbmVydD0ke3RoaXMuY2hlY2tlZH1cbiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgLmNoZWNrZWQ9JHt0aGlzLmNoZWNrZWQgfHwgbm90aGluZ31cbiAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZSB8fCBub3RoaW5nfVxuICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAvPlxuICAgICAgPGxhYmVsIGNsYXNzPVwic2JiLXRvZ2dsZS1vcHRpb25cIiBmb3I9XCJzYmItdG9nZ2xlLW9wdGlvbi1pZFwiPlxuICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1vcHRpb24nOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Qk8sSUFBTSx5QkFBTixjQUFxQyxpQkFBaUIsVUFBVSxFQUFFO0FBQUEsRUFBbEUsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBS0wsU0FBTyxVQUFVO0FBSWpCLFNBQU8sV0FBb0I7QUFVM0IsU0FBUSxTQUFpQjtBQUdqQixTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQVRyRCxJQUFXLE1BQU0sT0FBZTtBQUN6QixTQUFBLFNBQVMsR0FBRyxLQUFLO0FBQUEsRUFDeEI7QUFBQSxFQUNBLElBQVcsUUFBZ0I7QUFDekIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBTWdCLG9CQUEwQjs7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUl0QixTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxRQUFRO0FBQy9ELFNBQUEsaUJBQWlCLFNBQVM7O0FBQU0sY0FBQUEsTUFBQSxLQUFLLFdBQVksY0FBYyxPQUFPLE1BQXRDLGdCQUFBQSxJQUF5QztBQUFBLE9BQVM7QUFBQSxNQUNyRjtBQUFBLElBQUEsQ0FDRDtBQUVELFNBQUssWUFBVSxVQUFLLFlBQUwsOEJBQWUsa0JBQWlCO0FBQy9DLFNBQUssZ0JBQWdCO0FBQUEsRUFDdkI7QUFBQSxFQUVtQixXQUFXLG1CQUErQztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFFBQUEsa0JBQWtCLElBQUksU0FBUyxHQUFHO0FBQ3BDLFdBQUssYUFBYSxnQkFBZ0IsR0FBRyxLQUFLLE9BQU8sRUFBRTtBQUNuRCxXQUFLLGdCQUFnQjtBQUNyQixVQUFJLEtBQUssU0FBUztBQUNoQixhQUFLLHFCQUFxQjtBQUFBLE1BQzVCO0FBQUEsSUFDRjtBQUNJLFFBQUEsa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3JDLFdBQUssc0JBQXNCO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBQUEsRUFFUSx1QkFBNkI7O0FBQ25DLGVBQUssWUFBTCxtQkFBYyxRQUFRLE9BQU8sQ0FBQyxNQUFNLE1BQU0sTUFBTSxRQUFRLENBQUMsTUFBTyxFQUFFLFVBQVU7QUFDdkUsZUFBQSxZQUFBLG1CQUFTLG1CQUFtQjtBQUFBLEVBQ25DO0FBQUEsRUFFUSx3QkFBOEI7QUFFaEMsUUFBQSxDQUFDLEtBQUssUUFBUztBQUFBLGFBR1IsS0FBSyxRQUFRLFlBQVksQ0FBQyxLQUFLLFVBQVU7QUFDbEQsV0FBSyxXQUFXO0FBQUEsSUFBQSxXQUNQLENBQUMsS0FBSyxRQUFRLFlBQVksS0FBSyxVQUFVO0FBQ2xELFdBQUssV0FBVztBQUFBLElBQ2xCO0FBQ0EseUJBQXFCLE1BQU0saUJBQWlCLEtBQUssV0FBVyxTQUFTLElBQUk7QUFDekUsU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBLEVBRVEsZUFBcUI7QUFDM0IsUUFBSSxLQUFLLFVBQVU7QUFDakI7QUFBQSxJQUNGO0FBQ0EsU0FBSyxVQUFVO0FBQ2YsU0FBSyxxQkFBcUI7QUFBQSxFQUM1QjtBQUFBLEVBRVEsa0JBQXdCO0FBQzlCLFNBQUssV0FBVyxLQUFLLFdBQVcsQ0FBQyxLQUFLLFdBQVcsSUFBSTtBQUFBLEVBQ3ZEO0FBQUEsRUFFbUIsU0FBeUI7QUFDbkMsV0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFNTSxLQUFLLE9BQU87QUFBQSxvQkFDVCxLQUFLLFFBQVE7QUFBQSxtQkFDZCxLQUFLLFdBQVcsT0FBTztBQUFBLGlCQUN6QixLQUFLLFNBQVMsT0FBTztBQUFBLGlCQUNyQixDQUFDLFVBQXdCLE1BQU0saUJBQWlCO0FBQUE7QUFBQTtBQUFBLFVBR3ZELEtBQUssZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTdCO0FBQ0Y7QUExR2EsdUJBQ1ksU0FBeUI7QUFJekMsZ0JBQUE7QUFBQSxFQUROLFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsR0FKL0IsdUJBS0osV0FBQSxXQUFBLENBQUE7QUFJQSxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFNBQVM7QUFBQSxHQVIvQix1QkFTSixXQUFBLFlBQUEsQ0FBQTtBQUlJLGdCQUFBO0FBQUEsRUFEVixTQUFTO0FBQUEsR0FaQyx1QkFhQSxXQUFBLFNBQUEsQ0FBQTtBQWJBLHlCQUFOLGdCQUFBO0FBQUEsRUFMTixjQUFjLG1CQUFtQjtBQUFBLEVBQ2pDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxFQUNBLFVBQVU7QUFBQSxHQUNFLHNCQUFBOyJ9
@@ -1,10 +1,10 @@
1
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
1
2
  import { css, LitElement, isServer, html } from "lit";
2
3
  import { property, customElement } from "lit/decorators.js";
3
4
  import { interactivityChecker, isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
4
5
  import { SbbConnectedAbortController } from "../core/controllers.js";
5
6
  import { hostAttributes } from "../core/decorators.js";
6
7
  import { EventEmitter } from "../core/eventing.js";
7
- import { AgnosticResizeObserver } from "../core/observers.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
  /*
10
10
  * SBB table mixin
@@ -139,7 +139,11 @@ let SbbToggleElement = class extends LitElement {
139
139
  this.size = "m";
140
140
  this._value = null;
141
141
  this._loaded = false;
142
- this._toggleResizeObserver = new AgnosticResizeObserver(() => this.updatePillPosition(true));
142
+ this._toggleResizeObserver = new ResizeController(this, {
143
+ target: null,
144
+ skipInitial: true,
145
+ callback: () => this.updatePillPosition(true)
146
+ });
143
147
  this._didChange = new EventEmitter(this, SbbToggleElement.events.didChange, {
144
148
  bubbles: true,
145
149
  composed: true
@@ -206,10 +210,6 @@ let SbbToggleElement = class extends LitElement {
206
210
  this._loaded = true;
207
211
  this.updatePillPosition(false);
208
212
  }
209
- disconnectedCallback() {
210
- super.disconnectedCallback();
211
- this._toggleResizeObserver.disconnect();
212
- }
213
213
  _updateToggle() {
214
214
  this._valueChanged(this.value);
215
215
  this._updateDisabled();
@@ -297,4 +297,4 @@ SbbToggleElement = __decorateClass([
297
297
  export {
298
298
  SbbToggleElement
299
299
  };
300
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi4vLi4vY29yZS9vYnNlcnZlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUb2dnbGVPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vdG9nZ2xlLW9wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciB0d28gYHNiYi10b2dnbGUtb3B0aW9uYCwgYWN0aW5nIGFzIGEgdG9nZ2xlIGJ1dHRvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgPHNiYi10b2dnbGUtb3B0aW9uPmAgZWxlbWVudHMgdG8gdGhlIHRvZ2dsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENoYW5nZSAtIERlcHJlY2F0ZWQuIHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBjaGFuZ2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgdG9nZ2xlIHZhbHVlIGNoYW5nZXMuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdyYWRpb2dyb3VwJyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiVG9nZ2xlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzZXQgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQgZml4ZWQ7IGlmIGZhbHNlLFxuICAgKiB0aGUgd2lkdGggaXMgZHluYW1pYyBiYXNlZCBvbiB0aGUgbGFiZWwgb2YgdGhlIHNiYi10b2dnbGUtb3B0aW9uLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZXZlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU/OiAncycgfCAnbScgPSAnbSc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdG9nZ2xlLiBJdCBuZWVkcyB0byBiZSBtdXRhYmxlIHNpbmNlIGl0IGlzIHVwZGF0ZWQgd2hlbmV2ZXJcbiAgICogYSBuZXcgb3B0aW9uIGlzIHNlbGVjdGVkIChzZWUgdGhlIGBvblRvZ2dsZU9wdGlvblNlbGVjdCgpYCBtZXRob2QpLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZWQodmFsdWUpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzU2VydmVyXG4gICAgICA/ICh0aGlzLl92YWx1ZSA/PyAnJylcbiAgICAgIDogKHRoaXMub3B0aW9ucy5maW5kKChvKSA9PiBvLmNoZWNrZWQpPy52YWx1ZSA/PyB0aGlzLm9wdGlvbnNbMF0/LnZhbHVlID8/ICcnKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBjaGlsZCBpbnN0YW5jZXMgb2Ygc2JiLXRvZ2dsZS1vcHRpb24gYXMgYW4gYXJyYXkuICovXG4gIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItdG9nZ2xlLW9wdGlvbicpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF90b2dnbGVSZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKHRydWUpKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgb25seSB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICAgKiBFbWl0cyB3aGVuZXZlciB0aGUgdG9nZ2xlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIF9kaWRDaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVG9nZ2xlRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRvZ2dsZUVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyB1cGRhdGVQaWxsUG9zaXRpb24ocmVzaXppbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgY29uc3QgdG9nZ2xlRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5zYmItdG9nZ2xlJyk7XG5cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jaGVja2VkKSB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2xpZW50V2lkdGgpIHx8XG4gICAgICAhdG9nZ2xlRWxlbWVudFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGZpcnN0T3B0aW9uLmNoZWNrZWQgPyAnMHB4JyA6IGAke2ZpcnN0T3B0aW9uLmNsaWVudFdpZHRofXB4YDtcbiAgICBjb25zdCBwaWxsUmlnaHQgPSBpc0ZpcnN0Q2hlY2tlZFxuICAgICAgPyBgJHt0b2dnbGVFbGVtZW50LmNsaWVudFdpZHRoIC0gZmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgXG4gICAgICA6ICcwcHgnO1xuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXRvZ2dsZS1vcHRpb24tbGVmdCcsIHBpbGxMZWZ0KTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1yaWdodCcsIHBpbGxSaWdodCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgc2lnbmFsLCBwYXNzaXZlOiB0cnVlIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB0aGlzLl90b2dnbGVSZXNpemVPYnNlcnZlci5vYnNlcnZlKG9wdGlvbikpO1xuICAgIHRoaXMuX3VwZGF0ZVRvZ2dsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RvZ2dsZVJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAvLyBJZiBvcHRpb25zIGFyZSBub3QgeWV0IGRlZmluZWQgd2ViIGNvbXBvbmVudHMsIHdlIGNhbiBjaGVjayBpZiBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBzZXQgYXMgYSBmYWxsYmFjay5cbiAgICAvLyBXZSBkbyB0aGlzIGJ5IGNoZWNraW5nIHdoZXRoZXIgdmFsdWUgcHJvcGVydHkgaXMgYXZhaWxhYmxlIChkZWZpbmVkIGNvbXBvbmVudCkuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPVxuICAgICAgb3B0aW9ucy5maW5kKFxuICAgICAgICAobykgPT4gdmFsdWUgPT09ICgndmFsdWUnIGluIG8gPyBvLnZhbHVlIDogKG8gYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgndmFsdWUnKSksXG4gICAgICApID8/XG4gICAgICBvcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCkgPz9cbiAgICAgIG9wdGlvbnNbMF07XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiAhaXNTZXJ2ZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBzYmItdG9nZ2xlOiBObyBhdmFpbGFibGUgb3B0aW9ucyEgKCR7dGhpcy5pZCB8fCAnTm8gaWQnfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzZWxlY3RlZE9wdGlvbi5jaGVja2VkKSB7XG4gICAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCB0b2dnbGVPcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICB0b2dnbGVPcHRpb24uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGlsbFBvc2l0aW9uKGZhbHNlKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICAgIHRoaXMuX2RpZENoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRUb2dnbGVPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihcbiAgICAgICh0KSA9PiAhdC5kaXNhYmxlZCAmJiBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUodCksXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVG9nZ2xlT3B0aW9ucyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGNoZWNrZWQ6IG51bWJlciA9IGVuYWJsZWRUb2dnbGVPcHRpb25zLmZpbmRJbmRleChcbiAgICAgICAgKHRvZ2dsZU9wdGlvbjogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudCkgPT4gdG9nZ2xlT3B0aW9uLmNoZWNrZWQsXG4gICAgICApO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY2hlY2tlZCwgZW5hYmxlZFRvZ2dsZU9wdGlvbnMubGVuZ3RoKTtcbiAgICAgIGlmICghZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkKSB7XG4gICAgICAgIGVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIGVuYWJsZWRUb2dnbGVPcHRpb25zW25leHRJbmRleF0uZm9jdXMoKTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9nZ2xlXCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fdXBkYXRlVG9nZ2xlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9nZ2xlJzogU2JiVG9nZ2xlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QmEsSUFBQSxtQkFBTixjQUErQixXQUFXO0FBQUEsRUFBMUMsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBZ0JMLFNBQVEs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
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHR3byBgc2JiLXRvZ2dsZS1vcHRpb25gLCBhY3RpbmcgYXMgYSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGA8c2JiLXRvZ2dsZS1vcHRpb24+YCBlbGVtZW50cyB0byB0aGUgdG9nZ2xlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi10b2dnbGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ3JhZGlvZ3JvdXAnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJUb2dnbGVFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRvZ2dsZSBpcyBkaXNhYmxlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNldCB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudCBmaXhlZDsgaWYgZmFsc2UsXG4gICAqIHRoZSB3aWR0aCBpcyBkeW5hbWljIGJhc2VkIG9uIHRoZSBsYWJlbCBvZiB0aGUgc2JiLXRvZ2dsZS1vcHRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBldmVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZT86ICdzJyB8ICdtJyA9ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0b2dnbGUuIEl0IG5lZWRzIHRvIGJlIG11dGFibGUgc2luY2UgaXQgaXMgdXBkYXRlZCB3aGVuZXZlclxuICAgKiBhIG5ldyBvcHRpb24gaXMgc2VsZWN0ZWQgKHNlZSB0aGUgYG9uVG9nZ2xlT3B0aW9uU2VsZWN0KClgIG1ldGhvZCkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gKHRoaXMuX3ZhbHVlID8/ICcnKVxuICAgICAgOiAodGhpcy5vcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCk/LnZhbHVlID8/IHRoaXMub3B0aW9uc1swXT8udmFsdWUgPz8gJycpO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdG9nZ2xlLW9wdGlvbiBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCBvcHRpb25zKCk6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi10b2dnbGUtb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3RvZ2dsZVJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy51cGRhdGVQaWxsUG9zaXRpb24odHJ1ZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBvbmx5IHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUb2dnbGVFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNvbXBvc2VkOiB0cnVlLFxuICB9KTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIHRvZ2dsZSB2YWx1ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiVG9nZ2xlRWxlbWVudC5ldmVudHMuY2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHVwZGF0ZVBpbGxQb3NpdGlvbihyZXNpemluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCB0b2dnbGVFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLnNiYi10b2dnbGUnKTtcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNoZWNrZWQpIHx8XG4gICAgICBvcHRpb25zLmV2ZXJ5KChvKSA9PiAhby5jbGllbnRXaWR0aCkgfHxcbiAgICAgICF0b2dnbGVFbGVtZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1hbmltYXRpb24tb24tcmVzaXppbmcnLCByZXNpemluZyk7XG5cbiAgICBjb25zdCBmaXJzdE9wdGlvbiA9IG9wdGlvbnNbMF07XG4gICAgY29uc3QgaXNGaXJzdENoZWNrZWQgPSBmaXJzdE9wdGlvbi5jaGVja2VkO1xuICAgIGNvbnN0IHBpbGxMZWZ0ID0gZmlyc3RPcHRpb24uY2hlY2tlZCA/ICcwcHgnIDogYCR7Zmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgO1xuICAgIGNvbnN0IHBpbGxSaWdodCA9IGlzRmlyc3RDaGVja2VkXG4gICAgICA/IGAke3RvZ2dsZUVsZW1lbnQuY2xpZW50V2lkdGggLSBmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGBcbiAgICAgIDogJzBweCc7XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1sZWZ0JywgcGlsbExlZnQpO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLXJpZ2h0JywgcGlsbFJpZ2h0KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5faGFuZGxlSW5wdXQoKSwgeyBzaWduYWwsIHBhc3NpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHRoaXMuX3RvZ2dsZVJlc2l6ZU9ic2VydmVyLm9ic2VydmUob3B0aW9uKSk7XG4gICAgdGhpcy5fdXBkYXRlVG9nZ2xlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIC8vIElmIG9wdGlvbnMgYXJlIG5vdCB5ZXQgZGVmaW5lZCB3ZWIgY29tcG9uZW50cywgd2UgY2FuIGNoZWNrIGlmIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHNldCBhcyBhIGZhbGxiYWNrLlxuICAgIC8vIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmcgd2hldGhlciB2YWx1ZSBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgKGRlZmluZWQgY29tcG9uZW50KS5cbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICBvcHRpb25zLmZpbmQoXG4gICAgICAgIChvKSA9PiB2YWx1ZSA9PT0gKCd2YWx1ZScgaW4gbyA/IG8udmFsdWUgOiAobyBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSxcbiAgICAgICkgPz9cbiAgICAgIG9wdGlvbnMuZmluZCgobykgPT4gby5jaGVja2VkKSA/P1xuICAgICAgb3B0aW9uc1swXTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmICFpc1NlcnZlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYHNiYi10b2dnbGU6IE5vIGF2YWlsYWJsZSBvcHRpb25zISAoJHt0aGlzLmlkIHx8ICdObyBpZCd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHNlbGVjdGVkT3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbihmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRvZ2dsZU9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRvZ2dsZU9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oZmFsc2UpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY2hlY2tlZDogbnVtYmVyID0gZW5hYmxlZFRvZ2dsZU9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAodG9nZ2xlT3B0aW9uOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50KSA9PiB0b2dnbGVPcHRpb24uY2hlY2tlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjaGVja2VkLCBlbmFibGVkVG9nZ2xlT3B0aW9ucy5sZW5ndGgpO1xuICAgICAgaWYgKCFlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQpIHtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5mb2N1cygpO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2dnbGVcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl91cGRhdGVUb2dnbGV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCYSxJQUFBLG1CQUFOLGNBQStCLFdBQVc7QUFBQSxFQUExQyxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFnQkwsU0FBUSxZQUFxQjtBQU1lLFNBQU8sT0FBZ0I7QUFHdEMsU0FBTyxPQUFtQjtBQW1CdkQsU0FBUSxTQUF3QjtBQU9o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
@@ -14,12 +14,11 @@ export declare class SbbTrainFormationElement extends SbbTrainFormationElement_b
14
14
  hideWagonLabel: boolean;
15
15
  private _sectors;
16
16
  /** Element that defines the visible content width. */
17
- private _formationDiv;
17
+ private _formationDiv?;
18
18
  private _contentResizeObserver;
19
19
  private _abort;
20
20
  private _language;
21
21
  connectedCallback(): void;
22
- disconnectedCallback(): void;
23
22
  /**
24
23
  * Apply width of the scrollable space of the formation as a css variable. This will be used from
25
24
  * every slotted sbb-train for the direction-label
@@ -1 +1 @@
1
- {"version":3,"file":"train-formation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train-formation/train-formation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;;AAUnD;;;;GAIG;AACH,qBACa,wBAAyB,SAAQ,6BAGjC;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAiB;IAEhE,uCAAuC;IAC2C,cAAc,UACxF;IAEC,OAAO,CAAC,QAAQ,CAA0B;IAEnD,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,sBAAsB,CAA2D;IACzF,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAK5C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;YA0CN,mBAAmB;cAcd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"train-formation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/train/train-formation/train-formation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;;AAUnD;;;;GAIG;AACH,qBACa,wBAAyB,SAAQ,6BAGjC;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAiB;IAEhE,uCAAuC;IAC2C,cAAc,UACxF;IAEC,OAAO,CAAC,QAAQ,CAA0B;IAEnD,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,sBAAsB,CAI3B;IACH,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAOzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;YA0CN,mBAAmB;cAgBd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,MAAM,IAAI,cAAc;CAkC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;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, state, customElement } from "lit/decorators.js";
3
4
  import { ref } from "lit/directives/ref.js";
4
5
  import { SbbConnectedAbortController, SbbLanguageController } from "../core/controllers.js";
5
6
  import { i18nSectorShort, i18nSector, i18nTrains } from "../core/i18n.js";
6
7
  import { SbbNamedSlotListMixin } from "../core/mixins.js";
7
- import { AgnosticResizeObserver } from "../core/observers.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
  /*
10
10
  * SBB table mixin
@@ -173,7 +173,11 @@ let SbbTrainFormationElement = class extends SbbNamedSlotListMixin(LitElement) {
173
173
  this.listChildLocalNames = ["sbb-train"];
174
174
  this.hideWagonLabel = false;
175
175
  this._sectors = [];
176
- this._contentResizeObserver = new AgnosticResizeObserver(() => this._applyCssWidth());
176
+ this._contentResizeObserver = new ResizeController(this, {
177
+ target: null,
178
+ skipInitial: true,
179
+ callback: () => this._applyCssWidth()
180
+ });
177
181
  this._abort = new SbbConnectedAbortController(this);
178
182
  this._language = new SbbLanguageController(this);
179
183
  }
@@ -183,10 +187,6 @@ let SbbTrainFormationElement = class extends SbbNamedSlotListMixin(LitElement) {
183
187
  this.addEventListener("trainSlotChange", (e) => this._readSectors(e), { signal });
184
188
  this.addEventListener("sectorChange", (e) => this._readSectors(e), { signal });
185
189
  }
186
- disconnectedCallback() {
187
- super.disconnectedCallback();
188
- this._contentResizeObserver.disconnect();
189
- }
190
190
  /**
191
191
  * Apply width of the scrollable space of the formation as a css variable. This will be used from
192
192
  * every slotted sbb-train for the direction-label
@@ -232,7 +232,9 @@ let SbbTrainFormationElement = class extends SbbNamedSlotListMixin(LitElement) {
232
232
  if (!el) {
233
233
  return;
234
234
  }
235
- this._contentResizeObserver.disconnect();
235
+ if (this._formationDiv) {
236
+ this._contentResizeObserver.unobserve(this._formationDiv);
237
+ }
236
238
  this._formationDiv = el;
237
239
  this._contentResizeObserver.observe(this._formationDiv);
238
240
  await this.updateComplete;
@@ -285,4 +287,4 @@ SbbTrainFormationElement = __decorateClass([
285
287
  export {
286
288
  SbbTrainFormationElement
287
289
  };
288
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5TZWN0b3IsIGkxOG5TZWN0b3JTaG9ydCwgaTE4blRyYWlucyB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5XYWdvbkVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi13YWdvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4tZm9ybWF0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmludGVyZmFjZSBBZ2dyZWdhdGVkU2VjdG9yIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgd2Fnb25Db3VudDogbnVtYmVyO1xuICBibG9ja2VkUGFzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0cmFpbiBjb21wb3NpdGlvbiwgYWN0aW5nIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRyYWluYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW4tZm9ybWF0aW9uYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1mb3JtYXRpb24nKVxuZXhwb3J0IGNsYXNzIFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiVHJhaW5FbGVtZW50LFxuICB0eXBlb2YgTGl0RWxlbWVudFxuPihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLXRyYWluJ107XG5cbiAgLyoqIE9wdGlvbiB0byBoaWRlIGFsbCB3YWdvbiBsYWJlbHMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtd2Fnb24tbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBoaWRlV2Fnb25MYWJlbCA9XG4gICAgZmFsc2U7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfc2VjdG9yczogQWdncmVnYXRlZFNlY3RvcltdID0gW107XG5cbiAgLyoqIEVsZW1lbnQgdGhhdCBkZWZpbmVzIHRoZSB2aXNpYmxlIGNvbnRlbnQgd2lkdGguICovXG4gIHByaXZhdGUgX2Zvcm1hdGlvbkRpdiE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9jb250ZW50UmVzaXplT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLl9hcHBseUNzc1dpZHRoKCkpO1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCd0cmFpblNsb3RDaGFuZ2UnLCAoZSkgPT4gdGhpcy5fcmVhZFNlY3RvcnMoZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignc2VjdG9yQ2hhbmdlJywgKGUpID0+IHRoaXMuX3JlYWRTZWN0b3JzKGUpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2NvbnRlbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgd2lkdGggb2YgdGhlIHNjcm9sbGFibGUgc3BhY2Ugb2YgdGhlIGZvcm1hdGlvbiBhcyBhIGNzcyB2YXJpYWJsZS4gVGhpcyB3aWxsIGJlIHVzZWQgZnJvbVxuICAgKiBldmVyeSBzbG90dGVkIHNiYi10cmFpbiBmb3IgdGhlIGRpcmVjdGlvbi1sYWJlbFxuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlDc3NXaWR0aCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50V2lkdGggPSB0aGlzLl9mb3JtYXRpb25EaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgdGhpcy5fZm9ybWF0aW9uRGl2LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10cmFpbi1kaXJlY3Rpb24td2lkdGgnLCBgJHtjb250ZW50V2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRTZWN0b3JzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBLZWVwIHRoZSBldmVudCBpbnRlcm5hbC5cbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWN0b3JzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQ+KFxuICAgICAgICAnc2JiLXRyYWluLXdhZ29uLHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnLFxuICAgICAgKSA/PyBbXSxcbiAgICApLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgYWdncmVnYXRlZFNlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSxcbiAgICAgICAgaXRlbTogU2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QWdncmVnYXRlZFNlY3RvciA9IGFnZ3JlZ2F0ZWRTZWN0b3JzW2FnZ3JlZ2F0ZWRTZWN0b3JzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi13YWdvbicpIHtcbiAgICAgICAgICBjb25zdCBzZWN0b3JBdHRyaWJ1dGUgPVxuICAgICAgICAgICAgKGl0ZW0gYXMgU2JiVHJhaW5XYWdvbkVsZW1lbnQpLnNlY3RvciA/PyBpdGVtLmdldEF0dHJpYnV0ZSgnc2VjdG9yJyk7XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsICYmIHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPSBzZWN0b3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFzZWN0b3JBdHRyaWJ1dGUgfHwgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPT09IHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgbGFiZWw6IHNlY3RvckF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgd2Fnb25Db3VudDogMSxcbiAgICAgICAgICAgICAgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKSB7XG4gICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRTZWN0b3JzO1xuICAgICAgfSxcbiAgICAgIFt7IHdhZ29uQ291bnQ6IDAsIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAgfSBhcyBBZ2dyZWdhdGVkU2VjdG9yXSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlRm9ybWF0aW9uRGl2KGVsOiBFbGVtZW50IHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jb250ZW50UmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1hdGlvbkRpdiA9IGVsIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIHRoaXMuX2NvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2Zvcm1hdGlvbkRpdik7XG4gICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgYSBzbGlnaHQgZGlmZmVyZW5jZSBiZXR3ZWVuIGJyb3dzZXIsIGluIGhvdyB0aGVcbiAgICAvLyBvYnNlcnZlciBpcyBjYWxsZWQuIEluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzXG4gICAgLy8gd2Ugc2V0IHRoZSB3aWR0aCBtYW51YWxseSBvbmNlIHRoZSBjb21wb25lbnQgdXBkYXRlIGlzIGNvbXBsZXRlLlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fYXBwbHlDc3NXaWR0aCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fcmVhZFNlY3RvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uXCIgJHtyZWYodGhpcy5fdXBkYXRlRm9ybWF0aW9uRGl2KX0+XG4gICAgICAgICR7dGhpcy5fc2VjdG9ycy5sZW5ndGggJiYgdGhpcy5fc2VjdG9yc1swXS5sYWJlbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fc2VjdG9ycy5tYXAoXG4gICAgICAgICAgICAgICAgKGFnZ3JlZ2F0ZWRTZWN0b3IpID0+XG4gICAgICAgICAgICAgICAgICBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tY291bnQ6ICR7YWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50fTtcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tYmxvY2tlZC1wYXNzYWdlLWNvdW50OiAke2FnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3Rvci1zdGlja3ktd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7YCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQgPT09IDEgJiYgYWdncmVnYXRlZFNlY3Rvci5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGkxOG5TZWN0b3JTaG9ydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICB9ICR7YWdncmVnYXRlZFNlY3Rvci5sYWJlbCA/IGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgOiAnJ31gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluc1wiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW4tbGlzdCcsXG4gICAgICAgICAgICBhcmlhTGFiZWw6IGkxOG5UcmFpbnNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWZvcm1hdGlvbic6IFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ08sSUFBTSwyQkFBTixjQUF1QyxzQkFHNUMsVUFBVSxFQUFFO0FBQUEsRUFIUCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFLdUIsU0FBQSxzQkFBc0IsQ0FBQyxXQUFXO0FBR2EsU0FBTyxp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
290
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4tZm9ybWF0aW9uL3RyYWluLWZvcm1hdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5TZWN0b3IsIGkxOG5TZWN0b3JTaG9ydCwgaTE4blRyYWlucyB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbldhZ29uRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLXdhZ29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5FbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90cmFpbi1mb3JtYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW50ZXJmYWNlIEFnZ3JlZ2F0ZWRTZWN0b3Ige1xuICBsYWJlbDogc3RyaW5nO1xuICB3YWdvbkNvdW50OiBudW1iZXI7XG4gIGJsb2NrZWRQYXNzYWdlQ291bnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRyYWluIGNvbXBvc2l0aW9uLCBhY3RpbmcgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItdHJhaW5gIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCAnc2JiLXRyYWluJyBlbGVtZW50cyB0byB0aGUgYHNiYi10cmFpbi1mb3JtYXRpb25gLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLXRyYWluLWZvcm1hdGlvbicpXG5leHBvcnQgY2xhc3MgU2JiVHJhaW5Gb3JtYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFxuICBTYmJUcmFpbkVsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdHJhaW4nXTtcblxuICAvKiogT3B0aW9uIHRvIGhpZGUgYWxsIHdhZ29uIGxhYmVscy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS13YWdvbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGhpZGVXYWdvbkxhYmVsID1cbiAgICBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9zZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10gPSBbXTtcblxuICAvKiogRWxlbWVudCB0aGF0IGRlZmluZXMgdGhlIHZpc2libGUgY29udGVudCB3aWR0aC4gKi9cbiAgcHJpdmF0ZSBfZm9ybWF0aW9uRGl2PzogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX2FwcGx5Q3NzV2lkdGgoKSxcbiAgfSk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3RyYWluU2xvdENoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSwgeyBzaWduYWwgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdzZWN0b3JDaGFuZ2UnLCAoZSkgPT4gdGhpcy5fcmVhZFNlY3RvcnMoZSksIHsgc2lnbmFsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHdpZHRoIG9mIHRoZSBzY3JvbGxhYmxlIHNwYWNlIG9mIHRoZSBmb3JtYXRpb24gYXMgYSBjc3MgdmFyaWFibGUuIFRoaXMgd2lsbCBiZSB1c2VkIGZyb21cbiAgICogZXZlcnkgc2xvdHRlZCBzYmItdHJhaW4gZm9yIHRoZSBkaXJlY3Rpb24tbGFiZWxcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5Q3NzV2lkdGgoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudFdpZHRoID0gdGhpcy5fZm9ybWF0aW9uRGl2IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICB0aGlzLl9mb3JtYXRpb25EaXYhLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10cmFpbi1kaXJlY3Rpb24td2lkdGgnLCBgJHtjb250ZW50V2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRTZWN0b3JzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBLZWVwIHRoZSBldmVudCBpbnRlcm5hbC5cbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWN0b3JzID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQ+KFxuICAgICAgICAnc2JiLXRyYWluLXdhZ29uLHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnLFxuICAgICAgKSA/PyBbXSxcbiAgICApLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgYWdncmVnYXRlZFNlY3RvcnM6IEFnZ3JlZ2F0ZWRTZWN0b3JbXSxcbiAgICAgICAgaXRlbTogU2JiVHJhaW5XYWdvbkVsZW1lbnQgfCBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QWdncmVnYXRlZFNlY3RvciA9IGFnZ3JlZ2F0ZWRTZWN0b3JzW2FnZ3JlZ2F0ZWRTZWN0b3JzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi13YWdvbicpIHtcbiAgICAgICAgICBjb25zdCBzZWN0b3JBdHRyaWJ1dGUgPVxuICAgICAgICAgICAgKGl0ZW0gYXMgU2JiVHJhaW5XYWdvbkVsZW1lbnQpLnNlY3RvciA/PyBpdGVtLmdldEF0dHJpYnV0ZSgnc2VjdG9yJyk7XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsICYmIHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPSBzZWN0b3JBdHRyaWJ1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFzZWN0b3JBdHRyaWJ1dGUgfHwgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPT09IHNlY3RvckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudCsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgbGFiZWw6IHNlY3RvckF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgd2Fnb25Db3VudDogMSxcbiAgICAgICAgICAgICAgYmxvY2tlZFBhc3NhZ2VDb3VudDogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxvY2FsTmFtZSA9PT0gJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKSB7XG4gICAgICAgICAgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0ZWRTZWN0b3JzO1xuICAgICAgfSxcbiAgICAgIFt7IHdhZ29uQ291bnQ6IDAsIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAgfSBhcyBBZ2dyZWdhdGVkU2VjdG9yXSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlRm9ybWF0aW9uRGl2KGVsOiBFbGVtZW50IHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZm9ybWF0aW9uRGl2KSB7XG4gICAgICB0aGlzLl9jb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX2Zvcm1hdGlvbkRpdik7XG4gICAgfVxuICAgIHRoaXMuX2Zvcm1hdGlvbkRpdiA9IGVsIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIHRoaXMuX2NvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2Zvcm1hdGlvbkRpdik7XG4gICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgYSBzbGlnaHQgZGlmZmVyZW5jZSBiZXR3ZWVuIGJyb3dzZXIsIGluIGhvdyB0aGVcbiAgICAvLyBvYnNlcnZlciBpcyBjYWxsZWQuIEluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzXG4gICAgLy8gd2Ugc2V0IHRoZSB3aWR0aCBtYW51YWxseSBvbmNlIHRoZSBjb21wb25lbnQgdXBkYXRlIGlzIGNvbXBsZXRlLlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgdGhpcy5fYXBwbHlDc3NXaWR0aCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fcmVhZFNlY3RvcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uXCIgJHtyZWYodGhpcy5fdXBkYXRlRm9ybWF0aW9uRGl2KX0+XG4gICAgICAgICR7dGhpcy5fc2VjdG9ycy5sZW5ndGggJiYgdGhpcy5fc2VjdG9yc1swXS5sYWJlbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3JzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fc2VjdG9ycy5tYXAoXG4gICAgICAgICAgICAgICAgKGFnZ3JlZ2F0ZWRTZWN0b3IpID0+XG4gICAgICAgICAgICAgICAgICBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tY291bnQ6ICR7YWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50fTtcbiAgICAgICAgICAgICAgICAtLXNiYi10cmFpbi1mb3JtYXRpb24td2Fnb24tYmxvY2tlZC1wYXNzYWdlLWNvdW50OiAke2FnZ3JlZ2F0ZWRTZWN0b3IuYmxvY2tlZFBhc3NhZ2VDb3VudH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3Rvci1zdGlja3ktd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7YCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQgPT09IDEgJiYgYWdncmVnYXRlZFNlY3Rvci5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IGkxOG5TZWN0b3JTaG9ydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICB9ICR7YWdncmVnYXRlZFNlY3Rvci5sYWJlbCA/IGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgOiAnJ31gfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluc1wiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluLWZvcm1hdGlvbl9fdHJhaW4tbGlzdCcsXG4gICAgICAgICAgICBhcmlhTGFiZWw6IGkxOG5UcmFpbnNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWZvcm1hdGlvbic6IFNiYlRyYWluRm9ybWF0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ08sSUFBTSwyQkFBTixjQUF1QyxzQkFHNUMsVUFBVSxFQUFFO0FBQUEsRUFIUCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFLdUIsU0FBQSxzQkFBc0IsQ0FBQyxXQUFXO0FBR2EsU0FBTyxpQkFD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