@kepler.gl/components 3.0.0-alpha.1 → 3.0.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 (418) hide show
  1. package/dist/bottom-widget.js +1 -21
  2. package/dist/common/action-panel.js +1 -21
  3. package/dist/common/animation-control/animation-control.js +1 -21
  4. package/dist/common/animation-control/animation-controller.js +1 -21
  5. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  6. package/dist/common/animation-control/animation-window-control.js +3 -21
  7. package/dist/common/animation-control/floating-time-display.js +1 -21
  8. package/dist/common/animation-control/play-control.js +3 -21
  9. package/dist/common/animation-control/playback-controls.js +1 -21
  10. package/dist/common/animation-control/reset-control.js +3 -21
  11. package/dist/common/animation-control/speed-control.js +1 -21
  12. package/dist/common/animation-control/window-action-control.js +3 -21
  13. package/dist/common/checkbox.js +1 -21
  14. package/dist/common/color-legend.js +1 -21
  15. package/dist/common/data-table/button.js +1 -21
  16. package/dist/common/data-table/canvas.js +1 -21
  17. package/dist/common/data-table/cell-size.js +1 -21
  18. package/dist/common/data-table/display-format.js +1 -21
  19. package/dist/common/data-table/grid.js +1 -21
  20. package/dist/common/data-table/header-cell.js +1 -21
  21. package/dist/common/data-table/index.js +1 -21
  22. package/dist/common/data-table/option-dropdown.js +1 -21
  23. package/dist/common/dataset-label.js +1 -21
  24. package/dist/common/error-boundary.js +1 -21
  25. package/dist/common/field-selector.d.ts +1 -0
  26. package/dist/common/field-selector.js +3 -21
  27. package/dist/common/field-token.d.ts +4 -0
  28. package/dist/common/field-token.js +1 -21
  29. package/dist/common/file-uploader/file-drop.js +1 -21
  30. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  31. package/dist/common/file-uploader/file-upload.js +1 -21
  32. package/dist/common/file-uploader/upload-button.js +1 -21
  33. package/dist/common/flex-container.d.ts +3 -0
  34. package/dist/common/flex-container.js +23 -0
  35. package/dist/common/histogram-plot.js +1 -21
  36. package/dist/common/icon-button.d.ts +1 -1
  37. package/dist/common/icon-button.js +1 -21
  38. package/dist/common/icons/add.js +1 -21
  39. package/dist/common/icons/anchor_window.js +6 -22
  40. package/dist/common/icons/arrow-down-alt.js +1 -21
  41. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  42. package/dist/common/icons/arrow-down-small.js +72 -0
  43. package/dist/common/icons/arrow-down-solid.js +1 -21
  44. package/dist/common/icons/arrow-down.js +1 -21
  45. package/dist/common/icons/arrow-left.js +1 -21
  46. package/dist/common/icons/arrow-right.js +1 -21
  47. package/dist/common/icons/arrow-up-alt.js +1 -21
  48. package/dist/common/icons/arrow-up-solid.js +1 -21
  49. package/dist/common/icons/arrow-up.js +1 -21
  50. package/dist/common/icons/base.js +1 -21
  51. package/dist/common/icons/bug.js +1 -21
  52. package/dist/common/icons/calendar.d.ts +10 -0
  53. package/dist/common/icons/calendar.js +66 -0
  54. package/dist/common/icons/cancel.js +1 -21
  55. package/dist/common/icons/checkmark.js +1 -21
  56. package/dist/common/icons/clipboard.js +1 -21
  57. package/dist/common/icons/clock.js +1 -21
  58. package/dist/common/icons/close.js +1 -21
  59. package/dist/common/icons/code-alt.js +1 -21
  60. package/dist/common/icons/copy.js +1 -21
  61. package/dist/common/icons/crosshairs.js +1 -21
  62. package/dist/common/icons/cube-3d.js +1 -21
  63. package/dist/common/icons/cursor-click.js +1 -21
  64. package/dist/common/icons/cursor-point.js +1 -21
  65. package/dist/common/icons/data-table.js +1 -21
  66. package/dist/common/icons/db.js +1 -21
  67. package/dist/common/icons/delete.js +1 -21
  68. package/dist/common/icons/docs.js +1 -21
  69. package/dist/common/icons/drag-n-drop.js +1 -21
  70. package/dist/common/icons/draw-polygon.js +1 -21
  71. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  72. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  73. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  74. package/dist/common/icons/effects/color-halftone.js +127 -0
  75. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  76. package/dist/common/icons/effects/dot-screen.js +122 -0
  77. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  78. package/dist/common/icons/effects/edge-work.js +81 -0
  79. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  80. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  81. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  82. package/dist/common/icons/effects/hue-saturation.js +79 -0
  83. package/dist/common/icons/effects/ink.d.ts +14 -0
  84. package/dist/common/icons/effects/ink.js +78 -0
  85. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  86. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  87. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  88. package/dist/common/icons/effects/magic-wand.js +79 -0
  89. package/dist/common/icons/effects/magnify.d.ts +14 -0
  90. package/dist/common/icons/effects/magnify.js +86 -0
  91. package/dist/common/icons/effects/noise.d.ts +14 -0
  92. package/dist/common/icons/effects/noise.js +132 -0
  93. package/dist/common/icons/effects/sepia.d.ts +14 -0
  94. package/dist/common/icons/effects/sepia.js +79 -0
  95. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  96. package/dist/common/icons/effects/tilt-shift.js +88 -0
  97. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  98. package/dist/common/icons/effects/triangle-blur.js +83 -0
  99. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  100. package/dist/common/icons/effects/vibrance.js +79 -0
  101. package/dist/common/icons/effects/vignette.d.ts +14 -0
  102. package/dist/common/icons/effects/vignette.js +72 -0
  103. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  104. package/dist/common/icons/effects/zoom-blur.js +107 -0
  105. package/dist/common/icons/email.js +1 -21
  106. package/dist/common/icons/expand.js +1 -21
  107. package/dist/common/icons/eye-seen.js +1 -21
  108. package/dist/common/icons/eye-unseen.js +1 -21
  109. package/dist/common/icons/file-type.js +1 -21
  110. package/dist/common/icons/file.js +1 -21
  111. package/dist/common/icons/files.js +1 -21
  112. package/dist/common/icons/filter-funnel.js +1 -21
  113. package/dist/common/icons/free-window.js +6 -22
  114. package/dist/common/icons/gear.js +1 -21
  115. package/dist/common/icons/globe.d.ts +15 -0
  116. package/dist/common/icons/globe.js +72 -0
  117. package/dist/common/icons/hash.js +1 -21
  118. package/dist/common/icons/histogram.js +1 -21
  119. package/dist/common/icons/index.d.ts +25 -0
  120. package/dist/common/icons/index.js +201 -21
  121. package/dist/common/icons/info.js +1 -21
  122. package/dist/common/icons/layers.js +1 -21
  123. package/dist/common/icons/left-arrow.js +1 -21
  124. package/dist/common/icons/legend.js +1 -21
  125. package/dist/common/icons/line-chart.js +1 -21
  126. package/dist/common/icons/location-marker.d.ts +14 -0
  127. package/dist/common/icons/location-marker.js +77 -0
  128. package/dist/common/icons/login.js +1 -21
  129. package/dist/common/icons/logout.js +1 -21
  130. package/dist/common/icons/map-icon.js +1 -21
  131. package/dist/common/icons/map.js +1 -21
  132. package/dist/common/icons/messages.js +1 -21
  133. package/dist/common/icons/minus.js +1 -21
  134. package/dist/common/icons/moon.d.ts +14 -0
  135. package/dist/common/icons/moon.js +77 -0
  136. package/dist/common/icons/order-by-dataset.js +6 -22
  137. package/dist/common/icons/order-by-list.js +6 -22
  138. package/dist/common/icons/pause.js +1 -21
  139. package/dist/common/icons/picture.js +1 -21
  140. package/dist/common/icons/pin.js +1 -21
  141. package/dist/common/icons/play.js +1 -21
  142. package/dist/common/icons/polygon.js +1 -21
  143. package/dist/common/icons/rectangle.js +1 -21
  144. package/dist/common/icons/reduce.js +1 -21
  145. package/dist/common/icons/reset.js +1 -21
  146. package/dist/common/icons/rocket.js +1 -21
  147. package/dist/common/icons/save.js +1 -21
  148. package/dist/common/icons/save2.js +1 -21
  149. package/dist/common/icons/search.js +1 -21
  150. package/dist/common/icons/settings.js +1 -21
  151. package/dist/common/icons/share.js +1 -21
  152. package/dist/common/icons/split.js +1 -21
  153. package/dist/common/icons/square-select.js +1 -21
  154. package/dist/common/icons/sun.d.ts +14 -0
  155. package/dist/common/icons/sun.js +93 -0
  156. package/dist/common/icons/sunrise.d.ts +14 -0
  157. package/dist/common/icons/sunrise.js +89 -0
  158. package/dist/common/icons/sunset.d.ts +14 -0
  159. package/dist/common/icons/sunset.js +89 -0
  160. package/dist/common/icons/trash.js +1 -21
  161. package/dist/common/icons/vert-dots.js +1 -21
  162. package/dist/common/icons/vert-three-dots.js +1 -21
  163. package/dist/common/icons/warning-sign.js +1 -21
  164. package/dist/common/icons/warning.js +1 -21
  165. package/dist/common/image-preview.js +1 -21
  166. package/dist/common/index.js +1 -21
  167. package/dist/common/info-helper.js +1 -21
  168. package/dist/common/item-selector/accessor.js +5 -22
  169. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  170. package/dist/common/item-selector/chickleted-input.js +104 -44
  171. package/dist/common/item-selector/dropdown-list.d.ts +2 -0
  172. package/dist/common/item-selector/dropdown-list.js +10 -25
  173. package/dist/common/item-selector/item-selector.d.ts +3 -0
  174. package/dist/common/item-selector/item-selector.js +11 -23
  175. package/dist/common/item-selector/typeahead.js +1 -21
  176. package/dist/common/line-chart.js +1 -21
  177. package/dist/common/loading-spinner.js +1 -21
  178. package/dist/common/logo.js +1 -21
  179. package/dist/common/map-layer-selector.js +1 -21
  180. package/dist/common/modal.js +25 -28
  181. package/dist/common/portaled.d.ts +15 -2
  182. package/dist/common/portaled.js +1 -21
  183. package/dist/common/progress-bar.js +1 -21
  184. package/dist/common/range-brush.js +1 -21
  185. package/dist/common/range-plot.js +1 -21
  186. package/dist/common/range-slider.d.ts +1 -1
  187. package/dist/common/range-slider.js +1 -21
  188. package/dist/common/slider/mouse-event.js +6 -22
  189. package/dist/common/slider/slider-bar-handle.js +1 -21
  190. package/dist/common/slider/slider-handle.js +1 -21
  191. package/dist/common/slider/slider.js +1 -21
  192. package/dist/common/styled-components.d.ts +3 -3
  193. package/dist/common/styled-components.js +26 -47
  194. package/dist/common/switch.js +1 -21
  195. package/dist/common/time-range-slider-time-title.js +1 -21
  196. package/dist/common/time-range-slider.js +1 -21
  197. package/dist/common/time-slider-marker.js +1 -21
  198. package/dist/common/timeline-slider.js +1 -21
  199. package/dist/common/tippy-tooltip.js +1 -21
  200. package/dist/common/toolbar-item.js +1 -21
  201. package/dist/common/toolbar.js +1 -21
  202. package/dist/common/vertical-toolbar.js +1 -21
  203. package/dist/connect/keplergl-connect.js +6 -22
  204. package/dist/connect/with-local-selector.js +1 -21
  205. package/dist/container.js +1 -21
  206. package/dist/context.d.ts +11 -0
  207. package/dist/context.js +18 -23
  208. package/dist/dnd-context.d.ts +1 -1
  209. package/dist/dnd-context.js +32 -127
  210. package/dist/editor/editor.js +1 -21
  211. package/dist/editor/feature-action-panel.js +28 -79
  212. package/dist/effects/compact-color-picker.d.ts +10 -0
  213. package/dist/effects/compact-color-picker.js +130 -0
  214. package/dist/effects/effect-configurator.d.ts +4 -5
  215. package/dist/effects/effect-configurator.js +183 -118
  216. package/dist/effects/effect-list.js +2 -22
  217. package/dist/effects/effect-manager.d.ts +2 -1
  218. package/dist/effects/effect-manager.js +43 -30
  219. package/dist/effects/effect-panel-header.d.ts +14 -2
  220. package/dist/effects/effect-panel-header.js +82 -50
  221. package/dist/effects/effect-panel.js +30 -43
  222. package/dist/effects/effect-time-configurator.d.ts +14 -7
  223. package/dist/effects/effect-time-configurator.js +258 -109
  224. package/dist/effects/effect-time-selector.d.ts +16 -0
  225. package/dist/effects/effect-time-selector.js +181 -0
  226. package/dist/effects/effect-time-slider.d.ts +34 -0
  227. package/dist/effects/effect-time-slider.js +220 -0
  228. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  229. package/dist/effects/effect-type-dropdown-list.js +77 -0
  230. package/dist/effects/effect-type-list-item.d.ts +22 -0
  231. package/dist/effects/effect-type-list-item.js +105 -0
  232. package/dist/effects/effect-type-selector.d.ts +22 -3
  233. package/dist/effects/effect-type-selector.js +58 -83
  234. package/dist/effects/side-panel-title.js +1 -21
  235. package/dist/effects/timezone-selector.d.ts +19 -0
  236. package/dist/effects/timezone-selector.js +71 -0
  237. package/dist/filter-animation-controller.js +3 -21
  238. package/dist/filters/components.js +1 -21
  239. package/dist/filters/filter-panels/filter-panel-with-field-select.js +6 -22
  240. package/dist/filters/filter-panels/multi-select-filter-panel.js +6 -22
  241. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  242. package/dist/filters/filter-panels/polygon-filter-panel.js +6 -22
  243. package/dist/filters/filter-panels/range-filter-panel.js +6 -22
  244. package/dist/filters/filter-panels/single-select-filter-panel.js +6 -22
  245. package/dist/filters/filter-panels/time-range-filter-panel.js +1 -21
  246. package/dist/filters/filter-panels/types.js +0 -20
  247. package/dist/filters/index.js +1 -21
  248. package/dist/filters/multi-select-filter.js +6 -22
  249. package/dist/filters/polygon-filter.js +6 -22
  250. package/dist/filters/range-filter.js +6 -22
  251. package/dist/filters/single-select-filter.js +6 -22
  252. package/dist/filters/time-range-filter.js +7 -22
  253. package/dist/filters/time-widget-top.js +1 -21
  254. package/dist/filters/time-widget.js +1 -21
  255. package/dist/filters/types.js +0 -20
  256. package/dist/geocoder/geocoder.js +10 -27
  257. package/dist/geocoder-panel.js +1 -21
  258. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  259. package/dist/hooks/use-cloud-list-provider.js +57 -0
  260. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  261. package/dist/hooks/use-dnd-effects.js +88 -0
  262. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  263. package/dist/hooks/use-dnd-layers.js +95 -0
  264. package/dist/hooks/use-feature-flags.d.ts +5 -0
  265. package/dist/hooks/use-feature-flags.js +21 -0
  266. package/dist/index.d.ts +10 -1
  267. package/dist/index.js +103 -24
  268. package/dist/injector.js +1 -21
  269. package/dist/kepler-gl.d.ts +2 -1
  270. package/dist/kepler-gl.js +13 -25
  271. package/dist/layer-animation-controller.js +3 -21
  272. package/dist/map/coordinate-info.js +6 -22
  273. package/dist/map/effects/effect-control.d.ts +1 -1
  274. package/dist/map/effects/effect-control.js +9 -28
  275. package/dist/map/layer-hover-info.js +2 -22
  276. package/dist/map/layer-selector-panel.js +6 -22
  277. package/dist/map/lazy-tippy.js +1 -21
  278. package/dist/map/locale-panel.js +6 -22
  279. package/dist/map/map-control-panel.js +1 -21
  280. package/dist/map/map-control-toolbar.js +1 -21
  281. package/dist/map/map-control-tooltip.js +6 -22
  282. package/dist/map/map-control.js +1 -21
  283. package/dist/map/map-draw-panel.js +6 -22
  284. package/dist/map/map-legend-panel.js +6 -22
  285. package/dist/map/map-legend.js +1 -21
  286. package/dist/map/map-popover-content.js +6 -22
  287. package/dist/map/map-popover.js +1 -21
  288. package/dist/map/split-map-button.js +6 -22
  289. package/dist/map/toggle-3d-button.js +6 -22
  290. package/dist/map-container.d.ts +1 -1
  291. package/dist/map-container.js +33 -52
  292. package/dist/map-view-state-context.d.ts +6 -1
  293. package/dist/map-view-state-context.js +34 -33
  294. package/dist/maps-layout.js +1 -21
  295. package/dist/modal-container.d.ts +2 -2
  296. package/dist/modal-container.js +13 -72
  297. package/dist/modals/add-map-style-modal.js +8 -72
  298. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  299. package/dist/modals/cloud-components/cloud-header.js +65 -0
  300. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  301. package/dist/modals/cloud-components/cloud-item.js +72 -0
  302. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  303. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  304. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  305. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  306. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  307. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  308. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  309. package/dist/modals/cloud-components/provider-loading.js +29 -0
  310. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  311. package/dist/modals/cloud-components/provider-select.js +40 -0
  312. package/dist/modals/cloud-tile.d.ts +8 -8
  313. package/dist/modals/cloud-tile.js +184 -75
  314. package/dist/modals/data-table-modal.js +1 -21
  315. package/dist/modals/delete-data-modal.js +1 -21
  316. package/dist/modals/error-display.js +15 -26
  317. package/dist/modals/export-data-modal.js +1 -21
  318. package/dist/modals/export-image-modal.js +1 -21
  319. package/dist/modals/export-map-modal/components.js +1 -21
  320. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  321. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  322. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  323. package/dist/modals/image-modal-container.d.ts +1 -3
  324. package/dist/modals/image-modal-container.js +12 -34
  325. package/dist/modals/load-data-modal.d.ts +0 -5
  326. package/dist/modals/load-data-modal.js +1 -21
  327. package/dist/modals/load-storage-map.d.ts +3 -24
  328. package/dist/modals/load-storage-map.js +69 -282
  329. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  330. package/dist/modals/load-storage-map.spec.js +237 -0
  331. package/dist/modals/loading-dialog.js +1 -21
  332. package/dist/modals/modal-dialog.js +6 -22
  333. package/dist/modals/modal-tabs.js +1 -21
  334. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  335. package/dist/modals/overwrite-map-modal.js +39 -32
  336. package/dist/modals/save-map-modal.d.ts +3 -5
  337. package/dist/modals/save-map-modal.js +99 -119
  338. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  339. package/dist/modals/save-map-modal.spec.js +218 -0
  340. package/dist/modals/share-map-modal.d.ts +1 -5
  341. package/dist/modals/share-map-modal.js +57 -81
  342. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  343. package/dist/modals/share-map-modal.spec.js +202 -0
  344. package/dist/modals/status-panel.js +1 -21
  345. package/dist/modals/storage-map-viewer.js +1 -21
  346. package/dist/notification-panel/notification-item.js +1 -21
  347. package/dist/notification-panel.js +1 -21
  348. package/dist/plot-container.js +7 -27
  349. package/dist/side-panel/add-by-dataset-button.js +1 -21
  350. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  351. package/dist/side-panel/common/dataset-info.js +1 -21
  352. package/dist/side-panel/common/dataset-tag.js +1 -21
  353. package/dist/side-panel/common/dataset-title.js +1 -21
  354. package/dist/side-panel/common/source-data-catalog.js +1 -21
  355. package/dist/side-panel/common/source-data-selector.js +6 -22
  356. package/dist/side-panel/common/types.js +0 -20
  357. package/dist/side-panel/custom-panel.js +6 -22
  358. package/dist/side-panel/filter-manager.js +1 -21
  359. package/dist/side-panel/filter-panel/add-filter-button.js +6 -22
  360. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -22
  361. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  362. package/dist/side-panel/interaction-manager.js +6 -22
  363. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  364. package/dist/side-panel/interaction-panel/interaction-panel.js +1 -21
  365. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +8 -0
  366. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +46 -27
  367. package/dist/side-panel/interaction-panel/tooltip-config.js +41 -52
  368. package/dist/side-panel/layer-manager.d.ts +5 -0
  369. package/dist/side-panel/layer-manager.js +3 -22
  370. package/dist/side-panel/layer-panel/add-layer-button.js +6 -22
  371. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  372. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  373. package/dist/side-panel/layer-panel/color-selector.js +1 -21
  374. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  375. package/dist/side-panel/layer-panel/custom-palette.js +1 -21
  376. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  377. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -22
  378. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -21
  379. package/dist/side-panel/layer-panel/dataset-section.js +1 -21
  380. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  381. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  382. package/dist/side-panel/layer-panel/layer-color-selector.js +6 -22
  383. package/dist/side-panel/layer-panel/layer-column-config.js +1 -21
  384. package/dist/side-panel/layer-panel/layer-config-group.js +1 -21
  385. package/dist/side-panel/layer-panel/layer-configurator.js +16 -24
  386. package/dist/side-panel/layer-panel/layer-error-message.js +1 -21
  387. package/dist/side-panel/layer-panel/layer-list.js +1 -21
  388. package/dist/side-panel/layer-panel/layer-panel-header.js +1 -21
  389. package/dist/side-panel/layer-panel/layer-panel.js +1 -21
  390. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  391. package/dist/side-panel/layer-panel/layer-type-list-item.js +1 -21
  392. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -21
  393. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  394. package/dist/side-panel/layer-panel/text-label-panel.js +1 -21
  395. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  396. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  397. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  398. package/dist/side-panel/map-manager.js +1 -21
  399. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +1 -21
  400. package/dist/side-panel/map-style-panel/map-layer-group-item.js +1 -21
  401. package/dist/side-panel/map-style-panel/map-layer-selector.js +1 -21
  402. package/dist/side-panel/map-style-panel/map-style-selector.js +1 -21
  403. package/dist/side-panel/panel-dropdown.js +1 -21
  404. package/dist/side-panel/panel-header-action.js +1 -21
  405. package/dist/side-panel/panel-header.js +2 -21
  406. package/dist/side-panel/panel-tab.js +1 -21
  407. package/dist/side-panel/panel-title.js +1 -21
  408. package/dist/side-panel/panel-toggle.js +1 -21
  409. package/dist/side-panel/panel-view-list-toggle.js +1 -21
  410. package/dist/side-panel/side-bar.js +1 -21
  411. package/dist/side-panel.js +7 -36
  412. package/dist/types.d.ts +2 -4
  413. package/dist/types.js +0 -20
  414. package/package.json +27 -24
  415. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  416. package/dist/hooks/useFeatureFlags.js +0 -38
  417. package/dist/modals/provider-modal-container.d.ts +0 -23
  418. package/dist/modals/provider-modal-container.js +0 -101
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -177,7 +157,8 @@ var Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templ
177
157
  });
