@sbb-esta/lyne-elements-experimental 5.0.2 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/autocomplete-grid.js +1 -10
  2. package/autocomplete-grid.pure.js +12 -7
  3. package/core.js +31 -5
  4. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -1
  5. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +4 -5
  6. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +1 -2
  7. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +2 -3
  8. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -2
  9. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +1 -2
  10. package/development/autocomplete-grid.d.ts +0 -1
  11. package/development/autocomplete-grid.js +5 -10
  12. package/development/autocomplete-grid.pure.d.ts +0 -1
  13. package/development/autocomplete-grid.pure.js +328 -7
  14. package/development/core/datetime/date-helper.d.ts +0 -1
  15. package/development/core/timetable/access-leg-helper.d.ts +3 -3
  16. package/development/core/timetable/timetable-helper.d.ts +1 -2
  17. package/development/core/timetable/timetable-properties.d.ts +2 -1
  18. package/development/core.d.ts +0 -1
  19. package/development/core.js +1195 -5
  20. package/development/journey-summary/journey-summary.component.d.ts +3 -4
  21. package/development/journey-summary.d.ts +0 -1
  22. package/development/journey-summary.js +5 -5
  23. package/development/journey-summary.pure.d.ts +0 -1
  24. package/development/journey-summary.pure.js +2605 -2
  25. package/development/pearl-chain/pearl-chain.component.d.ts +2 -3
  26. package/development/pearl-chain-time/pearl-chain-time.component.d.ts +3 -4
  27. package/development/pearl-chain-time.d.ts +0 -1
  28. package/development/pearl-chain-time.js +5 -5
  29. package/development/pearl-chain-time.pure.d.ts +0 -1
  30. package/development/pearl-chain-time.pure.js +2582 -2
  31. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +1 -2
  32. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +1 -2
  33. package/development/pearl-chain-vertical-item.d.ts +0 -1
  34. package/development/pearl-chain-vertical-item.js +5 -5
  35. package/development/pearl-chain-vertical-item.pure.d.ts +0 -1
  36. package/development/pearl-chain-vertical-item.pure.js +132 -2
  37. package/development/pearl-chain-vertical.d.ts +0 -1
  38. package/development/pearl-chain-vertical.js +5 -5
  39. package/development/pearl-chain-vertical.pure.d.ts +0 -1
  40. package/development/pearl-chain-vertical.pure.js +31 -2
  41. package/development/pearl-chain.d.ts +0 -1
  42. package/development/pearl-chain.js +5 -5
  43. package/development/pearl-chain.pure.d.ts +0 -1
  44. package/development/pearl-chain.pure.js +619 -2
  45. package/development/seat-reservation/common/mapper/icon-mapper.d.ts +0 -1
  46. package/development/seat-reservation/common/mapper/mapper.d.ts +1 -2
  47. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.private.d.ts +68 -0
  48. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.private.d.ts +122 -0
  49. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.private.d.ts +68 -0
  50. package/development/seat-reservation/common/mapper.d.ts +0 -1
  51. package/development/seat-reservation/common/svgs.d.ts +20 -21
  52. package/development/seat-reservation/common/translations/i18n.d.ts +0 -1
  53. package/development/seat-reservation/common/translations.d.ts +0 -1
  54. package/development/seat-reservation/common/types.d.ts +0 -1
  55. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +2 -3
  56. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +2 -3
  57. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +1 -2
  58. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +2 -3
  59. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +3 -4
  60. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +2 -3
  61. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +3 -4
  62. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +1 -2
  63. package/development/seat-reservation.d.ts +0 -1
  64. package/development/seat-reservation.js +5 -16
  65. package/development/seat-reservation.pure.d.ts +0 -1
  66. package/development/seat-reservation.pure.js +16019 -14
  67. package/development/timetable-duration/timetable-duration.component.d.ts +1 -2
  68. package/development/timetable-duration.d.ts +0 -1
  69. package/development/timetable-duration.js +5 -5
  70. package/development/timetable-duration.pure.d.ts +0 -1
  71. package/development/timetable-duration.pure.js +97 -2
  72. package/development/timetable-row/timetable-row.component.d.ts +3 -4
  73. package/development/timetable-row.d.ts +0 -1
  74. package/development/timetable-row.js +5 -5
  75. package/development/timetable-row.pure.d.ts +0 -1
  76. package/development/timetable-row.pure.js +3005 -2
  77. package/journey-summary.js +1 -6
  78. package/journey-summary.pure.js +55 -2
  79. package/package.json +2 -2
  80. package/pearl-chain-time.js +1 -6
  81. package/pearl-chain-time.pure.js +28 -2
  82. package/pearl-chain-vertical-item.js +1 -6
  83. package/pearl-chain-vertical-item.pure.js +26 -2
  84. package/pearl-chain-vertical.js +1 -6
  85. package/pearl-chain-vertical.pure.js +6 -2
  86. package/pearl-chain.js +1 -6
  87. package/pearl-chain.pure.js +27 -2
  88. package/seat-reservation.js +1 -16
  89. package/seat-reservation.pure.js +468 -14
  90. package/timetable-duration.js +1 -6
  91. package/timetable-duration.pure.js +9 -2
  92. package/timetable-row.js +1 -6
  93. package/timetable-row.pure.js +113 -2
  94. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -65
  95. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -44
  96. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -2
  97. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -21
  98. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -2
  99. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -2
  100. package/autocomplete-grid-cell.component-79IjA__I.js +0 -23
  101. package/autocomplete-grid-option.component-DUFBhQwI.js +0 -35
  102. package/autocomplete-grid-row.component-B3U15Rwa.js +0 -26
  103. package/core/datetime/date-helper.js +0 -2
  104. package/core/timetable/access-leg-helper.js +0 -96
  105. package/core/timetable/timetable-helper.js +0 -10
  106. package/core/timetable/timetable-properties.js +0 -0
  107. package/date-helper-DNzMLcyb.js +0 -185
  108. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +0 -1
  109. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -118
  110. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +0 -1
  111. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -69
  112. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +0 -1
  113. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -2
  114. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +0 -1
  115. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -30
  116. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +0 -1
  117. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -2
  118. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +0 -1
  119. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -2
  120. package/development/autocomplete-grid-cell.component-BbdELDro.js +0 -33
  121. package/development/autocomplete-grid-option.component-C7WuqRit.js +0 -57
  122. package/development/autocomplete-grid-row.component-DoXbOsQM.js +0 -38
  123. package/development/autocomplete-grid.d.ts.map +0 -1
  124. package/development/autocomplete-grid.pure.d.ts.map +0 -1
  125. package/development/core/datetime/date-helper.d.ts.map +0 -1
  126. package/development/core/datetime/date-helper.js +0 -2
  127. package/development/core/timetable/access-leg-helper.d.ts.map +0 -1
  128. package/development/core/timetable/access-leg-helper.js +0 -147
  129. package/development/core/timetable/timetable-helper.d.ts.map +0 -1
  130. package/development/core/timetable/timetable-helper.js +0 -19
  131. package/development/core/timetable/timetable-properties.d.ts.map +0 -1
  132. package/development/core/timetable/timetable-properties.js +0 -0
  133. package/development/core.d.ts.map +0 -1
  134. package/development/date-helper-BcTDWVeP.js +0 -539
  135. package/development/differenceInMinutes-CxAbGYQ3.js +0 -110
  136. package/development/format-Cx3zmmaF.js +0 -1848
  137. package/development/isValid-40Olgzo1.js +0 -178
  138. package/development/journey-summary/journey-summary.component.d.ts.map +0 -1
  139. package/development/journey-summary/journey-summary.component.js +0 -2
  140. package/development/journey-summary.component-BsC7wBIn.js +0 -341
  141. package/development/journey-summary.d.ts.map +0 -1
  142. package/development/journey-summary.pure.d.ts.map +0 -1
  143. package/development/mapper-BrZOqqfe.js +0 -11454
  144. package/development/pearl-chain/pearl-chain.component.d.ts.map +0 -1
  145. package/development/pearl-chain/pearl-chain.component.js +0 -2
  146. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +0 -1
  147. package/development/pearl-chain-time/pearl-chain-time.component.js +0 -2
  148. package/development/pearl-chain-time.component-C-CuC1ke.js +0 -317
  149. package/development/pearl-chain-time.d.ts.map +0 -1
  150. package/development/pearl-chain-time.pure.d.ts.map +0 -1
  151. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +0 -1
  152. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +0 -2
  153. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +0 -1
  154. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +0 -2
  155. package/development/pearl-chain-vertical-item.component-CLu9QrqJ.js +0 -131
  156. package/development/pearl-chain-vertical-item.d.ts.map +0 -1
  157. package/development/pearl-chain-vertical-item.pure.d.ts.map +0 -1
  158. package/development/pearl-chain-vertical.component-DbPz5k_R.js +0 -30
  159. package/development/pearl-chain-vertical.d.ts.map +0 -1
  160. package/development/pearl-chain-vertical.pure.d.ts.map +0 -1
  161. package/development/pearl-chain.component-10OsJZIX.js +0 -318
  162. package/development/pearl-chain.d.ts.map +0 -1
  163. package/development/pearl-chain.pure.d.ts.map +0 -1
  164. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +0 -1
  165. package/development/seat-reservation/common/mapper/icon-mapper.js +0 -170
  166. package/development/seat-reservation/common/mapper/mapper.d.ts.map +0 -1
  167. package/development/seat-reservation/common/mapper/mapper.js +0 -2
  168. package/development/seat-reservation/common/mapper.d.ts.map +0 -1
  169. package/development/seat-reservation/common/mapper.js +0 -3
  170. package/development/seat-reservation/common/svgs.d.ts.map +0 -1
  171. package/development/seat-reservation/common/svgs.js +0 -2
  172. package/development/seat-reservation/common/translations/i18n.d.ts.map +0 -1
  173. package/development/seat-reservation/common/translations/i18n.js +0 -1120
  174. package/development/seat-reservation/common/translations.d.ts.map +0 -1
  175. package/development/seat-reservation/common/translations.js +0 -2
  176. package/development/seat-reservation/common/types.d.ts.map +0 -1
  177. package/development/seat-reservation/common/types.js +0 -0
  178. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +0 -1
  179. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +0 -1476
  180. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +0 -1
  181. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +0 -2
  182. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +0 -1
  183. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +0 -2
  184. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +0 -1
  185. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +0 -2
  186. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +0 -1
  187. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +0 -2
  188. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +0 -1
  189. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +0 -2
  190. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +0 -1
  191. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +0 -2
  192. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +0 -1
  193. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +0 -2
  194. package/development/seat-reservation-area.component-DPhQJFid.js +0 -94
  195. package/development/seat-reservation-graphic.component-0LYsmerm.js +0 -129
  196. package/development/seat-reservation-navigation-coach.component-B97jKD7Y.js +0 -438
  197. package/development/seat-reservation-navigation-services.component-Cx0Is97w.js +0 -159
  198. package/development/seat-reservation-place-control.component-DaL1g8WH.js +0 -431
  199. package/development/seat-reservation-scoped.component-BHbORVsR.js +0 -24
  200. package/development/seat-reservation.component-DI9pSlzt.js +0 -473
  201. package/development/seat-reservation.d.ts.map +0 -1
  202. package/development/seat-reservation.pure.d.ts.map +0 -1
  203. package/development/svgs-Dj-RKmRs.js +0 -28
  204. package/development/timetable-duration/timetable-duration.component.d.ts.map +0 -1
  205. package/development/timetable-duration/timetable-duration.component.js +0 -2
  206. package/development/timetable-duration.component-Chk5D4Is.js +0 -96
  207. package/development/timetable-duration.d.ts.map +0 -1
  208. package/development/timetable-duration.pure.d.ts.map +0 -1
  209. package/development/timetable-row/timetable-row.component.d.ts.map +0 -1
  210. package/development/timetable-row/timetable-row.component.js +0 -2
  211. package/development/timetable-row.component-nzrQzxL6.js +0 -736
  212. package/development/timetable-row.d.ts.map +0 -1
  213. package/development/timetable-row.pure.d.ts.map +0 -1
  214. package/development/toDate-CDWut5fS.js +0 -150
  215. package/differenceInMinutes-BAZ-Fham.js +0 -27
  216. package/format-DjgG1QPc.js +0 -1103
  217. package/isValid-CXnsFZVu.js +0 -36
  218. package/journey-summary/journey-summary.component.js +0 -2
  219. package/journey-summary.component-DNoO3OCf.js +0 -265
  220. package/mapper-Dcou8VEf.js +0 -11382
  221. package/pearl-chain/pearl-chain.component.js +0 -2
  222. package/pearl-chain-time/pearl-chain-time.component.js +0 -2
  223. package/pearl-chain-time.component-BuvA6IE1.js +0 -237
  224. package/pearl-chain-vertical/pearl-chain-vertical.component.js +0 -2
  225. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +0 -2
  226. package/pearl-chain-vertical-item.component-QZ4s8Jbv.js +0 -106
  227. package/pearl-chain-vertical.component-Dc3vaHsQ.js +0 -20
  228. package/pearl-chain.component-DtGXXkY6.js +0 -190
  229. package/seat-reservation/common/mapper/icon-mapper.js +0 -72
  230. package/seat-reservation/common/mapper/mapper.js +0 -2
  231. package/seat-reservation/common/mapper.js +0 -3
  232. package/seat-reservation/common/svgs.js +0 -2
  233. package/seat-reservation/common/translations/i18n.js +0 -1085
  234. package/seat-reservation/common/translations.js +0 -2
  235. package/seat-reservation/common/types.js +0 -0
  236. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +0 -926
  237. package/seat-reservation/seat-reservation/seat-reservation.component.js +0 -2
  238. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +0 -2
  239. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +0 -2
  240. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +0 -2
  241. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +0 -2
  242. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +0 -2
  243. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +0 -2
  244. package/seat-reservation-area.component-G9lHb7S8.js +0 -73
  245. package/seat-reservation-graphic.component-BXFcQDxY.js +0 -102
  246. package/seat-reservation-navigation-coach.component-BXy8EkJe.js +0 -338
  247. package/seat-reservation-navigation-services.component-49XmV9rv.js +0 -124
  248. package/seat-reservation-place-control.component-DToIW328.js +0 -317
  249. package/seat-reservation-scoped.component-D8dAmrP7.js +0 -16
  250. package/seat-reservation.component--0XnrCkk.js +0 -372
  251. package/svgs-D4fuYTHV.js +0 -26
  252. package/timetable-duration/timetable-duration.component.js +0 -2
  253. package/timetable-duration.component-iMCvh1zr.js +0 -61
  254. package/timetable-row/timetable-row.component.js +0 -2
  255. package/timetable-row.component-mNKmhRmP.js +0 -566
  256. package/toDate-BhNUyM4s.js +0 -16
