@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +43 -99
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +4 -4
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +59 -81
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +50 -36
  9. package/dist/common/animation-control/animation-speed-slider.js +2 -2
  10. package/dist/common/animation-control/animation-window-control.js +1 -1
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +2 -2
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +1 -1
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +6 -6
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +1 -1
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +2 -2
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +1 -1
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +3 -3
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +11 -17
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +2 -2
  29. package/dist/common/data-table/canvas.js +2 -2
  30. package/dist/common/data-table/cell-size.js +44 -13
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +169 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +45 -5
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +66 -29
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +148 -62
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +86 -13
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +3 -3
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +2 -2
  45. package/dist/common/field-selector.d.ts +9 -3
  46. package/dist/common/field-selector.js +3 -3
  47. package/dist/common/field-token.d.ts +8 -0
  48. package/dist/common/field-token.js +7 -3
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +2 -2
  51. package/dist/common/file-uploader/file-upload-progress.js +2 -2
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +2 -2
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +2 -2
  56. package/dist/common/histogram-plot.d.ts +2 -2
  57. package/dist/common/histogram-plot.js +18 -12
  58. package/dist/common/icon-button.d.ts +2 -1
  59. package/dist/common/icon-button.js +2 -2
  60. package/dist/common/icons/add.d.ts +2 -2
  61. package/dist/common/icons/add.js +2 -2
  62. package/dist/common/icons/anchor_window.d.ts +2 -2
  63. package/dist/common/icons/anchor_window.js +2 -2
  64. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  65. package/dist/common/icons/arrow-down-alt.js +2 -2
  66. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-solid.js +2 -2
  68. package/dist/common/icons/arrow-down.d.ts +2 -2
  69. package/dist/common/icons/arrow-down.js +2 -2
  70. package/dist/common/icons/arrow-left.d.ts +2 -2
  71. package/dist/common/icons/arrow-left.js +2 -2
  72. package/dist/common/icons/arrow-right.d.ts +2 -2
  73. package/dist/common/icons/arrow-right.js +2 -2
  74. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  75. package/dist/common/icons/arrow-up-alt.js +2 -2
  76. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  77. package/dist/common/icons/arrow-up-solid.js +2 -2
  78. package/dist/common/icons/arrow-up.d.ts +2 -2
  79. package/dist/common/icons/arrow-up.js +2 -2
  80. package/dist/common/icons/base.d.ts +1 -1
  81. package/dist/common/icons/base.js +2 -2
  82. package/dist/common/icons/bug.d.ts +2 -2
  83. package/dist/common/icons/bug.js +2 -2
  84. package/dist/common/icons/cancel.d.ts +2 -2
  85. package/dist/common/icons/cancel.js +2 -2
  86. package/dist/common/icons/checkmark.d.ts +2 -2
  87. package/dist/common/icons/checkmark.js +2 -2
  88. package/dist/common/icons/clipboard.d.ts +2 -2
  89. package/dist/common/icons/clipboard.js +2 -2
  90. package/dist/common/icons/clock.d.ts +2 -2
  91. package/dist/common/icons/clock.js +2 -2
  92. package/dist/common/icons/close.d.ts +2 -2
  93. package/dist/common/icons/close.js +2 -2
  94. package/dist/common/icons/code-alt.d.ts +2 -2
  95. package/dist/common/icons/code-alt.js +2 -2
  96. package/dist/common/icons/copy.d.ts +2 -2
  97. package/dist/common/icons/copy.js +2 -2
  98. package/dist/common/icons/crosshairs.d.ts +2 -2
  99. package/dist/common/icons/crosshairs.js +2 -2
  100. package/dist/common/icons/cube-3d.d.ts +2 -2
  101. package/dist/common/icons/cube-3d.js +2 -2
  102. package/dist/common/icons/cursor-click.d.ts +2 -2
  103. package/dist/common/icons/cursor-click.js +2 -2
  104. package/dist/common/icons/cursor-point.d.ts +14 -0
  105. package/dist/common/icons/cursor-point.js +89 -0
  106. package/dist/common/icons/data-table.d.ts +2 -2
  107. package/dist/common/icons/data-table.js +2 -2
  108. package/dist/common/icons/db.d.ts +2 -2
  109. package/dist/common/icons/db.js +2 -2
  110. package/dist/common/icons/delete.d.ts +2 -2
  111. package/dist/common/icons/delete.js +2 -2
  112. package/dist/common/icons/docs.d.ts +2 -2
  113. package/dist/common/icons/docs.js +2 -2
  114. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  115. package/dist/common/icons/drag-n-drop.js +2 -2
  116. package/dist/common/icons/draw-polygon.d.ts +2 -2
  117. package/dist/common/icons/draw-polygon.js +2 -2
  118. package/dist/common/icons/email.d.ts +2 -2
  119. package/dist/common/icons/email.js +2 -2
  120. package/dist/common/icons/expand.d.ts +2 -2
  121. package/dist/common/icons/expand.js +2 -2
  122. package/dist/common/icons/eye-seen.d.ts +2 -2
  123. package/dist/common/icons/eye-seen.js +2 -2
  124. package/dist/common/icons/eye-unseen.d.ts +2 -2
  125. package/dist/common/icons/eye-unseen.js +2 -2
  126. package/dist/common/icons/file-type.d.ts +2 -2
  127. package/dist/common/icons/file-type.js +2 -2
  128. package/dist/common/icons/file.d.ts +2 -2
  129. package/dist/common/icons/file.js +2 -2
  130. package/dist/common/icons/files.d.ts +1 -1
  131. package/dist/common/icons/files.js +2 -2
  132. package/dist/common/icons/filter-funnel.d.ts +2 -2
  133. package/dist/common/icons/filter-funnel.js +2 -2
  134. package/dist/common/icons/free-window.d.ts +2 -2
  135. package/dist/common/icons/free-window.js +2 -2
  136. package/dist/common/icons/gear.d.ts +2 -2
  137. package/dist/common/icons/gear.js +2 -2
  138. package/dist/common/icons/hash.d.ts +2 -2
  139. package/dist/common/icons/hash.js +2 -2
  140. package/dist/common/icons/histogram.d.ts +1 -1
  141. package/dist/common/icons/histogram.js +2 -2
  142. package/dist/common/icons/index.d.ts +1 -0
  143. package/dist/common/icons/index.js +10 -2
  144. package/dist/common/icons/info.d.ts +2 -2
  145. package/dist/common/icons/info.js +2 -2
  146. package/dist/common/icons/layers.d.ts +2 -2
  147. package/dist/common/icons/layers.js +2 -2
  148. package/dist/common/icons/left-arrow.d.ts +2 -2
  149. package/dist/common/icons/left-arrow.js +2 -2
  150. package/dist/common/icons/legend.d.ts +2 -2
  151. package/dist/common/icons/legend.js +2 -2
  152. package/dist/common/icons/line-chart.d.ts +2 -2
  153. package/dist/common/icons/line-chart.js +2 -2
  154. package/dist/common/icons/login.d.ts +2 -2
  155. package/dist/common/icons/login.js +2 -2
  156. package/dist/common/icons/logout.d.ts +2 -2
  157. package/dist/common/icons/logout.js +2 -2
  158. package/dist/common/icons/map-icon.d.ts +2 -2
  159. package/dist/common/icons/map-icon.js +2 -2
  160. package/dist/common/icons/map.d.ts +2 -2
  161. package/dist/common/icons/map.js +2 -2
  162. package/dist/common/icons/messages.d.ts +2 -2
  163. package/dist/common/icons/messages.js +2 -2
  164. package/dist/common/icons/minus.d.ts +2 -2
  165. package/dist/common/icons/minus.js +2 -2
  166. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  167. package/dist/common/icons/order-by-dataset.js +2 -2
  168. package/dist/common/icons/order-by-list.d.ts +2 -2
  169. package/dist/common/icons/order-by-list.js +2 -2
  170. package/dist/common/icons/pause.d.ts +2 -2
  171. package/dist/common/icons/pause.js +2 -2
  172. package/dist/common/icons/picture.d.ts +1 -1
  173. package/dist/common/icons/picture.js +2 -2
  174. package/dist/common/icons/pin.d.ts +2 -2
  175. package/dist/common/icons/pin.js +2 -2
  176. package/dist/common/icons/play.d.ts +2 -2
  177. package/dist/common/icons/play.js +2 -2
  178. package/dist/common/icons/polygon.d.ts +2 -2
  179. package/dist/common/icons/polygon.js +2 -2
  180. package/dist/common/icons/rectangle.d.ts +2 -2
  181. package/dist/common/icons/rectangle.js +2 -2
  182. package/dist/common/icons/reduce.d.ts +2 -2
  183. package/dist/common/icons/reduce.js +2 -2
  184. package/dist/common/icons/reset.d.ts +2 -2
  185. package/dist/common/icons/reset.js +2 -2
  186. package/dist/common/icons/rocket.d.ts +2 -2
  187. package/dist/common/icons/rocket.js +2 -2
  188. package/dist/common/icons/save.d.ts +2 -2
  189. package/dist/common/icons/save.js +2 -2
  190. package/dist/common/icons/save2.d.ts +2 -2
  191. package/dist/common/icons/save2.js +2 -2
  192. package/dist/common/icons/search.d.ts +2 -2
  193. package/dist/common/icons/search.js +2 -2
  194. package/dist/common/icons/settings.d.ts +2 -2
  195. package/dist/common/icons/settings.js +2 -2
  196. package/dist/common/icons/share.d.ts +2 -2
  197. package/dist/common/icons/share.js +2 -2
  198. package/dist/common/icons/split.d.ts +2 -2
  199. package/dist/common/icons/split.js +2 -2
  200. package/dist/common/icons/square-select.d.ts +2 -2
  201. package/dist/common/icons/square-select.js +2 -2
  202. package/dist/common/icons/trash.d.ts +2 -2
  203. package/dist/common/icons/trash.js +2 -2
  204. package/dist/common/icons/vert-dots.d.ts +2 -2
  205. package/dist/common/icons/vert-dots.js +2 -2
  206. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  207. package/dist/common/icons/vert-three-dots.js +2 -2
  208. package/dist/common/icons/warning-sign.d.ts +2 -2
  209. package/dist/common/icons/warning-sign.js +2 -2
  210. package/dist/common/icons/warning.d.ts +2 -2
  211. package/dist/common/icons/warning.js +2 -2
  212. package/dist/common/image-preview.d.ts +2 -2
  213. package/dist/common/image-preview.js +2 -2
  214. package/dist/common/index.d.ts +1 -1
  215. package/dist/common/index.js +8 -2
  216. package/dist/common/info-helper.d.ts +2 -2
  217. package/dist/common/info-helper.js +2 -2
  218. package/dist/common/item-selector/accessor.js +2 -2
  219. package/dist/common/item-selector/chickleted-input.js +2 -2
  220. package/dist/common/item-selector/dropdown-list.d.ts +28 -8
  221. package/dist/common/item-selector/dropdown-list.js +144 -25
  222. package/dist/common/item-selector/item-selector.d.ts +2 -3
  223. package/dist/common/item-selector/item-selector.js +7 -3
  224. package/dist/common/item-selector/typeahead.d.ts +16 -12
  225. package/dist/common/item-selector/typeahead.js +24 -13
  226. package/dist/common/line-chart.d.ts +2 -2
  227. package/dist/common/line-chart.js +2 -2
  228. package/dist/common/loading-spinner.js +2 -2
  229. package/dist/common/logo.d.ts +2 -2
  230. package/dist/common/logo.js +2 -2
  231. package/dist/common/map-layer-selector.d.ts +2 -2
  232. package/dist/common/map-layer-selector.js +3 -4
  233. package/dist/common/modal.d.ts +24 -11
  234. package/dist/common/modal.js +2 -2
  235. package/dist/common/portaled.d.ts +513 -2
  236. package/dist/common/portaled.js +2 -2
  237. package/dist/common/progress-bar.d.ts +2 -2
  238. package/dist/common/progress-bar.js +2 -2
  239. package/dist/common/range-brush.js +2 -2
  240. package/dist/common/range-plot.d.ts +6 -2
  241. package/dist/common/range-plot.js +4 -3
  242. package/dist/common/range-slider.d.ts +5 -1
  243. package/dist/common/range-slider.js +9 -3
  244. package/dist/common/slider/mouse-event.js +2 -2
  245. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  246. package/dist/common/slider/slider-bar-handle.js +2 -2
  247. package/dist/common/slider/slider-handle.d.ts +1 -1
  248. package/dist/common/slider/slider-handle.js +2 -2
  249. package/dist/common/slider/slider.d.ts +7 -5
  250. package/dist/common/slider/slider.js +8 -5
  251. package/dist/common/styled-components.d.ts +5 -0
  252. package/dist/common/styled-components.js +161 -47
  253. package/dist/common/switch.d.ts +3 -2
  254. package/dist/common/switch.js +2 -2
  255. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  256. package/dist/common/time-range-slider-time-title.js +2 -2
  257. package/dist/common/time-range-slider.d.ts +6 -3
  258. package/dist/common/time-range-slider.js +33 -14
  259. package/dist/common/time-slider-marker.d.ts +1 -1
  260. package/dist/common/time-slider-marker.js +3 -3
  261. package/dist/common/timeline-slider.d.ts +13 -0
  262. package/dist/common/timeline-slider.js +173 -0
  263. package/dist/common/tippy-tooltip.d.ts +4 -2
  264. package/dist/common/tippy-tooltip.js +23 -11
  265. package/dist/common/toolbar-item.d.ts +1 -1
  266. package/dist/common/toolbar-item.js +6 -4
  267. package/dist/common/toolbar.js +2 -2
  268. package/dist/common/vertical-toolbar.js +2 -2
  269. package/dist/connect/keplergl-connect.d.ts +5 -1
  270. package/dist/connect/keplergl-connect.js +2 -2
  271. package/dist/connect/with-local-selector.js +2 -2
  272. package/dist/container.js +2 -2
  273. package/dist/context.js +4 -3
  274. package/dist/dnd-context.d.ts +13 -0
  275. package/dist/dnd-context.js +252 -0
  276. package/dist/editor/editor.d.ts +11 -10
  277. package/dist/editor/editor.js +97 -103
  278. package/dist/editor/feature-action-panel.d.ts +8 -6
  279. package/dist/editor/feature-action-panel.js +75 -22
  280. package/dist/effects/effect-configurator.d.ts +18 -0
  281. package/dist/effects/effect-configurator.js +237 -0
  282. package/dist/effects/effect-list.d.ts +15 -0
  283. package/dist/effects/effect-list.js +173 -0
  284. package/dist/effects/effect-manager.d.ts +21 -0
  285. package/dist/effects/effect-manager.js +129 -0
  286. package/dist/effects/effect-panel-header.d.ts +33 -0
  287. package/dist/effects/effect-panel-header.js +174 -0
  288. package/dist/effects/effect-panel.d.ts +24 -0
  289. package/dist/effects/effect-panel.js +162 -0
  290. package/dist/effects/effect-time-configurator.d.ts +13 -0
  291. package/dist/effects/effect-time-configurator.js +191 -0
  292. package/dist/effects/effect-type-selector.d.ts +11 -0
  293. package/dist/effects/effect-type-selector.js +117 -0
  294. package/dist/effects/side-panel-title.d.ts +7 -0
  295. package/dist/effects/side-panel-title.js +67 -0
  296. package/dist/filter-animation-controller.d.ts +17 -0
  297. package/dist/filter-animation-controller.js +91 -0
  298. package/dist/filters/components.js +2 -2
  299. package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
  300. package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
  301. package/dist/filters/filter-panels/new-filter-panel.js +2 -2
  302. package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
  303. package/dist/filters/filter-panels/range-filter-panel.js +3 -3
  304. package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
  305. package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
  306. package/dist/filters/filter-panels/types.d.ts +2 -1
  307. package/dist/filters/filter-panels/types.js +1 -1
  308. package/dist/filters/index.d.ts +2 -0
  309. package/dist/filters/index.js +18 -2
  310. package/dist/filters/multi-select-filter.js +2 -2
  311. package/dist/filters/polygon-filter.js +14 -4
  312. package/dist/filters/range-filter.js +6 -4
  313. package/dist/filters/single-select-filter.js +2 -2
  314. package/dist/filters/time-range-filter.d.ts +2 -1
  315. package/dist/filters/time-range-filter.js +10 -7
  316. package/dist/filters/time-widget-top.d.ts +8 -0
  317. package/dist/filters/time-widget-top.js +123 -0
  318. package/dist/filters/time-widget.d.ts +3 -7
  319. package/dist/filters/time-widget.js +35 -92
  320. package/dist/filters/types.d.ts +7 -3
  321. package/dist/filters/types.js +1 -1
  322. package/dist/geocoder/geocoder.d.ts +1 -3
  323. package/dist/geocoder/geocoder.js +2 -2
  324. package/dist/geocoder-panel.d.ts +9 -3
  325. package/dist/geocoder-panel.js +30 -19
  326. package/dist/hooks/useFeatureFlags.js +1 -1
  327. package/dist/index.d.ts +68 -20
  328. package/dist/index.js +599 -99
  329. package/dist/injector.d.ts +4 -4
  330. package/dist/injector.js +2 -2
  331. package/dist/kepler-gl.d.ts +58 -17
  332. package/dist/kepler-gl.js +78 -31
  333. package/dist/layer-animation-controller.d.ts +13 -0
  334. package/dist/layer-animation-controller.js +76 -0
  335. package/dist/map/coordinate-info.js +2 -2
  336. package/dist/map/effects/effect-control.d.ts +16 -0
  337. package/dist/map/effects/effect-control.js +81 -0
  338. package/dist/map/layer-hover-info.d.ts +2 -2
  339. package/dist/map/layer-hover-info.js +26 -10
  340. package/dist/map/layer-selector-panel.js +2 -2
  341. package/dist/map/lazy-tippy.js +1 -1
  342. package/dist/map/locale-panel.d.ts +1 -1
  343. package/dist/map/locale-panel.js +2 -2
  344. package/dist/map/map-control-panel.d.ts +6 -0
  345. package/dist/map/map-control-panel.js +65 -9
  346. package/dist/map/map-control-toolbar.js +3 -3
  347. package/dist/map/map-control-tooltip.js +2 -2
  348. package/dist/map/map-control.d.ts +15 -7
  349. package/dist/map/map-control.js +6 -7
  350. package/dist/map/map-draw-panel.d.ts +2 -2
  351. package/dist/map/map-draw-panel.js +2 -9
  352. package/dist/map/map-legend-panel.d.ts +12 -1
  353. package/dist/map/map-legend-panel.js +27 -14
  354. package/dist/map/map-legend.d.ts +1 -1
  355. package/dist/map/map-legend.js +2 -2
  356. package/dist/map/map-popover-content.d.ts +28 -0
  357. package/dist/map/map-popover-content.js +51 -0
  358. package/dist/map/map-popover.d.ts +11 -14
  359. package/dist/map/map-popover.js +94 -15
  360. package/dist/map/split-map-button.js +2 -2
  361. package/dist/map/toggle-3d-button.js +2 -2
  362. package/dist/map-container.d.ts +33 -9
  363. package/dist/map-container.js +530 -161
  364. package/dist/map-view-state-context.d.ts +12 -0
  365. package/dist/map-view-state-context.js +116 -0
  366. package/dist/maps-layout.d.ts +5 -2
  367. package/dist/maps-layout.js +7 -3
  368. package/dist/modal-container.d.ts +2 -6
  369. package/dist/modal-container.js +8 -6
  370. package/dist/modals/add-map-style-modal.d.ts +1 -3
  371. package/dist/modals/add-map-style-modal.js +12 -6
  372. package/dist/modals/cloud-tile.js +2 -2
  373. package/dist/modals/data-table-modal.d.ts +11 -2
  374. package/dist/modals/data-table-modal.js +75 -24
  375. package/dist/modals/delete-data-modal.js +2 -2
  376. package/dist/modals/error-display.js +2 -2
  377. package/dist/modals/export-data-modal.d.ts +1 -3
  378. package/dist/modals/export-data-modal.js +2 -2
  379. package/dist/modals/export-image-modal.d.ts +1 -3
  380. package/dist/modals/export-image-modal.js +2 -2
  381. package/dist/modals/export-map-modal/components.d.ts +2 -2
  382. package/dist/modals/export-map-modal/components.js +2 -2
  383. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  384. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  385. package/dist/modals/export-map-modal/export-json-map.js +2 -2
  386. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  387. package/dist/modals/export-map-modal/export-map-modal.js +2 -2
  388. package/dist/modals/image-modal-container.d.ts +1 -0
  389. package/dist/modals/image-modal-container.js +2 -2
  390. package/dist/modals/load-data-modal.js +2 -2
  391. package/dist/modals/load-storage-map.js +2 -2
  392. package/dist/modals/loading-dialog.js +2 -2
  393. package/dist/modals/modal-dialog.js +2 -2
  394. package/dist/modals/modal-tabs.d.ts +1 -1
  395. package/dist/modals/modal-tabs.js +2 -2
  396. package/dist/modals/overwrite-map-modal.js +2 -2
  397. package/dist/modals/provider-modal-container.d.ts +3 -2
  398. package/dist/modals/provider-modal-container.js +2 -2
  399. package/dist/modals/save-map-modal.js +2 -2
  400. package/dist/modals/share-map-modal.js +2 -2
  401. package/dist/modals/status-panel.js +2 -2
  402. package/dist/modals/storage-map-viewer.d.ts +1 -1
  403. package/dist/modals/storage-map-viewer.js +2 -2
  404. package/dist/notification-panel/notification-item.d.ts +7 -10
  405. package/dist/notification-panel/notification-item.js +45 -13
  406. package/dist/notification-panel.js +2 -2
  407. package/dist/plot-container.js +20 -8
  408. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  409. package/dist/side-panel/add-by-dataset-button.js +173 -0
  410. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  411. package/dist/side-panel/cloud-storage-dropdown.js +2 -2
  412. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  413. package/dist/side-panel/common/dataset-info.js +2 -2
  414. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  415. package/dist/side-panel/common/dataset-tag.js +14 -11
  416. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  417. package/dist/side-panel/common/dataset-title.js +71 -105
  418. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  419. package/dist/side-panel/common/source-data-catalog.js +2 -2
  420. package/dist/side-panel/common/source-data-selector.js +2 -2
  421. package/dist/side-panel/common/types.d.ts +7 -27
  422. package/dist/side-panel/common/types.js +1 -1
  423. package/dist/side-panel/custom-panel.d.ts +6 -7
  424. package/dist/side-panel/custom-panel.js +2 -2
  425. package/dist/side-panel/filter-manager.d.ts +18 -6
  426. package/dist/side-panel/filter-manager.js +176 -65
  427. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  428. package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
  429. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  430. package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
  431. package/dist/side-panel/filter-panel/filter-panel.js +2 -2
  432. package/dist/side-panel/interaction-manager.d.ts +6 -3
  433. package/dist/side-panel/interaction-manager.js +21 -8
  434. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  435. package/dist/side-panel/interaction-panel/brush-config.js +2 -2
  436. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  437. package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
  438. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
  439. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
  440. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  441. package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
  442. package/dist/side-panel/layer-manager.d.ts +8 -10
  443. package/dist/side-panel/layer-manager.js +71 -37
  444. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  445. package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
  446. package/dist/side-panel/layer-panel/color-palette.js +2 -2
  447. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  448. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  449. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  450. package/dist/side-panel/layer-panel/color-selector.js +175 -127
  451. package/dist/side-panel/layer-panel/column-selector.js +2 -2
  452. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  453. package/dist/side-panel/layer-panel/custom-palette.js +6 -5
  454. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  455. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  456. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  457. package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
  458. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  459. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  460. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  461. package/dist/side-panel/layer-panel/dataset-section.js +6 -7
  462. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  463. package/dist/side-panel/layer-panel/how-to-button.js +2 -2
  464. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  465. package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
  466. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  467. package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
  468. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  469. package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
  470. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  471. package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
  472. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  473. package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
  474. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  475. package/dist/side-panel/layer-panel/layer-list.js +112 -89
  476. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  477. package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
  478. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  479. package/dist/side-panel/layer-panel/layer-panel.js +24 -11
  480. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  481. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  482. package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
  483. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  484. package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
  485. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  486. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  487. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  488. package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
  489. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  490. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
  491. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
  492. package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
  493. package/dist/side-panel/map-manager.d.ts +13 -6
  494. package/dist/side-panel/map-manager.js +56 -45
  495. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  496. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
  497. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  498. package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
  499. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  500. package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
  501. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  502. package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
  503. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  504. package/dist/side-panel/panel-dropdown.js +2 -2
  505. package/dist/side-panel/panel-header-action.d.ts +4 -2
  506. package/dist/side-panel/panel-header-action.js +11 -4
  507. package/dist/side-panel/panel-header.d.ts +13 -8
  508. package/dist/side-panel/panel-header.js +2 -2
  509. package/dist/side-panel/panel-tab.d.ts +2 -2
  510. package/dist/side-panel/panel-tab.js +2 -2
  511. package/dist/side-panel/panel-title.d.ts +6 -3
  512. package/dist/side-panel/panel-title.js +31 -14
  513. package/dist/side-panel/panel-toggle.d.ts +1 -1
  514. package/dist/side-panel/panel-toggle.js +2 -2
  515. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  516. package/dist/side-panel/panel-view-list-toggle.js +143 -0
  517. package/dist/side-panel/side-bar.d.ts +15 -16
  518. package/dist/side-panel/side-bar.js +8 -6
  519. package/dist/side-panel.d.ts +2 -117
  520. package/dist/side-panel.js +14 -20
  521. package/dist/types.d.ts +16 -9
  522. package/dist/types.js +1 -1
  523. package/package.json +41 -34
  524. package/dist/editor/constants.d.ts +0 -17
  525. package/dist/editor/constants.js +0 -47
  526. package/dist/editor/feature-styles.d.ts +0 -37
  527. package/dist/editor/feature-styles.js +0 -92
  528. package/dist/editor/handle-style.d.ts +0 -42
  529. package/dist/editor/handle-style.js +0 -100
  530. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -132,6 +132,11 @@ function generateSearchFunction(props) {
132
132
  };
