@carto/kepler.gl 0.0.74 → 0.0.75-alpha.deckv9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/actions/action-wrapper.js +20 -48
  2. package/dist/actions/actions.js +10 -19
  3. package/dist/actions/identity-actions.js +8 -17
  4. package/dist/actions/index.js +7 -24
  5. package/dist/actions/map-state-actions.js +10 -19
  6. package/dist/actions/map-style-actions.js +20 -35
  7. package/dist/actions/provider-actions.js +26 -42
  8. package/dist/actions/ui-state-actions.js +42 -70
  9. package/dist/actions/vis-state-actions.js +102 -162
  10. package/dist/cloud-providers/index.js +8 -8
  11. package/dist/cloud-providers/provider.js +55 -94
  12. package/dist/components/bottom-widget.js +47 -48
  13. package/dist/components/common/action-panel.js +39 -38
  14. package/dist/components/common/animation-control/animation-control.js +40 -38
  15. package/dist/components/common/animation-control/animation-controller.js +47 -70
  16. package/dist/components/common/animation-control/animation-speed-slider.js +28 -38
  17. package/dist/components/common/animation-control/floating-time-display.js +56 -67
  18. package/dist/components/common/animation-control/playback-controls.js +64 -80
  19. package/dist/components/common/animation-control/speed-control.js +26 -24
  20. package/dist/components/common/checkbox.js +31 -52
  21. package/dist/components/common/color-legend.js +40 -72
  22. package/dist/components/common/data-table/button.js +29 -22
  23. package/dist/components/common/data-table/canvas.js +21 -10
  24. package/dist/components/common/data-table/cell-size.js +54 -58
  25. package/dist/components/common/data-table/grid.js +30 -31
  26. package/dist/components/common/data-table/index.js +91 -133
  27. package/dist/components/common/data-table/option-dropdown.js +29 -33
  28. package/dist/components/common/dataset-label.js +21 -13
  29. package/dist/components/common/error-boundary.js +25 -30
  30. package/dist/components/common/field-selector.js +35 -69
  31. package/dist/components/common/field-token.js +21 -16
  32. package/dist/components/common/file-uploader/file-drop.js +40 -55
  33. package/dist/components/common/file-uploader/file-upload-progress.js +32 -30
  34. package/dist/components/common/file-uploader/file-upload.js +52 -91
  35. package/dist/components/common/file-uploader/upload-button.js +31 -42
  36. package/dist/components/common/histogram-plot.js +32 -27
  37. package/dist/components/common/icons/add.js +27 -27
  38. package/dist/components/common/icons/anchor_window.js +3 -9
  39. package/dist/components/common/icons/arrow-down-alt.js +27 -27
  40. package/dist/components/common/icons/arrow-down-solid .js +27 -27
  41. package/dist/components/common/icons/arrow-down.js +27 -27
  42. package/dist/components/common/icons/arrow-left.js +27 -27
  43. package/dist/components/common/icons/arrow-right.js +27 -27
  44. package/dist/components/common/icons/arrow-up-alt.js +27 -27
  45. package/dist/components/common/icons/arrow-up-solid.js +27 -27
  46. package/dist/components/common/icons/arrow-up.js +27 -27
  47. package/dist/components/common/icons/base.js +38 -42
  48. package/dist/components/common/icons/bug.js +27 -27
  49. package/dist/components/common/icons/cancel.js +27 -27
  50. package/dist/components/common/icons/checkmark.js +27 -28
  51. package/dist/components/common/icons/chevron-right.js +27 -27
  52. package/dist/components/common/icons/clipboard.js +27 -27
  53. package/dist/components/common/icons/clock.js +27 -27
  54. package/dist/components/common/icons/close.js +27 -27
  55. package/dist/components/common/icons/code-alt.js +27 -28
  56. package/dist/components/common/icons/copy.js +27 -28
  57. package/dist/components/common/icons/crosshairs.js +27 -28
  58. package/dist/components/common/icons/cube-3d.js +27 -27
  59. package/dist/components/common/icons/cursor-click.js +27 -27
  60. package/dist/components/common/icons/data-table.js +27 -27
  61. package/dist/components/common/icons/db.js +27 -27
  62. package/dist/components/common/icons/delete.js +27 -27
  63. package/dist/components/common/icons/docs.js +27 -27
  64. package/dist/components/common/icons/drag-n-drop.js +27 -27
  65. package/dist/components/common/icons/draw-polygon.js +27 -27
  66. package/dist/components/common/icons/email.js +27 -27
  67. package/dist/components/common/icons/expand.js +27 -27
  68. package/dist/components/common/icons/eye-seen.js +27 -27
  69. package/dist/components/common/icons/eye-unseen.js +27 -27
  70. package/dist/components/common/icons/file-type.js +23 -16
  71. package/dist/components/common/icons/file.js +27 -27
  72. package/dist/components/common/icons/files.js +24 -26
  73. package/dist/components/common/icons/filter-funnel.js +27 -27
  74. package/dist/components/common/icons/free-window.js +3 -9
  75. package/dist/components/common/icons/gear.js +27 -27
  76. package/dist/components/common/icons/hash.js +27 -27
  77. package/dist/components/common/icons/histogram.js +24 -25
  78. package/dist/components/common/icons/index.js +63 -138
  79. package/dist/components/common/icons/info.js +27 -28
  80. package/dist/components/common/icons/layers.js +27 -27
  81. package/dist/components/common/icons/left-arrow.js +27 -28
  82. package/dist/components/common/icons/legend.js +27 -27
  83. package/dist/components/common/icons/line-chart.js +27 -27
  84. package/dist/components/common/icons/login.js +27 -27
  85. package/dist/components/common/icons/logout.js +27 -27
  86. package/dist/components/common/icons/map-icon.js +27 -28
  87. package/dist/components/common/icons/map.js +27 -28
  88. package/dist/components/common/icons/messages.js +27 -27
  89. package/dist/components/common/icons/minus.js +27 -27
  90. package/dist/components/common/icons/pause.js +27 -27
  91. package/dist/components/common/icons/picture.js +24 -26
  92. package/dist/components/common/icons/pin.js +27 -27
  93. package/dist/components/common/icons/play.js +27 -27
  94. package/dist/components/common/icons/polygon.js +27 -27
  95. package/dist/components/common/icons/rectangle.js +27 -27
  96. package/dist/components/common/icons/reduce.js +27 -27
  97. package/dist/components/common/icons/reset.js +27 -27
  98. package/dist/components/common/icons/rocket.js +27 -27
  99. package/dist/components/common/icons/save.js +27 -27
  100. package/dist/components/common/icons/save2.js +27 -27
  101. package/dist/components/common/icons/search.js +27 -27
  102. package/dist/components/common/icons/settings.js +27 -27
  103. package/dist/components/common/icons/share.js +27 -27
  104. package/dist/components/common/icons/split.js +27 -27
  105. package/dist/components/common/icons/square-select.js +27 -27
  106. package/dist/components/common/icons/swap-horizontal.js +27 -28
  107. package/dist/components/common/icons/table.js +27 -27
  108. package/dist/components/common/icons/trash.js +27 -27
  109. package/dist/components/common/icons/upload.js +27 -27
  110. package/dist/components/common/icons/vert-dots.js +27 -27
  111. package/dist/components/common/icons/vert-three-dots.js +27 -27
  112. package/dist/components/common/icons/warning.js +27 -28
  113. package/dist/components/common/image-preview.js +36 -29
  114. package/dist/components/common/info-helper.js +26 -25
  115. package/dist/components/common/item-selector/accessor.js +3 -5
  116. package/dist/components/common/item-selector/chickleted-input.js +41 -43
  117. package/dist/components/common/item-selector/dropdown-list.js +44 -74
  118. package/dist/components/common/item-selector/item-selector-submenu.js +29 -38
  119. package/dist/components/common/item-selector/item-selector.js +36 -84
  120. package/dist/components/common/item-selector/typeahead.js +37 -83
  121. package/dist/components/common/line-chart.js +39 -36
  122. package/dist/components/common/loading-spinner.js +33 -25
  123. package/dist/components/common/logo.js +24 -22
  124. package/dist/components/common/map-layer-selector.js +23 -16
  125. package/dist/components/common/modal.js +36 -61
  126. package/dist/components/common/portaled.js +56 -97
  127. package/dist/components/common/progress-bar.js +29 -20
  128. package/dist/components/common/range-brush.js +63 -104
  129. package/dist/components/common/range-plot.js +47 -52
  130. package/dist/components/common/range-slider.js +52 -78
  131. package/dist/components/common/slider/mouse-event.js +11 -37
  132. package/dist/components/common/slider/slider-bar-handle.js +31 -39
  133. package/dist/components/common/slider/slider-handle.js +35 -44
  134. package/dist/components/common/slider/slider.js +55 -82
  135. package/dist/components/common/styled-components.js +64 -169
  136. package/dist/components/common/switch.js +22 -16
  137. package/dist/components/common/time-range-slider-time-title.js +24 -19
  138. package/dist/components/common/time-range-slider.js +41 -38
  139. package/dist/components/common/time-slider-marker.js +36 -41
  140. package/dist/components/common/toolbar-item.js +22 -16
  141. package/dist/components/common/toolbar.js +21 -10
  142. package/dist/components/common/vertical-toolbar.js +21 -10
  143. package/dist/components/container.js +49 -70
  144. package/dist/components/context.js +6 -10
  145. package/dist/components/editor/constants.js +6 -8
  146. package/dist/components/editor/editor.js +40 -72
  147. package/dist/components/editor/feature-action-panel.js +35 -43
  148. package/dist/components/editor/feature-styles.js +35 -40
  149. package/dist/components/editor/handle-style.js +35 -37
  150. package/dist/components/filters/components.js +21 -10
  151. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +14 -25
  152. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +14 -21
  153. package/dist/components/filters/filter-panels/new-filter-panel.js +13 -23
  154. package/dist/components/filters/filter-panels/polygon-filter-panel.js +13 -25
  155. package/dist/components/filters/filter-panels/range-filter-panel.js +14 -21
  156. package/dist/components/filters/filter-panels/single-select-filter-panel.js +14 -21
  157. package/dist/components/filters/filter-panels/time-range-filter-panel.js +14 -23
  158. package/dist/components/filters/index.js +11 -17
  159. package/dist/components/filters/multi-select-filter.js +3 -9
  160. package/dist/components/filters/polygon-filter.js +8 -18
  161. package/dist/components/filters/range-filter.js +3 -8
  162. package/dist/components/filters/single-select-filter.js +3 -9
  163. package/dist/components/filters/time-range-filter.js +7 -18
  164. package/dist/components/filters/time-widget.js +41 -51
  165. package/dist/components/geocoder/geocoder.js +95 -128
  166. package/dist/components/geocoder-panel.js +37 -62
  167. package/dist/components/index.js +356 -498
  168. package/dist/components/injector.js +42 -58
  169. package/dist/components/kepler-gl.js +65 -158
  170. package/dist/components/map/coordinate-info.js +4 -13
  171. package/dist/components/map/layer-hover-info.js +40 -48
  172. package/dist/components/map/layer-selector-panel.js +17 -30
  173. package/dist/components/map/locale-panel.js +13 -27
  174. package/dist/components/map/map-control-panel.js +27 -24
  175. package/dist/components/map/map-control-toolbar.js +21 -11
  176. package/dist/components/map/map-control-tooltip.js +4 -11
  177. package/dist/components/map/map-control.js +26 -27
  178. package/dist/components/map/map-draw-panel.js +12 -29
  179. package/dist/components/map/map-legend-panel.js +17 -34
  180. package/dist/components/map/map-legend.js +52 -70
  181. package/dist/components/map/map-popover.js +41 -57
  182. package/dist/components/map/split-map-button.js +13 -25
  183. package/dist/components/map/toggle-3d-button.js +10 -21
  184. package/dist/components/map-container.js +98 -145
  185. package/dist/components/maps-layout.js +24 -26
  186. package/dist/components/modal-container.js +60 -112
  187. package/dist/components/modals/add-map-style-modal.js +37 -67
  188. package/dist/components/modals/cloud-tile.js +36 -36
  189. package/dist/components/modals/data-table-modal.js +51 -81
  190. package/dist/components/modals/delete-data-modal.js +24 -20
  191. package/dist/components/modals/error-display.js +3 -10
  192. package/dist/components/modals/export-data-modal.js +37 -54
  193. package/dist/components/modals/export-image-modal.js +31 -28
  194. package/dist/components/modals/export-map-modal/components.js +27 -27
  195. package/dist/components/modals/export-map-modal/export-html-map.js +27 -27
  196. package/dist/components/modals/export-map-modal/export-json-map.js +22 -22
  197. package/dist/components/modals/export-map-modal/export-map-modal.js +20 -40
  198. package/dist/components/modals/image-modal-container.js +9 -16
  199. package/dist/components/modals/load-data-modal.js +29 -33
  200. package/dist/components/modals/load-storage-map.js +42 -77
  201. package/dist/components/modals/loading-dialog.js +24 -18
  202. package/dist/components/modals/modal-dialog.js +3 -7
  203. package/dist/components/modals/modal-tabs.js +29 -29
  204. package/dist/components/modals/overwrite-map-modal.js +29 -28
  205. package/dist/components/modals/provider-modal-container.js +27 -27
  206. package/dist/components/modals/save-map-modal.js +43 -48
  207. package/dist/components/modals/share-map-modal.js +42 -53
  208. package/dist/components/modals/status-panel.js +24 -25
  209. package/dist/components/modals/storage-map-viewer.js +30 -43
  210. package/dist/components/notification-panel/notification-item.js +33 -47
  211. package/dist/components/notification-panel.js +30 -36
  212. package/dist/components/performance.js +11 -36
  213. package/dist/components/plot-container.js +42 -72
  214. package/dist/components/side-panel/cloud-storage-dropdown.js +4 -10
  215. package/dist/components/side-panel/common/dataset-info.js +20 -13
  216. package/dist/components/side-panel/common/dataset-tag.js +21 -12
  217. package/dist/components/side-panel/common/dataset-title.js +37 -52
  218. package/dist/components/side-panel/common/source-data-catalog.js +26 -22
  219. package/dist/components/side-panel/common/source-data-selector.js +34 -40
  220. package/dist/components/side-panel/custom-panel.js +5 -9
  221. package/dist/components/side-panel/filter-manager.js +18 -29
  222. package/dist/components/side-panel/filter-panel/filter-panel-header.js +30 -30
  223. package/dist/components/side-panel/filter-panel/filter-panel.js +36 -55
  224. package/dist/components/side-panel/interaction-manager.js +5 -12
  225. package/dist/components/side-panel/interaction-panel/brush-config.js +23 -19
  226. package/dist/components/side-panel/interaction-panel/interaction-panel.js +36 -59
  227. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +34 -74
  228. package/dist/components/side-panel/interaction-panel/tooltip-config.js +28 -40
  229. package/dist/components/side-panel/layer-manager.js +51 -82
  230. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +3 -10
  231. package/dist/components/side-panel/layer-panel/color-palette.js +27 -23
  232. package/dist/components/side-panel/layer-panel/color-range-selector.js +52 -98
  233. package/dist/components/side-panel/layer-panel/color-selector.js +36 -67
  234. package/dist/components/side-panel/layer-panel/column-selector.js +26 -25
  235. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +2 -6
  236. package/dist/components/side-panel/layer-panel/custom-palette.js +37 -71
  237. package/dist/components/side-panel/layer-panel/custom-picker.js +32 -45
  238. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +8 -16
  239. package/dist/components/side-panel/layer-panel/hex-column-config.js +12 -34
  240. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +2 -10
  241. package/dist/components/side-panel/layer-panel/layer-column-config.js +31 -27
  242. package/dist/components/side-panel/layer-panel/layer-config-group.js +46 -80
  243. package/dist/components/side-panel/layer-panel/layer-configurator.js +158 -249
  244. package/dist/components/side-panel/layer-panel/layer-panel-header.js +52 -66
  245. package/dist/components/side-panel/layer-panel/layer-panel.js +33 -54
  246. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +28 -22
  247. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +22 -18
  248. package/dist/components/side-panel/layer-panel/layer-type-selector.js +29 -32
  249. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +35 -40
  250. package/dist/components/side-panel/layer-panel/single-color-palette.js +32 -42
  251. package/dist/components/side-panel/layer-panel/text-label-panel.js +31 -42
  252. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +39 -52
  253. package/dist/components/side-panel/layer-panel/vis-config-slider.js +10 -19
  254. package/dist/components/side-panel/layer-panel/vis-config-switch.js +28 -29
  255. package/dist/components/side-panel/map-manager.js +32 -46
  256. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +28 -31
  257. package/dist/components/side-panel/map-style-panel/map-style-selector.js +26 -24
  258. package/dist/components/side-panel/panel-dropdown.js +28 -35
  259. package/dist/components/side-panel/panel-header-action.js +38 -43
  260. package/dist/components/side-panel/panel-header.js +54 -92
  261. package/dist/components/side-panel/panel-tab.js +24 -20
  262. package/dist/components/side-panel/panel-title.js +21 -10
  263. package/dist/components/side-panel/panel-toggle.js +26 -23
  264. package/dist/components/side-panel/side-bar.js +37 -53
  265. package/dist/components/side-panel.js +56 -65
  266. package/dist/connect/keplergl-connect.js +5 -14
  267. package/dist/connect/with-local-selector.js +33 -38
  268. package/dist/constants/action-types.js +5 -6
  269. package/dist/constants/color-palette.js +12 -23
  270. package/dist/constants/color-ranges.js +32 -31
  271. package/dist/constants/custom-color-ranges.js +9 -14
  272. package/dist/constants/default-settings.js +154 -239
  273. package/dist/constants/index.js +95 -103
  274. package/dist/constants/keyevent.js +3 -7
  275. package/dist/constants/tooltip.js +7 -10
  276. package/dist/constants/user-feedbacks.js +5 -6
  277. package/dist/constants/user-guides.js +12 -20
  278. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +29 -32
  279. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +10 -43
  280. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +54 -75
  281. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +29 -32
  282. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +29 -30
  283. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +29 -30
  284. package/dist/deckgl-layers/layer-utils/cluster-utils.js +10 -21
  285. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +75 -132
  286. package/dist/deckgl-layers/layer-utils/shader-utils.js +1 -5
  287. package/dist/deckgl-layers/line-layer/line-layer.js +27 -34
  288. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +26 -30
  289. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +33 -39
  290. package/dist/index.js +4 -23
  291. package/dist/layers/aggregation-layer.js +63 -97
  292. package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
  293. package/dist/layers/arc-layer/arc-layer.js +48 -73
  294. package/dist/layers/base-layer.js +255 -406
  295. package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
  296. package/dist/layers/cluster-layer/cluster-layer.js +33 -44
  297. package/dist/layers/default-layer-icon.js +27 -27
  298. package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
  299. package/dist/layers/geojson-layer/geojson-layer.js +54 -87
  300. package/dist/layers/geojson-layer/geojson-utils.js +35 -47
  301. package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
  302. package/dist/layers/grid-layer/grid-layer.js +30 -41
  303. package/dist/layers/grid-layer/grid-utils.js +6 -9
  304. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
  305. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +48 -80
  306. package/dist/layers/h3-hexagon-layer/h3-utils.js +10 -21
  307. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
  308. package/dist/layers/heatmap-layer/heatmap-layer.js +45 -72
  309. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
  310. package/dist/layers/hexagon-layer/hexagon-layer.js +30 -42
  311. package/dist/layers/hexagon-layer/hexagon-utils.js +3 -15
  312. package/dist/layers/icon-layer/icon-info-modal.js +23 -26
  313. package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
  314. package/dist/layers/icon-layer/icon-layer.js +59 -97
  315. package/dist/layers/index.js +38 -39
  316. package/dist/layers/layer-factory.js +38 -42
  317. package/dist/layers/layer-text-label.js +7 -17
  318. package/dist/layers/layer-update.js +3 -14
  319. package/dist/layers/line-layer/line-layer-icon.js +27 -27
  320. package/dist/layers/line-layer/line-layer.js +46 -66
  321. package/dist/layers/mapbox-utils.js +38 -51
  322. package/dist/layers/mapboxgl-layer.js +43 -58
  323. package/dist/layers/point-layer/point-layer-icon.js +27 -27
  324. package/dist/layers/point-layer/point-layer.js +57 -90
  325. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +41 -73
  326. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
  327. package/dist/layers/s2-geometry-layer/s2-utils.js +5 -11
  328. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +21 -15
  329. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
  330. package/dist/layers/scenegraph-layer/scenegraph-layer.js +52 -75
  331. package/dist/layers/trip-layer/trip-info-modal.js +21 -16
  332. package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
  333. package/dist/layers/trip-layer/trip-layer.js +51 -93
  334. package/dist/layers/trip-layer/trip-utils.js +16 -39
  335. package/dist/layers/types.js +3 -6
  336. package/dist/localization/en.js +22 -11
  337. package/dist/localization/formatted-message.js +5 -10
  338. package/dist/localization/index.js +7 -13
  339. package/dist/localization/locales.js +7 -12
  340. package/dist/middleware/index.js +2 -5
  341. package/dist/processors/data-processor.js +113 -177
  342. package/dist/processors/file-handler.js +200 -276
  343. package/dist/processors/index.js +33 -35
  344. package/dist/reducers/combined-updaters.js +35 -46
  345. package/dist/reducers/composer-helpers.js +28 -27
  346. package/dist/reducers/composers.js +25 -12
  347. package/dist/reducers/core.js +13 -46
  348. package/dist/reducers/index.js +24 -38
  349. package/dist/reducers/map-state-updaters.js +53 -65
  350. package/dist/reducers/map-state.js +31 -26
  351. package/dist/reducers/map-style-updaters.js +92 -136
  352. package/dist/reducers/map-style.js +31 -26
  353. package/dist/reducers/provider-state-updaters.js +92 -167
  354. package/dist/reducers/provider-state.js +32 -25
  355. package/dist/reducers/root.js +44 -50
  356. package/dist/reducers/ui-state-updaters.js +102 -202
  357. package/dist/reducers/ui-state.js +32 -26
  358. package/dist/reducers/vis-state-merger.js +102 -166
  359. package/dist/reducers/vis-state-selectors.js +5 -10
  360. package/dist/reducers/vis-state-updaters.js +386 -663
  361. package/dist/reducers/vis-state.js +32 -25
  362. package/dist/schemas/dataset-schema.js +36 -56
  363. package/dist/schemas/index.js +38 -45
  364. package/dist/schemas/map-state-schema.js +28 -24
  365. package/dist/schemas/map-style-schema.js +34 -48
  366. package/dist/schemas/schema-manager.js +44 -62
  367. package/dist/schemas/schema-utils.js +11 -15
  368. package/dist/schemas/schema.js +32 -27
  369. package/dist/schemas/versions.js +5 -9
  370. package/dist/schemas/vis-state-schema.js +109 -309
  371. package/dist/styles/base.js +367 -640
  372. package/dist/styles/index.js +1 -5
  373. package/dist/styles/media-breakpoints.js +21 -9
  374. package/dist/tasks/tasks.js +22 -50
  375. package/dist/templates/export-map-html.js +3 -6
  376. package/dist/utils/aggregate-utils.js +23 -27
  377. package/dist/utils/color-utils.js +36 -38
  378. package/dist/utils/custom-scales.js +1 -7
  379. package/dist/utils/data-scale-utils.js +11 -20
  380. package/dist/utils/data-utils.js +78 -137
  381. package/dist/utils/dataset-utils.js +71 -88
  382. package/dist/utils/dom-to-image.js +15 -93
  383. package/dist/utils/dom-utils.js +34 -116
  384. package/dist/utils/export-utils.js +65 -102
  385. package/dist/utils/filter-utils.js +170 -320
  386. package/dist/utils/gl-utils.js +39 -23
  387. package/dist/utils/gpu-filter-utils.js +46 -59
  388. package/dist/utils/index.js +68 -80
  389. package/dist/utils/interaction-utils.js +26 -50
  390. package/dist/utils/layer-utils.js +58 -63
  391. package/dist/utils/locale-utils.js +23 -21
  392. package/dist/utils/map-info-utils.js +2 -3
  393. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +72 -71
  394. package/dist/utils/map-style-utils/mapbox-utils.js +3 -5
  395. package/dist/utils/mapbox-utils.js +2 -5
  396. package/dist/utils/notifications-utils.js +36 -35
  397. package/dist/utils/observe-dimensions.js +36 -41
  398. package/dist/utils/projection-utils.js +9 -20
  399. package/dist/utils/searcher-utils.js +1 -4
  400. package/dist/utils/split-map-utils.js +36 -32
  401. package/dist/utils/table-utils/data-container-utils.js +27 -23
  402. package/dist/utils/table-utils/data-row.js +2 -13
  403. package/dist/utils/table-utils/index.js +1 -2
  404. package/dist/utils/table-utils/indexed-data-container.js +65 -84
  405. package/dist/utils/table-utils/kepler-table.js +83 -126
  406. package/dist/utils/table-utils/row-data-container.js +62 -87
  407. package/dist/utils/utils.js +51 -69
  408. package/package.json +4 -3
  409. package/src/components/kepler-gl.d.ts +0 -1
  410. package/src/components/kepler-gl.js +0 -7
  411. package/src/components/map-container.js +0 -3
  412. package/src/components/modal-container.d.ts +0 -1
  413. package/src/components/modal-container.js +0 -2
  414. package/src/components/modals/add-map-style-modal.js +0 -3
  415. package/src/utils/gl-utils.js +16 -15
  416. package/CHANGELOG.md +0 -954
