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

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 (261) hide show
  1. package/custom-elements.json +1266 -1266
  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 +1 -1
  228. package/development/stepper.component-CxOBayI1.js +1 -1
  229. package/development/sticky-bar.component-CysAIZTd.js +1 -1
  230. package/development/tab-group.component-D9jCK26q.js +1 -1
  231. package/development/tab-label.component-B9e9kgVf.js +1 -1
  232. package/development/tab-nav-bar.component-CgYwCSVY.js +1 -1
  233. package/development/tab.component-DThKG7-a.js +1 -1
  234. package/development/table-wrapper.component-D1p7kqCB.js +1 -1
  235. package/development/tag-group.component-Cw46bt0E.js +1 -1
  236. package/development/tag.component-Bl1nlIXQ.js +1 -1
  237. package/development/teaser-hero.component-BIOpoGME.js +1 -1
  238. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  239. package/development/teaser-product-common-DYX370pm.js +1 -1
  240. package/development/teaser-product.component-CSArA8bH.js +1 -1
  241. package/development/teaser.component-Cky6kKU0.js +1 -1
  242. package/development/time-input.component-BtdSR8kB.js +1 -1
  243. package/development/timetable-form-details.component-DJl5Qt9y.js +1 -1
  244. package/development/timetable-form-field.component-DQ_TzcF4.js +1 -1
  245. package/development/timetable-form-swap-button.component-Bh9aPmdn.js +1 -1
  246. package/development/timetable-form.component-N8h4JBlH.js +1 -1
  247. package/development/timetable-occupancy-icon.component-lI7__-G5.js +1 -1
  248. package/development/timetable-occupancy.component-BBcznUh0.js +1 -1
  249. package/development/title-base-BdYKwj3-.js +1 -1
  250. package/development/title.component-DSXVkddh.js +1 -1
  251. package/development/toast.component-IhHx0Qt3.js +1 -1
  252. package/development/toggle-check.component-_fDAuLob.js +1 -1
  253. package/development/toggle-option.component-DTS3a603.js +1 -1
  254. package/development/toggle.component-BJpD1b9H.js +1 -1
  255. package/development/tooltip.component-YaUQA-Id.js +1 -1
  256. package/development/train-blocked-passage.component-BrUJK0gf.js +1 -1
  257. package/development/train-formation.component-vt-nYQXA.js +1 -1
  258. package/development/train-wagon.component-CNxkffOO.js +1 -1
  259. package/development/train.component-BgpmEDx-.js +1 -1
  260. package/development/visual-checkbox.component-rdeoQN40.js +1 -1
  261. package/package.json +2 -2
