@carto/kepler.gl 0.0.86-alpha.deck9.1 → 0.0.86

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 (423) hide show
  1. package/dist/actions/action-wrapper.js +41 -36
  2. package/dist/actions/actions.js +21 -15
  3. package/dist/actions/identity-actions.js +20 -14
  4. package/dist/actions/index.js +16 -16
  5. package/dist/actions/map-state-actions.js +18 -12
  6. package/dist/actions/map-style-actions.js +46 -30
  7. package/dist/actions/provider-actions.js +73 -49
  8. package/dist/actions/ui-state-actions.js +113 -73
  9. package/dist/actions/vis-state-actions.js +148 -152
  10. package/dist/cloud-providers/index.js +7 -6
  11. package/dist/cloud-providers/provider.js +279 -189
  12. package/dist/components/bottom-widget.js +117 -105
  13. package/dist/components/common/action-panel.js +74 -122
  14. package/dist/components/common/animation-control/animation-control.js +54 -69
  15. package/dist/components/common/animation-control/animation-controller.js +160 -134
  16. package/dist/components/common/animation-control/animation-speed-slider.js +54 -47
  17. package/dist/components/common/animation-control/floating-time-display.js +100 -120
  18. package/dist/components/common/animation-control/playback-controls.js +144 -147
  19. package/dist/components/common/animation-control/speed-control.js +23 -31
  20. package/dist/components/common/checkbox.js +70 -56
  21. package/dist/components/common/color-legend.js +110 -83
  22. package/dist/components/common/data-table/button.js +23 -31
  23. package/dist/components/common/data-table/canvas.js +5 -11
  24. package/dist/components/common/data-table/cell-size.js +61 -51
  25. package/dist/components/common/data-table/grid.js +59 -40
  26. package/dist/components/common/data-table/index.js +348 -464
  27. package/dist/components/common/data-table/option-dropdown.js +33 -50
  28. package/dist/components/common/dataset-label.js +13 -17
  29. package/dist/components/common/error-boundary.js +45 -27
  30. package/dist/components/common/field-selector.js +139 -99
  31. package/dist/components/common/field-token.js +9 -24
  32. package/dist/components/common/file-uploader/file-drop.js +115 -96
  33. package/dist/components/common/file-uploader/file-upload-progress.js +45 -68
  34. package/dist/components/common/file-uploader/file-upload.js +187 -215
  35. package/dist/components/common/file-uploader/upload-button.js +22 -35
  36. package/dist/components/common/histogram-plot.js +58 -47
  37. package/dist/components/common/icons/add.js +27 -14
  38. package/dist/components/common/icons/anchor_window.js +18 -16
  39. package/dist/components/common/icons/arrow-down-alt.js +27 -14
  40. package/dist/components/common/icons/arrow-down-solid.js +27 -14
  41. package/dist/components/common/icons/arrow-down.js +27 -14
  42. package/dist/components/common/icons/arrow-left.js +30 -17
  43. package/dist/components/common/icons/arrow-right.js +27 -14
  44. package/dist/components/common/icons/arrow-up-alt.js +28 -15
  45. package/dist/components/common/icons/arrow-up-solid.js +27 -14
  46. package/dist/components/common/icons/arrow-up.js +27 -14
  47. package/dist/components/common/icons/base.js +57 -39
  48. package/dist/components/common/icons/bug.js +29 -16
  49. package/dist/components/common/icons/cancel.js +27 -14
  50. package/dist/components/common/icons/checkmark.js +31 -18
  51. package/dist/components/common/icons/chevron-right.js +33 -20
  52. package/dist/components/common/icons/clipboard.js +28 -15
  53. package/dist/components/common/icons/clock.js +29 -16
  54. package/dist/components/common/icons/close.js +32 -19
  55. package/dist/components/common/icons/code-alt.js +29 -16
  56. package/dist/components/common/icons/copy.js +31 -18
  57. package/dist/components/common/icons/crosshairs.js +29 -16
  58. package/dist/components/common/icons/cube-3d.js +31 -18
  59. package/dist/components/common/icons/cursor-click.js +31 -18
  60. package/dist/components/common/icons/data-table.js +28 -15
  61. package/dist/components/common/icons/db.js +28 -15
  62. package/dist/components/common/icons/delete.js +29 -16
  63. package/dist/components/common/icons/docs.js +43 -30
  64. package/dist/components/common/icons/drag-n-drop.js +29 -16
  65. package/dist/components/common/icons/draw-polygon.js +46 -33
  66. package/dist/components/common/icons/email.js +31 -18
  67. package/dist/components/common/icons/expand.js +29 -16
  68. package/dist/components/common/icons/eye-seen.js +29 -16
  69. package/dist/components/common/icons/eye-unseen.js +29 -16
  70. package/dist/components/common/icons/file-type.js +19 -35
  71. package/dist/components/common/icons/file.js +27 -14
  72. package/dist/components/common/icons/files.js +26 -14
  73. package/dist/components/common/icons/filter-funnel.js +27 -14
  74. package/dist/components/common/icons/free-window.js +18 -16
  75. package/dist/components/common/icons/gear.js +29 -16
  76. package/dist/components/common/icons/hash.js +27 -14
  77. package/dist/components/common/icons/histogram.js +27 -15
  78. package/dist/components/common/icons/index.js +156 -156
  79. package/dist/components/common/icons/info.js +38 -25
  80. package/dist/components/common/icons/layers.js +27 -14
  81. package/dist/components/common/icons/left-arrow.js +29 -16
  82. package/dist/components/common/icons/legend.js +27 -14
  83. package/dist/components/common/icons/line-chart.js +27 -14
  84. package/dist/components/common/icons/login.js +30 -17
  85. package/dist/components/common/icons/logout.js +29 -16
  86. package/dist/components/common/icons/map-icon.js +32 -18
  87. package/dist/components/common/icons/map.js +32 -18
  88. package/dist/components/common/icons/messages.js +27 -14
  89. package/dist/components/common/icons/minus.js +27 -14
  90. package/dist/components/common/icons/order-by-dataset.js +17 -15
  91. package/dist/components/common/icons/order-by-list.js +9 -7
  92. package/dist/components/common/icons/pause.js +27 -14
  93. package/dist/components/common/icons/picture.js +26 -14
  94. package/dist/components/common/icons/pin.js +30 -17
  95. package/dist/components/common/icons/play.js +27 -14
  96. package/dist/components/common/icons/polygon.js +48 -35
  97. package/dist/components/common/icons/rectangle.js +49 -36
  98. package/dist/components/common/icons/reduce.js +30 -17
  99. package/dist/components/common/icons/reset.js +27 -14
  100. package/dist/components/common/icons/rocket.js +27 -14
  101. package/dist/components/common/icons/save.js +29 -16
  102. package/dist/components/common/icons/save2.js +33 -20
  103. package/dist/components/common/icons/search.js +29 -16
  104. package/dist/components/common/icons/settings.js +29 -16
  105. package/dist/components/common/icons/share.js +27 -14
  106. package/dist/components/common/icons/split.js +55 -42
  107. package/dist/components/common/icons/square-select.js +29 -16
  108. package/dist/components/common/icons/swap-horizontal.js +31 -18
  109. package/dist/components/common/icons/table.js +27 -14
  110. package/dist/components/common/icons/trash.js +29 -16
  111. package/dist/components/common/icons/upload.js +27 -14
  112. package/dist/components/common/icons/vert-dots.js +65 -52
  113. package/dist/components/common/icons/vert-three-dots.js +40 -27
  114. package/dist/components/common/icons/warning.js +39 -26
  115. package/dist/components/common/image-preview.js +33 -71
  116. package/dist/components/common/info-helper.js +29 -36
  117. package/dist/components/common/item-selector/accessor.js +13 -7
  118. package/dist/components/common/item-selector/chickleted-input.js +56 -72
  119. package/dist/components/common/item-selector/dropdown-list.js +214 -182
  120. package/dist/components/common/item-selector/item-selector-submenu.js +55 -34
  121. package/dist/components/common/item-selector/item-selector.js +194 -183
  122. package/dist/components/common/item-selector/typeahead.js +248 -236
  123. package/dist/components/common/line-chart.js +58 -80
  124. package/dist/components/common/loading-spinner.js +31 -46
  125. package/dist/components/common/logo.js +48 -61
  126. package/dist/components/common/map-layer-selector.js +25 -31
  127. package/dist/components/common/modal.js +106 -167
  128. package/dist/components/common/portaled.js +189 -169
  129. package/dist/components/common/progress-bar.js +24 -27
  130. package/dist/components/common/range-brush.js +215 -176
  131. package/dist/components/common/range-plot.js +63 -52
  132. package/dist/components/common/range-slider.js +231 -206
  133. package/dist/components/common/slider/mouse-event.js +66 -59
  134. package/dist/components/common/slider/slider-bar-handle.js +61 -51
  135. package/dist/components/common/slider/slider-handle.js +102 -127
  136. package/dist/components/common/slider/slider.js +162 -143
  137. package/dist/components/common/styled-components.js +256 -518
  138. package/dist/components/common/switch.js +11 -11
  139. package/dist/components/common/time-range-slider-time-title.js +32 -49
  140. package/dist/components/common/time-range-slider.js +45 -56
  141. package/dist/components/common/time-slider-marker.js +52 -71
  142. package/dist/components/common/tippy-tooltip.js +59 -89
  143. package/dist/components/common/toolbar-item.js +45 -53
  144. package/dist/components/common/toolbar.js +18 -24
  145. package/dist/components/common/vertical-toolbar.js +6 -13
  146. package/dist/components/container.js +119 -87
  147. package/dist/components/context.js +8 -6
  148. package/dist/components/editor/constants.js +4 -4
  149. package/dist/components/editor/editor.js +157 -122
  150. package/dist/components/editor/feature-action-panel.js +59 -52
  151. package/dist/components/editor/feature-styles.js +29 -46
  152. package/dist/components/editor/handle-style.js +29 -38
  153. package/dist/components/filters/components.js +4 -8
  154. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +43 -33
  155. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +21 -20
  156. package/dist/components/filters/filter-panels/new-filter-panel.js +31 -24
  157. package/dist/components/filters/filter-panels/polygon-filter-panel.js +31 -26
  158. package/dist/components/filters/filter-panels/range-filter-panel.js +21 -20
  159. package/dist/components/filters/filter-panels/single-select-filter-panel.js +21 -20
  160. package/dist/components/filters/filter-panels/time-range-filter-panel.js +31 -28
  161. package/dist/components/filters/index.js +10 -10
  162. package/dist/components/filters/multi-select-filter.js +9 -11
  163. package/dist/components/filters/polygon-filter.js +41 -26
  164. package/dist/components/filters/range-filter.js +7 -9
  165. package/dist/components/filters/single-select-filter.js +13 -11
  166. package/dist/components/filters/time-range-filter.js +14 -16
  167. package/dist/components/filters/time-widget.js +84 -125
  168. package/dist/components/geocoder/geocoder.js +177 -158
  169. package/dist/components/geocoder-panel.js +87 -66
  170. package/dist/components/index.js +329 -328
  171. package/dist/components/injector.js +63 -44
  172. package/dist/components/kepler-gl.js +361 -325
  173. package/dist/components/map/coordinate-info.js +16 -18
  174. package/dist/components/map/layer-hover-info.js +86 -108
  175. package/dist/components/map/layer-selector-panel.js +48 -50
  176. package/dist/components/map/locale-panel.js +44 -38
  177. package/dist/components/map/map-control-panel.js +47 -70
  178. package/dist/components/map/map-control-toolbar.js +6 -9
  179. package/dist/components/map/map-control-tooltip.js +8 -10
  180. package/dist/components/map/map-control.js +27 -35
  181. package/dist/components/map/map-draw-panel.js +48 -38
  182. package/dist/components/map/map-legend-panel.js +50 -47
  183. package/dist/components/map/map-legend.js +116 -133
  184. package/dist/components/map/map-popover.js +100 -155
  185. package/dist/components/map/split-map-button.js +34 -30
  186. package/dist/components/map/toggle-3d-button.js +27 -25
  187. package/dist/components/map-container.js +359 -313
  188. package/dist/components/maps-layout.js +26 -16
  189. package/dist/components/modal-container.js +355 -359
  190. package/dist/components/modals/add-map-style-modal.js +194 -233
  191. package/dist/components/modals/cloud-tile.js +67 -96
  192. package/dist/components/modals/data-table-modal.js +152 -155
  193. package/dist/components/modals/delete-data-modal.js +20 -20
  194. package/dist/components/modals/error-display.js +7 -9
  195. package/dist/components/modals/export-data-modal.js +140 -118
  196. package/dist/components/modals/export-image-modal.js +69 -82
  197. package/dist/components/modals/export-map-modal/components.js +18 -20
  198. package/dist/components/modals/export-map-modal/export-html-map.js +74 -82
  199. package/dist/components/modals/export-map-modal/export-json-map.js +45 -65
  200. package/dist/components/modals/export-map-modal/export-map-modal.js +47 -42
  201. package/dist/components/modals/image-modal-container.js +21 -20
  202. package/dist/components/modals/load-data-modal.js +30 -28
  203. package/dist/components/modals/load-storage-map.js +178 -277
  204. package/dist/components/modals/loading-dialog.js +19 -41
  205. package/dist/components/modals/modal-dialog.js +6 -4
  206. package/dist/components/modals/modal-tabs.js +48 -83
  207. package/dist/components/modals/overwrite-map-modal.js +30 -41
  208. package/dist/components/modals/provider-modal-container.js +42 -23
  209. package/dist/components/modals/save-map-modal.js +83 -107
  210. package/dist/components/modals/share-map-modal.js +95 -101
  211. package/dist/components/modals/status-panel.js +43 -63
  212. package/dist/components/modals/storage-map-viewer.js +70 -133
  213. package/dist/components/notification-panel/notification-item.js +97 -94
  214. package/dist/components/notification-panel.js +43 -35
  215. package/dist/components/performance.js +53 -49
  216. package/dist/components/plot-container.js +169 -151
  217. package/dist/components/side-panel/cloud-storage-dropdown.js +15 -13
  218. package/dist/components/side-panel/common/dataset-info.js +12 -16
  219. package/dist/components/side-panel/common/dataset-tag.js +27 -48
  220. package/dist/components/side-panel/common/dataset-title.js +116 -119
  221. package/dist/components/side-panel/common/source-data-catalog.js +32 -31
  222. package/dist/components/side-panel/common/source-data-selector.js +77 -52
  223. package/dist/components/side-panel/custom-panel.js +8 -6
  224. package/dist/components/side-panel/filter-manager.js +62 -48
  225. package/dist/components/side-panel/filter-panel/filter-panel-header.js +25 -35
  226. package/dist/components/side-panel/filter-panel/filter-panel.js +64 -46
  227. package/dist/components/side-panel/interaction-manager.js +18 -20
  228. package/dist/components/side-panel/interaction-panel/brush-config.js +17 -17
  229. package/dist/components/side-panel/interaction-panel/interaction-panel.js +95 -76
  230. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +143 -118
  231. package/dist/components/side-panel/interaction-panel/tooltip-config.js +76 -95
  232. package/dist/components/side-panel/layer-manager.js +115 -105
  233. package/dist/components/side-panel/layer-panel/add-layer-button.js +54 -92
  234. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +5 -5
  235. package/dist/components/side-panel/layer-panel/color-palette.js +37 -50
  236. package/dist/components/side-panel/layer-panel/color-range-selector.js +207 -196
  237. package/dist/components/side-panel/layer-panel/color-selector.js +110 -104
  238. package/dist/components/side-panel/layer-panel/column-selector.js +22 -34
  239. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +4 -4
  240. package/dist/components/side-panel/layer-panel/custom-palette.js +205 -248
  241. package/dist/components/side-panel/layer-panel/custom-picker.js +69 -51
  242. package/dist/components/side-panel/layer-panel/dataset-layer-group.js +42 -37
  243. package/dist/components/side-panel/layer-panel/dataset-layer-section.js +27 -31
  244. package/dist/components/side-panel/layer-panel/dataset-section.js +35 -45
  245. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +13 -14
  246. package/dist/components/side-panel/layer-panel/hex-column-config.js +55 -32
  247. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +5 -5
  248. package/dist/components/side-panel/layer-panel/layer-column-config.js +46 -42
  249. package/dist/components/side-panel/layer-panel/layer-config-group.js +144 -178
  250. package/dist/components/side-panel/layer-panel/layer-configurator.js +830 -826
  251. package/dist/components/side-panel/layer-panel/layer-list.js +94 -101
  252. package/dist/components/side-panel/layer-panel/layer-panel-header.js +82 -124
  253. package/dist/components/side-panel/layer-panel/layer-panel.js +105 -111
  254. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +58 -67
  255. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +32 -47
  256. package/dist/components/side-panel/layer-panel/layer-type-selector.js +41 -30
  257. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +43 -42
  258. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +57 -55
  259. package/dist/components/side-panel/layer-panel/single-color-palette.js +33 -48
  260. package/dist/components/side-panel/layer-panel/text-label-panel.js +116 -81
  261. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +102 -88
  262. package/dist/components/side-panel/layer-panel/vis-config-slider.js +85 -99
  263. package/dist/components/side-panel/layer-panel/vis-config-switch.js +29 -38
  264. package/dist/components/side-panel/map-manager.js +89 -70
  265. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +60 -72
  266. package/dist/components/side-panel/map-style-panel/map-style-selector.js +42 -64
  267. package/dist/components/side-panel/panel-dropdown.js +37 -21
  268. package/dist/components/side-panel/panel-header-action.js +65 -60
  269. package/dist/components/side-panel/panel-header.js +184 -165
  270. package/dist/components/side-panel/panel-tab.js +29 -35
  271. package/dist/components/side-panel/panel-title.js +18 -15
  272. package/dist/components/side-panel/panel-toggle.js +31 -30
  273. package/dist/components/side-panel/side-bar.js +91 -100
  274. package/dist/components/side-panel.js +123 -108
  275. package/dist/connect/keplergl-connect.js +26 -17
  276. package/dist/connect/with-local-selector.js +63 -31
  277. package/dist/constants/action-types.js +115 -113
  278. package/dist/constants/color-palette.js +16 -14
  279. package/dist/constants/color-ranges.js +28 -23
  280. package/dist/constants/custom-color-ranges.js +12 -12
  281. package/dist/constants/default-settings.js +254 -323
  282. package/dist/constants/index.js +63 -63
  283. package/dist/constants/keyevent.js +4 -4
  284. package/dist/constants/tooltip.js +5 -5
  285. package/dist/constants/user-feedbacks.js +5 -9
  286. package/dist/constants/user-guides.js +10 -10
  287. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +63 -37
  288. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +56 -52
  289. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +168 -165
  290. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +43 -24
  291. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +40 -27
  292. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +40 -27
  293. package/dist/deckgl-layers/layer-utils/cluster-utils.js +68 -60
  294. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +282 -276
  295. package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
  296. package/dist/deckgl-layers/line-layer/line-layer.js +70 -62
  297. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +51 -37
  298. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +85 -65
  299. package/dist/index.js +16 -15
  300. package/dist/layers/aggregation-layer.js +331 -299
  301. package/dist/layers/arc-layer/arc-layer-icon.js +41 -27
  302. package/dist/layers/arc-layer/arc-layer.js +201 -174
  303. package/dist/layers/base-layer.js +1544 -1371
  304. package/dist/layers/cluster-layer/cluster-layer-icon.js +44 -30
  305. package/dist/layers/cluster-layer/cluster-layer.js +103 -89
  306. package/dist/layers/default-layer-icon.js +53 -39
  307. package/dist/layers/geojson-layer/geojson-layer-icon.js +55 -42
  308. package/dist/layers/geojson-layer/geojson-layer.js +353 -292
  309. package/dist/layers/geojson-layer/geojson-utils.js +36 -31
  310. package/dist/layers/grid-layer/grid-layer-icon.js +100 -87
  311. package/dist/layers/grid-layer/grid-layer.js +61 -51
  312. package/dist/layers/grid-layer/grid-utils.js +9 -13
  313. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +35 -21
  314. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +260 -225
  315. package/dist/layers/h3-hexagon-layer/h3-utils.js +16 -16
  316. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +52 -39
  317. package/dist/layers/heatmap-layer/heatmap-layer.js +171 -140
  318. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +64 -51
  319. package/dist/layers/hexagon-layer/hexagon-layer.js +63 -49
  320. package/dist/layers/hexagon-layer/hexagon-utils.js +14 -15
  321. package/dist/layers/icon-layer/icon-info-modal.js +75 -82
  322. package/dist/layers/icon-layer/icon-layer-icon.js +37 -24
  323. package/dist/layers/icon-layer/icon-layer.js +303 -274
  324. package/dist/layers/index.js +29 -43
  325. package/dist/layers/layer-factory.js +41 -25
  326. package/dist/layers/layer-text-label.js +23 -21
  327. package/dist/layers/layer-update.js +18 -16
  328. package/dist/layers/line-layer/line-layer-icon.js +43 -30
  329. package/dist/layers/line-layer/line-layer.js +142 -123
  330. package/dist/layers/mapbox-utils.js +62 -61
  331. package/dist/layers/mapboxgl-layer.js +169 -124
  332. package/dist/layers/point-layer/point-layer-icon.js +59 -45
  333. package/dist/layers/point-layer/point-layer.js +386 -355
  334. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +238 -208
  335. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +35 -21
  336. package/dist/layers/s2-geometry-layer/s2-utils.js +8 -9
  337. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +25 -24
  338. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +115 -102
  339. package/dist/layers/scenegraph-layer/scenegraph-layer.js +172 -148
  340. package/dist/layers/trip-layer/trip-info-modal.js +30 -50
  341. package/dist/layers/trip-layer/trip-layer-icon.js +53 -40
  342. package/dist/layers/trip-layer/trip-layer.js +307 -239
  343. package/dist/layers/trip-layer/trip-utils.js +50 -34
  344. package/dist/layers/types.js +2 -2
  345. package/dist/localization/formatted-message.js +10 -8
  346. package/dist/localization/index.js +7 -7
  347. package/dist/localization/locales.js +9 -6
  348. package/dist/localization/messages.js +10 -13
  349. package/dist/localization/translations/ca.js +13 -11
  350. package/dist/localization/translations/cn.js +13 -11
  351. package/dist/localization/translations/en.js +13 -11
  352. package/dist/localization/translations/es.js +13 -11
  353. package/dist/localization/translations/fi.js +13 -11
  354. package/dist/localization/translations/ja.js +13 -11
  355. package/dist/localization/translations/pt.js +13 -11
  356. package/dist/localization/translations/ru.js +13 -11
  357. package/dist/middleware/index.js +5 -3
  358. package/dist/processors/data-processor.js +201 -164
  359. package/dist/processors/file-handler.js +233 -111
  360. package/dist/processors/index.js +4 -4
  361. package/dist/reducers/combined-updaters.js +41 -41
  362. package/dist/reducers/composer-helpers.js +45 -20
  363. package/dist/reducers/composers.js +8 -9
  364. package/dist/reducers/core.js +35 -31
  365. package/dist/reducers/index.js +22 -21
  366. package/dist/reducers/map-state-updaters.js +47 -65
  367. package/dist/reducers/map-state.js +15 -23
  368. package/dist/reducers/map-style-updaters.js +159 -233
  369. package/dist/reducers/map-style.js +16 -30
  370. package/dist/reducers/provider-state-updaters.js +229 -217
  371. package/dist/reducers/provider-state.js +17 -29
  372. package/dist/reducers/root.js +58 -86
  373. package/dist/reducers/ui-state-updaters.js +218 -337
  374. package/dist/reducers/ui-state.js +16 -45
  375. package/dist/reducers/vis-state-merger.js +209 -205
  376. package/dist/reducers/vis-state-selectors.js +19 -5
  377. package/dist/reducers/vis-state-updaters.js +876 -1003
  378. package/dist/reducers/vis-state.js +16 -75
  379. package/dist/schemas/dataset-schema.js +108 -84
  380. package/dist/schemas/index.js +29 -28
  381. package/dist/schemas/map-state-schema.js +18 -21
  382. package/dist/schemas/map-style-schema.js +55 -47
  383. package/dist/schemas/schema-manager.js +161 -147
  384. package/dist/schemas/schema-utils.js +9 -8
  385. package/dist/schemas/schema.js +87 -72
  386. package/dist/schemas/versions.js +3 -3
  387. package/dist/schemas/vis-state-schema.js +583 -441
  388. package/dist/styles/base.js +1021 -1217
  389. package/dist/styles/index.js +3 -3
  390. package/dist/styles/media-breakpoints.js +18 -23
  391. package/dist/tasks/tasks.js +39 -36
  392. package/dist/templates/export-map-html.js +4 -233
  393. package/dist/utils/aggregate-utils.js +16 -13
  394. package/dist/utils/color-utils.js +37 -29
  395. package/dist/utils/custom-scales.js +3 -3
  396. package/dist/utils/data-scale-utils.js +13 -6
  397. package/dist/utils/data-utils.js +83 -60
  398. package/dist/utils/dataset-utils.js +77 -48
  399. package/dist/utils/dom-to-image.js +163 -108
  400. package/dist/utils/dom-utils.js +105 -88
  401. package/dist/utils/export-utils.js +103 -116
  402. package/dist/utils/filter-utils.js +374 -379
  403. package/dist/utils/gl-utils.js +15 -16
  404. package/dist/utils/gpu-filter-utils.js +73 -54
  405. package/dist/utils/index.js +48 -47
  406. package/dist/utils/interaction-utils.js +46 -53
  407. package/dist/utils/layer-utils.js +78 -89
  408. package/dist/utils/locale-utils.js +16 -24
  409. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +76 -67
  410. package/dist/utils/map-style-utils/mapbox-utils.js +3 -4
  411. package/dist/utils/mapbox-utils.js +4 -3
  412. package/dist/utils/notifications-utils.js +38 -33
  413. package/dist/utils/observe-dimensions.js +54 -42
  414. package/dist/utils/projection-utils.js +11 -14
  415. package/dist/utils/split-map-utils.js +33 -30
  416. package/dist/utils/table-utils/data-container-utils.js +14 -15
  417. package/dist/utils/table-utils/data-row.js +65 -58
  418. package/dist/utils/table-utils/index.js +2 -2
  419. package/dist/utils/table-utils/indexed-data-container.js +173 -105
  420. package/dist/utils/table-utils/kepler-table.js +386 -362
  421. package/dist/utils/table-utils/row-data-container.js +164 -99
  422. package/dist/utils/utils.js +30 -29
  423. package/package.json +1 -1