133
133
  }
134
134
 
135
+ function searchOptionsOnInput(inputValue, props) {
136
+ var searchOptions = generateSearchFunction(props);
137
+ return searchOptions(inputValue, props.options);
138
+ }
139
+
135
140
  function getOptionsForValue(value, props, state) {
136
141
  var options = props.options,
137
142
  showOptionsWhenEmpty = props.showOptionsWhenEmpty;
@@ -188,13 +193,14 @@ var Typeahead = /*#__PURE__*/function (_Component) {
188
193
  if (_this.props.searchable) {
189
194
  // reset entry input
190
195
  _this.setState({
191
- searchResults: getOptionsForValue('', _this.props, _this.state),
196
+ // reset search options when selection has been made
197
+ searchResults: _this.props.options || [],
192
198
  selection: '',
193
199
  entryValue: ''
194
200
  });
195
201
  }
196
202
 
197
- return (_this$props$onOptionS = (_this$props = _this.props).onOptionSelected) === null || _this$props$onOptionS === void 0 ? void 0 : _this$props$onOptionS.call(_this$props, option, event);
203
+ (_this$props$onOptionS = (_this$props = _this.props).onOptionSelected) === null || _this$props$onOptionS === void 0 ? void 0 : _this$props$onOptionS.call(_this$props, option, event);
198
204
  });
