@sbb-esta/lyne-elements-dev 4.12.1-dev.1778136187 → 4.12.1-dev.1778146170

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 (272) hide show
  1. package/custom-elements.json +2458 -2451
  2. package/development/accordion.component-CGTwcntz.js +1 -1
  3. package/development/action-group.component-DQ7_kjB9.js +1 -1
  4. package/development/alert-group.component-DnnPrv5I.js +1 -1
  5. package/development/alert.component-CYb1vnDZ.js +1 -1
  6. package/development/autocomplete/autocomplete.component.js +1 -1
  7. package/development/autocomplete-base-element-BpCpYcX9.js +1 -1
  8. package/development/block-link-common-COY1RI1I.js +1 -1
  9. package/development/breadcrumb-group.component-DZslNBlB.js +1 -1
  10. package/development/breadcrumb.component-DxSUxLZO.js +1 -1
  11. package/development/button/accent-button/accent-button.component.js +1 -1
  12. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  13. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  14. package/development/button/button/button.component.js +1 -1
  15. package/development/button/button-link/button-link.component.js +1 -1
  16. package/development/button/button-static/button-static.component.js +1 -1
  17. package/development/button/mini-button/mini-button.component.js +1 -1
  18. package/development/button/secondary-button/secondary-button.component.js +1 -1
  19. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  20. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  21. package/development/button/transparent-button/transparent-button.component.js +1 -1
  22. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  23. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  24. package/development/button-common-7dmrUx4A.js +1 -1
  25. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  26. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  27. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  28. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  29. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  30. package/development/calendar-day.component-DFvRrp2O.js +1 -1
  31. package/development/calendar.component-Dg3D2A7k.js +1 -1
  32. package/development/card/card-button/card-button.component.js +1 -1
  33. package/development/card/card-link/card-link.component.js +1 -1
  34. package/development/card-action-common-1FDHbfeR.js +1 -1
  35. package/development/card-badge.component-CUZIoVbL.js +1 -1
  36. package/development/card.component-DsqIZC_u.js +1 -1
  37. package/development/carousel-item.component-CIgUJtDJ.js +1 -1
  38. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  39. package/development/carousel.component-Dl48ROSf.js +1 -1
  40. package/development/checkbox-common-Dd5uup8K.js +1 -1
  41. package/development/checkbox-group/checkbox-group.component.js +1 -1
  42. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  43. package/development/checkbox.component-CFZrwUTA.js +1 -1
  44. package/development/chip-group.component-BVfHWX2-.js +1 -1
  45. package/development/chip-label.component-DU8s-hfA.js +1 -1
  46. package/development/chip.component-C6v1-PLX.js +1 -1
  47. package/development/clock.component-CVPv4mCp.js +1 -1
  48. package/development/compact-paginator.component-5_Q2Reul.js +1 -1
  49. package/development/container.component-CG_i65Op.js +1 -1
  50. package/development/core/a11y/arrow-navigation.js +1 -1
  51. package/development/core/a11y/fake-event-detection.js +1 -1
  52. package/development/core/a11y/focus-trap-controller.js +1 -1
  53. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  54. package/development/core/a11y/input-modality-detector.js +1 -1
  55. package/development/core/a11y/interactivity-checker.js +1 -1
  56. package/development/core/a11y/live-announcer.js +1 -1
  57. package/development/core/base-elements/action-base-element.js +1 -1
  58. package/development/core/base-elements/button-base-element.js +1 -1
  59. package/development/core/base-elements/element.js +1 -1
  60. package/development/core/base-elements/link-base-element.js +1 -1
  61. package/development/core/base-elements/open-close-base-element.js +1 -1
  62. package/development/core/config/config.js +1 -1
  63. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  64. package/development/core/controllers/id-reference-controller.js +1 -1
  65. package/development/core/controllers/inert-controller.js +1 -1
  66. package/development/core/controllers/language-controller.js +1 -1
  67. package/development/core/controllers/media-matchers-controller.js +1 -1
  68. package/development/core/controllers/overlay-position-controller.js +1 -1
  69. package/development/core/controllers/property-watcher-controller.js +1 -1
  70. package/development/core/controllers/slot-state-controller.js +1 -1
  71. package/development/core/datetime/date-adapter.js +1 -1
  72. package/development/core/datetime/native-date-adapter.js +1 -1
  73. package/development/core/datetime/temporal-date-adapter.js +1 -1
  74. package/development/core/decorators/force-type.js +1 -1
  75. package/development/core/decorators/get-override.js +1 -1
  76. package/development/core/decorators/handle-distinct-change.js +1 -1
  77. package/development/core/decorators/host-attributes.js +1 -1
  78. package/development/core/decorators/id-reference.js +1 -1
  79. package/development/core/decorators/omit-empty-converter.js +1 -1
  80. package/development/core/decorators/plain-date.js +1 -1
  81. package/development/core/dom/animation.js +1 -1
  82. package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
  83. package/development/core/dom/lean-context.js +1 -1
  84. package/development/core/dom/platform.js +1 -1
  85. package/development/core/dom/queue-dom-content-loaded.js +1 -1
  86. package/development/core/dom/scroll.js +1 -1
  87. package/development/core/dom/set-or-remove-attribute.js +1 -1
  88. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  89. package/development/core/eventing/event-target.js +1 -1
  90. package/development/core/eventing/form-element-handlers.js +1 -1
  91. package/development/core/eventing/forward-event.js +1 -1
  92. package/development/core/eventing/is-event-prevented.js +1 -1
  93. package/development/core/eventing/throttle.js +1 -1
  94. package/development/core/i18n/i18n.js +1 -1
  95. package/development/core/mixins/animation-complete-mixin.js +1 -1
  96. package/development/core/mixins/disabled-mixin.js +1 -1
  97. package/development/core/mixins/element-internals-mixin.js +1 -1
  98. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  99. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  100. package/development/core/mixins/form-associated-mixin.js +1 -1
  101. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  102. package/development/core/mixins/hydration-mixin.js +1 -1
  103. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  104. package/development/core/mixins/negative-mixin.js +1 -1
  105. package/development/core/mixins/readonly-mixin.js +1 -1
  106. package/development/core/mixins/required-mixin.js +1 -1
  107. package/development/core/mixins/selection-panel-mixin.js +1 -1
  108. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  109. package/development/core/overlay/overlay-option-panel.js +1 -1
  110. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  111. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  112. package/development/core/overlay/overlay.js +1 -1
  113. package/development/core/overlay/position.js +1 -1
  114. package/development/core/testing/event-spy.js +1 -1
  115. package/development/core/testing/mocha-extensions.js +1 -1
  116. package/development/core/testing/wait-for-condition.js +1 -1
  117. package/development/core/testing/wait-for-image-ready.js +1 -1
  118. package/development/core/testing/wait-for-render.js +1 -1
  119. package/development/date-input.component-UP1afzgy.js +1 -1
  120. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  121. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  122. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  123. package/development/datepicker-button-CUPeoQgH.js +1 -1
  124. package/development/datepicker.component-D2DxFng_.js +1 -1
  125. package/development/dialog-actions.component-CegGvLGp.js +1 -1
  126. package/development/dialog-close-button.component-C4P-8J8j.js +1 -1
  127. package/development/dialog-content.component-bm8piC0O.js +1 -1
  128. package/development/dialog-title.component-CUAbFzCr.js +1 -1
  129. package/development/dialog.component-DKuR4u-y.js +1 -1
  130. package/development/divider.component-Bisnf286.js +1 -1
  131. package/development/error.component-OBpWoVRL.js +1 -1
  132. package/development/expansion-panel-content.component-XIsKm8JD.js +1 -1
  133. package/development/expansion-panel-header.component-C1xRGcAN.js +1 -1
  134. package/development/expansion-panel.component-CV_IuWZA.js +1 -1
  135. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  136. package/development/file-selector-common-C7xIEiV4.js +1 -1
  137. package/development/file-selector-dropzone.component-BAWMZW4F.js +1 -1
  138. package/development/flip-card-details.component-iMm7NrgQ.js +1 -1
  139. package/development/flip-card-summary.component-HQ_VAn2j.js +1 -1
  140. package/development/flip-card.component-CJanLtkJ.js +1 -1
  141. package/development/footer.component-BmDkxYW9.js +1 -1
  142. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  143. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  144. package/development/form-field.component-BU3Sv2mD.js +1 -1
  145. package/development/header/header-button/header-button.component.js +1 -1
  146. package/development/header/header-link/header-link.component.js +1 -1
  147. package/development/header-action-common-MTYV0dqA.js +1 -1
  148. package/development/header-environment.component-DHqoX_lg.js +1 -1
  149. package/development/header.component-CWJ36jF0.js +1 -1
  150. package/development/hint.component-DUtL0RS3.js +1 -1
  151. package/development/icon/icon-name-mixin.js +1 -1
  152. package/development/icon/icon-request.js +1 -1
  153. package/development/icon/icon-validate.js +1 -1
  154. package/development/icon/icon.component.js +1 -1
  155. package/development/icon-base-DHN9pz2I.js +1 -1
  156. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  157. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  158. package/development/icon-sidebar-container.component-BH_R88Rf.js +1 -1
  159. package/development/icon-sidebar-content.component-yoF6FjkW.js +1 -1
  160. package/development/icon-sidebar.component-BGEkfXVs.js +1 -1
  161. package/development/image.component-BD0jc-u-.js +1 -1
  162. package/development/inline-link-common-CgTIwFAI.js +1 -1
  163. package/development/journey-header.component-BwVODlXk.js +1 -1
  164. package/development/lead-container.component-CGVdBWJr.js +1 -1
  165. package/development/link/block-link/block-link.component.js +1 -1
  166. package/development/link/block-link-button/block-link-button.component.js +1 -1
  167. package/development/link/block-link-static/block-link-static.component.js +1 -1
  168. package/development/link/link/link.component.js +1 -1
  169. package/development/link/link-button/link-button.component.js +1 -1
  170. package/development/link/link-static/link-static.component.js +1 -1
  171. package/development/link-common-DJ2FfG_Q.js +1 -1
  172. package/development/link-list-anchor.component-Du7kfDZ-.js +1 -1
  173. package/development/link-list-base-CKMNz30d.js +1 -1
  174. package/development/link-list.component-DQMg8MdQ.js +1 -1
  175. package/development/loading-indicator-circle.component-np96Tu5S.js +1 -1
  176. package/development/loading-indicator.component-CgHYNMxB.js +1 -1
  177. package/development/logo.component-I0yP2SKr.js +1 -1
  178. package/development/map-container.component-D9NWw-wA.js +1 -1
  179. package/development/menu/menu-button/menu-button.component.js +1 -1
  180. package/development/menu/menu-link/menu-link.component.js +1 -1
  181. package/development/menu-action-common-CBZCra6n.js +1 -1
  182. package/development/menu.component-Lh3JbVow.js +1 -1
  183. package/development/message.component-Dlf5V5ba.js +1 -1
  184. package/development/mini-button-group.component-B3CA9KG0.js +1 -1
  185. package/development/mini-button-link.component-I3VpWeNU.js +1 -1
  186. package/development/mini-calendar-day.component-BUNVO4ZU.js +1 -1
  187. package/development/mini-calendar-month.component-DZXvAhc3.js +1 -1
  188. package/development/mini-calendar.component-BufzKw74.js +1 -1
  189. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  190. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  191. package/development/navigation-action-common-Hjr4dI9J.js +1 -1
  192. package/development/navigation-list.component-DqITJqFx.js +1 -1
  193. package/development/navigation-marker.component-GOv42emC.js +1 -1
  194. package/development/navigation-section.component-CnVrRETN.js +1 -1
  195. package/development/navigation.component-CTNQ1dix.js +1 -1
  196. package/development/notification.component-Cvq_uViC.js +1 -1
  197. package/development/optgroup-base-element-BaG2W_AP.js +1 -1
  198. package/development/option/optgroup/optgroup.component.js +1 -1
  199. package/development/option/option/option-base-element.js +1 -1
  200. package/development/option-hint.component-BH8dP1fM.js +1 -1
  201. package/development/option.component-Bb2C7ae5.js +1 -1
  202. package/development/overlay/overlay-base-element.js +1 -1
  203. package/development/overlay.component-M0JuSq4C.js +1 -1
  204. package/development/paginator/common/paginator-common.js +1 -1
  205. package/development/paginator.component-Bn5tK0FK.js +1 -1
  206. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  207. package/development/popover.component-EgOs-wsR.js +1 -1
  208. package/development/radio-button-common--d3WX-ZM.js +1 -1
  209. package/development/radio-button-group/radio-button-group.component.js +1 -1
  210. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  211. package/development/radio-button.component-BauLEeCV.js +1 -1
  212. package/development/screen-reader-only.component-B77UuVCI.js +1 -1
  213. package/development/select.component-D9SFG7Lk.js +1 -1
  214. package/development/selection-action-panel.component-D6I5wdEL.js +1 -1
  215. package/development/selection-expansion-panel.component-eO7b_EQF.js +1 -1
  216. package/development/selection-group-base-element-DvDpwhPl.js +1 -1
  217. package/development/sidebar-close-button.component-CYWv39Mu.js +1 -1
  218. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  219. package/development/sidebar-content.component-JcVKpKbK.js +1 -1
  220. package/development/sidebar-title.component-BA_j-Igh.js +1 -1
  221. package/development/sidebar.component-BLqO52nH.js +1 -1
  222. package/development/signet.component-3D2ZsajP.js +1 -1
  223. package/development/skiplink-list.component-EDPOitEB.js +1 -1
  224. package/development/slider.component-C3qZB6ar.js +1 -1
  225. package/development/status.component-CPi1cPN0.js +1 -1
  226. package/development/step-label.component-BJ9eainz.js +1 -1
  227. package/development/{step.component-B-n26urC.js → step.component-CTsOBGAn.js} +11 -2
  228. package/development/stepper/step/step.component.d.ts +1 -0
  229. package/development/stepper/step/step.component.d.ts.map +1 -1
  230. package/development/stepper/step/step.component.js +1 -1
  231. package/development/stepper/step.js +1 -1
  232. package/development/stepper.component-CxOBayI1.js +1 -1
  233. package/development/stepper.js +1 -1
  234. package/development/stepper.pure.js +1 -1
  235. package/development/sticky-bar.component-CysAIZTd.js +1 -1
  236. package/development/tab-group.component-D9jCK26q.js +1 -1
  237. package/development/tab-label.component-B9e9kgVf.js +1 -1
  238. package/development/tab-nav-bar.component-CgYwCSVY.js +1 -1
  239. package/development/tab.component-DThKG7-a.js +1 -1
  240. package/development/table-wrapper.component-D1p7kqCB.js +1 -1
  241. package/development/tag-group.component-Cw46bt0E.js +1 -1
  242. package/development/tag.component-Bl1nlIXQ.js +1 -1
  243. package/development/teaser-hero.component-BIOpoGME.js +1 -1
  244. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  245. package/development/teaser-product-common-DYX370pm.js +1 -1
  246. package/development/teaser-product.component-CSArA8bH.js +1 -1
  247. package/development/teaser.component-Cky6kKU0.js +1 -1
  248. package/development/time-input.component-BtdSR8kB.js +1 -1
  249. package/development/timetable-form-details.component-DJl5Qt9y.js +1 -1
  250. package/development/timetable-form-field.component-DQ_TzcF4.js +1 -1
  251. package/development/timetable-form-swap-button.component-Bh9aPmdn.js +1 -1
  252. package/development/timetable-form.component-N8h4JBlH.js +1 -1
  253. package/development/timetable-occupancy-icon.component-lI7__-G5.js +1 -1
  254. package/development/timetable-occupancy.component-BBcznUh0.js +1 -1
  255. package/development/title-base-BdYKwj3-.js +1 -1
  256. package/development/title.component-DSXVkddh.js +1 -1
  257. package/development/toast.component-IhHx0Qt3.js +1 -1
  258. package/development/toggle-check.component-_fDAuLob.js +1 -1
  259. package/development/toggle-option.component-DTS3a603.js +1 -1
  260. package/development/toggle.component-BJpD1b9H.js +1 -1
  261. package/development/tooltip.component-YaUQA-Id.js +1 -1
  262. package/development/train-blocked-passage.component-BrUJK0gf.js +1 -1
  263. package/development/train-formation.component-vt-nYQXA.js +1 -1
  264. package/development/train-wagon.component-CNxkffOO.js +1 -1
  265. package/development/train.component-BgpmEDx-.js +1 -1
  266. package/development/visual-checkbox.component-rdeoQN40.js +1 -1
  267. package/package.json +2 -2
  268. package/{step.component-uBZl9yiJ.js → step.component-xDgeguVi.js} +6 -2
  269. package/stepper/step/step.component.js +1 -1
  270. package/stepper/step.js +1 -1
  271. package/stepper.js +1 -1
  272. package/stepper.pure.js +1 -1