@@ -1,41 +1,45 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = MapPopoverFactory;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireDefault(require("styled-components"));
21
-
22
14
  var _layerHoverInfo = _interopRequireDefault(require("./layer-hover-info"));
23
-
24
15
  var _coordinateInfo = _interopRequireDefault(require("./coordinate-info"));
25
-
26
16
  var _icons = require("../common/icons");
27
-
28
17
  var _reactIntl = require("react-intl");
29
-
30
18
  var _localization = require("../../localization");
31
-
32
19
  var _headless = _interopRequireDefault(require("@tippyjs/react/headless"));
33
-
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
35
-
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4; // Copyright (c) 2022 Uber Technologies, Inc.
21
+ //
22
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
23
+ // of this software and associated documentation files (the "Software"), to deal
24
+ // in the Software without restriction, including without limitation the rights
25
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
26
+ // copies of the Software, and to permit persons to whom the Software is
27
+ // furnished to do so, subject to the following conditions:
28
+ //
29
+ // The above copyright notice and this permission notice shall be included in
30
+ // all copies or substantial portions of the Software.
31
+ //
32
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
38
+ // THE SOFTWARE.
39
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
40
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
36
41
  var MAX_WIDTH = 500;
37
42
  var MAX_HEIGHT = 600;
38
-
39
43
  var StyledMapPopover = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n max-width: ", "px;\n max-height: ", "px;\n padding: 14px;\n & > * + * {\n margin-top: 6px;\n }\n ", ";\n font-family: ", ";\n font-size: 11px;\n font-weight: 500;\n background-color: ", ";\n color: ", ";\n z-index: 1000;\n overflow-x: auto;\n box-shadow: ", ";\n\n :hover {\n background-color: ", ";\n }\n\n .primary-label {\n color: ", ";\n font-size: 10px;\n }\n\n .map-popover__layer-info,\n .coordingate-hover-info {\n & > * + * {\n margin-top: 7px;\n }\n }\n\n table {\n width: auto;\n display: grid;\n border-collapse: collapse;\n row-gap: 5px;\n column-gap: 5px;\n }\n\n .coordingate-hover-info > table {\n grid-template-columns: auto auto auto;\n }\n .map-popover__layer-info > table {\n grid-template-columns: auto auto;\n }\n\n tbody,\n tr {\n display: contents;\n }\n\n td {\n border-color: transparent;\n color: ", ";\n }\n\n td.row__value {\n text-align: right;\n font-weight: 500;\n color: ", ";\n }\n"])), MAX_WIDTH, MAX_HEIGHT, function (props) {