199
205
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onTextEntryUpdated", function () {
200
206
  if (_this.props.searchable) {
@@ -203,7 +209,7 @@ var Typeahead = /*#__PURE__*/function (_Component) {
203
209
  var value = (_this$entry$current = _this.entry.current) === null || _this$entry$current === void 0 ? void 0 : _this$entry$current.value;
204
210
 
205
211
  _this.setState({
206
- searchResults: getOptionsForValue(value, _this.props, _this.state),
212
+ searchResults: searchOptionsOnInput(value, _this.props),
207
213
  selection: '',
208
214
  entryValue: value
209
215
  });
@@ -215,10 +221,10 @@ var Typeahead = /*#__PURE__*/function (_Component) {
215
221
  if (!selection) {
216
222
  var _this$props$onKeyDown, _this$props2;
217
223
 
218
- return (_this$props$onKeyDown = (_this$props2 = _this.props).onKeyDown) === null || _this$props$onKeyDown === void 0 ? void 0 : _this$props$onKeyDown.call(_this$props2, event);
224
+ (_this$props$onKeyDown = (_this$props2 = _this.props).onKeyDown) === null || _this$props$onKeyDown === void 0 ? void 0 : _this$props$onKeyDown.call(_this$props2, event);
219
225
  }
220
226
 
221
- return _this._onOptionSelected(selection, event);
227
+ _this._onOptionSelected(selection, event);
222
228
  });
223
229
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onEscape", function () {
224
230
  _this.setState({
@@ -324,8 +330,8 @@ var Typeahead = /*#__PURE__*/function (_Component) {
324
330
  }
325
331
  });
326
332
  _this.state = {
327
- /** @type {ReadonlyArray<string>} */
328
- searchResults: [],
333
+ // initiate searchResults with options
334
+ searchResults: _this.props.options || [],
329
335
  // This should be called something else, 'entryValue'
330
336
  entryValue: _this.props.value || _this.props.initialValue,
331
337
  // A valid typeahead value
@@ -358,8 +364,8 @@ var Typeahead = /*#__PURE__*/function (_Component) {
358
364
  CustomListComponent = _this$props$customLis === void 0 ? _dropdownList["default"] : _this$props$customLis;
359
365
  return /*#__PURE__*/_react["default"].createElement(CustomListComponent, {
360
366
  fixedOptions: this.props.fixedOptions,
361
- options: this.props.maxVisible ? this.state.searchResults.slice(0, this.props.maxVisible) : this.state.searchResults,
362
- areResultsTruncated: this.props.maxVisible && this.state.searchResults.length > this.props.maxVisible,
367
+ options: this.state.searchResults,
368
+ areResultsTruncated: false,
363
369
  resultsTruncatedMessage: this.props.resultsTruncatedMessage,
364
370
  onOptionSelected: this._onOptionSelected,
365
371
  allowCustomValues: this.props.allowCustomValues,
@@ -462,10 +468,15 @@ var Typeahead = /*#__PURE__*/function (_Component) {
462
468
  }], [{
463
469
  key: "getDerivedStateFromProps",
464
470
  value: function getDerivedStateFromProps(props, state) {
465
- // invoked after a component is instantiated as well as before it is re-rendered
471
+ if (props.options === state.prevOptions) {
472
+ return {};
473
+ } // invoked after a component is instantiated as well as before it is re-rendered
474
+
475
+
466
476
  var searchResults = getOptionsForValue(state.entryValue, props, state);
467
477
  return {
468
- searchResults: searchResults
478
+ searchResults: searchResults,
479
+ prevOptions: props.options
469
480
  };
470
481
  }
471
482
  }]);
@@ -504,4 +515,4 @@ var Typeahead = /*#__PURE__*/function (_Component) {
504
515
  (0, _reactLifecyclesCompat.polyfill)(Typeahead);
505
516
  var _default = Typeahead;
506
517
  exports["default"] = _default;
507
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vaXRlbS1zZWxlY3Rvci90eXBlYWhlYWQudHN4Il0sIm5hbWVzIjpbIkRFRkFVTFRfQ0xBU1MiLCJUeXBlYWhlYWRXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RTaGFkb3ciLCJJbnB1dEJveCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiVHlwZWFoZWFkSW5wdXQiLCJpbnB1dCIsImlucHV0TFQiLCJzZWNvbmRhcnlJbnB1dCIsInNlbGVjdEJhY2tncm91bmRMVCIsInNlY29uZGFyeUlucHV0QmdkIiwiSW5wdXRJY29uIiwiaW5wdXRQbGFjZWhvbGRlckNvbG9yIiwiZ2VuZXJhdGVTZWFyY2hGdW5jdGlvbiIsInNlYXJjaE9wdGlvbnMiLCJmaWx0ZXJPcHRpb24iLCJDb25zb2xlIiwid2FybiIsInZhbHVlIiwib3B0aW9ucyIsImZpbHRlciIsIm8iLCJtYXBwZXIiLCJBY2Nlc3NvciIsImdlbmVyYXRlQWNjZXNzb3IiLCJJREVOVElUWV9GTiIsImZ1enp5IiwiZXh0cmFjdCIsIm1hcCIsInJlcyIsImluZGV4IiwiZ2V0T3B0aW9uc0ZvclZhbHVlIiwic3RhdGUiLCJzaG93T3B0aW9uc1doZW5FbXB0eSIsInNlYXJjaGFibGUiLCJzaG91bGRTa2lwU2VhcmNoIiwiZW1wdHlWYWx1ZSIsInRyaW0iLCJsZW5ndGgiLCJpc0ZvY3VzZWQiLCJUeXBlYWhlYWQiLCJlbnRyeSIsImN1cnJlbnQiLCJmb2N1cyIsIk51bWJlciIsImFsbG93Q3VzdG9tVmFsdWVzIiwiZW50cnlWYWx1ZSIsInNlYXJjaFJlc3VsdHMiLCJpbmRleE9mIiwiX2hhc0N1c3RvbVZhbHVlIiwib3B0aW9uIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInNlbGVjdGlvbiIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJnZXRTZWxlY3Rpb24iLCJvbktleURvd24iLCJfb25PcHRpb25TZWxlY3RlZCIsInNlbGVjdGlvbkluZGV4IiwiX2dldEN1c3RvbVZhbHVlIiwiZXZlbnRzIiwiS2V5RXZlbnQiLCJET01fVktfVVAiLCJuYXZVcCIsIkRPTV9WS19ET1dOIiwibmF2RG93biIsIkRPTV9WS19SRVRVUk4iLCJET01fVktfRU5URVIiLCJfb25FbnRlciIsIkRPTV9WS19FU0NBUEUiLCJfb25Fc2NhcGUiLCJET01fVktfVEFCIiwiX29uVGFiIiwiZGVsdGEiLCJfaGFzSGludCIsIm5ld0luZGV4IiwibWF4VmlzaWJsZSIsInNsaWNlIiwiX25hdiIsIm9uQ2hhbmdlIiwiX29uVGV4dEVudHJ5VXBkYXRlZCIsInNoaWZ0S2V5IiwiaGFuZGxlciIsImV2ZW50TWFwIiwia2V5Q29kZSIsInByZXZlbnREZWZhdWx0Iiwib25Gb2N1cyIsIm9uQmx1ciIsImluaXRpYWxWYWx1ZSIsInJvb3QiLCJjdXN0b21MaXN0Q29tcG9uZW50IiwiQ3VzdG9tTGlzdENvbXBvbmVudCIsIkRyb3Bkb3duTGlzdCIsImZpeGVkT3B0aW9ucyIsInJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlIiwiY3VzdG9tQ2xhc3NlcyIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCIsImRlZmF1bHRDbGFzc05hbWVzIiwiZGlzcGxheU9wdGlvbiIsInNlbGVjdGVkSXRlbXMiLCJfaGFzRml4ZWRPcHRpb25zIiwibmFtZSIsIkFycmF5IiwiaXNBcnJheSIsImlucHV0Q2xhc3NlcyIsIkJvb2xlYW4iLCJpbnB1dENsYXNzTGlzdCIsImNsYXNzZXMiLCJjbGFzc0xpc3QiLCJfb25LZXlEb3duIiwib25LZXlQcmVzcyIsIm9uS2V5VXAiLCJfb25Gb2N1cyIsIl9yZW5kZXJIaWRkZW5JbnB1dCIsImRpc2FibGVkIiwiaW5wdXRQcm9wcyIsInBsYWNlaG9sZGVyIiwiX29uQ2hhbmdlIiwiX29uQmx1ciIsIl9yZW5kZXJJbmNyZW1lbnRhbFNlYXJjaFJlc3VsdHMiLCJDb21wb25lbnQiLCJ0ZXh0YXJlYSIsImlucHV0RGlzcGxheU9wdGlvbiIsIkxpc3RJdGVtIiwiaW5wdXRJY29uIiwiU2VhcmNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxhQUFhLEdBQUcsV0FBdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUEsSUFBTUMsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLDBOQUdBLFVBQUFDLEtBQUs7QUFBQSxTQUN2QkEsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxpQkFBMUIsR0FBOENILEtBQUssQ0FBQ0UsS0FBTixDQUFZRSxlQURuQztBQUFBLENBSEwsRUFLTixVQUFBSixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDRSxLQUFOLENBQVlHLGtCQUFoQjtBQUFBLENBTEMsQ0FBdEI7O0FBWUEsSUFBTUMsUUFBUSxHQUFHUiw2QkFBT0MsR0FBUCxDQUFXUSxLQUFYLENBQWlCO0FBQ2hDQyxFQUFBQSxTQUFTLEVBQUU7QUFEcUIsQ0FBakIsQ0FBSCwyR0FBZDs7QUFNQSxJQUFNQyxjQUFjLEdBQUdYLDZCQUFPWSxLQUFWLG9LQUNoQixVQUFBVixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZUyxPQUExQixHQUFvQ1gsS0FBSyxDQUFDRSxLQUFOLENBQVlVLGNBQXJEO0FBQUEsQ0FEVyxFQUdJLFVBQUFaLEtBQUs7QUFBQSxTQUN2QkEsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZVyxrQkFBMUIsR0FBK0NiLEtBQUssQ0FBQ0UsS0FBTixDQUFZWSxpQkFEcEM7QUFBQSxDQUhULENBQXBCOztBQVFBLElBQU1DLFNBQVMsR0FBR2pCLDZCQUFPQyxHQUFQ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QUEwQnBCQyxFQUFBQSxVQUFVLEVBQUUsSUExQlE7QUEyQnBCNEQsRUFBQUEsdUJBQXVCLEVBQUU7QUEzQkwsQztBQTJWeEIscUNBQVN0RCxTQUFUO2VBRWVBLFMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgRWxlbWVudFR5cGUsIEtleWJvYXJkRXZlbnRIYW5kbGVyfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgZnV6enkgZnJvbSAnZnV6enknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y29uc29sZSBhcyBDb25zb2xlfSBmcm9tICdnbG9iYWwvd2luZG93JztcblxuaW1wb3J0IEFjY2Vzc29yIGZyb20gJy4vYWNjZXNzb3InO1xuaW1wb3J0IERyb3Bkb3duTGlzdCwge0xpc3RJdGVtfSBmcm9tICcuL2Ryb3Bkb3duLWxpc3QnO1xuaW1wb3J0IHtTZWFyY2h9IGZyb20gJy4uL2ljb25zJztcbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuY29uc3QgREVGQVVMVF9DTEFTUyA9ICd0eXBlYWhlYWQnO1xuLyoqXG4gKiBDb3BpZWQgbW9zdGx5IGZyb20gJ3JlYWN0LXR5cGVhaGVhZCcsIGFuIGF1dG8tY29tcGxldGluZyB0ZXh0IGlucHV0XG4gKlxuICogUmVuZGVycyBhbiB0ZXh0IGlucHV0IHRoYXQgc2hvd3Mgb3B0aW9ucyBuZWFyYnkgdGhhdCB5b3UgY2FuIHVzZSB0aGVcbiAqIGtleWJvYXJkIG9yIG1vdXNlIHRvIHNlbGVjdC5cbiAqL1xuXG5pbnRlcmZhY2UgVHlwZWFoZWFkV3JhcHBlclByb3BzIHtcbiAgbGlnaHQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBUeXBlYWhlYWRXcmFwcGVyID0gc3R5bGVkLmRpdjxUeXBlYWhlYWRXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0U2hhZG93fTtcblxuICA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbmA7XG5cbmNvbnN0IElucHV0Qm94ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3R5cGVhaGVhZF9faW5wdXRfYm94J1xufSlgXG4gIHBhZGRpbmc6IDhweDtcbmA7XG5cbmNvbnN0IFR5cGVhaGVhZElucHV0ID0gc3R5bGVkLmlucHV0PFR5cGVhaGVhZFdyYXBwZXJQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuaW5wdXRMVCA6IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0KX0gOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5zZWxlY3RCYWNrZ3JvdW5kTFQgOiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJnZH07XG4gIH1cbmA7XG5cbmNvbnN0IElucHV0SWNvbiA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICd0eXBlYWhlYWRfX2lucHV0X2ljb24nXG59KWBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTVweDtcbiAgdG9wOiAxNHB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuYDtcblxuZnVuY3Rpb24gZ2VuZXJhdGVTZWFyY2hGdW5jdGlvbihwcm9wczogVHlwZWFoZWFkUHJvcHMpIHtcbiAgY29uc3Qge3NlYXJjaE9wdGlvbnMsIGZpbHRlck9wdGlvbn0gPSBwcm9wcztcbiAgaWYgKHR5cGVvZiBzZWFyY2hPcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKGZpbHRlck9wdGlvbiAhPT0gbnVsbCkge1xuICAgICAgQ29uc29sZS53YXJuKCdzZWFyY2hPcHRpb25zIHByb3AgaXMgYmVpbmcgdXNlZCwgZmlsdGVyT3B0aW9uIHByb3Agd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hPcHRpb25zO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJPcHRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyB1c2UgY3VzdG9tIGZpbHRlciBvcHRpb25cbiAgICByZXR1cm4gKHZhbHVlLCBvcHRpb25zKSA9PiBvcHRpb25zLmZpbHRlcihvID0+IGZpbHRlck9wdGlvbih2YWx1ZSwgbykpO1xuICB9XG5cbiAgY29uc3QgbWFwcGVyID1cbiAgICB0eXBlb2YgZmlsdGVyT3B0aW9uID09PSAnc3RyaW5nJ1xuICAgICAgPyBBY2Nlc3Nvci5nZW5lcmF0ZUFjY2Vzc29yKGZpbHRlck9wdGlvbilcbiAgICAgIDogQWNjZXNzb3IuSURFTlRJVFlfRk47XG5cbiAgcmV0dXJuICh2YWx1ZSwgb3B0aW9ucykgPT5cbiAgICBmdXp6eS5maWx0ZXIodmFsdWUsIG9wdGlvbnMsIHtleHRyYWN0OiBtYXBwZXJ9KS5tYXAocmVzID0+IG9wdGlvbnNbcmVzLmluZGV4XSk7XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvbnNGb3JWYWx1ZSh2YWx1ZSwgcHJvcHMsIHN0YXRlKSB7XG4gIGNvbnN0IHtvcHRpb25zLCBzaG93T3B0aW9uc1doZW5FbXB0eX0gPSBwcm9wcztcblxuICBpZiAoIXByb3BzLnNlYXJjaGFibGUpIHtcbiAgICAvLyBkaXJlY3RseSBwYXNzIHRocm91Z2ggb3B0aW9ucyBpZiBjYW4gbm90IGJlIHNlYXJjaGVkXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgaWYgKHNob3VsZFNraXBTZWFyY2godmFsdWUsIHN0YXRlLCBzaG93T3B0aW9uc1doZW5FbXB0eSkpIHtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0IHNlYXJjaE9wdGlvbnMgPSBnZW5lcmF0ZVNlYXJjaEZ1bmN0aW9uKHByb3BzKTtcbiAgcmV0dXJuIHNlYXJjaE9wdGlvbnModmFsdWUsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRTa2lwU2VhcmNoKGlucHV0LCBzdGF0ZSwgc2hvd09wdGlvbnNXaGVuRW1wdHkpIHtcbiAgY29uc3QgZW1wdHlWYWx1ZSA9ICFpbnB1dCB8fCBpbnB1dC50cmltKCkubGVuZ3RoID09PSAwO1xuXG4gIC8vIHRoaXMuc3RhdGUgbXVzdCBiZSBjaGVja2VkIGJlY2F1c2UgaXQgbWF5IG5vdCBiZSBkZWZpbmVkIHlldCBpZiB0aGlzIGZ1bmN0aW9uXG4gIC8vIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiBnZXRJbml0aWFsU3RhdGVcbiAgY29uc3QgaXNGb2N1c2VkID0gc3RhdGUgJiYgc3RhdGUuaXNGb2N1c2VkO1xuICByZXR1cm4gIShzaG93T3B0aW9uc1doZW5FbXB0eSAmJiBpc0ZvY3VzZWQpICYmIGVtcHR5VmFsdWU7XG59XG5cbmludGVyZmFjZSBUeXBlYWhlYWRQcm9wcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGN1c3RvbUNsYXNzZXM/OiBhbnk7XG4gIG1heFZpc2libGU/OiBudW1iZXI7XG4gIHJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlPzogc3RyaW5nO1xuICBvcHRpb25zPzogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PjtcbiAgZml4ZWRPcHRpb25zPzogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PiB8IG51bGw7XG4gIGFsbG93Q3VzdG9tVmFsdWVzPzogbnVtYmVyO1xuICBpbml0aWFsVmFsdWU/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0YXJlYT86IGJvb2xlYW47XG4gIGlucHV0UHJvcHM/OiBvYmplY3Q7XG4gIG9uT3B0aW9uU2VsZWN0ZWQ/OiAob3B0aW9uOiBhbnksIGV2ZW50OiBhbnkpID0+IGFueTtcbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleURvd24/OiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleVByZXNzPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvbktleVVwPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkZvY3VzPzogKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZDtcbiAgb25CbHVyPzogKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBmaWx0ZXJPcHRpb24/OiBzdHJpbmcgfCBGdW5jdGlvbjtcbiAgc2VhcmNoT3B0aW9ucz86IEZ1bmN0aW9uO1xuICBkaXNwbGF5T3B0aW9uPzogc3RyaW5nIHwgRnVuY3Rpb247XG4gIGlucHV0RGlzcGxheU9wdGlvbj86IHN0cmluZyB8IEZ1bmN0aW9uO1xuICBmb3JtSW5wdXRPcHRpb24/OiBzdHJpbmcgfCBGdW5jdGlvbjtcbiAgZGVmYXVsdENsYXNzTmFtZXM/OiBib29sZWFuO1xuICBjdXN0b21MaXN0Q29tcG9uZW50PzogRWxlbWVudFR5cGU7XG4gIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PzogRWxlbWVudFR5cGUgfCBGdW5jdGlvbjtcbiAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudD86IEVsZW1lbnRUeXBlIHwgRnVuY3Rpb24gfCBudWxsO1xuICBzaG93T3B0aW9uc1doZW5FbXB0eT86IGJvb2xlYW47XG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICBsaWdodD86IGJvb2xlYW47XG4gIGlucHV0SWNvbjogRWxlbWVudFR5cGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc2VsZWN0ZWRJdGVtcz86IGFueVtdIHwgbnVsbDtcbn1cblxuaW50ZXJmYWNlIFR5cGVhaGVhZFN0YXRlIHtcbiAgLyoqIEB0eXBlIHtSZWFkb25seUFycmF5PHN0cmluZz59ICovXG4gIHNlYXJjaFJlc3VsdHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW107XG5cbiAgLy8gVGhpcyBzaG91bGQgYmUgY2FsbGVkIHNvbWV0aGluZyBlbHNlLCAnZW50cnlWYWx1ZSdcbiAgZW50cnlWYWx1ZT86IHN0cmluZztcblxuICAvLyBBIHZhbGlkIHR5cGVhaGVhZCB2YWx1ZVxuICBzZWxlY3Rpb24/OiBzdHJpbmc7XG5cbiAgLy8gSW5kZXggb2YgdGhlIHNlbGVjdGlvblxuICBzZWxlY3Rpb25JbmRleDogbnVsbDtcblxuICAvLyBLZWVwIHRyYWNrIG9mIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgaW5wdXQgZWxlbWVudCwgdG8gZGV0ZXJtaW5lXG4gIC8vIHdoZXRoZXIgdG8gc2hvdyBvcHRpb25zIHdoZW4gZW1wdHkgKGlmIHNob3dPcHRpb25zV2hlbkVtcHR5IGlzIHRydWUpXG4gIGlzRm9jdXNlZDogYm9vbGVhbjtcbn1cblxuY2xhc3MgVHlwZWFoZWFkIGV4dGVuZHMgQ29tcG9uZW50PFR5cGVhaGVhZFByb3BzLCBUeXBlYWhlYWRTdGF0ZT4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIG9wdGlvbnM6IFtdLFxuICAgIGN1c3RvbUNsYXNzZXM6IHt9LFxuICAgIGFsbG93Q3VzdG9tVmFsdWVzOiAwLFxuICAgIGluaXRpYWxWYWx1ZTogJycsXG4gICAgdmFsdWU6ICcnLFxuICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgdGV4dGFyZWE6IGZhbHNlLFxuICAgIGlucHV0UHJvcHM6IHt9LFxuICAgIG9uT3B0aW9uU2VsZWN0ZWQob3B0aW9uKSB7fSxcbiAgICBvbkNoYW5nZShldmVudCkge30sXG4gICAgb25LZXlEb3duKGV2ZW50KSB7fSxcbiAgICBvbktleVByZXNzKGV2ZW50KSB7fSxcbiAgICBvbktleVVwKGV2ZW50KSB7fSxcbiAgICBvbkZvY3VzKGV2ZW50KSB7fSxcbiAgICBvbkJsdXIoZXZlbnQpIHt9LFxuICAgIGZpbHRlck9wdGlvbjogbnVsbCxcbiAgICBzZWFyY2hPcHRpb25zOiBudWxsLFxuICAgIGlucHV0RGlzcGxheU9wdGlvbjogbnVsbCxcbiAgICBkZWZhdWx0Q2xhc3NOYW1lczogdHJ1ZSxcbiAgICBjdXN0b21MaXN0Q29tcG9uZW50OiBEcm9wZG93bkxpc3QsXG4gICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ6IExpc3RJdGVtLFxuICAgIGlucHV0SWNvbjogU2VhcmNoLFxuICAgIGN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQ6IG51bGwsXG4gICAgc2hvd09wdGlvbnNXaGVuRW1wdHk6IHRydWUsXG4gICAgc2VhcmNoYWJsZTogdHJ1ZSxcbiAgICByZXN1bHRzVHJ1bmNhdGVkTWVzc2FnZTogbnVsbFxuICB9O1xuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgLy8gIGludm9rZWQgYWZ0ZXIgYSBjb21wb25lbnQgaXMgaW5zdGFudGlhdGVkIGFzIHdlbGwgYXMgYmVmb3JlIGl0IGlzIHJlLXJlbmRlcmVkXG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IGdldE9wdGlvbnNGb3JWYWx1ZShzdGF0ZS5lbnRyeVZhbHVlLCBwcm9wcywgc3RhdGUpO1xuXG4gICAgcmV0dXJuIHtzZWFyY2hSZXN1bHRzfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIC8qKiBAdHlwZSB7UmVhZG9ubHlBcnJheTxzdHJpbmc+fSAqL1xuICAgICAgc2VhcmNoUmVzdWx0czogW10sXG5cbiAgICAgIC8vIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBzb21ldGhpbmcgZWxzZSwgJ2VudHJ5VmFsdWUnXG4gICAgICBlbnRyeVZhbHVlOiB0aGlzLnByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuaW5pdGlhbFZhbHVlLFxuXG4gICAgICAvLyBBIHZhbGlkIHR5cGVhaGVhZCB2YWx1ZVxuICAgICAgc2VsZWN0aW9uOiB0aGlzLnByb3BzLnZhbHVlLFxuXG4gICAgICAvLyBJbmRleCBvZiB0aGUgc2VsZWN0aW9uXG4gICAgICBzZWxlY3Rpb25JbmRleDogbnVsbCxcblxuICAgICAgLy8gS2VlcCB0cmFjayBvZiB0aGUgZm9jdXMgc3RhdGUgb2YgdGhlIGlucHV0IGVsZW1lbnQsIHRvIGRldGVybWluZVxuICAgICAgLy8gd2hldGhlciB0byBzaG93IG9wdGlvbnMgd2hlbiBlbXB0eSAoaWYgc2hvd09wdGlvbnNXaGVuRW1wdHkgaXMgdHJ1ZSlcbiAgICAgIGlzRm9jdXNlZDogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gY2FsbCBmb2N1cyBvbiBlbnRyeSBvciBkaXYgdG8gdHJpZ2dlciBrZXkgZXZlbnRzIGxpc3RlbmVyXG4gICAgaWYgKHRoaXMuZW50cnkuY3VycmVudCkge1xuICAgICAgdGhpcy5lbnRyeS5jdXJyZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm9vdC5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHJvb3QgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIGVudHJ5ID0gY3JlYXRlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgZm9jdXMgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZW50cnkuY3VycmVudCkge1xuICAgICAgdGhpcy5lbnRyeS5jdXJyZW50LmZvY3VzKCk7XG4gICAgfVxuICB9O1xuXG4gIF9oYXNDdXN0b21WYWx1ZSA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgTnVtYmVyKHRoaXMucHJvcHMuYWxsb3dDdXN0b21WYWx1ZXMpID4gMCAmJlxuICAgICAgTnVtYmVyKHRoaXMuc3RhdGUuZW50cnlWYWx1ZT8ubGVuZ3RoKSA+PSBOdW1iZXIodGhpcy5wcm9wcy5hbGxvd0N1c3RvbVZhbHVlcykgJiZcbiAgICAgIHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0cy5pbmRleE9mKHRoaXMuc3RhdGUuZW50cnlWYWx1ZSkgPCAwXG4gICAgKTtcbiAgfTtcblxuICBfZ2V0Q3VzdG9tVmFsdWUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc0N1c3RvbVZhbHVlKCkgPyB0aGlzLnN0YXRlLmVudHJ5VmFsdWUgOiBudWxsO1xuICB9O1xuXG4gIF9yZW5kZXJJbmNyZW1lbnRhbFNlYXJjaFJlc3VsdHMoKSB7XG4gICAgY29uc3Qge2N1c3RvbUxpc3RDb21wb25lbnQ6IEN1c3RvbUxpc3RDb21wb25lbnQgPSBEcm9wZG93bkxpc3R9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPEN1c3RvbUxpc3RDb21wb25lbnRcbiAgICAgICAgZml4ZWRPcHRpb25zPXt0aGlzLnByb3BzLmZpeGVkT3B0aW9uc31cbiAgICAgICAgb3B0aW9ucz17XG4gICAgICAgICAgdGhpcy5wcm9wcy5tYXhWaXNpYmxlXG4gICAgICAgICAgICA/IHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0cy5zbGljZSgwLCB0aGlzLnByb3BzLm1heFZpc2libGUpXG4gICAgICAgICAgICA6IHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0c1xuICAgICAgICB9XG4gICAgICAgIGFyZVJlc3VsdHNUcnVuY2F0ZWQ9e1xuICAgICAgICAgIHRoaXMucHJvcHMubWF4VmlzaWJsZSAmJiB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHMubGVuZ3RoID4gdGhpcy5wcm9wcy5tYXhWaXNpYmxlXG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0c1RydW5jYXRlZE1lc3NhZ2U9e3RoaXMucHJvcHMucmVzdWx0c1RydW5jYXRlZE1lc3NhZ2V9XG4gICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e3RoaXMuX29uT3B0aW9uU2VsZWN0ZWR9XG4gICAgICAgIGFsbG93Q3VzdG9tVmFsdWVzPXt0aGlzLnByb3BzLmFsbG93Q3VzdG9tVmFsdWVzfVxuICAgICAgICBjdXN0b21WYWx1ZT17dGhpcy5fZ2V0Q3VzdG9tVmFsdWUoKX1cbiAgICAgICAgY3VzdG9tQ2xhc3Nlcz17dGhpcy5wcm9wcy5jdXN0b21DbGFzc2VzfVxuICAgICAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudD17dGhpcy5wcm9wcy5jdXN0b21MaXN0SXRlbUNvbXBvbmVudH1cbiAgICAgICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudD17dGhpcy5wcm9wcy5jdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50fVxuICAgICAgICBzZWxlY3Rpb25JbmRleD17dGhpcy5zdGF0ZS5zZWxlY3Rpb25JbmRleH1cbiAgICAgICAgZGVmYXVsdENsYXNzTmFtZXM9e3RoaXMucHJvcHMuZGVmYXVsdENsYXNzTmFtZXN9XG4gICAgICAgIGRpc3BsYXlPcHRpb249e3RoaXMucHJvcHMuZGlzcGxheU9wdGlvbn1cbiAgICAgICAgc2VsZWN0ZWRJdGVtcz17dGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zfVxuICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5saWdodH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbigpIHtcbiAgICBsZXQgaW5kZXg6IG51bWJlciB8IG51bGwgPSB0aGlzLnN0YXRlLnNlbGVjdGlvbkluZGV4O1xuICAgIGlmIChpbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGluZGV4ID0gTnVtYmVyKGluZGV4KTtcblxuICAgIGlmICh0aGlzLl9oYXNDdXN0b21WYWx1ZSgpKSB7XG4gICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuZW50cnlWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGluZGV4LS07XG4gICAgfVxuICAgIGlmICh0aGlzLl9oYXNGaXhlZE9wdGlvbnMoKSkge1xuICAgICAgcmV0dXJuIGluZGV4IDwgTnVtYmVyKHRoaXMucHJvcHMuZml4ZWRPcHRpb25zPy5sZW5ndGgpXG4gICAgICAgID8gdGhpcy5wcm9wcy5maXhlZE9wdGlvbnM/LltpbmRleF1cbiAgICAgICAgOiB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHNbaW5kZXggLSBOdW1iZXIodGhpcy5wcm9wcy5maXhlZE9wdGlvbnM/Lmxlbmd0aCldO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzW2luZGV4XTtcbiAgfVxuXG4gIF9vbk9wdGlvblNlbGVjdGVkID0gKG9wdGlvbiwgZXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5zZWFyY2hhYmxlKSB7XG4gICAgICAvLyByZXNldCBlbnRyeSBpbnB1dFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHNlYXJjaFJlc3VsdHM6IGdldE9wdGlvbnNGb3JWYWx1ZSgnJywgdGhpcy5wcm9wcywgdGhpcy5zdGF0ZSksXG4gICAgICAgIHNlbGVjdGlvbjogJycsXG4gICAgICAgIGVudHJ5VmFsdWU6ICcnXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5vbk9wdGlvblNlbGVjdGVkPy4ob3B0aW9uLCBldmVudCk7XG4gIH07XG5cbiAgLy8gdXNlICgpID0+IHt9IHRvIGF2b2lkIGJpbmRpbmcgJ3RoaXMnXG4gIF9vblRleHRFbnRyeVVwZGF0ZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMuc2VhcmNoYWJsZSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVudHJ5LmN1cnJlbnQ/LnZhbHVlO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgc2VhcmNoUmVzdWx0czogZ2V0T3B0aW9uc0ZvclZhbHVlKHZhbHVlLCB0aGlzLnByb3BzLCB0aGlzLnN0YXRlKSxcbiAgICAgICAgc2VsZWN0aW9uOiAnJyxcbiAgICAgICAgZW50cnlWYWx1ZTogdmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBfb25FbnRlciA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbktleURvd24/LihldmVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9vbk9wdGlvblNlbGVjdGVkKHNlbGVjdGlvbiwgZXZlbnQpO1xuICB9O1xuXG4gIF9vbkVzY2FwZSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlbGVjdGlvbkluZGV4OiBudWxsXG4gICAgfSk7XG4gIH07XG5cbiAgX29uVGFiID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgbGV0IG9wdGlvbiA9IHNlbGVjdGlvblxuICAgICAgPyBzZWxlY3Rpb25cbiAgICAgIDogdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzLmxlbmd0aCA+IDBcbiAgICAgID8gdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzWzBdXG4gICAgICA6IG51bGw7XG5cbiAgICBpZiAob3B0aW9uID09PSBudWxsICYmIHRoaXMuX2hhc0N1c3RvbVZhbHVlKCkpIHtcbiAgICAgIG9wdGlvbiA9IHRoaXMuX2dldEN1c3RvbVZhbHVlKCk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbiAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX29uT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIGV2ZW50TWFwID0gKCkgPT4ge1xuICAgIGNvbnN0IGV2ZW50cyA9IHt9O1xuXG4gICAgZXZlbnRzW0tleUV2ZW50LkRPTV9WS19VUF0gPSB0aGlzLm5hdlVwO1xuICAgIGV2ZW50c1tLZXlFdmVudC5ET01fVktfRE9XTl0gPSB0aGlzLm5hdkRvd247XG4gICAgZXZlbnRzW0tleUV2ZW50LkRPTV9WS19SRVRVUk5dID0gZXZlbnRzW0tleUV2ZW50LkRPTV9WS19FTlRFUl0gPSB0aGlzLl9vbkVudGVyO1xuICAgIGV2ZW50c1tLZXlFdmVudC5ET01fVktfRVNDQVBFXSA9IHRoaXMuX29uRXNjYXBlO1xuICAgIGV2ZW50c1tLZXlFdmVudC5ET01fVktfVEFCXSA9IHRoaXMuX29uVGFiO1xuXG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfTtcblxuICBfbmF2ID0gZGVsdGEgPT4ge1xuICAgIGlmICghdGhpcy5faGFzSGludCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBuZXdJbmRleCA9XG4gICAgICB0aGlzLnN0YXRlLnNlbGVjdGlvbkluZGV4ID09PSBudWxsXG4gICAgICAgID8gZGVsdGEgPT09IDFcbiAgICAgICAgICA/IDBcbiAgICAgICAgICA6IGRlbHRhXG4gICAgICAgIDogdGhpcy5zdGF0ZS5zZWxlY3Rpb25JbmRleCArIGRlbHRhO1xuICAgIGxldCBsZW5ndGggPSB0aGlzLnByb3BzLm1heFZpc2libGVcbiAgICAgID8gdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzLnNsaWNlKDAsIHRoaXMucHJvcHMubWF4VmlzaWJsZSkubGVuZ3RoXG4gICAgICA6IHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0cy5sZW5ndGg7XG4gICAgaWYgKHRoaXMuX2hhc0N1c3RvbVZhbHVlKCkpIHtcbiAgICAgIGxlbmd0aCArPSAxO1xuICAgIH1cblxuICAgIGlmIChuZXdJbmRleCA8IDApIHtcbiAgICAgIG5ld0luZGV4ICs9IGxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKG5ld0luZGV4ID49IGxlbmd0aCkge1xuICAgICAgbmV3SW5kZXggLT0gbGVuZ3RoO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe3NlbGVjdGlvbkluZGV4OiBuZXdJbmRleH0pO1xuICB9O1xuXG4gIG5hdkRvd24gPSAoKSA9PiB7XG4gICAgdGhpcy5fbmF2KDEpO1xuICB9O1xuXG4gIG5hdlVwID0gKCkgPT4ge1xuICAgIHRoaXMuX25hdigtMSk7XG4gIH07XG5cbiAgX29uQ2hhbmdlOiBSZWFjdC5DaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBldmVudCA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZXZlbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX29uVGV4dEVudHJ5VXBkYXRlZCgpO1xuICB9O1xuXG4gIF9vbktleURvd246IFJlYWN0LktleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PiA9IGV2ZW50ID0+IHtcbiAgICAvLyBJZiB0aGVyZSBhcmUgbm8gdmlzaWJsZSBlbGVtZW50cywgZG9uJ3QgcGVyZm9ybSBzZWxlY3RvciBuYXZpZ2F0aW9uLlxuICAgIC8vIEp1c3QgcGFzcyB0aGlzIHVwIHRvIHRoZSB1cHN0cmVhbSBvbktleWRvd24gaGFuZGxlci5cbiAgICAvLyBBbHNvIHNraXAgaWYgdGhlIHVzZXIgaXMgcHJlc3NpbmcgdGhlIHNoaWZ0IGtleSwgc2luY2Ugbm9uZSBvZiBvdXIgaGFuZGxlcnMgYXJlIGxvb2tpbmcgZm9yIHNoaWZ0XG4gICAgaWYgKCF0aGlzLl9oYXNIaW50KCkgfHwgZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uS2V5RG93bj8uKGV2ZW50KTtcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5ldmVudE1hcCgpW2V2ZW50LmtleUNvZGVdO1xuXG4gICAgaWYgKGhhbmRsZXIpIHtcbiAgICAgIGhhbmRsZXIoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbktleURvd24/LihldmVudCk7XG4gICAgfVxuICAgIC8vIERvbid0IHByb3BhZ2F0ZSB0aGUga2V5c3Ryb2tlIGJhY2sgdG8gdGhlIERPTS9icm93c2VyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBfb25Gb2N1czogUmVhY3QuRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+ID0gZXZlbnQgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzRm9jdXNlZDogdHJ1ZX0pO1xuICAgIGlmICh0aGlzLnByb3BzLm9uRm9jdXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uRm9jdXMoZXZlbnQpO1xuICAgIH1cbiAgfTtcblxuICBfb25CbHVyOiBSZWFjdC5Gb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IGV2ZW50ID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtpc0ZvY3VzZWQ6IGZhbHNlfSk7XG4gICAgaWYgKHRoaXMucHJvcHMub25CbHVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbiAgfTtcblxuICBfcmVuZGVySGlkZGVuSW5wdXQoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLm5hbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9e3RoaXMucHJvcHMubmFtZX0gdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0aW9ufSAvPjtcbiAgfVxuXG4gIF9oYXNIaW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHMubGVuZ3RoID4gMCB8fCB0aGlzLl9oYXNDdXN0b21WYWx1ZSgpO1xuICB9XG5cbiAgX2hhc0ZpeGVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnByb3BzLmZpeGVkT3B0aW9ucykgJiYgdGhpcy5wcm9wcy5maXhlZE9wdGlvbnMubGVuZ3RoO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGlucHV0Q2xhc3NlcyA9IHt9O1xuICAgIGlucHV0Q2xhc3Nlc1t0aGlzLnByb3BzLmN1c3RvbUNsYXNzZXM/LmlucHV0XSA9IEJvb2xlYW4odGhpcy5wcm9wcy5jdXN0b21DbGFzc2VzPy5pbnB1dCk7XG4gICAgY29uc3QgaW5wdXRDbGFzc0xpc3QgPSBjbGFzc05hbWVzKGlucHV0Q2xhc3Nlcyk7XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgW0RFRkFVTFRfQ0xBU1NdOiB0aGlzLnByb3BzLmRlZmF1bHRDbGFzc05hbWVzXG4gICAgfTtcbiAgICBjbGFzc2VzW3RoaXMucHJvcHMuY2xhc3NOYW1lID8gdGhpcy5wcm9wcy5jbGFzc05hbWUgOiAnJ10gPSBCb29sZWFuKHRoaXMucHJvcHMuY2xhc3NOYW1lKTtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBjbGFzc05hbWVzKGNsYXNzZXMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUeXBlYWhlYWRXcmFwcGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NMaXN0fVxuICAgICAgICByZWY9e3RoaXMucm9vdH1cbiAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgIG9uS2V5RG93bj17dGhpcy5fb25LZXlEb3dufVxuICAgICAgICBvbktleVByZXNzPXt0aGlzLnByb3BzLm9uS2V5UHJlc3N9XG4gICAgICAgIG9uS2V5VXA9e3RoaXMucHJvcHMub25LZXlVcH1cbiAgICAgICAgb25Gb2N1cz17dGhpcy5fb25Gb2N1c31cbiAgICAgICAgbGlnaHQ9e3RoaXMucHJvcHMubGlnaHR9XG4gICAgICA+XG4gICAgICAgIHt0aGlzLl9yZW5kZXJIaWRkZW5JbnB1dCgpfVxuICAgICAgICB7dGhpcy5wcm9wcy5zZWFyY2hhYmxlID8gKFxuICAgICAgICAgIDxJbnB1dEJveD5cbiAgICAgICAgICAgIDxUeXBlYWhlYWRJbnB1dFxuICAgICAgICAgICAgICByZWY9e3RoaXMuZW50cnl9XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHsuLi50aGlzLnByb3BzLmlucHV0UHJvcHN9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2lucHV0Q2xhc3NMaXN0fVxuICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5lbnRyeVZhbHVlfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25DaGFuZ2V9XG4gICAgICAgICAgICAgIG9uQmx1cj17dGhpcy5fb25CbHVyfVxuICAgICAgICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5saWdodH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8SW5wdXRJY29uPlxuICAgICAgICAgICAgICA8dGhpcy5wcm9wcy5pbnB1dEljb24gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgICAgICAgICA8L0lucHV0SWNvbj5cbiAgICAgICAgICA8L0lucHV0Qm94PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge3RoaXMuX3JlbmRlckluY3JlbWVudGFsU2VhcmNoUmVzdWx0cygpfVxuICAgICAgPC9UeXBlYWhlYWRXcmFwcGVyPlxuICAgICk7XG4gIH1cbn1cblxucG9seWZpbGwoVHlwZWFoZWFkKTtcblxuZXhwb3J0IGRlZmF1bHQgVHlwZWFoZWFkO1xuIl19
518
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vaXRlbS1zZWxlY3Rvci90eXBlYWhlYWQudHN4Il0sIm5hbWVzIjpbIkRFRkFVTFRfQ0xBU1MiLCJUeXBlYWhlYWRXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RTaGFkb3ciLCJJbnB1dEJveCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiVHlwZWFoZWFkSW5wdXQiLCJpbnB1dCIsImlucHV0TFQiLCJzZWNvbmRhcnlJbnB1dCIsInNlbGVjdEJhY2tncm91bmRMVCIsInNlY29uZGFyeUlucHV0QmdkIiwiSW5wdXRJY29uIiwiaW5wdXRQbGFjZWhvbGRlckNvbG9yIiwiZ2VuZXJhdGVTZWFyY2hGdW5jdGlvbiIsInNlYXJjaE9wdGlvbnMiLCJmaWx0ZXJPcHRpb24iLCJDb25zb2xlIiwid2FybiIsInZhbHVlIiwib3B0aW9ucyIsImZpbHRlciIsIm8iLCJtYXBwZXIiLCJBY2Nlc3NvciIsImdlbmVyYXRlQWNjZXNzb3IiLCJJREVOVElUWV9GTiIsImZ1enp5IiwiZXh0cmFjdCIsIm1hcCIsInJlcyIsImluZGV4Iiwic2VhcmNoT3B0aW9uc09uSW5wdXQiLCJpbnB1dFZhbHVlIiwiZ2V0T3B0aW9uc0ZvclZhbHVlIiwic3RhdGUiLCJzaG93T3B0aW9uc1doZW5FbXB0eSIsInNlYXJjaGFibGUiLCJzaG91bGRTa2lwU2VhcmNoIiwiZW1wdHlWYWx1ZSIsInRyaW0iLCJsZW5ndGgiLCJpc0ZvY3VzZWQiLCJUeXBlYWhlYWQiLCJlbnRyeSIsImN1cnJlbnQiLCJmb2N1cyIsIk51bWJlciIsImFsbG93Q3VzdG9tVmFsdWVzIiwiZW50cnlWYWx1ZSIsInNlYXJjaFJlc3VsdHMiLCJpbmRleE9mIiwiX2hhc0N1c3RvbVZhbHVlIiwib3B0aW9uIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInNlbGVjdGlvbiIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJnZXRTZWxlY3Rpb24iLCJvbktleURvd24iLCJfb25PcHRpb25TZWxlY3RlZCIsInNlbGVjdGlvbkluZGV4IiwiX2dldEN1c3RvbVZhbHVlIiwiZXZlbnRzIiwiS2V5RXZlbnQiLCJET01fVktfVVAiLCJuYXZVcCIsIkRPTV9WS19ET1dOIiwibmF2RG93biIsIkRPTV9WS19SRVRVUk4iLCJET01fVktfRU5URVIiLCJfb25FbnRlciIsIkRPTV9WS19FU0NBUEUiLCJfb25Fc2NhcGUiLCJET01fVktfVEFCIiwiX29uVGFiIiwiZGVsdGEiLCJfaGFzSGludCIsIm5ld0luZGV4IiwibWF4VmlzaWJsZSIsInNsaWNlIiwiX25hdiIsIm9uQ2hhbmdlIiwiX29uVGV4dEVudHJ5VXBkYXRlZCIsInNoaWZ0S2V5IiwiaGFuZGxlciIsImV2ZW50TWFwIiwia2V5Q29kZSIsInByZXZlbnREZWZhdWx0Iiwib25Gb2N1cyIsIm9uQmx1ciIsImluaXRpYWxWYWx1ZSIsInJvb3QiLCJjdXN0b21MaXN0Q29tcG9uZW50IiwiQ3VzdG9tTGlzdENvbXBvbmVudCIsIkRyb3Bkb3duTGlzdCIsImZpeGVkT3B0aW9ucyIsInJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlIiwiY3VzdG9tQ2xhc3NlcyIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCIsImRlZmF1bHRDbGFzc05hbWVzIiwiZGlzcGxheU9wdGlvbiIsInNlbGVjdGVkSXRlbXMiLCJfaGFzRml4ZWRPcHRpb25zIiwibmFtZSIsIkFycmF5IiwiaXNBcnJheSIsImlucHV0Q2xhc3NlcyIsIkJvb2xlYW4iLCJpbnB1dENsYXNzTGlzdCIsImNsYXNzZXMiLCJjbGFzc0xpc3QiLCJfb25LZXlEb3duIiwib25LZXlQcmVzcyIsIm9uS2V5VXAiLCJfb25Gb2N1cyIsIl9yZW5kZXJIaWRkZW5JbnB1dCIsImRpc2FibGVkIiwiaW5wdXRQcm9wcyIsInBsYWNlaG9sZGVyIiwiX29uQ2hhbmdlIiwiX29uQmx1ciIsIl9yZW5kZXJJbmNyZW1lbnRhbFNlYXJjaFJlc3VsdHMiLCJwcmV2T3B0aW9ucyIsIkNvbXBvbmVudCIsInRleHRhcmVhIiwiaW5wdXREaXNwbGF5T3B0aW9uIiwiTGlzdEl0ZW0iLCJpbnB1dEljb24iLCJTZWFyY2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLGFBQWEsR0FBRyxXQUF0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQSxJQUFNQyxnQkFBZ0IsR0FBR0MsNkJBQU9DLEdBQVYsME5BR0EsVUFBQUMsS0FBSztBQUFBLFNBQ3ZCQSxLQUFLLENBQUNDLEtBQU4sR0FBY0QsS0FBSyxDQUFDRSxLQUFOLENBQVlDLGlCQUExQixHQUE4Q0gsS0FBSyxDQUFDRSxLQUFOLENBQVlFLGVBRG5DO0FBQUEsQ0FITCxFQUtOLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNFLEtBQU4sQ0FBWUcsa0JBQWhCO0FBQUEsQ0FMQyxDQUF0Qjs7QUFZQSxJQUFNQyxRQUFRLEdBQUdSLDZCQUFPQyxHQUFQLENBQVdRLEtBQVgsQ0FBaUI7QUFDaENDLEVBQUFBLFNBQVMsRUFBRTtBQURxQixDQUFqQixDQUFILDJHQUFkOztBQU1BLElBQU1DLGNBQWMsR0FBR1gsNkJBQU9ZLEtBQVYsb0tBQ2hCLFVBQUFWLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNDLEtBQU4sR0FBY0QsS0FBSyxDQUFDRSxLQUFOLENBQVlTLE9BQTFCLEdBQW9DWCxLQUFLLENBQUNFLEtBQU4sQ0FBWVUsY0FBckQ7QUFBQSxDQURXLEVBR0ksVUFBQVosS0FBSztBQUFBLFNBQ3ZCQSxLQUFLLENBQUNDLEtBQU4sR0FBY0QsS0FBSyxDQUFDRSxLQUFOLENBQVlXLGtCQUExQixHQUErQ2IsS0FBSyxDQUFDRSxLQUFOLENBQVlZLGlCQURwQztB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QUFBLFNBQVMsRUFBRUMsYUF2QlM7QUF3QnBCOUIsRUFBQUEseUJBQXlCLEVBQUUsSUF4QlA7QUF5QnBCaEUsRUFBQUEsb0JBQW9CLEVBQUUsSUF6QkY7QUEwQnBCQyxFQUFBQSxVQUFVLEVBQUUsSUExQlE7QUEyQnBCNEQsRUFBQUEsdUJBQXVCLEVBQUU7QUEzQkwsQztBQTZWeEIscUNBQVN0RCxTQUFUO2VBRWVBLFMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgRWxlbWVudFR5cGUsIEtleWJvYXJkRXZlbnRIYW5kbGVyfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgZnV6enkgZnJvbSAnZnV6enknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y29uc29sZSBhcyBDb25zb2xlfSBmcm9tICdnbG9iYWwvd2luZG93JztcblxuaW1wb3J0IEFjY2Vzc29yIGZyb20gJy4vYWNjZXNzb3InO1xuaW1wb3J0IERyb3Bkb3duTGlzdCwge0xpc3RJdGVtfSBmcm9tICcuL2Ryb3Bkb3duLWxpc3QnO1xuaW1wb3J0IHtTZWFyY2h9IGZyb20gJy4uL2ljb25zJztcbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuY29uc3QgREVGQVVMVF9DTEFTUyA9ICd0eXBlYWhlYWQnO1xuLyoqXG4gKiBDb3BpZWQgbW9zdGx5IGZyb20gJ3JlYWN0LXR5cGVhaGVhZCcsIGFuIGF1dG8tY29tcGxldGluZyB0ZXh0IGlucHV0XG4gKlxuICogUmVuZGVycyBhbiB0ZXh0IGlucHV0IHRoYXQgc2hvd3Mgb3B0aW9ucyBuZWFyYnkgdGhhdCB5b3UgY2FuIHVzZSB0aGVcbiAqIGtleWJvYXJkIG9yIG1vdXNlIHRvIHNlbGVjdC5cbiAqL1xuXG5pbnRlcmZhY2UgVHlwZWFoZWFkV3JhcHBlclByb3BzIHtcbiAgbGlnaHQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBUeXBlYWhlYWRXcmFwcGVyID0gc3R5bGVkLmRpdjxUeXBlYWhlYWRXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0U2hhZG93fTtcblxuICA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbmA7XG5cbmNvbnN0IElucHV0Qm94ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3R5cGVhaGVhZF9faW5wdXRfYm94J1xufSlgXG4gIHBhZGRpbmc6IDhweDtcbmA7XG5cbmNvbnN0IFR5cGVhaGVhZElucHV0ID0gc3R5bGVkLmlucHV0PFR5cGVhaGVhZFdyYXBwZXJQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuaW5wdXRMVCA6IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0KX0gOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5zZWxlY3RCYWNrZ3JvdW5kTFQgOiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJnZH07XG4gIH1cbmA7XG5cbmNvbnN0IElucHV0SWNvbiA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICd0eXBlYWhlYWRfX2lucHV0X2ljb24nXG59KWBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTVweDtcbiAgdG9wOiAxNHB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuYDtcblxuZnVuY3Rpb24gZ2VuZXJhdGVTZWFyY2hGdW5jdGlvbihwcm9wczogVHlwZWFoZWFkUHJvcHMpIHtcbiAgY29uc3Qge3NlYXJjaE9wdGlvbnMsIGZpbHRlck9wdGlvbn0gPSBwcm9wcztcbiAgaWYgKHR5cGVvZiBzZWFyY2hPcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKGZpbHRlck9wdGlvbiAhPT0gbnVsbCkge1xuICAgICAgQ29uc29sZS53YXJuKCdzZWFyY2hPcHRpb25zIHByb3AgaXMgYmVpbmcgdXNlZCwgZmlsdGVyT3B0aW9uIHByb3Agd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hPcHRpb25zO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJPcHRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyB1c2UgY3VzdG9tIGZpbHRlciBvcHRpb25cbiAgICByZXR1cm4gKHZhbHVlLCBvcHRpb25zKSA9PiBvcHRpb25zLmZpbHRlcihvID0+IGZpbHRlck9wdGlvbih2YWx1ZSwgbykpO1xuICB9XG5cbiAgY29uc3QgbWFwcGVyID1cbiAgICB0eXBlb2YgZmlsdGVyT3B0aW9uID09PSAnc3RyaW5nJ1xuICAgICAgPyBBY2Nlc3Nvci5nZW5lcmF0ZUFjY2Vzc29yKGZpbHRlck9wdGlvbilcbiAgICAgIDogQWNjZXNzb3IuSURFTlRJVFlfRk47XG5cbiAgcmV0dXJuICh2YWx1ZSwgb3B0aW9ucykgPT4ge1xuICAgIHJldHVybiBmdXp6eS5maWx0ZXIodmFsdWUsIG9wdGlvbnMsIHtleHRyYWN0OiBtYXBwZXJ9KS5tYXAocmVzID0+IG9wdGlvbnNbcmVzLmluZGV4XSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHNlYXJjaE9wdGlvbnNPbklucHV0KGlucHV0VmFsdWUsIHByb3BzKSB7XG4gIGNvbnN0IHNlYXJjaE9wdGlvbnMgPSBnZW5lcmF0ZVNlYXJjaEZ1bmN0aW9uKHByb3BzKTtcbiAgcmV0dXJuIHNlYXJjaE9wdGlvbnMoaW5wdXRWYWx1ZSwgcHJvcHMub3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvbnNGb3JWYWx1ZSh2YWx1ZSwgcHJvcHMsIHN0YXRlKSB7XG4gIGNvbnN0IHtvcHRpb25zLCBzaG93T3B0aW9uc1doZW5FbXB0eX0gPSBwcm9wcztcblxuICBpZiAoIXByb3BzLnNlYXJjaGFibGUpIHtcbiAgICAvLyBkaXJlY3RseSBwYXNzIHRocm91Z2ggb3B0aW9ucyBpZiBjYW4gbm90IGJlIHNlYXJjaGVkXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgaWYgKHNob3VsZFNraXBTZWFyY2godmFsdWUsIHN0YXRlLCBzaG93T3B0aW9uc1doZW5FbXB0eSkpIHtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0IHNlYXJjaE9wdGlvbnMgPSBnZW5lcmF0ZVNlYXJjaEZ1bmN0aW9uKHByb3BzKTtcbiAgcmV0dXJuIHNlYXJjaE9wdGlvbnModmFsdWUsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRTa2lwU2VhcmNoKGlucHV0LCBzdGF0ZSwgc2hvd09wdGlvbnNXaGVuRW1wdHkpIHtcbiAgY29uc3QgZW1wdHlWYWx1ZSA9ICFpbnB1dCB8fCBpbnB1dC50cmltKCkubGVuZ3RoID09PSAwO1xuXG4gIC8vIHRoaXMuc3RhdGUgbXVzdCBiZSBjaGVja2VkIGJlY2F1c2UgaXQgbWF5IG5vdCBiZSBkZWZpbmVkIHlldCBpZiB0aGlzIGZ1bmN0aW9uXG4gIC8vIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiBnZXRJbml0aWFsU3RhdGVcbiAgY29uc3QgaXNGb2N1c2VkID0gc3RhdGUgJiYgc3RhdGUuaXNGb2N1c2VkO1xuICByZXR1cm4gIShzaG93T3B0aW9uc1doZW5FbXB0eSAmJiBpc0ZvY3VzZWQpICYmIGVtcHR5VmFsdWU7XG59XG5cbmludGVyZmFjZSBUeXBlYWhlYWRQcm9wcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGN1c3RvbUNsYXNzZXM/OiBhbnk7XG4gIHJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlPzogc3RyaW5nO1xuICBvcHRpb25zPzogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0IHwgdW5kZWZpbmVkPjtcbiAgZml4ZWRPcHRpb25zPzogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PiB8IG51bGw7XG4gIGFsbG93Q3VzdG9tVmFsdWVzPzogbnVtYmVyO1xuICBpbml0aWFsVmFsdWU/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0YXJlYT86IGJvb2xlYW47XG4gIGlucHV0UHJvcHM/OiBvYmplY3Q7XG4gIG9uT3B0aW9uU2VsZWN0ZWQ/OiAob3B0aW9uOiBhbnksIGV2ZW50OiBhbnkpID0+IGFueTtcbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleURvd24/OiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleVByZXNzPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvbktleVVwPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvbkZvY3VzPzogKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZDtcbiAgb25CbHVyPzogKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBmaWx0ZXJPcHRpb24/OiBzdHJpbmcgfCBGdW5jdGlvbjtcbiAgc2VhcmNoT3B0aW9ucz86IEZ1bmN0aW9uO1xuICBkaXNwbGF5T3B0aW9uPzogc3RyaW5nIHwgRnVuY3Rpb247XG4gIGlucHV0RGlzcGxheU9wdGlvbj86IHN0cmluZyB8IEZ1bmN0aW9uO1xuICBmb3JtSW5wdXRPcHRpb24/OiBzdHJpbmcgfCBGdW5jdGlvbjtcbiAgZGVmYXVsdENsYXNzTmFtZXM/OiBib29sZWFuO1xuICBjdXN0b21MaXN0Q29tcG9uZW50PzogRWxlbWVudFR5cGU7XG4gIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PzogRWxlbWVudFR5cGUgfCBGdW5jdGlvbjtcbiAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudD86IEVsZW1lbnRUeXBlIHwgRnVuY3Rpb24gfCBudWxsO1xuICBzaG93T3B0aW9uc1doZW5FbXB0eT86IGJvb2xlYW47XG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICBsaWdodD86IGJvb2xlYW47XG4gIGlucHV0SWNvbjogRWxlbWVudFR5cGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc2VsZWN0ZWRJdGVtcz86IGFueVtdIHwgbnVsbDtcbiAgLy8gZGVwcmVjYXRlZFxuICBtYXhWaXNpYmxlPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVHlwZWFoZWFkU3RhdGUge1xuICBzZWFyY2hSZXN1bHRzOiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3QgfCB1bmRlZmluZWQ+O1xuXG4gIC8vIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBzb21ldGhpbmcgZWxzZSwgJ2VudHJ5VmFsdWUnXG4gIGVudHJ5VmFsdWU/OiBzdHJpbmc7XG5cbiAgLy8gQSB2YWxpZCB0eXBlYWhlYWQgdmFsdWVcbiAgc2VsZWN0aW9uPzogc3RyaW5nO1xuXG4gIC8vIEluZGV4IG9mIHRoZSBzZWxlY3Rpb25cbiAgc2VsZWN0aW9uSW5kZXg6IG51bGw7XG5cbiAgLy8gS2VlcCB0cmFjayBvZiB0aGUgZm9jdXMgc3RhdGUgb2YgdGhlIGlucHV0IGVsZW1lbnQsIHRvIGRldGVybWluZVxuICAvLyB3aGV0aGVyIHRvIHNob3cgb3B0aW9ucyB3aGVuIGVtcHR5IChpZiBzaG93T3B0aW9uc1doZW5FbXB0eSBpcyB0cnVlKVxuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG59XG5cbmNsYXNzIFR5cGVhaGVhZCBleHRlbmRzIENvbXBvbmVudDxUeXBlYWhlYWRQcm9wcywgVHlwZWFoZWFkU3RhdGU+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBvcHRpb25zOiBbXSxcbiAgICBjdXN0b21DbGFzc2VzOiB7fSxcbiAgICBhbGxvd0N1c3RvbVZhbHVlczogMCxcbiAgICBpbml0aWFsVmFsdWU6ICcnLFxuICAgIHZhbHVlOiAnJyxcbiAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIHRleHRhcmVhOiBmYWxzZSxcbiAgICBpbnB1dFByb3BzOiB7fSxcbiAgICBvbk9wdGlvblNlbGVjdGVkKG9wdGlvbikge30sXG4gICAgb25DaGFuZ2UoZXZlbnQpIHt9LFxuICAgIG9uS2V5RG93bihldmVudCkge30sXG4gICAgb25LZXlQcmVzcyhldmVudCkge30sXG4gICAgb25LZXlVcChldmVudCkge30sXG4gICAgb25Gb2N1cyhldmVudCkge30sXG4gICAgb25CbHVyKGV2ZW50KSB7fSxcbiAgICBmaWx0ZXJPcHRpb246IG51bGwsXG4gICAgc2VhcmNoT3B0aW9uczogbnVsbCxcbiAgICBpbnB1dERpc3BsYXlPcHRpb246IG51bGwsXG4gICAgZGVmYXVsdENsYXNzTmFtZXM6IHRydWUsXG4gICAgY3VzdG9tTGlzdENvbXBvbmVudDogRHJvcGRvd25MaXN0LFxuICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50OiBMaXN0SXRlbSxcbiAgICBpbnB1dEljb246IFNlYXJjaCxcbiAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50OiBudWxsLFxuICAgIHNob3dPcHRpb25zV2hlbkVtcHR5OiB0cnVlLFxuICAgIHNlYXJjaGFibGU6IHRydWUsXG4gICAgcmVzdWx0c1RydW5jYXRlZE1lc3NhZ2U6IG51bGxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zID09PSBzdGF0ZS5wcmV2T3B0aW9ucykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIC8vICBpbnZva2VkIGFmdGVyIGEgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBhcyB3ZWxsIGFzIGJlZm9yZSBpdCBpcyByZS1yZW5kZXJlZFxuICAgIGNvbnN0IHNlYXJjaFJlc3VsdHMgPSBnZXRPcHRpb25zRm9yVmFsdWUoc3RhdGUuZW50cnlWYWx1ZSwgcHJvcHMsIHN0YXRlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzZWFyY2hSZXN1bHRzLFxuICAgICAgcHJldk9wdGlvbnM6IHByb3BzLm9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLy8gaW5pdGlhdGUgc2VhcmNoUmVzdWx0cyB3aXRoIG9wdGlvbnNcbiAgICAgIHNlYXJjaFJlc3VsdHM6IHRoaXMucHJvcHMub3B0aW9ucyB8fCBbXSxcblxuICAgICAgLy8gVGhpcyBzaG91bGQgYmUgY2FsbGVkIHNvbWV0aGluZyBlbHNlLCAnZW50cnlWYWx1ZSdcbiAgICAgIGVudHJ5VmFsdWU6IHRoaXMucHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5pbml0aWFsVmFsdWUsXG5cbiAgICAgIC8vIEEgdmFsaWQgdHlwZWFoZWFkIHZhbHVlXG4gICAgICBzZWxlY3Rpb246IHRoaXMucHJvcHMudmFsdWUsXG5cbiAgICAgIC8vIEluZGV4IG9mIHRoZSBzZWxlY3Rpb25cbiAgICAgIHNlbGVjdGlvbkluZGV4OiBudWxsLFxuXG4gICAgICAvLyBLZWVwIHRyYWNrIG9mIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgaW5wdXQgZWxlbWVudCwgdG8gZGV0ZXJtaW5lXG4gICAgICAvLyB3aGV0aGVyIHRvIHNob3cgb3B0aW9ucyB3aGVuIGVtcHR5IChpZiBzaG93T3B0aW9uc1doZW5FbXB0eSBpcyB0cnVlKVxuICAgICAgaXNGb2N1c2VkOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBjYWxsIGZvY3VzIG9uIGVudHJ5IG9yIGRpdiB0byB0cmlnZ2VyIGtleSBldmVudHMgbGlzdGVuZXJcbiAgICBpZiAodGhpcy5lbnRyeS5jdXJyZW50KSB7XG4gICAgICB0aGlzLmVudHJ5LmN1cnJlbnQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb290LmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcm9vdCA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgZW50cnkgPSBjcmVhdGVSZWY8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICBmb2N1cyA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5lbnRyeS5jdXJyZW50KSB7XG4gICAgICB0aGlzLmVudHJ5LmN1cnJlbnQuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgX2hhc0N1c3RvbVZhbHVlID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBOdW1iZXIodGhpcy5wcm9wcy5hbGxvd0N1c3RvbVZhbHVlcykgPiAwICYmXG4gICAgICBOdW1iZXIodGhpcy5zdGF0ZS5lbnRyeVZhbHVlPy5sZW5ndGgpID49IE51bWJlcih0aGlzLnByb3BzLmFsbG93Q3VzdG9tVmFsdWVzKSAmJlxuICAgICAgdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzLmluZGV4T2YodGhpcy5zdGF0ZS5lbnRyeVZhbHVlKSA8IDBcbiAgICApO1xuICB9O1xuXG4gIF9nZXRDdXN0b21WYWx1ZSA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5faGFzQ3VzdG9tVmFsdWUoKSA/IHRoaXMuc3RhdGUuZW50cnlWYWx1ZSA6IG51bGw7XG4gIH07XG5cbiAgX3JlbmRlckluY3JlbWVudGFsU2VhcmNoUmVzdWx0cygpIHtcbiAgICBjb25zdCB7Y3VzdG9tTGlzdENvbXBvbmVudDogQ3VzdG9tTGlzdENvbXBvbmVudCA9IERyb3Bkb3duTGlzdH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8Q3VzdG9tTGlzdENvbXBvbmVudFxuICAgICAgICBmaXhlZE9wdGlvbnM9e3RoaXMucHJvcHMuZml4ZWRPcHRpb25zfVxuICAgICAgICBvcHRpb25zPXt0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHN9XG4gICAgICAgIGFyZVJlc3VsdHNUcnVuY2F0ZWQ9e2ZhbHNlfVxuICAgICAgICByZXN1bHRzVHJ1bmNhdGVkTWVzc2FnZT17dGhpcy5wcm9wcy5yZXN1bHRzVHJ1bmNhdGVkTWVzc2FnZX1cbiAgICAgICAgb25PcHRpb25TZWxlY3RlZD17dGhpcy5fb25PcHRpb25TZWxlY3RlZH1cbiAgICAgICAgYWxsb3dDdXN0b21WYWx1ZXM9e3RoaXMucHJvcHMuYWxsb3dDdXN0b21WYWx1ZXN9XG4gICAgICAgIGN1c3RvbVZhbHVlPXt0aGlzLl9nZXRDdXN0b21WYWx1ZSgpfVxuICAgICAgICBjdXN0b21DbGFzc2VzPXt0aGlzLnByb3BzLmN1c3RvbUNsYXNzZXN9XG4gICAgICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PXt0aGlzLnByb3BzLmN1c3RvbUxpc3RJdGVtQ29tcG9uZW50fVxuICAgICAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50PXt0aGlzLnByb3BzLmN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnR9XG4gICAgICAgIHNlbGVjdGlvbkluZGV4PXt0aGlzLnN0YXRlLnNlbGVjdGlvbkluZGV4fVxuICAgICAgICBkZWZhdWx0Q2xhc3NOYW1lcz17dGhpcy5wcm9wcy5kZWZhdWx0Q2xhc3NOYW1lc31cbiAgICAgICAgZGlzcGxheU9wdGlvbj17dGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9ufVxuICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0aGlzLnByb3BzLnNlbGVjdGVkSXRlbXN9XG4gICAgICAgIGxpZ2h0PXt0aGlzLnByb3BzLmxpZ2h0fVxuICAgICAgLz5cbiAgICApO1xuICB9XG5cbiAgZ2V0U2VsZWN0aW9uKCkge1xuICAgIGxldCBpbmRleDogbnVtYmVyIHwgbnVsbCA9IHRoaXMuc3RhdGUuc2VsZWN0aW9uSW5kZXg7XG4gICAgaWYgKGluZGV4ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaW5kZXggPSBOdW1iZXIoaW5kZXgpO1xuXG4gICAgaWYgKHRoaXMuX2hhc0N1c3RvbVZhbHVlKCkpIHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5lbnRyeVZhbHVlO1xuICAgICAgfVxuICAgICAgaW5kZXgtLTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2hhc0ZpeGVkT3B0aW9ucygpKSB7XG4gICAgICByZXR1cm4gaW5kZXggPCBOdW1iZXIodGhpcy5wcm9wcy5maXhlZE9wdGlvbnM/Lmxlbmd0aClcbiAgICAgICAgPyB0aGlzLnByb3BzLmZpeGVkT3B0aW9ucz8uW2luZGV4XVxuICAgICAgICA6IHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0c1tpbmRleCAtIE51bWJlcih0aGlzLnByb3BzLmZpeGVkT3B0aW9ucz8ubGVuZ3RoKV07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHNbaW5kZXhdO1xuICB9XG5cbiAgX29uT3B0aW9uU2VsZWN0ZWQgPSAob3B0aW9uLCBldmVudCkgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLnNlYXJjaGFibGUpIHtcbiAgICAgIC8vIHJlc2V0IGVudHJ5IGlucHV0XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgLy8gcmVzZXQgc2VhcmNoIG9wdGlvbnMgd2hlbiBzZWxlY3Rpb24gaGFzIGJlZW4gbWFkZVxuICAgICAgICBzZWFyY2hSZXN1bHRzOiB0aGlzLnByb3BzLm9wdGlvbnMgfHwgW10sXG4gICAgICAgIHNlbGVjdGlvbjogJycsXG4gICAgICAgIGVudHJ5VmFsdWU6ICcnXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnByb3BzLm9uT3B0aW9uU2VsZWN0ZWQ/LihvcHRpb24sIGV2ZW50KTtcbiAgfTtcblxuICAvLyB1c2UgKCkgPT4ge30gdG8gYXZvaWQgYmluZGluZyAndGhpcydcbiAgX29uVGV4dEVudHJ5VXBkYXRlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5zZWFyY2hhYmxlKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZW50cnkuY3VycmVudD8udmFsdWU7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBzZWFyY2hSZXN1bHRzOiBzZWFyY2hPcHRpb25zT25JbnB1dCh2YWx1ZSwgdGhpcy5wcm9wcyksXG4gICAgICAgIHNlbGVjdGlvbjogJycsXG4gICAgICAgIGVudHJ5VmFsdWU6IHZhbHVlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX29uRW50ZXIgPSBldmVudCA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgdGhpcy5wcm9wcy5vbktleURvd24/LihldmVudCk7XG4gICAgfVxuICAgIHRoaXMuX29uT3B0aW9uU2VsZWN0ZWQoc2VsZWN0aW9uLCBldmVudCk7XG4gIH07XG5cbiAgX29uRXNjYXBlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2VsZWN0aW9uSW5kZXg6IG51bGxcbiAgICB9KTtcbiAgfTtcblxuICBfb25UYWIgPSBldmVudCA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICBsZXQgb3B0aW9uID0gc2VsZWN0aW9uXG4gICAgICA/IHNlbGVjdGlvblxuICAgICAgOiB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHMubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHNbMF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChvcHRpb24gPT09IG51bGwgJiYgdGhpcy5faGFzQ3VzdG9tVmFsdWUoKSkge1xuICAgICAgb3B0aW9uID0gdGhpcy5fZ2V0Q3VzdG9tVmFsdWUoKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9uICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5fb25PcHRpb25TZWxlY3RlZChvcHRpb24sIGV2ZW50KTtcbiAgICB9XG4gIH07XG5cbiAgZXZlbnRNYXAgPSAoKSA9PiB7XG4gICAgY29uc3QgZXZlbnRzID0ge307XG5cbiAgICBldmVudHNbS2V5RXZlbnQuRE9NX1ZLX1VQXSA9IHRoaXMubmF2VXA7XG4gICAgZXZlbnRzW0tleUV2ZW50LkRPTV9WS19ET1dOXSA9IHRoaXMubmF2RG93bjtcbiAgICBldmVudHNbS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTl0gPSBldmVudHNbS2V5RXZlbnQuRE9NX1ZLX0VOVEVSXSA9IHRoaXMuX29uRW50ZXI7XG4gICAgZXZlbnRzW0tleUV2ZW50LkRPTV9WS19FU0NBUEVdID0gdGhpcy5fb25Fc2NhcGU7XG4gICAgZXZlbnRzW0tleUV2ZW50LkRPTV9WS19UQUJdID0gdGhpcy5fb25UYWI7XG5cbiAgICByZXR1cm4gZXZlbnRzO1xuICB9O1xuXG4gIF9uYXYgPSBkZWx0YSA9PiB7XG4gICAgaWYgKCF0aGlzLl9oYXNIaW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG5ld0luZGV4ID1cbiAgICAgIHRoaXMuc3RhdGUuc2VsZWN0aW9uSW5kZXggPT09IG51bGxcbiAgICAgICAgPyBkZWx0YSA9PT0gMVxuICAgICAgICAgID8gMFxuICAgICAgICAgIDogZGVsdGFcbiAgICAgICAgOiB0aGlzLnN0YXRlLnNlbGVjdGlvbkluZGV4ICsgZGVsdGE7XG4gICAgbGV0IGxlbmd0aCA9IHRoaXMucHJvcHMubWF4VmlzaWJsZVxuICAgICAgPyB0aGlzLnN0YXRlLnNlYXJjaFJlc3VsdHMuc2xpY2UoMCwgdGhpcy5wcm9wcy5tYXhWaXNpYmxlKS5sZW5ndGhcbiAgICAgIDogdGhpcy5zdGF0ZS5zZWFyY2hSZXN1bHRzLmxlbmd0aDtcbiAgICBpZiAodGhpcy5faGFzQ3VzdG9tVmFsdWUoKSkge1xuICAgICAgbGVuZ3RoICs9IDE7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4IDwgMCkge1xuICAgICAgbmV3SW5kZXggKz0gbGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAobmV3SW5kZXggPj0gbGVuZ3RoKSB7XG4gICAgICBuZXdJbmRleCAtPSBsZW5ndGg7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7c2VsZWN0aW9uSW5kZXg6IG5ld0luZGV4fSk7XG4gIH07XG5cbiAgbmF2RG93biA9ICgpID0+IHtcbiAgICB0aGlzLl9uYXYoMSk7XG4gIH07XG5cbiAgbmF2VXAgPSAoKSA9PiB7XG4gICAgdGhpcy5fbmF2KC0xKTtcbiAgfTtcblxuICBfb25DaGFuZ2U6IFJlYWN0LkNoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IGV2ZW50ID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShldmVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fb25UZXh0RW50cnlVcGRhdGVkKCk7XG4gIH07XG5cbiAgX29uS2V5RG93bjogUmVhY3QuS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+ID0gZXZlbnQgPT4ge1xuICAgIC8vIElmIHRoZXJlIGFyZSBubyB2aXNpYmxlIGVsZW1lbnRzLCBkb24ndCBwZXJmb3JtIHNlbGVjdG9yIG5hdmlnYXRpb24uXG4gICAgLy8gSnVzdCBwYXNzIHRoaXMgdXAgdG8gdGhlIHVwc3RyZWFtIG9uS2V5ZG93biBoYW5kbGVyLlxuICAgIC8vIEFsc28gc2tpcCBpZiB0aGUgdXNlciBpcyBwcmVzc2luZyB0aGUgc2hpZnQga2V5LCBzaW5jZSBub25lIG9mIG91ciBoYW5kbGVycyBhcmUgbG9va2luZyBmb3Igc2hpZnRcbiAgICBpZiAoIXRoaXMuX2hhc0hpbnQoKSB8fCBldmVudC5zaGlmdEtleSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25LZXlEb3duPy4oZXZlbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLmV2ZW50TWFwKClbZXZlbnQua2V5Q29kZV07XG5cbiAgICBpZiAoaGFuZGxlcikge1xuICAgICAgaGFuZGxlcihldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uS2V5RG93bj8uKGV2ZW50KTtcbiAgICB9XG4gICAgLy8gRG9uJ3QgcHJvcGFnYXRlIHRoZSBrZXlzdHJva2UgYmFjayB0byB0aGUgRE9NL2Jyb3dzZXJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9O1xuXG4gIF9vbkZvY3VzOiBSZWFjdC5Gb2N1c0V2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD4gPSBldmVudCA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7aXNGb2N1c2VkOiB0cnVlfSk7XG4gICAgaWYgKHRoaXMucHJvcHMub25Gb2N1cykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25Gb2N1cyhldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIF9vbkJsdXI6IFJlYWN0LkZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gZXZlbnQgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzRm9jdXNlZDogZmFsc2V9KTtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkJsdXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQmx1cihldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIF9yZW5kZXJIaWRkZW5JbnB1dCgpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMubmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT17dGhpcy5wcm9wcy5uYW1lfSB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3Rpb259IC8+O1xuICB9XG5cbiAgX2hhc0hpbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VhcmNoUmVzdWx0cy5sZW5ndGggPiAwIHx8IHRoaXMuX2hhc0N1c3RvbVZhbHVlKCk7XG4gIH1cblxuICBfaGFzRml4ZWRPcHRpb25zKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMucHJvcHMuZml4ZWRPcHRpb25zKSAmJiB0aGlzLnByb3BzLmZpeGVkT3B0aW9ucy5sZW5ndGg7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgaW5wdXRDbGFzc2VzID0ge307XG4gICAgaW5wdXRDbGFzc2VzW3RoaXMucHJvcHMuY3VzdG9tQ2xhc3Nlcz8uaW5wdXRdID0gQm9vbGVhbih0aGlzLnByb3BzLmN1c3RvbUNsYXNzZXM/LmlucHV0KTtcbiAgICBjb25zdCBpbnB1dENsYXNzTGlzdCA9IGNsYXNzTmFtZXMoaW5wdXRDbGFzc2VzKTtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBbREVGQVVMVF9DTEFTU106IHRoaXMucHJvcHMuZGVmYXVsdENsYXNzTmFtZXNcbiAgICB9O1xuICAgIGNsYXNzZXNbdGhpcy5wcm9wcy5jbGFzc05hbWUgPyB0aGlzLnByb3BzLmNsYXNzTmFtZSA6ICcnXSA9IEJvb2xlYW4odGhpcy5wcm9wcy5jbGFzc05hbWUpO1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IGNsYXNzTmFtZXMoY2xhc3Nlcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFR5cGVhaGVhZFdyYXBwZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc0xpc3R9XG4gICAgICAgIHJlZj17dGhpcy5yb290fVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgb25LZXlEb3duPXt0aGlzLl9vbktleURvd259XG4gICAgICAgIG9uS2V5UHJlc3M9e3RoaXMucHJvcHMub25LZXlQcmVzc31cbiAgICAgICAgb25LZXlVcD17dGhpcy5wcm9wcy5vbktleVVwfVxuICAgICAgICBvbkZvY3VzPXt0aGlzLl9vbkZvY3VzfVxuICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5saWdodH1cbiAgICAgID5cbiAgICAgICAge3RoaXMuX3JlbmRlckhpZGRlbklucHV0KCl9XG4gICAgICAgIHt0aGlzLnByb3BzLnNlYXJjaGFibGUgPyAoXG4gICAgICAgICAgPElucHV0Qm94PlxuICAgICAgICAgICAgPFR5cGVhaGVhZElucHV0XG4gICAgICAgICAgICAgIHJlZj17dGhpcy5lbnRyeX1cbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5wcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgey4uLnRoaXMucHJvcHMuaW5wdXRQcm9wc31cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17aW5wdXRDbGFzc0xpc3R9XG4gICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLmVudHJ5VmFsdWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLl9vbkNoYW5nZX1cbiAgICAgICAgICAgICAgb25CbHVyPXt0aGlzLl9vbkJsdXJ9XG4gICAgICAgICAgICAgIGxpZ2h0PXt0aGlzLnByb3BzLmxpZ2h0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxJbnB1dEljb24+XG4gICAgICAgICAgICAgIDx0aGlzLnByb3BzLmlucHV0SWNvbiBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICAgICAgICAgIDwvSW5wdXRJY29uPlxuICAgICAgICAgIDwvSW5wdXRCb3g+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7dGhpcy5fcmVuZGVySW5jcmVtZW50YWxTZWFyY2hSZXN1bHRzKCl9XG4gICAgICA8L1R5cGVhaGVhZFdyYXBwZXI+XG4gICAgKTtcbiAgfVxufVxuXG5wb2x5ZmlsbChUeXBlYWhlYWQpO1xuXG5leHBvcnQgZGVmYXVsdCBUeXBlYWhlYWQ7XG4iXX0=
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { LineSeriesPoint, RVNearestXData } from 'react-vis';
3
3
  import { LineChart } from '@kepler.gl/types';
4
4
  export interface HoverDP {
@@ -30,5 +30,5 @@ interface LineChartProps {
30
30
  timezone?: string | null;
31
31
  timeFormat?: string;
32
32
  }
33
- declare function LineChartFactory(): ({ brushComponent, brushing, color, enableChartHover, height, hoveredDP, isEnlarged, lineChart, margin, onMouseMove, width, timezone, timeFormat }: LineChartProps) => JSX.Element;
33
+ declare function LineChartFactory(): ({ brushComponent, brushing, color, enableChartHover, height, hoveredDP, isEnlarged, lineChart, margin, onMouseMove, width, timezone, timeFormat }: LineChartProps) => React.JSX.Element;
34
34
  export default LineChartFactory;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -143,4 +143,4 @@ function LineChartFactory() {
143
143
 
144
144
  var _default = LineChartFactory;
145
145
  exports["default"] = _default;
146
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbGluZS1jaGFydC50c3giXSwibmFtZXMiOlsiTGluZUNoYXJ0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJoaXN0b2dyYW1GaWxsT3V0UmFuZ2UiLCJ0ZXh0Q29sb3IiLCJTdHlsZWRIaW50IiwidGV4dENvbG9yTFQiLCJIaW50Q29udGVudCIsIngiLCJ5IiwiZm9ybWF0IiwiTUFSR0lOIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiTGluZUNoYXJ0RmFjdG9yeSIsIkxpbmVDaGFydENvbXBvbmVudCIsImJydXNoQ29tcG9uZW50IiwiYnJ1c2hpbmciLCJjb2xvciIsImVuYWJsZUNoYXJ0SG92ZXIiLCJoZWlnaHQiLCJob3ZlcmVkRFAiLCJpc0VubGFyZ2VkIiwibGluZUNoYXJ0IiwibWFyZ2luIiwib25Nb3VzZU1vdmUiLCJ3aWR0aCIsInRpbWV6b25lIiwidGltZUZvcm1hdCIsInNlcmllcyIsInlEb21haW4iLCJicnVzaERhdGEiLCJjdXN0b21Db21wb25lbnQiLCJoaW50Rm9ybWF0dGVyIiwibWFyZ2luVG9wIiwiZmlsbCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQVlBOztBQUNBOzs7O0FBRUEsSUFBTUEsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLG9iQVdSLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMscUJBQWhCO0FBQUEsQ0FYRyxFQWlCVixVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLFNBQWhCO0FBQUEsQ0FqQkssQ0FBdEI7O0FBcUJBLElBQU1DLFVBQVUsR0FBR04sNkJBQU9DLEdBQVYsdVFBR0wsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxXQUFoQjtBQUFBLENBSEEsQ0FBaEI7O0FBaUJBLElBQU1DLFdBQVcs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RTtBQUFoQyxNQVRGLGVBVUUsZ0NBQUMsb0JBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRTtBQUFDVSxRQUFBQSxJQUFJLEVBQUU7QUFBUCxPQURUO0FBRUUsTUFBQSxLQUFLLEVBQUVqQixLQUZUO0FBR0UsTUFBQSxJQUFJLEVBQUVXLE1BSFI7QUFJRSxNQUFBLFVBQVUsRUFBRVYsZ0JBQWdCLEdBQUdNLFdBQUgsR0FBaUJXO0FBSi9DLE1BVkYsZUFnQkUsZ0NBQUMsb0JBQUQ7QUFBWSxNQUFBLElBQUksRUFBRWYsU0FBUyxHQUFHLENBQUNBLFNBQUQsQ0FBSCxHQUFpQixFQUE1QztBQUFnRCxNQUFBLEtBQUssRUFBRUg7QUFBdkQsTUFoQkYsZUFpQkUsZ0NBQUMseUJBQUQ7QUFBaUIsTUFBQSxJQUFJLEVBQUVhO0FBQXZCLE1BakJGLEVBa0JHVCxVQUFVLGlCQUFJLGdDQUFDLGVBQUQ7QUFBTyxNQUFBLFNBQVMsRUFBRTtBQUFsQixNQWxCakIsRUFtQkdELFNBQVMsSUFBSUYsZ0JBQWIsSUFBaUMsQ0FBQ0YsUUFBbEMsZ0JBQ0MsZ0NBQUMsY0FBRDtBQUFNLE1BQUEsS0FBSyxFQUFFSTtBQUFiLG9CQUNFLGdDQUFDLFdBQUQsZ0NBQWlCQSxTQUFqQjtBQUE0QixNQUFBLE1BQU0sRUFBRVk7QUFBcEMsT0FERixDQURELEdBSUcsSUF2Qk4sQ0FERixDQURGO0FBNkJELEdBeEREOztBQXlEQSxTQUFPbEIsa0JBQVA7QUFDRDs7ZUFFY0QsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBIb3Jpem9udGFsR3JpZExpbmVzLFxuICBMaW5lU2VyaWVzLFxuICBYWVBsb3QsXG4gIEN1c3RvbVNWR1NlcmllcyxcbiAgSGludCxcbiAgWUF4aXMsXG4gIE1hcmtTZXJpZXMsXG4gIExpbmVTZXJpZXNQb2ludCxcbiAgUlZOZWFyZXN0WERhdGFcbn0gZnJvbSAncmVhY3QtdmlzJztcbmltcG9ydCB7TGluZUNoYXJ0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtkYXRldGltZUZvcm1hdHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmNvbnN0IExpbmVDaGFydFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAucnYteHktcGxvdCB7XG4gICAgLyogaW1wb3J0YW50IGZvciByZW5kZXJpbmcgaGludCAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucnYteHktcGxvdF9faW5uZXIge1xuICAgIC8qIGltcG9ydGFudCB0byBzaG93IGF4aXMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5ydi14eS1wbG90X19ncmlkLWxpbmVzX19saW5lIHtcbiAgICBzdHJva2U6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGlzdG9ncmFtRmlsbE91dFJhbmdlfTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxcHggNHB4O1xuICB9XG5cbiAgLnJ2LXh5LXBsb3RfX2F4aXNfX3RpY2tfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkSGludCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2Q4ZTA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDlweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbmA7XG5cbmludGVyZmFjZSBIaW50Q29udGVudFByb3BzIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGZvcm1hdDogKHRzOiBudW1iZXIpID0+IHN0cmluZztcbn1cblxuY29uc3QgSGludENvbnRlbnQgPSAoe3gsIHksIGZvcm1hdH06IEhpbnRDb250ZW50UHJvcHMpID0+IChcbiAgPFN0eWxlZEhpbnQ+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJoaW50LS14XCI+e2Zvcm1hdCh4KX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPnt5fTwvZGl2PlxuICA8L1N0eWxlZEhpbnQ+XG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvdmVyRFAge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG9wYWNpdHk/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHN0cm9rZT86IHN0cmluZyB8IG51bWJlcjtcbiAgZmlsbD86IHN0cmluZyB8IG51bWJlcjtcbiAgc2l6ZT86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIExpbmVDaGFydFByb3BzIHtcbiAgYnJ1c2hDb21wb25lbnQ/OiBhbnk7XG4gIGJydXNoaW5nPzogYm9vbGVhbjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGVuYWJsZUNoYXJ0SG92ZXI/OiBib29sZWFuO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgaG92ZXJlZERQPzogSG92ZXJEUCB8IG51bGw7XG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xuICBsaW5lQ2hhcnQ/OiBMaW5lQ2hhcnQ7XG4gIG1hcmdpbjoge3RvcD86IG51bWJlcjsgYm90dG9tPzogbnVtYmVyOyBsZWZ0PzogbnVtYmVyOyByaWdodD86IG51bWJlcn07XG4gIG9uTW91c2VNb3ZlOiAoZGF0YXBvaW50OiBMaW5lU2VyaWVzUG9pbnQgfCBudWxsLCBkYXRhPzogUlZOZWFyZXN0WERhdGE8TGluZVNlcmllc1BvaW50PikgPT4gdm9pZDtcbiAgd2lkdGg6IG51bWJlcjtcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xuICB0aW1lRm9ybWF0Pzogc3RyaW5nO1xufVxuXG5jb25zdCBNQVJHSU4gPSB7dG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwfTtcbmZ1bmN0aW9uIExpbmVDaGFydEZhY3RvcnkoKSB7XG4gIGNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9ICh7XG4gICAgYnJ1c2hDb21wb25lbnQsXG4gICAgYnJ1c2hpbmcsXG4gICAgY29sb3IsXG4gICAgZW5hYmxlQ2hhcnRIb3ZlcixcbiAgICBoZWlnaHQsXG4gICAgaG92ZXJlZERQLFxuICAgIGlzRW5sYXJnZWQsXG4gICAgbGluZUNoYXJ0LFxuICAgIG1hcmdpbixcbiAgICBvbk1vdXNlTW92ZSxcbiAgICB3aWR0aCxcbiAgICB0aW1lem9uZSxcbiAgICB0aW1lRm9ybWF0XG4gIH06IExpbmVDaGFydFByb3BzKSA9PiB7XG4gICAgY29uc3Qge3NlcmllcywgeURvbWFpbn0gPSBsaW5lQ2hhcnQgfHwge307XG5cbiAgICBjb25zdCBicnVzaERhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBzZXJpZXMgJiYgc2VyaWVzWzBdICYmIHNlcmllc1swXS54ICYmIHlEb21haW4gJiYgeURvbWFpblsxXVxuICAgICAgICA/IFt7eDogc2VyaWVzWzBdLngsIHk6IHlEb21haW5bMV0sIGN1c3RvbUNvbXBvbmVudDogKCkgPT4gYnJ1c2hDb21wb25lbnR9XVxuICAgICAgICA6IFtdO1xuICAgIH0sIFtzZXJpZXMsIHlEb21haW4sIGJydXNoQ29tcG9uZW50XSk7XG4gICAgY29uc3QgaGludEZvcm1hdHRlciA9IHVzZU1lbW8oKCkgPT4gZGF0ZXRpbWVGb3JtYXR0ZXIodGltZXpvbmUpKHRpbWVGb3JtYXQpLCBbXG4gICAgICB0aW1lem9uZSxcbiAgICAgIHRpbWVGb3JtYXRcbiAgICBdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGluZUNoYXJ0V3JhcHBlciBzdHlsZT17e21hcmdpblRvcDogYCR7bWFyZ2luLnRvcH1weGB9fT5cbiAgICAgICAgPFhZUGxvdFxuICAgICAgICAgIHhUeXBlPVwidGltZVwiXG4gICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgIG1hcmdpbj17TUFSR0lOfVxuICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xuICAgICAgICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxIb3Jpem9udGFsR3JpZExpbmVzIHRpY2tUb3RhbD17M30gLz5cbiAgICAgICAgICA8TGluZVNlcmllc1xuICAgICAgICAgICAgc3R5bGU9e3tmaWxsOiAnbm9uZSd9fVxuICAgICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgICAgZGF0YT17c2VyaWVzfVxuICAgICAgICAgICAgb25OZWFyZXN0WD17ZW5hYmxlQ2hhcnRIb3ZlciA/IG9uTW91c2VNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hcmtTZXJpZXMgZGF0YT17aG92ZXJlZERQID8gW2hvdmVyZWREUF0gOiBbXX0gY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIDxDdXN0b21TVkdTZXJpZXMgZGF0YT17YnJ1c2hEYXRhfSAvPlxuICAgICAgICAgIHtpc0VubGFyZ2VkICYmIDxZQXhpcyB0aWNrVG90YWw9ezN9IC8+fVxuICAgICAgICAgIHtob3ZlcmVkRFAgJiYgZW5hYmxlQ2hhcnRIb3ZlciAmJiAhYnJ1c2hpbmcgPyAoXG4gICAgICAgICAgICA8SGludCB2YWx1ZT17aG92ZXJlZERQfT5cbiAgICAgICAgICAgICAgPEhpbnRDb250ZW50IHsuLi5ob3ZlcmVkRFB9IGZvcm1hdD17aGludEZvcm1hdHRlcn0gLz5cbiAgICAgICAgICAgIDwvSGludD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9YWVBsb3Q+XG4gICAgICA8L0xpbmVDaGFydFdyYXBwZXI+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIExpbmVDaGFydENvbXBvbmVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGluZUNoYXJ0RmFjdG9yeTtcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbGluZS1jaGFydC50c3giXSwibmFtZXMiOlsiTGluZUNoYXJ0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJoaXN0b2dyYW1GaWxsT3V0UmFuZ2UiLCJ0ZXh0Q29sb3IiLCJTdHlsZWRIaW50IiwidGV4dENvbG9yTFQiLCJIaW50Q29udGVudCIsIngiLCJ5IiwiZm9ybWF0IiwiTUFSR0lOIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiTGluZUNoYXJ0RmFjdG9yeSIsIkxpbmVDaGFydENvbXBvbmVudCIsImJydXNoQ29tcG9uZW50IiwiYnJ1c2hpbmciLCJjb2xvciIsImVuYWJsZUNoYXJ0SG92ZXIiLCJoZWlnaHQiLCJob3ZlcmVkRFAiLCJpc0VubGFyZ2VkIiwibGluZUNoYXJ0IiwibWFyZ2luIiwib25Nb3VzZU1vdmUiLCJ3aWR0aCIsInRpbWV6b25lIiwidGltZUZvcm1hdCIsInNlcmllcyIsInlEb21haW4iLCJicnVzaERhdGEiLCJjdXN0b21Db21wb25lbnQiLCJoaW50Rm9ybWF0dGVyIiwibWFyZ2luVG9wIiwiZmlsbCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQVlBOztBQUNBOzs7O0FBRUEsSUFBTUEsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLG9iQVdSLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMscUJBQWhCO0FBQUEsQ0FYRyxFQWlCVixVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLFNBQWhCO0FBQUEsQ0FqQkssQ0FBdEI7O0FBcUJBLElBQU1DLFVBQVUsR0FBR04sNkJBQU9DLEdBQVYsdVFBR0wsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxXQUFoQjtBQUFBLENBSEEsQ0FBaEI7O0FBaUJBLElBQU1DLFdBQVcs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RTtBQUFoQyxNQVRGLGVBVUUsZ0NBQUMsb0JBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRTtBQUFDVSxRQUFBQSxJQUFJLEVBQUU7QUFBUCxPQURUO0FBRUUsTUFBQSxLQUFLLEVBQUVqQixLQUZUO0FBR0UsTUFBQSxJQUFJLEVBQUVXLE1BSFI7QUFJRSxNQUFBLFVBQVUsRUFBRVYsZ0JBQWdCLEdBQUdNLFdBQUgsR0FBaUJXO0FBSi9DLE1BVkYsZUFnQkUsZ0NBQUMsb0JBQUQ7QUFBWSxNQUFBLElBQUksRUFBRWYsU0FBUyxHQUFHLENBQUNBLFNBQUQsQ0FBSCxHQUFpQixFQUE1QztBQUFnRCxNQUFBLEtBQUssRUFBRUg7QUFBdkQsTUFoQkYsZUFpQkUsZ0NBQUMseUJBQUQ7QUFBaUIsTUFBQSxJQUFJLEVBQUVhO0FBQXZCLE1BakJGLEVBa0JHVCxVQUFVLGlCQUFJLGdDQUFDLGVBQUQ7QUFBTyxNQUFBLFNBQVMsRUFBRTtBQUFsQixNQWxCakIsRUFtQkdELFNBQVMsSUFBSUYsZ0JBQWIsSUFBaUMsQ0FBQ0YsUUFBbEMsZ0JBQ0MsZ0NBQUMsY0FBRDtBQUFNLE1BQUEsS0FBSyxFQUFFSTtBQUFiLG9CQUNFLGdDQUFDLFdBQUQsZ0NBQWlCQSxTQUFqQjtBQUE0QixNQUFBLE1BQU0sRUFBRVk7QUFBcEMsT0FERixDQURELEdBSUcsSUF2Qk4sQ0FERixDQURGO0FBNkJELEdBeEREOztBQXlEQSxTQUFPbEIsa0JBQVA7QUFDRDs7ZUFFY0QsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBIb3Jpem9udGFsR3JpZExpbmVzLFxuICBMaW5lU2VyaWVzLFxuICBYWVBsb3QsXG4gIEN1c3RvbVNWR1NlcmllcyxcbiAgSGludCxcbiAgWUF4aXMsXG4gIE1hcmtTZXJpZXMsXG4gIExpbmVTZXJpZXNQb2ludCxcbiAgUlZOZWFyZXN0WERhdGFcbn0gZnJvbSAncmVhY3QtdmlzJztcbmltcG9ydCB7TGluZUNoYXJ0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtkYXRldGltZUZvcm1hdHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmNvbnN0IExpbmVDaGFydFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAucnYteHktcGxvdCB7XG4gICAgLyogaW1wb3J0YW50IGZvciByZW5kZXJpbmcgaGludCAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucnYteHktcGxvdF9faW5uZXIge1xuICAgIC8qIGltcG9ydGFudCB0byBzaG93IGF4aXMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5ydi14eS1wbG90X19ncmlkLWxpbmVzX19saW5lIHtcbiAgICBzdHJva2U6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGlzdG9ncmFtRmlsbE91dFJhbmdlfTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxcHggNHB4O1xuICB9XG5cbiAgLnJ2LXh5LXBsb3RfX2F4aXNfX3RpY2tfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkSGludCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2Q4ZTA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDlweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbmA7XG5cbmludGVyZmFjZSBIaW50Q29udGVudFByb3BzIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGZvcm1hdDogKHRzOiBudW1iZXIpID0+IHN0cmluZztcbn1cblxuY29uc3QgSGludENvbnRlbnQgPSAoe3gsIHksIGZvcm1hdH06IEhpbnRDb250ZW50UHJvcHMpID0+IChcbiAgPFN0eWxlZEhpbnQ+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJoaW50LS14XCI+e2Zvcm1hdCh4KX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPnt5fTwvZGl2PlxuICA8L1N0eWxlZEhpbnQ+XG4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvdmVyRFAge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG9wYWNpdHk/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHN0cm9rZT86IHN0cmluZyB8IG51bWJlcjtcbiAgZmlsbD86IHN0cmluZyB8IG51bWJlcjtcbiAgc2l6ZT86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIExpbmVDaGFydFByb3BzIHtcbiAgYnJ1c2hDb21wb25lbnQ/OiBhbnk7XG4gIGJydXNoaW5nPzogYm9vbGVhbjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGVuYWJsZUNoYXJ0SG92ZXI/OiBib29sZWFuO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgaG92ZXJlZERQPzogSG92ZXJEUCB8IG51bGw7XG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xuICBsaW5lQ2hhcnQ/OiBMaW5lQ2hhcnQ7XG4gIG1hcmdpbjoge3RvcD86IG51bWJlcjsgYm90dG9tPzogbnVtYmVyOyBsZWZ0PzogbnVtYmVyOyByaWdodD86IG51bWJlcn07XG4gIG9uTW91c2VNb3ZlOiAoZGF0YXBvaW50OiBMaW5lU2VyaWVzUG9pbnQgfCBudWxsLCBkYXRhPzogUlZOZWFyZXN0WERhdGE8TGluZVNlcmllc1BvaW50PikgPT4gdm9pZDtcbiAgd2lkdGg6IG51bWJlcjtcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xuICB0aW1lRm9ybWF0Pzogc3RyaW5nO1xufVxuXG5jb25zdCBNQVJHSU4gPSB7dG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwfTtcbmZ1bmN0aW9uIExpbmVDaGFydEZhY3RvcnkoKSB7XG4gIGNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9ICh7XG4gICAgYnJ1c2hDb21wb25lbnQsXG4gICAgYnJ1c2hpbmcsXG4gICAgY29sb3IsXG4gICAgZW5hYmxlQ2hhcnRIb3ZlcixcbiAgICBoZWlnaHQsXG4gICAgaG92ZXJlZERQLFxuICAgIGlzRW5sYXJnZWQsXG4gICAgbGluZUNoYXJ0LFxuICAgIG1hcmdpbixcbiAgICBvbk1vdXNlTW92ZSxcbiAgICB3aWR0aCxcbiAgICB0aW1lem9uZSxcbiAgICB0aW1lRm9ybWF0XG4gIH06IExpbmVDaGFydFByb3BzKSA9PiB7XG4gICAgY29uc3Qge3NlcmllcywgeURvbWFpbn0gPSBsaW5lQ2hhcnQgfHwge307XG5cbiAgICBjb25zdCBicnVzaERhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBzZXJpZXMgJiYgc2VyaWVzWzBdICYmIHNlcmllc1swXS54ICYmIHlEb21haW4gJiYgeURvbWFpblsxXVxuICAgICAgICA/IFt7eDogc2VyaWVzWzBdLngsIHk6IHlEb21haW5bMV0sIGN1c3RvbUNvbXBvbmVudDogKCkgPT4gYnJ1c2hDb21wb25lbnR9XVxuICAgICAgICA6IFtdO1xuICAgIH0sIFtzZXJpZXMsIHlEb21haW4sIGJydXNoQ29tcG9uZW50XSk7XG4gICAgY29uc3QgaGludEZvcm1hdHRlciA9IHVzZU1lbW8oKCkgPT4gZGF0ZXRpbWVGb3JtYXR0ZXIodGltZXpvbmUpKHRpbWVGb3JtYXQpLCBbXG4gICAgICB0aW1lem9uZSxcbiAgICAgIHRpbWVGb3JtYXRcbiAgICBdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGluZUNoYXJ0V3JhcHBlciBzdHlsZT17e21hcmdpblRvcDogYCR7bWFyZ2luLnRvcH1weGB9fT5cbiAgICAgICAgPFhZUGxvdFxuICAgICAgICAgIHhUeXBlPVwidGltZVwiXG4gICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgIG1hcmdpbj17TUFSR0lOfVxuICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xuICAgICAgICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxIb3Jpem9udGFsR3JpZExpbmVzIHRpY2tUb3RhbD17M30gLz5cbiAgICAgICAgICA8TGluZVNlcmllc1xuICAgICAgICAgICAgc3R5bGU9e3tmaWxsOiAnbm9uZSd9fVxuICAgICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgICAgZGF0YT17c2VyaWVzfVxuICAgICAgICAgICAgb25OZWFyZXN0WD17ZW5hYmxlQ2hhcnRIb3ZlciA/IG9uTW91c2VNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hcmtTZXJpZXMgZGF0YT17aG92ZXJlZERQID8gW2hvdmVyZWREUF0gOiBbXX0gY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIDxDdXN0b21TVkdTZXJpZXMgZGF0YT17YnJ1c2hEYXRhfSAvPlxuICAgICAgICAgIHtpc0VubGFyZ2VkICYmIDxZQXhpcyB0aWNrVG90YWw9ezN9IC8+fVxuICAgICAgICAgIHtob3ZlcmVkRFAgJiYgZW5hYmxlQ2hhcnRIb3ZlciAmJiAhYnJ1c2hpbmcgPyAoXG4gICAgICAgICAgICA8SGludCB2YWx1ZT17aG92ZXJlZERQfT5cbiAgICAgICAgICAgICAgPEhpbnRDb250ZW50IHsuLi5ob3ZlcmVkRFB9IGZvcm1hdD17aGludEZvcm1hdHRlcn0gLz5cbiAgICAgICAgICAgIDwvSGludD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9YWVBsb3Q+XG4gICAgICA8L0xpbmVDaGFydFdyYXBwZXI+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIExpbmVDaGFydENvbXBvbmVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGluZUNoYXJ0RmFjdG9yeTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -73,4 +73,4 @@ var LoadingSpinner = function LoadingSpinner(_ref) {
73
73
 
74
74
  var _default = LoadingSpinner;
75
75
  exports["default"] = _default;
76
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbG9hZGluZy1zcGlubmVyLnRzeCJdLCJuYW1lcyI6WyJhbmltYXRpb25OYW1lIiwia2V5ZnJhbWVzIiwiTG9hZGVyIiwic3R5bGVkIiwic3BhbiIsInByb3BzIiwiY29sb3IiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJMb2FkaW5nV3JhcHBlciIsImRpdiIsImJvcmRlckNvbG9yIiwiYm9yZGVyQ29sb3JMVCIsIkxvYWRpbmdTcGlubmVyIiwic2l6ZSIsInN0cm9rZVdpZHRoIiwiZ2FwIiwid2lkdGgiLCJoZWlnaHQiLCJwYWRkaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7O0FBRUEsSUFBTUEsYUFBYSxPQUFHQywyQkFBSCxtTEFBbkI7O0FBU0EsSUFBTUMsTUFBTSxHQUFHQyw2QkFBT0MsSUFBVix5WkFDYSxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLElBQWVELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxhQUEvQjtBQUFBLENBRGxCLEVBVVVSLGFBVlYsQ0FBWjs7QUFpQkEsSUFBTVMsY0FBYyxHQUFHTiw2QkFBT08sR0FBViw4SkFFRSxVQUFBTCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDTSxXQUFOLElBQXFCTixLQUFLLENBQUNFLEtBQU4sQ0FBWUssYUFBckM7QUFBQSxDQUZQLENBQXBCOztBQWFBLElBQU1DLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdEO0FBQUEsdUJBQ3BEQyxJQURvRDtBQUFBLE1BQ3BEQSxJQURvRCwwQkFDN0MsRUFENkM7QUFBQSx3QkFFcERSLEtBRm9EO0FBQUEsTUFFcERBLEtBRm9ELDJCQUU1QyxFQUY0QztBQUFBLDhCQUdwRFMsV0FIb0Q7QUFBQSxNQUdwREEsV0FIb0QsaUNBR3RDLENBSHNDO0FBQUEsc0JBSXBEQyxHQUpvRDtBQUFBLE1BSXBEQSxHQUpvRCx5QkFJOUMsQ0FKOEM7QUFBQSxzQkFNcEQsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLEtBQUssRUFBRTtBQUFDQyxNQUFBQSxLQUFLLFlBQUtILElBQUwsT0FBTjtBQUFxQkksTUFBQUEsTUFBTSxZQUFLSixJQUFMLE9BQTNCO0FBQTBDSyxNQUFBQSxPQUFPLFlBQUtILEdBQUw7QUFBakQ7QUFBdkIsa0JBQ0UsZ0NBQUMsTUFBRDtBQUNFLElBQUEsS0FBSyxFQUFFVixLQURUO0FBRUUsSUFBQSxLQUFLLEVBQUU7QUFDTFcsTUFBQUEsS0FBSyxZQUFLSCxJQUFJLEdBQUdDLFdBQVcsR0FBRyxDQUFyQixHQUF5QkMsR0FBRyxHQUFHLENBQXBDLE9BREE7QUFFTEUsTUFBQUEsTUFBTSxZQUFLSixJQUFJLEdBQUdDLFdBQVcsR0FBRyxDQUFyQixHQUF5QkMsR0FBRyxHQUFHLENBQXBDO0FBRkQ7QUFGVCxJQURGLENBTm9EO0FBQUEsQ0FBdEQ7O2VBaUJlSCxjIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHtrZXlmcmFtZXN9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgYW5pbWF0aW9uTmFtZSA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IExvYWRlciA9IHN0eWxlZC5zcGFuYFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmNvbG9yIHx8IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGFuaW1hdGlvbjogX3ByZWxvYWRlcl9zcGluXyA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiB3YWl0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uLW5hbWU6ICR7YW5pbWF0aW9uTmFtZX07XG59YDtcblxuaW50ZXJmYWNlIExvYWRpbmdXcmFwcGVyUHJvcHMge1xuICBib3JkZXJDb2xvcj86IHN0cmluZztcbn1cblxuY29uc3QgTG9hZGluZ1dyYXBwZXIgPSBzdHlsZWQuZGl2PExvYWRpbmdXcmFwcGVyUHJvcHM+YFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMuYm9yZGVyQ29sb3IgfHwgcHJvcHMudGhlbWUuYm9yZGVyQ29sb3JMVH07XG4gIHBhZGRpbmc6IDJweDtcbmA7XG5cbmludGVyZmFjZSBMb2FkaW5nU3Bpbm5lclByb3BzIHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICBnYXA/OiBudW1iZXI7XG59XG5cbmNvbnN0IExvYWRpbmdTcGlubmVyOiBSZWFjdC5GQzxMb2FkaW5nU3Bpbm5lclByb3BzPiA9ICh7XG4gIHNpemUgPSAzMixcbiAgY29sb3IgPSAnJyxcbiAgc3Ryb2tlV2lkdGggPSAzLFxuICBnYXAgPSAyXG59KSA9PiAoXG4gIDxMb2FkaW5nV3JhcHBlciBzdHlsZT17e3dpZHRoOiBgJHtzaXplfXB4YCwgaGVpZ2h0OiBgJHtzaXplfXB4YCwgcGFkZGluZzogYCR7Z2FwfXB4YH19PlxuICAgIDxMb2FkZXJcbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBgJHtzaXplIC0gc3Ryb2tlV2lkdGggKiAyIC0gZ2FwICogMn1weGAsXG4gICAgICAgIGhlaWdodDogYCR7c2l6ZSAtIHN0cm9rZVdpZHRoICogMiAtIGdhcCAqIDJ9cHhgXG4gICAgICB9fVxuICAgIC8+XG4gIDwvTG9hZGluZ1dyYXBwZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbG9hZGluZy1zcGlubmVyLnRzeCJdLCJuYW1lcyI6WyJhbmltYXRpb25OYW1lIiwia2V5ZnJhbWVzIiwiTG9hZGVyIiwic3R5bGVkIiwic3BhbiIsInByb3BzIiwiY29sb3IiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJMb2FkaW5nV3JhcHBlciIsImRpdiIsImJvcmRlckNvbG9yIiwiYm9yZGVyQ29sb3JMVCIsIkxvYWRpbmdTcGlubmVyIiwic2l6ZSIsInN0cm9rZVdpZHRoIiwiZ2FwIiwid2lkdGgiLCJoZWlnaHQiLCJwYWRkaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7O0FBRUEsSUFBTUEsYUFBYSxPQUFHQywyQkFBSCxtTEFBbkI7O0FBU0EsSUFBTUMsTUFBTSxHQUFHQyw2QkFBT0MsSUFBVix5WkFDYSxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLElBQWVELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxhQUEvQjtBQUFBLENBRGxCLEVBVVVSLGFBVlYsQ0FBWjs7QUFpQkEsSUFBTVMsY0FBYyxHQUFHTiw2QkFBT08sR0FBViw4SkFFRSxVQUFBTCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDTSxXQUFOLElBQXFCTixLQUFLLENBQUNFLEtBQU4sQ0FBWUssYUFBckM7QUFBQSxDQUZQLENBQXBCOztBQWFBLElBQU1DLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdEO0FBQUEsdUJBQ3BEQyxJQURvRDtBQUFBLE1BQ3BEQSxJQURvRCwwQkFDN0MsRUFENkM7QUFBQSx3QkFFcERSLEtBRm9EO0FBQUEsTUFFcERBLEtBRm9ELDJCQUU1QyxFQUY0QztBQUFBLDhCQUdwRFMsV0FIb0Q7QUFBQSxNQUdwREEsV0FIb0QsaUNBR3RDLENBSHNDO0FBQUEsc0JBSXBEQyxHQUpvRDtBQUFBLE1BSXBEQSxHQUpvRCx5QkFJOUMsQ0FKOEM7QUFBQSxzQkFNcEQsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLEtBQUssRUFBRTtBQUFDQyxNQUFBQSxLQUFLLFlBQUtILElBQUwsT0FBTjtBQUFxQkksTUFBQUEsTUFBTSxZQUFLSixJQUFMLE9BQTNCO0FBQTBDSyxNQUFBQSxPQUFPLFlBQUtILEdBQUw7QUFBakQ7QUFBdkIsa0JBQ0UsZ0NBQUMsTUFBRDtBQUNFLElBQUEsS0FBSyxFQUFFVixLQURUO0FBRUUsSUFBQSxLQUFLLEVBQUU7QUFDTFcsTUFBQUEsS0FBSyxZQUFLSCxJQUFJLEdBQUdDLFdBQVcsR0FBRyxDQUFyQixHQUF5QkMsR0FBRyxHQUFHLENBQXBDLE9BREE7QUFFTEUsTUFBQUEsTUFBTSxZQUFLSixJQUFJLEdBQUdDLFdBQVcsR0FBRyxDQUFyQixHQUF5QkMsR0FBRyxHQUFHLENBQXBDO0FBRkQ7QUFGVCxJQURGLENBTm9EO0FBQUEsQ0FBdEQ7O2VBaUJlSCxjIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHtrZXlmcmFtZXN9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgYW5pbWF0aW9uTmFtZSA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IExvYWRlciA9IHN0eWxlZC5zcGFuYFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmNvbG9yIHx8IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGFuaW1hdGlvbjogX3ByZWxvYWRlcl9zcGluXyA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiB3YWl0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uLW5hbWU6ICR7YW5pbWF0aW9uTmFtZX07XG59YDtcblxuaW50ZXJmYWNlIExvYWRpbmdXcmFwcGVyUHJvcHMge1xuICBib3JkZXJDb2xvcj86IHN0cmluZztcbn1cblxuY29uc3QgTG9hZGluZ1dyYXBwZXIgPSBzdHlsZWQuZGl2PExvYWRpbmdXcmFwcGVyUHJvcHM+YFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMuYm9yZGVyQ29sb3IgfHwgcHJvcHMudGhlbWUuYm9yZGVyQ29sb3JMVH07XG4gIHBhZGRpbmc6IDJweDtcbmA7XG5cbmludGVyZmFjZSBMb2FkaW5nU3Bpbm5lclByb3BzIHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICBnYXA/OiBudW1iZXI7XG59XG5cbmNvbnN0IExvYWRpbmdTcGlubmVyOiBSZWFjdC5GQzxMb2FkaW5nU3Bpbm5lclByb3BzPiA9ICh7XG4gIHNpemUgPSAzMixcbiAgY29sb3IgPSAnJyxcbiAgc3Ryb2tlV2lkdGggPSAzLFxuICBnYXAgPSAyXG59KSA9PiAoXG4gIDxMb2FkaW5nV3JhcHBlciBzdHlsZT17e3dpZHRoOiBgJHtzaXplfXB4YCwgaGVpZ2h0OiBgJHtzaXplfXB4YCwgcGFkZGluZzogYCR7Z2FwfXB4YH19PlxuICAgIDxMb2FkZXJcbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBgJHtzaXplIC0gc3Ryb2tlV2lkdGggKiAyIC0gZ2FwICogMn1weGAsXG4gICAgICAgIGhlaWdodDogYCR7c2l6ZSAtIHN0cm9rZVdpZHRoICogMiAtIGdhcCAqIDJ9cHhgXG4gICAgICB9fVxuICAgIC8+XG4gIDwvTG9hZGluZ1dyYXBwZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ==
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  interface KeplerGlLogoProps {
3
3
  appName?: string;
4
4
  version?: string | boolean;
5
5
  appWebsite?: string;
6
6
  }
7
- declare const KeplerGlLogo: ({ appName, appWebsite, version }: KeplerGlLogoProps) => JSX.Element;
7
+ declare const KeplerGlLogo: ({ appName, appWebsite, version }: KeplerGlLogoProps) => React.JSX.Element;
8
8
  export default KeplerGlLogo;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -99,4 +99,4 @@ var KeplerGlLogo = function KeplerGlLogo(_ref) {
99
99
 
100
100
  var _default = KeplerGlLogo;
101
101
  exports["default"] = _default;
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbG9nby50c3giXSwibmFtZXMiOlsiTG9nb1RpdGxlIiwic3R5bGVkIiwiZGl2IiwiTG9nb05hbWUiLCJwcm9wcyIsInRoZW1lIiwibG9nb0NvbG9yIiwiTG9nb1ZlcnNpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMb2dvV3JhcHBlciIsIkxvZ29TdmdXcmFwcGVyIiwiTG9nb1N2ZyIsIktlcGxlckdsTG9nbyIsImFwcE5hbWUiLCJLRVBMRVJfR0xfTkFNRSIsImFwcFdlYnNpdGUiLCJLRVBMRVJfR0xfV0VCU0lURSIsInZlcnNpb24iLCJLRVBMRVJfR0xfVkVSU0lPTiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUdDLDZCQUFPQyxHQUFWLHVJQUFmOztBQUtBLElBQU1DLFFBQVEsR0FBR0YsNkJBQU9DLEdBQVYsNk1BRUQsVUFBQUUsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBRkosQ0FBZDs7QUFRQSxJQUFNQyxXQUFXLEdBQUdOLDZCQUFPQyxHQUFWLGdMQUVOLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUcsWUFBaEI7QUFBQSxDQUZDLENBQWpCOztBQU9BLElBQU1DLFdBQVcsR0FBR1IsNkJBQU9DLEdBQVYsd0lBQWpCOztBQUtBLElBQU1RLGNBQWMsR0FBR1QsNkJBQU9DLEdBQVYsOEdBQXBCOztBQUlBLElBQU1TLE9BQU8sR0FBRyxTQUFWQSxPQUFVO0FBQUEsc0JBQ2Q7QUFBSyxJQUFBLFNBQVMsRUFBQyx1QkFBZjtBQUF1QyxJQUFBLEtBQUssRUFBQyxNQUE3QztBQUFvRCxJQUFBLE1BQU0sRUFBQyxNQUEzRDtBQUFrRSxJQUFBLE9BQU8sRUFBQztBQUExRSxrQkFDRTtBQUFHLElBQUEsU0FBUyxFQUFDO0FBQWIsa0JBQ0U7QUFBTSxJQUFBLElBQUksRUFBQyxTQUFYO0FBQXFCLElBQUEsQ0FBQyxFQUFDLEdBQXZCO0FBQTJCLElBQUEsQ0FBQyxFQUFDLEdBQTdCO0FBQWlDLElBQUEsS0FBSyxFQUFDLElBQXZDO0FBQTRDLElBQUEsTUFBTSxFQUFDO0FBQW5ELElBREYsZUFFRTtBQUFNLElBQUEsSUFBSSxFQUFDLFNBQVg7QUFBcUIsSUFBQSxDQUFDLEVBQUMsR0FBdkI7QUFBMkIsSUFBQSxDQUFDLEVBQUMsR0FBN0I7QUFBaUMsSUFBQSxLQUFLLEVBQUMsSUFBdkM7QUFBNEMsSUFBQSxNQUFNLEVBQUM7QUFBbkQsSUFGRixDQURGLENBRGM7QUFBQSxDQUFoQjs7QUFjQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLDBCQUNuQkMsT0FEbUI7QUFBQSxNQUNuQkEsT0FEbUIsNkJBQ1RDLHlCQURTO0FBQUEsNkJBRW5CQyxVQUZtQjtBQUFBLE1BRW5CQSxVQUZtQixnQ0FFTkMsNEJBRk07QUFBQSwwQkFHbkJDLE9BSG1CO0FBQUEsTUFHbkJBLE9BSG1CLDZCQUdUQyw0QkFIUztBQUFBLHNCQUtuQixnQ0FBQyxXQUFEO0FBQWEsSUFBQSxTQUFTLEVBQUM7QUFBdkIsa0JBQ0UsZ0NBQUMsY0FBRCxxQkFDRSxnQ0FBQyxPQUFELE9BREYsQ0FERixlQUlFLGdDQUFDLFNBQUQ7QUFBVyxJQUFBLFNBQVMsRUFBQztBQUFyQixrQkFDRSxnQ0FBQyxRQUFEO0FBQVUsSUFBQSxTQUFTLEVBQUM7QUFBcEIsa0JBQ0U7QUFBRyxJQUFBLFNBQVMsRUFBQyxZQUFiO0FBQTBCLElBQUEsTUFBTSxFQUFDLFFBQWpDO0FBQTBDLElBQUEsR0FBRyxFQUFDLHFCQUE5QztBQUFvRSxJQUFBLElBQUksRUFBRUg7QUFBMUUsS0FDR0YsT0FESCxDQURGLENBREYsRUFNR0ksT0FBTyxnQkFBRyxnQ0FBQyxXQUFEO0FBQWEsSUFBQSxTQUFTLEVBQUM7QUFBdkIsS0FBd0NBLE9BQXhDLENBQUgsR0FBb0UsSUFOOUUsQ0FKRixDQUxtQjtBQUFBLENBQXJCOztlQW9CZUwsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7S0VQTEVSX0dMX05BTUUsIEtFUExFUl9HTF9WRVJTSU9OLCBLRVBMRVJfR0xfV0VCU0lURX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBMb2dvVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG5gO1xuXG5jb25zdCBMb2dvTmFtZSA9IHN0eWxlZC5kaXZgXG4gIC5sb2dvX19saW5rIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sb2dvQ29sb3J9O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjE3cHg7XG4gIH1cbmA7XG5jb25zdCBMb2dvVmVyc2lvbiA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuODNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG5gO1xuXG5jb25zdCBMb2dvV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgTG9nb1N2Z1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAzcHg7XG5gO1xuXG5jb25zdCBMb2dvU3ZnID0gKCkgPT4gKFxuICA8c3ZnIGNsYXNzTmFtZT1cInNpZGUtcGFuZWwtbG9nb19fbG9nb1wiIHdpZHRoPVwiMjJweFwiIGhlaWdodD1cIjE1cHhcIiB2aWV3Qm94PVwiMCAwIDIyIDE1XCI+XG4gICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExLCAtMykgcm90YXRlKDQ1LjAwMDAwMClcIj5cbiAgICAgIDxyZWN0IGZpbGw9XCIjNTM1QzZDXCIgeD1cIjBcIiB5PVwiNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIC8+XG4gICAgICA8cmVjdCBmaWxsPVwiIzFGQkFENlwiIHg9XCI1XCIgeT1cIjBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuaW50ZXJmYWNlIEtlcGxlckdsTG9nb1Byb3BzIHtcbiAgYXBwTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZyB8IGJvb2xlYW47XG4gIGFwcFdlYnNpdGU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEtlcGxlckdsTG9nbyA9ICh7XG4gIGFwcE5hbWUgPSBLRVBMRVJfR0xfTkFNRSxcbiAgYXBwV2Vic2l0ZSA9IEtFUExFUl9HTF9XRUJTSVRFLFxuICB2ZXJzaW9uID0gS0VQTEVSX0dMX1ZFUlNJT05cbn06IEtlcGxlckdsTG9nb1Byb3BzKSA9PiAoXG4gIDxMb2dvV3JhcHBlciBjbGFzc05hbWU9XCJzaWRlLXBhbmVsLWxvZ29cIj5cbiAgICA8TG9nb1N2Z1dyYXBwZXI+XG4gICAgICA8TG9nb1N2ZyAvPlxuICAgIDwvTG9nb1N2Z1dyYXBwZXI+XG4gICAgPExvZ29UaXRsZSBjbGFzc05hbWU9XCJsb2dvX190aXRsZVwiPlxuICAgICAgPExvZ29OYW1lIGNsYXNzTmFtZT1cImxvZ29fX25hbWVcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwibG9nb19fbGlua1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBocmVmPXthcHBXZWJzaXRlfT5cbiAgICAgICAgICB7YXBwTmFtZX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9Mb2dvTmFtZT5cbiAgICAgIHt2ZXJzaW9uID8gPExvZ29WZXJzaW9uIGNsYXNzTmFtZT1cImxvZ29fX3ZlcnNpb25cIj57dmVyc2lvbn08L0xvZ29WZXJzaW9uPiA6IG51bGx9XG4gICAgPC9Mb2dvVGl0bGU+XG4gIDwvTG9nb1dyYXBwZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBLZXBsZXJHbExvZ287XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbG9nby50c3giXSwibmFtZXMiOlsiTG9nb1RpdGxlIiwic3R5bGVkIiwiZGl2IiwiTG9nb05hbWUiLCJwcm9wcyIsInRoZW1lIiwibG9nb0NvbG9yIiwiTG9nb1ZlcnNpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMb2dvV3JhcHBlciIsIkxvZ29TdmdXcmFwcGVyIiwiTG9nb1N2ZyIsIktlcGxlckdsTG9nbyIsImFwcE5hbWUiLCJLRVBMRVJfR0xfTkFNRSIsImFwcFdlYnNpdGUiLCJLRVBMRVJfR0xfV0VCU0lURSIsInZlcnNpb24iLCJLRVBMRVJfR0xfVkVSU0lPTiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUdDLDZCQUFPQyxHQUFWLHVJQUFmOztBQUtBLElBQU1DLFFBQVEsR0FBR0YsNkJBQU9DLEdBQVYsNk1BRUQsVUFBQUUsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBRkosQ0FBZDs7QUFRQSxJQUFNQyxXQUFXLEdBQUdOLDZCQUFPQyxHQUFWLGdMQUVOLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUcsWUFBaEI7QUFBQSxDQUZDLENBQWpCOztBQU9BLElBQU1DLFdBQVcsR0FBR1IsNkJBQU9DLEdBQVYsd0lBQWpCOztBQUtBLElBQU1RLGNBQWMsR0FBR1QsNkJBQU9DLEdBQVYsOEdBQXBCOztBQUlBLElBQU1TLE9BQU8sR0FBRyxTQUFWQSxPQUFVO0FBQUEsc0JBQ2Q7QUFBSyxJQUFBLFNBQVMsRUFBQyx1QkFBZjtBQUF1QyxJQUFBLEtBQUssRUFBQyxNQUE3QztBQUFvRCxJQUFBLE1BQU0sRUFBQyxNQUEzRDtBQUFrRSxJQUFBLE9BQU8sRUFBQztBQUExRSxrQkFDRTtBQUFHLElBQUEsU0FBUyxFQUFDO0FBQWIsa0JBQ0U7QUFBTSxJQUFBLElBQUksRUFBQyxTQUFYO0FBQXFCLElBQUEsQ0FBQyxFQUFDLEdBQXZCO0FBQTJCLElBQUEsQ0FBQyxFQUFDLEdBQTdCO0FBQWlDLElBQUEsS0FBSyxFQUFDLElBQXZDO0FBQTRDLElBQUEsTUFBTSxFQUFDO0FBQW5ELElBREYsZUFFRTtBQUFNLElBQUEsSUFBSSxFQUFDLFNBQVg7QUFBcUIsSUFBQSxDQUFDLEVBQUMsR0FBdkI7QUFBMkIsSUFBQSxDQUFDLEVBQUMsR0FBN0I7QUFBaUMsSUFBQSxLQUFLLEVBQUMsSUFBdkM7QUFBNEMsSUFBQSxNQUFNLEVBQUM7QUFBbkQsSUFGRixDQURGLENBRGM7QUFBQSxDQUFoQjs7QUFjQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLDBCQUNuQkMsT0FEbUI7QUFBQSxNQUNuQkEsT0FEbUIsNkJBQ1RDLHlCQURTO0FBQUEsNkJBRW5CQyxVQUZtQjtBQUFBLE1BRW5CQSxVQUZtQixnQ0FFTkMsNEJBRk07QUFBQSwwQkFHbkJDLE9BSG1CO0FBQUEsTUFHbkJBLE9BSG1CLDZCQUdUQyw0QkFIUztBQUFBLHNCQUtuQixnQ0FBQyxXQUFEO0FBQWEsSUFBQSxTQUFTLEVBQUM7QUFBdkIsa0JBQ0UsZ0NBQUMsY0FBRCxxQkFDRSxnQ0FBQyxPQUFELE9BREYsQ0FERixlQUlFLGdDQUFDLFNBQUQ7QUFBVyxJQUFBLFNBQVMsRUFBQztBQUFyQixrQkFDRSxnQ0FBQyxRQUFEO0FBQVUsSUFBQSxTQUFTLEVBQUM7QUFBcEIsa0JBQ0U7QUFBRyxJQUFBLFNBQVMsRUFBQyxZQUFiO0FBQTBCLElBQUEsTUFBTSxFQUFDLFFBQWpDO0FBQTBDLElBQUEsR0FBRyxFQUFDLHFCQUE5QztBQUFvRSxJQUFBLElBQUksRUFBRUg7QUFBMUUsS0FDR0YsT0FESCxDQURGLENBREYsRUFNR0ksT0FBTyxnQkFBRyxnQ0FBQyxXQUFEO0FBQWEsSUFBQSxTQUFTLEVBQUM7QUFBdkIsS0FBd0NBLE9BQXhDLENBQUgsR0FBb0UsSUFOOUUsQ0FKRixDQUxtQjtBQUFBLENBQXJCOztlQW9CZUwsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7S0VQTEVSX0dMX05BTUUsIEtFUExFUl9HTF9WRVJTSU9OLCBLRVBMRVJfR0xfV0VCU0lURX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBMb2dvVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG5gO1xuXG5jb25zdCBMb2dvTmFtZSA9IHN0eWxlZC5kaXZgXG4gIC5sb2dvX19saW5rIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sb2dvQ29sb3J9O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjE3cHg7XG4gIH1cbmA7XG5jb25zdCBMb2dvVmVyc2lvbiA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuODNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG5gO1xuXG5jb25zdCBMb2dvV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgTG9nb1N2Z1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAzcHg7XG5gO1xuXG5jb25zdCBMb2dvU3ZnID0gKCkgPT4gKFxuICA8c3ZnIGNsYXNzTmFtZT1cInNpZGUtcGFuZWwtbG9nb19fbG9nb1wiIHdpZHRoPVwiMjJweFwiIGhlaWdodD1cIjE1cHhcIiB2aWV3Qm94PVwiMCAwIDIyIDE1XCI+XG4gICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExLCAtMykgcm90YXRlKDQ1LjAwMDAwMClcIj5cbiAgICAgIDxyZWN0IGZpbGw9XCIjNTM1QzZDXCIgeD1cIjBcIiB5PVwiNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIC8+XG4gICAgICA8cmVjdCBmaWxsPVwiIzFGQkFENlwiIHg9XCI1XCIgeT1cIjBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuaW50ZXJmYWNlIEtlcGxlckdsTG9nb1Byb3BzIHtcbiAgYXBwTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZyB8IGJvb2xlYW47XG4gIGFwcFdlYnNpdGU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEtlcGxlckdsTG9nbyA9ICh7XG4gIGFwcE5hbWUgPSBLRVBMRVJfR0xfTkFNRSxcbiAgYXBwV2Vic2l0ZSA9IEtFUExFUl9HTF9XRUJTSVRFLFxuICB2ZXJzaW9uID0gS0VQTEVSX0dMX1ZFUlNJT05cbn06IEtlcGxlckdsTG9nb1Byb3BzKSA9PiAoXG4gIDxMb2dvV3JhcHBlciBjbGFzc05hbWU9XCJzaWRlLXBhbmVsLWxvZ29cIj5cbiAgICA8TG9nb1N2Z1dyYXBwZXI+XG4gICAgICA8TG9nb1N2ZyAvPlxuICAgIDwvTG9nb1N2Z1dyYXBwZXI+XG4gICAgPExvZ29UaXRsZSBjbGFzc05hbWU9XCJsb2dvX190aXRsZVwiPlxuICAgICAgPExvZ29OYW1lIGNsYXNzTmFtZT1cImxvZ29fX25hbWVcIj5cbiAgICAgICAgPGEgY2xhc3NOYW1lPVwibG9nb19fbGlua1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBocmVmPXthcHBXZWJzaXRlfT5cbiAgICAgICAgICB7YXBwTmFtZX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9Mb2dvTmFtZT5cbiAgICAgIHt2ZXJzaW9uID8gPExvZ29WZXJzaW9uIGNsYXNzTmFtZT1cImxvZ29fX3ZlcnNpb25cIj57dmVyc2lvbn08L0xvZ29WZXJzaW9uPiA6IG51bGx9XG4gICAgPC9Mb2dvVGl0bGU+XG4gIDwvTG9nb1dyYXBwZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBLZXBsZXJHbExvZ287XG4iXX0=
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  interface Layer {
3
3
  id: string;
4
4
  name: string;
@@ -9,5 +9,5 @@ interface MapLayerSelectorProps {
9
9
  onMapToggleLayer: (layerId: string) => void;
10
10
  }
11
11
  /** @type {typeof import('./map-layer-selector').default} */
12
- declare const MapLayerSelector: ({ layers, onMapToggleLayer }: MapLayerSelectorProps) => JSX.Element;
12
+ declare const MapLayerSelector: ({ layers, onMapToggleLayer }: MapLayerSelectorProps) => React.JSX.Element;
13
13
  export default MapLayerSelector;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -56,8 +56,7 @@ var MapLayerSelector = function MapLayerSelector(_ref) {
56
56
  checked: layer.isVisible,
57
57
  id: "".concat(layer.id, "-toggle-").concat((0, _utils.generateHashId)(4)),
58
58
  label: layer.name,
59
- onChange: function onChange(e) {
60
- e.preventDefault();
59
+ onChange: function onChange() {
61
60
  onMapToggleLayer(layer.id);
62
61
  }
63
62
  }));
@@ -66,4 +65,4 @@ var MapLayerSelector = function MapLayerSelector(_ref) {
66
65
 
67
66
  var _default = MapLayerSelector;
68
67
  exports["default"] = _default;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbWFwLWxheWVyLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJNYXBMYXllclNlbGVjdCIsInN0eWxlZCIsImRpdiIsIk1hcExheWVyU2VsZWN0b3IiLCJsYXllcnMiLCJvbk1hcFRvZ2dsZUxheWVyIiwibWFwIiwibGF5ZXIiLCJpbmRleCIsImlkIiwiaXNWaXNpYmxlIiwibmFtZSIsImUiLCJwcmV2ZW50RGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFWLHFLQUFwQjs7QUFrQkE7QUFDQSxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsTUFBRUMsTUFBRixRQUFFQSxNQUFGO0FBQUEsTUFBVUMsZ0JBQVYsUUFBVUEsZ0JBQVY7QUFBQSxzQkFDdkIsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLFNBQVMsRUFBQztBQUExQixLQUNHRCxNQUFNLENBQUNFLEdBQVAsQ0FBVyxVQUFDQyxLQUFELEVBQVFDLEtBQVI7QUFBQSx3QkFDVjtBQUFLLE1BQUEsR0FBRyxFQUFFRCxLQUFLLENBQUNFLEVBQWhCO0FBQW9CLE1BQUEsU0FBUyxFQUFDO0FBQTlCLG9CQUNFLGdDQUFDLG9CQUFEO0FBQ0UsTUFBQSxJQUFJLEVBQUMsT0FEUDtBQUVFLE1BQUEsT0FBTyxFQUFFRixLQUFLLENBQUNHLFNBRmpCO0FBR0UsTUFBQSxFQUFFLFlBQUtILEtBQUssQ0FBQ0UsRUFBWCxxQkFBd0IsMkJBQWUsQ0FBZixDQUF4QixDQUhKO0FBSUUsTUFBQSxLQUFLLEVBQUVGLEtBQUssQ0FBQ0ksSUFKZjtBQUtFLE1BQUEsUUFBUSxFQUFFLGtCQUFBQyxDQUFDLEVBQUk7QUFDYkEsUUFBQUEsQ0FBQyxDQUFDQyxjQUFGO0FBQ0FSLFFBQUFBLGdCQUFnQixDQUFDRSxLQUFLLENBQUNFLEVBQVAsQ0FBaEI7QUFDRDtBQVJILE1BREYsQ0FEVTtBQUFBLEdBQVgsQ0FESCxDQUR1QjtBQUFBLENBQXpCOztlQW1CZU4sZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnLi9jaGVja2JveCc7XG5pbXBvcnQge2dlbmVyYXRlSGFzaElkfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTWFwTGF5ZXJTZWxlY3QgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4O1xuXG4gIC5tYXAtbGF5ZXItc2VsZWN0b3JfX2l0ZW0ge1xuICAgIG1hcmdpbjogMTJweCAwO1xuICB9XG5gO1xuaW50ZXJmYWNlIExheWVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBNYXBMYXllclNlbGVjdG9yUHJvcHMge1xuICBsYXllcnM6IExheWVyW107XG4gIG9uTWFwVG9nZ2xlTGF5ZXI6IChsYXllcklkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGF5ZXItc2VsZWN0b3InKS5kZWZhdWx0fSAqL1xuY29uc3QgTWFwTGF5ZXJTZWxlY3RvciA9ICh7bGF5ZXJzLCBvbk1hcFRvZ2dsZUxheWVyfTogTWFwTGF5ZXJTZWxlY3RvclByb3BzKSA9PiAoXG4gIDxNYXBMYXllclNlbGVjdCBjbGFzc05hbWU9XCJtYXAtbGF5ZXItc2VsZWN0b3JcIj5cbiAgICB7bGF5ZXJzLm1hcCgobGF5ZXIsIGluZGV4KSA9PiAoXG4gICAgICA8ZGl2IGtleT17bGF5ZXIuaWR9IGNsYXNzTmFtZT1cIm1hcC1sYXllci1zZWxlY3Rvcl9faXRlbVwiPlxuICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgIGNoZWNrZWQ9e2xheWVyLmlzVmlzaWJsZX1cbiAgICAgICAgICBpZD17YCR7bGF5ZXIuaWR9LXRvZ2dsZS0ke2dlbmVyYXRlSGFzaElkKDQpfWB9XG4gICAgICAgICAgbGFiZWw9e2xheWVyLm5hbWV9XG4gICAgICAgICAgb25DaGFuZ2U9e2UgPT4ge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgb25NYXBUb2dnbGVMYXllcihsYXllci5pZCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICkpfVxuICA8L01hcExheWVyU2VsZWN0PlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgTWFwTGF5ZXJTZWxlY3RvcjtcbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbWFwLWxheWVyLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJNYXBMYXllclNlbGVjdCIsInN0eWxlZCIsImRpdiIsIk1hcExheWVyU2VsZWN0b3IiLCJsYXllcnMiLCJvbk1hcFRvZ2dsZUxheWVyIiwibWFwIiwibGF5ZXIiLCJpbmRleCIsImlkIiwiaXNWaXNpYmxlIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFWLHFLQUFwQjs7QUFrQkE7QUFDQSxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsTUFBRUMsTUFBRixRQUFFQSxNQUFGO0FBQUEsTUFBVUMsZ0JBQVYsUUFBVUEsZ0JBQVY7QUFBQSxzQkFDdkIsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLFNBQVMsRUFBQztBQUExQixLQUNHRCxNQUFNLENBQUNFLEdBQVAsQ0FBVyxVQUFDQyxLQUFELEVBQVFDLEtBQVI7QUFBQSx3QkFDVjtBQUFLLE1BQUEsR0FBRyxFQUFFRCxLQUFLLENBQUNFLEVBQWhCO0FBQW9CLE1BQUEsU0FBUyxFQUFDO0FBQTlCLG9CQUNFLGdDQUFDLG9CQUFEO0FBQ0UsTUFBQSxJQUFJLEVBQUMsT0FEUDtBQUVFLE1BQUEsT0FBTyxFQUFFRixLQUFLLENBQUNHLFNBRmpCO0FBR0UsTUFBQSxFQUFFLFlBQUtILEtBQUssQ0FBQ0UsRUFBWCxxQkFBd0IsMkJBQWUsQ0FBZixDQUF4QixDQUhKO0FBSUUsTUFBQSxLQUFLLEVBQUVGLEtBQUssQ0FBQ0ksSUFKZjtBQUtFLE1BQUEsUUFBUSxFQUFFLG9CQUFNO0FBQ2ROLFFBQUFBLGdCQUFnQixDQUFDRSxLQUFLLENBQUNFLEVBQVAsQ0FBaEI7QUFDRDtBQVBILE1BREYsQ0FEVTtBQUFBLEdBQVgsQ0FESCxDQUR1QjtBQUFBLENBQXpCOztlQWtCZU4sZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnLi9jaGVja2JveCc7XG5pbXBvcnQge2dlbmVyYXRlSGFzaElkfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTWFwTGF5ZXJTZWxlY3QgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4O1xuXG4gIC5tYXAtbGF5ZXItc2VsZWN0b3JfX2l0ZW0ge1xuICAgIG1hcmdpbjogMTJweCAwO1xuICB9XG5gO1xuaW50ZXJmYWNlIExheWVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBNYXBMYXllclNlbGVjdG9yUHJvcHMge1xuICBsYXllcnM6IExheWVyW107XG4gIG9uTWFwVG9nZ2xlTGF5ZXI6IChsYXllcklkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGF5ZXItc2VsZWN0b3InKS5kZWZhdWx0fSAqL1xuY29uc3QgTWFwTGF5ZXJTZWxlY3RvciA9ICh7bGF5ZXJzLCBvbk1hcFRvZ2dsZUxheWVyfTogTWFwTGF5ZXJTZWxlY3RvclByb3BzKSA9PiAoXG4gIDxNYXBMYXllclNlbGVjdCBjbGFzc05hbWU9XCJtYXAtbGF5ZXItc2VsZWN0b3JcIj5cbiAgICB7bGF5ZXJzLm1hcCgobGF5ZXIsIGluZGV4KSA9PiAoXG4gICAgICA8ZGl2IGtleT17bGF5ZXIuaWR9IGNsYXNzTmFtZT1cIm1hcC1sYXllci1zZWxlY3Rvcl9faXRlbVwiPlxuICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgIGNoZWNrZWQ9e2xheWVyLmlzVmlzaWJsZX1cbiAgICAgICAgICBpZD17YCR7bGF5ZXIuaWR9LXRvZ2dsZS0ke2dlbmVyYXRlSGFzaElkKDQpfWB9XG4gICAgICAgICAgbGFiZWw9e2xheWVyLm5hbWV9XG4gICAgICAgICAgb25DaGFuZ2U9eygpID0+IHtcbiAgICAgICAgICAgIG9uTWFwVG9nZ2xlTGF5ZXIobGF5ZXIuaWQpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApKX1cbiAgPC9NYXBMYXllclNlbGVjdD5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IE1hcExheWVyU2VsZWN0b3I7XG4iXX0=
@@ -1,24 +1,37 @@
1
1
  /// <reference types="react-modal" />
2
2
  import React, { Component, ReactNode } from 'react';
3
3
  import { FlattenSimpleInterpolation } from 'styled-components';
4
- export declare const ModalTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
5
- export declare const ModalFooter: ({ cancel, confirm, cancelButton, confirmButton }: {
6
- cancel: any;
7
- confirm: any;
8
- cancelButton: any;
9
- confirmButton: any;
10
- }) => JSX.Element;
4
+ export declare const ModalTitle: import("styled-components").StyledComponent<"div", any, {
5
+ style?: React.CSSProperties | undefined;
6
+ className?: string | undefined;
7
+ } & {
8
+ children?: React.ReactNode;
9
+ }, never>;
10
+ declare type ModalButtonProps = {
11
+ style?: React.CSSProperties;
12
+ large?: boolean;
13
+ disabled?: boolean;
14
+ negative?: boolean;
15
+ children?: string;
16
+ };
17
+ declare type ModalFooterProps = {
18
+ cancel: () => void;
19
+ confirm: (data?: any) => void;
20
+ cancelButton?: ModalButtonProps;
21
+ confirmButton?: ModalButtonProps;
22
+ };
23
+ export declare const ModalFooter: React.FC<ModalFooterProps>;
11
24
  interface ModalDialogOwnProps {
12
25
  footer: boolean;
13
26
  close: boolean;
14
27
  isOpen: boolean;
15
28
  title?: string;
16
29
  className?: string;
17
- onConfirm?: (...args: any) => void;
30
+ onConfirm: (...args: any) => void;
18
31
  onCancel: (...args: any) => void;
19
- confirmButton: object;
32
+ confirmButton?: ModalButtonProps;
20
33
  confirmButtonLabel?: string;
21
- cancelButton: object;
34
+ cancelButton?: ModalButtonProps;
22
35
  cancelButtonLabel?: string;
23
36
  cssStyle?: FlattenSimpleInterpolation | string;
24
37
  style?: React.CSSProperties;
@@ -45,7 +58,7 @@ export declare class ModalDialog extends Component<ModalDialogProps> {
45
58
  };
46
59
  cssStyle: never[];
47
60
  };
48
- render(): JSX.Element;
61
+ render(): React.JSX.Element;
49
62
  }
50
63
  declare const StyledModal: import("styled-components").StyledComponent<typeof ModalDialog, any, {}, never>;
51
64
  export default StyledModal;