@@ -1,431 +0,0 @@
1
- import { SbbButtonBaseElement, SbbLanguageController, forceType } from "@sbb-esta/lyne-elements/core.js";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { __esDecorate, __runInitializers } from "tslib";
4
- import { property } from "lit/decorators.js";
5
- import { styleMap } from "lit/directives/style-map.js";
6
- import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
7
- import { SbbSeatReservationGraphicElement } from "./seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js";
8
- //#region src/elements-experimental/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.scss?inline
9
- var seat_reservation_place_control_default = ":host {\n --sbb-seat-reservation-place-control-text-scale-value: 1;\n --sbb-seat-reservation-place-control-width: 16;\n --sbb-seat-reservation-place-control-height: 16;\n --sbb-seat-reservation-place-control-top: 0;\n --sbb-seat-reservation-place-control-left: 0;\n --sbb-seat-reservation-place-control-rotation: 0;\n --sbb-seat-reservation-place-control-text-rotation: 0;\n --sbb-seat-reservation-place-control-text-size: calc(\n var(--sbb-seat-reservation-place-control-text-scale-value, 1) * 0.5\n );\n --sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-default-text: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);\n --sbb-seat-reservation-place-control-hover-text: light-dark(\n var(--sbb-color-iron),\n var(--sbb-color-silver)\n );\n --sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);\n --sbb-seat-reservation-place-control-focus-text: light-dark(\n var(--sbb-color-anthracite),\n var(--sbb-color-graphite)\n );\n --sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);\n --sbb-seat-reservation-place-control-allocated-text: light-dark(\n var(--sbb-color-smoke),\n var(--sbb-color-metal)\n );\n --sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);\n --sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);\n --sbb-seat-reservation-place-control-free-background-hover: light-dark(\n var(--sbb-color-cloud),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);\n --sbb-seat-reservation-place-control-free-background-focus: light-dark(\n var(--sbb-color-silver),\n var(--sbb-color-black)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-default: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);\n --sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);\n --sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);\n --sbb-seat-reservation-place-control-selected-backrest-background-default: var(\n --sbb-color-primary150\n );\n --sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;\n --sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;\n --sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);\n --sbb-seat-reservation-place-control-allocated-background-default: light-dark(\n var(--sbb-color-milk),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-backrest-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-free-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-free-text-high-contrast: ButtonText;\n --sbb-seat-reservation-place-control-free-icon-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-allocated-backrest-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-allocated-text-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-icon-high-contrast: GrayText;\n width: calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n position: absolute;\n inset-block-start: calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n inset-inline-start: calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n font-weight: 300;\n cursor: var(--sbb-cursor-pointer);\n}\n\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-hover);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-hover);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-focus);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-focus);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,\n.sbb-sr-place-ctrl--orientation-90,\n.sbb-sr-place-ctrl--orientation-270,\n.sbb-sr-place-ctrl--state-selected) ::part(svg-place) {\n rotate: calc(180 * 1deg);\n}\n\n.sbb-sr-place-ctrl {\n width: max-content;\n position: relative;\n font-size: calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-default);\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-default);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-default);\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-default);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-default);\n color: var(--sbb-seat-reservation-place-control-allocated-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-icon), .sbb-sr-place-ctrl--state-restricted ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-allocated-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-seatline), .sbb-sr-place-ctrl--state-restricted ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-allocated-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-allocated, .sbb-sr-place-ctrl--state-restricted {\n cursor: not-allowed;\n}\n.sbb-sr-place-ctrl__text {\n overflow: hidden;\n display: none;\n position: absolute;\n inset-block-start: 50%;\n translate: -50% -50%;\n rotate: calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);\n font-family: var(--sbb-typo-font-family);\n font-size: 0.75em;\n line-height: initial;\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text {\n display: block;\n}\n.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-block-start: 65%;\n inset-inline-start: 50%;\n transform-origin: center 16%;\n font-size: 0.6875em;\n}\n.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 45%;\n}\n.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 46%;\n inset-inline-start: 50%;\n}\n.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 55%;\n}\n.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 52%;\n inset-inline-start: 52%;\n}\n\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text {\n inset-inline-start: 3%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text, :host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text {\n inset-inline-start: 10%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text {\n inset-inline-start: 5%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-inline-start: -10%;\n}";
10
- //#endregion
11
- //#region src/elements-experimental/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.ts
12
- var SbbPlaceSelectionEvent = class extends Event {
13
- get detail() {
14
- return this._detail;
15
- }
16
- constructor(detail) {
17
- super("selectplace", {
18
- bubbles: true,
19
- composed: true
20
- });
21
- this._detail = detail;
22
- }
23
- };
24
- /**
25
- * Output the graphic of a seat or a bicycle place as a control element.
26
- */
27
- var SbbSeatReservationPlaceControlElement = (() => {
28
- let _classSuper = SbbButtonBaseElement;
29
- let _placeType_decorators;
30
- let _placeType_initializers = [];
31
- let _placeType_extraInitializers = [];
32
- let _state_decorators;
33
- let _state_initializers = [];
34
- let _state_extraInitializers = [];
35
- let _travelDirection_decorators;
36
- let _travelDirection_initializers = [];
37
- let _travelDirection_extraInitializers = [];
38
- let _propertyIds_decorators;
39
- let _propertyIds_initializers = [];
40
- let _propertyIds_extraInitializers = [];
41
- let _text_decorators;
42
- let _text_initializers = [];
43
- let _text_extraInitializers = [];
44
- let _deckIndex_decorators;
45
- let _deckIndex_initializers = [];
46
- let _deckIndex_extraInitializers = [];
47
- let _coachIndex_decorators;
48
- let _coachIndex_initializers = [];
49
- let _coachIndex_extraInitializers = [];
50
- let _preventClick_decorators;
51
- let _preventClick_initializers = [];
52
- let _preventClick_extraInitializers = [];
53
- let _keyfocus_decorators;
54
- let _keyfocus_initializers = [];
55
- let _keyfocus_extraInitializers = [];
56
- let _showTitleInfo_decorators;
57
- let _showTitleInfo_initializers = [];
58
- let _showTitleInfo_extraInitializers = [];
59
- return class SbbSeatReservationPlaceControlElement extends _classSuper {
60
- static {
61
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
62
- _placeType_decorators = [forceType(), property({ attribute: "type" })];
63
- _state_decorators = [forceType(), property({
64
- attribute: "state",
65
- reflect: true
66
- })];
67
- _travelDirection_decorators = [property({ attribute: "travel-direction" })];
68
- _propertyIds_decorators = [property({
69
- attribute: "propertyIds",
70
- type: Array
71
- })];
72
- _text_decorators = [forceType(), property({ attribute: "text" })];
73
- _deckIndex_decorators = [forceType(), property({
74
- attribute: "deck-index",
75
- type: Number
76
- })];
77
- _coachIndex_decorators = [forceType(), property({
78
- attribute: "coach-index",
79
- type: Number
80
- })];
81
- _preventClick_decorators = [forceType(), property({
82
- attribute: "prevent-click",
83
- type: Boolean
84
- })];
85
- _keyfocus_decorators = [forceType(), property({ attribute: "keyfocus" })];
86
- _showTitleInfo_decorators = [forceType(), property({
87
- type: Boolean,
88
- useDefault: true
89
- })];
90
- __esDecorate(this, null, _placeType_decorators, {
91
- kind: "accessor",
92
- name: "placeType",
93
- static: false,
94
- private: false,
95
- access: {
96
- has: (obj) => "placeType" in obj,
97
- get: (obj) => obj.placeType,
98
- set: (obj, value) => {
99
- obj.placeType = value;
100
- }
101
- },
102
- metadata: _metadata
103
- }, _placeType_initializers, _placeType_extraInitializers);
104
- __esDecorate(this, null, _state_decorators, {
105
- kind: "accessor",
106
- name: "state",
107
- static: false,
108
- private: false,
109
- access: {
110
- has: (obj) => "state" in obj,
111
- get: (obj) => obj.state,
112
- set: (obj, value) => {
113
- obj.state = value;
114
- }
115
- },
116
- metadata: _metadata
117
- }, _state_initializers, _state_extraInitializers);
118
- __esDecorate(this, null, _travelDirection_decorators, {
119
- kind: "accessor",
120
- name: "travelDirection",
121
- static: false,
122
- private: false,
123
- access: {
124
- has: (obj) => "travelDirection" in obj,
125
- get: (obj) => obj.travelDirection,
126
- set: (obj, value) => {
127
- obj.travelDirection = value;
128
- }
129
- },
130
- metadata: _metadata
131
- }, _travelDirection_initializers, _travelDirection_extraInitializers);
132
- __esDecorate(this, null, _propertyIds_decorators, {
133
- kind: "accessor",
134
- name: "propertyIds",
135
- static: false,
136
- private: false,
137
- access: {
138
- has: (obj) => "propertyIds" in obj,
139
- get: (obj) => obj.propertyIds,
140
- set: (obj, value) => {
141
- obj.propertyIds = value;
142
- }
143
- },
144
- metadata: _metadata
145
- }, _propertyIds_initializers, _propertyIds_extraInitializers);
146
- __esDecorate(this, null, _text_decorators, {
147
- kind: "accessor",
148
- name: "text",
149
- static: false,
150
- private: false,
151
- access: {
152
- has: (obj) => "text" in obj,
153
- get: (obj) => obj.text,
154
- set: (obj, value) => {
155
- obj.text = value;
156
- }
157
- },
158
- metadata: _metadata
159
- }, _text_initializers, _text_extraInitializers);
160
- __esDecorate(this, null, _deckIndex_decorators, {
161
- kind: "accessor",
162
- name: "deckIndex",
163
- static: false,
164
- private: false,
165
- access: {
166
- has: (obj) => "deckIndex" in obj,
167
- get: (obj) => obj.deckIndex,
168
- set: (obj, value) => {
169
- obj.deckIndex = value;
170
- }
171
- },
172
- metadata: _metadata
173
- }, _deckIndex_initializers, _deckIndex_extraInitializers);
174
- __esDecorate(this, null, _coachIndex_decorators, {
175
- kind: "accessor",
176
- name: "coachIndex",
177
- static: false,
178
- private: false,
179
- access: {
180
- has: (obj) => "coachIndex" in obj,
181
- get: (obj) => obj.coachIndex,
182
- set: (obj, value) => {
183
- obj.coachIndex = value;
184
- }
185
- },
186
- metadata: _metadata
187
- }, _coachIndex_initializers, _coachIndex_extraInitializers);
188
- __esDecorate(this, null, _preventClick_decorators, {
189
- kind: "accessor",
190
- name: "preventClick",
191
- static: false,
192
- private: false,
193
- access: {
194
- has: (obj) => "preventClick" in obj,
195
- get: (obj) => obj.preventClick,
196
- set: (obj, value) => {
197
- obj.preventClick = value;
198
- }
199
- },
200
- metadata: _metadata
201
- }, _preventClick_initializers, _preventClick_extraInitializers);
202
- __esDecorate(this, null, _keyfocus_decorators, {
203
- kind: "accessor",
204
- name: "keyfocus",
205
- static: false,
206
- private: false,
207
- access: {
208
- has: (obj) => "keyfocus" in obj,
209
- get: (obj) => obj.keyfocus,
210
- set: (obj, value) => {
211
- obj.keyfocus = value;
212
- }
213
- },
214
- metadata: _metadata
215
- }, _keyfocus_initializers, _keyfocus_extraInitializers);
216
- __esDecorate(this, null, _showTitleInfo_decorators, {
217
- kind: "accessor",
218
- name: "showTitleInfo",
219
- static: false,
220
- private: false,
221
- access: {
222
- has: (obj) => "showTitleInfo" in obj,
223
- get: (obj) => obj.showTitleInfo,
224
- set: (obj, value) => {
225
- obj.showTitleInfo = value;
226
- }
227
- },
228
- metadata: _metadata
229
- }, _showTitleInfo_initializers, _showTitleInfo_extraInitializers);
230
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
231
- enumerable: true,
232
- configurable: true,
233
- writable: true,
234
- value: _metadata
235
- });
236
- }
237
- static {
238
- this.elementName = "sbb-seat-reservation-place-control";
239
- }
240
- static {
241
- this.elementDependencies = [SbbSeatReservationGraphicElement];
242
- }
243
- static {
244
- this.styles = [unsafeCSS(seat_reservation_place_control_default)];
245
- }
246
- static {
247
- this.events = { selectplace: "selectplace" };
248
- }
249
- #placeType_accessor_storage;
250
- /** placeType of the place, e.g. 'SEAT', 'BICYCLE' */
251
- get placeType() {
252
- return this.#placeType_accessor_storage;
253
- }
254
- set placeType(value) {
255
- this.#placeType_accessor_storage = value;
256
- }
257
- #state_accessor_storage;
258
- /** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */
259
- get state() {
260
- return this.#state_accessor_storage;
261
- }
262
- set state(value) {
263
- this.#state_accessor_storage = value;
264
- }
265
- #travelDirection_accessor_storage;
266
- /** direction of a whole train, used to compute an orientation of a place */
267
- get travelDirection() {
268
- return this.#travelDirection_accessor_storage;
269
- }
270
- set travelDirection(value) {
271
- this.#travelDirection_accessor_storage = value;
272
- }
273
- #propertyIds_accessor_storage;
274
- /** property ids of the place, to display more info about the place */
275
- get propertyIds() {
276
- return this.#propertyIds_accessor_storage;
277
- }
278
- set propertyIds(value) {
279
- this.#propertyIds_accessor_storage = value;
280
- }
281
- #text_accessor_storage;
282
- /** label of the place, e.g. '1A', '2B' */
283
- get text() {
284
- return this.#text_accessor_storage;
285
- }
286
- set text(value) {
287
- this.#text_accessor_storage = value;
288
- }
289
- #deckIndex_accessor_storage;
290
- /** Deck Index Prop to identifier the right place to deck */
291
- get deckIndex() {
292
- return this.#deckIndex_accessor_storage;
293
- }
294
- set deckIndex(value) {
295
- this.#deckIndex_accessor_storage = value;
296
- }
297
- #coachIndex_accessor_storage;
298
- /** Coach Index Prop to identifier the right place to coach */
299
- get coachIndex() {
300
- return this.#coachIndex_accessor_storage;
301
- }
302
- set coachIndex(value) {
303
- this.#coachIndex_accessor_storage = value;
304
- }
305
- #preventClick_accessor_storage;
306
- /** Prevent click prop prevent any place action */
307
- get preventClick() {
308
- return this.#preventClick_accessor_storage;
309
- }
310
- set preventClick(value) {
311
- this.#preventClick_accessor_storage = value;
312
- }
313
- #keyfocus_accessor_storage;
314
- /** Set the place focus outline style */
315
- get keyfocus() {
316
- return this.#keyfocus_accessor_storage;
317
- }
318
- set keyfocus(value) {
319
- this.#keyfocus_accessor_storage = value;
320
- }
321
- #showTitleInfo_accessor_storage;
322
- /** Disable the mouse over title information */
323
- get showTitleInfo() {
324
- return this.#showTitleInfo_accessor_storage;
325
- }
326
- set showTitleInfo(value) {
327
- this.#showTitleInfo_accessor_storage = value;
328
- }
329
- constructor() {
330
- super();
331
- this.#placeType_accessor_storage = __runInitializers(this, _placeType_initializers, "SEAT");
332
- this.#state_accessor_storage = (__runInitializers(this, _placeType_extraInitializers), __runInitializers(this, _state_initializers, "FREE"));
333
- this.#travelDirection_accessor_storage = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _travelDirection_initializers, "NONE"));
334
- this.#propertyIds_accessor_storage = (__runInitializers(this, _travelDirection_extraInitializers), __runInitializers(this, _propertyIds_initializers, []));
335
- this.#text_accessor_storage = (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _text_initializers, ""));
336
- this.#deckIndex_accessor_storage = (__runInitializers(this, _text_extraInitializers), __runInitializers(this, _deckIndex_initializers, null));
337
- this.#coachIndex_accessor_storage = (__runInitializers(this, _deckIndex_extraInitializers), __runInitializers(this, _coachIndex_initializers, null));
338
- this.#preventClick_accessor_storage = (__runInitializers(this, _coachIndex_extraInitializers), __runInitializers(this, _preventClick_initializers, false));
339
- this.#keyfocus_accessor_storage = (__runInitializers(this, _preventClick_extraInitializers), __runInitializers(this, _keyfocus_initializers, "unfocus"));
340
- this.#showTitleInfo_accessor_storage = (__runInitializers(this, _keyfocus_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false));
341
- this._language = (__runInitializers(this, _showTitleInfo_extraInitializers), new SbbLanguageController(this));
342
- this.addEventListener("click", () => this._selectPlace());
343
- }
344
- willUpdate(changedProperties) {
345
- super.willUpdate(changedProperties);
346
- if (changedProperties.has("keyfocus")) {
347
- if (this.keyfocus === "focus") this.focus();
348
- }
349
- }
350
- render() {
351
- const name = this._getPlaceSvg(this.placeType, this.state);
352
- const type = this.type.toLowerCase();
353
- const state = this.state.toLowerCase();
354
- const text = this.text;
355
- const width = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width");
356
- const height = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height");
357
- const rotation = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation");
358
- const textRotation = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation");
359
- const inverseRotationPlaceCheckIcon = Number(textRotation) - Number(rotation);
360
- const disabledClass = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
361
- const placeDescription = this._getTitleDescriptionPlace(rotation);
362
- if (this.showTitleInfo) {
363
- this.title = placeDescription;
364
- this.internals.ariaLabel = null;
365
- } else {
366
- this.internals.ariaLabel = placeDescription;
367
- this.removeAttribute("title");
368
- }
369
- this.tabIndex = -1;
370
- return html` <div
371
- part="sbb-sr-place-part"
372
- class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${rotation} sbb-sr-place-ctrl--state-${state} sbb-sr-place-ctrl--type-${type} ${disabledClass}"
373
- aria-hidden="true"
374
- >
375
- <sbb-seat-reservation-graphic
376
- style=${styleMap({
377
- "--sbb-seat-reservation-graphic-width": width,
378
- "--sbb-seat-reservation-graphic-height": height,
379
- "--sbb-seat-reservation-graphic-rotation": rotation,
380
- "--sbb-seat-reservation-graphic-inverse-rotation": inverseRotationPlaceCheckIcon
381
- })}
382
- .name=${name}
383
- ></sbb-seat-reservation-graphic>
384
- <span ${this.text ?? nothing} class="sbb-sr-place-ctrl__text">${text} </span>
385
- </div>`;
386
- }
387
- _getPlaceSvg(type, state) {
388
- return `PLACE_${type}_${state}`;
389
- }
390
- _getTitleDescriptionPlace(rotation) {
391
- let description = getI18nSeatReservation("PLACE_CONTROL_" + this.type + "_" + this.state, this._language.current, [this.text]);
392
- const relativeTravelDirection = this._getRelativeTravelDirection(rotation);
393
- if (this.propertyIds.length || relativeTravelDirection) {
394
- description += ". " + getI18nSeatReservation("PLACE_PROPERTY", this._language.current).concat(": ");
395
- description += [relativeTravelDirection, ...this.propertyIds].map((propertyId) => getI18nSeatReservation("PLACE_PROPERTIES." + propertyId, this._language.current)).filter((value) => value).join(", ");
396
- }
397
- return description;
398
- }
399
- _getRelativeTravelDirection(rotationValue) {
400
- if (!this.travelDirection || this.travelDirection === "NONE" || this.placeType !== "SEAT" || !rotationValue) return;
401
- const rotation = Number(rotationValue);
402
- if (rotation === 90 || rotation === 270) return "TRAVEL_DIRECTION_TRANSVERSELY";
403
- if (rotation === 0 && this.travelDirection === "RIGHT" || rotation === 180 && this.travelDirection === "LEFT") return "TRAVEL_DIRECTION_IN_DIRECTION";
404
- else if (rotation === 0 || rotation === 180) return "TRAVEL_DIRECTION_IN_OPPOSITE_DIRECTION";
405
- }
406
- /** If the place selectable, we emit the placeSelection object which contains infos to the place state */
407
- _selectPlace() {
408
- if ((this.state === "FREE" || this.state === "SELECTED") && !this.preventClick) {
409
- this.state = this.state === "FREE" ? "SELECTED" : "FREE";
410
- const selectplace = {
411
- id: this.id,
412
- deckIndex: this.deckIndex,
413
- coachIndex: this.coachIndex,
414
- number: this.text,
415
- state: this.state,
416
- placeType: this.placeType
417
- };
418
- /**
419
- * @type {SbbPlaceSelectionEvent}
420
- * Emits when a place was selected via user interaction and returns a
421
- * PlaceSelection object with necessary place information.
422
- */
423
- this.dispatchEvent(new SbbPlaceSelectionEvent(selectplace));
424
- }
425
- }
426
- };
427
- })();
428
- //#endregion
429
- export { SbbSeatReservationPlaceControlElement as n, SbbPlaceSelectionEvent as t };
430
-
431
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1EYUwxZzhXSC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1iYWNrcmVzdCkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1pY29uKSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWljb24taGlnaC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIDo6cGFydChzdmctc2VhdGxpbmUpIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0XG4gICAgICAgICk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4kZGlzYWJsZWQ6ICcuc2JiLXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtLWRpc2FibGVkJztcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZTogMTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoOiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodDogMTY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3A6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1sZWZ0OiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZSwgMSkgKiAwLjVcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9uIGZvciB0ZXh0XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1kZWZhdWx0LXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1ob3Zlci10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1pcm9uKSxcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZm9jdXMtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYW50aHJhY2l0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWV0YWwpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0yKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1ob3ZlcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItY2xvdWQpLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1mb2N1czogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKSxcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja3Jlc3QtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBTRUxFQ1RFRFxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTEyNSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWZvY3VzOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTE1MCk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcihcbiAgICAtLXNiYi1jb2xvci1wcmltYXJ5MTUwXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiAjN2QwMDBmO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja3Jlc3QtYmFja2dyb3VuZC1mb2N1czogIzVhMDAwYjtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgQUxMT0NBVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1taWxrKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWlkbmlnaHQpXG4gICk7XG5cbiAgLy8gQ29sb3IgZGVmaW5pdGlvbnMgZm9yIGhpZ2ggY29udHJhc3QgbW9kZVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBDYW52YXNUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtdGV4dC1oaWdoLWNvbnRyYXN0OiBCdXR0b25UZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1pY29uLWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja3Jlc3QtaGlnaC1jb250cmFzdDogR3JheVRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0OiBDYW52YXM7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1pY29uLWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuXG4gIHdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoKSk7XG4gIGhlaWdodDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1oZWlnaHQpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3ApKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xufVxuXG46aG9zdCg6aG92ZXIpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1mcmVlOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2ZyZWUnLCAnaG92ZXInKTtcbiAgICB9XG5cbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6YWN0aXZlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtc2VsZWN0ZWQ6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZm9jdXMnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gcm90YXRlcyB0aGUgRE9NLXBhcnQgXCJzdmctcGxhY2VcIiBieSAxODAgZGVncmVlcyBpZiB0aGUgaG9zdCBpcyBpbiBSVEwgbW9kZS5cbkBpbmNsdWRlIHNiYi1zci1taXhpbnMucm90YXRlLWRvbS1wYXJ0KHN2Zy1wbGFjZSk7XG5cbi5zYmItc3ItcGxhY2UtY3RybCB7XG4gICRyb290OiAmO1xuXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplKSk7XG5cbiAgJi0tc3RhdGUtZnJlZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZGVmYXVsdCcpO1xuICB9XG5cbiAgJi0tc3RhdGUtYWxsb2NhdGVkLFxuICAmLS1zdGF0ZS1yZXN0cmljdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdhbGxvY2F0ZWQnLCAnZGVmYXVsdCcpO1xuXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbiAgICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uKSAqIDFkZWcpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zYmItdHlwby1mb250LWZhbWlseSk7XG5cbiAgICAvLyBkb250IHVzZSBzYmIucHgtdG8tcmVtIG9yIC0tc2JiLXR5cG8tc2NhbGUtMC03NXg7IHdlIHdhbnQgXCJlbVwiIGluIHRoaXMgY2FzZSFcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcblxuICAgICN7JHJvb3R9LS1zdGF0ZS1mcmVlICYsXG4gICAgI3skcm9vdH0tLXN0YXRlLWFsbG9jYXRlZCAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS10eXBlLWJpY3ljbGUgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNjUlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gYWRqdXN0IHRyYW5zZm9ybSBvcmlnaW4gcG9pbnQgZm9yIGJpY3ljbGUgcGxhY2VzIHRleHQgKG5lY2Vzc2FyeSBmb3Igcm90YXRpb24pLFxuICAgICAgLy8gYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgcGxhY2UgbnVtYmVyIGlzIG5vdCBjZW50ZXJlZCBpbiB0aGUgcGxhY2UgYXJlYS5cbiAgICAgIC8vIFRoZSB2YWx1ZSAxNiUgaXMgdGhlIG9wdGltYWwgdmFsdWUgZm9yIHRoZSByb3RhdGlvbiBvZmZzZXQgb24gdGhlIG9yaWdpbiB5LWF4aXMuXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgMTYlO1xuXG4gICAgICAvLyB1c2UgYSBzbWFsbGVyIGZvbnQtc2l6ZSB0byBhdm9pZCBhMTF5IHZpb2xhdGlvblxuICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgICB9XG5cbiAgICAvLyBEZXBlbmRpbmcgb24gdGhlIHBsYWNlIG9yaWVudGF0aW9uLCBtaW5vciBwb3NpdGlvbmluZyBhZGp1c3RtZW50cyBtYXkgbmVlZCB0byBiZSBtYWRlIHRvIGNlbnRlciB0aGUgdGV4dCxcbiAgICAvLyBiZWNhdXNlIG9mIHRoZSB3aWR0aCBvZiB0aGUgU1ZHIHdoaWNoIGlzIG5vdCBzcXVhcmVcbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDQ1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tOTAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDQ2JTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0xODAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1NSU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTI3MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNTIlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MiU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpkaXIocnRsKSkge1xuICAvLyBGb3IgUlRMLCB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgdGV4dCBwb3NpdGlvbiB0byB0aGUgcmlnaHQgc2lkZVxuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLW9yaWVudGF0aW9uLTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMyU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tOTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0LFxuICAgICYtLW9yaWVudGF0aW9uLTE4MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tMjcwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUlO1xuICAgIH1cblxuICAgICYtLXR5cGUtYmljeWNsZSAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMTAlO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyBnZXRJMThuU2VhdFJlc2VydmF0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zbGF0aW9ucy50cyc7XG5pbXBvcnQgdHlwZSB7IFBsYWNlU2VsZWN0aW9uLCBQbGFjZVN0YXRlLCBQbGFjZVR5cGUsIFRyYXZlbERpcmVjdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90eXBlcy50cyc7XG5pbXBvcnQgeyBTYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudCB9IGZyb20gJy4uL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLnNjc3M/aW5saW5lJztcblxudHlwZSBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5ID1cbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fSU5fT1BQT1NJVEVfRElSRUNUSU9OJ1xuICB8ICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG5cbmV4cG9ydCBjbGFzcyBTYmJQbGFjZVNlbGVjdGlvbkV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXRhaWw6IFBsYWNlU2VsZWN0aW9uO1xuXG4gIHB1YmxpYyBnZXQgZGV0YWlsKCk6IFBsYWNlU2VsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZGV0YWlsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGRldGFpbDogUGxhY2VTZWxlY3Rpb24pIHtcbiAgICBzdXBlcignc2VsZWN0cGxhY2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pO1xuICAgIHRoaXMuX2RldGFpbCA9IGRldGFpbDtcbiAgfVxufVxuXG4vKipcbiAqIE91dHB1dCB0aGUgZ3JhcGhpYyBvZiBhIHNlYXQgb3IgYSBiaWN5Y2xlIHBsYWNlIGFzIGEgY29udHJvbCBlbGVtZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uUGxhY2VDb250cm9sRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdHBsYWNlOiAnc2VsZWN0cGxhY2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBwbGFjZVR5cGUgb2YgdGhlIHBsYWNlLCBlLmcuICdTRUFUJywgJ0JJQ1lDTEUnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0eXBlJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGxhY2VUeXBlOiBQbGFjZVR5cGUgPSAnU0VBVCc7XG5cbiAgLyoqIHN0YXRlIG9mIHRoZSBwbGFjZSwgZS5nLiAnRlJFRScsICdTRUxFQ1RFRCcsICdCTE9DS0VEJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhdGUnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzdGF0ZTogUGxhY2VTdGF0ZSA9ICdGUkVFJztcblxuICAvKiogZGlyZWN0aW9uIG9mIGEgd2hvbGUgdHJhaW4sIHVzZWQgdG8gY29tcHV0ZSBhbiBvcmllbnRhdGlvbiBvZiBhIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyYXZlbC1kaXJlY3Rpb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmF2ZWxEaXJlY3Rpb246IFRyYXZlbERpcmVjdGlvbiA9ICdOT05FJztcblxuICAvKiogcHJvcGVydHkgaWRzIG9mIHRoZSBwbGFjZSwgdG8gZGlzcGxheSBtb3JlIGluZm8gYWJvdXQgdGhlIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Byb3BlcnR5SWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBsYWJlbCBvZiB0aGUgcGxhY2UsIGUuZy4gJzFBJywgJzJCJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGV4dCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBEZWNrIEluZGV4IFByb3AgdG8gaWRlbnRpZmllciB0aGUgcmlnaHQgcGxhY2UgdG8gZGVjayAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVjay1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGVja0luZGV4OiBudW1iZXIgPSBudWxsITtcblxuICAvKiogQ29hY2ggSW5kZXggUHJvcCB0byBpZGVudGlmaWVyIHRoZSByaWdodCBwbGFjZSB0byBjb2FjaCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY29hY2gtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSW5kZXg6IG51bWJlciA9IG51bGwhO1xuXG4gIC8qKiBQcmV2ZW50IGNsaWNrIHByb3AgcHJldmVudCBhbnkgcGxhY2UgYWN0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmV2ZW50LWNsaWNrJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcHJldmVudENsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0aGUgcGxhY2UgZm9jdXMgb3V0bGluZSBzdHlsZSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAna2V5Zm9jdXMnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBrZXlmb2N1czogc3RyaW5nID0gJ3VuZm9jdXMnO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9zZWxlY3RQbGFjZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygna2V5Zm9jdXMnKSkge1xuICAgICAgaWYgKHRoaXMua2V5Zm9jdXMgPT09ICdmb2N1cycpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMuX2dldFBsYWNlU3ZnKHRoaXMucGxhY2VUeXBlLCB0aGlzLnN0YXRlKTtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLnR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzdGF0ZTogc3RyaW5nID0gdGhpcy5zdGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHRleHQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLnRleHQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgnKTtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0Jyk7XG4gICAgY29uc3Qgcm90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb24nKTtcbiAgICBjb25zdCB0ZXh0Um90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uJyxcbiAgICApO1xuICAgIGNvbnN0IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uID0gTnVtYmVyKHRleHRSb3RhdGlvbikgLSBOdW1iZXIocm90YXRpb24pO1xuICAgIGNvbnN0IGRpc2FibGVkQ2xhc3MgPSB0aGlzLnByZXZlbnRDbGljayA/ICdzYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnIDogbnVsbDtcbiAgICBjb25zdCBwbGFjZURlc2NyaXB0aW9uID0gdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uKTtcblxuICAgIC8vIG9ubHkgc2V0IHRpdGxlIHRvIHRoZSBTYmJCdXR0b25CYXNlRWxlbWVudCBpZiByZXF1ZXN0ZWQ7IG90aGVyd2lzZSBwcm92aWRlIHRoZSB0aXRsZVxuICAgIC8vIGluZm9ybWF0aW9uIHRvIHNjcmVlbiByZWFkZXJzIHZpYSBhcmlhLWxhYmVsIGF0IGhvc3QgZWxlbWVudFxuICAgIGlmICh0aGlzLnNob3dUaXRsZUluZm8pIHtcbiAgICAgIHRoaXMudGl0bGUgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2V0IGFyaWEtbGFiZWwgc2NyZWVuIHJlYWRlciBpbmZvXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxkaXZcbiAgICAgIHBhcnQ9XCJzYmItc3ItcGxhY2UtcGFydFwiXG4gICAgICBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsIHNiYi1zci1wbGFjZS1jdHJsLS1vcmllbnRhdGlvbi0ke3JvdGF0aW9ufSBzYmItc3ItcGxhY2UtY3RybC0tc3RhdGUtJHtzdGF0ZX0gc2JiLXNyLXBsYWNlLWN0cmwtLXR5cGUtJHt0eXBlfSAke2Rpc2FibGVkQ2xhc3N9XCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPHNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWNcbiAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCc6IHdpZHRoLFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0JzogaGVpZ2h0LFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24nOiByb3RhdGlvbixcbiAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWludmVyc2Utcm90YXRpb24nOiBpbnZlcnNlUm90YXRpb25QbGFjZUNoZWNrSWNvbixcbiAgICAgICAgfSl9XG4gICAgICAgIC5uYW1lPSR7bmFtZX1cbiAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWM+XG4gICAgICA8c3BhbiAke3RoaXMudGV4dCA/PyBub3RoaW5nfSBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsX190ZXh0XCI+JHt0ZXh0fSA8L3NwYW4+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBsYWNlU3ZnKHR5cGU6IFBsYWNlVHlwZSwgc3RhdGU6IFBsYWNlU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlIGFzIHN0cmluZztcbiAgICBjb25zdCBzdGF0ZVN0cmluZyA9IHN0YXRlIGFzIHN0cmluZztcbiAgICByZXR1cm4gYFBMQUNFXyR7dHlwZVN0cmluZ31fJHtzdGF0ZVN0cmluZ31gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gJ1BMQUNFX0NPTlRST0xfJyArIHRoaXMudHlwZSArICdfJyArIHRoaXMuc3RhdGU7XG4gICAgbGV0IGRlc2NyaXB0aW9uID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbih0cmFuc2xhdGlvbktleSwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW3RoaXMudGV4dF0pO1xuXG4gICAgY29uc3QgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24gPSB0aGlzLl9nZXRSZWxhdGl2ZVRyYXZlbERpcmVjdGlvbihyb3RhdGlvbik7XG5cbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGggfHwgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24pIHtcbiAgICAgIGRlc2NyaXB0aW9uICs9XG4gICAgICAgICcuICcgKyBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdQTEFDRV9QUk9QRVJUWScsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLmNvbmNhdCgnOiAnKTtcblxuICAgICAgZGVzY3JpcHRpb24gKz0gW3JlbGF0aXZlVHJhdmVsRGlyZWN0aW9uLCAuLi50aGlzLnByb3BlcnR5SWRzXVxuICAgICAgICAubWFwKChwcm9wZXJ0eUlkKSA9PlxuICAgICAgICAgIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ1BMQUNFX1BST1BFUlRJRVMuJyArIHByb3BlcnR5SWQsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLFxuICAgICAgICApXG4gICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24oXG4gICAgcm90YXRpb25WYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50cmF2ZWxEaXJlY3Rpb24gfHxcbiAgICAgIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnTk9ORScgfHxcbiAgICAgIHRoaXMucGxhY2VUeXBlICE9PSAnU0VBVCcgfHxcbiAgICAgICFyb3RhdGlvblZhbHVlXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByb3RhdGlvbiA9IE51bWJlcihyb3RhdGlvblZhbHVlKTtcblxuICAgIGlmIChyb3RhdGlvbiA9PT0gOTAgfHwgcm90YXRpb24gPT09IDI3MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG4gICAgfVxuXG4gICAgY29uc3QgaW5EaXJlY3Rpb24gPVxuICAgICAgKHJvdGF0aW9uID09PSAwICYmIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnUklHSFQnKSB8fFxuICAgICAgKHJvdGF0aW9uID09PSAxODAgJiYgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdMRUZUJyk7XG5cbiAgICBpZiAoaW5EaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nO1xuICAgIH0gZWxzZSBpZiAocm90YXRpb24gPT09IDAgfHwgcm90YXRpb24gPT09IDE4MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX0lOX09QUE9TSVRFX0RJUkVDVElPTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBJZiB0aGUgcGxhY2Ugc2VsZWN0YWJsZSwgd2UgZW1pdCB0aGUgcGxhY2VTZWxlY3Rpb24gb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZm9zIHRvIHRoZSBwbGFjZSBzdGF0ZSAqL1xuICBwcml2YXRlIF9zZWxlY3RQbGFjZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RhYmxlID0gKHRoaXMuc3RhdGUgPT09ICdGUkVFJyB8fCB0aGlzLnN0YXRlID09PSAnU0VMRUNURUQnKSAmJiAhdGhpcy5wcmV2ZW50Q2xpY2s7XG5cbiAgICBpZiAoc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGUgPT09ICdGUkVFJyA/ICdTRUxFQ1RFRCcgOiAnRlJFRSc7XG5cbiAgICAgIC8vIEZJWE1FOiB0aGUgbmFtZSBvZiB0aGlzIHZhcmlhYmxlIGFwcGVhcnMgYXMgZXZlbnQgbmFtZSBpbiB0aGUgcmVhZG1lXG4gICAgICAvLyAgZHVlIHRvIGEgYnVnIGluIHRoZSBjdXN0b20tZWxlbWVudHMtbWFuaWZlc3QgbGlicmFyeS5cbiAgICAgIC8vICBodHRwczovL2dpdGh1Yi5jb20vb3Blbi13Yy9jdXN0b20tZWxlbWVudHMtbWFuaWZlc3QvaXNzdWVzLzE0OVxuICAgICAgY29uc3Qgc2VsZWN0cGxhY2U6IFBsYWNlU2VsZWN0aW9uID0ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZGVja0luZGV4OiB0aGlzLmRlY2tJbmRleCxcbiAgICAgICAgY29hY2hJbmRleDogdGhpcy5jb2FjaEluZGV4LFxuICAgICAgICBudW1iZXI6IHRoaXMudGV4dCxcbiAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgIHBsYWNlVHlwZTogdGhpcy5wbGFjZVR5cGUsXG4gICAgICB9O1xuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtTYmJQbGFjZVNlbGVjdGlvbkV2ZW50fVxuICAgICAgICogRW1pdHMgd2hlbiBhIHBsYWNlIHdhcyBzZWxlY3RlZCB2aWEgdXNlciBpbnRlcmFjdGlvbiBhbmQgcmV0dXJucyBhXG4gICAgICAgKiBQbGFjZVNlbGVjdGlvbiBvYmplY3Qgd2l0aCBuZWNlc3NhcnkgcGxhY2UgaW5mb3JtYXRpb24uXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiUGxhY2VTZWxlY3Rpb25FdmVudChzZWxlY3RwbGFjZSkpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbCc6IFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUM0QkEsSUFBYSx5QkFBYixjQUE0QyxNQUFLO0NBRy9DLElBQVcsU0FBTTtFQUNmLE9BQU8sS0FBSztDQUNkO0NBRUEsWUFBbUIsUUFBc0I7RUFDdkMsTUFBTSxlQUFlO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFO0VBQ3RELEtBQUssVUFBVTtDQUNqQjs7Ozs7SUFNVywrQ0FBcUM7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBOUMsOENBQThDLFlBQW9COzs7NEJBUzVFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxPQUFNLENBQUUsQ0FBQzt3QkFJL0IsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQVMsU0FBUztHQUFJLENBQUUsQ0FBQztrQ0FJL0MsU0FBUyxFQUFFLFdBQVcsbUJBQWtCLENBQUUsQ0FBQzs4QkFJM0MsU0FBUztJQUFFLFdBQVc7SUFBZSxNQUFNO0dBQUssQ0FBRSxDQUFDO3VCQUluRCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsT0FBTSxDQUFFLENBQUM7NEJBSS9CLFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFjLE1BQU07R0FBTSxDQUFFLENBQUM7NkJBSW5ELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07R0FBTSxDQUFFLENBQUM7K0JBSXBELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFpQixNQUFNO0dBQU8sQ0FBRSxDQUFDOzJCQUl2RCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsV0FBVSxDQUFFLENBQUM7Z0NBSW5DLFVBQVMsR0FDVCxTQUFTO0lBQUUsTUFBTTtJQUFTLFlBQVk7R0FBSSxDQUFFLENBQUM7R0ExQzlDLGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJ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
@@ -1,24 +0,0 @@
1
- import { SbbElement } from "@sbb-esta/lyne-elements/core.js";
2
- import { html, unsafeCSS } from "lit";
3
- //#region src/elements-experimental/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.scss?inline
4
- var seat_reservation_scoped_default = ":host {\n --sbb-seat-reservation-scoped-width: 0;\n --sbb-seat-reservation-scoped-height: 0;\n display: block;\n width: calc(var(--sbb-seat-reservation-scoped-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-scoped-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}";
5
- //#endregion
6
- //#region src/elements-experimental/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.ts
7
- /**
8
- * Wrapper class for scoped elements with similar properties to set.
9
- */
10
- var SbbSeatReservationScopedElement = class extends SbbElement {
11
- static {
12
- this.elementName = "sbb-seat-reservation-scoped";
13
- }
14
- static {
15
- this.styles = [unsafeCSS(seat_reservation_scoped_default)];
16
- }
17
- render() {
18
- return html`<slot></slot>`;
19
- }
20
- };
21
- //#endregion
22
- export { SbbSeatReservationScopedElement as t };
23
-
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1zY29wZWQuY29tcG9uZW50LUJIYk9SVnNSLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbjpob3N0IHtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQtd2lkdGg6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLWhlaWdodDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC13aWR0aCkpO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC1oZWlnaHQpKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBXcmFwcGVyIGNsYXNzIGZvciBzY29wZWQgZWxlbWVudHMgd2l0aCBzaW1pbGFyIHByb3BlcnRpZXMgdG8gc2V0LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uU2NvcGVkRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQnOiBTYmJTZWF0UmVzZXJ2YXRpb25TY29wZWRFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQ1FBLElBQWEsa0NBQWIsY0FBcUQsV0FBVTs7RUFDN0IsS0FBQSxjQUFzQjtDQUE4Qjs7RUFDN0QsS0FBQSxTQUF5QixDQUFDLFVBQVUsK0JBQUssQ0FBQztDQUFFO0NBRWhELFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==