40
44
  return props.theme.scrollBar;
41
45
  }, function (props) {
@@ -55,33 +59,25 @@ var StyledMapPopover = _styledComponents["default"].div(_templateObject || (_tem
55
59
  }, function (props) {
56
60
  return props.theme.textColorHl;
57
61
  });
58
-
59
62
  var PinnedButtons = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: center;\n align-items: center;\n justify-items: center;\n & > * + * {\n margin-left: 10px;\n }\n"])));
60
-
61
63
  var PopoverContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n & > * + * {\n margin-top: 12px;\n }\n"])));
62
-
63
64
  var StyledIcon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n &.popover-pin {\n transform: rotate(30deg);\n }\n\n :hover {\n cursor: pointer;\n color: ", ";\n }\n"])), function (props) {
64
65
  return props.theme.activeColor;
65
66
  }, function (props) {
66
67
  return props.theme.linkBtnColor;
67
68
  });
68
-
69
69
  MapPopoverFactory.deps = [_layerHoverInfo["default"], _coordinateInfo["default"]];
70
-
71
70
  function zoomBetweenLimits(visibilityByZoom, zoom) {
72
71
  if (visibilityByZoom) {
73
72
  var roundedZoom = Math.round(zoom);
74
73
  var currentZoomUnderMin = roundedZoom < (visibilityByZoom === null || visibilityByZoom === void 0 ? void 0 : visibilityByZoom.min);
75
74
  var currentZoomOverMax = roundedZoom > (visibilityByZoom === null || visibilityByZoom === void 0 ? void 0 : visibilityByZoom.max);
76
-
77
75
  if (currentZoomUnderMin || currentZoomOverMax) {
78
76
  return false;
79
77
  }
80
78
  }
81
-
82
79
  return true;
83
80
  }
84
-
85
81
  function createVirtualReference(container, x, y) {
86
82
  var size = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
87
83
  var bounds = container && container.getBoundingClientRect ? container.getBoundingClientRect() : {};
@@ -96,27 +92,22 @@ function createVirtualReference(container, x, y) {
96
92
  height: size
97
93
  };
98
94
  }
99
-
100
95
  function getOffsetForPlacement(_ref) {
101
96
  var placement = _ref.placement,
102
- reference = _ref.reference,
103
- popper = _ref.popper;
97
+ reference = _ref.reference,
98
+ popper = _ref.popper;
104
99
  var gap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;
105
-
106
100
  switch (placement) {
107
101
  case 'top-start':
108
102
  case 'bottom-start':
109
103
  return [gap, gap];
110
-
111
104
  case 'top-end':
112
105
  case 'bottom-end':
113
106
  return [-gap, gap];
114
-
115
107
  default:
116
108
  return [0, 0];
117
109
  }
118
110
  }
119
-
120
111
  function getPopperOptions(container) {
121
112
  return {
122
113
  modifiers: [{
@@ -127,49 +118,43 @@ function getPopperOptions(container) {
127
118
  }]
128
119
  };
129
120
  }
130
-
131
121
  function MapPopoverFactory(LayerHoverInfo, CoordinateInfo) {
132
122
  /** @type {typeof import('./map-popover').MapPopover} */
133
123
  var MapPopover = function MapPopover(_ref2) {
134
124
  var _layerHoverProp$layer;
135
-
136
125
  var x = _ref2.x,
137
- y = _ref2.y,
138
- frozen = _ref2.frozen,
139
- coordinate = _ref2.coordinate,
140
- layerHoverProp = _ref2.layerHoverProp,
141
- isBase = _ref2.isBase,
142
- zoom = _ref2.zoom,
143
- container = _ref2.container,
144
- onClose = _ref2.onClose;
145
-
126
+ y = _ref2.y,
127
+ frozen = _ref2.frozen,
128
+ coordinate = _ref2.coordinate,
129
+ layerHoverProp = _ref2.layerHoverProp,
130
+ isBase = _ref2.isBase,
131
+ zoom = _ref2.zoom,
132
+ container = _ref2.container,
133
+ onClose = _ref2.onClose;
146
134
  var _useState = (0, _react.useState)('start'),
147
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
148
- horizontalPlacement = _useState2[0],
149
- setHorizontalPlacement = _useState2[1];
150
-
135
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
136
+ horizontalPlacement = _useState2[0],
137
+ setHorizontalPlacement = _useState2[1];
151
138
  var moveLeft = function moveLeft() {
152
139
  return setHorizontalPlacement('end');
153
140
  };
154
-
155
141
  var moveRight = function moveRight() {
156
142
  return setHorizontalPlacement('start');
157
143
  };
158
-
159
144
  var visibilityByZoom = layerHoverProp === null || layerHoverProp === void 0 ? void 0 : (_layerHoverProp$layer = layerHoverProp.layer.config) === null || _layerHoverProp$layer === void 0 ? void 0 : _layerHoverProp$layer.visibilityByZoom;
160
145
  var isVisible = visibilityByZoom ? zoomBetweenLimits(visibilityByZoom, zoom) : true;
161
146
  return /*#__PURE__*/_react["default"].createElement(_headless["default"], {
162
147
  popperOptions: getPopperOptions(container),
163
- zIndex: 999
164
- /* should be below Modal which has zIndex=1000 */
165
- ,
148
+ zIndex: 999 /* should be below Modal which has zIndex=1000 */,
166
149
  visible: isVisible,
167
150
  interactive: true,
168
151
  getReferenceClientRect: function getReferenceClientRect() {
169
152
  return createVirtualReference(container, x, y);
170
- } // @ts-ignore
153
+ }
154
+ // @ts-ignore
171
155
  ,
172
- placement: "bottom-".concat(horizontalPlacement) // @ts-ignore
156
+ placement: "bottom-".concat(horizontalPlacement)
157
+ // @ts-ignore
173
158
  ,
174
159
  offset: getOffsetForPlacement,
175
160
  appendTo: document.body,
@@ -198,7 +183,6 @@ function MapPopoverFactory(LayerHoverInfo, CoordinateInfo) {
198
183
  }
199
184
  });
200
185
  };
201
-
202
186
  return (0, _reactIntl.injectIntl)(MapPopover);
203
187
  }