@@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.WidgetContainer = exports.TruncatedTitleText = exports.Tooltip = exports.TextAreaLight = exports.TextArea = exports.Table = exports.StyledType = exports.StyledPanelHeader = exports.StyledPanelDropdown = exports.StyledModalVerticalPanel = exports.StyledModalSection = exports.StyledModalInputFootnote = exports.StyledModalContent = exports.StyledMapContainer = exports.StyledFilteredOption = exports.StyledFilterContent = exports.StyledExportSection = exports.SpaceBetweenFlexbox = exports.SidePanelSection = exports.SidePanelDivider = exports.SelectionButton = exports.SelectTextBold = exports.SelectText = exports.SBFlexboxNoMargin = exports.SBFlexboxItem = exports.PanelLabelWrapper = exports.PanelLabelBold = exports.PanelLabel = exports.PanelHeaderTitle = exports.PanelHeaderContent = exports.PanelContent = exports.MapControlButton = exports.InputLight = exports.Input = exports.InlineInput = exports.IconRoundSmall = exports.DatasetSquare = exports.CheckMark = exports.CenterVerticalFlexbox = exports.CenterFlexbox = exports.ButtonGroup = exports.Button = exports.BottomWidgetInner = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
8
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
10
  var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
10
11
  var _mediaBreakpoints = require("../../styles/media-breakpoints");