@@ -569,4 +569,4 @@ var SbbPopoverElement = (() => {
569
569
  //#endregion
570
570
  export { SbbPopoverElement as n, SbbPopoverBaseElement as t };
571
571
 
572
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQtRWdPcy13c1IuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLy8gQXMgdGhlIHBvcG92ZXIgaGFzIGFsd2F5cyBhIHdoaXRlIGJhY2tncm91bmQsIHdlIGhhdmUgdG8gZml4IHRoZSBmb2N1cyBvdXRsaW5lIGNvbG9yXG4gIC8vIHRvIGRlZmF1bHQgY29sb3IgZm9yIGNhc2VzIHdoZXJlIHRoZSBwb3BvdmVyIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRlZmF1bHQpLFxuICAgIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspXG4gICk7XG4gIC0tc2JiLXBvcG92ZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eClcbiAgKTtcbiAgLS1fc2JiLXBvcG92ZXItaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIC0tX3NiYi1wb3BvdmVyLXRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkpO1xuICAtLV9zYmItcG9wb3Zlci1ib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC05LWhhcmQpO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1fc2JiLXBvcG92ZXItaW5zZXQ6IDA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShwb3NpdGlvbi1hYm92ZSkpIHtcbiAgLS1fc2JiLXBvcG92ZXItdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpICogLTEpKTtcbn1cblxuOmhvc3QoOm5vdChbaGlkZS1jbG9zZS1idXR0b25dLCA6c3RhdGUoaG92ZXItdHJpZ2dlcikpKSB7XG4gIC0tc2JiLXBvcG92ZXItbWluLWhlaWdodDogY2FsYyh2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKSArIDIgKiB2YXIoLS1zYmItcG9wb3Zlci1wYWRkaW5nKSk7XG59XG5cbi8vIFBvcG92ZXIgYXJyb3cgYW5kIGFycm93IHRvcCBjb3ZlclxuLnNiYi1wb3BvdmVyOjphZnRlcixcbi5zYmItcG9wb3Zlcl9fY29udGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1zYmItcG9wb3Zlci1hcnJvdy1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItcG9wb3Zlci1hcnJvdy1zaXplKTtcbiAgbGVmdDogdmFyKC0tX3NiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgsIDApO1xuICBib3R0b206IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tc2JiLXBvcG92ZXItYXJyb3ctc2l6ZSkgLyAyKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1wb3BvdmVyLWJhY2tncm91bmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0yeCkgMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uc2JiLXBvcG92ZXJfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLV9zYmItcG9wb3Zlci1pbnNldCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiB2YXIoLS1zYmItcG9wb3Zlci16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbn1cblxuLnNiYi1wb3BvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1wb3BvdmVyLXBvc2l0aW9uLCBhYnNvbHV0ZSk7XG4gIHRvcDogdmFyKC0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXksIDApO1xuICBib3R0b206IHVuc2V0O1xuICBsZWZ0OiB2YXIoLS1fc2JiLXBvcG92ZXItcG9zaXRpb24teCwgMCk7XG4gIHJpZ2h0OiB1bnNldDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXBvcG92ZXItYmFja2dyb3VuZCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiB2YXIoLS1fc2JiLXBvcG92ZXItYm94LXNoYWRvdyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBvcGVuO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZTtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZWFzaW5nKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3BvdmVyIGFycm93XG4gICY6OmFmdGVyIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1fc2JiLXBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICAgIH1cblxuICAgIDpob3N0KDpzdGF0ZShwb3NpdGlvbi1hYm92ZSkpICYge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXNiYi1wb3BvdmVyLWFycm93LXNpemUpIC8gMikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG5cbiAgLy8gVHJhbnNwYXJlbnQgYXJlYSB3aGljaCBpbmNyZWFzZXMgaG92ZXIgYXJlYSBpbiBvcmRlciB0byBub3QgdHJpZ2dlciBjbG9zaW5nIHRvbyBlYXJseS5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYmVsb3cpKSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpKTtcbiAgICB9XG5cbiAgICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYWJvdmUpKSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYygtMSAqIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItcG9wb3Zlcl9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXBvcG92ZXItcGFkZGluZykgMDtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1wb3BvdmVyLXBhZGRpbmcpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItcG9wb3Zlci1iYWNrZ3JvdW5kKTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItcG9wb3Zlci1taW4taGVpZ2h0KTtcblxuICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYWJvdmUpKSAmIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXNiYi1wb3BvdmVyLWFycm93LXNpemUpIC8gMikpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXBvcG92ZXJfX3Njcm9sbGFibGUtY29udGVudCB7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXI7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItcG9wb3Zlci1wYWRkaW5nKTtcbiAgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1fc2JiLXBvcG92ZXItbWF4LWhlaWdodCkpO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHZhcigtLV9zYmItcG9wb3Zlci10cmFuc2Zvcm0pO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdmFyKC0tX3NiYi1wb3BvdmVyLXRyYW5zZm9ybSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBub3RoaW5nLFxuICB1bnNhZmVDU1MsXG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBJU19GT0NVU0FCTEVfUVVFUlksXG4gIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIsXG4gIFNiYkZvY3VzVHJhcENvbnRyb2xsZXIsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSxcbn0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy50cyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VQb3BvdmVyIH0gZnJvbSAnLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wb3BvdmVyLnNjc3M/aW5saW5lJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSAxNjtcbmNvbnN0IEhPUklaT05UQUxfT0ZGU0VUID0gMzI7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwb3BvdmVyc1JlZiA9IG5ldyBTZXQ8U2JiUG9wb3ZlckJhc2VFbGVtZW50PigpO1xuY29uc3QgcG9pbnRlckNvYXJzZSA9IGlzU2VydmVyID8gZmFsc2UgOiBtYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiUG9wb3ZlckJhc2VFbGVtZW50IGV4dGVuZHMgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIHBvcG92ZXIgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBUaGUgZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1cyBhZnRlciBjbG9zaW5nIGJhc2VkIG9uIHdoZXJlIGluIHRoZSBiYWNrZHJvcCB0aGUgdXNlciBjbGlja3MuXG4gIHByaXZhdGUgX25leHRGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9za2lwQ2xvc2VGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wb3BvdmVyQ2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3Zlcj86IGJvb2xlYW47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9yZXNpemVDb250cm9sbGVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fc2V0UG9wb3ZlclBvc2l0aW9uKCksXG4gIH0pO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNUcmFwQ29udHJvbGxlciA9IG5ldyBTYmJGb2N1c1RyYXBDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ibHVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIGNsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcm90ZWN0ZWQgb3ZlcmxheT86IEhUTUxEaXZFbGVtZW50O1xuXG4gIC8qKiBPcGVucyB0aGUgcG9wb3ZlciBvbiB0cmlnZ2VyIGNsaWNrLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fFxuICAgICAgIXRoaXMub3ZlcmxheSB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENsb3NlIHRoZSBvdGhlciBwb3BvdmVyc1xuICAgIGZvciAoY29uc3QgcG9wb3ZlciBvZiBwb3BvdmVyc1JlZikge1xuICAgICAgaWYgKHBvcG92ZXIuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHBvcG92ZXIuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgICBwb3BvdmVyLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG4gICAgdGhpcy5fbmV4dEZvY3VzZWRFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX3NraXBDbG9zZUZvY3VzID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gIHB1YmxpYyBjbG9zZSh0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID0gdGFyZ2V0O1xuICAgIGlmICghdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoeyBjbG9zZVRhcmdldDogdGFyZ2V0ID8/IG51bGwgfSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgdGhpcy5fcmVzaXplQ29udHJvbGxlci51bm9ic2VydmUodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheS5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBDbG9zZUZvY3VzKSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHsgY2xvc2VUYXJnZXQ6IHRoaXMuX3BvcG92ZXJDbG9zZUVsZW1lbnQgPz8gbnVsbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyRm9jdXMoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMuX3Jlc2l6ZUNvbnRyb2xsZXIub2JzZXJ2ZSh0aGlzLm92ZXJsYXkpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXBvcG92ZXItJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBwb3BvdmVyc1JlZi5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgLy8gQ2hlY2tpbmcgZm9yIGhvdmVyVHJpZ2dlciBpcyBhIHNwZWNpYWwgY2FzZSwgYXMgb25seSB0aGUgU2JiUG9wb3ZlckVsZW1lbnRcbiAgICAvLyBzdWJjbGFzcyBoYXMgdGhpcyBwcm9wZXJ0eS5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicgfHwgbmFtZSA9PT0gJ2hvdmVyVHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHBvcG92ZXJzUmVmLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAodGhpcy5fYmx1clRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ibHVyVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ3VyZVRyaWdnZXIodGhpcy5fdHJpZ2dlckVsZW1lbnQgPz8gbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlVHJpZ2dlcihfb2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHBvcG92ZXIgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlICdzYmItcG9wb3Zlci1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXBvcG92ZXItY2xvc2UnLCB0aGlzKTtcblxuICAgIGlmIChjbG9zZUVsZW1lbnQgJiYgIWNsb3NlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5vdmVybGF5ISwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGggPSBldmVudC5jb21wb3NlZFBhdGgoKTtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCkgJiZcbiAgICAgICghdGhpcy50cmlnZ2VyIHx8ICFjb21wb3NlZFBhdGguaW5jbHVkZXModGhpcy50cmlnZ2VyKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGNvbXBvc2VkUGF0aFxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2V0IHBvcG92ZXIgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIHBvcG92ZXIgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblxuICAgIGlmICghZm9jdXNlZCAmJiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgdGhpcy5mb2N1cygpO1xuXG4gICAgICAvLyBXaGVuIGEgYmx1ciBvY2N1cnMsIHdlIGtub3cgdGhhdCB0aGUgcG9wb3ZlciBoYXMgdG8gYmUgY2xvc2VkLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBhcmUgbm8gaW50ZXJhY3RpdmUgZWxlbWVudHMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgLy8gV2hlbiBhIHdpbmRvdy90YWIgY2hhbmdlIG9jY3VycywgYSBibHVyIGV2ZW50IGlzIGFsc28gZmlyZWQuIEhvd2V2ZXIsIHdoZW4gdGhlIGN1cnJlbnQgd2luZG93L3RhYlxuICAgICAgLy8gYmVjb21lcyBhY3RpdmUgYWdhaW4sIGl0IGZvY3VzZXMgb25jZSBhZ2FpbiB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFRoZXJlZm9yZSwgd2UgY2Fubm90IGxpc3RlbiB0byB0aGUgYmx1ciBldmVudCBvbmx5IG9uY2UuXG4gICAgICAvLyBUbyBwcmV2ZW50IGFjY2lkZW50YWxseSBjbG9zaW5nIHRoZSBwb3BvdmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGZvciB0aGUgd2luZG93L3RhYiBzdGF0ZS5cbiAgICAgIC8vIFdlIGNhbiBhY2hpZXZlIHRoaXMgYnkgdXNpbmcgdmlzaWJpbGl0eVN0YXRlLCB3aGljaCBvbmx5IHdvcmtzIHdpdGggc2V0VGltZW91dCgpLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgIChlOiBGb2N1c0V2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5fYmx1clRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuXG4gICAgICAgICAgICAgIC8vIEluIFNhZmFyaSBvbiBpT1MgaXQgY2FuIG9jY3VyLCB0aGF0IGEgYmx1ciBldmVudCB0cmlnZ2VycyBvbiB0aGUgcG9wb3ZlclxuICAgICAgICAgICAgICAvLyBhbHRob3VnaCB0aGUgZm9jdXMgcmVtYWlucyBpbnNpZGUgdGhlIHBvcG92ZXIuXG4gICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBzdG9wIHRoZSBjbG9zaW5nIGlmIHRoZSByZWxhdGVkVGFyZ2V0IGlzIGNvbnRhaW5lZCBpbiB0aGUgcG9wb3ZlciBvciBpdCBpcyB0aGUgdHJpZ2dlci5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpIHx8IGUucmVsYXRlZFRhcmdldCA9PT0gdGhpcy50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NraXBDbG9zZUZvY3VzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRQb3BvdmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXkgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9wb3ZlclBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICAgICAgdGhpcy5vdmVybGF5LFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItcG9wb3Zlcl9fY29udGFpbmVyJykhLFxuICAgICAge1xuICAgICAgICB2ZXJ0aWNhbE9mZnNldDogVkVSVElDQUxfT0ZGU0VULFxuICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBIT1JJWk9OVEFMX09GRlNFVCxcbiAgICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVIZWlnaHQ6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgY29uc3QgdmVydGljYWxQb3NpdGlvbiA9IHBvcG92ZXJQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWw7XG4gICAgZm9yIChjb25zdCBwb3NpdGlvbiBvZiBbJ2Fib3ZlJywgJ2JlbG93J10pIHtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoYHBvc2l0aW9uLSR7cG9zaXRpb259YCwgcG9zaXRpb24gPT09IHZlcnRpY2FsUG9zaXRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IGFycm93WFBvc2l0aW9uID1cbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgcG9wb3ZlclBvc2l0aW9uLmxlZnQgK1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC1cbiAgICAgIDg7IC8vIGhhbGYgdGhlIHNpemUgb2YgdGhlIHBvcG92ZXIgYXJyb3dcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXknLCBgJHtwb3BvdmVyUG9zaXRpb24udG9wfXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1fc2JiLXBvcG92ZXItYXJyb3ctcG9zaXRpb24teCcsIGAke2Fycm93WFBvc2l0aW9ufXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1fc2JiLXBvcG92ZXItbWF4LWhlaWdodCcsIHBvcG92ZXJQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChkZXRhaWw/OiB7XG4gICAgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgfSk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgfT59XG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogeyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdjbG9zZScsIHsgZGV0YWlsIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5vdmVybGF5ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHdpdGhpbiBhIHBvcG92ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBwb3BvdmVyLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiUG9wb3ZlckVsZW1lbnQgZXh0ZW5kcyBTYmJQb3BvdmVyQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXBvcG92ZXInO1xuICAvKiogV2hldGhlciB0aGUgY2xvc2UgYnV0dG9uIHNob3VsZCBiZSBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLWNsb3NlLWJ1dHRvbicsIHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSB0cmlnZ2VyZWQgb24gaG92ZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Zlci10cmlnZ2VyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJUcmlnZ2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHBvcG92ZXIgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fb3BlbkRlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkucG9wb3Zlcj8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgcG9wb3ZlciBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IGNsb3NlRGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2Nsb3NlRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjbG9zZURlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlRGVsYXkgPz8gcmVhZENvbmZpZygpLnBvcG92ZXI/LmNsb3NlRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9jbG9zZURlbGF5PzogbnVtYmVyO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9ob3ZlclRyaWdnZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vdmVybGF5QWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29uZmlndXJlVHJpZ2dlcihvbGRUcmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSB0cmlnZ2VyIGNhbiBiZSBob3ZlcmVkLiBTb21lIGRldmljZXMgbWlnaHQgaW50ZXJwcmV0IHRoZSBtZWRpYSBxdWVyeSAoaG92ZXI6IGhvdmVyKSBkaWZmZXJlbnRseSxcbiAgICAvLyBhbmQgbm90IHJlc3BlY3QgdGhlIGZhbGxiYWNrIG1lY2hhbmlzbSBvbiB0aGUgY2xpY2suIFRoZXJlZm9yZSwgdGhlIGZvbGxvd2luZyBpcyBwcmVmZXJyZWQgdG8gaWRlbnRpZnlcbiAgICAvLyBhbGwgbm9uLXRvdWNoc2NyZWVuIGRldmljZXMuXG4gICAgY29uc3QgaG92ZXJUcmlnZ2VyID0gdGhpcy5ob3ZlclRyaWdnZXIgJiYgIXBvaW50ZXJDb2Fyc2U7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSBvbGRUcmlnZ2VyICYmIGhvdmVyVHJpZ2dlciA9PT0gdGhpcy5faG92ZXJUcmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hvdmVyVHJpZ2dlciAhPT0gaG92ZXJUcmlnZ2VyKSB7XG4gICAgICB0aGlzLl9ob3ZlclRyaWdnZXIgPSBob3ZlclRyaWdnZXI7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdob3Zlci10cmlnZ2VyJywgdGhpcy5faG92ZXJUcmlnZ2VyKTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHN1cGVyLmNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9vblRyaWdnZXJNb3VzZUVudGVyLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwgeyBzaWduYWwgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZ0OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5jb2RlID09PSAnU3BhY2UnIHx8IGV2dC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBOVkRBIGNhbid0IG9wZW4gdGhlIHBvcG92ZXIgb24ga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaWYgKGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZ0KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHNpZ25hbCB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb3BlbigpOiB2b2lkIHtcbiAgICBzdXBlci5vcGVuKCk7XG5cbiAgICBpZiAodGhpcy5ob3ZlclRyaWdnZXIgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLnRyaWdnZXIpLmFkZCgnZm9yY2UtaG92ZXInKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIuY2xvc2UoKTtcblxuICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMudHJpZ2dlcik/LmRlbGV0ZSgnZm9yY2UtaG92ZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlIHRyaWdnZXIgaXMgZm9jdXNlZCBieSBrZXlib2FyZCBhbmQgaG92ZXJlZCB3aXRoIHRoZSBtb3VzZSwgdGhlIG91dGxpbmUgd291bGQgYmUgdmlzaWJsZS5cbiAgICAgICAgLy8gU28gd2UgcmVzZXQgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGhpZGUgdGhlIG91dGxpbmUuXG4gICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5yZXNldCgpO1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0sIHRoaXMub3BlbkRlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UcmlnZ2VyTW91c2VMZWF2ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLmNsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9XG4gIH07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VQb3BvdmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgIHNiYi1wb3BvdmVyLWNsb3NlXG4gICAgICA+PC9zYmItc2Vjb25kYXJ5LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAkeyF0aGlzLmhpZGVDbG9zZUJ1dHRvbiAmJiAhdGhpcy5faG92ZXJUcmlnZ2VyID8gY2xvc2VCdXR0b24gOiBub3RoaW5nfVxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcG9wb3Zlcl9fc2Nyb2xsYWJsZS1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pk5vIGNvbnRlbnQ8L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBvcG92ZXInOiBTYmJQb3BvdmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM0Q0EsMEJBQTBCLFFBQVE7QUFFbEMsSUFBTSxrQkFBa0I7QUFDeEIsSUFBTSxvQkFBb0I7QUFFMUIsSUFBSSxTQUFTO0FBRWIsSUFBTSw4QkFBYyxJQUFJLEtBQTRCO0FBQ3BELElBQU0sZ0JBQWdCLFdBQVcsUUFBUSxXQUFXLDJCQUEyQixDQUFDO0lBRTFELCtCQUFxQjttQkFBUzs7OztjQUE5Qiw4QkFBOEIsWUFBdUI7OztBQVV6RCxTQUFBLDJCQUFBLGtCQUFBLE1BQUEsdUJBQThCLEtBQUk7QUFHMUMsUUFBQSxzQkFBbUIsa0JBQUEsTUFBQSwyQkFBQTtBQUNuQixRQUFBLGtCQUEyQjtBQU0zQixRQUFBLG9CQUFvQixJQUFJLGlCQUFpQixNQUFNO0lBQ3JELFFBQVE7SUFDUixnQkFBZ0IsS0FBSyxxQkFBQTtJQUN0QixDQUFDO0FBQ00sUUFBQSw4QkFBOEIsSUFBSSw4QkFBOEIsS0FBSztBQUNyRSxRQUFBLHVCQUF1QixJQUFJLHVCQUF1QixLQUFLO0FBQ3ZELFFBQUEsZUFBcUQ7QUEyTXJELFFBQUEsd0JBQXdCLFVBQTZCO0FBQzNELFNBQUssK0JBQStCLGlCQUFpQixLQUFLLFNBQVUsTUFBTTs7QUFJcEUsUUFBQSx5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
572
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQtRWdPcy13c1IuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLy8gQXMgdGhlIHBvcG92ZXIgaGFzIGFsd2F5cyBhIHdoaXRlIGJhY2tncm91bmQsIHdlIGhhdmUgdG8gZml4IHRoZSBmb2N1cyBvdXRsaW5lIGNvbG9yXG4gIC8vIHRvIGRlZmF1bHQgY29sb3IgZm9yIGNhc2VzIHdoZXJlIHRoZSBwb3BvdmVyIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRlZmF1bHQpLFxuICAgIHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspXG4gICk7XG4gIC0tc2JiLXBvcG92ZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eClcbiAgKTtcbiAgLS1fc2JiLXBvcG92ZXItaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIC0tX3NiYi1wb3BvdmVyLXRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkpO1xuICAtLV9zYmItcG9wb3Zlci1ib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC05LWhhcmQpO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1fc2JiLXBvcG92ZXItaW5zZXQ6IDA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShwb3NpdGlvbi1hYm92ZSkpIHtcbiAgLS1fc2JiLXBvcG92ZXItdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpICogLTEpKTtcbn1cblxuOmhvc3QoOm5vdChbaGlkZS1jbG9zZS1idXR0b25dLCA6c3RhdGUoaG92ZXItdHJpZ2dlcikpKSB7XG4gIC0tc2JiLXBvcG92ZXItbWluLWhlaWdodDogY2FsYyh2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKSArIDIgKiB2YXIoLS1zYmItcG9wb3Zlci1wYWRkaW5nKSk7XG59XG5cbi8vIFBvcG92ZXIgYXJyb3cgYW5kIGFycm93IHRvcCBjb3ZlclxuLnNiYi1wb3BvdmVyOjphZnRlcixcbi5zYmItcG9wb3Zlcl9fY29udGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1zYmItcG9wb3Zlci1hcnJvdy1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItcG9wb3Zlci1hcnJvdy1zaXplKTtcbiAgbGVmdDogdmFyKC0tX3NiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgsIDApO1xuICBib3R0b206IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tc2JiLXBvcG92ZXItYXJyb3ctc2l6ZSkgLyAyKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1wb3BvdmVyLWJhY2tncm91bmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0yeCkgMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uc2JiLXBvcG92ZXJfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLV9zYmItcG9wb3Zlci1pbnNldCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiB2YXIoLS1zYmItcG9wb3Zlci16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbn1cblxuLnNiYi1wb3BvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1wb3BvdmVyLXBvc2l0aW9uLCBhYnNvbHV0ZSk7XG4gIHRvcDogdmFyKC0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXksIDApO1xuICBib3R0b206IHVuc2V0O1xuICBsZWZ0OiB2YXIoLS1fc2JiLXBvcG92ZXItcG9zaXRpb24teCwgMCk7XG4gIHJpZ2h0OiB1bnNldDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXBvcG92ZXItYmFja2dyb3VuZCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiB2YXIoLS1fc2JiLXBvcG92ZXItYm94LXNoYWRvdyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBvcGVuO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZTtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZWFzaW5nKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3BvdmVyIGFycm93XG4gICY6OmFmdGVyIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1fc2JiLXBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICAgIH1cblxuICAgIDpob3N0KDpzdGF0ZShwb3NpdGlvbi1hYm92ZSkpICYge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXNiYi1wb3BvdmVyLWFycm93LXNpemUpIC8gMikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG5cbiAgLy8gVHJhbnNwYXJlbnQgYXJlYSB3aGljaCBpbmNyZWFzZXMgaG92ZXIgYXJlYSBpbiBvcmRlciB0byBub3QgdHJpZ2dlciBjbG9zaW5nIHRvbyBlYXJseS5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYmVsb3cpKSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpKTtcbiAgICB9XG5cbiAgICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYWJvdmUpKSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYygtMSAqIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItcG9wb3Zlcl9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXBvcG92ZXItcGFkZGluZykgMDtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1wb3BvdmVyLXBhZGRpbmcpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItcG9wb3Zlci1iYWNrZ3JvdW5kKTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItcG9wb3Zlci1taW4taGVpZ2h0KTtcblxuICA6aG9zdCg6c3RhdGUocG9zaXRpb24tYWJvdmUpKSAmIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXNiYi1wb3BvdmVyLWFycm93LXNpemUpIC8gMikpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXBvcG92ZXJfX3Njcm9sbGFibGUtY29udGVudCB7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXI7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItcG9wb3Zlci1wYWRkaW5nKTtcbiAgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1fc2JiLXBvcG92ZXItbWF4LWhlaWdodCkpO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHZhcigtLV9zYmItcG9wb3Zlci10cmFuc2Zvcm0pO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdmFyKC0tX3NiYi1wb3BvdmVyLXRyYW5zZm9ybSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBub3RoaW5nLFxuICB1bnNhZmVDU1MsXG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBJU19GT0NVU0FCTEVfUVVFUlksXG4gIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIsXG4gIFNiYkZvY3VzVHJhcENvbnRyb2xsZXIsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSxcbn0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy50cyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VQb3BvdmVyIH0gZnJvbSAnLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wb3BvdmVyLnNjc3M/aW5saW5lJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSAxNjtcbmNvbnN0IEhPUklaT05UQUxfT0ZGU0VUID0gMzI7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwb3BvdmVyc1JlZiA9IG5ldyBTZXQ8U2JiUG9wb3ZlckJhc2VFbGVtZW50PigpO1xuY29uc3QgcG9pbnRlckNvYXJzZSA9IGlzU2VydmVyID8gZmFsc2UgOiBtYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiUG9wb3ZlckJhc2VFbGVtZW50IGV4dGVuZHMgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIHBvcG92ZXIgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBUaGUgZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1cyBhZnRlciBjbG9zaW5nIGJhc2VkIG9uIHdoZXJlIGluIHRoZSBiYWNrZHJvcCB0aGUgdXNlciBjbGlja3MuXG4gIHByaXZhdGUgX25leHRGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9za2lwQ2xvc2VGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wb3BvdmVyQ2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3Zlcj86IGJvb2xlYW47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9yZXNpemVDb250cm9sbGVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fc2V0UG9wb3ZlclBvc2l0aW9uKCksXG4gIH0pO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNUcmFwQ29udHJvbGxlciA9IG5ldyBTYmJGb2N1c1RyYXBDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ibHVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIGNsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcm90ZWN0ZWQgb3ZlcmxheT86IEhUTUxEaXZFbGVtZW50O1xuXG4gIC8qKiBPcGVucyB0aGUgcG9wb3ZlciBvbiB0cmlnZ2VyIGNsaWNrLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fFxuICAgICAgIXRoaXMub3ZlcmxheSB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENsb3NlIHRoZSBvdGhlciBwb3BvdmVyc1xuICAgIGZvciAoY29uc3QgcG9wb3ZlciBvZiBwb3BvdmVyc1JlZikge1xuICAgICAgaWYgKHBvcG92ZXIuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHBvcG92ZXIuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgICBwb3BvdmVyLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG4gICAgdGhpcy5fbmV4dEZvY3VzZWRFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX3NraXBDbG9zZUZvY3VzID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gIHB1YmxpYyBjbG9zZSh0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID0gdGFyZ2V0O1xuICAgIGlmICghdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoeyBjbG9zZVRhcmdldDogdGFyZ2V0ID8/IG51bGwgfSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1wb3BvdmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgdGhpcy5fcmVzaXplQ29udHJvbGxlci51bm9ic2VydmUodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheS5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBDbG9zZUZvY3VzKSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHsgY2xvc2VUYXJnZXQ6IHRoaXMuX3BvcG92ZXJDbG9zZUVsZW1lbnQgPz8gbnVsbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyRm9jdXMoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMuX3Jlc2l6ZUNvbnRyb2xsZXIub2JzZXJ2ZSh0aGlzLm92ZXJsYXkpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXBvcG92ZXItJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBwb3BvdmVyc1JlZi5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgLy8gQ2hlY2tpbmcgZm9yIGhvdmVyVHJpZ2dlciBpcyBhIHNwZWNpYWwgY2FzZSwgYXMgb25seSB0aGUgU2JiUG9wb3ZlckVsZW1lbnRcbiAgICAvLyBzdWJjbGFzcyBoYXMgdGhpcyBwcm9wZXJ0eS5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicgfHwgbmFtZSA9PT0gJ2hvdmVyVHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHBvcG92ZXJzUmVmLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAodGhpcy5fYmx1clRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ibHVyVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ3VyZVRyaWdnZXIodGhpcy5fdHJpZ2dlckVsZW1lbnQgPz8gbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlVHJpZ2dlcihfb2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHBvcG92ZXIgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlICdzYmItcG9wb3Zlci1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXBvcG92ZXItY2xvc2UnLCB0aGlzKTtcblxuICAgIGlmIChjbG9zZUVsZW1lbnQgJiYgIWNsb3NlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5vdmVybGF5ISwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGggPSBldmVudC5jb21wb3NlZFBhdGgoKTtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCkgJiZcbiAgICAgICghdGhpcy50cmlnZ2VyIHx8ICFjb21wb3NlZFBhdGguaW5jbHVkZXModGhpcy50cmlnZ2VyKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGNvbXBvc2VkUGF0aFxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2V0IHBvcG92ZXIgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIHBvcG92ZXIgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblxuICAgIGlmICghZm9jdXNlZCAmJiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgdGhpcy5mb2N1cygpO1xuXG4gICAgICAvLyBXaGVuIGEgYmx1ciBvY2N1cnMsIHdlIGtub3cgdGhhdCB0aGUgcG9wb3ZlciBoYXMgdG8gYmUgY2xvc2VkLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBhcmUgbm8gaW50ZXJhY3RpdmUgZWxlbWVudHMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgLy8gV2hlbiBhIHdpbmRvdy90YWIgY2hhbmdlIG9jY3VycywgYSBibHVyIGV2ZW50IGlzIGFsc28gZmlyZWQuIEhvd2V2ZXIsIHdoZW4gdGhlIGN1cnJlbnQgd2luZG93L3RhYlxuICAgICAgLy8gYmVjb21lcyBhY3RpdmUgYWdhaW4sIGl0IGZvY3VzZXMgb25jZSBhZ2FpbiB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFRoZXJlZm9yZSwgd2UgY2Fubm90IGxpc3RlbiB0byB0aGUgYmx1ciBldmVudCBvbmx5IG9uY2UuXG4gICAgICAvLyBUbyBwcmV2ZW50IGFjY2lkZW50YWxseSBjbG9zaW5nIHRoZSBwb3BvdmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGZvciB0aGUgd2luZG93L3RhYiBzdGF0ZS5cbiAgICAgIC8vIFdlIGNhbiBhY2hpZXZlIHRoaXMgYnkgdXNpbmcgdmlzaWJpbGl0eVN0YXRlLCB3aGljaCBvbmx5IHdvcmtzIHdpdGggc2V0VGltZW91dCgpLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgIChlOiBGb2N1c0V2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5fYmx1clRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuXG4gICAgICAgICAgICAgIC8vIEluIFNhZmFyaSBvbiBpT1MgaXQgY2FuIG9jY3VyLCB0aGF0IGEgYmx1ciBldmVudCB0cmlnZ2VycyBvbiB0aGUgcG9wb3ZlclxuICAgICAgICAgICAgICAvLyBhbHRob3VnaCB0aGUgZm9jdXMgcmVtYWlucyBpbnNpZGUgdGhlIHBvcG92ZXIuXG4gICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBzdG9wIHRoZSBjbG9zaW5nIGlmIHRoZSByZWxhdGVkVGFyZ2V0IGlzIGNvbnRhaW5lZCBpbiB0aGUgcG9wb3ZlciBvciBpdCBpcyB0aGUgdHJpZ2dlci5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpIHx8IGUucmVsYXRlZFRhcmdldCA9PT0gdGhpcy50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NraXBDbG9zZUZvY3VzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRQb3BvdmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXkgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9wb3ZlclBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICAgICAgdGhpcy5vdmVybGF5LFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItcG9wb3Zlcl9fY29udGFpbmVyJykhLFxuICAgICAge1xuICAgICAgICB2ZXJ0aWNhbE9mZnNldDogVkVSVElDQUxfT0ZGU0VULFxuICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBIT1JJWk9OVEFMX09GRlNFVCxcbiAgICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVIZWlnaHQ6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgY29uc3QgdmVydGljYWxQb3NpdGlvbiA9IHBvcG92ZXJQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWw7XG4gICAgZm9yIChjb25zdCBwb3NpdGlvbiBvZiBbJ2Fib3ZlJywgJ2JlbG93J10pIHtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoYHBvc2l0aW9uLSR7cG9zaXRpb259YCwgcG9zaXRpb24gPT09IHZlcnRpY2FsUG9zaXRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IGFycm93WFBvc2l0aW9uID1cbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgcG9wb3ZlclBvc2l0aW9uLmxlZnQgK1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC1cbiAgICAgIDg7IC8vIGhhbGYgdGhlIHNpemUgb2YgdGhlIHBvcG92ZXIgYXJyb3dcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tX3NiYi1wb3BvdmVyLXBvc2l0aW9uLXknLCBgJHtwb3BvdmVyUG9zaXRpb24udG9wfXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1fc2JiLXBvcG92ZXItYXJyb3ctcG9zaXRpb24teCcsIGAke2Fycm93WFBvc2l0aW9ufXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1fc2JiLXBvcG92ZXItbWF4LWhlaWdodCcsIHBvcG92ZXJQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChkZXRhaWw/OiB7XG4gICAgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgfSk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgfT59XG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogeyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdjbG9zZScsIHsgZGV0YWlsIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5vdmVybGF5ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHdpdGhpbiBhIHBvcG92ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBwb3BvdmVyLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiUG9wb3ZlckVsZW1lbnQgZXh0ZW5kcyBTYmJQb3BvdmVyQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXBvcG92ZXInO1xuICAvKiogV2hldGhlciB0aGUgY2xvc2UgYnV0dG9uIHNob3VsZCBiZSBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLWNsb3NlLWJ1dHRvbicsIHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSB0cmlnZ2VyZWQgb24gaG92ZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Zlci10cmlnZ2VyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJUcmlnZ2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHBvcG92ZXIgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fb3BlbkRlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkucG9wb3Zlcj8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgcG9wb3ZlciBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IGNsb3NlRGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2Nsb3NlRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjbG9zZURlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlRGVsYXkgPz8gcmVhZENvbmZpZygpLnBvcG92ZXI/LmNsb3NlRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9jbG9zZURlbGF5PzogbnVtYmVyO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9ob3ZlclRyaWdnZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vdmVybGF5QWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29uZmlndXJlVHJpZ2dlcihvbGRUcmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSB0cmlnZ2VyIGNhbiBiZSBob3ZlcmVkLiBTb21lIGRldmljZXMgbWlnaHQgaW50ZXJwcmV0IHRoZSBtZWRpYSBxdWVyeSAoaG92ZXI6IGhvdmVyKSBkaWZmZXJlbnRseSxcbiAgICAvLyBhbmQgbm90IHJlc3BlY3QgdGhlIGZhbGxiYWNrIG1lY2hhbmlzbSBvbiB0aGUgY2xpY2suIFRoZXJlZm9yZSwgdGhlIGZvbGxvd2luZyBpcyBwcmVmZXJyZWQgdG8gaWRlbnRpZnlcbiAgICAvLyBhbGwgbm9uLXRvdWNoc2NyZWVuIGRldmljZXMuXG4gICAgY29uc3QgaG92ZXJUcmlnZ2VyID0gdGhpcy5ob3ZlclRyaWdnZXIgJiYgIXBvaW50ZXJDb2Fyc2U7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSBvbGRUcmlnZ2VyICYmIGhvdmVyVHJpZ2dlciA9PT0gdGhpcy5faG92ZXJUcmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hvdmVyVHJpZ2dlciAhPT0gaG92ZXJUcmlnZ2VyKSB7XG4gICAgICB0aGlzLl9ob3ZlclRyaWdnZXIgPSBob3ZlclRyaWdnZXI7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdob3Zlci10cmlnZ2VyJywgdGhpcy5faG92ZXJUcmlnZ2VyKTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHN1cGVyLmNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9vblRyaWdnZXJNb3VzZUVudGVyLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwgeyBzaWduYWwgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZ0OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5jb2RlID09PSAnU3BhY2UnIHx8IGV2dC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBOVkRBIGNhbid0IG9wZW4gdGhlIHBvcG92ZXIgb24ga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaWYgKGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZ0KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHNpZ25hbCB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb3BlbigpOiB2b2lkIHtcbiAgICBzdXBlci5vcGVuKCk7XG5cbiAgICBpZiAodGhpcy5ob3ZlclRyaWdnZXIgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLnRyaWdnZXIpLmFkZCgnZm9yY2UtaG92ZXInKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIuY2xvc2UoKTtcblxuICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMudHJpZ2dlcik/LmRlbGV0ZSgnZm9yY2UtaG92ZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlIHRyaWdnZXIgaXMgZm9jdXNlZCBieSBrZXlib2FyZCBhbmQgaG92ZXJlZCB3aXRoIHRoZSBtb3VzZSwgdGhlIG91dGxpbmUgd291bGQgYmUgdmlzaWJsZS5cbiAgICAgICAgLy8gU28gd2UgcmVzZXQgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGhpZGUgdGhlIG91dGxpbmUuXG4gICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5yZXNldCgpO1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0sIHRoaXMub3BlbkRlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UcmlnZ2VyTW91c2VMZWF2ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLmNsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9XG4gIH07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VQb3BvdmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgIHNiYi1wb3BvdmVyLWNsb3NlXG4gICAgICA+PC9zYmItc2Vjb25kYXJ5LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAkeyF0aGlzLmhpZGVDbG9zZUJ1dHRvbiAmJiAhdGhpcy5faG92ZXJUcmlnZ2VyID8gY2xvc2VCdXR0b24gOiBub3RoaW5nfVxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcG9wb3Zlcl9fc2Nyb2xsYWJsZS1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pk5vIGNvbnRlbnQ8L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBvcG92ZXInOiBTYmJQb3BvdmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM0Q0EsMEJBQTBCLFFBQVE7QUFFbEMsSUFBTSxrQkFBa0I7QUFDeEIsSUFBTSxvQkFBb0I7QUFFMUIsSUFBSSxTQUFTO0FBRWIsSUFBTSw4QkFBYyxJQUFJLEtBQTRCO0FBQ3BELElBQU0sZ0JBQWdCLFdBQVcsUUFBUSxXQUFXLDJCQUEyQixDQUFDO0lBRTFELCtCQUFxQjttQkFBUzs7OztjQUE5Qiw4QkFBOEIsWUFBdUI7OztHQVV6RCxLQUFBLDRCQUFBLGtCQUFBLE1BQUEsdUJBQThCLEtBQUk7R0FHMUMsS0FBQSxzQkFBbUIsa0JBQUEsTUFBQSwyQkFBQTtHQUNuQixLQUFBLGtCQUEyQjtHQU0zQixLQUFBLG9CQUFvQixJQUFJLGlCQUFpQixNQUFNO0lBQ3JELFFBQVE7SUFDUixnQkFBZ0IsS0FBSyxxQkFBQTtJQUN0QixDQUFDO0dBQ00sS0FBQSw4QkFBOEIsSUFBSSw4QkFBOEIsS0FBSztHQUNyRSxLQUFBLHVCQUF1QixJQUFJLHVCQUF1QixLQUFLO0dBQ3ZELEtBQUEsZUFBcUQ7R0EyTXJELEtBQUEsd0JBQXdCLFVBQTZCO0lBQzNELEtBQUssK0JBQStCLGlCQUFpQixLQUFLLFNBQVUsTUFBTTs7R0FJcEUsS0FBQSx5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
@@ -123,4 +123,4 @@ var SbbRadioButtonCommonElementMixin = (superClass) => {
123
123
  //#endregion
124
124
  export { radioButtonCommonStyle as n, SbbRadioButtonCommonElementMixin as t };
125
125
 
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWNvbW1vbi0tZDNXWC1aTS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uL2NvbW1vbi9yYWRpby1idXR0b24tY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9jb21tb24vcmFkaW8tYnV0dG9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IHZhcigtLXNiYi1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgLy8gVGhlIGJvcmRlciBpbiB1bmNoZWNrZWQgc3RhdGUgc2hvdWxkIGZpbGwgdGhlIGNpcmNsZS5cbiAgLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtZmFrZS1ib3JkZXItd2lkdGg6IGNhbGModmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1kaW1lbnNpb24pIC8gMik7XG5cbiAgLy8gQWxpZ24gcmFkaW8gYnV0dG9uIHRvIHRoZSBmaXJzdCByb3cgb2YgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBsaW5lLWhlaWdodCBzbyB0aGF0IGl0J3MgdmVydGljYWxseVxuICAvLyBhbGlnbmVkIHRvIHRoZSBsYWJlbCBhbmQgc3RpY2tzIHRvIHRoZSB0b3AgaWYgdGhlIGxhYmVsIGJyZWFrcyBpbnRvIG11bHRpcGxlIGxpbmVzXG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pY29uLWFsaWduOiBjYWxjKFxuICAgICgxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAtIHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKSkgLyAyXG4gICk7XG59XG5cbjpob3N0KDpzdGF0ZShjaGVja2VkKSkge1xuICAtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWZha2UtYm9yZGVyLXdpZHRoOiBjYWxjKFxuICAgICh2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbikgLSB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWlubmVyLWNpcmNsZS1kaW1lbnNpb24pKSAvIDJcbiAgKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItcmFkaW8tYnV0dG9uLWlubmVyLWNpcmNsZS1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBkZWZpbml0aW9ucyBoYXZlIHRvIGJlIGFmdGVyIGNoZWNrZWQgZGVmaW5pdGlvbnNcbjpob3N0KDpkaXNhYmxlZCkge1xuICAtLXNiYi1yYWRpby1idXR0b24tbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItcmFkaW8tYnV0dG9uLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXNiYi1yYWRpby1idXR0b24tY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLWRlZmF1bHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzO1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIERpc2FibGVkIGRlZmluaXRpb25zIGhhdmUgdG8gYmUgYWZ0ZXIgY2hlY2tlZCBkZWZpbml0aW9uc1xuOmhvc3QoOmRpc2FibGVkOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTItaW52ZXJ0ZWQpO1xufVxuXG46aG9zdChbc2l6ZT0neHMnXSkge1xuICAtLXNiYi1yYWRpby1idXR0b24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpO1xuICAtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbi14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICAtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbi1zKTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1yYWRpby1idXR0b24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1kaW1lbnNpb246IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uLW0pO1xufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG5cbi5zYmItcmFkaW8tYnV0dG9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWN1cnNvcik7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWxhYmVsLWNvbG9yKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSkgKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSk7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWljb24tYWxpZ24pO1xuXG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbiwgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eCkpO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVuY2hlY2tlZCBzdHlsZVxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yKTtcblxuICAgIC8vIFRoZSBib3JkZXIgd2FzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGFuaW1hdGlvbiBvZiB0aGUgcmFkaW8tYnV0dG9uXG4gICAgLy8gVGhlIGJvcmRlciBjb2xvciBhY3RzIGFzIGJhY2tncm91bmQgY29sb3IuXG4gICAgYm9yZGVyOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtZmFrZS1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgICB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWxhYmVsLWdhcCk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogdmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1yYWRpby1idXR0b24tYm9yZGVyLXN0eWxlKVxuICAgICAgdmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3IpO1xuICB9XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICB0eXBlIENvbnN0cnVjdG9yLFxuICBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9yYWRpby1idXR0b24tZ3JvdXAudHMnO1xuXG5pbXBvcnQgcmFkaW9CdXR0b25Db21tb25TdHlsZVN0cmluZyBmcm9tICcuL3JhZGlvLWJ1dHRvbi1jb21tb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgcmFkaW9CdXR0b25Db21tb25TdHlsZSA9IHVuc2FmZUNTUyhyYWRpb0J1dHRvbkNvbW1vblN0eWxlU3RyaW5nKTtcblxuZXhwb3J0IHR5cGUgU2JiUmFkaW9CdXR0b25TaXplID0gJ3hzJyB8ICdzJyB8ICdtJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKFxuICBTYmJFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGFsbG93RW1wdHlTZWxlY3Rpb24oYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8U2JiRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYWRpbyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhbGxvd0VtcHR5U2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uIHx8ICh0aGlzLmdyb3VwPy5hbGxvd0VtcHR5U2VsZWN0aW9uID8/IGZhbHNlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWxsb3dFbXB0eVNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb25uZWN0ZWQgcmFkaW8gYnV0dG9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLl9ncm91cDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9ncm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCcpIGFzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgcmVxdWVzdFVwZGF0ZSB0byB1cGRhdGUgdGhlIHJlZmxlY3RlZCBhdHRyaWJ1dGVzXG4gICAgICBbJ2Rpc2FibGVkJywgJ3JlcXVpcmVkJywgJ3NpemUnXS5mb3JFYWNoKChwKSA9PiB0aGlzLnJlcXVlc3RVcGRhdGUocCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcmFkaW8tYnV0dG9uIGFzICdjaGVja2VkJzsgaWYgJ2FsbG93RW1wdHlTZWxlY3Rpb24nLCB0b2dnbGUgdGhlIGNoZWNrZWQgcHJvcGVydHkuXG4gICAgICogSW4gYm90aCBjYXNlcyBpdCBlbWl0cyB0aGUgY2hhbmdlIGV2ZW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbGxvd0VtcHR5U2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3ZhbHVlJykpIHtcbiAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtXJhZGlvYnV0dG9udmFsdWVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5ncm91cD8ucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWxlY3QoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBTaW5jZSBvbmx5IGEgc2luZ2xlIHJhZGlvIG9mIGEgZ3JvdXAgaXMgZm9jdXNhYmxlIGF0IGFueSB0aW1lLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBvbmUgY2xpY2tlZCBkb2VzIG5vdCBoYXZlICd0YWJpbmRleD0wJy5cbiAgICAgICAqIFRvIGNvdmVyIHRoYXQsIHdlIGF3YWl0IHRoZSBuZXh0IHJlbmRlciAod2hpY2ggd2lsbCBtYWtlIHRoZSAnY2hlY2tlZCcgcmFkaW8gZm9jdXNhYmxlKSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcmFkaW9cbiAgICAgICAqL1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTsgLy8gV2FpdCBmb3IgJ3RhYmluZGV4JyB0byBiZSB1cGRhdGVkXG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQ2FBLElBQWEseUJBQXlCLFVBQVUsaTVIQUE2QjtBQWM3RSxJQUFhLG9DQUNYLGVBQ2lFO0FBbUdqRSxlQWxHMEM7b0JBQ2hDLGtDQUFrQyxXQUFXOzs7ZUFEeEMsb0NBQ0wsWUFBNkM7OzsyQ0FXcEQsU0FBUztLQUFFLFdBQVc7S0FBeUIsTUFBTTtLQUFTLENBQUMsQ0FBQTtBQUNoRSxpQkFBQSxNQUFBLE1BQUEscUNBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSx5QkFBQTtNQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsV0FBVyxzQkFBbUI7O01BQUE7S0FBQSxVQUFBO0tBQUEsRUFBQSxNQUFBLDJCQUFBOzs7Ozs7Ozs7QUFUUCxTQUFBLFNBQVM7S0FDOUIsUUFBUTtLQUNSLE9BQU87S0FDQzs7Ozs7R0FNVixJQUFXLG9CQUFvQixPQUFjO0FBQzNDLFNBQUssdUJBQXVCLFFBQVEsTUFBTTs7R0FFNUMsSUFBVyxzQkFBbUI7QUFDNUIsV0FBTyxLQUFLLHlCQUF5QixLQUFLLE9BQU8sdUJBQXVCOzs7OztHQU8xRSxJQUFXLFFBQUs7QUFDZCxXQUFPLEtBQUs7O0dBSWQsY0FBQTtBQUNFLFdBQU87QUFYRCxTQUFBLHdCQW5CSyxrQkFBQSxNQUFBLDJCQUEyQixFQW1CVDtBQVF2QixTQUFBLFNBQTRDO0FBSWxELFNBQUssbUJBQW1CLFVBQVUsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO0FBQzdELFNBQUssbUJBQW1CLFlBQVksTUFBTSxLQUFLLGVBQWUsRUFBRSxDQUFDOztHQUduRCxvQkFBaUI7QUFDL0IsVUFBTSxtQkFBbUI7QUFDekIsU0FBSyxTQUFTLEtBQUssUUFBUSx5QkFBdUQ7QUFHbEY7S0FBQztLQUFZO0tBQVk7S0FBTyxDQUFDLFNBQVMsTUFBTSxLQUFLLGNBQWMsRUFBRSxDQUFDOzs7Ozs7R0FPakUsU0FBTTtBQUNYLFFBQUksS0FBSyxZQUFZLEtBQUssYUFDeEI7QUFHRixRQUFJLEtBQUsscUJBQXFCO0FBQzVCLFVBQUssVUFBVSxDQUFDLEtBQUs7QUFDckIsVUFBSyxrQkFBa0I7ZUFDZCxDQUFDLEtBQUssU0FBUztBQUN4QixVQUFLLFVBQVU7QUFDZixVQUFLLGtCQUFrQjs7O0dBSVIsV0FBVyxtQkFBdUM7QUFDbkUsVUFBTSxXQUFXLGtCQUFrQjtBQUVuQyxRQUFJLGtCQUFrQixJQUFJLFFBQVE7O0FBRWhDLFNBQUssY0FBYyxJQUFJLE1BQU0sMkJBQTJCLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQzs7R0FJNUQsdUJBQW9CO0FBQ3JDLFdBQU8sS0FBSyxPQUFPLFlBQVk7O0dBR2QsdUJBQW9CO0FBQ3JDLFdBQU8sS0FBSyxPQUFPLFlBQVk7O0dBR3pCLE1BQU0sYUFBYSxPQUFZO0FBQ3JDLFVBQU0sZ0JBQWdCO0FBQ3RCLFNBQUssUUFBUTs7Ozs7QUFNYixVQUFNLEtBQUs7QUFDWCxTQUFLLE9BQU87O0dBR04sZUFBZSxLQUFrQjtBQUN2QyxRQUFJLElBQUksU0FBUyxTQUFTO0FBQ3hCLFNBQUksZ0JBQWdCO0FBQ3BCLFVBQUssUUFBUTs7OztLQUtaIn0=
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWNvbW1vbi0tZDNXWC1aTS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uL2NvbW1vbi9yYWRpby1idXR0b24tY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9jb21tb24vcmFkaW8tYnV0dG9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IHZhcigtLXNiYi1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgLy8gVGhlIGJvcmRlciBpbiB1bmNoZWNrZWQgc3RhdGUgc2hvdWxkIGZpbGwgdGhlIGNpcmNsZS5cbiAgLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtZmFrZS1ib3JkZXItd2lkdGg6IGNhbGModmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1kaW1lbnNpb24pIC8gMik7XG5cbiAgLy8gQWxpZ24gcmFkaW8gYnV0dG9uIHRvIHRoZSBmaXJzdCByb3cgb2YgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBsaW5lLWhlaWdodCBzbyB0aGF0IGl0J3MgdmVydGljYWxseVxuICAvLyBhbGlnbmVkIHRvIHRoZSBsYWJlbCBhbmQgc3RpY2tzIHRvIHRoZSB0b3AgaWYgdGhlIGxhYmVsIGJyZWFrcyBpbnRvIG11bHRpcGxlIGxpbmVzXG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pY29uLWFsaWduOiBjYWxjKFxuICAgICgxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAtIHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKSkgLyAyXG4gICk7XG59XG5cbjpob3N0KDpzdGF0ZShjaGVja2VkKSkge1xuICAtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWZha2UtYm9yZGVyLXdpZHRoOiBjYWxjKFxuICAgICh2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbikgLSB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWlubmVyLWNpcmNsZS1kaW1lbnNpb24pKSAvIDJcbiAgKTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItcmFkaW8tYnV0dG9uLWlubmVyLWNpcmNsZS1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBkZWZpbml0aW9ucyBoYXZlIHRvIGJlIGFmdGVyIGNoZWNrZWQgZGVmaW5pdGlvbnNcbjpob3N0KDpkaXNhYmxlZCkge1xuICAtLXNiYi1yYWRpby1idXR0b24tbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItcmFkaW8tYnV0dG9uLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXNiYi1yYWRpby1idXR0b24tY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLWRlZmF1bHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1yYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzO1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIERpc2FibGVkIGRlZmluaXRpb25zIGhhdmUgdG8gYmUgYWZ0ZXIgY2hlY2tlZCBkZWZpbml0aW9uc1xuOmhvc3QoOmRpc2FibGVkOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1pbm5lci1jaXJjbGUtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTItaW52ZXJ0ZWQpO1xufVxuXG46aG9zdChbc2l6ZT0neHMnXSkge1xuICAtLXNiYi1yYWRpby1idXR0b24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpO1xuICAtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbi14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICAtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWRpbWVuc2lvbi1zKTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1yYWRpby1idXR0b24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1kaW1lbnNpb246IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uLW0pO1xufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG5cbi5zYmItcmFkaW8tYnV0dG9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWN1cnNvcik7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWxhYmVsLWNvbG9yKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSkgKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSk7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1yYWRpby1idXR0b24tZGltZW5zaW9uKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWljb24tYWxpZ24pO1xuXG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbiwgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eCkpO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVuY2hlY2tlZCBzdHlsZVxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1yYWRpby1idXR0b24taW5uZXItY2lyY2xlLWNvbG9yKTtcblxuICAgIC8vIFRoZSBib3JkZXIgd2FzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGFuaW1hdGlvbiBvZiB0aGUgcmFkaW8tYnV0dG9uXG4gICAgLy8gVGhlIGJvcmRlciBjb2xvciBhY3RzIGFzIGJhY2tncm91bmQgY29sb3IuXG4gICAgYm9yZGVyOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtZmFrZS1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgICB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zYmItcmFkaW8tYnV0dG9uLWxhYmVsLWdhcCk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogdmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1yYWRpby1idXR0b24tYm9yZGVyLXN0eWxlKVxuICAgICAgdmFyKC0tc2JiLXJhZGlvLWJ1dHRvbi1ib3JkZXItY29sb3IpO1xuICB9XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICB0eXBlIENvbnN0cnVjdG9yLFxuICBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9yYWRpby1idXR0b24tZ3JvdXAudHMnO1xuXG5pbXBvcnQgcmFkaW9CdXR0b25Db21tb25TdHlsZVN0cmluZyBmcm9tICcuL3JhZGlvLWJ1dHRvbi1jb21tb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgcmFkaW9CdXR0b25Db21tb25TdHlsZSA9IHVuc2FmZUNTUyhyYWRpb0J1dHRvbkNvbW1vblN0eWxlU3RyaW5nKTtcblxuZXhwb3J0IHR5cGUgU2JiUmFkaW9CdXR0b25TaXplID0gJ3hzJyB8ICdzJyB8ICdtJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKFxuICBTYmJFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGFsbG93RW1wdHlTZWxlY3Rpb24oYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8U2JiRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYWRpbyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhbGxvd0VtcHR5U2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uIHx8ICh0aGlzLmdyb3VwPy5hbGxvd0VtcHR5U2VsZWN0aW9uID8/IGZhbHNlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWxsb3dFbXB0eVNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb25uZWN0ZWQgcmFkaW8gYnV0dG9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLl9ncm91cDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9ncm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCcpIGFzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgcmVxdWVzdFVwZGF0ZSB0byB1cGRhdGUgdGhlIHJlZmxlY3RlZCBhdHRyaWJ1dGVzXG4gICAgICBbJ2Rpc2FibGVkJywgJ3JlcXVpcmVkJywgJ3NpemUnXS5mb3JFYWNoKChwKSA9PiB0aGlzLnJlcXVlc3RVcGRhdGUocCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcmFkaW8tYnV0dG9uIGFzICdjaGVja2VkJzsgaWYgJ2FsbG93RW1wdHlTZWxlY3Rpb24nLCB0b2dnbGUgdGhlIGNoZWNrZWQgcHJvcGVydHkuXG4gICAgICogSW4gYm90aCBjYXNlcyBpdCBlbWl0cyB0aGUgY2hhbmdlIGV2ZW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbGxvd0VtcHR5U2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3ZhbHVlJykpIHtcbiAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtXJhZGlvYnV0dG9udmFsdWVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5ncm91cD8ucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWxlY3QoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBTaW5jZSBvbmx5IGEgc2luZ2xlIHJhZGlvIG9mIGEgZ3JvdXAgaXMgZm9jdXNhYmxlIGF0IGFueSB0aW1lLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBvbmUgY2xpY2tlZCBkb2VzIG5vdCBoYXZlICd0YWJpbmRleD0wJy5cbiAgICAgICAqIFRvIGNvdmVyIHRoYXQsIHdlIGF3YWl0IHRoZSBuZXh0IHJlbmRlciAod2hpY2ggd2lsbCBtYWtlIHRoZSAnY2hlY2tlZCcgcmFkaW8gZm9jdXNhYmxlKSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcmFkaW9cbiAgICAgICAqL1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTsgLy8gV2FpdCBmb3IgJ3RhYmluZGV4JyB0byBiZSB1cGRhdGVkXG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQ2FBLElBQWEseUJBQXlCLFVBQVUsaTVIQUE2QjtBQWM3RSxJQUFhLG9DQUNYLGVBQ2lFO0NBbUdqRSxjQWxHMEM7b0JBQ2hDLGtDQUFrQyxXQUFXOzs7ZUFEeEMsb0NBQ0wsWUFBNkM7OzsyQ0FXcEQsU0FBUztLQUFFLFdBQVc7S0FBeUIsTUFBTTtLQUFTLENBQUMsQ0FBQTtJQUNoRSxhQUFBLE1BQUEsTUFBQSxxQ0FBQTtLQUFBLE1BQUE7S0FBQSxNQUFBO0tBQUEsUUFBQTtLQUFBLFNBQUE7S0FBQSxRQUFBO01BQUEsTUFBQSxRQUFBLHlCQUFBO01BQUEsTUFBQSxLQUFBLFVBQUE7T0FBQSxJQUFXLHNCQUFtQjs7TUFBQTtLQUFBLFVBQUE7S0FBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztJQVRQLEtBQUEsU0FBUztLQUM5QixRQUFRO0tBQ1IsT0FBTztLQUNDOzs7OztHQU1WLElBQVcsb0JBQW9CLE9BQWM7SUFDM0MsS0FBSyx1QkFBdUIsUUFBUSxNQUFNOztHQUU1QyxJQUFXLHNCQUFtQjtJQUM1QixPQUFPLEtBQUsseUJBQXlCLEtBQUssT0FBTyx1QkFBdUI7Ozs7O0dBTzFFLElBQVcsUUFBSztJQUNkLE9BQU8sS0FBSzs7R0FJZCxjQUFBO0lBQ0UsT0FBTztJQVhELEtBQUEsd0JBbkJLLGtCQUFBLE1BQUEsMkJBQTJCLEVBbUJUO0lBUXZCLEtBQUEsU0FBNEM7SUFJbEQsS0FBSyxtQkFBbUIsVUFBVSxNQUFNLEtBQUssYUFBYSxFQUFFLENBQUM7SUFDN0QsS0FBSyxtQkFBbUIsWUFBWSxNQUFNLEtBQUssZUFBZSxFQUFFLENBQUM7O0dBR25ELG9CQUFpQjtJQUMvQixNQUFNLG1CQUFtQjtJQUN6QixLQUFLLFNBQVMsS0FBSyxRQUFRLHlCQUF1RDtJQUdsRjtLQUFDO0tBQVk7S0FBWTtLQUFPLENBQUMsU0FBUyxNQUFNLEtBQUssY0FBYyxFQUFFLENBQUM7Ozs7OztHQU9qRSxTQUFNO0lBQ1gsSUFBSSxLQUFLLFlBQVksS0FBSyxjQUN4QjtJQUdGLElBQUksS0FBSyxxQkFBcUI7S0FDNUIsS0FBSyxVQUFVLENBQUMsS0FBSztLQUNyQixLQUFLLGtCQUFrQjtXQUNsQixJQUFJLENBQUMsS0FBSyxTQUFTO0tBQ3hCLEtBQUssVUFBVTtLQUNmLEtBQUssa0JBQWtCOzs7R0FJUixXQUFXLG1CQUF1QztJQUNuRSxNQUFNLFdBQVcsa0JBQWtCO0lBRW5DLElBQUksa0JBQWtCLElBQUksUUFBUTs7SUFFaEMsS0FBSyxjQUFjLElBQUksTUFBTSwyQkFBMkIsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFDOztHQUk1RCx1QkFBb0I7SUFDckMsT0FBTyxLQUFLLE9BQU8sWUFBWTs7R0FHZCx1QkFBb0I7SUFDckMsT0FBTyxLQUFLLE9BQU8sWUFBWTs7R0FHekIsTUFBTSxhQUFhLE9BQVk7SUFDckMsTUFBTSxnQkFBZ0I7SUFDdEIsS0FBSyxRQUFROzs7OztJQU1iLE1BQU0sS0FBSztJQUNYLEtBQUssT0FBTzs7R0FHTixlQUFlLEtBQWtCO0lBQ3ZDLElBQUksSUFBSSxTQUFTLFNBQVM7S0FDeEIsSUFBSSxnQkFBZ0I7S0FDcEIsS0FBSyxRQUFROzs7O0tBS1oifQ==
@@ -184,4 +184,4 @@ var SbbRadioButtonGroupElement = (() => {
184
184
  //#endregion
185
185
  export { SbbRadioButtonGroupElement };
186
186
 
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uLWdyb3VwL3JhZGlvLWJ1dHRvbi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiU2VsZWN0aW9uR3JvdXBCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uLXBhbmVsLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHJhZGlvIGJ1dHRvbiBlbGVtZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLXJhZGlvLWJ1dHRvbmAsIGBzYmItcmFkaW8tYnV0dG9uLXBhbmVsYCwgYHNiYi1zZWxlY3Rpb24tYWN0aW9uLXBhbmVsYCBhbmQgYHNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsYCBlbGVtZW50cyB0byB0aGUgYHNiYi1yYWRpby1idXR0b24tZ3JvdXBgLlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgYHNiYi1lcnJvcmAgdG8gc2hvdyBhbiBlcnJvciBtZXNzYWdlLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiU2VsZWN0aW9uR3JvdXBCYXNlRWxlbWVudDxcbiAgU2JiUmFkaW9CdXR0b25FbGVtZW50PFQ+IHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ8VD5cbj4ge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdyYWRpb2dyb3VwJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0aW9uRWxlbWVudFNlbGVjdG9ycyA9ICdzYmItcmFkaW8tYnV0dG9uLCBzYmItcmFkaW8tYnV0dG9uLXBhbmVsJztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhbmVsRWxlbWVudFNlbGVjdG9yOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvcyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbGxvd0VtcHR5U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbDogVCB8IG51bGwpIHtcbiAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gdmFsO1xuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25FbGVtZW50cy5mb3JFYWNoKChyKSA9PiAoci5jaGVja2VkID0gZmFsc2UpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdG9DaGVjayA9IHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZmluZCgocikgPT4gci52YWx1ZSA9PT0gdmFsKTtcbiAgICBpZiAodG9DaGVjaykge1xuICAgICAgdG9DaGVjay5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZmluZCgocikgPT4gci5jaGVja2VkICYmICFyLmRpc2FibGVkKT8udmFsdWUgPz8gdGhpcy5fZmFsbGJhY2tWYWx1ZVxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJlc2VydmUgdGhlIGB2YWx1ZWAgaW4gY2FzZSB0aGUgcmFkaW9zIGFyZSBub3QgeWV0ICdsb2FkZWQnXG4gICAqL1xuICBwcml2YXRlIF9mYWxsYmFja1ZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE5hbWUgZm9yIHRoZSBncm91cC4gV2lsbCBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjaGlsZCByYWRpbyBidXR0b25zLiBNdXN0IGJlIHVuaXF1ZSBpZiBtdWx0aXBsZSBncm91cHMgYXJlIHVzZWQgb24gdGhlIHNhbWUgcGFnZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWFzc2lnbm1lbnRcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZyA9IGBzYmItcmFkaW8tYnV0dG9uLWdyb3VwLSR7KytuZXh0SWR9YDtcblxuICAvKiogTGlzdCBvZiBjb250YWluZWQgcmFkaW8gYnV0dG9ucy4gKi9cbiAgcHVibGljIGdldCByYWRpb0J1dHRvbnMoKTogKFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUPiB8IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQ+KVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25FbGVtZW50cztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjaGFuZ2UnLCAoZTogRXZlbnQpID0+IHRoaXMuX29uUmFkaW9DaGFuZ2UoZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCfJtXJhZGlvYnV0dG9udmFsdWVjaGFuZ2UnLCAoKSA9PiB0aGlzLl91cGRhdGVSYWRpb1N0YXRlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduYW1lJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc05hbWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fdXBkYXRlUmFkaW9TdGF0ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUmFkaW9DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0ISBhcyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQgfCBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudDtcblxuICAgIC8vIE9ubHkgZmlsdGVyIHJhZGlvLWJ1dHRvbnMgZXZlbnRcbiAgICBpZiAoXG4gICAgICAodGFyZ2V0LmxvY2FsTmFtZSAhPT0gJ3NiYi1yYWRpby1idXR0b24nICYmIHRhcmdldC5sb2NhbE5hbWUgIT09ICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJykgfHxcbiAgICAgIHRhcmdldC5ncm91cCAhPT0gdGhpc1xuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2ZhbGxiYWNrVmFsdWUgPSBudWxsOyAvLyBTaW5jZSB0aGUgdXNlciBpbnRlcmFjdGVkLCB0aGUgZmFsbGJhY2tWYWx1ZSBsb2dpYyBkb2VzIG5vdCBhcHBseSBhbnltb3JlXG5cbiAgICAvKipcbiAgICAgKiBEZXByZWNhdGVkLiBNaXJyb3JzIGNoYW5nZSBldmVudCBmb3IgUmVhY3QuIFdpbGwgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IHByb3Blcmx5IHN1cHBvcnRzIGNoYW5nZSBldmVudHMuXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdkaWRDaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5ICduYW1lJyB0byBjaGlsZCByYWRpby1idXR0b25zXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVSYWRpb3NOYW1lKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZm9yRWFjaCgocikgPT4gKHIubmFtZSA9IHRoaXMubmFtZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXRyaWdnZXIgdGhlIHNldHRlciBhbmQgdXBkYXRlIHRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSByYWRpb3MuXG4gICAqIE1haW5seSB1c2VkIHRvIGNvdmVyIGNhc2VzIHdoZXJlIHRoZSBzZXR0ZXIgaXMgY2FsbGVkIGJlZm9yZSB0aGUgcmFkaW9zIGFyZSBsb2FkZWRcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVJhZGlvU3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZhbGxiYWNrVmFsdWUgIT0gbnVsbCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TbG90Q2hhbmdlKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uU2xvdENoYW5nZSgpO1xuXG4gICAgdGhpcy5fdXBkYXRlUmFkaW9zTmFtZSgpO1xuICAgIHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCc6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsSUFBSSxTQUFTOzs7Ozs7OztJQVNBLG9DQUEwQjttQkFBcUI7Ozs7Ozs7OztjQUEvQyxtQ0FBK0MsWUFFM0Q7OztzQ0FjRSxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBeUIsTUFBTTtJQUFTLENBQUMsQ0FBQTs0QkFNL0QsVUFBVSxDQUFBO3VCQTBCVixXQUFXLEVBQ1gsVUFBVSxDQUFBO0FBaENYLGdCQUFBLE1BQUEsTUFBQSxpQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFB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
187
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uLWdyb3VwL3JhZGlvLWJ1dHRvbi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiU2VsZWN0aW9uR3JvdXBCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uLXBhbmVsLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHJhZGlvIGJ1dHRvbiBlbGVtZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLXJhZGlvLWJ1dHRvbmAsIGBzYmItcmFkaW8tYnV0dG9uLXBhbmVsYCwgYHNiYi1zZWxlY3Rpb24tYWN0aW9uLXBhbmVsYCBhbmQgYHNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsYCBlbGVtZW50cyB0byB0aGUgYHNiYi1yYWRpby1idXR0b24tZ3JvdXBgLlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgYHNiYi1lcnJvcmAgdG8gc2hvdyBhbiBlcnJvciBtZXNzYWdlLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiU2VsZWN0aW9uR3JvdXBCYXNlRWxlbWVudDxcbiAgU2JiUmFkaW9CdXR0b25FbGVtZW50PFQ+IHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ8VD5cbj4ge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdyYWRpb2dyb3VwJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0aW9uRWxlbWVudFNlbGVjdG9ycyA9ICdzYmItcmFkaW8tYnV0dG9uLCBzYmItcmFkaW8tYnV0dG9uLXBhbmVsJztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhbmVsRWxlbWVudFNlbGVjdG9yOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvcyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbGxvd0VtcHR5U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbDogVCB8IG51bGwpIHtcbiAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gdmFsO1xuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25FbGVtZW50cy5mb3JFYWNoKChyKSA9PiAoci5jaGVja2VkID0gZmFsc2UpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdG9DaGVjayA9IHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZmluZCgocikgPT4gci52YWx1ZSA9PT0gdmFsKTtcbiAgICBpZiAodG9DaGVjaykge1xuICAgICAgdG9DaGVjay5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZmluZCgocikgPT4gci5jaGVja2VkICYmICFyLmRpc2FibGVkKT8udmFsdWUgPz8gdGhpcy5fZmFsbGJhY2tWYWx1ZVxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJlc2VydmUgdGhlIGB2YWx1ZWAgaW4gY2FzZSB0aGUgcmFkaW9zIGFyZSBub3QgeWV0ICdsb2FkZWQnXG4gICAqL1xuICBwcml2YXRlIF9mYWxsYmFja1ZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE5hbWUgZm9yIHRoZSBncm91cC4gV2lsbCBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjaGlsZCByYWRpbyBidXR0b25zLiBNdXN0IGJlIHVuaXF1ZSBpZiBtdWx0aXBsZSBncm91cHMgYXJlIHVzZWQgb24gdGhlIHNhbWUgcGFnZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWFzc2lnbm1lbnRcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZyA9IGBzYmItcmFkaW8tYnV0dG9uLWdyb3VwLSR7KytuZXh0SWR9YDtcblxuICAvKiogTGlzdCBvZiBjb250YWluZWQgcmFkaW8gYnV0dG9ucy4gKi9cbiAgcHVibGljIGdldCByYWRpb0J1dHRvbnMoKTogKFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUPiB8IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQ+KVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25FbGVtZW50cztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjaGFuZ2UnLCAoZTogRXZlbnQpID0+IHRoaXMuX29uUmFkaW9DaGFuZ2UoZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCfJtXJhZGlvYnV0dG9udmFsdWVjaGFuZ2UnLCAoKSA9PiB0aGlzLl91cGRhdGVSYWRpb1N0YXRlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduYW1lJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc05hbWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fdXBkYXRlUmFkaW9TdGF0ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUmFkaW9DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0ISBhcyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQgfCBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudDtcblxuICAgIC8vIE9ubHkgZmlsdGVyIHJhZGlvLWJ1dHRvbnMgZXZlbnRcbiAgICBpZiAoXG4gICAgICAodGFyZ2V0LmxvY2FsTmFtZSAhPT0gJ3NiYi1yYWRpby1idXR0b24nICYmIHRhcmdldC5sb2NhbE5hbWUgIT09ICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJykgfHxcbiAgICAgIHRhcmdldC5ncm91cCAhPT0gdGhpc1xuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2ZhbGxiYWNrVmFsdWUgPSBudWxsOyAvLyBTaW5jZSB0aGUgdXNlciBpbnRlcmFjdGVkLCB0aGUgZmFsbGJhY2tWYWx1ZSBsb2dpYyBkb2VzIG5vdCBhcHBseSBhbnltb3JlXG5cbiAgICAvKipcbiAgICAgKiBEZXByZWNhdGVkLiBNaXJyb3JzIGNoYW5nZSBldmVudCBmb3IgUmVhY3QuIFdpbGwgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IHByb3Blcmx5IHN1cHBvcnRzIGNoYW5nZSBldmVudHMuXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdkaWRDaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5ICduYW1lJyB0byBjaGlsZCByYWRpby1idXR0b25zXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVSYWRpb3NOYW1lKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uRWxlbWVudHMuZm9yRWFjaCgocikgPT4gKHIubmFtZSA9IHRoaXMubmFtZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXRyaWdnZXIgdGhlIHNldHRlciBhbmQgdXBkYXRlIHRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSByYWRpb3MuXG4gICAqIE1haW5seSB1c2VkIHRvIGNvdmVyIGNhc2VzIHdoZXJlIHRoZSBzZXR0ZXIgaXMgY2FsbGVkIGJlZm9yZSB0aGUgcmFkaW9zIGFyZSBsb2FkZWRcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVJhZGlvU3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZhbGxiYWNrVmFsdWUgIT0gbnVsbCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TbG90Q2hhbmdlKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uU2xvdENoYW5nZSgpO1xuXG4gICAgdGhpcy5fdXBkYXRlUmFkaW9zTmFtZSgpO1xuICAgIHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCc6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsSUFBSSxTQUFTOzs7Ozs7OztJQVNBLG9DQUEwQjttQkFBcUI7Ozs7Ozs7OztjQUEvQyxtQ0FBK0MsWUFFM0Q7OztzQ0FjRSxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBeUIsTUFBTTtJQUFTLENBQUMsQ0FBQTs0QkFNL0QsVUFBVSxDQUFBO3VCQTBCVixXQUFXLEVBQ1gsVUFBVSxDQUFBO0dBaENYLGFBQUEsTUFBQSxNQUFBLGlDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEs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
@@ -123,4 +123,4 @@ var SbbRadioButtonPanelElement = (() => {
123
123
  //#endregion
124
124
  export { SbbRadioButtonPanelElement };
125
125
 
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLXBhbmVsLmNvbXBvbmVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uLXBhbmVsL3JhZGlvLWJ1dHRvbi1wYW5lbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBwYW5lbENvbW1vblN0eWxlLCBTYmJQYW5lbE1peGluLCBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7XG4gIHJhZGlvQnV0dG9uQ29tbW9uU3R5bGUsXG4gIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluLFxufSBmcm9tICcuLi9yYWRpby1idXR0b24vY29tbW9uL3JhZGlvLWJ1dHRvbi1jb21tb24udHMnO1xuXG5pbXBvcnQgJy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSByYWRpbyBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgcGFuZWwgZGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHJhZGlvIGxhYmVsLlxuICogQHNsb3Qgc3VidGV4dCAtIFNsb3QgdXNlZCB0byByZW5kZXIgYSBzdWJ0ZXh0IHVuZGVyIHRoZSBsYWJlbC5cbiAqIEBzbG90IHN1ZmZpeCAtIFNsb3QgdXNlZCB0byByZW5kZXIgYWRkaXRpb25hbCBjb250ZW50IGFmdGVyIHRoZSBsYWJlbC5cbiAqIEBzbG90IGJhZGdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1jYXJkLWJhZGdlYCAob3B0aW9uYWwpLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiUGFuZWxNaXhpbihcbiAgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW4oU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIGJveFNpemluZ1N0eWxlcyxcbiAgICByYWRpb0J1dHRvbkNvbW1vblN0eWxlLFxuICAgIHBhbmVsQ29tbW9uU3R5bGUsXG4gIF07XG5cbiAgLy8gVE9ETzogZml4IHVzaW5nIC4uLnN1cGVyLmV2ZW50cyByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL3NiYi1kZXNpZ24tc3lzdGVtcy9seW5lLWNvbXBvbmVudHMvaXNzdWVzLzI2MDBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudCA9ICEhdGhpcy5jbG9zZXN0Py4oXG4gICAgICAnc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwsIHNiYi1zZWxlY3Rpb24tYWN0aW9uLXBhbmVsJyxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2NoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBcyBhbiBleGNlcHRpb24sIHBhbmVscyB3aXRoIGEgc2VsZWN0aW9uLXBhbmVsIGF0dGFjaGVkIGFyZSBhbHdheXMgZm9jdXNhYmxlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgIGNvbnN0IHJhZGlvcyA9IEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKSBhcyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudFtdO1xuXG4gICAgcmFkaW9zXG4gICAgICAuZmlsdGVyKChyKSA9PiAhci5kaXNhYmxlZCAmJiByLl9oYXNTZWxlY3Rpb25QYW5lbEVsZW1lbnQpXG4gICAgICAuZm9yRWFjaCgocikgPT4gKHIudGFiSW5kZXggPSAwKSk7XG4gIH1cblxuICAvKipcbiAgICogQXMgYW4gZXhjZXB0aW9uLCByYWRpby1wYW5lbHMgd2l0aCBhIHNlbGVjdGlvbi1wYW5lbCBhdHRhY2hlZCBhcmUgbm90IGNoZWNrZWQgYXV0b21hdGljYWxseSB3aGVuIG5hdmlnYXRpbmcgYnkga2V5Ym9hcmRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBuYXZpZ2F0ZUJ5S2V5Ym9hcmQobmV4dDogU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudCkge1xuICAgICAgYXdhaXQgc3VwZXIubmF2aWdhdGVCeUtleWJvYXJkKG5leHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXNlbGVjdGlvbi1wYW5lbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXNlbGVjdGlvbi1wYW5lbF9fYmFkZ2VcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiYmFkZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3RcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIj48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWJ0ZXh0XCI+PC9zbG90PlxuICAgICAgICAgICR7dGhpcy5leHBhbnNpb25TdGF0ZVxuICAgICAgICAgICAgPyBodG1sYDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PiR7dGhpcy5leHBhbnNpb25TdGF0ZX08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJzogU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3QmEsb0NBQTBCO21CQUFxQixjQUMxRCxpQ0FBaUMsd0JBQXdCLFdBQVcsQ0FBQyxDQUN0RTs7OztjQUZZLG1DQUErQyxZQUUzRDs7O0FBa0JpQixTQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBQWtCLEtBQUk7QUFFOUIsUUFBQSw2QkFBeUIsa0JBQUEsTUFBQSx5QkFBQSxFQUFZOzs7O3dCQUg1QyxVQUFVLENBQUE7QUFDWCxnQkFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTs7Ozs7Ozs7O0FBakJXLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCO0lBQzlDO0lBQ0E7SUFDQTtJQUNEOzs7QUFHc0IsUUFBQSxTQUFTO0lBQzlCLFFBQVE7SUFDUixPQUFPO0lBQ0M7O0VBTVY7Ozs7RUFBQSxJQUFnQixRQUFLO0FBQUEsVUFBQSxNQUFBOztFQUFyQixJQUFnQixNQUFLLE9BQUE7QUFBQSxTQUFBLHlCQUFBOztFQUlMLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQUN6QixRQUFLLDRCQUE0QixDQUFDLENBQUMsS0FBSyxVQUN0Qyw0REFDRDs7RUFHZ0IsV0FBVyxtQkFBdUM7QUFDbkUsU0FBTSxXQUFXLGtCQUFrQjtBQUVuQyxPQUFJLGtCQUFrQixJQUFJLFVBQVUsQ0FDbEMsTUFBSyxZQUFZLFdBQVcsS0FBSyxRQUFROzs7OztFQU8xQix3QkFBcUI7QUFDdEMsU0FBTSx1QkFBdUI7QUFDZCxTQUFNLEtBQUssS0FBSywwQkFBMEIsRUFBRSxDQUUzRCxDQUNHLFFBQVEsTUFBTSxDQUFDLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixDQUN6RCxTQUFTLE1BQU8sRUFBRSxXQUFXLEVBQUc7Ozs7O0VBTWxCLE1BQU0sbUJBQW1CLE1BQWdDO0FBQzFFLE9BQUksQ0FBQyxLQUFLLDBCQUNSLE9BQU0sTUFBTSxtQkFBbUIsS0FBSztPQUVwQyxNQUFLLE9BQU87O0VBSUcsU0FBTTtBQUN2QixVQUFPLElBQUk7Ozs7Ozs7Ozs7O1lBV0gsS0FBSyxpQkFDSCxJQUFJLDJCQUEyQixLQUFLLGVBQWMsNkJBQ2xELFFBQUEifQ==
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLXBhbmVsLmNvbXBvbmVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uLXBhbmVsL3JhZGlvLWJ1dHRvbi1wYW5lbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBwYW5lbENvbW1vblN0eWxlLCBTYmJQYW5lbE1peGluLCBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7XG4gIHJhZGlvQnV0dG9uQ29tbW9uU3R5bGUsXG4gIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluLFxufSBmcm9tICcuLi9yYWRpby1idXR0b24vY29tbW9uL3JhZGlvLWJ1dHRvbi1jb21tb24udHMnO1xuXG5pbXBvcnQgJy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSByYWRpbyBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgcGFuZWwgZGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHJhZGlvIGxhYmVsLlxuICogQHNsb3Qgc3VidGV4dCAtIFNsb3QgdXNlZCB0byByZW5kZXIgYSBzdWJ0ZXh0IHVuZGVyIHRoZSBsYWJlbC5cbiAqIEBzbG90IHN1ZmZpeCAtIFNsb3QgdXNlZCB0byByZW5kZXIgYWRkaXRpb25hbCBjb250ZW50IGFmdGVyIHRoZSBsYWJlbC5cbiAqIEBzbG90IGJhZGdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1jYXJkLWJhZGdlYCAob3B0aW9uYWwpLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiUGFuZWxNaXhpbihcbiAgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW4oU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiRWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIGJveFNpemluZ1N0eWxlcyxcbiAgICByYWRpb0J1dHRvbkNvbW1vblN0eWxlLFxuICAgIHBhbmVsQ29tbW9uU3R5bGUsXG4gIF07XG5cbiAgLy8gVE9ETzogZml4IHVzaW5nIC4uLnN1cGVyLmV2ZW50cyByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL3NiYi1kZXNpZ24tc3lzdGVtcy9seW5lLWNvbXBvbmVudHMvaXNzdWVzLzI2MDBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudCA9ICEhdGhpcy5jbG9zZXN0Py4oXG4gICAgICAnc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwsIHNiYi1zZWxlY3Rpb24tYWN0aW9uLXBhbmVsJyxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2NoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBcyBhbiBleGNlcHRpb24sIHBhbmVscyB3aXRoIGEgc2VsZWN0aW9uLXBhbmVsIGF0dGFjaGVkIGFyZSBhbHdheXMgZm9jdXNhYmxlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgIGNvbnN0IHJhZGlvcyA9IEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKSBhcyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudFtdO1xuXG4gICAgcmFkaW9zXG4gICAgICAuZmlsdGVyKChyKSA9PiAhci5kaXNhYmxlZCAmJiByLl9oYXNTZWxlY3Rpb25QYW5lbEVsZW1lbnQpXG4gICAgICAuZm9yRWFjaCgocikgPT4gKHIudGFiSW5kZXggPSAwKSk7XG4gIH1cblxuICAvKipcbiAgICogQXMgYW4gZXhjZXB0aW9uLCByYWRpby1wYW5lbHMgd2l0aCBhIHNlbGVjdGlvbi1wYW5lbCBhdHRhY2hlZCBhcmUgbm90IGNoZWNrZWQgYXV0b21hdGljYWxseSB3aGVuIG5hdmlnYXRpbmcgYnkga2V5Ym9hcmRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBuYXZpZ2F0ZUJ5S2V5Ym9hcmQobmV4dDogU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuX2hhc1NlbGVjdGlvblBhbmVsRWxlbWVudCkge1xuICAgICAgYXdhaXQgc3VwZXIubmF2aWdhdGVCeUtleWJvYXJkKG5leHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXNlbGVjdGlvbi1wYW5lbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXNlbGVjdGlvbi1wYW5lbF9fYmFkZ2VcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiYmFkZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3RcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIj48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWJ0ZXh0XCI+PC9zbG90PlxuICAgICAgICAgICR7dGhpcy5leHBhbnNpb25TdGF0ZVxuICAgICAgICAgICAgPyBodG1sYDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PiR7dGhpcy5leHBhbnNpb25TdGF0ZX08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJzogU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3QmEsb0NBQTBCO21CQUFxQixjQUMxRCxpQ0FBaUMsd0JBQXdCLFdBQVcsQ0FBQyxDQUN0RTs7OztjQUZZLG1DQUErQyxZQUUzRDs7O0dBa0JpQixLQUFBLDBCQUFBLGtCQUFBLE1BQUEscUJBQWtCLEtBQUk7R0FFOUIsS0FBQSw2QkFBeUIsa0JBQUEsTUFBQSx5QkFBQSxFQUFZOzs7O3dCQUg1QyxVQUFVLENBQUE7R0FDWCxhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBOzs7Ozs7Ozs7R0FqQlcsS0FBQSxjQUFzQjs7O0dBQy9CLEtBQUEsU0FBeUI7SUFDOUM7SUFDQTtJQUNBO0lBQ0Q7OztHQUdzQixLQUFBLFNBQVM7SUFDOUIsUUFBUTtJQUNSLE9BQU87SUFDQzs7RUFNVjs7OztFQUFBLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7O0VBSUwsb0JBQWlCO0dBQy9CLE1BQU0sbUJBQW1CO0dBQ3pCLEtBQUssNEJBQTRCLENBQUMsQ0FBQyxLQUFLLFVBQ3RDLDREQUNEOztFQUdnQixXQUFXLG1CQUF1QztHQUNuRSxNQUFNLFdBQVcsa0JBQWtCO0dBRW5DLElBQUksa0JBQWtCLElBQUksVUFBVSxFQUNsQyxLQUFLLFlBQVksV0FBVyxLQUFLLFFBQVE7Ozs7O0VBTzFCLHdCQUFxQjtHQUN0QyxNQUFNLHVCQUF1QjtHQUc3QixNQUZxQixLQUFLLEtBQUssMEJBQTBCLEVBQUUsQ0FFM0QsQ0FDRyxRQUFRLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSwwQkFBMEIsQ0FDekQsU0FBUyxNQUFPLEVBQUUsV0FBVyxFQUFHOzs7OztFQU1sQixNQUFNLG1CQUFtQixNQUFnQztHQUMxRSxJQUFJLENBQUMsS0FBSywyQkFDUixNQUFNLE1BQU0sbUJBQW1CLEtBQUs7UUFFcEMsS0FBSyxPQUFPOztFQUlHLFNBQU07R0FDdkIsT0FBTyxJQUFJOzs7Ozs7Ozs7OztZQVdILEtBQUssaUJBQ0gsSUFBSSwyQkFBMkIsS0FBSyxlQUFjLDZCQUNsRCxRQUFBIn0=
@@ -121,4 +121,4 @@ var SbbRadioButtonElement = (() => {
121
121
  //#endregion
122
122
  export { SbbRadioButtonElement as t };
123
123
 
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC1CYXVMRWVDVi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZCksIDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1sYWJlbC1nYXA6IDA7XG59XG5cbi5zYmItcmFkaW8tYnV0dG9uIHtcbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCkgLSB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaHRtbCwgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGdldE92ZXJyaWRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHtcbiAgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW4sXG4gIHJhZGlvQnV0dG9uQ29tbW9uU3R5bGUsXG4gIHR5cGUgU2JiUmFkaW9CdXR0b25TaXplLFxufSBmcm9tICcuL2NvbW1vbi9yYWRpby1idXR0b24tY29tbW9uLnRzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL3JhZGlvLWJ1dHRvbi5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSByYWRpbyBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSByYWRpbyBsYWJlbC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtcbiAgICBib3hTaXppbmdTdHlsZXMsXG4gICAgcmFkaW9CdXR0b25Db21tb25TdHlsZSxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciB4cywgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuZ3JvdXA/LnNpemUgPz8gdilcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlJhZGlvQnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcmFkaW8tYnV0dG9uX19sYWJlbC1zbG90XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uJzogU2JiUmFkaW9CdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDdUJhLCtCQUFxQjttQkFBcUIsaUNBQ3JELFdBQ0Q7Ozs7Ozs7Y0FGWSw4QkFBMEMsWUFFdEQ7Ozt1QkFnQkUsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLEVBQzNCLGFBQWEsR0FBRyxNQUFNLEVBQUUsT0FBTyxRQUFRLEVBQUUsQ0FBQTt3QkFNekMsVUFBVSxDQUFBO0FBTFgsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7QUFNcEIsZ0JBQUEsTUFBQSxNQUFBLG1CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFLLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEscUJBQUEseUJBQUE7Ozs7Ozs7OztBQXZCVyxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QjtJQUM5QztJQUNBO0lBQ0EsVUFBVSxxQkFBQTtJQUNYOzs7QUFDc0IsUUFBQSxTQUFTO0lBQzlCLFFBQVE7SUFDUixPQUFPO0lBQ0M7O0VBUVYseUJBQUEsa0JBQUEsTUFBQSxvQkFBMkMsUUFBUSxHQUFHLE9BQU8sSUFBRzs7Ozs7RUFBaEUsSUFBZ0IsT0FBSTtBQUFBLFVBQUEsTUFBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEsU0FBQSx3QkFBQTs7RUFNcEIsMkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxFQUFBLGtCQUFBLE1BQUEscUJBQWtDLEtBQUk7Ozs7RUFBdEMsSUFBZ0IsUUFBSztBQUFBLFVBQUEsTUFBQTs7RUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEsU0FBQSx5QkFBQTs7RUFFRixTQUFNO0FBQ3ZCLFVBQU8sSUFBSSJ9
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC1CYXVMRWVDVi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZCksIDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSB7XG4gIC0tc2JiLXJhZGlvLWJ1dHRvbi1sYWJlbC1nYXA6IDA7XG59XG5cbi5zYmItcmFkaW8tYnV0dG9uIHtcbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCkgLSB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaHRtbCwgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGdldE92ZXJyaWRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHtcbiAgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW4sXG4gIHJhZGlvQnV0dG9uQ29tbW9uU3R5bGUsXG4gIHR5cGUgU2JiUmFkaW9CdXR0b25TaXplLFxufSBmcm9tICcuL2NvbW1vbi9yYWRpby1idXR0b24tY29tbW9uLnRzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL3JhZGlvLWJ1dHRvbi5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSByYWRpbyBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSByYWRpbyBsYWJlbC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXJhZGlvLWJ1dHRvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtcbiAgICBib3hTaXppbmdTdHlsZXMsXG4gICAgcmFkaW9CdXR0b25Db21tb25TdHlsZSxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciB4cywgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuZ3JvdXA/LnNpemUgPz8gdilcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlJhZGlvQnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcmFkaW8tYnV0dG9uX19sYWJlbC1zbG90XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uJzogU2JiUmFkaW9CdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDdUJhLCtCQUFxQjttQkFBcUIsaUNBQ3JELFdBQ0Q7Ozs7Ozs7Y0FGWSw4QkFBMEMsWUFFdEQ7Ozt1QkFnQkUsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLEVBQzNCLGFBQWEsR0FBRyxNQUFNLEVBQUUsT0FBTyxRQUFRLEVBQUUsQ0FBQTt3QkFNekMsVUFBVSxDQUFBO0dBTFgsYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTtHQU1wQixhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBOzs7Ozs7Ozs7R0F2QlcsS0FBQSxjQUFzQjs7O0dBQy9CLEtBQUEsU0FBeUI7SUFDOUM7SUFDQTtJQUNBLFVBQVUscUJBQUE7SUFDWDs7O0dBQ3NCLEtBQUEsU0FBUztJQUM5QixRQUFRO0lBQ1IsT0FBTztJQUNDOztFQVFWLHlCQUFBLGtCQUFBLE1BQUEsb0JBQTJDLFFBQVEsR0FBRyxPQUFPLElBQUc7Ozs7O0VBQWhFLElBQWdCLE9BQUk7R0FBQSxPQUFBLEtBQUE7O0VBQXBCLElBQWdCLEtBQUksT0FBQTtHQUFBLEtBQUEseUJBQUE7O0VBTXBCLDJCQUFBLGtCQUFBLE1BQUEsd0JBQUEsRUFBQSxrQkFBQSxNQUFBLHFCQUFrQyxLQUFJOzs7O0VBQXRDLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7O0VBRUYsU0FBTTtHQUN2QixPQUFPLElBQUkifQ==
@@ -23,4 +23,4 @@ var SbbScreenReaderOnlyElement = class extends SbbElement {
23
23
  //#endregion
24
24
  export { SbbScreenReaderOnlyElement as t };
25
25
 
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlYWRlci1vbmx5LmNvbXBvbmVudC1CNzdVdVZDSS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5L3NjcmVlbi1yZWFkZXItb25seS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkvc2NyZWVuLXJlYWRlci1vbmx5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zY3JlZW4tcmVhZGVyLW9ubHkuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGNhbiBiZSB1c2VkIHRvIHZpc3VhbGx5IGhpZGUgY29udGVudCBidXQgcHJlc2VudCBpdCB0byBzY3JlZW4gcmVhZGVycy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2NyZWVuLXJlYWRlci1vbmx5JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gdW5zYWZlQ1NTKHN0eWxlKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNjcmVlbi1yZWFkZXItb25seSc6IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FDV0EsSUFBYSw2QkFBYixjQUFnRCxXQUFVOztBQUN4QixPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxTQUF5QixVQUFVLDJCQUFNOztDQUU3QyxTQUFNO0FBQ3ZCLFNBQU8sSUFBSSJ9
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlYWRlci1vbmx5LmNvbXBvbmVudC1CNzdVdVZDSS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5L3NjcmVlbi1yZWFkZXItb25seS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkvc2NyZWVuLXJlYWRlci1vbmx5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zY3JlZW4tcmVhZGVyLW9ubHkuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGNhbiBiZSB1c2VkIHRvIHZpc3VhbGx5IGhpZGUgY29udGVudCBidXQgcHJlc2VudCBpdCB0byBzY3JlZW4gcmVhZGVycy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2NyZWVuLXJlYWRlci1vbmx5JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gdW5zYWZlQ1NTKHN0eWxlKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNjcmVlbi1yZWFkZXItb25seSc6IFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FDV0EsSUFBYSw2QkFBYixjQUFnRCxXQUFVOztFQUN4QixLQUFBLGNBQXNCOzs7RUFDL0IsS0FBQSxTQUF5QixVQUFVLDJCQUFNOztDQUU3QyxTQUFNO0VBQ3ZCLE9BQU8sSUFBSSJ9