178
158
  exports.Tooltip = Tooltip;
179
159
 
180
- var Button = _styledComponents["default"].div.attrs(function (props) {
160
+ // this needs to be an actual button to be able to set disabled attribute correctly
161
+ var Button = _styledComponents["default"].button.attrs(function (props) {
181
162
  return {
182
163
  className: (0, _classnames["default"])('button', props.className)
183
164
  };
@@ -356,13 +337,13 @@ var StyledModalInputFootnote = _styledComponents["default"].div.attrs({
356
337
 
357
338
  exports.StyledModalInputFootnote = StyledModalInputFootnote;
358
339
 
359
- var StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
340
+ var StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n"])));
360
341
 
361
342
  exports.StyledMapContainer = StyledMapContainer;
362
343
 
363
344
  var StyledAttrbution = _styledComponents["default"].div.attrs({
364
- className: 'mapbox-attribution-container'
365
- })(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.mapboxgl-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
345
+ className: 'maplibre-attribution-container'
346
+ })(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.maplibregl-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
366
347
  return props.theme.labelColor;
367
348
  }, function (props) {
368
349
  return props.theme.labelColor;
@@ -449,28 +430,26 @@ var CheckMark = _styledComponents["default"].span.attrs({
449
430
  });
450
431
 
451
432
  exports.CheckMark = CheckMark;
452
- var StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border: thin solid ", ";\n border-radius: 2px;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 10px;\n box-sizing: content-box;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n font: inherit;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
433
+ var StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
453
434
  return props.theme.fontFamily;
454
435
  }, function (props) {
455
436
  return props.theme.inputFontSize;
456
437
  }, function (props) {
457
438
  return props.theme.inputBgd;
458
439
  }, function (props) {
459
- return props.theme.textColor;
460
- }, function (props) {
461
- return props.theme.inputBgd;
440
+ return props.theme.effectPanelTextMain;
462
441
  }, function (props) {
463
442
  return props.theme.inputBgd;
464
443
  }, function (props) {
465
444
  return props.theme.inputBgdHover;
466
445
  }, function (props) {
467
- return props.theme.textColor;
446
+ return props.theme.effectPanelTextMain;
468
447
  }, function (props) {
469
448
  return props.theme.fontFamily;
470
449
  }, function (props) {
471
450
  return props.theme.inputFontSize;
472
451
  }, function (props) {
473
- return props.theme.textColor;
452
+ return props.theme.effectPanelTextMain;
474
453
  }, function (props) {
475
454
  return props.theme.fontFamily;
476
455
  }, function (props) {
@@ -481,7 +460,7 @@ var StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["defau
481
460
  return props.theme.inputBgd;
482
461
  });
483
462
  exports.StyledTimePicker = StyledTimePicker;
484
- var StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker--disabled {\n background-color: #f0f0f0;\n color: #6d6d6d;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n border: thin solid ", ";\n border-radius: 2px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 10px;\n box-sizing: content-box;\n background-color: ", ";\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n inset: auto !important;\n color: ", ";\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 257px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border: 1px solid ", ";\n border-radius: 2px;\n font-family: ", ";\n line-height: 1.125em;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n padding: 0.5em;\n font-size: ", ";\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
463
+ var StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
485
464
  return props.theme.fontFamily;
486
465
  }, function (props) {
487
466
  return props.theme.inputFontSize;
@@ -492,37 +471,37 @@ var StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["defau
492
471
  }, function (props) {
493
472
  return props.theme.inputBgdHover;
494
473
  }, function (props) {
495
- return props.theme.textColor;
474
+ return props.theme.effectPanelTextMain;
496
475
  }, function (props) {
497
- return props.theme.textColor;
476
+ return props.theme.effectPanelTextMain;
498
477
  }, function (props) {
499
478
  return props.theme.inputFontSize;
500
479
  }, function (props) {
501
480
  return props.theme.inputBgd;
502
481
  }, function (props) {
503
- return props.theme.textColor;
482
+ return props.theme.effectPanelTextSecondary1;
504
483
  }, function (props) {
505
- return props.theme.textColor;
484
+ return props.theme.effectPanelTextSecondary1;
506
485
  }, function (props) {
507
486
  return props.theme.inputBgdHover;
508
- }, function (props) {
509
- return props.theme.textColor;
510
487
  }, function (props) {
511
488
  return props.theme.fontFamily;
512
489
  }, function (props) {
513
- return props.theme.primaryBtnActColor;
490
+ return props.theme.effectPanelTextMain;
514
491
  }, function (props) {
515
492
  return props.theme.inputBgdActive;
493
+ }, function (props) {
494
+ return props.theme.effectPanelTextSecondary2;
516
495
  }, function (props) {
517
496
  return props.theme.inputFontSize;
518
497
  }, function (props) {
519
- return props.theme.textColor;
498
+ return props.theme.effectPanelTextSecondary1;
520
499
  }, function (props) {
521
- return props.theme.textColor;
500
+ return props.theme.effectPanelTextSecondary3;
522
501
  }, function (props) {
523
- return props.theme.textColor;
502
+ return props.theme.effectPanelTextMain;
524
503
  }, function (props) {
525
- return props.theme.textColor;
504
+ return props.theme.effectPanelTextSecondary1;
526
505
  }, function (props) {
527
506
  return props.theme.inputFontSize;
528
507
  }, function (props) {
@@ -532,21 +511,21 @@ var StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["defau
532
511
  }, function (props) {
533
512
  return props.theme.primaryBtnBgd;
534
513
  }, function (props) {
535
- return props.theme.primaryBtnActColor;
514
+ return props.theme.effectPanelTextMain;
536
515
  }, function (props) {
537
516
  return props.theme.primaryBtnActBgd;
538
517
  }, function (props) {
539
518
  return props.theme.primaryBtnActBgd;
540
519
  }, function (props) {
541
- return props.theme.primaryBtnActColor;
520
+ return props.theme.effectPanelTextMain;
542
521
  }, function (props) {
543
522
  return props.theme.primaryBtnActBgd;
544
523
  }, function (props) {
545
- return props.theme.primaryBtnActColor;
524
+ return props.theme.effectPanelTextMain;
546
525
  }, function (props) {
547
526
  return props.theme.primaryBtnActBgd;
548
527
  }, function (props) {
549
- return props.theme.textColor;
528
+ return props.theme.effectPanelTextMain;
550
529
  });
551
530
  exports.StyledDatePicker = StyledDatePicker;
552
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbIlNlbGVjdFRleHQiLCJzdHlsZWQiLCJzcGFuIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIkVuZEhvcml6b250YWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsIm5lZ2F0aXZlIiwibmVnYXRpdmVCdG5CZ2QiLCJzZWNvbmRhcnkiLCJzZWNvbmRhcnlCdG5CZ2QiLCJsaW5rIiwibGlua0J0bkJnZCIsImZsb2F0aW5nIiwiZmxvYXRpbmdCdG5CZ2QiLCJjdGEiLCJjdGFCdG5CZ2QiLCJwcmltYXJ5QnRuQmdkIiwicHJpbWFyeUJ0blJhZGl1cyIsIm5lZ2F0aXZlQnRuQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJmbG9hdGluZ0J0bkNvbG9yIiwiY3RhQnRuQ29sb3IiLCJwcmltYXJ5QnRuQ29sb3IiLCJsYXJnZSIsInByaW1hcnlCdG5Gb250U2l6ZUxhcmdlIiwic21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVTbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHQiLCJidG5Gb250RmFtaWx5IiwidHJhbnNpdGlvbiIsIndpZHRoIiwibmVnYXRpdmVCdG5Cb3JkZXIiLCJzZWNvbmRhcnlCdG5Cb3JkZXIiLCJmbG9hdGluZ0J0bkJvcmRlciIsImxpbmtCdG5Cb3JkZXIiLCJwcmltYXJ5QnRuQm9yZGVyIiwibmVnYXRpdmVCdG5CZ2RIb3ZlciIsImxpbmtCdG5BY3RCZ2RIb3ZlciIsImZsb2F0aW5nQnRuQmdkSG92ZXIiLCJjdGFCdG5CZ2RIb3ZlciIsInByaW1hcnlCdG5CZ2RIb3ZlciIsIm5lZ2F0aXZlQnRuQWN0Q29sb3IiLCJzZWNvbmRhcnlCdG5BY3RDb2xvciIsImxpbmtCdG5BY3RDb2xvciIsImZsb2F0aW5nQnRuQWN0Q29sb3IiLCJjdGFCdG5BY3RDb2xvciIsInByaW1hcnlCdG5BY3RDb2xvciIsIklucHV0IiwiaW5wdXQiLCJzZWNvbmRhcnlJbnB1dCIsIklucHV0TGlnaHQiLCJpbnB1dExUIiwiVGV4dEFyZWEiLCJ0ZXh0YXJlYSIsIlRleHRBcmVhTGlnaHQiLCJJbmxpbmVJbnB1dCIsImlubGluZUlucHV0IiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJhY3RpdmUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsInBhbmVsQmFja2dyb3VuZCIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJqb2luIiwicGFuZWxIZWFkZXJIZWlnaHQiLCJwYW5lbEhlYWRlckJvcmRlclJhZGl1cyIsIlN0eWxlZFBhbmVsRHJvcGRvd24iLCJwYW5lbERyb3Bkb3duU2Nyb2xsQmFyIiwidHlwZSIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwicGFuZWxCb3hTaGFkb3ciLCJwYW5lbEJvcmRlclJhZGl1cyIsIkJ1dHRvbkdyb3VwIiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsIlNlbGVjdGlvbkJ1dHRvbiIsInNlbGVjdGVkIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciIsInNlbGVjdGlvbkJ0bkFjdENvbG9yIiwic2VsZWN0aW9uQnRuQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RCZ2QiLCJzZWxlY3Rpb25CdG5CZ2QiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwicGFuZWxCYWNrZ3JvdW5kTFQiLCJ0aXRsZUNvbG9yTFQiLCJwYW5lbEJvcmRlckxUIiwiU3R5bGVkTW9kYWxDb250ZW50IiwidGV4dENvbG9yTFQiLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibWVkaWEiLCJwb3J0YWJsZSIsIm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyIsIlN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCIsInBhbG0iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEF0dHJidXRpb24iLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwiZm9udEZhbWlseU1lZGl1bSIsImZvbnRGYW1pbHkiLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiaW5wdXRCZ2RIb3ZlciIsIlN0eWxlZERhdGVQaWNrZXIiLCJEYXRlUGlja2VyIiwiaW5wdXRCZ2RBY3RpdmUiLCJwcmltYXJ5QnRuQWN0QmdkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdPLElBQU1BLFVBQVUsR0FBR0MsNkJBQU9DLElBQVYsOE1BQ1osVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBRE8sRUFFUixVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLGNBQWhCO0FBQUEsQ0FGRyxDQUFoQjs7O0FBV0EsSUFBTUMsY0FBYyxHQUFHLGtDQUFPUCxVQUFQLENBQUgsZ0lBQ2hCLFVBQUFHLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQURXLENBQXBCOzs7QUFLQSxJQUFNQyxjQUFjLEdBQUdSLDZCQUFPUyxHQUFWLDBVQUtMLFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sb0JBQWhCO0FBQUEsQ0FMQSxFQU1oQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLGlCQUFoQjtBQUFBLENBTlcsRUFZSCxVQUFBVCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlPLG9CQUFoQjtBQUFBLENBWkYsQ0FBcEI7Ozs7QUFnQkEsSUFBTUUsYUFBYSxHQUFHWiw2QkFBT1MsR0FBVixvSUFBbkI7Ozs7QUFLQSxJQUFNSSxxQkFBcUIsR0FBR2IsNkJBQU9TLEdBQVYsK0pBQTNCOzs7O0FBTUEsSUFBTUssb0JBQW9CLEdBQUdkLDZCQUFPUyxHQUFWLHlKQUExQjs7OztBQU1BLElBQU1NLG1CQUFtQixHQUFHZiw2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Q0ExTVcsQ0FBdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3JlYWN0LWRhdGUtcGlja2VyJztcbmltcG9ydCBUaW1lUGlja2VyIGZyb20gJ3JlYWN0LXRpbWUtcGlja2VyJztcbmltcG9ydCBSZWFjdFRvb2x0aXAgZnJvbSAncmVhY3QtdG9vbHRpcCc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJWZXJ0aWNhbEZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IEVuZEhvcml6b250YWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTcGFjZUJldHdlZW5GbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94SXRlbSA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU0JGbGV4Ym94Tm9NYXJnaW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbCA9IHN0eWxlZC5sYWJlbC5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtcGFuZWxfX2xhYmVsJ1xufSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxCb2xkID0gc3R5bGVkKFBhbmVsTGFiZWwpYFxuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3Bhbi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2hlYWRlcl9fdGl0bGUnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gIC5pY29uIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2NvbnRlbnQnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2lkZVBhbmVsU2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXNlY3Rpb24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8U2lkZVBhbmVsU2VjdGlvblByb3BzPmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTaWRlUGFuZWxEaXZpZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtZGl2aWRlcidcbn0pYFxuICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJCb3JkZXJ9IHNvbGlkXG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyTWFyZ2lufXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlckhlaWdodH1weDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkKFJlYWN0VG9vbHRpcClgXG4gICYuX19yZWFjdF9jb21wb25lbnRfdG9vbHRpcCB7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiA3cHggMThweDtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCb3hTaGFkb3d9O1xuXG4gICAgJi50eXBlLWRhcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcENvbG9yfTtcbiAgICAgICYucGxhY2UtYm90dG9tIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLXJpZ2h0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLWxlZnQge1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHMge1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPEJ1dHRvblByb3BzPmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQmdkXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Db2xvclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3JcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvclxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkNvbG9yfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGFyZ2VcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2VcbiAgICAgIDogcHJvcHMuc21hbGxcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplU21hbGxcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdH07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJ0bkZvbnRGYW1pbHl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTRweCAzMnB4JyA6IHByb3BzLnNtYWxsID8gJzZweCA5cHgnIDogJzlweCAxMnB4Jyl9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuICBib3JkZXI6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQm9yZGVyfTtcbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0QmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxMHB4JyA6IHByb3BzLnNtYWxsID8gJzZweCcgOiAnOHB4Jyl9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXRgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH07XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dEFyZWEgPSBzdHlsZWQudGV4dGFyZWE8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5leHBvcnQgY29uc3QgVGV4dEFyZWFMaWdodCA9IHN0eWxlZC50ZXh0YXJlYWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgd2FybmluZz86IGJvb2xlYW47XG4gIGlzVmFsaWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsSGVhZGVyUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkXG4gICAgcmdiKFxuICAgICAgJHtwcm9wcyA9PiAocHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcyA/IHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMuam9pbignLCcpIDogJ3RyYW5zcGFyZW50Jyl9XG4gICAgKTtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJCb3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcyB7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbERyb3Bkb3duID0gc3R5bGVkLmRpdjxTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHM+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsRHJvcGRvd25TY3JvbGxCYXJ9XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy50eXBlID09PSAnbGlnaHQnID8gcHJvcHMudGhlbWUubW9kYWxEcm9wZG93bkJhY2tncm91bmQgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm94U2hhZG93fTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlclJhZGl1c307XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIC5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxuICAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIERhdGFzZXRTcXVhcmVQcm9wcyB7XG4gIGJhY2tncm91bmRDb2xvcjogUkdCQ29sb3I7XG59XG5cbmV4cG9ydCBjb25zdCBEYXRhc2V0U3F1YXJlID0gc3R5bGVkLmRpdjxEYXRhc2V0U3F1YXJlUHJvcHM+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigke3Byb3BzID0+IHByb3BzLmJhY2tncm91bmRDb2xvci5qb2luKCcsJyl9KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNlbGVjdGlvbkJ1dHRvblByb3BzIHtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQnV0dG9uID0gc3R5bGVkLmRpdjxTZWxlY3Rpb25CdXR0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLnNlbGVjdGVkXG4gICAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJDb2xvcn07XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvciA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0QmdkIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQmdkfTtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBwYWRkaW5nOiA2cHggMTZweDtcblxuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgdGhlYWQge1xuICAgIHRyIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyTFR9O1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDI0cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNnB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLXZlcnRpY2FsLXBhbmVsJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJHttZWRpYS5wYWxtYFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICBgfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoKHtjbGFzc05hbWV9KSA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21vZGFsLXNlY3Rpb24nLCBjbGFzc05hbWUpXG59KSlgXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGB9O1xuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHMge1xuICBlcnJvcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtaW5wdXRfX2Zvb3Rub3RlJ1xufSk8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuZXJyb3IgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yIDogcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFQpfTtcbiAgZm9udC1zaXplOiAxMHB4O1xuYDtcbi8qKlxuICogTmV3ZXIgdmVyc2lvbnMgb2YgbWFwYm94LmdsIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBiYW5uZXIgb24gdG9wIG9mIHRoZSBtYXAgYnkgZGVmYXVsdFxuICogd2hpY2ggd2lsbCBjYXVzZSB0aGUgbWFwIHRvIGRpc3BsYXkgcG9pbnRzIGluIHRoZSB3cm9uZyBsb2NhdGlvbnNcbiAqIFRoaXMgd29ya2Fyb3VuZCB3aWxsIGhpZGUgdGhlIGVycm9yIGJhbm5lci5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5tYXBib3hnbC1tYXAge1xuICAgIC5tYXBib3hnbC1taXNzaW5nLWNzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFwYm94Z2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBdHRyYnV0aW9uID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXInXG59KWBcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggNnB4O1xuICB6LWluZGV4OiAxO1xuICAuYXR0cml0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgIGEsXG4gICAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgfVxuXG4gICAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYXR0cml0aW9uLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcblxuICAgIGEubWFwYm94Z2wtY3RybC1sb2dvIHtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbiAgYSxcbiAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgLmF0dHJpdGlvbi1sb2dvIGEge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuXG4gICAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgfVxuICBgfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtID8/IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGltZVBpY2tlciA9IHN0eWxlZChUaW1lUGlja2VyKWBcbiAgLnJlYWN0LXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyLFxuICAucmVhY3QtdGltZS1waWNrZXIgKixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtdGltZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyOiB0aGluIHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogNiArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyIHtcbiAgICBwYWRkaW5nOiAxcHggMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fYW1QbSB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbjplbmFibGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fY2xvY2stLWNsb3NlZCxcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbGVhci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREYXRlUGlja2VyID0gc3R5bGVkKERhdGVQaWNrZXIpYFxuICAucmVhY3QtZGF0ZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKixcbiAgLnJlYWN0LWRhdGUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlci0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXI6IHRoaW4gc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKCg0cHggKiAzKSArIDAuNTRlbSAqIDggKyAwLjIxN2VtICogMik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICB9XG5cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDExO1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2NhbGVuZGFyLS1jbG9zZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhciAucmVhY3QtY2FsZW5kYXIge1xuICAgIGJvcmRlci13aWR0aDogdGhpbjtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyLFxuICAucmVhY3QtY2FsZW5kYXIgKixcbiAgLnJlYWN0LWNhbGVuZGFyICo6YmVmb3JlLFxuICAucmVhY3QtY2FsZW5kYXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9tOmVuYWJsZWQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIGJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyNXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24gYnV0dG9uOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmV9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXNfX3dlZWtkYXkge1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtOdW1iZXJzIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS13ZWVrZW5kIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS1uZWlnaGJvcmluZ01vbnRoIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQsXG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbl9fYXJyb3cge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX195ZWFyLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2RlY2FkZS12aWV3IC5yZWFjdC1jYWxlbmRhcl9fdGlsZSxcbiAgLnJlYWN0LWNhbGVuZGFyX19jZW50dXJ5LXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBwYWRkaW5nOiAyZW0gMC41ZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAuY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQge1xuICAgINGBb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5gO1xuIl19
531
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbIlNlbGVjdFRleHQiLCJzdHlsZWQiLCJzcGFuIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIkVuZEhvcml6b250YWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsImJ1dHRvbiIsIm5lZ2F0aXZlIiwibmVnYXRpdmVCdG5CZ2QiLCJzZWNvbmRhcnkiLCJzZWNvbmRhcnlCdG5CZ2QiLCJsaW5rIiwibGlua0J0bkJnZCIsImZsb2F0aW5nIiwiZmxvYXRpbmdCdG5CZ2QiLCJjdGEiLCJjdGFCdG5CZ2QiLCJwcmltYXJ5QnRuQmdkIiwicHJpbWFyeUJ0blJhZGl1cyIsIm5lZ2F0aXZlQnRuQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJmbG9hdGluZ0J0bkNvbG9yIiwiY3RhQnRuQ29sb3IiLCJwcmltYXJ5QnRuQ29sb3IiLCJsYXJnZSIsInByaW1hcnlCdG5Gb250U2l6ZUxhcmdlIiwic21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVTbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHQiLCJidG5Gb250RmFtaWx5IiwidHJhbnNpdGlvbiIsIndpZHRoIiwibmVnYXRpdmVCdG5Cb3JkZXIiLCJzZWNvbmRhcnlCdG5Cb3JkZXIiLCJmbG9hdGluZ0J0bkJvcmRlciIsImxpbmtCdG5Cb3JkZXIiLCJwcmltYXJ5QnRuQm9yZGVyIiwibmVnYXRpdmVCdG5CZ2RIb3ZlciIsImxpbmtCdG5BY3RCZ2RIb3ZlciIsImZsb2F0aW5nQnRuQmdkSG92ZXIiLCJjdGFCdG5CZ2RIb3ZlciIsInByaW1hcnlCdG5CZ2RIb3ZlciIsIm5lZ2F0aXZlQnRuQWN0Q29sb3IiLCJzZWNvbmRhcnlCdG5BY3RDb2xvciIsImxpbmtCdG5BY3RDb2xvciIsImZsb2F0aW5nQnRuQWN0Q29sb3IiLCJjdGFCdG5BY3RDb2xvciIsInByaW1hcnlCdG5BY3RDb2xvciIsIklucHV0IiwiaW5wdXQiLCJzZWNvbmRhcnlJbnB1dCIsIklucHV0TGlnaHQiLCJpbnB1dExUIiwiVGV4dEFyZWEiLCJ0ZXh0YXJlYSIsIlRleHRBcmVhTGlnaHQiLCJJbmxpbmVJbnB1dCIsImlubGluZUlucHV0IiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJhY3RpdmUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsInBhbmVsQmFja2dyb3VuZCIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJqb2luIiwicGFuZWxIZWFkZXJIZWlnaHQiLCJwYW5lbEhlYWRlckJvcmRlclJhZGl1cyIsIlN0eWxlZFBhbmVsRHJvcGRvd24iLCJwYW5lbERyb3Bkb3duU2Nyb2xsQmFyIiwidHlwZSIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwicGFuZWxCb3hTaGFkb3ciLCJwYW5lbEJvcmRlclJhZGl1cyIsIkJ1dHRvbkdyb3VwIiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsIlNlbGVjdGlvbkJ1dHRvbiIsInNlbGVjdGVkIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciIsInNlbGVjdGlvbkJ0bkFjdENvbG9yIiwic2VsZWN0aW9uQnRuQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RCZ2QiLCJzZWxlY3Rpb25CdG5CZ2QiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwicGFuZWxCYWNrZ3JvdW5kTFQiLCJ0aXRsZUNvbG9yTFQiLCJwYW5lbEJvcmRlckxUIiwiU3R5bGVkTW9kYWxDb250ZW50IiwidGV4dENvbG9yTFQiLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibWVkaWEiLCJwb3J0YWJsZSIsIm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyIsIlN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCIsInBhbG0iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEF0dHJidXRpb24iLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwiZm9udEZhbWlseU1lZGl1bSIsImZvbnRGYW1pbHkiLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiZWZmZWN0UGFuZWxUZXh0TWFpbiIsImlucHV0QmdkSG92ZXIiLCJTdHlsZWREYXRlUGlja2VyIiwiRGF0ZVBpY2tlciIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTEiLCJpbnB1dEJnZEFjdGl2ZSIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTIiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzIiwicHJpbWFyeUJ0bkFjdEJnZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdPLElBQU1BLFVBQVUsR0FBR0MsNkJBQU9DLElBQVYsOE1BQ1osVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBRE8sRUFFUixVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLGNBQWhCO0FBQUEsQ0FGRyxDQUFoQjs7O0FBV0EsSUFBTUMsY0FBYyxHQUFHLGtDQUFPUCxVQUFQLENBQUgsZ0lBQ2hCLFVBQUFHLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQURXLENBQXBCOzs7QUFLQSxJQUFNQyxjQUFjLEdBQUdSLDZCQUFPUyxHQUFWLDBVQUtMLFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sb0JBQWhCO0FBQUEsQ0FMQSxFQU1oQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLGlCQUFoQjtBQUFBLENBTlcsRUFZSCxVQUFBVCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlPLG9CQUFoQjtBQUFBLENBWkYsQ0FBcEI7Ozs7QUFnQkEsSUFBTUUsYUFBYSxHQUFHWiw2QkFBT1MsR0FBVixvSUFBbkI7Ozs7QUFL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LENBQVlvSyxnQkFBaEI7QUFBQSxDQWhOTSxFQW1OaEIsVUFBQXJLLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWTRKLG1CQUFoQjtBQUFBLENBbk5XLENBQXRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlLXBpY2tlcic7XG5pbXBvcnQgVGltZVBpY2tlciBmcm9tICdyZWFjdC10aW1lLXBpY2tlcic7XG5pbXBvcnQgUmVhY3RUb29sdGlwIGZyb20gJ3JlYWN0LXRvb2x0aXAnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFNlbGVjdFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RGb250U2l6ZX07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dEJvbGQgPSBzdHlsZWQoU2VsZWN0VGV4dClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xuXG5leHBvcnQgY29uc3QgSWNvblJvdW5kU21hbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvcn07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBFbmRIb3Jpem9udGFsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWwgPSBzdHlsZWQubGFiZWwuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcCA9IHN0eWxlZChSZWFjdFRvb2x0aXApYFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogN3B4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQm94U2hhZG93fTtcblxuICAgICYudHlwZS1kYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBDb2xvcn07XG4gICAgICAmLnBsYWNlLWJvdHRvbSB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtdG9wIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1sZWZ0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzIHtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBsaW5rPzogYm9vbGVhbjtcbiAgZmxvYXRpbmc/OiBib29sZWFuO1xuICBjdGE/OiBib29sZWFuO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIHNtYWxsPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB3aWR0aD86IHN0cmluZztcbiAgaW5hY3RpdmU/OiBib29sZWFuO1xufVxuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGFuIGFjdHVhbCBidXR0b24gdG8gYmUgYWJsZSB0byBzZXQgZGlzYWJsZWQgYXR0cmlidXRlIGNvcnJlY3RseVxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b24uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdidXR0b24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8QnV0dG9uUHJvcHM+YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5CZ2RcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZFxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5CZ2RcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkJnZFxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Db2xvclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5Db2xvclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQ29sb3J9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5sYXJnZVxuICAgICAgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVMYXJnZVxuICAgICAgOiBwcm9wcy5zbWFsbFxuICAgICAgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVTbWFsbFxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0fTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYnRuRm9udEZhbWlseX07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxNHB4IDMycHgnIDogcHJvcHMuc21hbGwgPyAnNnB4IDlweCcgOiAnOXB4IDEycHgnKX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Cb3JkZXJ9O1xuICA6aG92ZXIsXG4gIDpmb2N1cyxcbiAgOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RCZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZEhvdmVyfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0Q29sb3J9O1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzEwcHgnIDogcHJvcHMuc21hbGwgPyAnNnB4JyA6ICc4cHgnKX07XG4gIH1cbmA7XG5cbmludGVyZmFjZSBJbnB1dFByb3BzIHtcbiAgc2Vjb25kYXJ5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0PElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuXG5leHBvcnQgY29uc3QgSW5wdXRMaWdodCA9IHN0eWxlZC5pbnB1dGBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBUZXh0QXJlYSA9IHN0eWxlZC50ZXh0YXJlYTxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcbmV4cG9ydCBjb25zdCBUZXh0QXJlYUxpZ2h0ID0gc3R5bGVkLnRleHRhcmVhYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0TFR9IGhlaWdodDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYDtcblxuZXhwb3J0IGNvbnN0IElubGluZUlucHV0ID0gc3R5bGVkKElucHV0KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbmxpbmVJbnB1dH07XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZFBhbmVsSGVhZGVyUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBsYWJlbFJDR0NvbG9yVmFsdWVzPzogUkdCQ29sb3IgfCBudWxsO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgaXNWYWxpZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxIZWFkZXJQcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWRcbiAgICByZ2IoXG4gICAgICAke3Byb3BzID0+IChwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzID8gcHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcy5qb2luKCcsJykgOiAndHJhbnNwYXJlbnQnKX1cbiAgICApO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkUGFuZWxEcm9wZG93blByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsRHJvcGRvd24gPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxEcm9wZG93blNjcm9sbEJhcn1cbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnR5cGUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5tb2RhbERyb3Bkb3duQmFja2dyb3VuZCA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyUmFkaXVzfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFNxdWFyZVByb3BzIHtcbiAgYmFja2dyb3VuZENvbG9yOiBSR0JDb2xvcjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRTcXVhcmUgPSBzdHlsZWQuZGl2PERhdGFzZXRTcXVhcmVQcm9wcz5gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKCR7cHJvcHMgPT4gcHJvcHMuYmFja2dyb3VuZENvbG9yLmpvaW4oJywnKX0pO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2VsZWN0aW9uQnV0dG9uUHJvcHMge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25CdXR0b24gPSBzdHlsZWQuZGl2PFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGFibGUgPSBzdHlsZWQudGFibGVgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICB0aGVhZCB7XG4gICAgdHIgdGgge1xuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZUNvbG9yTFR9O1xuICAgICAgcGFkZGluZzogMThweCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJMVH07XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMjRweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDE2cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICBgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtdmVydGljYWwtcGFuZWwnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICAubW9kYWwtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAke21lZGlhLnBhbG1gXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGB9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxTZWN0aW9uID0gc3R5bGVkLmRpdi5hdHRycygoe2NsYXNzTmFtZX0pID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbW9kYWwtc2VjdGlvbicsIGNsYXNzTmFtZSlcbn0pKWBcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAubW9kYWwtc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAubW9kYWwtc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgYH07XG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcyB7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC1pbnB1dF9fZm9vdG5vdGUnXG59KTxTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/IHByb3BzLnRoZW1lLmVycm9yQ29sb3IgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVCl9O1xuICBmb250LXNpemU6IDEwcHg7XG5gO1xuLyoqXG4gKiBOZXdlciB2ZXJzaW9ucyBvZiBtYXBib3guZ2wgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGJhbm5lciBvbiB0b3Agb2YgdGhlIG1hcCBieSBkZWZhdWx0XG4gKiB3aGljaCB3aWxsIGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBwb2ludHMgaW4gdGhlIHdyb25nIGxvY2F0aW9uc1xuICogVGhpcyB3b3JrYXJvdW5kIHdpbGwgaGlkZSB0aGUgZXJyb3IgYmFubmVyLlxuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLm1hcGxpYnJlZ2wtbWFwIHtcbiAgICAubWFwbGlicmVnbC1taXNzaW5nLWNzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFwbGlicmVnbC1jdHJsLWF0dHJpYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEF0dHJidXRpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbWFwbGlicmUtYXR0cmlidXRpb24tY29udGFpbmVyJ1xufSlgXG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDZweDtcbiAgei1pbmRleDogMTtcbiAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICBhLFxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIH1cblxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmF0dHJpdGlvbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5cbiAgICBhLm1hcGxpYnJlZ2wtY3RybC1sb2dvIHtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbiAgYSxcbiAgLnBpcGUtc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgLmF0dHJpdGlvbi1sb2dvIGEge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuXG4gICAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgfVxuICBgfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtID8/IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGltZVBpY2tlciA9IHN0eWxlZChUaW1lUGlja2VyKWBcbiAgLnJlYWN0LXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICosXG4gIC5yZWFjdC10aW1lLXBpY2tlciAqOmJlZm9yZSxcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogNiArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDJweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIsXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fbGVhZGluZ1plcm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0IHtcbiAgICBtaW4td2lkdGg6IDAuNTRlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0LS1oYXNMZWFkaW5nWmVybyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjU0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDFweCArIDAuNTRlbSk7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19hbVBtIHtcbiAgICBtYXgtd2lkdGg6IDM3cHg7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBhcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uOmVuYWJsZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbG9jay0tY2xvc2VkLFxuICAucmVhY3QtdGltZS1waWNrZXJfX2NsZWFyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERhdGVQaWNrZXIgPSBzdHlsZWQoRGF0ZVBpY2tlcilgXG4gIC5yZWFjdC1kYXRlLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXIsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjpiZWZvcmUsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogOCArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDlweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuXG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIge1xuICAgIHBhZGRpbmc6IDFweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2xlYWRpbmdaZXJvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dCB7XG4gICAgbWluLXdpZHRoOiAwLjU0ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDExO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhci0tY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyLFxuICAucmVhY3QtY2FsZW5kYXIgKixcbiAgLnJlYWN0LWNhbGVuZGFyICo6YmVmb3JlLFxuICAucmVhY3QtY2FsZW5kYXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9tOmVuYWJsZWQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b24ge1xuICAgIG1pbi13aWR0aDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b246ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkQWN0aXZlfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzX193ZWVrZGF5IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkyfTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla051bWJlcnMgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X19kYXlzX19kYXktLXdlZWtlbmQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS1uZWlnaGJvcmluZ01vbnRoIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzfTtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uX19sYWJlbF9fbGFiZWxUZXh0LFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2Fycm93IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3llYXItdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUsXG4gIC5yZWFjdC1jYWxlbmRhcl9fZGVjYWRlLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2NlbnR1cnktdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIHBhZGRpbmc6IDJlbSAwLjVlbTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICB9XG4gIC5jYWxlbmRhcl9fbmF2aWdhdGlvbl9fbGFiZWxfX2xhYmVsVGV4dCB7XG4gICAg0YFvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG5gO1xuIl19
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -47,4 +27,4 @@ var Switch = function Switch(props) {
47
27
 
48
28
  var _default = Switch;
49
29
  exports["default"] = _default;
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3dpdGNoLnRzeCJdLCJuYW1lcyI6WyJTd2l0Y2giLCJwcm9wcyIsInN3aXRjaFByb3BzIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7OztBQWdCQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFELEVBQXdCO0FBQ3JDLE1BQU1DLFdBQVcsbUNBQ1pELEtBRFk7QUFFZixjQUFRQSxLQUFLLENBQUNFLElBQU4sS0FBZTtBQUZSLElBQWpCOztBQUtBLHNCQUFPLGdDQUFDLG9CQUFELEVBQWNELFdBQWQsQ0FBUDtBQUNELENBUEQ7O2VBU2VGLE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDaGFuZ2VFdmVudEhhbmRsZXIsIEZvY3VzRXZlbnRIYW5kbGVyLCBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDaGVja2JveCBmcm9tICcuL2NoZWNrYm94JztcblxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIHtcbiAgY2hlY2tlZD86IGJvb2xlYW47XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xuICBlcnJvcj86IHN0cmluZztcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG4gIG9uQ2hhbmdlPzogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG4gIHZhbHVlPzogc3RyaW5nO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN3aXRjaCA9IChwcm9wczogU3dpdGNoUHJvcHMpID0+IHtcbiAgY29uc3Qgc3dpdGNoUHJvcHMgPSB7XG4gICAgLi4ucHJvcHMsXG4gICAgc3dpdGNoOiBwcm9wcy50eXBlICE9PSAnY2hlY2tib3gnXG4gIH07XG5cbiAgcmV0dXJuIDxDaGVja2JveCB7Li4uc3dpdGNoUHJvcHN9IC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU3dpdGNoO1xuIl19
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3dpdGNoLnRzeCJdLCJuYW1lcyI6WyJTd2l0Y2giLCJwcm9wcyIsInN3aXRjaFByb3BzIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBZ0JBLElBQU1BLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQsRUFBd0I7QUFDckMsTUFBTUMsV0FBVyxtQ0FDWkQsS0FEWTtBQUVmLGNBQVFBLEtBQUssQ0FBQ0UsSUFBTixLQUFlO0FBRlIsSUFBakI7O0FBS0Esc0JBQU8sZ0NBQUMsb0JBQUQsRUFBY0QsV0FBZCxDQUFQO0FBQ0QsQ0FQRDs7ZUFTZUYsTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NoYW5nZUV2ZW50SGFuZGxlciwgRm9jdXNFdmVudEhhbmRsZXIsIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IENoZWNrYm94IGZyb20gJy4vY2hlY2tib3gnO1xuXG5pbnRlcmZhY2UgU3dpdGNoUHJvcHMge1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgdHlwZT86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG4gIGVycm9yPzogc3RyaW5nO1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgb25DaGFuZ2U/OiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3dpdGNoID0gKHByb3BzOiBTd2l0Y2hQcm9wcykgPT4ge1xuICBjb25zdCBzd2l0Y2hQcm9wcyA9IHtcbiAgICAuLi5wcm9wcyxcbiAgICBzd2l0Y2g6IHByb3BzLnR5cGUgIT09ICdjaGVja2JveCdcbiAgfTtcblxuICByZXR1cm4gPENoZWNrYm94IHsuLi5zd2l0Y2hQcm9wc30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTd2l0Y2g7XG4iXX0=
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -91,4 +71,4 @@ function TimeRangeSliderTimeTitleFactory() {
91
71
 
92
72
  var _default = TimeRangeSliderTimeTitleFactory;
93
73
  exports["default"] = _default;
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vdGltZS1yYW5nZS1zbGlkZXItdGltZS10aXRsZS50c3giXSwibmFtZXMiOlsiVGltZVZhbHVlV3JhcHBlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJ0aW1lVGl0bGVGb250U2l6ZSIsImlzRW5sYXJnZWQiLCJ0ZXh0Q29sb3IiLCJUaW1lVmFsdWUiLCJ2YWx1ZSIsIlRpbWVSYW5nZVNsaWRlclRpbWVUaXRsZUZhY3RvcnkiLCJUaW1lVGl0bGUiLCJ0aW1lem9uZSIsInRpbWVGb3JtYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBTUEsSUFBTUEsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLDhlQUdQLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FIRSxFQUlELFVBQUFGLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNHLFVBQU4sR0FBbUIsUUFBbkIsR0FBOEIsZUFBbkM7QUFBQSxDQUpKLEVBUVQsVUFBQUgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxTQUFoQjtBQUFBLENBUkksRUFhQSxVQUFBSixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDRyxVQUFOLEdBQW1CLEtBQW5CLEdBQTJCLFFBQWhDO0FBQUEsQ0FiTCxFQWVMLFVBQUFILEtBQUs7QUFBQSxTQUFLLENBQUNBLEtBQUssQ0FBQ0csVUFBUCxHQUFvQixLQUFwQixHQUE0QixNQUFqQztBQUFBLENBZkEsRUFpQlAsVUFBQUgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxTQUFoQjtBQUFBLENBakJFLENBQXRCOztBQTJCQSxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWTtBQUFBLE1BQUVDLEtBQUYsUUFBRUEsS0FBRjtBQUFBO0FBQUE7QUFDaEI7QUFDQTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsOENBQU9BLEtBQVAsQ0FERjtBQUZnQjtBQUFBLENBQWxCOztBQWNBLFNBQVNDLCtCQUFULEdBQTJDO0FBQ3pDLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZO0FBQUEsUUFBRUYsS0FBRixTQUFFQSxLQUFGO0FBQUEsUUFBU0gsVUFBVCxTQUFTQSxVQUFUO0FBQUEsUUFBcUJNLFFBQXJCLFNBQXFCQSxRQUFyQjtBQUFBLFFBQStCQyxVQUEvQixTQUErQkEsVUFBL0I7QUFBQSx3QkFDaEIsZ0NBQUMsZ0JBQUQ7QUFBa0IsTUFBQSxVQUFVLEVBQUVQLFVBQTlCO0FBQTBDLE1BQUEsU0FBUyxFQUFDO0FBQXBELG9CQUNFLGdDQUFDLFNBQUQ7QUFBVyxNQUFBLEdBQUcsRUFBRSxDQUFoQjtBQUFtQixNQUFBLEtBQUssRUFBRSw4QkFBa0JNLFFBQWxCLEVBQTRCQyxVQUE1QixFQUF3Q0osS0FBSyxDQUFDLENBQUQsQ0FBN0M7QUFBMUIsTUFERixFQUVHSCxVQUFVLGdCQUNUO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSxnQ0FBQyxZQUFEO0FBQU8sTUFBQSxNQUFNLEVBQUM7QUFBZCxNQURGLENBRFMsR0FJUCxJQU5OLGVBT0UsZ0NBQUMsU0FBRDtBQUFXLE1BQUEsR0FBRyxFQUFFLENBQWhCO0FBQW1CLE1BQUEsS0FBSyxFQUFFLDhCQUFrQk0sUUFBbEIsRUFBNEJDLFVBQTVCLEVBQXdDSixLQUFLLENBQUMsQ0FBRCxDQUE3QztBQUExQixNQVBGLENBRGdCO0FBQUEsR0FBbEI7O0FBWUEsU0FBT0UsU0FBUDtBQUNEOztlQUVjRCwrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7TWludXN9IGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHtkYXRldGltZUZvcm1hdHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmludGVyZmFjZSBUaW1lVmFsdWVXcmFwcGVyUHJvcHMge1xuICBpc0VubGFyZ2VkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgVGltZVZhbHVlV3JhcHBlciA9IHN0eWxlZC5kaXY8VGltZVZhbHVlV3JhcHBlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpbWVUaXRsZUZvbnRTaXplfTtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IChwcm9wcy5pc0VubGFyZ2VkID8gJ2NlbnRlcicgOiAnc3BhY2UtYmV0d2VlbicpfTtcblxuICAuaG9yaXpvbnRhbC1iYXIge1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5cbiAgLnRpbWUtdmFsdWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246ICR7cHJvcHMgPT4gKHByb3BzLmlzRW5sYXJnZWQgPyAncm93JyA6ICdjb2x1bW4nKX07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiAke3Byb3BzID0+ICghcHJvcHMuaXNFbmxhcmdlZCA/ICc0MCUnIDogJ2F1dG8nKX07XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuXG4gIC50aW1lLXZhbHVlOmxhc3QtY2hpbGQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuYDtcblxuY29uc3QgVGltZVZhbHVlID0gKHt2YWx1ZX0pID0+IChcbiAgLy8gcmVuZGVyIHR3byBsaW5lcyBpZiBub3QgZW5sYXJnZWRcbiAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lLXZhbHVlXCI+XG4gICAgPHNwYW4+e3ZhbHVlfTwvc3Bhbj5cbiAgPC9kaXY+XG4pO1xuXG5pbnRlcmZhY2UgVGltZVRpdGxlUHJvcHMge1xuICB2YWx1ZTogbnVtYmVyW107XG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xuICB0aW1lem9uZT86IHN0cmluZyB8IG51bGw7XG4gIHRpbWVGb3JtYXQ6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gVGltZVJhbmdlU2xpZGVyVGltZVRpdGxlRmFjdG9yeSgpIHtcbiAgY29uc3QgVGltZVRpdGxlID0gKHt2YWx1ZSwgaXNFbmxhcmdlZCwgdGltZXpvbmUsIHRpbWVGb3JtYXR9OiBUaW1lVGl0bGVQcm9wcykgPT4gKFxuICAgIDxUaW1lVmFsdWVXcmFwcGVyIGlzRW5sYXJnZWQ9e2lzRW5sYXJnZWR9IGNsYXNzTmFtZT1cInRpbWUtcmFuZ2Utc2xpZGVyX190aW1lLXRpdGxlXCI+XG4gICAgICA8VGltZVZhbHVlIGtleT17MH0gdmFsdWU9e2RhdGV0aW1lRm9ybWF0dGVyKHRpbWV6b25lKSh0aW1lRm9ybWF0KSh2YWx1ZVswXSl9IC8+XG4gICAgICB7aXNFbmxhcmdlZCA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJob3Jpem9udGFsLWJhclwiPlxuICAgICAgICAgIDxNaW51cyBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxUaW1lVmFsdWUga2V5PXsxfSB2YWx1ZT17ZGF0ZXRpbWVGb3JtYXR0ZXIodGltZXpvbmUpKHRpbWVGb3JtYXQpKHZhbHVlWzFdKX0gLz5cbiAgICA8L1RpbWVWYWx1ZVdyYXBwZXI+XG4gICk7XG5cbiAgcmV0dXJuIFRpbWVUaXRsZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVGltZVJhbmdlU2xpZGVyVGltZVRpdGxlRmFjdG9yeTtcbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vdGltZS1yYW5nZS1zbGlkZXItdGltZS10aXRsZS50c3giXSwibmFtZXMiOlsiVGltZVZhbHVlV3JhcHBlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJ0aW1lVGl0bGVGb250U2l6ZSIsImlzRW5sYXJnZWQiLCJ0ZXh0Q29sb3IiLCJUaW1lVmFsdWUiLCJ2YWx1ZSIsIlRpbWVSYW5nZVNsaWRlclRpbWVUaXRsZUZhY3RvcnkiLCJUaW1lVGl0bGUiLCJ0aW1lem9uZSIsInRpbWVGb3JtYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFNQSxJQUFNQSxnQkFBZ0IsR0FBR0MsNkJBQU9DLEdBQVYsOGVBR1AsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxpQkFBaEI7QUFBQSxDQUhFLEVBSUQsVUFBQUYsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0csVUFBTixHQUFtQixRQUFuQixHQUE4QixlQUFuQztBQUFBLENBSkosRUFRVCxVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLFNBQWhCO0FBQUEsQ0FSSSxFQWFBLFVBQUFKLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNHLFVBQU4sR0FBbUIsS0FBbkIsR0FBMkIsUUFBaEM7QUFBQSxDQWJMLEVBZUwsVUFBQUgsS0FBSztBQUFBLFNBQUssQ0FBQ0EsS0FBSyxDQUFDRyxVQUFQLEdBQW9CLEtBQXBCLEdBQTRCLE1BQWpDO0FBQUEsQ0FmQSxFQWlCUCxVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLFNBQWhCO0FBQUEsQ0FqQkUsQ0FBdEI7O0FBMkJBLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZO0FBQUEsTUFBRUMsS0FBRixRQUFFQSxLQUFGO0FBQUE7QUFBQTtBQUNoQjtBQUNBO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSw4Q0FBT0EsS0FBUCxDQURGO0FBRmdCO0FBQUEsQ0FBbEI7O0FBY0EsU0FBU0MsK0JBQVQsR0FBMkM7QUFDekMsTUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVk7QUFBQSxRQUFFRixLQUFGLFNBQUVBLEtBQUY7QUFBQSxRQUFTSCxVQUFULFNBQVNBLFVBQVQ7QUFBQSxRQUFxQk0sUUFBckIsU0FBcUJBLFFBQXJCO0FBQUEsUUFBK0JDLFVBQS9CLFNBQStCQSxVQUEvQjtBQUFBLHdCQUNoQixnQ0FBQyxnQkFBRDtBQUFrQixNQUFBLFVBQVUsRUFBRVAsVUFBOUI7QUFBMEMsTUFBQSxTQUFTLEVBQUM7QUFBcEQsb0JBQ0UsZ0NBQUMsU0FBRDtBQUFXLE1BQUEsR0FBRyxFQUFFLENBQWhCO0FBQW1CLE1BQUEsS0FBSyxFQUFFLDhCQUFrQk0sUUFBbEIsRUFBNEJDLFVBQTVCLEVBQXdDSixLQUFLLENBQUMsQ0FBRCxDQUE3QztBQUExQixNQURGLEVBRUdILFVBQVUsZ0JBQ1Q7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLFlBQUQ7QUFBTyxNQUFBLE1BQU0sRUFBQztBQUFkLE1BREYsQ0FEUyxHQUlQLElBTk4sZUFPRSxnQ0FBQyxTQUFEO0FBQVcsTUFBQSxHQUFHLEVBQUUsQ0FBaEI7QUFBbUIsTUFBQSxLQUFLLEVBQUUsOEJBQWtCTSxRQUFsQixFQUE0QkMsVUFBNUIsRUFBd0NKLEtBQUssQ0FBQyxDQUFELENBQTdDO0FBQTFCLE1BUEYsQ0FEZ0I7QUFBQSxHQUFsQjs7QUFZQSxTQUFPRSxTQUFQO0FBQ0Q7O2VBRWNELCtCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtNaW51c30gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQge2RhdGV0aW1lRm9ybWF0dGVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW50ZXJmYWNlIFRpbWVWYWx1ZVdyYXBwZXJQcm9wcyB7XG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBUaW1lVmFsdWVXcmFwcGVyID0gc3R5bGVkLmRpdjxUaW1lVmFsdWVXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGltZVRpdGxlRm9udFNpemV9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLmlzRW5sYXJnZWQgPyAnY2VudGVyJyA6ICdzcGFjZS1iZXR3ZWVuJyl9O1xuXG4gIC5ob3Jpem9udGFsLWJhciB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cblxuICAudGltZS12YWx1ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogJHtwcm9wcyA9PiAocHJvcHMuaXNFbmxhcmdlZCA/ICdyb3cnIDogJ2NvbHVtbicpfTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKCFwcm9wcy5pc0VubGFyZ2VkID8gJzQwJScgOiAnYXV0bycpfTtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgfVxuICB9XG5cbiAgLnRpbWUtdmFsdWU6bGFzdC1jaGlsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5gO1xuXG5jb25zdCBUaW1lVmFsdWUgPSAoe3ZhbHVlfSkgPT4gKFxuICAvLyByZW5kZXIgdHdvIGxpbmVzIGlmIG5vdCBlbmxhcmdlZFxuICA8ZGl2IGNsYXNzTmFtZT1cInRpbWUtdmFsdWVcIj5cbiAgICA8c3Bhbj57dmFsdWV9PC9zcGFuPlxuICA8L2Rpdj5cbik7XG5cbmludGVyZmFjZSBUaW1lVGl0bGVQcm9wcyB7XG4gIHZhbHVlOiBudW1iZXJbXTtcbiAgaXNFbmxhcmdlZD86IGJvb2xlYW47XG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgdGltZUZvcm1hdDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBUaW1lUmFuZ2VTbGlkZXJUaW1lVGl0bGVGYWN0b3J5KCkge1xuICBjb25zdCBUaW1lVGl0bGUgPSAoe3ZhbHVlLCBpc0VubGFyZ2VkLCB0aW1lem9uZSwgdGltZUZvcm1hdH06IFRpbWVUaXRsZVByb3BzKSA9PiAoXG4gICAgPFRpbWVWYWx1ZVdyYXBwZXIgaXNFbmxhcmdlZD17aXNFbmxhcmdlZH0gY2xhc3NOYW1lPVwidGltZS1yYW5nZS1zbGlkZXJfX3RpbWUtdGl0bGVcIj5cbiAgICAgIDxUaW1lVmFsdWUga2V5PXswfSB2YWx1ZT17ZGF0ZXRpbWVGb3JtYXR0ZXIodGltZXpvbmUpKHRpbWVGb3JtYXQpKHZhbHVlWzBdKX0gLz5cbiAgICAgIHtpc0VubGFyZ2VkID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhvcml6b250YWwtYmFyXCI+XG4gICAgICAgICAgPE1pbnVzIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPFRpbWVWYWx1ZSBrZXk9ezF9IHZhbHVlPXtkYXRldGltZUZvcm1hdHRlcih0aW1lem9uZSkodGltZUZvcm1hdCkodmFsdWVbMV0pfSAvPlxuICAgIDwvVGltZVZhbHVlV3JhcHBlcj5cbiAgKTtcblxuICByZXR1cm4gVGltZVRpdGxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUaW1lUmFuZ2VTbGlkZXJUaW1lVGl0bGVGYWN0b3J5O1xuIl19