11
12
  var _classnames = _interopRequireDefault(require("classnames"));
12
- // Copyright (c) 2022 Uber Technologies, Inc.
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47; // Copyright (c) 2022 Uber Technologies, Inc.
13
14
  //
14
15
  // Permission is hereby granted, free of charge, to any person obtaining a copy
15
16
  // of this software and associated documentation files (the "Software"), to deal
@@ -28,535 +29,272 @@ var _classnames = _interopRequireDefault(require("classnames"));
28
29
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
30
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
30
31
  // THE SOFTWARE.
31
-
32
- const SelectText = exports.SelectText = _styledComponents.default.span`
33
- color: ${props => props.theme.labelColor};
34
- font-size: ${props => props.theme.selectFontSize};
35
- font-weight: 400;
36
-
37
- i {
38
- font-size: 13px;
39
- margin-right: 6px;
40
- }
41
- `;
42
- const SelectTextBold = exports.SelectTextBold = (0, _styledComponents.default)(SelectText)`
43
- color: ${props => props.theme.textColor};
44
- font-weight: 500;
45
- `;
46
- const IconRoundSmall = exports.IconRoundSmall = _styledComponents.default.div`
47
- display: flex;
48
- width: 18px;
49
- height: 18px;
50
- border-radius: 9px;
51
- background-color: ${props => props.theme.secondaryBtnBgdHover};
52
- color: ${props => props.theme.secondaryBtnColor};
53
- align-items: center;
54
- justify-content: center;
55
-
56
- :hover {
57
- cursor: pointer;
58
- background-color: ${props => props.theme.secondaryBtnBgdHover};
59
- }
60
- `;
61
- const CenterFlexbox = exports.CenterFlexbox = _styledComponents.default.div`
62
- display: flex;
63
- align-items: center;
64
- `;
65
- const CenterVerticalFlexbox = exports.CenterVerticalFlexbox = _styledComponents.default.div`
66
- display: flex;
67
- flex-direction: column;
68
- align-items: center;
69
- `;
70
- const SpaceBetweenFlexbox = exports.SpaceBetweenFlexbox = _styledComponents.default.div`
71
- display: flex;
72
- justify-content: space-between;
73
- margin-left: -16px;
74
- `;
75
- const SBFlexboxItem = exports.SBFlexboxItem = _styledComponents.default.div`
76
- flex-grow: 1;
77
- margin-left: 16px;
78
- `;
79
- const SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents.default.div`
80
- display: flex;
81
- justify-content: space-between;
82
- `;
83
- const PanelLabel = exports.PanelLabel = _styledComponents.default.label.attrs({
32
+ var SelectText = exports.SelectText = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: ", ";\n font-weight: 400;\n\n i {\n font-size: 13px;\n margin-right: 6px;\n }\n"])), function (props) {
33
+ return props.theme.labelColor;
34
+ }, function (props) {
35
+ return props.theme.selectFontSize;
36
+ });
37
+ var SelectTextBold = exports.SelectTextBold = (0, _styledComponents["default"])(SelectText)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: 500;\n"])), function (props) {
38
+ return props.theme.textColor;
39
+ });
40
+ var IconRoundSmall = exports.IconRoundSmall = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 18px;\n height: 18px;\n border-radius: 9px;\n background-color: ", ";\n color: ", ";\n align-items: center;\n justify-content: center;\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n }\n"])), function (props) {
41
+ return props.theme.secondaryBtnBgdHover;
42
+ }, function (props) {
43
+ return props.theme.secondaryBtnColor;
44
+ }, function (props) {
45
+ return props.theme.secondaryBtnBgdHover;
46
+ });
47
+ var CenterFlexbox = exports.CenterFlexbox = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
48
+ var CenterVerticalFlexbox = exports.CenterVerticalFlexbox = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: center;\n"])));
49
+ var SpaceBetweenFlexbox = exports.SpaceBetweenFlexbox = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n margin-left: -16px;\n"])));
50
+ var SBFlexboxItem = exports.SBFlexboxItem = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n margin-left: 16px;\n"])));
51
+ var SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
52
+ var PanelLabel = exports.PanelLabel = _styledComponents["default"].label.attrs({
84
53
  active: false,
85
54
  className: 'side-panel-panel__label'
86
- })`
87
- color: ${props => props.active ? props.theme.labelColorActive : props.theme.labelColor};
88
- display: inline-block;
89
- font-size: 11px;
90
- font-weight: 400;
91
- margin-bottom: 4px;
92
- text-transform: capitalize;
93
- `;
94
- const PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents.default.div.attrs({
55
+ })(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
56
+ return props.active ? props.theme.labelColorActive : props.theme.labelColor;
57
+ });
58
+ var PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents["default"].div.attrs({
95
59
  className: 'side-panel-panel__label-wrapper'
96
- })`
97
- display: flex;
98
- align-items: self-start;
99
- `;
100
- const PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents.default)(PanelLabel)`
101
- font-weight: 500;
102
- `;
103
- const PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents.default.span.attrs(props => ({
104
- className: (0, _classnames.default)('side-panel-panel__header__title', props.className)
105
- }))`
106
- color: ${props => props.theme.textColor};
107
- font-size: 13px;
108
- letter-spacing: 0.43px;
109
- text-transform: capitalize;
110
- `;
111
- const PanelHeaderContent = exports.PanelHeaderContent = _styledComponents.default.div`
112
- display: flex;
113
- align-items: center;
114
- color: ${props => props.theme.textColor};
115
- padding-left: 12px;
116
-
117
- .icon {
118
- color: ${props => props.theme.labelColor};
119
- display: flex;
120
- align-items: center;
121
- margin-right: 12px;
122
- }
123
- `;
124
- const PanelContent = exports.PanelContent = _styledComponents.default.div.attrs(props => ({
125
- className: (0, _classnames.default)('side-panel-panel__content', props.className)
126
- }))`
127
- background-color: ${props => props.theme.panelContentBackground};
128
- padding: 12px;
129
- `;
130
- const SidePanelSection = exports.SidePanelSection = _styledComponents.default.div.attrs(props => ({
131
- className: (0, _classnames.default)('side-panel-section', props.className)
132
- }))`
133
- margin-bottom: 12px;
134
-
135
- opacity: ${props => props.disabled ? 0.4 : 1};
136
- pointer-events: ${props => props.disabled ? 'none' : 'all'};
137
- `;
138
- const SidePanelDivider = exports.SidePanelDivider = _styledComponents.default.div.attrs({
60
+ })(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
61
+ var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
62
+ var PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents["default"].span.attrs(function (props) {
63
+ return {
64
+ className: (0, _classnames["default"])('side-panel-panel__header__title', props.className)
65
+ };
66
+ })(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
67
+ return props.theme.textColor;
68
+ });
69
+ var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
70
+ return props.theme.textColor;
71
+ }, function (props) {
72
+ return props.theme.labelColor;
73
+ });
74
+ var PanelContent = exports.PanelContent = _styledComponents["default"].div.attrs(function (props) {
75
+ return {
76
+ className: (0, _classnames["default"])('side-panel-panel__content', props.className)
77
+ };
78
+ })(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
79
+ return props.theme.panelContentBackground;
80
+ });
81
+ var SidePanelSection = exports.SidePanelSection = _styledComponents["default"].div.attrs(function (props) {
82
+ return {
83
+ className: (0, _classnames["default"])('side-panel-section', props.className)
84
+ };
85
+ })(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
86
+ return props.disabled ? 0.4 : 1;
87
+ }, function (props) {
88
+ return props.disabled ? 'none' : 'all';
89
+ });
90
+ var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].div.attrs({
139
91
  className: 'side-panel-divider'
140
- })`
141
- border-bottom: ${props => props.theme.sidepanelDividerBorder} solid
142
- ${props => props.theme.panelBorderColor};
143
- margin-bottom: ${props => props.theme.sidepanelDividerMargin}px;
144
- height: ${props => props.theme.sidepanelDividerHeight}px;
145
- `;
146
- const Tooltip = exports.Tooltip = (0, _styledComponents.default)(_reactTooltip.default)`
147
- &.__react_component_tooltip {
148
- font-size: ${props => props.theme.tooltipFontSize};
149
- font-weight: 400;
150
- padding: 7px 18px;
151
- box-shadow: ${props => props.theme.tooltipBoxShadow};
152
-
153
- &.type-dark {
154
- background-color: ${props => props.theme.tooltipBg};
155
- color: ${props => props.theme.tooltipColor};
156
- &.place-bottom {
157
- :after {
158
- border-bottom-color: ${props => props.theme.tooltipBg};
159
- }
160
- }
161
-
162
- &.place-top {
163
- :after {
164
- border-top-color: ${props => props.theme.tooltipBg};
165
- }
166
- }
167
-
168
- &.place-right {
169
- :after {
170
- border-right-color: ${props => props.theme.tooltipBg};
171
- }
172
- }
173
-
174
- &.place-left {
175
- :after {
176
- border-left-color: ${props => props.theme.tooltipBg};
177
- }
178
- }
179
- }
180
- }
181
- `;
182
- const Button = exports.Button = _styledComponents.default.div.attrs(props => ({
183
- className: (0, _classnames.default)('button', props.className)
184
- }))`
185
- align-items: center;
186
- background-color: ${props => props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd};
187
- border-radius: ${props => props.theme.primaryBtnRadius};
188
- color: ${props => props.negative ? props.theme.negativeBtnColor : props.secondary ? props.theme.secondaryBtnColor : props.link ? props.theme.linkBtnColor : props.floating ? props.theme.floatingBtnColor : props.cta ? props.theme.ctaBtnColor : props.theme.primaryBtnColor};
189
- cursor: pointer;
190
- display: inline-flex;
191
- font-size: ${props => props.large ? props.theme.primaryBtnFontSizeLarge : props.small ? props.theme.primaryBtnFontSizeSmall : props.theme.primaryBtnFontSizeDefault};
192
- font-weight: 500;
193
- font-family: ${props => props.theme.btnFontFamily};
194
- justify-content: center;
195
- letter-spacing: 0.3px;
196
- line-height: 14px;
197
- outline: 0;
198
- padding: ${props => props.large ? '14px 32px' : props.small ? '6px 9px' : '9px 12px'};
199
- text-align: center;
200
- transition: ${props => props.theme.transition};
201
- vertical-align: middle;
202
- width: ${props => props.width || 'auto'};
203
- opacity: ${props => props.disabled ? 0.4 : 1};
204
- pointer-events: ${props => props.disabled ? 'none' : 'all'};
205
- border: ${props => props.negative ? props.theme.negativeBtnBorder : props.secondary ? props.theme.secondaryBtnBorder : props.floating ? props.theme.floatingBtnBorder : props.link ? props.theme.linkBtnBorder : props.theme.primaryBtnBorder};
206
- :hover,
207
- :focus,
208
- :active,
209
- &.active {
210
- background-color: ${props => props.negative ? props.theme.negativeBtnBgdHover : props.secondary ? props.theme.secondaryBtnBgdHover : props.link ? props.theme.linkBtnActBgdHover : props.floating ? props.theme.floatingBtnBgdHover : props.cta ? props.theme.ctaBtnBgdHover : props.theme.primaryBtnBgdHover};
211
- color: ${props => props.negative ? props.theme.negativeBtnActColor : props.secondary ? props.theme.secondaryBtnActColor : props.link ? props.theme.linkBtnActColor : props.floating ? props.theme.floatingBtnActColor : props.cta ? props.theme.ctaBtnActColor : props.theme.primaryBtnActColor};
212
- }
213
-
214
- svg {
215
- margin-right: ${props => props.large ? '10px' : props.small ? '6px' : '8px'};
216
- }
217
- `;
218
- const Input = exports.Input = _styledComponents.default.input`
219
- ${props => props.secondary ? props.theme.secondaryInput : props.theme.input};
220
- `;
221
- const InputLight = exports.InputLight = _styledComponents.default.input`
222
- ${props => props.theme.inputLT};
223
- `;
224
- const TextArea = exports.TextArea = _styledComponents.default.textarea`
225
- ${props => props.secondary ? props.theme.secondaryInput : props.theme.input};
226
- `;
227
- const TextAreaLight = exports.TextAreaLight = _styledComponents.default.textarea`
228
- ${props => props.theme.inputLT} height: auto;
229
- white-space: pre-wrap;
230
- `;
231
- const InlineInput = exports.InlineInput = (0, _styledComponents.default)(Input)`
232
- ${props => props.theme.inlineInput};
233
- `;
234
- const StyledPanelHeader = exports.StyledPanelHeader = _styledComponents.default.div`
235
- background-color: ${props => props.active ? props.theme.panelBackgroundHover : props.theme.panelBackground};
236
- border-left: 3px solid
237
- rgb(
238
- ${props => props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent'}
239
- );
240
- padding: 0 10px 0 0;
241
- height: ${props => props.theme.panelHeaderHeight}px;
242
- display: flex;
243
- justify-content: space-between;
244
- align-items: center;
245
- border-radius: ${props => props.theme.panelHeaderBorderRadius};
246
- transition: ${props => props.theme.transition};
247
- `;
248
- const StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents.default.div`
249
- ${props => props.theme.panelDropdownScrollBar}
250
- background-color: ${props => props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground};
251
- overflow-y: auto;
252
- box-shadow: ${props => props.theme.panelBoxShadow};
253
- border-radius: ${props => props.theme.panelBorderRadius};
254
- max-height: 500px;
255
- position: relative;
256
- z-index: 999;
257
- `;
258
- const ButtonGroup = exports.ButtonGroup = _styledComponents.default.div`
259
- display: flex;
260
- .button {
261
- border-radius: 0;
262
- margin-left: 2px;
263
- }
264
- .button:first-child {
265
- border-bottom-left-radius: ${props => props.theme.primaryBtnRadius};
266
- border-top-left-radius: ${props => props.theme.primaryBtnRadius};
267
- margin-left: 0;
268
- }
269
- .button:last-child {
270
- border-bottom-right-radius: ${props => props.theme.primaryBtnRadius};
271
- border-top-right-radius: ${props => props.theme.primaryBtnRadius};
272
- }
273
- `;
274
- const DatasetSquare = exports.DatasetSquare = _styledComponents.default.div`
275
- display: inline-block;
276
- width: 10px;
277
- height: 10px;
278
- background-color: rgb(${props => props.backgroundColor.join(',')});
279
- margin-right: 12px;
280
- `;
281
- const SelectionButton = exports.SelectionButton = _styledComponents.default.div`
282
- position: relative;
283
- border-radius: 2px;
284
- border: 1px solid
285
- ${props => props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor};
286
- color: ${props => props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor};
287
- background-color: ${props => props.selected ? props.theme.selectionBtnActBgd : props.theme.selectionBtnBgd};
288
-
289
- cursor: pointer;
290
- font-weight: 500;
291
- margin-right: 6px;
292
- padding: 6px 16px;
293
-
294
- :hover {
295
- color: ${props => props.theme.selectionBtnActColor};
296
- border: 1px solid ${props => props.theme.selectionBtnBorderActColor};
297
- }
298
- `;
299
- const Table = exports.Table = _styledComponents.default.table`
300
- width: 100%;
301
- border-spacing: 0;
302
-
303
- thead {
304
- tr th {
305
- background: ${props => props.theme.panelBackgroundLT};
306
- color: ${props => props.theme.titleColorLT};
307
- padding: 18px 12px;
308
- text-align: start;
309
- }
310
- }
311
-
312
- tbody {
313
- tr td {
314
- border-bottom: ${props => props.theme.panelBorderLT};
315
- padding: 12px;
316
- }
317
- }
318
- `;
319
- const StyledModalContent = exports.StyledModalContent = _styledComponents.default.div`
320
- background: ${props => props.theme.panelBackgroundLT};
321
- color: ${props => props.theme.textColorLT};
322
- display: flex;
323
- flex-direction: row;
324
- font-size: 10px;
325
- padding: 24px ${props => props.theme.modalLateralPadding};
326
- margin: 0 -${props => props.theme.modalLateralPadding};
327
- justify-content: space-between;
328
- ${_mediaBreakpoints.media.portable`
329
- flex-direction: column;
330
- padding: 16px ${props => props.theme.modalPortableLateralPadding};
331
- margin: 0 -${props => props.theme.modalPortableLateralPadding};
332
- `};
333
- `;
334
- const StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents.default.div.attrs({
92
+ })(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
93
+ return props.theme.sidepanelDividerBorder;
94
+ }, function (props) {
95
+ return props.theme.panelBorderColor;
96
+ }, function (props) {
97
+ return props.theme.sidepanelDividerMargin;
98
+ }, function (props) {
99
+ return props.theme.sidepanelDividerHeight;
100
+ });
101
+ var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 7px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n :after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n :after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n :after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n :after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
102
+ return props.theme.tooltipFontSize;
103
+ }, function (props) {
104
+ return props.theme.tooltipBoxShadow;
105
+ }, function (props) {
106
+ return props.theme.tooltipBg;
107
+ }, function (props) {
108
+ return props.theme.tooltipColor;
109
+ }, function (props) {
110
+ return props.theme.tooltipBg;
111
+ }, function (props) {
112
+ return props.theme.tooltipBg;
113
+ }, function (props) {
114
+ return props.theme.tooltipBg;
115
+ }, function (props) {
116
+ return props.theme.tooltipBg;
117
+ });
118
+ var Button = exports.Button = _styledComponents["default"].div.attrs(function (props) {
119
+ return {
120
+ className: (0, _classnames["default"])('button', props.className)
121
+ };
122
+ })(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n :hover,\n :focus,\n :active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
123
+ return props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd;
124
+ }, function (props) {
125
+ return props.theme.primaryBtnRadius;
126
+ }, function (props) {
127
+ return props.negative ? props.theme.negativeBtnColor : props.secondary ? props.theme.secondaryBtnColor : props.link ? props.theme.linkBtnColor : props.floating ? props.theme.floatingBtnColor : props.cta ? props.theme.ctaBtnColor : props.theme.primaryBtnColor;
128
+ }, function (props) {
129
+ return props.large ? props.theme.primaryBtnFontSizeLarge : props.small ? props.theme.primaryBtnFontSizeSmall : props.theme.primaryBtnFontSizeDefault;
130
+ }, function (props) {
131
+ return props.theme.btnFontFamily;
132
+ }, function (props) {
133
+ return props.large ? '14px 32px' : props.small ? '6px 9px' : '9px 12px';
134
+ }, function (props) {
135
+ return props.theme.transition;
136
+ }, function (props) {
137
+ return props.width || 'auto';
138
+ }, function (props) {
139
+ return props.disabled ? 0.4 : 1;
140
+ }, function (props) {
141
+ return props.disabled ? 'none' : 'all';
142
+ }, function (props) {
143
+ return props.negative ? props.theme.negativeBtnBorder : props.secondary ? props.theme.secondaryBtnBorder : props.floating ? props.theme.floatingBtnBorder : props.link ? props.theme.linkBtnBorder : props.theme.primaryBtnBorder;
144
+ }, function (props) {
145
+ return props.negative ? props.theme.negativeBtnBgdHover : props.secondary ? props.theme.secondaryBtnBgdHover : props.link ? props.theme.linkBtnActBgdHover : props.floating ? props.theme.floatingBtnBgdHover : props.cta ? props.theme.ctaBtnBgdHover : props.theme.primaryBtnBgdHover;
146
+ }, function (props) {
147
+ return props.negative ? props.theme.negativeBtnActColor : props.secondary ? props.theme.secondaryBtnActColor : props.link ? props.theme.linkBtnActColor : props.floating ? props.theme.floatingBtnActColor : props.cta ? props.theme.ctaBtnActColor : props.theme.primaryBtnActColor;
148
+ }, function (props) {
149
+ return props.large ? '10px' : props.small ? '6px' : '8px';
150
+ });
151
+ var Input = exports.Input = _styledComponents["default"].input(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
152
+ return props.secondary ? props.theme.secondaryInput : props.theme.input;
153
+ });
154
+ var InputLight = exports.InputLight = _styledComponents["default"].input(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
155
+ return props.theme.inputLT;
156
+ });
157
+ var TextArea = exports.TextArea = _styledComponents["default"].textarea(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
158
+ return props.secondary ? props.theme.secondaryInput : props.theme.input;
159
+ });
160
+ var TextAreaLight = exports.TextAreaLight = _styledComponents["default"].textarea(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
161
+ return props.theme.inputLT;
162
+ });
163
+ var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
164
+ return props.theme.inlineInput;
165
+ });
166
+ var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"].div(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
167
+ return props.active ? props.theme.panelBackgroundHover : props.theme.panelBackground;
168
+ }, function (props) {
169
+ return props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent';
170
+ }, function (props) {
171
+ return props.theme.panelHeaderHeight;
172
+ }, function (props) {
173
+ return props.theme.panelHeaderBorderRadius;
174
+ }, function (props) {
175
+ return props.theme.transition;
176
+ });
177
+ var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
178
+ return props.theme.panelDropdownScrollBar;
179
+ }, function (props) {
180
+ return props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground;
181
+ }, function (props) {
182
+ return props.theme.panelBoxShadow;
183
+ }, function (props) {
184
+ return props.theme.panelBorderRadius;
185
+ });
186
+ var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
187
+ return props.theme.primaryBtnRadius;
188
+ }, function (props) {
189
+ return props.theme.primaryBtnRadius;
190
+ }, function (props) {
191
+ return props.theme.primaryBtnRadius;
192
+ }, function (props) {
193
+ return props.theme.primaryBtnRadius;
194
+ });
195
+ var DatasetSquare = exports.DatasetSquare = _styledComponents["default"].div(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
196
+ return props.backgroundColor.join(',');
197
+ });
198
+ var SelectionButton = exports.SelectionButton = _styledComponents["default"].div(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n :hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
199
+ return props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor;
200
+ }, function (props) {
201
+ return props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor;
202
+ }, function (props) {
203
+ return props.selected ? props.theme.selectionBtnActBgd : props.theme.selectionBtnBgd;
204
+ }, function (props) {
205
+ return props.theme.selectionBtnActColor;
206
+ }, function (props) {
207
+ return props.theme.selectionBtnBorderActColor;
208
+ });
209
+ var Table = exports.Table = _styledComponents["default"].table(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
210
+ return props.theme.panelBackgroundLT;
211
+ }, function (props) {
212
+ return props.theme.titleColorLT;
213
+ }, function (props) {
214
+ return props.theme.panelBorderLT;
215
+ });
216
+ var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
217
+ return props.theme.panelBackgroundLT;
218
+ }, function (props) {
219
+ return props.theme.textColorLT;
220
+ }, function (props) {
221
+ return props.theme.modalLateralPadding;
222
+ }, function (props) {
223
+ return props.theme.modalLateralPadding;
224
+ }, _mediaBreakpoints.media.portable(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
225
+ return props.theme.modalPortableLateralPadding;
226
+ }, function (props) {
227
+ return props.theme.modalPortableLateralPadding;
228
+ }));
229
+ var StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents["default"].div.attrs({
335
230
  className: 'modal-vertical-panel'
336
- })`
337
- display: flex;
338
- flex-direction: column;
339
- justify-content: space-around;
340
- font-size: 12px;
341
-
342
- .modal-section:first-child {
343
- margin-top: 24px;
344
- ${_mediaBreakpoints.media.palm`
345
- margin-top: 0;
346
- `};
347
- }
348
-
349
- input {
350
- margin-right: 8px;
351
- }
352
- `;
353
- const StyledModalSection = exports.StyledModalSection = _styledComponents.default.div.attrs(_ref => {
354
- let {
355
- className
356
- } = _ref;
231
+ })(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _mediaBreakpoints.media.palm(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
232
+ var StyledModalSection = exports.StyledModalSection = _styledComponents["default"].div.attrs(function (_ref) {
233
+ var className = _ref.className;
357
234
  return {
358
- className: (0, _classnames.default)('modal-section', className)
235
+ className: (0, _classnames["default"])('modal-section', className)
359
236
  };
360
- })`
361
- margin-bottom: 32px;
362
-
363
- .modal-section-title {
364
- font-weight: 500;
365
- }
366
- .modal-section-subtitle {
367
- color: ${props => props.theme.subtextColorLT};
368
- }
369
-
370
- input {
371
- margin-top: 8px;
372
- }
373
-
374
- ${_mediaBreakpoints.media.portable`
375
- margin-bottom: 24px;
376
- `};
377
- ${_mediaBreakpoints.media.palm`
378
- margin-bottom: 16px;
379
- `};
380
- `;
381
- const StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents.default.div.attrs({
237
+ })(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
238
+ return props.theme.subtextColorLT;
239
+ }, _mediaBreakpoints.media.portable(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _mediaBreakpoints.media.palm(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
240
+ var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents["default"].div.attrs({
382
241
  className: 'modal-input__footnote'
383
- })`
384
- display: flex;
385
- justify-content: flex-end;
386
- color: ${props => props.error ? props.theme.errorColor : props.theme.subtextColorLT};
387
- font-size: 10px;
388
- `;
242
+ })(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
243
+ return props.error ? props.theme.errorColor : props.theme.subtextColorLT;
244
+ });
389
245
  /**
390
246
  * Newer versions of mapbox.gl display an error message banner on top of the map by default
391
247
  * which will cause the map to display points in the wrong locations
392
248
  * This workaround will hide the error banner.
393
249
  */
394
- const StyledMapContainer = exports.StyledMapContainer = _styledComponents.default.div`
395
- width: 100%;
396
- height: 100%;
397
- .maplibregl-ctrl {
398
- &.maplibregl-ctrl-attrib {
399
- display: none;
400
- }
401
- }
402
- `;
403
- const StyledExportSection = exports.StyledExportSection = _styledComponents.default.div`
404
- display: flex;
405
- flex-direction: row;
406
- margin: 35px 0;
407
- width: 100%;
408
- color: ${props => props.theme.textColorLT};
409
- font-size: 12px;
410
- opacity: ${props => props.disabled ? 0.3 : 1};
411
- pointer-events: ${props => props.disabled ? 'none' : 'all'};
412
-
413
- .description {
414
- width: 185px;
415
- .title {
416
- font-weight: 500;
417
- }
418
- .subtitle {
419
- color: ${props => props.theme.subtextColorLT};
420
- font-size: 11px;
421
- }
422
- }
423
- .warning {
424
- color: ${props => props.theme.errorColor};
425
- font-weight: 500;
426
- }
427
- .description.full {
428
- width: 100%;
429
- }
430
- .selection {
431
- display: flex;
432
- flex-wrap: wrap;
433
- flex: 1;
434
- padding-left: 50px;
435
-
436
- select {
437
- background-color: white;
438
- border-radius: 1px;
439
- display: inline-block;
440
- font: inherit;
441
- line-height: 1.5em;
442
- padding: 0.5em 3.5em 0.5em 1em;
443
- margin: 0;
444
- box-sizing: border-box;
445
- appearance: none;
446
- width: 250px;
447
- height: 36px;
448
-
449
- background-image: linear-gradient(45deg, transparent 50%, gray 50%),
450
- linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
451
- background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),
452
- calc(100% - 2.5em) 4.5em;
453
- background-size: 5px 5px, 5px 5px, 1px 1.5em;
454
- background-repeat: no-repeat;
455
- }
456
-
457
- select:focus {
458
- background-image: linear-gradient(45deg, green 50%, transparent 50%),
459
- linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);
460
- background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;
461
- background-size: 5px 5px, 5px 5px, 1px 1.5em;
462
- background-repeat: no-repeat;
463
- border-color: green;
464
- outline: 0;
465
- }
466
- }
467
- `;
468
- const StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents.default)(SelectionButton)`
469
- align-items: center;
470
- display: flex;
471
- flex-direction: column;
472
- justify-content: center;
473
- margin: 4px;
474
- padding: 8px 12px;
475
- width: 140px;
476
-
477
- .filter-option-title {
478
- color: ${props => props.theme.textColorLT};
479
- font-size: 12px;
480
- font-weight: 500;
481
- }
482
- .filter-option-subtitle {
483
- color: ${props => props.theme.subtextColorLT};
484
- font-size: 11px;
485
- }
486
- `;
487
- const StyledType = exports.StyledType = (0, _styledComponents.default)(SelectionButton)`
488
- height: 100px;
489
- margin: 4px;
490
- padding: 6px 10px;
491
- width: 100px;
492
- `;
493
- const WidgetContainer = exports.WidgetContainer = _styledComponents.default.div`
494
- z-index: 1;
495
- `;
496
- const BottomWidgetInner = exports.BottomWidgetInner = _styledComponents.default.div`
497
- background-color: ${props => props.theme.bottomWidgetBgd};
498
- padding: ${props => `${props.theme.bottomInnerPdVert}px ${props.theme.bottomInnerPdSide}px`};
499
- position: relative;
500
- margin-top: ${props => props.theme.bottomPanelGap}px;
501
- `;
502
- const MapControlButton = exports.MapControlButton = (0, _styledComponents.default)(Button).attrs({
250
+ var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-ctrl {\n &.maplibregl-ctrl-attrib {\n display: none;\n }\n }\n"])));
251
+ var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
252
+ return props.theme.textColorLT;
253
+ }, function (props) {
254
+ return props.disabled ? 0.3 : 1;
255
+ }, function (props) {
256
+ return props.disabled ? 'none' : 'all';
257
+ }, function (props) {
258
+ return props.theme.subtextColorLT;
259
+ }, function (props) {
260
+ return props.theme.errorColor;
261
+ });
262
+ var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
263
+ return props.theme.textColorLT;
264
+ }, function (props) {
265
+ return props.theme.subtextColorLT;
266
+ });
267
+ var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
268
+ var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
269
+ var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n"])), function (props) {
270
+ return props.theme.bottomWidgetBgd;
271
+ }, function (props) {
272
+ return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
273
+ }, function (props) {
274
+ return props.theme.bottomPanelGap;
275
+ });
276
+ var MapControlButton = exports.MapControlButton = (0, _styledComponents["default"])(Button).attrs({
503
277
  className: 'map-control-button'
504
- })`
505
- box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);
506
- height: 32px;
507
- width: 32px;
508
- padding: 0;
509
- border-radius: 0;
510
- background-color: ${props => props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd};
511
- color: ${props => props.active ? props.theme.floatingBtnActColor : props.theme.floatingBtnColor};
512
- border: ${props => props.active ? props.theme.floatingBtnBorderHover : props.theme.floatingBtnBorder};
513
-
514
- :hover,
515
- :focus,
516
- :active,
517
- &.active {
518
- background-color: ${props => props.theme.floatingBtnBgdHover};
519
- color: ${props => props.theme.floatingBtnActColor};
520
- border: ${props => props.theme.floatingBtnBorderHover};
521
- }
522
- svg {
523
- margin-right: 0;
524
- }
525
- `;
526
- const StyledFilterContent = exports.StyledFilterContent = _styledComponents.default.div`
527
- background-color: ${props => props.theme.panelContentBackground};
528
- padding: 12px;
529
- `;
530
- const TruncatedTitleText = exports.TruncatedTitleText = _styledComponents.default.div`
531
- white-space: nowrap;
532
- text-overflow: ellipsis;
533
- overflow: hidden;
534
- `;
535
- const CheckMark = exports.CheckMark = _styledComponents.default.span.attrs({
278
+ })(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: 0;\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n :hover,\n :focus,\n :active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
279
+ return props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd;
280
+ }, function (props) {
281
+ return props.active ? props.theme.floatingBtnActColor : props.theme.floatingBtnColor;
282
+ }, function (props) {
283
+ return props.active ? props.theme.floatingBtnBorderHover : props.theme.floatingBtnBorder;
284
+ }, function (props) {
285
+ return props.theme.floatingBtnBgdHover;
286
+ }, function (props) {
287
+ return props.theme.floatingBtnActColor;
288
+ }, function (props) {
289
+ return props.theme.floatingBtnBorderHover;
290
+ });
291
+ var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
292
+ return props.theme.panelContentBackground;
293
+ });
294
+ var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
295
+ var CheckMark = exports.CheckMark = _styledComponents["default"].span.attrs({
536
296
  className: 'checkbox-inner'
537
- })`
538
- background-color: ${props => props.theme.selectionBtnBorderActColor};
539
- position: absolute;
540
- top: 0;
541
- right: 0;
542
- display: block;
543
- width: 10px;
544
- height: 10px;
545
- border-top-left-radius: 2px;
546
-
547
- :after {
548
- position: absolute;
549
- display: table;
550
- border: 1px solid #fff;
551
- border-top: 0;
552
- border-left: 0;
553
- transform: rotate(45deg) scale(1) translate(-50%, -50%);
554
- opacity: 1;
555
- content: ' ';
556
- top: 40%;
557
- left: 30%;
558
- width: 3.2px;
559
- height: 6.22px;
560
- }
561
- `;
562
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0VG9vbHRpcCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2NsYXNzbmFtZXMiLCJTZWxlY3RUZXh0IiwiZXhwb3J0cyIsInN0eWxlZCIsInNwYW4iLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsInNlbGVjdEZvbnRTaXplIiwiU2VsZWN0VGV4dEJvbGQiLCJ0ZXh0Q29sb3IiLCJJY29uUm91bmRTbWFsbCIsImRpdiIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJDZW50ZXJGbGV4Ym94IiwiQ2VudGVyVmVydGljYWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiYWN0aXZlIiwiY2xhc3NOYW1lIiwibGFiZWxDb2xvckFjdGl2ZSIsIlBhbmVsTGFiZWxXcmFwcGVyIiwiUGFuZWxMYWJlbEJvbGQiLCJQYW5lbEhlYWRlclRpdGxlIiwiY2xhc3NuYW1lcyIsIlBhbmVsSGVhZGVyQ29udGVudCIsIlBhbmVsQ29udGVudCIsInBhbmVsQ29udGVudEJhY2tncm91bmQiLCJTaWRlUGFuZWxTZWN0aW9uIiwiZGlzYWJsZWQiLCJTaWRlUGFuZWxEaXZpZGVyIiwic2lkZXBhbmVsRGl2aWRlckJvcmRlciIsInBhbmVsQm9yZGVyQ29sb3IiLCJzaWRlcGFuZWxEaXZpZGVyTWFyZ2luIiwic2lkZXBhbmVsRGl2aWRlckhlaWdodCIsIlRvb2x0aXAiLCJSZWFjdFRvb2x0aXAiLCJ0b29sdGlwRm9udFNpemUiLCJ0b29sdGlwQm94U2hhZG93IiwidG9vbHRpcEJnIiwidG9vbHRpcENvbG9yIiwiQnV0dG9uIiwibmVnYXRpdmUiLCJuZWdhdGl2ZUJ0bkJnZCIsInNlY29uZGFyeSIsInNlY29uZGFyeUJ0bkJnZCIsImxpbmsiLCJsaW5rQnRuQmdkIiwiZmxvYXRpbmciLCJmbG9hdGluZ0J0bkJnZCIsImN0YSIsImN0YUJ0bkJnZCIsInByaW1hcnlCdG5CZ2QiLCJwcmltYXJ5QnRuUmFkaXVzIiwibmVnYXRpdmVCdG5Db2xvciIsImxpbmtCdG5Db2xvciIsImZsb2F0aW5nQnRuQ29sb3IiLCJjdGFCdG5Db2xvciIsInByaW1hcnlCdG5Db2xvciIsImxhcmdlIiwicHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2UiLCJzbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZVNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCIsImJ0bkZvbnRGYW1pbHkiLCJ0cmFuc2l0aW9uIiwid2lkdGgiLCJuZWdhdGl2ZUJ0bkJvcmRlciIsInNlY29uZGFyeUJ0bkJvcmRlciIsImZsb2F0aW5nQnRuQm9yZGVyIiwibGlua0J0bkJvcmRlciIsInByaW1hcnlCdG5Cb3JkZXIiLCJuZWdhdGl2ZUJ0bkJnZEhvdmVyIiwibGlua0J0bkFjdEJnZEhvdmVyIiwiZmxvYXRpbmdCdG5CZ2RIb3ZlciIsImN0YUJ0bkJnZEhvdmVyIiwicHJpbWFyeUJ0bkJnZEhvdmVyIiwibmVnYXRpdmVCdG5BY3RDb2xvciIsInNlY29uZGFyeUJ0bkFjdENvbG9yIiwibGlua0J0bkFjdENvbG9yIiwiZmxvYXRpbmdCdG5BY3RDb2xvciIsImN0YUJ0bkFjdENvbG9yIiwicHJpbWFyeUJ0bkFjdENvbG9yIiwiSW5wdXQiLCJpbnB1dCIsInNlY29uZGFyeUlucHV0IiwiSW5wdXRMaWdodCIsImlucHV0TFQiLCJUZXh0QXJlYSIsInRleHRhcmVhIiwiVGV4dEFyZWFMaWdodCIsIklubGluZUlucHV0IiwiaW5saW5lSW5wdXQiLCJTdHlsZWRQYW5lbEhlYWRlciIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwicGFuZWxCYWNrZ3JvdW5kIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsImpvaW4iLCJwYW5lbEhlYWRlckhlaWdodCIsInBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzIiwiU3R5bGVkUGFuZWxEcm9wZG93biIsInBhbmVsRHJvcGRvd25TY3JvbGxCYXIiLCJ0eXBlIiwibW9kYWxEcm9wZG93bkJhY2tncm91bmQiLCJwYW5lbEJveFNoYWRvdyIsInBhbmVsQm9yZGVyUmFkaXVzIiwiQnV0dG9uR3JvdXAiLCJEYXRhc2V0U3F1YXJlIiwiYmFja2dyb3VuZENvbG9yIiwiU2VsZWN0aW9uQnV0dG9uIiwic2VsZWN0ZWQiLCJzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvciIsInNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yIiwic2VsZWN0aW9uQnRuQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Db2xvciIsInNlbGVjdGlvbkJ0bkFjdEJnZCIsInNlbGVjdGlvbkJ0bkJnZCIsIlRhYmxlIiwidGFibGUiLCJwYW5lbEJhY2tncm91bmRMVCIsInRpdGxlQ29sb3JMVCIsInBhbmVsQm9yZGVyTFQiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJ0ZXh0Q29sb3JMVCIsIm1vZGFsTGF0ZXJhbFBhZGRpbmciLCJtZWRpYSIsInBvcnRhYmxlIiwibW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nIiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwicGFsbSIsIlN0eWxlZE1vZGFsU2VjdGlvbiIsIl9yZWYiLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEV4cG9ydFNlY3Rpb24iLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3RUb29sdGlwIGZyb20gJ3JlYWN0LXRvb2x0aXAnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnc3R5bGVzL21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJWZXJ0aWNhbEZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNwYWNlQmV0d2VlbkZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hJdGVtID0gc3R5bGVkLmRpdmBcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hOb01hcmdpbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmV4cG9ydCB0eXBlIFBhbmVsTGFiZWxQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhbixcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59O1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbCA9IHN0eWxlZC5sYWJlbC5hdHRyczxQYW5lbExhYmVsUHJvcHM+KHtcbiAgYWN0aXZlOiBmYWxzZSxcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwnXG59KTxQYW5lbExhYmVsUHJvcHM+YFxuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUubGFiZWxDb2xvckFjdGl2ZSA6IHByb3BzLnRoZW1lLmxhYmVsQ29sb3IpfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcCA9IHN0eWxlZChSZWFjdFRvb2x0aXApYFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogN3B4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQm94U2hhZG93fTtcblxuICAgICYudHlwZS1kYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBDb2xvcn07XG4gICAgICAmLnBsYWNlLWJvdHRvbSB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtdG9wIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1sZWZ0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzIHtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBsaW5rPzogYm9vbGVhbjtcbiAgZmxvYXRpbmc/OiBib29sZWFuO1xuICBjdGE/OiBib29sZWFuO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIHNtYWxsPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB3aWR0aD86IHN0cmluZztcbiAgaW5hY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2J1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxCdXR0b25Qcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZFxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJnZFxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZFxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Db2xvcn07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxhcmdlXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZUxhcmdlXG4gICAgICA6IHByb3BzLnNtYWxsXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5idG5Gb250RmFtaWx5fTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzE0cHggMzJweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHggOXB4JyA6ICc5cHggMTJweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJvcmRlcn07XG4gIDpob3ZlcixcbiAgOmZvY3VzLFxuICA6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdEJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTBweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHgnIDogJzhweCcpfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dExpZ2h0ID0gc3R5bGVkLmlucHV0YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0TFR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRleHRBcmVhID0gc3R5bGVkLnRleHRhcmVhPElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhTGlnaHQgPSBzdHlsZWQudGV4dGFyZWFgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH0gaGVpZ2h0OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5gO1xuXG5leHBvcnQgY29uc3QgSW5saW5lSW5wdXQgPSBzdHlsZWQoSW5wdXQpYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlubGluZUlucHV0fTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkUGFuZWxIZWFkZXJQcm9wcyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxIZWFkZXJQcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWRcbiAgICByZ2IoXG4gICAgICAke3Byb3BzID0+IChwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzID8gcHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcy5qb2luKCcsJykgOiAndHJhbnNwYXJlbnQnKX1cbiAgICApO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkUGFuZWxEcm9wZG93blByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsRHJvcGRvd24gPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxEcm9wZG93blNjcm9sbEJhcn1cbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnR5cGUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5tb2RhbERyb3Bkb3duQmFja2dyb3VuZCA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyUmFkaXVzfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFNxdWFyZVByb3BzIHtcbiAgYmFja2dyb3VuZENvbG9yOiBSR0JDb2xvcjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRTcXVhcmUgPSBzdHlsZWQuZGl2PERhdGFzZXRTcXVhcmVQcm9wcz5gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKCR7cHJvcHMgPT4gcHJvcHMuYmFja2dyb3VuZENvbG9yLmpvaW4oJywnKX0pO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2VsZWN0aW9uQnV0dG9uUHJvcHMge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25CdXR0b24gPSBzdHlsZWQuZGl2PFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVGFibGUgPSBzdHlsZWQudGFibGVgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICB0aGVhZCB7XG4gICAgdHIgdGgge1xuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZUNvbG9yTFR9O1xuICAgICAgcGFkZGluZzogMThweCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJMVH07XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMjRweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDE2cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmd9O1xuICBgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtdmVydGljYWwtcGFuZWwnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICAubW9kYWwtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAke21lZGlhLnBhbG1gXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGB9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxTZWN0aW9uID0gc3R5bGVkLmRpdi5hdHRycygoe2NsYXNzTmFtZX0pID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbW9kYWwtc2VjdGlvbicsIGNsYXNzTmFtZSlcbn0pKWBcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAubW9kYWwtc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAubW9kYWwtc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgYH07XG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcyB7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC1pbnB1dF9fZm9vdG5vdGUnXG59KTxTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/IHByb3BzLnRoZW1lLmVycm9yQ29sb3IgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVCl9O1xuICBmb250LXNpemU6IDEwcHg7XG5gO1xuLyoqXG4gKiBOZXdlciB2ZXJzaW9ucyBvZiBtYXBib3guZ2wgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGJhbm5lciBvbiB0b3Agb2YgdGhlIG1hcCBieSBkZWZhdWx0XG4gKiB3aGljaCB3aWxsIGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBwb2ludHMgaW4gdGhlIHdyb25nIGxvY2F0aW9uc1xuICogVGhpcyB3b3JrYXJvdW5kIHdpbGwgaGlkZSB0aGUgZXJyb3IgYmFubmVyLlxuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLm1hcGxpYnJlZ2wtY3RybCB7XG4gICAgJi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQuZGl2PFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMzVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC4zIDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbWFwLWNvbnRyb2wtYnV0dG9uJyBhcyBzdHJpbmdcbn0pPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICA6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuIl0s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
297
+ })(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n :after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
298
+ return props.theme.selectionBtnBorderActColor;
299
+ });
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0VG9vbHRpcCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2NsYXNzbmFtZXMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfdGVtcGxhdGVPYmplY3Q4IiwiX3RlbXBsYXRlT2JqZWN0OSIsIl90ZW1wbGF0ZU9iamVjdDEwIiwiX3RlbXBsYXRlT2JqZWN0MTEiLCJfdGVtcGxhdGVPYmplY3QxMiIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiX3RlbXBsYXRlT2JqZWN0MTQiLCJfdGVtcGxhdGVPYmplY3QxNSIsIl90ZW1wbGF0ZU9iamVjdDE2IiwiX3RlbXBsYXRlT2JqZWN0MTciLCJfdGVtcGxhdGVPYmplY3QxOCIsIl90ZW1wbGF0ZU9iamVjdDE5IiwiX3RlbXBsYXRlT2JqZWN0MjAiLCJfdGVtcGxhdGVPYmplY3QyMSIsIl90ZW1wbGF0ZU9iamVjdDIyIiwiX3RlbXBsYXRlT2JqZWN0MjMiLCJfdGVtcGxhdGVPYmplY3QyNCIsIl90ZW1wbGF0ZU9iamVjdDI1IiwiX3RlbXBsYXRlT2JqZWN0MjYiLCJfdGVtcGxhdGVPYmplY3QyNyIsIl90ZW1wbGF0ZU9iamVjdDI4IiwiX3RlbXBsYXRlT2JqZWN0MjkiLCJfdGVtcGxhdGVPYmplY3QzMCIsIl90ZW1wbGF0ZU9iamVjdDMxIiwiX3RlbXBsYXRlT2JqZWN0MzIiLCJfdGVtcGxhdGVPYmplY3QzMyIsIl90ZW1wbGF0ZU9iamVjdDM0IiwiX3RlbXBsYXRlT2JqZWN0MzUiLCJfdGVtcGxhdGVPYmplY3QzNiIsIl90ZW1wbGF0ZU9iamVjdDM3IiwiX3RlbXBsYXRlT2JqZWN0MzgiLCJfdGVtcGxhdGVPYmplY3QzOSIsIl90ZW1wbGF0ZU9iamVjdDQwIiwiX3RlbXBsYXRlT2JqZWN0NDEiLCJfdGVtcGxhdGVPYmplY3Q0MiIsIl90ZW1wbGF0ZU9iamVjdDQzIiwiX3RlbXBsYXRlT2JqZWN0NDQiLCJfdGVtcGxhdGVPYmplY3Q0NSIsIl90ZW1wbGF0ZU9iamVjdDQ2IiwiX3RlbXBsYXRlT2JqZWN0NDciLCJTZWxlY3RUZXh0IiwiZXhwb3J0cyIsInN0eWxlZCIsInNwYW4iLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJsYWJlbENvbG9yIiwic2VsZWN0Rm9udFNpemUiLCJTZWxlY3RUZXh0Qm9sZCIsInRleHRDb2xvciIsIkljb25Sb3VuZFNtYWxsIiwiZGl2Iiwic2Vjb25kYXJ5QnRuQmdkSG92ZXIiLCJzZWNvbmRhcnlCdG5Db2xvciIsIkNlbnRlckZsZXhib3giLCJDZW50ZXJWZXJ0aWNhbEZsZXhib3giLCJTcGFjZUJldHdlZW5GbGV4Ym94IiwiU0JGbGV4Ym94SXRlbSIsIlNCRmxleGJveE5vTWFyZ2luIiwiUGFuZWxMYWJlbCIsImxhYmVsIiwiYXR0cnMiLCJhY3RpdmUiLCJjbGFzc05hbWUiLCJsYWJlbENvbG9yQWN0aXZlIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJjbGFzc25hbWVzIiwiUGFuZWxIZWFkZXJDb250ZW50IiwiUGFuZWxDb250ZW50IiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJkaXNhYmxlZCIsIlNpZGVQYW5lbERpdmlkZXIiLCJzaWRlcGFuZWxEaXZpZGVyQm9yZGVyIiwicGFuZWxCb3JkZXJDb2xvciIsInNpZGVwYW5lbERpdmlkZXJNYXJnaW4iLCJzaWRlcGFuZWxEaXZpZGVySGVpZ2h0IiwiVG9vbHRpcCIsIlJlYWN0VG9vbHRpcCIsInRvb2x0aXBGb250U2l6ZSIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwQmciLCJ0b29sdGlwQ29sb3IiLCJCdXR0b24iLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJwYW5lbEJhY2tncm91bmQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiam9pbiIsInBhbmVsSGVhZGVySGVpZ2h0IiwicGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMiLCJTdHlsZWRQYW5lbERyb3Bkb3duIiwicGFuZWxEcm9wZG93blNjcm9sbEJhciIsInR5cGUiLCJtb2RhbERyb3Bkb3duQmFja2dyb3VuZCIsInBhbmVsQm94U2hhZG93IiwicGFuZWxCb3JkZXJSYWRpdXMiLCJCdXR0b25Hcm91cCIsIkRhdGFzZXRTcXVhcmUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJTZWxlY3Rpb25CdXR0b24iLCJzZWxlY3RlZCIsInNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yIiwic2VsZWN0aW9uQnRuQm9yZGVyQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RDb2xvciIsInNlbGVjdGlvbkJ0bkNvbG9yIiwic2VsZWN0aW9uQnRuQWN0QmdkIiwic2VsZWN0aW9uQnRuQmdkIiwiVGFibGUiLCJ0YWJsZSIsInBhbmVsQmFja2dyb3VuZExUIiwidGl0bGVDb2xvckxUIiwicGFuZWxCb3JkZXJMVCIsIlN0eWxlZE1vZGFsQ29udGVudCIsInRleHRDb2xvckxUIiwibW9kYWxMYXRlcmFsUGFkZGluZyIsIm1lZGlhIiwicG9ydGFibGUiLCJtb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmciLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJwYWxtIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiX3JlZiIsInN1YnRleHRDb2xvckxUIiwiU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlIiwiZXJyb3IiLCJlcnJvckNvbG9yIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIlN0eWxlZEZpbHRlcmVkT3B0aW9uIiwiU3R5bGVkVHlwZSIsIldpZGdldENvbnRhaW5lciIsIkJvdHRvbVdpZGdldElubmVyIiwiYm90dG9tV2lkZ2V0QmdkIiwiY29uY2F0IiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwiTWFwQ29udHJvbEJ1dHRvbiIsImZsb2F0aW5nQnRuQm9yZGVySG92ZXIiLCJTdHlsZWRGaWx0ZXJDb250ZW50IiwiVHJ1bmNhdGVkVGl0bGVUZXh0IiwiQ2hlY2tNYXJrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSZWFjdFRvb2x0aXAgZnJvbSAncmVhY3QtdG9vbHRpcCc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdzdHlsZXMvbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdyZWR1Y2Vycyc7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0Rm9udFNpemV9O1xuICBmb250LXdlaWdodDogNDAwO1xuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdFRleHRCb2xkID0gc3R5bGVkKFNlbGVjdFRleHQpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IEljb25Sb3VuZFNtYWxsID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3J9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlckZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlclZlcnRpY2FsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IHR5cGUgUGFuZWxMYWJlbFByb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuLFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn07XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsID0gc3R5bGVkLmxhYmVsLmF0dHJzPFBhbmVsTGFiZWxQcm9wcz4oe1xuICBhY3RpdmU6IGZhbHNlLFxuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pPFBhbmVsTGFiZWxQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5sYWJlbENvbG9yQWN0aXZlIDogcHJvcHMudGhlbWUubGFiZWxDb2xvcil9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbC13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxCb2xkID0gc3R5bGVkKFBhbmVsTGFiZWwpYFxuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyVGl0bGUgPSBzdHlsZWQuc3Bhbi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2hlYWRlcl9fdGl0bGUnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gIC5pY29uIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtcGFuZWxfX2NvbnRlbnQnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5pbnRlcmZhY2UgU2lkZVBhbmVsU2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXNlY3Rpb24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8U2lkZVBhbmVsU2VjdGlvblByb3BzPmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTaWRlUGFuZWxEaXZpZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtZGl2aWRlcidcbn0pYFxuICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJCb3JkZXJ9IHNvbGlkXG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyTWFyZ2lufXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlckhlaWdodH1weDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkKFJlYWN0VG9vbHRpcClgXG4gICYuX19yZWFjdF9jb21wb25lbnRfdG9vbHRpcCB7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiA3cHggMThweDtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCb3hTaGFkb3d9O1xuXG4gICAgJi50eXBlLWRhcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcENvbG9yfTtcbiAgICAgICYucGxhY2UtYm90dG9tIHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLXJpZ2h0IHtcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLWxlZnQge1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHMge1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPEJ1dHRvblByb3BzPmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQmdkXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Db2xvclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3JcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvclxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkNvbG9yfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGFyZ2VcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2VcbiAgICAgIDogcHJvcHMuc21hbGxcbiAgICAgID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplU21hbGxcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdH07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJ0bkZvbnRGYW1pbHl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTRweCAzMnB4JyA6IHByb3BzLnNtYWxsID8gJzZweCA5cHgnIDogJzlweCAxMnB4Jyl9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuICBib3JkZXI6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQm9yZGVyfTtcbiAgOmhvdmVyLFxuICA6Zm9jdXMsXG4gIDphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0QmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxMHB4JyA6IHByb3BzLnNtYWxsID8gJzZweCcgOiAnOHB4Jyl9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXRgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH07XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dEFyZWEgPSBzdHlsZWQudGV4dGFyZWE8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5leHBvcnQgY29uc3QgVGV4dEFyZWFMaWdodCA9IHN0eWxlZC50ZXh0YXJlYWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdjxTdHlsZWRQYW5lbEhlYWRlclByb3BzPmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZFxuICAgIHJnYihcbiAgICAgICR7cHJvcHMgPT4gKHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMgPyBwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzLmpvaW4oJywnKSA6ICd0cmFuc3BhcmVudCcpfVxuICAgICk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHMge1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxEcm9wZG93biA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxEcm9wZG93blByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbERyb3Bkb3duU2Nyb2xsQmFyfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMudHlwZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJSYWRpdXN9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0U3F1YXJlUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I6IFJHQkNvbG9yO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldFNxdWFyZSA9IHN0eWxlZC5kaXY8RGF0YXNldFNxdWFyZVByb3BzPmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoJHtwcm9wcyA9PiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3Iuam9pbignLCcpfSk7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbmA7XG5cbmludGVyZmFjZSBTZWxlY3Rpb25CdXR0b25Qcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNlbGVjdGlvbkJ1dHRvbiA9IHN0eWxlZC5kaXY8U2VsZWN0aW9uQnV0dG9uUHJvcHM+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5zZWxlY3RlZFxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQ29sb3J9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Db2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdEJnZCA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJnZH07XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgcGFkZGluZzogNnB4IDE2cHg7XG5cbiAgOmhvdmVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gIHRoZWFkIHtcbiAgICB0ciB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpdGxlQ29sb3JMVH07XG4gICAgICBwYWRkaW5nOiAxOHB4IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdHIgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckxUfTtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nOiAyNHB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTZweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gICAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gIGB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC12ZXJ0aWNhbC1wYW5lbCdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICR7bWVkaWEucGFsbWBcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKCh7Y2xhc3NOYW1lfSkgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdtb2RhbC1zZWN0aW9uJywgY2xhc3NOYW1lKVxufSkpYFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5tb2RhbC1zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBgfTtcbiAgJHttZWRpYS5wYWxtYFxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGB9O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzIHtcbiAgZXJyb3I/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLWlucHV0X19mb290bm90ZSdcbn0pPFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmVycm9yID8gcHJvcHMudGhlbWUuZXJyb3JDb2xvciA6IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUKX07XG4gIGZvbnQtc2l6ZTogMTBweDtcbmA7XG4vKipcbiAqIE5ld2VyIHZlcnNpb25zIG9mIG1hcGJveC5nbCBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UgYmFubmVyIG9uIHRvcCBvZiB0aGUgbWFwIGJ5IGRlZmF1bHRcbiAqIHdoaWNoIHdpbGwgY2F1c2UgdGhlIG1hcCB0byBkaXNwbGF5IHBvaW50cyBpbiB0aGUgd3JvbmcgbG9jYXRpb25zXG4gKiBUaGlzIHdvcmthcm91bmQgd2lsbCBoaWRlIHRoZSBlcnJvciBiYW5uZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAubWFwbGlicmVnbC1jdHJsIHtcbiAgICAmLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG4gIC53YXJuaW5nIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5kZXNjcmlwdGlvbi5mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcblxuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBwYWRkaW5nOiAwLjVlbSAzLjVlbSAwLjVlbSAxZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMzZweDtcblxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyYXkgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgZ3JheSA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NjYywgI2NjYyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyMHB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDE1cHgpIGNhbGMoMWVtICsgMnB4KSxcbiAgICAgICAgY2FsYygxMDAlIC0gMi41ZW0pIDQuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIHNlbGVjdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGdyZWVuIDUwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmVlbiA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgMWVtLCBjYWxjKDEwMCUgLSAyMHB4KSAxZW0sIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlci1jb2xvcjogZ3JlZW47XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlcmVkT3B0aW9uID0gc3R5bGVkKFNlbGVjdGlvbkJ1dHRvbilgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIHdpZHRoOiAxNDBweDtcblxuICAuZmlsdGVyLW9wdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5maWx0ZXItb3B0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVHlwZSA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIHdpZHRoOiAxMDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBXaWRnZXRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IEJvdHRvbVdpZGdldElubmVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRCZ2R9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IGAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRWZXJ0fXB4ICR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFNpZGV9cHhgfTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvdHRvbVBhbmVsR2FwfXB4O1xuYDtcblxuaW50ZXJmYWNlIE1hcENvbnRyb2xCdXR0b25Qcm9wcyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXBDb250cm9sQnV0dG9uID0gc3R5bGVkKEJ1dHRvbikuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtYXAtY29udHJvbC1idXR0b24nIGFzIHN0cmluZ1xufSk8TWFwQ29udHJvbEJ1dHRvblByb3BzPmBcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDMycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2R9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyfTtcblxuICA6aG92ZXIsXG4gIDpmb2N1cyxcbiAgOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXJ9O1xuICB9XG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVHJ1bmNhdGVkVGl0bGVUZXh0ID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tNYXJrID0gc3R5bGVkLnNwYW4uYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjaGVja2JveC1pbm5lcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXG4gIDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29udGVudDogJyAnO1xuICAgIHRvcDogNDAlO1xuICAg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