@@ -271,4 +271,4 @@ var SbbNotificationElement = (() => {
271
271
  //#endregion
272
272
  export { SbbNotificationElement as t };
273
273
 
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1DdnFfdVZpQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RpdGxlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLnRzJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnbm90ZScsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydzdWNjZXNzJywgJ2NpcmNsZS10aWNrLXNtYWxsJ10sXG4gIFsnd2FybicsICdjaXJjbGUtZXhjbGFtYXRpb24tcG9pbnQtc21hbGwnXSxcbiAgWydlcnJvcicsICdjaXJjbGUtY3Jvc3Mtc21hbGwnXSxcbl0pO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG1lc3NhZ2VzIHdoaWNoIHJlcXVpcmUgYSB1c2VyJ3MgYXR0ZW50aW9uIHdpdGhvdXQgaW50ZXJydXB0aW5nIGl0cyB0YXNrcy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAuIENvbnRlbnQgc2hvdWxkIGNvbnNpc3Qgb2YgYW4gb3B0aW9uYWwgYHNiYi10aXRsZWAgZWxlbWVudCBhbmQgdGV4dCBjb250ZW50LlxuICogQHNsb3QgdGl0bGUgLSBTbG90IGZvciB0aGUgdGl0bGUuIEZvciB0aGUgc3RhbmRhcmQgYHNiYi10aXRsZWAgZWxlbWVudCwgdGhlIHNsb3QgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB3aGVuIHNsb3R0ZWQgaW4gdGhlIHVubmFtZWQgc2xvdC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYSBjdXN0b20gaWNvbiBieSBwcm92aWRpbmcgYW4gYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiUmVhZG9ubHlNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW5vdGlmaWNhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB0eXBlOlxuICAgIHwgJ2luZm8nXG4gICAgfCAnbm90ZSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm4nXG4gICAgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVGl0bGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIHN0YXJ0cy4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgdGhpcy5fZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQgdG8gcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gY2xvc2luZy4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuICAgICAgdGhpcy5fb3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aXRsZS5zbG90ID0gJ3RpdGxlJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlRpdGxlRWxlbWVudD4oJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9IHRoaXMuc2l6ZSA9PT0gJ20nID8gJzUnIDogJzYnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uTmFtZSgpIHx8IG5vdGlmaWNhdGlvblR5cGVzLmdldCh0aGlzLnR5cGUpITtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLW5vdGlmaWNhdGlvbl9faWNvbicpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICR7IXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19kaXZpZGVyXCIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZU5vdGlmaWNhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgICBgXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsMEJBQTBCLFFBQVE7QUFFbEMsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwyQkFBMkI7Q0FDcEMsQ0FBQyxRQUFRLDJCQUEyQjtDQUNwQyxDQUFDLFdBQVcsb0JBQW9CO0NBQ2hDLENBQUMsUUFBUSxpQ0FBaUM7Q0FDMUMsQ0FBQyxTQUFTLHFCQUFBO0NBQ1gsQ0FBQztBQUVGLElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQTdFLCtCQUErQixZQUE4Qzs7O3VCQVd2RixTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBZEMsZ0JB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
274
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1DdnFfdVZpQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RpdGxlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLnRzJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnbm90ZScsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydzdWNjZXNzJywgJ2NpcmNsZS10aWNrLXNtYWxsJ10sXG4gIFsnd2FybicsICdjaXJjbGUtZXhjbGFtYXRpb24tcG9pbnQtc21hbGwnXSxcbiAgWydlcnJvcicsICdjaXJjbGUtY3Jvc3Mtc21hbGwnXSxcbl0pO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG1lc3NhZ2VzIHdoaWNoIHJlcXVpcmUgYSB1c2VyJ3MgYXR0ZW50aW9uIHdpdGhvdXQgaW50ZXJydXB0aW5nIGl0cyB0YXNrcy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAuIENvbnRlbnQgc2hvdWxkIGNvbnNpc3Qgb2YgYW4gb3B0aW9uYWwgYHNiYi10aXRsZWAgZWxlbWVudCBhbmQgdGV4dCBjb250ZW50LlxuICogQHNsb3QgdGl0bGUgLSBTbG90IGZvciB0aGUgdGl0bGUuIEZvciB0aGUgc3RhbmRhcmQgYHNiYi10aXRsZWAgZWxlbWVudCwgdGhlIHNsb3QgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB3aGVuIHNsb3R0ZWQgaW4gdGhlIHVubmFtZWQgc2xvdC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYSBjdXN0b20gaWNvbiBieSBwcm92aWRpbmcgYW4gYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiUmVhZG9ubHlNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW5vdGlmaWNhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB0eXBlOlxuICAgIHwgJ2luZm8nXG4gICAgfCAnbm90ZSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm4nXG4gICAgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVGl0bGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIHN0YXJ0cy4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgdGhpcy5fZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQgdG8gcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gY2xvc2luZy4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuICAgICAgdGhpcy5fb3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aXRsZS5zbG90ID0gJ3RpdGxlJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlRpdGxlRWxlbWVudD4oJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9IHRoaXMuc2l6ZSA9PT0gJ20nID8gJzUnIDogJzYnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uTmFtZSgpIHx8IG5vdGlmaWNhdGlvblR5cGVzLmdldCh0aGlzLnR5cGUpITtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLW5vdGlmaWNhdGlvbl9faWNvbicpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICR7IXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19kaXZpZGVyXCIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZU5vdGlmaWNhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgICBgXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsMEJBQTBCLFFBQVE7QUFFbEMsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwyQkFBMkI7Q0FDcEMsQ0FBQyxRQUFRLDJCQUEyQjtDQUNwQyxDQUFDLFdBQVcsb0JBQW9CO0NBQ2hDLENBQUMsUUFBUSxpQ0FBaUM7Q0FDMUMsQ0FBQyxTQUFTLHFCQUFBO0NBQ1gsQ0FBQztBQUVGLElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQTdFLCtCQUErQixZQUE4Qzs7O3VCQVd2RixTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0dBZEMsYUFB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
@@ -138,4 +138,4 @@ var SbbOptgroupBaseElement = (() => {
138
138
  //#endregion
139
139
  export { SbbOptgroupBaseElement as t };
140
140
 
141
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LUJhRzJXX0FQLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOmZpcnN0LWNoaWxkKSB7XG4gIC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKG5lZ2F0aXZlKSkge1xuICAtLXNiYi1vcHRncm91cC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4uc2JiLW9wdGdyb3VwIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cblxuLnNiYi1vcHRncm91cF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtY29sb3IpO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tc2JiLW9wdGdyb3VwLWxhYmVsLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQpO1xufVxuXG4uc2JiLW9wdGdyb3VwX19kaXZpZGVyIHtcbiAgZGlzcGxheTogdmFyKC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheSwgYmxvY2spO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItb3B0aW9ucy1wYW5lbC1kaXZpZGVyLW1hcmdpbi1ibG9jayk7XG59XG5cbi8vIEFsaWduIHRoZSBncm91cCBsYWJlbCB0byB0aGUgb3B0aW9uIGxhYmVsXG4uc2JiLW9wdGdyb3VwX19pY29uLXNwYWNlIHtcbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdwcmVzZXJ2ZS1pY29uLXNwYWNlJyBvbiB0aGUgYXV0b2NvbXBsZXRlXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG59XG5cbjo6c2xvdHRlZChzYmItZGl2aWRlcikge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1vcHRpb25zLXBhbmVsLWRpdmlkZXItbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYUxhYmVsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVBcmlhTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUFyaWFMYWJlbCgpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgbGlrZSB0aGUgc2JiLXNlbGVjdCB0byB1cGRhdGUgc3RhdGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVvcHRncm91cHNsb3RjaGFuZ2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gIXRoaXMuX2luZXJ0QXJpYUdyb3VwcyA/IHRoaXMubGFiZWwgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmdldEF1dG9jb21wbGV0ZVBhcmVudCgpO1xuICAgIGlmICghYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gYXV0b2NvbXBsZXRlLnRyaWdnZXJFbGVtZW50Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IG9wdC5oaWdobGlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IHJlcGxhY2UgZGl2aWRlciB3aXRoIENTU1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShuZWdhdGl2ZSknKX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsSUFBTSxrQkFBa0I7SUFFRixnQ0FBc0I7bUJBQVMsaUJBQWlCLFdBQVc7Ozs7Ozs7Y0FBM0QsK0JBQStCLFlBQTRCOzs7d0JBSzlFLFdBQVcsRUFDWCxVQUFVLENBQUE7bUNBR1YsT0FBTyxDQUFBO0FBRlIsZ0JBQUEsTUFBQSxNQUFBLG1CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFLLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEscUJBQUEseUJBQUE7QUFFWixnQkFBQSxNQUFBLE1BQUEsOEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxzQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFpQjtLQUFnQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWhCLG1CQUFnQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLGdDQUFBLG9DQUFBOzs7Ozs7Ozs7QUFSVixRQUFBLE9BQU8sQ0FBQyxrQkFBa0IsVUFBVTs7O0FBQzdDLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSw4QkFBTSxDQUFDOztFQUtuRiwwQkFBQSxrQkFBQSxNQUFBLHFCQUFnQyxHQUFFOztFQUFsQyxJQUFnQixRQUFLO0FBQUEsVUFBQSxNQUFBOztFQUFyQixJQUFnQixNQUFLLE9BQUE7QUFBQSxTQUFBLHlCQUFBOztFQUVaLHNDQUFBLGtCQUFBLE1BQUEseUJBQUEsRUFBQSxrQkFBQSxNQUFBLGdDQUFvQyxNQUFLO0VBQXpDLElBQWlCLG1CQUFnQjtBQUFBLFVBQUEsTUFBQTs7RUFBakMsSUFBaUIsaUJBQWdCLE9BQUE7QUFBQSxTQUFBLG9DQUFBOztFQUkxQyxjQUFBO0FBQ0UsVUFBTzs7QUFFUCxPQUFJLGdCQUNGLEtBQUksS0FBSyxrQkFDUCxNQUFLLGtCQUFrQixXQUFZLEtBQUssbUJBQW1CLGdCQUFpQjtPQUU1RSxNQUFLLG1CQUFtQjs7RUFLZCxvQkFBaUI7QUFDL0IsU0FBTSxtQkFBbUI7QUFDekIsUUFBSyxrQkFBa0I7O0VBR04sV0FBVyxtQkFBdUM7QUFDbkUsU0FBTSxXQUFXLGtCQUFrQjtBQUVuQyxPQUFJLGtCQUFrQixJQUFJLFdBQVc7UUFDL0IsQ0FBQyxLQUFLLGlCQUNSLE1BQUssVUFBVSxlQUFlLEtBQUssV0FBVyxTQUFTOztBQUczRCxPQUFJLGtCQUFrQixJQUFJLFFBQVEsQ0FDaEMsTUFBSyxrQkFBa0I7O0VBTW5CLG9CQUFpQjtBQUN2QixRQUFLLGtCQUFrQjtBQUN2QixRQUFLLG1CQUFtQjs7QUFHeEIsUUFBSyxjQUFjLElBQUksTUFBTSxzQkFBc0IsQ0FBQzs7RUFHOUMsbUJBQWdCO0FBQ3RCLFFBQUssVUFBVSxZQUFZLENBQUMsS0FBSyxtQkFBbUIsS0FBSyxRQUFROztFQUczRCxvQkFBaUI7R0FDdkIsTUFBTSxlQUFlLEtBQUssdUJBQXVCO0FBQ2pELE9BQUksQ0FBQyxhQUNIO0dBRUYsTUFBTSxRQUFRLGFBQWEsZ0JBQWdCO0FBQzNDLE9BQUksQ0FBQyxNQUNIO0FBRUYsUUFBSyxRQUFRLFNBQVMsUUFBUSxJQUFJLFVBQVUsTUFBTSxDQUFDOztFQUdsQyxTQUFNO0FBRXZCLFVBQU8sSUFBSTs7aUNBRWtCLEtBQUssVUFBVSwwQ0FBbUIsQ0FBQTs7UUFFM0QsS0FBSyxRQUNILElBQUk7OztzQkFHUSxLQUFLLE1BQUs7O2NBR3RCLFFBQUE7MEJBQ2dCLEtBQUssa0JBQWlCIn0=
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LUJhRzJXX0FQLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOmZpcnN0LWNoaWxkKSB7XG4gIC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKG5lZ2F0aXZlKSkge1xuICAtLXNiYi1vcHRncm91cC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4uc2JiLW9wdGdyb3VwIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cblxuLnNiYi1vcHRncm91cF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtY29sb3IpO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tc2JiLW9wdGdyb3VwLWxhYmVsLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQpO1xufVxuXG4uc2JiLW9wdGdyb3VwX19kaXZpZGVyIHtcbiAgZGlzcGxheTogdmFyKC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheSwgYmxvY2spO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItb3B0aW9ucy1wYW5lbC1kaXZpZGVyLW1hcmdpbi1ibG9jayk7XG59XG5cbi8vIEFsaWduIHRoZSBncm91cCBsYWJlbCB0byB0aGUgb3B0aW9uIGxhYmVsXG4uc2JiLW9wdGdyb3VwX19pY29uLXNwYWNlIHtcbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdwcmVzZXJ2ZS1pY29uLXNwYWNlJyBvbiB0aGUgYXV0b2NvbXBsZXRlXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG59XG5cbjo6c2xvdHRlZChzYmItZGl2aWRlcikge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1vcHRpb25zLXBhbmVsLWRpdmlkZXItbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYUxhYmVsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVBcmlhTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUFyaWFMYWJlbCgpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgbGlrZSB0aGUgc2JiLXNlbGVjdCB0byB1cGRhdGUgc3RhdGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVvcHRncm91cHNsb3RjaGFuZ2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gIXRoaXMuX2luZXJ0QXJpYUdyb3VwcyA/IHRoaXMubGFiZWwgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmdldEF1dG9jb21wbGV0ZVBhcmVudCgpO1xuICAgIGlmICghYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gYXV0b2NvbXBsZXRlLnRyaWdnZXJFbGVtZW50Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IG9wdC5oaWdobGlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IHJlcGxhY2UgZGl2aWRlciB3aXRoIENTU1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShuZWdhdGl2ZSknKX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsSUFBTSxrQkFBa0I7SUFFRixnQ0FBc0I7bUJBQVMsaUJBQWlCLFdBQVc7Ozs7Ozs7Y0FBM0QsK0JBQStCLFlBQTRCOzs7d0JBSzlFLFdBQVcsRUFDWCxVQUFVLENBQUE7bUNBR1YsT0FBTyxDQUFBO0dBRlIsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtHQUVaLGFBQUEsTUFBQSxNQUFBLDhCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsc0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBaUI7S0FBZ0IsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFoQixtQkFBZ0I7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxnQ0FBQSxvQ0FBQTs7Ozs7Ozs7O0dBUlYsS0FBQSxPQUFPLENBQUMsa0JBQWtCLFVBQVU7OztHQUM3QyxLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsOEJBQU0sQ0FBQzs7RUFLbkYsMEJBQUEsa0JBQUEsTUFBQSxxQkFBZ0MsR0FBRTs7RUFBbEMsSUFBZ0IsUUFBSztHQUFBLE9BQUEsS0FBQTs7RUFBckIsSUFBZ0IsTUFBSyxPQUFBO0dBQUEsS0FBQSwwQkFBQTs7RUFFWixzQ0FBQSxrQkFBQSxNQUFBLHlCQUFBLEVBQUEsa0JBQUEsTUFBQSxnQ0FBb0MsTUFBSztFQUF6QyxJQUFpQixtQkFBZ0I7R0FBQSxPQUFBLEtBQUE7O0VBQWpDLElBQWlCLGlCQUFnQixPQUFBO0dBQUEsS0FBQSxxQ0FBQTs7RUFJMUMsY0FBQTtHQUNFLE9BQU87O0dBRVAsSUFBSSxpQkFDRixJQUFJLEtBQUssbUJBQ1AsS0FBSyxrQkFBa0IsV0FBWSxLQUFLLG1CQUFtQixnQkFBaUI7UUFFNUUsS0FBSyxtQkFBbUI7O0VBS2Qsb0JBQWlCO0dBQy9CLE1BQU0sbUJBQW1CO0dBQ3pCLEtBQUssa0JBQWtCOztFQUdOLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxrQkFBa0I7R0FFbkMsSUFBSSxrQkFBa0IsSUFBSSxXQUFXO1FBQy9CLENBQUMsS0FBSyxrQkFDUixLQUFLLFVBQVUsZUFBZSxLQUFLLFdBQVcsU0FBUzs7R0FHM0QsSUFBSSxrQkFBa0IsSUFBSSxRQUFRLEVBQ2hDLEtBQUssa0JBQWtCOztFQU1uQixvQkFBaUI7R0FDdkIsS0FBSyxrQkFBa0I7R0FDdkIsS0FBSyxtQkFBbUI7O0dBR3hCLEtBQUssY0FBYyxJQUFJLE1BQU0sc0JBQXNCLENBQUM7O0VBRzlDLG1CQUFnQjtHQUN0QixLQUFLLFVBQVUsWUFBWSxDQUFDLEtBQUssbUJBQW1CLEtBQUssUUFBUTs7RUFHM0Qsb0JBQWlCO0dBQ3ZCLE1BQU0sZUFBZSxLQUFLLHVCQUF1QjtHQUNqRCxJQUFJLENBQUMsY0FDSDtHQUVGLE1BQU0sUUFBUSxhQUFhLGdCQUFnQjtHQUMzQyxJQUFJLENBQUMsT0FDSDtHQUVGLEtBQUssUUFBUSxTQUFTLFFBQVEsSUFBSSxVQUFVLE1BQU0sQ0FBQzs7RUFHbEMsU0FBTTtHQUV2QixPQUFPLElBQUk7O2lDQUVrQixLQUFLLFVBQVUsMENBQW1CLENBQUE7O1FBRTNELEtBQUssUUFDSCxJQUFJOzs7c0JBR1EsS0FBSyxNQUFLOztjQUd0QixRQUFBOzBCQUNnQixLQUFLLGtCQUFpQiJ9
@@ -39,4 +39,4 @@ var SbbOptGroupElement = class extends SbbOptgroupBaseElement {
39
39
  //#endregion
40
40
  export { SbbOptGroupElement };
41
41
 
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuY29tcG9uZW50LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQsIFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUudHMnO1xuaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgeyBTYmJPcHRncm91cEJhc2VFbGVtZW50IH0gZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW9wdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLW9wdGdyb3VwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW9wdGdyb3VwJztcbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1vcHRpb24nKSA/PyBbXSkgYXMgU2JiT3B0aW9uRWxlbWVudFtdO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUnKSwge1xuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLXNlbGVjdCcpLCB7XG4gICAgICAgIG11bHRpcGxlOiAoYW5jZXN0b3IpID0+IHRoaXMudG9nZ2xlU3RhdGUoJ211bHRpcGxlJywgYW5jZXN0b3IubXVsdGlwbGUpLFxuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGFuY2VzdG9yOiBTYmJBdXRvY29tcGxldGVFbGVtZW50IHwgU2JiU2VsZWN0RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ25lZ2F0aXZlJywgYW5jZXN0b3IubmVnYXRpdmUpO1xuXG4gICAgLy8gVG8gdXBkYXRlIHRoZSBzYmItZGl2aWRlciB3ZSBuZWVkIGEgcmVxdWVzdFVwZGF0ZSgpIGhlcmVcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGVQYXJlbnQoKTogU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py48U2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQ+KCdzYmItYXV0b2NvbXBsZXRlJykgfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJylcbiAgICAgID8gJ2F1dG9jb21wbGV0ZSdcbiAgICAgIDogdGhpcy5jbG9zZXN0Py4oJ3NiYi1zZWxlY3QnKVxuICAgICAgICA/ICdzZWxlY3QnXG4gICAgICAgIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCd2YXJpYW50LWF1dG9jb21wbGV0ZScpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3ZhcmlhbnQtc2VsZWN0Jyk7XG4gICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHZhcmlhbnQtJHt2YXJpYW50fWApO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW9wdGdyb3VwJzogU2JiT3B0R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsSUFBYSxxQkFBYixjQUF3Qyx1QkFBc0I7O0FBQzVCLE9BQUEsY0FBc0I7O0NBQ3RELElBQWMsVUFBTztBQUNuQixTQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQixhQUFhLElBQUksRUFBRSxDQUF1Qjs7Q0FHdEYsY0FBQTtBQUNFLFNBQU87QUFFUCxPQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsbUJBQW1CLEVBQUUsRUFDN0UsV0FBVyxNQUFNLEtBQUssc0JBQXNCLEVBQUUsRUFDL0MsQ0FBQyxDQUNIO0FBRUQsT0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGFBQWEsRUFBRTtHQUN2RSxXQUFXLGFBQWEsS0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0dBQ3ZFLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFBO0dBQzdDLENBQUMsQ0FDSDs7Q0FHSyxzQkFBc0IsVUFBbUQ7QUFDL0UsT0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0FBRy9DLE9BQUssZUFBZTs7Q0FHWix3QkFBcUI7QUFDN0IsU0FBTyxLQUFLLFVBQXNDLG1CQUFtQixJQUFJOztDQUczRCxvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7RUFFekIsTUFBTSxVQUFVLEtBQUssVUFBVSxtQkFBbUIsR0FDOUMsaUJBQ0EsS0FBSyxVQUFVLGFBQWEsR0FDMUIsV0FDQTtBQUNOLE9BQUssVUFBVSxPQUFPLE9BQU8sdUJBQXVCO0FBQ3BELE9BQUssVUFBVSxPQUFPLE9BQU8saUJBQWlCO0FBQzlDLE1BQUksUUFDRixNQUFLLFVBQVUsT0FBTyxJQUFJLFdBQVcsVUFBVSJ9
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuY29tcG9uZW50LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQsIFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUudHMnO1xuaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgeyBTYmJPcHRncm91cEJhc2VFbGVtZW50IH0gZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW9wdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLW9wdGdyb3VwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW9wdGdyb3VwJztcbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1vcHRpb24nKSA/PyBbXSkgYXMgU2JiT3B0aW9uRWxlbWVudFtdO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUnKSwge1xuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLXNlbGVjdCcpLCB7XG4gICAgICAgIG11bHRpcGxlOiAoYW5jZXN0b3IpID0+IHRoaXMudG9nZ2xlU3RhdGUoJ211bHRpcGxlJywgYW5jZXN0b3IubXVsdGlwbGUpLFxuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGFuY2VzdG9yOiBTYmJBdXRvY29tcGxldGVFbGVtZW50IHwgU2JiU2VsZWN0RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ25lZ2F0aXZlJywgYW5jZXN0b3IubmVnYXRpdmUpO1xuXG4gICAgLy8gVG8gdXBkYXRlIHRoZSBzYmItZGl2aWRlciB3ZSBuZWVkIGEgcmVxdWVzdFVwZGF0ZSgpIGhlcmVcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGVQYXJlbnQoKTogU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py48U2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQ+KCdzYmItYXV0b2NvbXBsZXRlJykgfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlJylcbiAgICAgID8gJ2F1dG9jb21wbGV0ZSdcbiAgICAgIDogdGhpcy5jbG9zZXN0Py4oJ3NiYi1zZWxlY3QnKVxuICAgICAgICA/ICdzZWxlY3QnXG4gICAgICAgIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCd2YXJpYW50LWF1dG9jb21wbGV0ZScpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3ZhcmlhbnQtc2VsZWN0Jyk7XG4gICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHZhcmlhbnQtJHt2YXJpYW50fWApO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW9wdGdyb3VwJzogU2JiT3B0R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsSUFBYSxxQkFBYixjQUF3Qyx1QkFBc0I7O0VBQzVCLEtBQUEsY0FBc0I7O0NBQ3RELElBQWMsVUFBTztFQUNuQixPQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQixhQUFhLElBQUksRUFBRSxDQUF1Qjs7Q0FHdEYsY0FBQTtFQUNFLE9BQU87RUFFUCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsbUJBQW1CLEVBQUUsRUFDN0UsV0FBVyxNQUFNLEtBQUssc0JBQXNCLEVBQUUsRUFDL0MsQ0FBQyxDQUNIO0VBRUQsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGFBQWEsRUFBRTtHQUN2RSxXQUFXLGFBQWEsS0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0dBQ3ZFLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFBO0dBQzdDLENBQUMsQ0FDSDs7Q0FHSyxzQkFBc0IsVUFBbUQ7RUFDL0UsS0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0VBRy9DLEtBQUssZUFBZTs7Q0FHWix3QkFBcUI7RUFDN0IsT0FBTyxLQUFLLFVBQXNDLG1CQUFtQixJQUFJOztDQUczRCxvQkFBaUI7RUFDL0IsTUFBTSxtQkFBbUI7RUFFekIsTUFBTSxVQUFVLEtBQUssVUFBVSxtQkFBbUIsR0FDOUMsaUJBQ0EsS0FBSyxVQUFVLGFBQWEsR0FDMUIsV0FDQTtFQUNOLEtBQUssVUFBVSxPQUFPLE9BQU8sdUJBQXVCO0VBQ3BELEtBQUssVUFBVSxPQUFPLE9BQU8saUJBQWlCO0VBQzlDLElBQUksU0FDRixLQUFLLFVBQVUsT0FBTyxJQUFJLFdBQVcsVUFBVSJ9
@@ -371,4 +371,4 @@ var SbbOptionBaseElement = (() => {
371
371
  //#endregion
372
372
  export { SbbOptionBaseElement };
373
373
 
374
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgaXNBbmRyb2lkLCBpc0JsaW5rLCBpc1NhZmFyaSwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYW4gaGlkZGVuIHNwYW4gY29udGFpbmluZyB0aGUgZ3JvdXAgbmFtZVxuICogVE9ETzogV2Ugc2hvdWxkIHBlcmlvZGljYWxseSBjaGVjayBpZiBpdCBoYXMgYmVlbiBzb2x2ZWQgYW5kLCBpZiBzbywgcmVtb3ZlIHRoZSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgaW5lcnRBcmlhR3JvdXBzID0gaXNTYWZhcmk7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXR0cmlidXRlIHRvIGxvb2sgYXQgaWYgY29tcG9uZW50IGlzIG5lc3RlZCBpbiBhbiBvcHRpb24gZ3JvdXAgKi9cbmNvbnN0IG9wdGlvbk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgY2hpbGRMaXN0OiB0cnVlLFxuICBzdWJ0cmVlOiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3RlZDogJ29wdGlvbnNlbGVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3B0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIG9wdGlvbi5cbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgKiBEdWUgdG8gdGhpcywgaXQgaXMgaW1wbGVtZW50ZWQgYXMgYSBnZXR0ZXIvc2V0dGVyIGFuZCB0aGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgaGFuZGxlcyB0aGUgZGlmZiBjaGVjay5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgYCR7dmFsdWV9YCk7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIC8vIE5vdGlmeSB0aGUgc2JiLXNlbGVjdCB0byByZS1jaGVjayBpdHMgdmFsdWUgYWdhaW5zdCB0aGUgb3B0aW9uJ3Mgb25lLlxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtW9wdGlvbnZhbHVlY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiAodGhpcy5fdmFsdWUgPz8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIGFzIFQ7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYVNlbGVjdGVkKCk7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IG11c3QgYmUgc2V0IGRpc2FibGVkIGR1ZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb24gc2JiLW9wdGdyb3VwLiAqL1xuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZGlzYWJsZWRGcm9tR3JvdXAgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZ3JvdXBMYWJlbCA9ICcnO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uTGFiZWxDaGFuZ2VkJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBpZiAoaW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIG9sZDogc3RyaW5nIHwgbnVsbCxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgIT09ICd2YWx1ZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIaWdobGlnaHQgdGhlIGxhYmVsIG9mIHRoZSBvcHRpb25cbiAgICogQHBhcmFtIHZhbHVlIHRoZSBoaWdobGlnaHRlZCBwb3J0aW9uIG9mIHRoZSBsYWJlbFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBoaWdobGlnaHQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2hpZ2hsaWdodFN0cmluZyA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbihzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgLyoqIEVtaXRzIHdoZW4gYW4gb3B0aW9uIHdhcyBzZWxlY3RlZCBieSB1c2VyLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uc2VsZWN0ZWQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgJHt0aGlzLm9wdGlvbklkfS0ke25leHRJZCsrfWA7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAobmFtZSA9PT0gJ2Rpc2FibGVkJyB8fCBuYW1lID09PSAnZGlzYWJsZWRGcm9tR3JvdXAnKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCk7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ3RhYmluZGV4JyxcbiAgICAgICAgaXNBbmRyb2lkICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkRnJvbUdyb3VwID8gMCA6IG51bGwsXG4gICAgICApO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJbml0IGZpcnN0IHNlbGVjdCBzdGF0ZSBiZWNhdXNlIGZhbHNlIHdvdWxkIG5vdCBjYWxsIHNldHRlciBvZiBzZWxlY3RlZCBwcm9wZXJ0eS5cbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZUhpZ2hsaWdodChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID0gZGlzYWJsZWQ7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnZGlzYWJsZS1oaWdobGlnaHQnLCBkaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2FjdGl2ZScsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVBcmlhRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID8gJ3RydWUnIDogbnVsbDtcblxuICAgIC8vIExpc3RlbmVkIGJ5IGF1dG9jb21wbGV0ZVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWRpc2FibGVkY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFyaWFTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSBgJHt0aGlzLnNlbGVjdGVkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2xvdE5vZGVzID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkTm9kZXMgPz8gW10pLmZpbHRlcihcbiAgICAgIChuKSA9PiBuLm5vZGVUeXBlICE9PSBOb2RlLkNPTU1FTlRfTk9ERSAmJiAoIShuIGluc3RhbmNlb2YgRWxlbWVudCkgfHwgbi5zbG90ICE9PSAnaWNvbicpLFxuICAgICk7XG4gICAgY29uc3QgbGFiZWxOb2RlcyA9IHNsb3ROb2Rlcy5maWx0ZXIoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIGFzIFRleHRbXTtcblxuICAgIC8vIERpc2FibGUgdGhlIGhpZ2hsaWdodCBpZiB0aGUgc2xvdCBjb250YWluIG1vcmUgdGhhbiBqdXN0IHRleHQgbm9kZXMuXG4gICAgLy8gV2UgbmVlZCB0byBpZ25vcmUgdGVtcGxhdGUgZWxlbWVudHMsIGFzIFNTUiBhZGRzIGEgZGVjbGFyYXRpdmUgc2hhZG93IERPTVxuICAgIC8vIGluIHRoZSBmb3JtIG9mIGEgdGVtcGxhdGUgZWxlbWVudC5cbiAgICBpZiAoXG4gICAgICBsYWJlbE5vZGVzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgc2xvdE5vZGVzLmZpbHRlcigobikgPT4gIShuIGluc3RhbmNlb2YgRWxlbWVudCkgfHwgbi5sb2NhbE5hbWUgIT09ICd0ZW1wbGF0ZScpLmxlbmd0aCAhPT1cbiAgICAgICAgbGFiZWxOb2Rlcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlRGlzYWJsZUhpZ2hsaWdodCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsTm9kZXNcbiAgICAgIC5tYXAoKGwpID0+IGwud2hvbGVUZXh0KVxuICAgICAgLmZpbHRlcigobCkgPT4gbC50cmltKCkpXG4gICAgICAuam9pbignJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLl9oaWdobGlnaHRTdHJpbmcgfHwgIXRoaXMuX2hpZ2hsaWdodFN0cmluZy50cmltKCkpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSW5kZXggPSB0aGlzLmxhYmVsIS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm4gaHRtbGAke3RoaXMubGFiZWx9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoMCwgbWF0Y2hJbmRleCk7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoXG4gICAgICBtYXRjaEluZGV4LFxuICAgICAgbWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgsXG4gICAgKTtcbiAgICBjb25zdCBwb3N0Zml4ID0gdGhpcy5sYWJlbCEuc3Vic3RyaW5nKG1hdGNoSW5kZXggKyB0aGlzLl9oaWdobGlnaHRTdHJpbmcubGVuZ3RoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwcmVmaXh9PC9zcGFuPjxzcGFuPiR7aGlnaGxpZ2h0ZWR9PC9zcGFuXG4gICAgICA+PHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwb3N0Zml4fTwvc3Bhbj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckljb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyTGFiZWwoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWwgJiYgIXRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKCkgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIG5vdGhpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uXCI+XG4gICAgICAgICR7dGhpcy5yZW5kZXJJY29uKCl9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGV9Pjwvc2xvdD5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgYXJpYS1oaWRkZW49JHtcbiAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAqIFNjcmVlbiByZWFkZXJzIHdpdGggQ2hyb21pdW0gcmVhZCB0aGUgb3B0aW9uIHR3aWNlLlxuICAgICAgICAgICAgICAgKiBXZSB0aGVyZWZvcmUgaGF2ZSB0byBoaWRlIHRoZSBvcHRpb24gZm9yIHRoZSBzY3JlZW4gcmVhZGVycy5cbiAgICAgICAgICAgICAgICogVE9ETzogUmVjaGVjayBwZXJpb2RpY2FsbHkgaWYgdGhpcyBpcyBzdGlsbCBuZWNlc3NhcnkuXG4gICAgICAgICAgICAgICAqIGh0dHBzOi8vaXNzdWVzLmNocm9taXVtLm9yZy9pc3N1ZXMvNDYwMTY1NzQxXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBpc0JsaW5rID8gJ3RydWUnIDogbm90aGluZ1xuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJMYWJlbCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAke3RoaXMuX2luZXJ0QXJpYUdyb3VwcyAmJiB0aGlzLmdyb3VwTGFiZWxcbiAgICAgICAgICAgID8gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4gKCR7dGhpcy5ncm91cExhYmVsfSk8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICR7dGhpcy5yZW5kZXJUaWNrKCl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgb3B0aW9uc2VsZWN0ZWQ6IEV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFpQkEsSUFBSSxTQUFTOzs7Ozs7QUFPYixJQUFNLGtCQUFrQjs7QUFHeEIsSUFBTSx1QkFBNkM7Q0FDakQsV0FBVztDQUNYLFNBQVM7Q0FDVCxlQUFlO0NBQ2hCO0lBRXFCLDhCQUFvQjttQkFBcUIsaUJBQzdELGlCQUFpQixXQUFXLENBQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBRnFCLDZCQUF5QyxZQUU5RDs7OzRCQWFFLFVBQVUsQ0FBQTsrQkFrQlYsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7b0NBVTNCLE9BQU8sQ0FBQTs2QkFFUCxPQUFPLENBQUE7d0JBRVAsT0FBTyxDQUFBO3dDQUdQLE9BQU8sQ0FBQTttQ0FHUCxPQUFPLENBQUE7bUNBRVAsT0FBTyxDQUFBO0FBdkNSLGdCQUFBLE1BQUEsTUFBQSx1QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsUUFBSzs7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
374
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGF0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvbXV0YXRpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgaXNBbmRyb2lkLCBpc0JsaW5rLCBpc1NhZmFyaSwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYW4gaGlkZGVuIHNwYW4gY29udGFpbmluZyB0aGUgZ3JvdXAgbmFtZVxuICogVE9ETzogV2Ugc2hvdWxkIHBlcmlvZGljYWxseSBjaGVjayBpZiBpdCBoYXMgYmVlbiBzb2x2ZWQgYW5kLCBpZiBzbywgcmVtb3ZlIHRoZSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgaW5lcnRBcmlhR3JvdXBzID0gaXNTYWZhcmk7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgYXR0cmlidXRlIHRvIGxvb2sgYXQgaWYgY29tcG9uZW50IGlzIG5lc3RlZCBpbiBhbiBvcHRpb24gZ3JvdXAgKi9cbmNvbnN0IG9wdGlvbk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgY2hpbGRMaXN0OiB0cnVlLFxuICBzdWJ0cmVlOiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3RlZDogJ29wdGlvbnNlbGVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3B0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIG9wdGlvbi5cbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgKiBEdWUgdG8gdGhpcywgaXQgaXMgaW1wbGVtZW50ZWQgYXMgYSBnZXR0ZXIvc2V0dGVyIGFuZCB0aGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgaGFuZGxlcyB0aGUgZGlmZiBjaGVjay5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgYCR7dmFsdWV9YCk7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIC8vIE5vdGlmeSB0aGUgc2JiLXNlbGVjdCB0byByZS1jaGVjayBpdHMgdmFsdWUgYWdhaW5zdCB0aGUgb3B0aW9uJ3Mgb25lLlxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtW9wdGlvbnZhbHVlY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiAodGhpcy5fdmFsdWUgPz8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIGFzIFQ7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCB2YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYVNlbGVjdGVkKCk7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IG11c3QgYmUgc2V0IGRpc2FibGVkIGR1ZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb24gc2JiLW9wdGdyb3VwLiAqL1xuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZGlzYWJsZWRGcm9tR3JvdXAgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZ3JvdXBMYWJlbCA9ICcnO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgICAgICAgICAvKiogQGludGVybmFsICovXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uTGFiZWxDaGFuZ2VkJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBpZiAoaW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIG9sZDogc3RyaW5nIHwgbnVsbCxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgIT09ICd2YWx1ZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIaWdobGlnaHQgdGhlIGxhYmVsIG9mIHRoZSBvcHRpb25cbiAgICogQHBhcmFtIHZhbHVlIHRoZSBoaWdobGlnaHRlZCBwb3J0aW9uIG9mIHRoZSBsYWJlbFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBoaWdobGlnaHQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2hpZ2hsaWdodFN0cmluZyA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbihzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgLyoqIEVtaXRzIHdoZW4gYW4gb3B0aW9uIHdhcyBzZWxlY3RlZCBieSB1c2VyLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uc2VsZWN0ZWQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgJHt0aGlzLm9wdGlvbklkfS0ke25leHRJZCsrfWA7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAobmFtZSA9PT0gJ2Rpc2FibGVkJyB8fCBuYW1lID09PSAnZGlzYWJsZWRGcm9tR3JvdXAnKSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCk7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ3RhYmluZGV4JyxcbiAgICAgICAgaXNBbmRyb2lkICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkRnJvbUdyb3VwID8gMCA6IG51bGwsXG4gICAgICApO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJbml0IGZpcnN0IHNlbGVjdCBzdGF0ZSBiZWNhdXNlIGZhbHNlIHdvdWxkIG5vdCBjYWxsIHNldHRlciBvZiBzZWxlY3RlZCBwcm9wZXJ0eS5cbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZUhpZ2hsaWdodChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID0gZGlzYWJsZWQ7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnZGlzYWJsZS1oaWdobGlnaHQnLCBkaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2FjdGl2ZScsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVBcmlhRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID8gJ3RydWUnIDogbnVsbDtcblxuICAgIC8vIExpc3RlbmVkIGJ5IGF1dG9jb21wbGV0ZVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtWRpc2FibGVkY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFyaWFTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSBgJHt0aGlzLnNlbGVjdGVkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2xvdE5vZGVzID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkTm9kZXMgPz8gW10pLmZpbHRlcihcbiAgICAgIChuKSA9PiBuLm5vZGVUeXBlICE9PSBOb2RlLkNPTU1FTlRfTk9ERSAmJiAoIShuIGluc3RhbmNlb2YgRWxlbWVudCkgfHwgbi5zbG90ICE9PSAnaWNvbicpLFxuICAgICk7XG4gICAgY29uc3QgbGFiZWxOb2RlcyA9IHNsb3ROb2Rlcy5maWx0ZXIoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIGFzIFRleHRbXTtcblxuICAgIC8vIERpc2FibGUgdGhlIGhpZ2hsaWdodCBpZiB0aGUgc2xvdCBjb250YWluIG1vcmUgdGhhbiBqdXN0IHRleHQgbm9kZXMuXG4gICAgLy8gV2UgbmVlZCB0byBpZ25vcmUgdGVtcGxhdGUgZWxlbWVudHMsIGFzIFNTUiBhZGRzIGEgZGVjbGFyYXRpdmUgc2hhZG93IERPTVxuICAgIC8vIGluIHRoZSBmb3JtIG9mIGEgdGVtcGxhdGUgZWxlbWVudC5cbiAgICBpZiAoXG4gICAgICBsYWJlbE5vZGVzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgc2xvdE5vZGVzLmZpbHRlcigobikgPT4gIShuIGluc3RhbmNlb2YgRWxlbWVudCkgfHwgbi5sb2NhbE5hbWUgIT09ICd0ZW1wbGF0ZScpLmxlbmd0aCAhPT1cbiAgICAgICAgbGFiZWxOb2Rlcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlRGlzYWJsZUhpZ2hsaWdodCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsTm9kZXNcbiAgICAgIC5tYXAoKGwpID0+IGwud2hvbGVUZXh0KVxuICAgICAgLmZpbHRlcigobCkgPT4gbC50cmltKCkpXG4gICAgICAuam9pbignJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGlnaGxpZ2h0ZWRMYWJlbCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLl9oaWdobGlnaHRTdHJpbmcgfHwgIXRoaXMuX2hpZ2hsaWdodFN0cmluZy50cmltKCkpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSW5kZXggPSB0aGlzLmxhYmVsIS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgaWYgKG1hdGNoSW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm4gaHRtbGAke3RoaXMubGFiZWx9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoMCwgbWF0Y2hJbmRleCk7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcoXG4gICAgICBtYXRjaEluZGV4LFxuICAgICAgbWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgsXG4gICAgKTtcbiAgICBjb25zdCBwb3N0Zml4ID0gdGhpcy5sYWJlbCEuc3Vic3RyaW5nKG1hdGNoSW5kZXggKyB0aGlzLl9oaWdobGlnaHRTdHJpbmcubGVuZ3RoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwcmVmaXh9PC9zcGFuPjxzcGFuPiR7aGlnaGxpZ2h0ZWR9PC9zcGFuXG4gICAgICA+PHNwYW4gY2xhc3M9XCJzYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0XCI+JHtwb3N0Zml4fTwvc3Bhbj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckljb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyTGFiZWwoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWwgJiYgIXRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKCkgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIG5vdGhpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uXCI+XG4gICAgICAgICR7dGhpcy5yZW5kZXJJY29uKCl9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGV9Pjwvc2xvdD5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgYXJpYS1oaWRkZW49JHtcbiAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAqIFNjcmVlbiByZWFkZXJzIHdpdGggQ2hyb21pdW0gcmVhZCB0aGUgb3B0aW9uIHR3aWNlLlxuICAgICAgICAgICAgICAgKiBXZSB0aGVyZWZvcmUgaGF2ZSB0byBoaWRlIHRoZSBvcHRpb24gZm9yIHRoZSBzY3JlZW4gcmVhZGVycy5cbiAgICAgICAgICAgICAgICogVE9ETzogUmVjaGVjayBwZXJpb2RpY2FsbHkgaWYgdGhpcyBpcyBzdGlsbCBuZWNlc3NhcnkuXG4gICAgICAgICAgICAgICAqIGh0dHBzOi8vaXNzdWVzLmNocm9taXVtLm9yZy9pc3N1ZXMvNDYwMTY1NzQxXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBpc0JsaW5rID8gJ3RydWUnIDogbm90aGluZ1xuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJMYWJlbCgpfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAke3RoaXMuX2luZXJ0QXJpYUdyb3VwcyAmJiB0aGlzLmdyb3VwTGFiZWxcbiAgICAgICAgICAgID8gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4gKCR7dGhpcy5ncm91cExhYmVsfSk8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICR7dGhpcy5yZW5kZXJUaWNrKCl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgb3B0aW9uc2VsZWN0ZWQ6IEV2ZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFpQkEsSUFBSSxTQUFTOzs7Ozs7QUFPYixJQUFNLGtCQUFrQjs7QUFHeEIsSUFBTSx1QkFBNkM7Q0FDakQsV0FBVztDQUNYLFNBQVM7Q0FDVCxlQUFlO0NBQ2hCO0lBRXFCLDhCQUFvQjttQkFBcUIsaUJBQzdELGlCQUFpQixXQUFXLENBQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBRnFCLDZCQUF5QyxZQUU5RDs7OzRCQWFFLFVBQVUsQ0FBQTsrQkFrQlYsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7b0NBVTNCLE9BQU8sQ0FBQTs2QkFFUCxPQUFPLENBQUE7d0JBRVAsT0FBTyxDQUFBO3dDQUdQLE9BQU8sQ0FBQTttQ0FHUCxPQUFPLENBQUE7bUNBRVAsT0FBTyxDQUFBO0dBdkNSLGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVyxRQUFLOztL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
@@ -30,4 +30,4 @@ var SbbOptionHintElement = class extends SbbNegativeMixin(SbbElement) {
30
30
  //#endregion
31
31
  export { SbbOptionHintElement as t };
32
32
 
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWhpbnQuY29tcG9uZW50LUJIOGRQMWZNLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0aW9uLWhpbnQvb3B0aW9uLWhpbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi1oaW50L29wdGlvbi1oaW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1vcHRpb24taGludC1jb2x1bW4tZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRpb24taGludC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0aW9uLWhpbnQtcGFkZGluZy1ibG9jay1lbmQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRpb24taGludC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItb3B0aW9uLWhpbnQtY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbn1cblxuLnNiYi1vcHRncm91cF9faWNvbi1zcGFjZSB7XG4gIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAncHJlc2VydmUtaWNvbi1zcGFjZScgb24gdGhlIGF1dG9jb21wbGV0ZVxuICBkaXNwbGF5OiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXksIG5vbmUpO1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xufVxuXG4uc2JiLW9wdGlvbi1oaW50IHtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24taGludC1jb2xvcik7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWhpbnQtY29sb3IpO1xuICBmbGV4LWdyb3c6IDE7XG59XG4iLCJpbXBvcnQgeyBodG1sLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGlvbi1oaW50LnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBEaXNwbGF5IGEgdGV4dHVhbCBoaW50IGluc2lkZSBhIGBzYmItYXV0b2NvbXBsZXRlYCBvciBhIGBzYmItc2VsZWN0YC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGRpc3BsYXkgdGhlIGhpbnQgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdGlvbkhpbnRFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItb3B0aW9uLWhpbnQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbi1oaW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0aW9uLWhpbnQnOiBTYmJPcHRpb25IaW50RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDYUEsSUFBYSx1QkFBYixjQUEwQyxpQkFBaUIsV0FBVyxDQUFBOztBQUNwQyxPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLG9CQUFNLENBQUM7O0NBRWhFLFNBQU07QUFDdkIsU0FBTyxJQUFJIn0=
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWhpbnQuY29tcG9uZW50LUJIOGRQMWZNLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0aW9uLWhpbnQvb3B0aW9uLWhpbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi1oaW50L29wdGlvbi1oaW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1vcHRpb24taGludC1jb2x1bW4tZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRpb24taGludC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0aW9uLWhpbnQtcGFkZGluZy1ibG9jay1lbmQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRpb24taGludC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItb3B0aW9uLWhpbnQtY29sb3I6IHZhcigtLXNiYi1jb2xvci01KTtcbn1cblxuLnNiYi1vcHRncm91cF9faWNvbi1zcGFjZSB7XG4gIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAncHJlc2VydmUtaWNvbi1zcGFjZScgb24gdGhlIGF1dG9jb21wbGV0ZVxuICBkaXNwbGF5OiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXksIG5vbmUpO1xuICBtaW4td2lkdGg6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xufVxuXG4uc2JiLW9wdGlvbi1oaW50IHtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24taGludC1jb2xvcik7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWhpbnQtY29sb3IpO1xuICBmbGV4LWdyb3c6IDE7XG59XG4iLCJpbXBvcnQgeyBodG1sLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGlvbi1oaW50LnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBEaXNwbGF5IGEgdGV4dHVhbCBoaW50IGluc2lkZSBhIGBzYmItYXV0b2NvbXBsZXRlYCBvciBhIGBzYmItc2VsZWN0YC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGRpc3BsYXkgdGhlIGhpbnQgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdGlvbkhpbnRFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItb3B0aW9uLWhpbnQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbi1oaW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0aW9uLWhpbnQnOiBTYmJPcHRpb25IaW50RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDYUEsSUFBYSx1QkFBYixjQUEwQyxpQkFBaUIsV0FBVyxDQUFBOztFQUNwQyxLQUFBLGNBQXNCOzs7RUFDL0IsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLG9CQUFNLENBQUM7O0NBRWhFLFNBQU07RUFDdkIsT0FBTyxJQUFJIn0=
@@ -127,4 +127,4 @@ var SbbOptionElement = class extends SbbOptionBaseElement {
127
127
  //#endregion
128
128
  export { SbbOptionElement as t };
129
129
 
130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC1CYjJDN2FlNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLW9wdGlvbi1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG4gIC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItY29sb3ItbWlkbmlnaHQpO1xuICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1vcHRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTUpO1xuICAtLXNiYi1vcHRpb24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xufVxuXG46aG9zdCg6aG92ZXI6bm90KDpzdGF0ZShkaXNhYmxlZCkpKSB7XG4gIEBpbmNsdWRlIHNiYi5ob3Zlci1tcSgkaG92ZXI6IHRydWUpIHtcbiAgICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcbiAgfVxufVxuXG46aG9zdCg6YWN0aXZlOm5vdCg6c3RhdGUoZGlzYWJsZWQpKSkge1xuICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG59XG5cbi8vIElmIGhpZ2hsaWdodGluZyBpcyBlbmFibGVkLCBoaWRlIHRoZSBvcmlnaW5hbCBzbG90IGNvbnRlbnRcbjpob3N0KDpub3QoOnN0YXRlKGRpc2FibGUtaGlnaGxpZ2h0KSkpIHtcbiAgLnNiYi1vcHRpb25fX2xhYmVsIHNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGRpc2FibGVkKSkge1xuICAtLXNiYi1vcHRpb24tY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLWRlZmF1bHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1vcHRpb24tY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh2YXJpYW50LXNlbGVjdCkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbHVtbi1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgLS1zYmItb3B0aW9uLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuOmhvc3QoOnN0YXRlKHZhcmlhbnQtc2VsZWN0KTpzdGF0ZShtdWx0aXBsZSkpIHtcbiAgLS1zYmItb3B0aW9uLWp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5cbjpob3N0KDpzdGF0ZShhY3RpdmUpKSB7XG4gIC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcik7XG59XG5cbi5zYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0IHtcbiAgOmhvc3QoOm5vdCg6aXMoOnN0YXRlKGRpc2FibGVkKSkpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIudGV4dC0tYm9sZDtcbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBjb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW9wdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLW9wdGlvbi1taW4taGVpZ2h0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogdmFyKC0tc2JiLW9wdGlvbi1jb2x1bW4tZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRpb24tcGFkZGluZy1pbmxpbmUpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1vcHRpb24tanVzdGlmeS1jb250ZW50KTtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuICBjdXJzb3I6IHZhcigtLXNiYi1vcHRpb24tY3Vyc29yKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuXG4gIC8vIFdlIHVzZSB0aGUgcHNldWRvIGVsZW1lbnQgdG8gZGlzcGxheSB0aGUgZm9jdXMgb3V0bGluZSAoaW5saW5lIGluIHRoaXMgY2FzZSlcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWluc2V0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1vcHRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAvLyBBZGQgaW5uZXIgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGZvciBkaXNhYmxlZCBvcHRpb24gd2hlbiBpdCdzIG5vdCBtdWx0aXBsZVxuICA6aG9zdCg6c3RhdGUoZGlzYWJsZWQpOm5vdCg6c3RhdGUobXVsdGlwbGUpKSkgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAje3NiYi5weC10by1yZW0tYnVpbGQoNil9O1xuICAgICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBkYXNoZWQgdmFyKC0tc2JiLW9wdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMngpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zYmItb3B0aW9uX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29sb3IpO1xuXG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtaWNvbiksIDpzdGF0ZShoYXMtaWNvbi1uYW1lKSkpICYge1xuICAgIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAncHJlc2VydmUtaWNvbi1zcGFjZScgb24gdGhlIGF1dG9jb21wbGV0ZVxuICAgIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIH1cbn1cblxuLnNiYi1vcHRpb25fX2xhYmVsIHtcbiAgdGV4dC1vdmVyZmxvdzogdmFyKC0tc2JiLW9wdGlvbi10ZXh0LW92ZXJmbG93KTtcbiAgb3ZlcmZsb3c6IHZhcigtLXNiYi1vcHRpb24tb3ZlcmZsb3cpO1xuICB3aGl0ZS1zcGFjZTogdmFyKC0tc2JiLW9wdGlvbi13aGl0ZS1zcGFjZSwgaW5pdGlhbCk7XG59XG4iLCJpbXBvcnQgeyBodG1sLCBub3RoaW5nLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUudHMnO1xuaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LnRzJztcblxuaW1wb3J0IHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi92aXN1YWwtY2hlY2tib3gudHMnO1xuXG5leHBvcnQgdHlwZSBTYmJPcHRpb25WYXJpYW50ID0gJ2F1dG9jb21wbGV0ZScgfCAnc2VsZWN0JyB8IG51bGw7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb24gb3B0aW9uIGl0ZW0gd2hpY2ggY2FuIGJlIHVzZWQgaW4gYHNiYi1zZWxlY3RgIG9yIGBzYmItYXV0b2NvbXBsZXRlYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBvcHRpb24gbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXk9bm9uZV0gLSBDYW4gYmUgdXNlZCB0byByZXNlcnZlIHNwYWNlIGV2ZW5cbiAqIHdoZW4gcHJlc2VydmUtaWNvbi1zcGFjZSBvbiBhdXRvY29tcGxldGUgaXMgbm90IHNldCBvciBpY29uTmFtZSBpcyBub3Qgc2V0LlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdGlvbkVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJPcHRpb25CYXNlRWxlbWVudDxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItb3B0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ29wdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3Rpb25jaGFuZ2U6ICdvcHRpb25zZWxlY3Rpb25jaGFuZ2UnLFxuICAgIG9wdGlvbnNlbGVjdGVkOiAnb3B0aW9uc2VsZWN0ZWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByb3RlY3RlZCBvcHRpb25JZCA9IGBzYmItb3B0aW9uYDtcblxuICBwcml2YXRlIHNldCBfdmFyaWFudCh2YXJpYW50OiBTYmJPcHRpb25WYXJpYW50KSB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhbnRJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgdmFyaWFudC0ke3RoaXMuX3ZhcmlhbnRJbnRlcm5hbH1gKTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFudEludGVybmFsID0gdmFyaWFudDtcbiAgICBpZiAodGhpcy5fdmFyaWFudEludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGB2YXJpYW50LSR7dGhpcy5fdmFyaWFudEludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfdmFyaWFudCgpOiBTYmJPcHRpb25WYXJpYW50IHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFudEludGVybmFsID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFyaWFudEludGVybmFsPzogU2JiT3B0aW9uVmFyaWFudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1vcHRncm91cCcpLCB7XG4gICAgICAgIGRpc2FibGVkOiAocCkgPT4gKHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAgPSBwLmRpc2FibGVkKSxcbiAgICAgICAgbGFiZWw6IChwKSA9PiAodGhpcy5ncm91cExhYmVsID0gcC5sYWJlbCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlJyksIHtcbiAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB0aGlzLl9oYW5kbGVOZWdhdGl2ZUNoYW5nZShlKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3QnKSwge1xuICAgICAgICBtdWx0aXBsZTogKGFuY2VzdG9yKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnbXVsdGlwbGUnLCBhbmNlc3Rvci5tdWx0aXBsZSk7XG5cbiAgICAgICAgICAvLyBNdWx0aXBsZSBoYXMgdG8gYmUgcHJvcGFnYXRlZCB0byBzYmItdmlzdWFsLWNoZWNrYm94IGluc2lkZSB0aGUgb3B0aW9uLlxuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmh5ZHJhdGlvblJlcXVpcmVkICYmIHRoaXMubWF0Y2hlcz8uKCc6c3RhdGUobXVsdGlwbGUpJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOZWdhdGl2ZUNoYW5nZShhbmNlc3RvcjogU2JiQXV0b2NvbXBsZXRlRWxlbWVudCB8IFNiYlNlbGVjdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGFuY2VzdG9yLm5lZ2F0aXZlKTtcblxuICAgIC8vIE5lZ2F0aXZlIGhhcyB0byBiZSBwcm9wYWdhdGVkIHRvIHNiYi12aXN1YWwtY2hlY2tib3ggaW5zaWRlIHRoZSBvcHRpb24uXG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaGlnaGxpZ2h0IHN0YXRlIGJvdGggb24gc2xvdCBjaGFuZ2UsIGJ1dCBhbHNvIHdoZW4gY29ubmVjdGluZ1xuICAgIC8vIHRoZSBlbGVtZW50IHRvIHRoZSBET00uIFRoZSBzbG90IGNoYW5nZSBldmVudHMgbWlnaHQgYmUgc3dhbGxvd2VkIHdoZW4gdXNpbmcgZGVjbGFyYXRpdmVcbiAgICAvLyBzaGFkb3cgRE9NIHdpdGggU1NSIG9yIGlmIHRoZSBET00gaXMgY2hhbmdlZCB3aGVuIGRpc2Nvbm5lY3RlZC5cbiAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX2luaXQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgICB0aGlzLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXApIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc011bHRpcGxlKCkpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oIXRoaXMuc2VsZWN0ZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkKTtcbiAgICAvKiogVGhlIG9wdGlvbnNlbGVjdGlvbmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIG9wdGlvbiBzZWxlY3Rpb24gc3RhdHVzIGNoYW5nZXMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uc2VsZWN0aW9uY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYXJpYW50QnlDb250ZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZScpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ2F1dG9jb21wbGV0ZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLXNlbGVjdCcpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ3NlbGVjdCc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZUhpZ2hsaWdodFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1cGVyLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8IS0tIEljb24gLS0+XG4gICAgICAkeyF0aGlzLl9pc011bHRpcGxlKClcbiAgICAgICAgPyBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cblxuICAgICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICAgICR7dGhpcy5faXNNdWx0aXBsZSgpXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxzYmItdmlzdWFsLWNoZWNrYm94XG4gICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5zZWxlY3RlZH1cbiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwfVxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm1hdGNoZXM/LignOnN0YXRlKG5lZ2F0aXZlKScpfVxuICAgICAgICAgICAgPjwvc2JiLXZpc3VhbC1jaGVja2JveD5cbiAgICAgICAgICBgXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckxhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgcmV0dXJuIG5vdGhpbmc7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5yZW5kZXJMYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnQgPT09ICdzZWxlY3QnICYmICF0aGlzLl9pc011bHRpcGxlKCkgJiYgdGhpcy5zZWxlY3RlZFxuICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPVwidGljay1zbWFsbFwiPjwvc2JiLWljb24+YFxuICAgICAgOiBub3RoaW5nO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0aW9uJzogU2JiT3B0aW9uRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIG9wdGlvbnNlbGVjdGlvbmNoYW5nZTogRXZlbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDdUJBLElBQWEsbUJBQWIsY0FBa0QscUJBQXVCOztBQUN2QyxPQUFBLGNBQXNCOzs7QUFDdEIsT0FBQSxPQUFPOzs7QUFDaEIsT0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGVBQU0sQ0FBQzs7O0FBQ25ELE9BQUEsU0FBUztHQUN2Qyx1QkFBdUI7R0FDdkIsZ0JBQWdCO0dBQ1I7O0NBSVYsSUFBWSxTQUFTLFNBQXlCO0FBQzVDLE1BQUksS0FBSyxpQkFDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLFdBQVcsS0FBSyxtQkFBbUI7QUFFbEUsT0FBSyxtQkFBbUI7QUFDeEIsTUFBSSxLQUFLLGlCQUNQLE1BQUssVUFBVSxPQUFPLElBQUksV0FBVyxLQUFLLG1CQUFtQjs7Q0FHakUsSUFBWSxXQUFRO0FBQ2xCLFNBQU8sS0FBSyxvQkFBb0I7O0NBSWxDLGNBQUE7QUFDRSxTQUFPO0FBakJDLE9BQUEsV0FBVztBQWtCbkIsT0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGVBQWUsRUFBRTtHQUN6RSxXQUFXLE1BQU8sS0FBSyxvQkFBb0IsRUFBRTtHQUM3QyxRQUFRLE1BQU8sS0FBSyxhQUFhLEVBQUU7R0FDcEMsQ0FBQyxDQUNIO0FBRUQsT0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLG1CQUFtQixFQUFFLEVBQzdFLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFFLEVBQy9DLENBQUMsQ0FDSDtBQUVELE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxhQUFhLEVBQUU7R0FDdkUsV0FBVyxhQUFZO0FBQ3JCLFNBQUssWUFBWSxZQUFZLFNBQVMsU0FBUztBQUcvQyxTQUFLLGVBQWU7O0dBRXRCLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFBO0dBQzdDLENBQUMsQ0FDSDs7Q0FHSyxjQUFXO0FBQ2pCLFNBQU8sQ0FBQyxLQUFLLHFCQUFxQixLQUFLLFVBQVUsMENBQW1COztDQUc5RCxzQkFBc0IsVUFBbUQ7QUFDL0UsT0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0FBRy9DLE9BQUssZUFBZTs7Q0FHTixvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFLekIsTUFBSSxLQUFLLGtCQUNQLE1BQUssa0JBQWtCLFdBQVcsS0FBSyxPQUFPLENBQUM7TUFFL0MsTUFBSyxPQUFPOztDQUlSLFFBQUs7QUFDWCxPQUFLLHNCQUFzQjtBQUMzQixPQUFLLHNCQUFzQjs7Q0FHbkIsY0FBYyxPQUFpQjtBQUN2QyxNQUFJLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtBQUMzQyxTQUFNLGlCQUFpQjtBQUN2Qjs7QUFHRixNQUFJLEtBQUssYUFBYSxFQUFFO0FBQ3RCLFNBQU0saUJBQWlCO0FBQ3ZCLFFBQUsseUJBQXlCLENBQUMsS0FBSyxTQUFTO1FBRTdDLE1BQUsseUJBQXlCLEtBQUs7O0NBSXBCLHlCQUF5QixVQUFpQjtBQUMzRCxRQUFNLHlCQUF5QixTQUFTOztBQUV4QyxPQUFLLGNBQWMsSUFBSSxNQUFNLHlCQUF5QjtHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQyxDQUFDOztDQUduRix1QkFBb0I7QUFDMUIsTUFBSSxLQUFLLFVBQVUsbUJBQW1CLENBQ3BDLE1BQUssV0FBVztXQUNQLEtBQUssVUFBVSxhQUFhLENBQ3JDLE1BQUssV0FBVzs7Q0FJRCx1QkFBb0I7QUFDckMsTUFBSSxLQUFLLGFBQWEsZ0JBQWdCO0FBQ3BDLFFBQUssdUJBQXVCLEtBQUs7QUFDakM7O0FBR0YsUUFBTSxzQkFBc0I7O0NBR1gsYUFBVTtBQUMzQixTQUFPLElBQUk7O1FBRVAsQ0FBQyxLQUFLLGFBQWEsR0FDakIsSUFBSSxvQ0FBb0MsS0FBSyxnQkFBZ0IsQ0FBQSxZQUM3RCxRQUFBOzs7UUFHRixLQUFLLGFBQWEsR0FDaEIsSUFBSTs7eUJBRVcsS0FBSyxTQUFBOzBCQUNKLEtBQUssWUFBWSxLQUFLLGtCQUFBOzBCQUN0QixLQUFLLFVBQVUsMENBQW1CLENBQUE7O2NBR2xELFFBQUE7OztDQUlXLGNBQVc7QUFDNUIsTUFBSSxLQUFLLGFBQWEsZUFDcEIsUUFBTztBQUVULFNBQU8sTUFBTSxhQUFhOztDQUdULGFBQVU7QUFDM0IsU0FBTyxLQUFLLGFBQWEsWUFBWSxDQUFDLEtBQUssYUFBYSxJQUFJLEtBQUssV0FDN0QsSUFBSSw0Q0FDSiJ9
130
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC1CYjJDN2FlNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLW9wdGlvbi1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG4gIC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItY29sb3ItbWlkbmlnaHQpO1xuICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1vcHRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTUpO1xuICAtLXNiYi1vcHRpb24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xufVxuXG46aG9zdCg6aG92ZXI6bm90KDpzdGF0ZShkaXNhYmxlZCkpKSB7XG4gIEBpbmNsdWRlIHNiYi5ob3Zlci1tcSgkaG92ZXI6IHRydWUpIHtcbiAgICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcbiAgfVxufVxuXG46aG9zdCg6YWN0aXZlOm5vdCg6c3RhdGUoZGlzYWJsZWQpKSkge1xuICAtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG59XG5cbi8vIElmIGhpZ2hsaWdodGluZyBpcyBlbmFibGVkLCBoaWRlIHRoZSBvcmlnaW5hbCBzbG90IGNvbnRlbnRcbjpob3N0KDpub3QoOnN0YXRlKGRpc2FibGUtaGlnaGxpZ2h0KSkpIHtcbiAgLnNiYi1vcHRpb25fX2xhYmVsIHNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGRpc2FibGVkKSkge1xuICAtLXNiYi1vcHRpb24tY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLWRlZmF1bHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1vcHRpb24tY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh2YXJpYW50LXNlbGVjdCkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbHVtbi1nYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgLS1zYmItb3B0aW9uLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuOmhvc3QoOnN0YXRlKHZhcmlhbnQtc2VsZWN0KTpzdGF0ZShtdWx0aXBsZSkpIHtcbiAgLS1zYmItb3B0aW9uLWp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5cbjpob3N0KDpzdGF0ZShhY3RpdmUpKSB7XG4gIC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcik7XG59XG5cbi5zYmItb3B0aW9uX19sYWJlbC0taGlnaGxpZ2h0IHtcbiAgOmhvc3QoOm5vdCg6aXMoOnN0YXRlKGRpc2FibGVkKSkpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIudGV4dC0tYm9sZDtcbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBjb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW9wdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLW9wdGlvbi1taW4taGVpZ2h0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogdmFyKC0tc2JiLW9wdGlvbi1jb2x1bW4tZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRpb24tcGFkZGluZy1pbmxpbmUpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1vcHRpb24tanVzdGlmeS1jb250ZW50KTtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuICBjdXJzb3I6IHZhcigtLXNiYi1vcHRpb24tY3Vyc29yKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuXG4gIC8vIFdlIHVzZSB0aGUgcHNldWRvIGVsZW1lbnQgdG8gZGlzcGxheSB0aGUgZm9jdXMgb3V0bGluZSAoaW5saW5lIGluIHRoaXMgY2FzZSlcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWluc2V0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1vcHRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAvLyBBZGQgaW5uZXIgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGZvciBkaXNhYmxlZCBvcHRpb24gd2hlbiBpdCdzIG5vdCBtdWx0aXBsZVxuICA6aG9zdCg6c3RhdGUoZGlzYWJsZWQpOm5vdCg6c3RhdGUobXVsdGlwbGUpKSkgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAje3NiYi5weC10by1yZW0tYnVpbGQoNil9O1xuICAgICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBkYXNoZWQgdmFyKC0tc2JiLW9wdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMngpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zYmItb3B0aW9uX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29sb3IpO1xuXG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtaWNvbiksIDpzdGF0ZShoYXMtaWNvbi1uYW1lKSkpICYge1xuICAgIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAncHJlc2VydmUtaWNvbi1zcGFjZScgb24gdGhlIGF1dG9jb21wbGV0ZVxuICAgIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIH1cbn1cblxuLnNiYi1vcHRpb25fX2xhYmVsIHtcbiAgdGV4dC1vdmVyZmxvdzogdmFyKC0tc2JiLW9wdGlvbi10ZXh0LW92ZXJmbG93KTtcbiAgb3ZlcmZsb3c6IHZhcigtLXNiYi1vcHRpb24tb3ZlcmZsb3cpO1xuICB3aGl0ZS1zcGFjZTogdmFyKC0tc2JiLW9wdGlvbi13aGl0ZS1zcGFjZSwgaW5pdGlhbCk7XG59XG4iLCJpbXBvcnQgeyBodG1sLCBub3RoaW5nLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUudHMnO1xuaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LnRzJztcblxuaW1wb3J0IHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi92aXN1YWwtY2hlY2tib3gudHMnO1xuXG5leHBvcnQgdHlwZSBTYmJPcHRpb25WYXJpYW50ID0gJ2F1dG9jb21wbGV0ZScgfCAnc2VsZWN0JyB8IG51bGw7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb24gb3B0aW9uIGl0ZW0gd2hpY2ggY2FuIGJlIHVzZWQgaW4gYHNiYi1zZWxlY3RgIG9yIGBzYmItYXV0b2NvbXBsZXRlYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBvcHRpb24gbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXk9bm9uZV0gLSBDYW4gYmUgdXNlZCB0byByZXNlcnZlIHNwYWNlIGV2ZW5cbiAqIHdoZW4gcHJlc2VydmUtaWNvbi1zcGFjZSBvbiBhdXRvY29tcGxldGUgaXMgbm90IHNldCBvciBpY29uTmFtZSBpcyBub3Qgc2V0LlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk9wdGlvbkVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJPcHRpb25CYXNlRWxlbWVudDxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItb3B0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ29wdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3Rpb25jaGFuZ2U6ICdvcHRpb25zZWxlY3Rpb25jaGFuZ2UnLFxuICAgIG9wdGlvbnNlbGVjdGVkOiAnb3B0aW9uc2VsZWN0ZWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByb3RlY3RlZCBvcHRpb25JZCA9IGBzYmItb3B0aW9uYDtcblxuICBwcml2YXRlIHNldCBfdmFyaWFudCh2YXJpYW50OiBTYmJPcHRpb25WYXJpYW50KSB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhbnRJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgdmFyaWFudC0ke3RoaXMuX3ZhcmlhbnRJbnRlcm5hbH1gKTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFudEludGVybmFsID0gdmFyaWFudDtcbiAgICBpZiAodGhpcy5fdmFyaWFudEludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGB2YXJpYW50LSR7dGhpcy5fdmFyaWFudEludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfdmFyaWFudCgpOiBTYmJPcHRpb25WYXJpYW50IHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFudEludGVybmFsID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFyaWFudEludGVybmFsPzogU2JiT3B0aW9uVmFyaWFudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1vcHRncm91cCcpLCB7XG4gICAgICAgIGRpc2FibGVkOiAocCkgPT4gKHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAgPSBwLmRpc2FibGVkKSxcbiAgICAgICAgbGFiZWw6IChwKSA9PiAodGhpcy5ncm91cExhYmVsID0gcC5sYWJlbCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlJyksIHtcbiAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB0aGlzLl9oYW5kbGVOZWdhdGl2ZUNoYW5nZShlKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3QnKSwge1xuICAgICAgICBtdWx0aXBsZTogKGFuY2VzdG9yKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnbXVsdGlwbGUnLCBhbmNlc3Rvci5tdWx0aXBsZSk7XG5cbiAgICAgICAgICAvLyBNdWx0aXBsZSBoYXMgdG8gYmUgcHJvcGFnYXRlZCB0byBzYmItdmlzdWFsLWNoZWNrYm94IGluc2lkZSB0aGUgb3B0aW9uLlxuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmh5ZHJhdGlvblJlcXVpcmVkICYmIHRoaXMubWF0Y2hlcz8uKCc6c3RhdGUobXVsdGlwbGUpJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOZWdhdGl2ZUNoYW5nZShhbmNlc3RvcjogU2JiQXV0b2NvbXBsZXRlRWxlbWVudCB8IFNiYlNlbGVjdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGFuY2VzdG9yLm5lZ2F0aXZlKTtcblxuICAgIC8vIE5lZ2F0aXZlIGhhcyB0byBiZSBwcm9wYWdhdGVkIHRvIHNiYi12aXN1YWwtY2hlY2tib3ggaW5zaWRlIHRoZSBvcHRpb24uXG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaGlnaGxpZ2h0IHN0YXRlIGJvdGggb24gc2xvdCBjaGFuZ2UsIGJ1dCBhbHNvIHdoZW4gY29ubmVjdGluZ1xuICAgIC8vIHRoZSBlbGVtZW50IHRvIHRoZSBET00uIFRoZSBzbG90IGNoYW5nZSBldmVudHMgbWlnaHQgYmUgc3dhbGxvd2VkIHdoZW4gdXNpbmcgZGVjbGFyYXRpdmVcbiAgICAvLyBzaGFkb3cgRE9NIHdpdGggU1NSIG9yIGlmIHRoZSBET00gaXMgY2hhbmdlZCB3aGVuIGRpc2Nvbm5lY3RlZC5cbiAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX2luaXQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgICB0aGlzLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXApIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc011bHRpcGxlKCkpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oIXRoaXMuc2VsZWN0ZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkKTtcbiAgICAvKiogVGhlIG9wdGlvbnNlbGVjdGlvbmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIG9wdGlvbiBzZWxlY3Rpb24gc3RhdHVzIGNoYW5nZXMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uc2VsZWN0aW9uY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYXJpYW50QnlDb250ZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZScpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ2F1dG9jb21wbGV0ZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLXNlbGVjdCcpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ3NlbGVjdCc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZUhpZ2hsaWdodFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1cGVyLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8IS0tIEljb24gLS0+XG4gICAgICAkeyF0aGlzLl9pc011bHRpcGxlKClcbiAgICAgICAgPyBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cblxuICAgICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICAgICR7dGhpcy5faXNNdWx0aXBsZSgpXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxzYmItdmlzdWFsLWNoZWNrYm94XG4gICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5zZWxlY3RlZH1cbiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwfVxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm1hdGNoZXM/LignOnN0YXRlKG5lZ2F0aXZlKScpfVxuICAgICAgICAgICAgPjwvc2JiLXZpc3VhbC1jaGVja2JveD5cbiAgICAgICAgICBgXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckxhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgcmV0dXJuIG5vdGhpbmc7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5yZW5kZXJMYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnQgPT09ICdzZWxlY3QnICYmICF0aGlzLl9pc011bHRpcGxlKCkgJiYgdGhpcy5zZWxlY3RlZFxuICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPVwidGljay1zbWFsbFwiPjwvc2JiLWljb24+YFxuICAgICAgOiBub3RoaW5nO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0aW9uJzogU2JiT3B0aW9uRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIG9wdGlvbnNlbGVjdGlvbmNoYW5nZTogRXZlbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDdUJBLElBQWEsbUJBQWIsY0FBa0QscUJBQXVCOztFQUN2QyxLQUFBLGNBQXNCOzs7RUFDdEIsS0FBQSxPQUFPOzs7RUFDaEIsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGVBQU0sQ0FBQzs7O0VBQ25ELEtBQUEsU0FBUztHQUN2Qyx1QkFBdUI7R0FDdkIsZ0JBQWdCO0dBQ1I7O0NBSVYsSUFBWSxTQUFTLFNBQXlCO0VBQzVDLElBQUksS0FBSyxrQkFDUCxLQUFLLFVBQVUsT0FBTyxPQUFPLFdBQVcsS0FBSyxtQkFBbUI7RUFFbEUsS0FBSyxtQkFBbUI7RUFDeEIsSUFBSSxLQUFLLGtCQUNQLEtBQUssVUFBVSxPQUFPLElBQUksV0FBVyxLQUFLLG1CQUFtQjs7Q0FHakUsSUFBWSxXQUFRO0VBQ2xCLE9BQU8sS0FBSyxvQkFBb0I7O0NBSWxDLGNBQUE7RUFDRSxPQUFPO0VBakJDLEtBQUEsV0FBVztFQWtCbkIsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGVBQWUsRUFBRTtHQUN6RSxXQUFXLE1BQU8sS0FBSyxvQkFBb0IsRUFBRTtHQUM3QyxRQUFRLE1BQU8sS0FBSyxhQUFhLEVBQUU7R0FDcEMsQ0FBQyxDQUNIO0VBRUQsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLG1CQUFtQixFQUFFLEVBQzdFLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFFLEVBQy9DLENBQUMsQ0FDSDtFQUVELEtBQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxhQUFhLEVBQUU7R0FDdkUsV0FBVyxhQUFZO0lBQ3JCLEtBQUssWUFBWSxZQUFZLFNBQVMsU0FBUztJQUcvQyxLQUFLLGVBQWU7O0dBRXRCLFdBQVcsTUFBTSxLQUFLLHNCQUFzQixFQUFBO0dBQzdDLENBQUMsQ0FDSDs7Q0FHSyxjQUFXO0VBQ2pCLE9BQU8sQ0FBQyxLQUFLLHFCQUFxQixLQUFLLFVBQVUsMENBQW1COztDQUc5RCxzQkFBc0IsVUFBbUQ7RUFDL0UsS0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0VBRy9DLEtBQUssZUFBZTs7Q0FHTixvQkFBaUI7RUFDL0IsTUFBTSxtQkFBbUI7RUFLekIsSUFBSSxLQUFLLG1CQUNQLEtBQUssa0JBQWtCLFdBQVcsS0FBSyxPQUFPLENBQUM7T0FFL0MsS0FBSyxPQUFPOztDQUlSLFFBQUs7RUFDWCxLQUFLLHNCQUFzQjtFQUMzQixLQUFLLHNCQUFzQjs7Q0FHbkIsY0FBYyxPQUFpQjtFQUN2QyxJQUFJLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtHQUMzQyxNQUFNLGlCQUFpQjtHQUN2Qjs7RUFHRixJQUFJLEtBQUssYUFBYSxFQUFFO0dBQ3RCLE1BQU0saUJBQWlCO0dBQ3ZCLEtBQUsseUJBQXlCLENBQUMsS0FBSyxTQUFTO1NBRTdDLEtBQUsseUJBQXlCLEtBQUs7O0NBSXBCLHlCQUF5QixVQUFpQjtFQUMzRCxNQUFNLHlCQUF5QixTQUFTOztFQUV4QyxLQUFLLGNBQWMsSUFBSSxNQUFNLHlCQUF5QjtHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQyxDQUFDOztDQUduRix1QkFBb0I7RUFDMUIsSUFBSSxLQUFLLFVBQVUsbUJBQW1CLEVBQ3BDLEtBQUssV0FBVztPQUNYLElBQUksS0FBSyxVQUFVLGFBQWEsRUFDckMsS0FBSyxXQUFXOztDQUlELHVCQUFvQjtFQUNyQyxJQUFJLEtBQUssYUFBYSxnQkFBZ0I7R0FDcEMsS0FBSyx1QkFBdUIsS0FBSztHQUNqQzs7RUFHRixNQUFNLHNCQUFzQjs7Q0FHWCxhQUFVO0VBQzNCLE9BQU8sSUFBSTs7UUFFUCxDQUFDLEtBQUssYUFBYSxHQUNqQixJQUFJLG9DQUFvQyxLQUFLLGdCQUFnQixDQUFBLFlBQzdELFFBQUE7OztRQUdGLEtBQUssYUFBYSxHQUNoQixJQUFJOzt5QkFFVyxLQUFLLFNBQUE7MEJBQ0osS0FBSyxZQUFZLEtBQUssa0JBQUE7MEJBQ3RCLEtBQUssVUFBVSwwQ0FBbUIsQ0FBQTs7Y0FHbEQsUUFBQTs7O0NBSVcsY0FBVztFQUM1QixJQUFJLEtBQUssYUFBYSxnQkFDcEIsT0FBTztFQUVULE9BQU8sTUFBTSxhQUFhOztDQUdULGFBQVU7RUFDM0IsT0FBTyxLQUFLLGFBQWEsWUFBWSxDQUFDLEtBQUssYUFBYSxJQUFJLEtBQUssV0FDN0QsSUFBSSw0Q0FDSiJ9
@@ -244,4 +244,4 @@ var SbbOverlayBaseElement = (() => {
244
244
  //#endregion
245
245
  export { SbbOverlayBaseElement, SbbOverlayCloseEvent, assignOverlayResult, overlayRefs };
246
246
 
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1iYXNlLWVsZW1lbnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbiwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRm9jdXNUcmFwQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgaTE4bkRpYWxvZyB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy50cyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQgfSBmcm9tICcuLi9zY3JlZW4tcmVhZGVyLW9ubHkudHMnO1xuXG5jb25zdCBvdmVybGF5UmVzdWx0TWFwID0gbmV3IFdlYWtNYXA8SFRNTEVsZW1lbnQsIGFueT4oKTtcblxuZXhwb3J0IGNsYXNzIFNiYk92ZXJsYXlDbG9zZUV2ZW50PFQgPSBhbnk+IGV4dGVuZHMgQ3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPiB7XG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2xvc2VkIG92ZXJsYXkuXG4gICAqIFRoaXMgaXMgZWl0aGVyIHRoZSByZXN1bHQgYXNzaWduZWQgdG8gdGhlIGBjbG9zZVRhcmdldGAgdmlhXG4gICAqIGBhc3NpZ25PdmVybGF5UmVzdWx0YCAvIGBhc3NpZ25EaWFsb2dSZXN1bHRgIG9yIHRoZSB2YWx1ZSBvZiB0aGVcbiAgICogY29ycmVzcG9uZGluZyBjbG9zZSBhdHRyaWJ1dGUgb24gdGhlIGBjbG9zZVRhcmdldGBcbiAgICogKGUuZy4gc2JiLW92ZXJsYXktY2xvc2U9XCJteS1yZXN1bHRcIiBvciBzYmItZGlhbG9nLWNsb3NlPVwibXktcmVzdWx0XCIpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdDogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2FzIHVzZWQgdG8gY2xvc2UgdGhlIG92ZXJsYXkvZGlhbG9nLCBpLmUuIHRoZSBlbGVtZW50IHRoYXQgdGhlXG4gICAqIHVzZXIgY2xpY2tlZCBvbiB0aGF0IGhhZCB0aGUgY2xvc2UgYXR0cmlidXRlLlxuICAgKiBFbXB0eSBpZiBjbG9zZWQgcHJvZ3JhbW1hdGljYWxseSBvciB2aWEgRXNjYXBlIHByZXNzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB7XG4gICAgICBjYW5jZWxhYmxlLFxuICAgICAgY2xvc2VBdHRyaWJ1dGUsXG4gICAgICBjbG9zZVRhcmdldCxcbiAgICAgIHJlc3VsdCxcbiAgICB9OiB7IGNhbmNlbGFibGU/OiBib29sZWFuOyBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nOyBjbG9zZVRhcmdldD86IEhUTUxFbGVtZW50OyByZXN1bHQ/OiBhbnkgfSxcbiAgKSB7XG4gICAgLy8gVE9ETzogUmVtb3ZlIGRldGFpbCBhbmQgY2hhbmdlIGJhc2UgY2xhc3MgdG8gRXZlbnRcbiAgICBzdXBlcihuYW1lLCB7IGNhbmNlbGFibGUsIGRldGFpbDogeyByZXR1cm5WYWx1ZTogcmVzdWx0LCBjbG9zZVRhcmdldCB9IH0pO1xuXG4gICAgdGhpcy5yZXN1bHQgPVxuICAgICAgcmVzdWx0ID8/XG4gICAgICAoIWNsb3NlVGFyZ2V0XG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IChvdmVybGF5UmVzdWx0TWFwLmdldChjbG9zZVRhcmdldCkgPz9cbiAgICAgICAgICAoY2xvc2VUYXJnZXQuZ2V0QXR0cmlidXRlKGNsb3NlQXR0cmlidXRlKT8udHJpbSgpIHx8IG51bGwpKSk7XG4gICAgdGhpcy5jbG9zZVRhcmdldCA9IGNsb3NlVGFyZ2V0ID8/IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbk92ZXJsYXlSZXN1bHQ8VD4oZWxlbWVudDogSFRNTEVsZW1lbnQsIHJlc3VsdDogVCk6IHZvaWQge1xuICBvdmVybGF5UmVzdWx0TWFwLnNldChlbGVtZW50LCByZXN1bHQpO1xufVxuXG4vLyBBIGdsb2JhbCBjb2xsZWN0aW9uIG9mIGV4aXN0aW5nIG92ZXJsYXlzLlxuZXhwb3J0IGNvbnN0IG92ZXJsYXlSZWZzOiBTYmJPdmVybGF5QmFzZUVsZW1lbnRbXSA9IFtdO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3ZlcmxheUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSByZWxldmFudCBuZXN0ZWQgZWxlbWVudCB0byBkZXNjcmliZSB0aGUgcHVycG9zZSBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgcmVzdG9yaW5nIGZvY3VzIHRvIHRoZSBwcmV2aW91c2x5LWZvY3VzZWQgZWxlbWVudCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsb3NlZC5cbiAgICogTm90ZSB0aGF0IGF1dG9tYXRpYyBmb2N1cyByZXN0b3JhdGlvbiBpcyBhbiBhY2Nlc3NpYmlsaXR5IGZlYXR1cmUsIGFuZCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0XG4gICAqIHlvdSBwcm92aWRlIHlvdXIgb3duIGVxdWl2YWxlbnQsIGlmIHlvdSBkZWNpZGUgdG8gdHVybiBpdCBvZmYuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2tpcEZvY3VzUmVzdG9yYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUaGUgbGFzdCBlbGVtZW50IHdoaWNoIGhhZCBmb2N1cyBiZWZvcmUgdGhlIGNvbXBvbmVudCB3YXMgb3BlbmVkLlxuICBwcm90ZWN0ZWQgbGFzdEZvY3VzZWRFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIC8vIFRPRE86IHJlbmFtZSB0byBsYXN0Q2xvc2VkVGFyZ2V0XG4gIHByb3RlY3RlZCBvdmVybGF5Q2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBvcGVuT3ZlcmxheUNvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBmb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBzY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgLy8gVE9ETzogcmVuYW1lIHRvIGxhc3RSZXN1bHRcbiAgcHJvdGVjdGVkIHJldHVyblZhbHVlOiBhbnk7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBpbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcm90ZWN0ZWQgZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYXJpYUxpdmVSZWZUb2dnbGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXJpYUxpdmVSZWY/OiBTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNsb3NlQXR0cmlidXRlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBjbG9zZVRhZz86IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZU9wZW5pbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZUNsb3NpbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoXG4gICAgZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzLFxuICApOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzKTogYm9vbGVhbjtcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8XG4gICAgICB0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fFxuICAgICAgdGhpcy5faGFzQ2xvc2VkUGFyZW50KCkgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gQWRkIHRoaXMgb3ZlcmxheSB0byB0aGUgZ2xvYmFsIGNvbGxlY3Rpb25cbiAgICBvdmVybGF5UmVmcy5wdXNoKHRoaXMpO1xuXG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB0aGlzLmVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLmhhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkO1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcHVibGljIGNsb3NlKHJlc3VsdD86IGFueSwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpOiB2b2lkO1xuICBwdWJsaWMgY2xvc2UocmVzdWx0PzogYW55LCB0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NlKHJlc3VsdCwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKHJlc3VsdDogYW55LCB0YXJnZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmV0dXJuVmFsdWUgPSByZXN1bHQgPz8gbnVsbDtcbiAgICB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQgPSB0YXJnZXQ7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgIHRoaXMucmVtb3ZlQXJpYUxpdmVSZWZDb250ZW50KCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlcmUgaXMgYSBwYXJlbnQgZGlhbG9nIG9yIG92ZXJsYXkgaW4gdGhlIERPTSB0aGF0IGlzIGNsb3NlZC5cbiAgICogSW4gdGhpcyBjYXNlLCB0aGUgb3ZlcmxheSBzaG91bGQgbm90IGJlIG9wZW5lZCBiZWNhdXNlIGl0IHdvdWxkIGJyZWFrIHRoZSBzdGF0ZS5cbiAgICogTm90IG5lc3RlZCBidXQgc3RhY2tlZCBvdmVybGF5cyBhcmUgc3VwcG9ydGVkIHNvIHRoaXMgbG9naWMgZG9lcyBub3QgYXBwbHkgaW4gdGhpcyBjYXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBfaGFzQ2xvc2VkUGFyZW50KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhcmVudERpYWxvZyA9XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3Q8U2JiT3ZlcmxheUJhc2VFbGVtZW50Pignc2JiLWRpYWxvZywgc2JiLW92ZXJsYXknKTtcblxuICAgIHJldHVybiAocGFyZW50RGlhbG9nPy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgcGFyZW50RGlhbG9nPy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVHJpZ2dlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0aGlzLnRyaWdnZXI7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2RpYWxvZycsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2FyaWFMaXZlUmVmID1cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudD4oJ3NiYi1zY3JlZW4tcmVhZGVyLW9ubHknKSE7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuXG4gICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IG9wZW4gb24gZmlyc3RVcGRhdGUsIGZpeCB0aGUgZm9jdXNcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIC8vIFRPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG4gICAgICAvLyBQcm9ibGVtOiBjb250ZW50J3Mgc2hhZG93IERPTSBub3QgeWV0IHJlYWR5LCBzbyBmb2N1c2luZyBpcyBpbXBvc3NpYmxlLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFJlbW92ZSBvdmVybGF5IGxhYmVsIGFzIHNvb24gYXMgaXQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZSB0byBwcmV2ZW50IGFjY2Vzc2luZyBpdCB3aXRoIGJyb3dzZSBtb2RlLlxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5yZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleEluT3ZlcmxheVJlZnMgPSBvdmVybGF5UmVmcy5pbmRleE9mKHRoaXMgYXMgU2JiT3ZlcmxheUJhc2VFbGVtZW50KTtcbiAgICBpZiAoaW5kZXhJbk92ZXJsYXlSZWZzID4gLTEpIHtcbiAgICAgIG92ZXJsYXlSZWZzLnNwbGljZShpbmRleEluT3ZlcmxheVJlZnMsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIHRoZSBjb21wb25lbnQgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlIGBjbG9zZUF0dHJpYnV0ZWAgYXR0cmlidXRlLlxuICBwcm90ZWN0ZWQgY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXlDbG9zZUVsZW1lbnQgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KVxuICAgICAgLmZpbmQoXG4gICAgICAgICh0YXJnZXQpID0+XG4gICAgICAgICAgKHRhcmdldC5oYXNBdHRyaWJ1dGUodGhpcy5jbG9zZUF0dHJpYnV0ZSkgfHwgdGFyZ2V0LmxvY2FsTmFtZSA9PT0gdGhpcy5jbG9zZVRhZykgJiZcbiAgICAgICAgICAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSxcbiAgICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAhb3ZlcmxheUNsb3NlRWxlbWVudCB8fFxuICAgICAgKG92ZXJsYXlDbG9zZUVsZW1lbnQuY2xvc2VzdCh0aGlzLmxvY2FsTmFtZSkgIT09IHRoaXMgJiZcbiAgICAgICAgIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMob3ZlcmxheUNsb3NlRWxlbWVudCkpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG92ZXJsYXlSZWZzLmxlbmd0aCkge1xuICAgICAgb3ZlcmxheVJlZnNbb3ZlcmxheVJlZnMubGVuZ3RoIC0gMV0uX2Nsb3NlKG51bGwsIG92ZXJsYXlDbG9zZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hcmlhTGl2ZVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFyaWFMaXZlUmVmQ29udGVudChsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYXJpYUxpdmVSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZSA9ICF0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZTtcblxuICAgIC8vIElmIHRoZSB0ZXh0IGNvbnRlbnQgcmVtYWlucyB0aGUgc2FtZSwgb24gVm9pY2VPdmVyIHRoZSBhcmlhLWxpdmUgcmVnaW9uIGlzIG5vdCBhbm5vdW5jZWQgYSBzZWNvbmQgdGltZS5cbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWRpbmcgb24gZXZlcnkgb3BlbmluZywgd2UgdG9nZ2xlIGFuIGludmlzaWJsZSBzcGFjZS5cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9IGAke2kxOG5EaWFsb2dbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0ke1xuICAgICAgbGFiZWwgPyBgLCAke2xhYmVsfWAgOiAnJ1xuICAgIH0ke3RoaXMuX2FyaWFMaXZlUmVmVG9nZ2xlID8gJ8KgJyA6ICcnfWA7XG4gIH1cblxuICAvLyBXYWl0IGZvciBkaWFsb2cgdHJhbnNpdGlvbiB0byBjb21wbGV0ZS5cbiAgLy8gSW4gcmFyZSBjYXNlcywgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJvdGVjdGVkIG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXFCQSxJQUFNLG1DQUFtQixJQUFJLFNBQTJCO0FBRXhELElBQWEsdUJBQWIsY0FBbUQsWUFBd0M7Q0FpQnpGLFlBQ0UsTUFDQSxFQUNFLFlBQ0EsZ0JBQ0EsYUFDQSxVQUMwRjtBQUc1RixRQUFNLE1BQU07R0FBRTtHQUFZLFFBQVE7SUFBRSxhQUFhO0lBQVE7O0dBQWUsQ0FBQztBQUV6RSxPQUFLLFNBQ0gsV0FDQyxDQUFDLGNBQ0UsT0FDQyxpQkFBaUIsSUFBSSxZQUFZLEtBQ2pDLFlBQVksYUFBYSxlQUFlLEVBQUUsTUFBTSxJQUFJO0FBQzNELE9BQUssY0FBYyxlQUFlOzs7QUFJdEMsU0FBZ0Isb0JBQXVCLFNBQXNCLFFBQVM7QUFDcEUsa0JBQWlCLElBQUksU0FBUyxPQUFPOztBQUl2QyxJQUFhLGNBQXVDLEVBQUU7SUFFaEMsK0JBQXFCO21CQUFTLGlCQUFpQix3QkFBd0I7Ozs7Ozs7Ozs7Y0FBdkUsOEJBQThCLFlBQXlDOzs7QUFRM0UsU0FBQSwyQkFBQSxrQkFBQSxNQUFBLHVCQUE4QixLQUFJO0FBS2xDLFNBQUEsdUNB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
247
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1iYXNlLWVsZW1lbnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbiwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRm9jdXNUcmFwQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgaTE4bkRpYWxvZyB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy50cyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQgfSBmcm9tICcuLi9zY3JlZW4tcmVhZGVyLW9ubHkudHMnO1xuXG5jb25zdCBvdmVybGF5UmVzdWx0TWFwID0gbmV3IFdlYWtNYXA8SFRNTEVsZW1lbnQsIGFueT4oKTtcblxuZXhwb3J0IGNsYXNzIFNiYk92ZXJsYXlDbG9zZUV2ZW50PFQgPSBhbnk+IGV4dGVuZHMgQ3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPiB7XG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2xvc2VkIG92ZXJsYXkuXG4gICAqIFRoaXMgaXMgZWl0aGVyIHRoZSByZXN1bHQgYXNzaWduZWQgdG8gdGhlIGBjbG9zZVRhcmdldGAgdmlhXG4gICAqIGBhc3NpZ25PdmVybGF5UmVzdWx0YCAvIGBhc3NpZ25EaWFsb2dSZXN1bHRgIG9yIHRoZSB2YWx1ZSBvZiB0aGVcbiAgICogY29ycmVzcG9uZGluZyBjbG9zZSBhdHRyaWJ1dGUgb24gdGhlIGBjbG9zZVRhcmdldGBcbiAgICogKGUuZy4gc2JiLW92ZXJsYXktY2xvc2U9XCJteS1yZXN1bHRcIiBvciBzYmItZGlhbG9nLWNsb3NlPVwibXktcmVzdWx0XCIpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdDogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2FzIHVzZWQgdG8gY2xvc2UgdGhlIG92ZXJsYXkvZGlhbG9nLCBpLmUuIHRoZSBlbGVtZW50IHRoYXQgdGhlXG4gICAqIHVzZXIgY2xpY2tlZCBvbiB0aGF0IGhhZCB0aGUgY2xvc2UgYXR0cmlidXRlLlxuICAgKiBFbXB0eSBpZiBjbG9zZWQgcHJvZ3JhbW1hdGljYWxseSBvciB2aWEgRXNjYXBlIHByZXNzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB7XG4gICAgICBjYW5jZWxhYmxlLFxuICAgICAgY2xvc2VBdHRyaWJ1dGUsXG4gICAgICBjbG9zZVRhcmdldCxcbiAgICAgIHJlc3VsdCxcbiAgICB9OiB7IGNhbmNlbGFibGU/OiBib29sZWFuOyBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nOyBjbG9zZVRhcmdldD86IEhUTUxFbGVtZW50OyByZXN1bHQ/OiBhbnkgfSxcbiAgKSB7XG4gICAgLy8gVE9ETzogUmVtb3ZlIGRldGFpbCBhbmQgY2hhbmdlIGJhc2UgY2xhc3MgdG8gRXZlbnRcbiAgICBzdXBlcihuYW1lLCB7IGNhbmNlbGFibGUsIGRldGFpbDogeyByZXR1cm5WYWx1ZTogcmVzdWx0LCBjbG9zZVRhcmdldCB9IH0pO1xuXG4gICAgdGhpcy5yZXN1bHQgPVxuICAgICAgcmVzdWx0ID8/XG4gICAgICAoIWNsb3NlVGFyZ2V0XG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IChvdmVybGF5UmVzdWx0TWFwLmdldChjbG9zZVRhcmdldCkgPz9cbiAgICAgICAgICAoY2xvc2VUYXJnZXQuZ2V0QXR0cmlidXRlKGNsb3NlQXR0cmlidXRlKT8udHJpbSgpIHx8IG51bGwpKSk7XG4gICAgdGhpcy5jbG9zZVRhcmdldCA9IGNsb3NlVGFyZ2V0ID8/IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbk92ZXJsYXlSZXN1bHQ8VD4oZWxlbWVudDogSFRNTEVsZW1lbnQsIHJlc3VsdDogVCk6IHZvaWQge1xuICBvdmVybGF5UmVzdWx0TWFwLnNldChlbGVtZW50LCByZXN1bHQpO1xufVxuXG4vLyBBIGdsb2JhbCBjb2xsZWN0aW9uIG9mIGV4aXN0aW5nIG92ZXJsYXlzLlxuZXhwb3J0IGNvbnN0IG92ZXJsYXlSZWZzOiBTYmJPdmVybGF5QmFzZUVsZW1lbnRbXSA9IFtdO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3ZlcmxheUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSByZWxldmFudCBuZXN0ZWQgZWxlbWVudCB0byBkZXNjcmliZSB0aGUgcHVycG9zZSBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNraXAgcmVzdG9yaW5nIGZvY3VzIHRvIHRoZSBwcmV2aW91c2x5LWZvY3VzZWQgZWxlbWVudCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsb3NlZC5cbiAgICogTm90ZSB0aGF0IGF1dG9tYXRpYyBmb2N1cyByZXN0b3JhdGlvbiBpcyBhbiBhY2Nlc3NpYmlsaXR5IGZlYXR1cmUsIGFuZCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0XG4gICAqIHlvdSBwcm92aWRlIHlvdXIgb3duIGVxdWl2YWxlbnQsIGlmIHlvdSBkZWNpZGUgdG8gdHVybiBpdCBvZmYuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2tpcEZvY3VzUmVzdG9yYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUaGUgbGFzdCBlbGVtZW50IHdoaWNoIGhhZCBmb2N1cyBiZWZvcmUgdGhlIGNvbXBvbmVudCB3YXMgb3BlbmVkLlxuICBwcm90ZWN0ZWQgbGFzdEZvY3VzZWRFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIC8vIFRPRE86IHJlbmFtZSB0byBsYXN0Q2xvc2VkVGFyZ2V0XG4gIHByb3RlY3RlZCBvdmVybGF5Q2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCBvcGVuT3ZlcmxheUNvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBmb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBzY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgLy8gVE9ETzogcmVuYW1lIHRvIGxhc3RSZXN1bHRcbiAgcHJvdGVjdGVkIHJldHVyblZhbHVlOiBhbnk7XG4gIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByb3RlY3RlZCBpbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcm90ZWN0ZWQgZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYXJpYUxpdmVSZWZUb2dnbGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXJpYUxpdmVSZWY/OiBTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNsb3NlQXR0cmlidXRlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBjbG9zZVRhZz86IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZU9wZW5pbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZUNsb3NpbmcoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoXG4gICAgZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzLFxuICApOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzKTogYm9vbGVhbjtcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8XG4gICAgICB0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fFxuICAgICAgdGhpcy5faGFzQ2xvc2VkUGFyZW50KCkgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gQWRkIHRoaXMgb3ZlcmxheSB0byB0aGUgZ2xvYmFsIGNvbGxlY3Rpb25cbiAgICBvdmVybGF5UmVmcy5wdXNoKHRoaXMpO1xuXG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB0aGlzLmVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLmhhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkO1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcHVibGljIGNsb3NlKHJlc3VsdD86IGFueSwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpOiB2b2lkO1xuICBwdWJsaWMgY2xvc2UocmVzdWx0PzogYW55LCB0YXJnZXQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NlKHJlc3VsdCwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKHJlc3VsdDogYW55LCB0YXJnZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmV0dXJuVmFsdWUgPSByZXN1bHQgPz8gbnVsbDtcbiAgICB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQgPSB0YXJnZXQ7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgIHRoaXMucmVtb3ZlQXJpYUxpdmVSZWZDb250ZW50KCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlcmUgaXMgYSBwYXJlbnQgZGlhbG9nIG9yIG92ZXJsYXkgaW4gdGhlIERPTSB0aGF0IGlzIGNsb3NlZC5cbiAgICogSW4gdGhpcyBjYXNlLCB0aGUgb3ZlcmxheSBzaG91bGQgbm90IGJlIG9wZW5lZCBiZWNhdXNlIGl0IHdvdWxkIGJyZWFrIHRoZSBzdGF0ZS5cbiAgICogTm90IG5lc3RlZCBidXQgc3RhY2tlZCBvdmVybGF5cyBhcmUgc3VwcG9ydGVkIHNvIHRoaXMgbG9naWMgZG9lcyBub3QgYXBwbHkgaW4gdGhpcyBjYXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBfaGFzQ2xvc2VkUGFyZW50KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhcmVudERpYWxvZyA9XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3Q8U2JiT3ZlcmxheUJhc2VFbGVtZW50Pignc2JiLWRpYWxvZywgc2JiLW92ZXJsYXknKTtcblxuICAgIHJldHVybiAocGFyZW50RGlhbG9nPy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgcGFyZW50RGlhbG9nPy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVHJpZ2dlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0aGlzLnRyaWdnZXI7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2RpYWxvZycsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2FyaWFMaXZlUmVmID1cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxTYmJTY3JlZW5SZWFkZXJPbmx5RWxlbWVudD4oJ3NiYi1zY3JlZW4tcmVhZGVyLW9ubHknKSE7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuXG4gICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IG9wZW4gb24gZmlyc3RVcGRhdGUsIGZpeCB0aGUgZm9jdXNcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIC8vIFRPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG4gICAgICAvLyBQcm9ibGVtOiBjb250ZW50J3Mgc2hhZG93IERPTSBub3QgeWV0IHJlYWR5LCBzbyBmb2N1c2luZyBpcyBpbXBvc3NpYmxlLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vIFJlbW92ZSBvdmVybGF5IGxhYmVsIGFzIHNvb24gYXMgaXQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZSB0byBwcmV2ZW50IGFjY2Vzc2luZyBpdCB3aXRoIGJyb3dzZSBtb2RlLlxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5yZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleEluT3ZlcmxheVJlZnMgPSBvdmVybGF5UmVmcy5pbmRleE9mKHRoaXMgYXMgU2JiT3ZlcmxheUJhc2VFbGVtZW50KTtcbiAgICBpZiAoaW5kZXhJbk92ZXJsYXlSZWZzID4gLTEpIHtcbiAgICAgIG92ZXJsYXlSZWZzLnNwbGljZShpbmRleEluT3ZlcmxheVJlZnMsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIHRoZSBjb21wb25lbnQgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlIGBjbG9zZUF0dHJpYnV0ZWAgYXR0cmlidXRlLlxuICBwcm90ZWN0ZWQgY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXlDbG9zZUVsZW1lbnQgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KVxuICAgICAgLmZpbmQoXG4gICAgICAgICh0YXJnZXQpID0+XG4gICAgICAgICAgKHRhcmdldC5oYXNBdHRyaWJ1dGUodGhpcy5jbG9zZUF0dHJpYnV0ZSkgfHwgdGFyZ2V0LmxvY2FsTmFtZSA9PT0gdGhpcy5jbG9zZVRhZykgJiZcbiAgICAgICAgICAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSxcbiAgICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAhb3ZlcmxheUNsb3NlRWxlbWVudCB8fFxuICAgICAgKG92ZXJsYXlDbG9zZUVsZW1lbnQuY2xvc2VzdCh0aGlzLmxvY2FsTmFtZSkgIT09IHRoaXMgJiZcbiAgICAgICAgIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMob3ZlcmxheUNsb3NlRWxlbWVudCkpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG92ZXJsYXlSZWZzLmxlbmd0aCkge1xuICAgICAgb3ZlcmxheVJlZnNbb3ZlcmxheVJlZnMubGVuZ3RoIC0gMV0uX2Nsb3NlKG51bGwsIG92ZXJsYXlDbG9zZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVBcmlhTGl2ZVJlZkNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hcmlhTGl2ZVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFyaWFMaXZlUmVmQ29udGVudChsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYXJpYUxpdmVSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZSA9ICF0aGlzLl9hcmlhTGl2ZVJlZlRvZ2dsZTtcblxuICAgIC8vIElmIHRoZSB0ZXh0IGNvbnRlbnQgcmVtYWlucyB0aGUgc2FtZSwgb24gVm9pY2VPdmVyIHRoZSBhcmlhLWxpdmUgcmVnaW9uIGlzIG5vdCBhbm5vdW5jZWQgYSBzZWNvbmQgdGltZS5cbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWRpbmcgb24gZXZlcnkgb3BlbmluZywgd2UgdG9nZ2xlIGFuIGludmlzaWJsZSBzcGFjZS5cbiAgICB0aGlzLl9hcmlhTGl2ZVJlZi50ZXh0Q29udGVudCA9IGAke2kxOG5EaWFsb2dbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0ke1xuICAgICAgbGFiZWwgPyBgLCAke2xhYmVsfWAgOiAnJ1xuICAgIH0ke3RoaXMuX2FyaWFMaXZlUmVmVG9nZ2xlID8gJ8KgJyA6ICcnfWA7XG4gIH1cblxuICAvLyBXYWl0IGZvciBkaWFsb2cgdHJhbnNpdGlvbiB0byBjb21wbGV0ZS5cbiAgLy8gSW4gcmFyZSBjYXNlcywgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJvdGVjdGVkIG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQXFCQSxJQUFNLG1DQUFtQixJQUFJLFNBQTJCO0FBRXhELElBQWEsdUJBQWIsY0FBbUQsWUFBd0M7Q0FpQnpGLFlBQ0UsTUFDQSxFQUNFLFlBQ0EsZ0JBQ0EsYUFDQSxVQUMwRjtFQUc1RixNQUFNLE1BQU07R0FBRTtHQUFZLFFBQVE7SUFBRSxhQUFhO0lBQVE7O0dBQWUsQ0FBQztFQUV6RSxLQUFLLFNBQ0gsV0FDQyxDQUFDLGNBQ0UsT0FDQyxpQkFBaUIsSUFBSSxZQUFZLEtBQ2pDLFlBQVksYUFBYSxlQUFlLEVBQUUsTUFBTSxJQUFJO0VBQzNELEtBQUssY0FBYyxlQUFlOzs7QUFJdEMsU0FBZ0Isb0JBQXVCLFNBQXNCLFFBQVM7Q0FDcEUsaUJBQWlCLElBQUksU0FBUyxPQUFPOztBQUl2QyxJQUFhLGNBQXVDLEVBQUU7SUFFaEMsK0JBQXFCO21CQUFTLGlCQUFpQix3QkFBd0I7Ozs7Ozs7Ozs7Y0FBdkUsOEJBQThCLFlBQXlDOzs7R0FRM0UsS0FBQSw0QkFBQSxrQkFBQSxNQUFBLHVCQUE4QixLQUFJO0dBS2xDLEtBQUEsd0NB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