204
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9tYXAtcG9wb3Zlci5qcyJdLCJuYW1lcyI6WyJNQVhfV0lEVEgiLCJNQVhfSEVJR0hUIiwiU3R5bGVkTWFwUG9wb3ZlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzY3JvbGxCYXIiLCJmb250RmFtaWx5IiwicGFuZWxCYWNrZ3JvdW5kIiwidGV4dENvbG9yIiwicGFuZWxCb3hTaGFkb3ciLCJub3RpZmljYXRpb25Db2xvcnMiLCJzdWNjZXNzIiwidGV4dENvbG9ySGwiLCJQaW5uZWRCdXR0b25zIiwiUG9wb3ZlckNvbnRlbnQiLCJTdHlsZWRJY29uIiwiYWN0aXZlQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJNYXBQb3BvdmVyRmFjdG9yeSIsImRlcHMiLCJMYXllckhvdmVySW5mb0ZhY3RvcnkiLCJDb29yZGluYXRlSW5mb0ZhY3RvcnkiLCJ6b29tQmV0d2VlbkxpbWl0cyIsInZpc2liaWxpdHlCeVpvb20iLCJ6b29tIiwicm91bmRlZFpvb20iLCJNYXRoIiwicm91bmQiLCJjdXJyZW50Wm9vbVVuZGVyTWluIiwibWluIiwiY3VycmVudFpvb21PdmVyTWF4IiwibWF4IiwiY3JlYXRlVmlydHVhbFJlZmVyZW5jZSIsImNvbnRhaW5lciIsIngiLCJ5Iiwic2l6ZSIsImJvdW5kcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50IiwicGxhY2VtZW50IiwicmVmZXJlbmNlIiwicG9wcGVyIiwiZ2FwIiwiZ2V0UG9wcGVyT3B0aW9ucyIsIm1vZGlmaWVycyIsIm5hbWUiLCJvcHRpb25zIiwiYm91bmRhcnkiLCJMYXllckhvdmVySW5mbyIsIkNvb3JkaW5hdGVJbmZvIiwiTWFwUG9wb3ZlciIsImZyb3plbiIsImNvb3JkaW5hdGUiLCJsYXllckhvdmVyUHJvcCIsImlzQmFzZSIsIm9uQ2xvc2UiLCJob3Jpem9udGFsUGxhY2VtZW50Iiwic2V0SG9yaXpvbnRhbFBsYWNlbWVudCIsIm1vdmVMZWZ0IiwibW92ZVJpZ2h0IiwibGF5ZXIiLCJjb25maWciLCJpc1Zpc2libGUiLCJkb2N1bWVudCIsImJvZHkiLCJhdHRycyIsIkFycmF5IiwiaXNBcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsR0FBbEI7QUFDQSxJQUFNQyxVQUFVLEdBQUcsR0FBbkI7O0FBRUEsSUFBTUMsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLDBuQ0FHUEosU0FITyxFQUlOQyxVQUpNLEVBU2xCLFVBQUFJLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsU0FBaEI7QUFBQSxDQVRhLEVBVUwsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBVkEsRUFhQSxVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLGVBQWhCO0FBQUEsQ0FiTCxFQWNYLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQWRNLEVBaUJOLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssY0FBaEI7QUFBQSxDQWpCQyxFQW9CRSxVQUFBTixLQUFLO0FBQUEsbUJBQU9BLEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxlQUFuQjtBQUFBLENBcEJQLEVBd0JULFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sa0JBQVosQ0FBK0JDLE9BQW5DO0FBQUEsQ0F4QkksRUF5RFQsVUFBQVIsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxTQUFoQjtBQUFBLENBekRJLEVBK0RULFVB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SyxHQXFCSCxJQXRCTixlQXVCRSxnQ0FBQyxjQUFELFFBQ0dZLEtBQUssQ0FBQ0MsT0FBTixDQUFjZixVQUFkLGtCQUE2QixnQ0FBQyxjQUFEO0FBQWdCLFVBQUEsVUFBVSxFQUFFQSxVQUE1QjtBQUF3QyxVQUFBLElBQUksRUFBRW5DO0FBQTlDLFVBRGhDLEVBRUdvQyxjQUFjLGlCQUFJLGdDQUFDLGNBQUQsRUFBb0JBLGNBQXBCLENBRnJCLENBdkJGLENBRFc7QUFBQTtBQVhmLE1BREY7QUE0Q0QsR0E1REQ7O0FBNkRBLFNBQU8sMkJBQVdILFVBQVgsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExheWVySG92ZXJJbmZvRmFjdG9yeSBmcm9tICcuL2xheWVyLWhvdmVyLWluZm8nO1xuaW1wb3J0IENvb3JkaW5hdGVJbmZvRmFjdG9yeSBmcm9tICcuL2Nvb3JkaW5hdGUtaW5mbyc7XG5pbXBvcnQge0Fycm93TGVmdCwgQXJyb3dSaWdodCwgUGlufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0L2hlYWRsZXNzJztcblxuY29uc3QgTUFYX1dJRFRIID0gNTAwO1xuY29uc3QgTUFYX0hFSUdIVCA9IDYwMDtcblxuY29uc3QgU3R5bGVkTWFwUG9wb3ZlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogJHtNQVhfV0lEVEh9cHg7XG4gIG1heC1oZWlnaHQ6ICR7TUFYX0hFSUdIVH1weDtcbiAgcGFkZGluZzogMTRweDtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zY3JvbGxCYXJ9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9ZGRgfTtcbiAgfVxuXG4gIC5wcmltYXJ5LWxhYmVsIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25Db2xvcnMuc3VjY2Vzc307XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLm1hcC1wb3BvdmVyX19sYXllci1pbmZvLFxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyB7XG4gICAgJiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHJvdy1nYXA6IDVweDtcbiAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gIH1cblxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICB9XG4gIC5tYXAtcG9wb3Zlcl9fbGF5ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgfVxuXG4gIHRib2R5LFxuICB0ciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5cbiAgdGQucm93X192YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmNvbnN0IFBpbm5lZEJ1dHRvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgUG9wb3ZlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG5cbiAgJi5wb3BvdmVyLXBpbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yfTtcbiAgfVxuYDtcblxuTWFwUG9wb3ZlckZhY3RvcnkuZGVwcyA9IFtMYXllckhvdmVySW5mb0ZhY3RvcnksIENvb3JkaW5hdGVJbmZvRmFjdG9yeV07XG5cbmZ1bmN0aW9uIHpvb21CZXR3ZWVuTGltaXRzKHZpc2liaWxpdHlCeVpvb20sIHpvb20pIHtcbiAgaWYgKHZpc2liaWxpdHlCeVpvb20pIHtcbiAgICBjb25zdCByb3VuZGVkWm9vbSA9IE1hdGgucm91bmQoem9vbSk7XG4gICAgY29uc3QgY3VycmVudFpvb21VbmRlck1pbiA9IHJvdW5kZWRab29tIDwgdmlzaWJpbGl0eUJ5Wm9vbT8ubWluO1xuICAgIGNvbnN0IGN1cnJlbnRab29tT3Zlck1heCA9IHJvdW5kZWRab29tID4gdmlzaWJpbGl0eUJ5Wm9vbT8ubWF4O1xuICAgIGlmIChjdXJyZW50Wm9vbVVuZGVyTWluIHx8IGN1cnJlbnRab29tT3Zlck1heCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmlydHVhbFJlZmVyZW5jZShjb250YWluZXIsIHgsIHksIHNpemUgPSAwKSB7XG4gIGNvbnN0IGJvdW5kcyA9XG4gICAgY29udGFpbmVyICYmIGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7fTtcbiAgY29uc3QgbGVmdCA9IChib3VuZHMubGVmdCB8fCAwKSArIHggLSBzaXplIC8gMjtcbiAgY29uc3QgdG9wID0gKGJvdW5kcy50b3AgfHwgMCkgKyB5IC0gc2l6ZSAvIDI7XG4gIHJldHVybiB7XG4gICAgbGVmdCxcbiAgICB0b3AsXG4gICAgcmlnaHQ6IGxlZnQgKyBzaXplLFxuICAgIGJvdHRvbTogdG9wICsgc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICBoZWlnaHQ6IHNpemVcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50KHtwbGFjZW1lbnQsIHJlZmVyZW5jZSwgcG9wcGVyfSwgZ2FwID0gMjApIHtcbiAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICBjYXNlICd0b3Atc3RhcnQnOlxuICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICByZXR1cm4gW2dhcCwgZ2FwXTtcbiAgICBjYXNlICd0b3AtZW5kJzpcbiAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgIHJldHVybiBbLWdhcCwgZ2FwXTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFswLCAwXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcikge1xuICByZXR1cm4ge1xuICAgIG1vZGlmaWVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJvdW5kYXJ5OiBjb250YWluZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwUG9wb3ZlckZhY3RvcnkoTGF5ZXJIb3ZlckluZm8sIENvb3JkaW5hdGVJbmZvKSB7XG4gIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtcG9wb3ZlcicpLk1hcFBvcG92ZXJ9ICovXG4gIGNvbnN0IE1hcFBvcG92ZXIgPSAoe1xuICAgIHgsXG4gICAgeSxcbiAgICBmcm96ZW4sXG4gICAgY29vcmRpbmF0ZSxcbiAgICBsYXllckhvdmVyUHJvcCxcbiAgICBpc0Jhc2UsXG4gICAgem9vbSxcbiAgICBjb250YWluZXIsXG4gICAgb25DbG9zZVxuICB9KSA9PiB7XG4gICAgY29uc3QgW2hvcml6b250YWxQbGFjZW1lbnQsIHNldEhvcml6b250YWxQbGFjZW1lbnRdID0gdXNlU3RhdGUoJ3N0YXJ0Jyk7XG4gICAgY29uc3QgbW92ZUxlZnQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdlbmQnKTtcbiAgICBjb25zdCBtb3ZlUmlnaHQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdzdGFydCcpO1xuICAgIGNvbnN0IHZpc2liaWxpdHlCeVpvb20gPSBsYXllckhvdmVyUHJvcD8ubGF5ZXIuY29uZmlnPy52aXNpYmlsaXR5Qnlab29tO1xuICAgIGNvbnN0IGlzVmlzaWJsZSA9IHZpc2liaWxpdHlCeVpvb20gPyB6b29tQmV0d2VlbkxpbWl0cyh2aXNpYmlsaXR5Qnlab29tLCB6b29tKSA6IHRydWU7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUaXBweVxuICAgICAgICBwb3BwZXJPcHRpb25zPXtnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcil9XG4gICAgICAgIHpJbmRleD17OTk5fSAvKiBzaG91bGQgYmUgYmVsb3cgTW9kYWwgd2hpY2ggaGFzIHpJbmRleD0xMDAwICovXG4gICAgICAgIHZpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgaW50ZXJhY3RpdmU9e3RydWV9XG4gICAgICAgIGdldFJlZmVyZW5jZUNsaWVudFJlY3Q9eygpID0+IGNyZWF0ZVZpcnR1YWxSZWZlcmVuY2UoY29udGFpbmVyLCB4LCB5KX1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwbGFjZW1lbnQ9e2Bib3R0b20tJHtob3Jpem9udGFsUGxhY2VtZW50fWB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb2Zmc2V0PXtnZXRPZmZzZXRGb3JQbGFjZW1lbnR9XG4gICAgICAgIGFwcGVuZFRvPXtkb2N1bWVudC5ib2R5fVxuICAgICAgICByZW5kZXI9e2F0dHJzID0+IChcbiAgICAgICAgICA8U3R5bGVkTWFwUG9wb3ZlciB7Li4uYXR0cnN9IGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyXCI+XG4gICAgICAgICAgICB7ZnJvemVuID8gKFxuICAgICAgICAgICAgICA8UGlubmVkQnV0dG9ucz5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ3N0YXJ0JyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJwb3BvdmVyLWFycm93LWxlZnRcIiBvbkNsaWNrPXttb3ZlTGVmdH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd0xlZnQgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uIGNsYXNzTmFtZT1cInBvcG92ZXItcGluXCIgb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgICAgICA8UGluIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ2VuZCcgJiYgKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwicG9wb3Zlci1hcnJvdy1yaWdodFwiIG9uQ2xpY2s9e21vdmVSaWdodH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd1JpZ2h0IC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEljb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7aXNCYXNlICYmIChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJpbWFyeS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcFBvcG92ZXIucHJpbWFyeVwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbnM+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxQb3BvdmVyQ29udGVudD5cbiAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkoY29vcmRpbmF0ZSkgJiYgPENvb3JkaW5hdGVJbmZvIGNvb3JkaW5hdGU9e2Nvb3JkaW5hdGV9IHpvb209e3pvb219IC8+fVxuICAgICAgICAgICAgICB7bGF5ZXJIb3ZlclByb3AgJiYgPExheWVySG92ZXJJbmZvIHsuLi5sYXllckhvdmVyUHJvcH0gLz59XG4gICAgICAgICAgICA8L1BvcG92ZXJDb250ZW50PlxuICAgICAgICAgIDwvU3R5bGVkTWFwUG9wb3Zlcj5cbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIGluamVjdEludGwoTWFwUG9wb3Zlcik7XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbGF5ZXJIb3ZlckluZm8iLCJfY29vcmRpbmF0ZUluZm8iLCJfaWNvbnMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9oZWFkbGVzcyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIk1BWF9XSURUSCIsIk1BWF9IRUlHSFQiLCJTdHlsZWRNYXBQb3BvdmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2Nyb2xsQmFyIiwiZm9udEZhbWlseSIsInBhbmVsQmFja2dyb3VuZCIsInRleHRDb2xvciIsInBhbmVsQm94U2hhZG93IiwiY29uY2F0Iiwibm90aWZpY2F0aW9uQ29sb3JzIiwic3VjY2VzcyIsInRleHRDb2xvckhsIiwiUGlubmVkQnV0dG9ucyIsIlBvcG92ZXJDb250ZW50IiwiU3R5bGVkSWNvbiIsImFjdGl2ZUNvbG9yIiwibGlua0J0bkNvbG9yIiwiTWFwUG9wb3ZlckZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJIb3ZlckluZm9GYWN0b3J5IiwiQ29vcmRpbmF0ZUluZm9GYWN0b3J5Iiwiem9vbUJldHdlZW5MaW1pdHMiLCJ2aXNpYmlsaXR5Qnlab29tIiwiem9vbSIsInJvdW5kZWRab29tIiwiTWF0aCIsInJvdW5kIiwiY3VycmVudFpvb21VbmRlck1pbiIsIm1pbiIsImN1cnJlbnRab29tT3Zlck1heCIsIm1heCIsImNyZWF0ZVZpcnR1YWxSZWZlcmVuY2UiLCJjb250YWluZXIiLCJ4IiwieSIsInNpemUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJib3VuZHMiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJ3aWR0aCIsImhlaWdodCIsImdldE9mZnNldEZvclBsYWNlbWVudCIsIl9yZWYiLCJwbGFjZW1lbnQiLCJyZWZlcmVuY2UiLCJwb3BwZXIiLCJnYXAiLCJnZXRQb3BwZXJPcHRpb25zIiwibW9kaWZpZXJzIiwibmFtZSIsIm9wdGlvbnMiLCJib3VuZGFyeSIsIkxheWVySG92ZXJJbmZvIiwiQ29vcmRpbmF0ZUluZm8iLCJNYXBQb3BvdmVyIiwiX3JlZjIiLCJfbGF5ZXJIb3ZlclByb3AkbGF5ZXIiLCJmcm96ZW4iLCJjb29yZGluYXRlIiwibGF5ZXJIb3ZlclByb3AiLCJpc0Jhc2UiLCJvbkNsb3NlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaG9yaXpvbnRhbFBsYWNlbWVudCIsInNldEhvcml6b250YWxQbGFjZW1lbnQiLCJtb3ZlTGVmdCIsIm1vdmVSaWdodCIsImxheWVyIiwiY29uZmlnIiwiaXNWaXNpYmxlIiwiY3JlYXRlRWxlbWVudCIsInBvcHBlck9wdGlvbnMiLCJ6SW5kZXgiLCJ2aXNpYmxlIiwiaW50ZXJhY3RpdmUiLCJnZXRSZWZlcmVuY2VDbGllbnRSZWN0Iiwib2Zmc2V0IiwiYXBwZW5kVG8iLCJkb2N1bWVudCIsImJvZHkiLCJyZW5kZXIiLCJhdHRycyIsIl9leHRlbmRzMiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJBcnJvd0xlZnQiLCJQaW4iLCJBcnJvd1JpZ2h0IiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5qZWN0SW50bCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9tYXAtcG9wb3Zlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTGF5ZXJIb3ZlckluZm9GYWN0b3J5IGZyb20gJy4vbGF5ZXItaG92ZXItaW5mbyc7XG5pbXBvcnQgQ29vcmRpbmF0ZUluZm9GYWN0b3J5IGZyb20gJy4vY29vcmRpbmF0ZS1pbmZvJztcbmltcG9ydCB7QXJyb3dMZWZ0LCBBcnJvd1JpZ2h0LCBQaW59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7aW5qZWN0SW50bH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQgVGlwcHkgZnJvbSAnQHRpcHB5anMvcmVhY3QvaGVhZGxlc3MnO1xuXG5jb25zdCBNQVhfV0lEVEggPSA1MDA7XG5jb25zdCBNQVhfSEVJR0hUID0gNjAwO1xuXG5jb25zdCBTdHlsZWRNYXBQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LXdpZHRoOiAke01BWF9XSURUSH1weDtcbiAgbWF4LWhlaWdodDogJHtNQVhfSEVJR0hUfXB4O1xuICBwYWRkaW5nOiAxNHB4O1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNjcm9sbEJhcn07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgei1pbmRleDogMTAwMDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IGAke3Byb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH1kZGB9O1xuICB9XG5cbiAgLnByaW1hcnktbGFiZWwge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm5vdGlmaWNhdGlvbkNvbG9ycy5zdWNjZXNzfTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAubWFwLXBvcG92ZXJfX2xheWVyLWluZm8sXG4gIC5jb29yZGluZ2F0ZS1ob3Zlci1pbmZvIHtcbiAgICAmID4gKiArICoge1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgcm93LWdhcDogNXB4O1xuICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgfVxuXG4gIC5jb29yZGluZ2F0ZS1ob3Zlci1pbmZvID4gdGFibGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XG4gIH1cbiAgLm1hcC1wb3BvdmVyX19sYXllci1pbmZvID4gdGFibGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICB9XG5cbiAgdGJvZHksXG4gIHRyIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cblxuICB0ZC5yb3dfX3ZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuY29uc3QgUGlubmVkQnV0dG9ucyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG5gO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcblxuICAmLnBvcG92ZXItcGluIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gIH1cblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3J9O1xuICB9XG5gO1xuXG5NYXBQb3BvdmVyRmFjdG9yeS5kZXBzID0gW0xheWVySG92ZXJJbmZvRmFjdG9yeSwgQ29vcmRpbmF0ZUluZm9GYWN0b3J5XTtcblxuZnVuY3Rpb24gem9vbUJldHdlZW5MaW1pdHModmlzaWJpbGl0eUJ5Wm9vbSwgem9vbSkge1xuICBpZiAodmlzaWJpbGl0eUJ5Wm9vbSkge1xuICAgIGNvbnN0IHJvdW5kZWRab29tID0gTWF0aC5yb3VuZCh6b29tKTtcbiAgICBjb25zdCBjdXJyZW50Wm9vbVVuZGVyTWluID0gcm91bmRlZFpvb20gPCB2aXNpYmlsaXR5Qnlab29tPy5taW47XG4gICAgY29uc3QgY3VycmVudFpvb21PdmVyTWF4ID0gcm91bmRlZFpvb20gPiB2aXNpYmlsaXR5Qnlab29tPy5tYXg7XG4gICAgaWYgKGN1cnJlbnRab29tVW5kZXJNaW4gfHwgY3VycmVudFpvb21PdmVyTWF4KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVWaXJ0dWFsUmVmZXJlbmNlKGNvbnRhaW5lciwgeCwgeSwgc2l6ZSA9IDApIHtcbiAgY29uc3QgYm91bmRzID1cbiAgICBjb250YWluZXIgJiYgY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCA/IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSA6IHt9O1xuICBjb25zdCBsZWZ0ID0gKGJvdW5kcy5sZWZ0IHx8IDApICsgeCAtIHNpemUgLyAyO1xuICBjb25zdCB0b3AgPSAoYm91bmRzLnRvcCB8fCAwKSArIHkgLSBzaXplIC8gMjtcbiAgcmV0dXJuIHtcbiAgICBsZWZ0LFxuICAgIHRvcCxcbiAgICByaWdodDogbGVmdCArIHNpemUsXG4gICAgYm90dG9tOiB0b3AgKyBzaXplLFxuICAgIHdpZHRoOiBzaXplLFxuICAgIGhlaWdodDogc2l6ZVxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRGb3JQbGFjZW1lbnQoe3BsYWNlbWVudCwgcmVmZXJlbmNlLCBwb3BwZXJ9LCBnYXAgPSAyMCkge1xuICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgIGNhc2UgJ3RvcC1zdGFydCc6XG4gICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcbiAgICAgIHJldHVybiBbZ2FwLCBnYXBdO1xuICAgIGNhc2UgJ3RvcC1lbmQnOlxuICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxuICAgICAgcmV0dXJuIFstZ2FwLCBnYXBdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gWzAsIDBdO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvcHBlck9wdGlvbnMoY29udGFpbmVyKSB7XG4gIHJldHVybiB7XG4gICAgbW9kaWZpZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgYm91bmRhcnk6IGNvbnRhaW5lclxuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBNYXBQb3BvdmVyRmFjdG9yeShMYXllckhvdmVySW5mbywgQ29vcmRpbmF0ZUluZm8pIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1wb3BvdmVyJykuTWFwUG9wb3Zlcn0gKi9cbiAgY29uc3QgTWFwUG9wb3ZlciA9ICh7XG4gICAgeCxcbiAgICB5LFxuICAgIGZyb3plbixcbiAgICBjb29yZGluYXRlLFxuICAgIGxheWVySG92ZXJQcm9wLFxuICAgIGlzQmFzZSxcbiAgICB6b29tLFxuICAgIGNvbnRhaW5lcixcbiAgICBvbkNsb3NlXG4gIH0pID0+IHtcbiAgICBjb25zdCBbaG9yaXpvbnRhbFBsYWNlbWVudCwgc2V0SG9yaXpvbnRhbFBsYWNlbWVudF0gPSB1c2VTdGF0ZSgnc3RhcnQnKTtcbiAgICBjb25zdCBtb3ZlTGVmdCA9ICgpID0+IHNldEhvcml6b250YWxQbGFjZW1lbnQoJ2VuZCcpO1xuICAgIGNvbnN0IG1vdmVSaWdodCA9ICgpID0+IHNldEhvcml6b250YWxQbGFjZW1lbnQoJ3N0YXJ0Jyk7XG4gICAgY29uc3QgdmlzaWJpbGl0eUJ5Wm9vbSA9IGxheWVySG92ZXJQcm9wPy5sYXllci5jb25maWc/LnZpc2liaWxpdHlCeVpvb207XG4gICAgY29uc3QgaXNWaXNpYmxlID0gdmlzaWJpbGl0eUJ5Wm9vbSA/IHpvb21CZXR3ZWVuTGltaXRzKHZpc2liaWxpdHlCeVpvb20sIHpvb20pIDogdHJ1ZTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRpcHB5XG4gICAgICAgIHBvcHBlck9wdGlvbnM9e2dldFBvcHBlck9wdGlvbnMoY29udGFpbmVyKX1cbiAgICAgICAgekluZGV4PXs5OTl9IC8qIHNob3VsZCBiZSBiZWxvdyBNb2RhbCB3aGljaCBoYXMgekluZGV4PTEwMDAgKi9cbiAgICAgICAgdmlzaWJsZT17aXNWaXNpYmxlfVxuICAgICAgICBpbnRlcmFjdGl2ZT17dHJ1ZX1cbiAgICAgICAgZ2V0UmVmZXJlbmNlQ2xpZW50UmVjdD17KCkgPT4gY3JlYXRlVmlydHVhbFJlZmVyZW5jZShjb250YWluZXIsIHgsIHkpfVxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHBsYWNlbWVudD17YGJvdHRvbS0ke2hvcml6b250YWxQbGFjZW1lbnR9YH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvZmZzZXQ9e2dldE9mZnNldEZvclBsYWNlbWVudH1cbiAgICAgICAgYXBwZW5kVG89e2RvY3VtZW50LmJvZHl9XG4gICAgICAgIHJlbmRlcj17YXR0cnMgPT4gKFxuICAgICAgICAgIDxTdHlsZWRNYXBQb3BvdmVyIHsuLi5hdHRyc30gY2xhc3NOYW1lPVwibWFwLXBvcG92ZXJcIj5cbiAgICAgICAgICAgIHtmcm96ZW4gPyAoXG4gICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25zPlxuICAgICAgICAgICAgICAgIHtob3Jpem9udGFsUGxhY2VtZW50ID09PSAnc3RhcnQnICYmIChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uIGNsYXNzTmFtZT1cInBvcG92ZXItYXJyb3ctbGVmdFwiIG9uQ2xpY2s9e21vdmVMZWZ0fT5cbiAgICAgICAgICAgICAgICAgICAgPEFycm93TGVmdCAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRJY29uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwicG9wb3Zlci1waW5cIiBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICAgICAgICAgIDxQaW4gaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRJY29uPlxuICAgICAgICAgICAgICAgIHtob3Jpem9udGFsUGxhY2VtZW50ID09PSAnZW5kJyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJwb3BvdmVyLWFycm93LXJpZ2h0XCIgb25DbGljaz17bW92ZVJpZ2h0fT5cbiAgICAgICAgICAgICAgICAgICAgPEFycm93UmlnaHQgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtpc0Jhc2UgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmltYXJ5LWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibWFwUG9wb3Zlci5wcmltYXJ5XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9ucz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPFBvcG92ZXJDb250ZW50PlxuICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShjb29yZGluYXRlKSAmJiA8Q29vcmRpbmF0ZUluZm8gY29vcmRpbmF0ZT17Y29vcmRpbmF0ZX0gem9vbT17em9vbX0gLz59XG4gICAgICAgICAgICAgIHtsYXllckhvdmVyUHJvcCAmJiA8TGF5ZXJIb3ZlckluZm8gey4uLmxheWVySG92ZXJQcm9wfSAvPn1cbiAgICAgICAgICAgIDwvUG9wb3ZlckNvbnRlbnQ+XG4gICAgICAgICAgPC9TdHlsZWRNYXBQb3BvdmVyPlxuICAgICAgICApfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuICByZXR1cm4gaW5qZWN0SW50bChNYXBQb3BvdmVyKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUE0QyxJQUFBUyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBM0I1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxT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
@@ -1,26 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  var _styledComponents = require("../common/styled-components");
17
-
18
12
  var _icons = require("../common/icons");
19
-
20
13
  var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
21
-
22
14
  var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
23
-
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
17
  // Copyright (c) 2022 Uber Technologies, Inc.
25
18
  //
26
19
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -40,23 +33,23 @@ var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
40
33
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
34
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
42
35
  // THE SOFTWARE.
43
- SplitMapButtonFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"]];
44
36
 
37
+ SplitMapButtonFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"]];
45
38
  function SplitMapButtonFactory(MapControlTooltip) {
46
39
  var defaultActionIcons = {
47
40
  "delete": _icons.Delete,
48
41
  split: _icons.Split
49
42
  };
50
- /** @type {import('./split-map-button').SplitMapButtonComponent} */
51
43
 
44
+ /** @type {import('./split-map-button').SplitMapButtonComponent} */
52
45
  var SplitMapButton = function SplitMapButton(_ref) {
53
46
  var isSplit = _ref.isSplit,
54
- mapIndex = _ref.mapIndex,
55
- onToggleSplitMap = _ref.onToggleSplitMap,
56
- _ref$actionIcons = _ref.actionIcons,
57
- actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
58
- mapControls = _ref.mapControls,
59
- readOnly = _ref.readOnly;
47
+ mapIndex = _ref.mapIndex,
48
+ onToggleSplitMap = _ref.onToggleSplitMap,
49
+ _ref$actionIcons = _ref.actionIcons,
50
+ actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
51
+ mapControls = _ref.mapControls,
52
+ readOnly = _ref.readOnly;
60
53
  var splitMap = (mapControls === null || mapControls === void 0 ? void 0 : mapControls.splitMap) || {};
61
54
  var onClick = (0, _react.useCallback)(function (event) {
62
55
  event.preventDefault();
@@ -65,11 +58,9 @@ function SplitMapButtonFactory(MapControlTooltip) {
65
58
  var isVisible = (0, _react.useMemo)(function () {
66
59
  return splitMap.show && readOnly !== true;
67
60
  }, [splitMap.show, readOnly]);
68
-
69
61
  if (!splitMap.show) {
70
62
  return null;
71
63
  }
72
-
73
64
  return isVisible ? /*#__PURE__*/_react["default"].createElement(_styledComponents.MapControlButton, {
74
65
  active: isSplit,
75
66
  onClick: onClick,
@@ -88,11 +79,8 @@ function SplitMapButtonFactory(MapControlTooltip) {
88
79
  message: isSplit ? 'tooltip.closePanel' : 'tooltip.switchToDualView'
89
80
  })) : null;
90
81
  };
91
-
92
82
  SplitMapButton.displayName = 'SplitMapButton';
93
83
  return /*#__PURE__*/_react["default"].memo(SplitMapButton);
94
84
  }
95
-
96
- var _default = SplitMapButtonFactory;
97
- exports["default"] = _default;
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9zcGxpdC1tYXAtYnV0dG9uLmpzIl0sIm5hbWVzIjpbIlNwbGl0TWFwQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJEZWxldGUiLCJzcGxpdCIsIlNwbGl0IiwiU3BsaXRNYXBCdXR0b24iLCJpc1NwbGl0IiwibWFwSW5kZXgiLCJvblRvZ2dsZVNwbGl0TWFwIiwiYWN0aW9uSWNvbnMiLCJtYXBDb250cm9scyIsInJlYWRPbmx5Iiwic3BsaXRNYXAiLCJvbkNsaWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInVuZGVmaW5lZCIsImlzVmlzaWJsZSIsInNob3ciLCJkaXNwbGF5TmFtZSIsIlJlYWN0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBekJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0FBLHFCQUFxQixDQUFDQyxJQUF0QixHQUE2QixDQUFDQyw2QkFBRCxFQUEyQkMsMkJBQTNCLENBQTdCOztBQUVBLFNBQVNILHFCQUFULENBQStCSSxpQkFBL0IsRUFBa0Q7QUFDaEQsTUFBTUMsa0JBQWtCLEdBQUc7QUFDekIsY0FBUUMsYUFEaUI7QUFFekJDLElBQUFBLEtBQUssRUFBRUM7QUFGa0IsR0FBM0I7QUFLQTs7QUFDQSxNQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLE9BT2pCO0FBQUEsUUFOSkMsT0FNSSxRQU5KQSxPQU1JO0FBQUEsUUFMSkMsUUFLSSxRQUxKQSxRQUtJO0FBQUEsUUFKSkMsZ0JBSUksUUFKSkEsZ0JBSUk7QUFBQSxnQ0FISkMsV0FHSTtBQUFBLFFBSEpBLFdBR0ksaUNBSFVSLGtCQUdWO0FBQUEsUUFGSlMsV0FFSSxRQUZKQSxXQUVJO0FBQUEsUUFESkMsUUFDSSxRQURKQSxRQUNJO0FBQ0osUUFBTUMsUUFBUSxHQUFHLENBQUFGLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFRSxRQUFiLEtBQXlCLEVBQTFDO0FBQ0EsUUFBTUMsT0FBTyxHQUFHLHdCQUNkLFVBQUFDLEtBQUssRUFBSTtBQUNQQSxNQUFBQSxLQUFLLENBQUNDLGNBQU47QUFDQVAsTUFBQUEsZ0JBQWdCLENBQUNGLE9BQU8sR0FBR0MsUUFBSCxHQUFjUyxTQUF0QixDQUFoQjtBQUNELEtBSmEsRUFLZCxDQUFDVixPQUFELEVBQVVDLFFBQVYsRUFBb0JDLGdCQUFwQixDQUxjLENBQWhCO0FBUUEsUUFBTVMsU0FBUyxHQUFHLG9CQUFRO0FBQUEsYUFBTUwsUUFBUSxDQUFDTSxJQUFULElBQWlCUCxRQUFRLEtBQUssSUFBcEM7QUFBQSxLQUFSLEVBQWtELENBQUNDLFFBQVEsQ0FBQ00sSUFBVixFQUFnQlAsUUFBaEIsQ0FBbEQsQ0FBbEI7O0FBRUEsUUFBSSxDQUFDQyxRQUFRLENBQUNNLElBQWQsRUFBb0I7QUFDbEIsYUFBTyxJQUFQO0FBQ0Q7O0FBRUQsV0FBT0QsU0FBUyxnQkFDYixnQ0FBQyxrQ0FBRDtBQUNDLE1BQUEsTUFBTSxFQUFFWCxPQURUO0FBRUMsTUFBQSxPQUFPLEVBQUVPLE9BRlY7QUFHQyxNQUFBLEdBQUcsa0JBQVdQLE9BQVgsQ0FISjtBQUlDLE1BQUEsU0FBUyxFQUFFLDRCQUFXLG9CQUFYLEVBQWlDLFdBQWpDLEVBQThDO0FBQUMscUJBQWFBO0FBQWQsT0FBOUMsQ0FKWjtBQUtDLHNCQUxEO0FBTUMsa0JBQVM7QUFOVixPQVFFQSxPQUFPLGdCQUFHLGdDQUFDLFdBQUQ7QUFBb0IsTUFBQSxNQUFNLEVBQUM7QUFBM0IsTUFBSCxnQkFBMEMsZ0NBQUMsV0FBRCxDQUFhLEtBQWI7QUFBbUIsTUFBQSxNQUFNLEVBQUM7QUFBMUIsTUFSbkQsZUFTQyxnQ0FBQyxpQkFBRDtBQUNFLE1BQUEsRUFBRSxFQUFDLGVBREw7QUFFRSxNQUFBLE9BQU8sRUFBRUEsT0FBTyxHQUFHLG9CQUFILEdBQTBCO0FBRjVDLE1BVEQsQ0FEYSxHQWVaLElBZko7QUFnQkQsR0F2Q0Q7O0FBeUNBRCxFQUFBQSxjQUFjLENBQUNjLFdBQWYsR0FBNkIsZ0JBQTdCO0FBQ0Esc0JBQU9DLGtCQUFNQyxJQUFOLENBQVdoQixjQUFYLENBQVA7QUFDRDs7ZUFFY1QscUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7RGVsZXRlLCBTcGxpdH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcENvbnRyb2xQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC1wYW5lbCc7XG5cblNwbGl0TWFwQnV0dG9uRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFBhbmVsRmFjdG9yeV07XG5cbmZ1bmN0aW9uIFNwbGl0TWFwQnV0dG9uRmFjdG9yeShNYXBDb250cm9sVG9vbHRpcCkge1xuICBjb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gICAgZGVsZXRlOiBEZWxldGUsXG4gICAgc3BsaXQ6IFNwbGl0XG4gIH07XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoJy4vc3BsaXQtbWFwLWJ1dHRvbicpLlNwbGl0TWFwQnV0dG9uQ29tcG9uZW50fSAqL1xuICBjb25zdCBTcGxpdE1hcEJ1dHRvbiA9ICh7XG4gICAgaXNTcGxpdCxcbiAgICBtYXBJbmRleCxcbiAgICBvblRvZ2dsZVNwbGl0TWFwLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIHJlYWRPbmx5XG4gIH0pID0+IHtcbiAgICBjb25zdCBzcGxpdE1hcCA9IG1hcENvbnRyb2xzPy5zcGxpdE1hcCB8fCB7fTtcbiAgICBjb25zdCBvbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uVG9nZ2xlU3BsaXRNYXAoaXNTcGxpdCA/IG1hcEluZGV4IDogdW5kZWZpbmVkKTtcbiAgICAgIH0sXG4gICAgICBbaXNTcGxpdCwgbWFwSW5kZXgsIG9uVG9nZ2xlU3BsaXRNYXBdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzVmlzaWJsZSA9IHVzZU1lbW8oKCkgPT4gc3BsaXRNYXAuc2hvdyAmJiByZWFkT25seSAhPT0gdHJ1ZSwgW3NwbGl0TWFwLnNob3csIHJlYWRPbmx5XSk7XG5cbiAgICBpZiAoIXNwbGl0TWFwLnNob3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBpc1Zpc2libGUgPyAoXG4gICAgICAoPE1hcENvbnRyb2xCdXR0b25cbiAgICAgICAgYWN0aXZlPXtpc1NwbGl0fVxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBrZXk9e2BzcGxpdC0ke2lzU3BsaXR9YH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAnc3BsaXQtbWFwJywgeydjbG9zZS1tYXAnOiBpc1NwbGl0fSl9XG4gICAgICAgIGRhdGEtdGlwXG4gICAgICAgIGRhdGEtZm9yPVwiYWN0aW9uLXRvZ2dsZVwiXG4gICAgICA+XG4gICAgICAgIHtpc1NwbGl0ID8gPGFjdGlvbkljb25zLmRlbGV0ZSBoZWlnaHQ9XCIxOHB4XCIgLz4gOiA8YWN0aW9uSWNvbnMuc3BsaXQgaGVpZ2h0PVwiMThweFwiIC8+fVxuICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgICBpZD1cImFjdGlvbi10b2dnbGVcIlxuICAgICAgICAgIG1lc3NhZ2U9e2lzU3BsaXQgPyAndG9vbHRpcC5jbG9zZVBhbmVsJyA6ICd0b29sdGlwLnN3aXRjaFRvRHVhbFZpZXcnfVxuICAgICAgICAvPlxuICAgICAgPC9NYXBDb250cm9sQnV0dG9uPilcbiAgICApIDogbnVsbDtcbiAgfTtcblxuICBTcGxpdE1hcEJ1dHRvbi5kaXNwbGF5TmFtZSA9ICdTcGxpdE1hcEJ1dHRvbic7XG4gIHJldHVybiBSZWFjdC5tZW1vKFNwbGl0TWFwQnV0dG9uKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU3BsaXRNYXBCdXR0b25GYWN0b3J5O1xuIl19
85
+ var _default = exports["default"] = SplitMapButtonFactory;
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29ucyIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBDb250cm9sUGFuZWwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTcGxpdE1hcEJ1dHRvbkZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFBhbmVsRmFjdG9yeSIsIk1hcENvbnRyb2xUb29sdGlwIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiRGVsZXRlIiwic3BsaXQiLCJTcGxpdCIsIlNwbGl0TWFwQnV0dG9uIiwiX3JlZiIsImlzU3BsaXQiLCJtYXBJbmRleCIsIm9uVG9nZ2xlU3BsaXRNYXAiLCJfcmVmJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJtYXBDb250cm9scyIsInJlYWRPbmx5Iiwic3BsaXRNYXAiLCJvbkNsaWNrIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwidW5kZWZpbmVkIiwiaXNWaXNpYmxlIiwidXNlTWVtbyIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiTWFwQ29udHJvbEJ1dHRvbiIsImFjdGl2ZSIsImtleSIsImNvbmNhdCIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJoZWlnaHQiLCJpZCIsIm1lc3NhZ2UiLCJkaXNwbGF5TmFtZSIsIlJlYWN0IiwibWVtbyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9zcGxpdC1tYXAtYnV0dG9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtEZWxldGUsIFNwbGl0fSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5pbXBvcnQgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXBhbmVsJztcblxuU3BsaXRNYXBCdXR0b25GYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LCBNYXBDb250cm9sUGFuZWxGYWN0b3J5XTtcblxuZnVuY3Rpb24gU3BsaXRNYXBCdXR0b25GYWN0b3J5KE1hcENvbnRyb2xUb29sdGlwKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICBkZWxldGU6IERlbGV0ZSxcbiAgICBzcGxpdDogU3BsaXRcbiAgfTtcblxuICAvKiogQHR5cGUge2ltcG9ydCgnLi9zcGxpdC1tYXAtYnV0dG9uJykuU3BsaXRNYXBCdXR0b25Db21wb25lbnR9ICovXG4gIGNvbnN0IFNwbGl0TWFwQnV0dG9uID0gKHtcbiAgICBpc1NwbGl0LFxuICAgIG1hcEluZGV4LFxuICAgIG9uVG9nZ2xlU3BsaXRNYXAsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwQ29udHJvbHMsXG4gICAgcmVhZE9ubHlcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHNwbGl0TWFwID0gbWFwQ29udHJvbHM/LnNwbGl0TWFwIHx8IHt9O1xuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVTcGxpdE1hcChpc1NwbGl0ID8gbWFwSW5kZXggOiB1bmRlZmluZWQpO1xuICAgICAgfSxcbiAgICAgIFtpc1NwbGl0LCBtYXBJbmRleCwgb25Ub2dnbGVTcGxpdE1hcF1cbiAgICApO1xuXG4gICAgY29uc3QgaXNWaXNpYmxlID0gdXNlTWVtbygoKSA9PiBzcGxpdE1hcC5zaG93ICYmIHJlYWRPbmx5ICE9PSB0cnVlLCBbc3BsaXRNYXAuc2hvdywgcmVhZE9ubHldKTtcblxuICAgIGlmICghc3BsaXRNYXAuc2hvdykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmlzaWJsZSA/IChcbiAgICAgICg8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICBhY3RpdmU9e2lzU3BsaXR9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGtleT17YHNwbGl0LSR7aXNTcGxpdH1gfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICdzcGxpdC1tYXAnLCB7J2Nsb3NlLW1hcCc6IGlzU3BsaXR9KX1cbiAgICAgICAgZGF0YS10aXBcbiAgICAgICAgZGF0YS1mb3I9XCJhY3Rpb24tdG9nZ2xlXCJcbiAgICAgID5cbiAgICAgICAge2lzU3BsaXQgPyA8YWN0aW9uSWNvbnMuZGVsZXRlIGhlaWdodD1cIjE4cHhcIiAvPiA6IDxhY3Rpb25JY29ucy5zcGxpdCBoZWlnaHQ9XCIxOHB4XCIgLz59XG4gICAgICAgIDxNYXBDb250cm9sVG9vbHRpcFxuICAgICAgICAgIGlkPVwiYWN0aW9uLXRvZ2dsZVwiXG4gICAgICAgICAgbWVzc2FnZT17aXNTcGxpdCA/ICd0b29sdGlwLmNsb3NlUGFuZWwnIDogJ3Rvb2x0aXAuc3dpdGNoVG9EdWFsVmlldyd9XG4gICAgICAgIC8+XG4gICAgICA8L01hcENvbnRyb2xCdXR0b24+KVxuICAgICkgOiBudWxsO1xuICB9O1xuXG4gIFNwbGl0TWFwQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1NwbGl0TWFwQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oU3BsaXRNYXBCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTcGxpdE1hcEJ1dHRvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sZ0JBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUF5RCxTQUFBTyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVQsd0JBQUFTLENBQUEsRUFBQUUs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
@@ -1,26 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  var _icons = require("../common/icons");
17
-
18
12
  var _styledComponents = require("../common/styled-components");
19
-
20
13
  var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
21
-
22
14
  var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
23
-
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
17
  // Copyright (c) 2022 Uber Technologies, Inc.
25
18
  //
26
19
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -40,20 +33,19 @@ var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
40
33
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
34
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
42
35
  // THE SOFTWARE.
43
- Toggle3dButtonFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"]];
44
36
 
37
+ Toggle3dButtonFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"]];
45
38
  function Toggle3dButtonFactory(MapControlTooltip) {
46
39
  var defaultActionIcons = {
47
40
  cube: _icons.Cube3d
48
41
  };
49
42
  /** @type {import('./toggle-3d-button').Toggle3dButtonComponent} */
50
-
51
43
  var Toggle3dButton = function Toggle3dButton(_ref) {
52
44
  var dragRotate = _ref.dragRotate,
53
- onTogglePerspective = _ref.onTogglePerspective,
54
- _ref$actionIcons = _ref.actionIcons,
55
- actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
56
- mapControls = _ref.mapControls;
45
+ onTogglePerspective = _ref.onTogglePerspective,
46
+ _ref$actionIcons = _ref.actionIcons,
47
+ actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
48
+ mapControls = _ref.mapControls;
57
49
  var onClick = (0, _react.useCallback)(function (event) {
58
50
  event.preventDefault();
59
51
  onTogglePerspective();
@@ -76,11 +68,8 @@ function Toggle3dButtonFactory(MapControlTooltip) {
76
68
  message: dragRotate ? 'tooltip.disable3DMap' : 'tooltip.3DMap'
77
69
  })) : null;
78
70
  };
79
-
80
71
  Toggle3dButton.displayName = 'Toggle3dButton';
81
72
  return /*#__PURE__*/_react["default"].memo(Toggle3dButton);
82
73
  }
83
-
84
- var _default = Toggle3dButtonFactory;
85
- exports["default"] = _default;
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC90b2dnbGUtM2QtYnV0dG9uLmpzIl0sIm5hbWVzIjpbIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJjdWJlIiwiQ3ViZTNkIiwiVG9nZ2xlM2RCdXR0b24iLCJkcmFnUm90YXRlIiwib25Ub2dnbGVQZXJzcGVjdGl2ZSIsImFjdGlvbkljb25zIiwibWFwQ29udHJvbHMiLCJvbkNsaWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImlzVmlzaWJsZSIsInRvZ2dsZTNkIiwic2hvdyIsIm1hcDNkIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBQSxxQkFBcUIsQ0FBQ0MsSUFBdEIsR0FBNkIsQ0FBQ0MsNkJBQUQsRUFBMkJDLDJCQUEzQixDQUE3Qjs7QUFFQSxTQUFTSCxxQkFBVCxDQUErQkksaUJBQS9CLEVBQWtEO0FBQ2hELE1BQU1DLGtCQUFrQixHQUFHO0FBQ3pCQyxJQUFBQSxJQUFJLEVBQUVDO0FBRG1CLEdBQTNCO0FBR0E7O0FBQ0EsTUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixPQUtqQjtBQUFBLFFBSkpDLFVBSUksUUFKSkEsVUFJSTtBQUFBLFFBSEpDLG1CQUdJLFFBSEpBLG1CQUdJO0FBQUEsZ0NBRkpDLFdBRUk7QUFBQSxRQUZKQSxXQUVJLGlDQUZVTixrQkFFVjtBQUFBLFFBREpPLFdBQ0ksUUFESkEsV0FDSTtBQUNKLFFBQU1DLE9BQU8sR0FBRyx3QkFDZCxVQUFBQyxLQUFLLEVBQUk7QUFDUEEsTUFBQUEsS0FBSyxDQUFDQyxjQUFOO0FBQ0FMLE1BQUFBLG1CQUFtQjtBQUNwQixLQUphLEVBS2QsQ0FBQ0EsbUJBQUQsQ0FMYyxDQUFoQjtBQVFBLFFBQU1NLFNBQVMsR0FBRyxvQkFBUSxZQUFNO0FBQzlCLGFBQU8sQ0FBQyxDQUFBSixXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRUssUUFBYixLQUF5QixFQUExQixFQUE4QkMsSUFBckM7QUFDRCxLQUZpQixFQUVmLENBQUNOLFdBQUQsQ0FGZSxDQUFsQjtBQUlBLFdBQU9JLFNBQVMsZ0JBQ2IsZ0NBQUMsa0NBQUQ7QUFDQyxNQUFBLE9BQU8sRUFBRUgsT0FEVjtBQUVDLE1BQUEsU0FBUyxFQUFFLDRCQUFXLG9CQUFYLEVBQWlDLFdBQWpDLEVBQThDO0FBQUNNLFFBQUFBLEtBQUssRUFBRVY7QUFBUixPQUE5QyxDQUZaO0FBR0MsTUFBQSxNQUFNLEVBQUVBLFVBSFQ7QUFJQyxzQkFKRDtBQUtDLGtCQUFTO0FBTFYsb0JBT0MsZ0NBQUMsV0FBRCxDQUFhLElBQWI7QUFBa0IsTUFBQSxNQUFNLEVBQUM7QUFBekIsTUFQRCxlQVFDLGdDQUFDLGlCQUFEO0FBQ0UsTUFBQSxFQUFFLEVBQUMsV0FETDtBQUVFLE1BQUEsT0FBTyxFQUFFQSxVQUFVLEdBQUcsc0JBQUgsR0FBNEI7QUFGakQsTUFSRCxDQURhLEdBY1osSUFkSjtBQWVELEdBakNEOztBQW1DQUQsRUFBQUEsY0FBYyxDQUFDWSxXQUFmLEdBQTZCLGdCQUE3QjtBQUNBLHNCQUFPQyxrQkFBTUMsSUFBTixDQUFXZCxjQUFYLENBQVA7QUFDRDs7ZUFFY1IscUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7Q3ViZTNkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuXG5Ub2dnbGUzZEJ1dHRvbkZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkoTWFwQ29udHJvbFRvb2x0aXApIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGN1YmU6IEN1YmUzZFxuICB9O1xuICAvKiogQHR5cGUge2ltcG9ydCgnLi90b2dnbGUtM2QtYnV0dG9uJykuVG9nZ2xlM2RCdXR0b25Db21wb25lbnR9ICovXG4gIGNvbnN0IFRvZ2dsZTNkQnV0dG9uID0gKHtcbiAgICBkcmFnUm90YXRlLFxuICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmUsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwQ29udHJvbHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVQZXJzcGVjdGl2ZSgpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZVBlcnNwZWN0aXZlXVxuICAgICk7XG5cbiAgICBjb25zdCBpc1Zpc2libGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiAobWFwQ29udHJvbHM/LnRvZ2dsZTNkIHx8IHt9KS5zaG93O1xuICAgIH0sIFttYXBDb250cm9sc10pO1xuXG4gICAgcmV0dXJuIGlzVmlzaWJsZSA/IChcbiAgICAgICg8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICd0b2dnbGUtM2QnLCB7bWFwM2Q6IGRyYWdSb3RhdGV9KX1cbiAgICAgICAgYWN0aXZlPXtkcmFnUm90YXRlfVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj1cImFjdGlvbi0zZFwiXG4gICAgICA+XG4gICAgICAgIDxhY3Rpb25JY29ucy5jdWJlIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgICBpZD1cImFjdGlvbi0zZFwiXG4gICAgICAgICAgbWVzc2FnZT17ZHJhZ1JvdGF0ZSA/ICd0b29sdGlwLmRpc2FibGUzRE1hcCcgOiAndG9vbHRpcC4zRE1hcCd9XG4gICAgICAgIC8+XG4gICAgICA8L01hcENvbnRyb2xCdXR0b24+KVxuICAgICkgOiBudWxsO1xuICB9O1xuXG4gIFRvZ2dsZTNkQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1RvZ2dsZTNkQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVG9nZ2xlM2RCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk7XG4iXX0=
74
+ var _default = exports["default"] = Toggle3dButtonFactory;
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBDb250cm9sUGFuZWwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJUb2dnbGUzZEJ1dHRvbkZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFBhbmVsRmFjdG9yeSIsIk1hcENvbnRyb2xUb29sdGlwIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiY3ViZSIsIkN1YmUzZCIsIlRvZ2dsZTNkQnV0dG9uIiwiX3JlZiIsImRyYWdSb3RhdGUiLCJvblRvZ2dsZVBlcnNwZWN0aXZlIiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwibWFwQ29udHJvbHMiLCJvbkNsaWNrIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiaXNWaXNpYmxlIiwidXNlTWVtbyIsInRvZ2dsZTNkIiwic2hvdyIsImNyZWF0ZUVsZW1lbnQiLCJNYXBDb250cm9sQnV0dG9uIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsIm1hcDNkIiwiYWN0aXZlIiwiaGVpZ2h0IiwiaWQiLCJtZXNzYWdlIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tYXAvdG9nZ2xlLTNkLWJ1dHRvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7Q3ViZTNkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuXG5Ub2dnbGUzZEJ1dHRvbkZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkoTWFwQ29udHJvbFRvb2x0aXApIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGN1YmU6IEN1YmUzZFxuICB9O1xuICAvKiogQHR5cGUge2ltcG9ydCgnLi90b2dnbGUtM2QtYnV0dG9uJykuVG9nZ2xlM2RCdXR0b25Db21wb25lbnR9ICovXG4gIGNvbnN0IFRvZ2dsZTNkQnV0dG9uID0gKHtcbiAgICBkcmFnUm90YXRlLFxuICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmUsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwQ29udHJvbHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVQZXJzcGVjdGl2ZSgpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZVBlcnNwZWN0aXZlXVxuICAgICk7XG5cbiAgICBjb25zdCBpc1Zpc2libGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiAobWFwQ29udHJvbHM/LnRvZ2dsZTNkIHx8IHt9KS5zaG93O1xuICAgIH0sIFttYXBDb250cm9sc10pO1xuXG4gICAgcmV0dXJuIGlzVmlzaWJsZSA/IChcbiAgICAgICg8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICd0b2dnbGUtM2QnLCB7bWFwM2Q6IGRyYWdSb3RhdGV9KX1cbiAgICAgICAgYWN0aXZlPXtkcmFnUm90YXRlfVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj1cImFjdGlvbi0zZFwiXG4gICAgICA+XG4gICAgICAgIDxhY3Rpb25JY29ucy5jdWJlIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgICBpZD1cImFjdGlvbi0zZFwiXG4gICAgICAgICAgbWVzc2FnZT17ZHJhZ1JvdGF0ZSA/ICd0b29sdGlwLmRpc2FibGUzRE1hcCcgOiAndG9vbHRpcC4zRE1hcCd9XG4gICAgICAgIC8+XG4gICAgICA8L01hcENvbnRyb2xCdXR0b24+KVxuICAgICkgOiBudWxsO1xuICB9O1xuXG4gIFRvZ2dsZTNkQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1RvZ2dsZTNkQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVG9nZ2xlM2RCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sZ0JBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUF5RCxTQUFBTyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVQsd0JBQUFTLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMs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