@kepler.gl/components 3.3.0-alpha.6 → 3.3.0-alpha.8

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 (165) hide show
  1. package/dist/cjs/common/data-table/cell-size.js +40 -23
  2. package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
  3. package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
  4. package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
  5. package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
  6. package/dist/cjs/common/data-table/grid.js +2 -2
  7. package/dist/cjs/common/data-table/header-cell.js +123 -44
  8. package/dist/cjs/common/data-table/index.js +104 -31
  9. package/dist/cjs/common/file-uploader/file-upload.js +250 -40
  10. package/dist/cjs/common/histogram-plot.js +1 -1
  11. package/dist/cjs/common/icons/circle.js +54 -0
  12. package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
  13. package/dist/cjs/common/icons/index.js +22 -1
  14. package/dist/cjs/common/icons/line-string.js +60 -0
  15. package/dist/cjs/common/item-selector/item-selector.js +2 -2
  16. package/dist/cjs/common/portaled.js +3 -3
  17. package/dist/cjs/common/time-range-slider.js +2 -2
  18. package/dist/cjs/common/timeline-slider.js +2 -2
  19. package/dist/cjs/common/toolbar-item.js +24 -3
  20. package/dist/cjs/editor/editor.js +27 -9
  21. package/dist/cjs/editor/feature-action-panel.js +34 -12
  22. package/dist/cjs/editor/feature-properties-editor.js +215 -0
  23. package/dist/cjs/editor/filter-feature-badges.js +92 -0
  24. package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +2 -2
  25. package/dist/cjs/filters/time-widget.js +2 -2
  26. package/dist/cjs/index.js +33 -1
  27. package/dist/cjs/kepler-gl.js +20 -3
  28. package/dist/cjs/map/layer-hover-info.js +2 -2
  29. package/dist/cjs/map/map-control-toolbar.js +2 -2
  30. package/dist/cjs/map/map-control.js +14 -8
  31. package/dist/cjs/map/map-draw-panel.js +74 -15
  32. package/dist/cjs/map/theme-toggle-button.js +64 -0
  33. package/dist/cjs/map-container.js +17 -6
  34. package/dist/cjs/map-view-state-context.js +3 -3
  35. package/dist/cjs/modal-container.js +3 -2
  36. package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
  37. package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
  38. package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
  39. package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
  40. package/dist/cjs/modals/cloud-tile.js +82 -39
  41. package/dist/cjs/modals/data-table-modal.js +37 -25
  42. package/dist/cjs/modals/export-video-modal.js +28 -1
  43. package/dist/cjs/modals/export-video-modal.spec.js +56 -10
  44. package/dist/cjs/modals/globe-export-video-container.js +19 -3
  45. package/dist/cjs/modals/globe-export-video-preview.js +25 -7
  46. package/dist/cjs/modals/hubble-utils.js +8 -3
  47. package/dist/cjs/modals/image-modal-container.js +2 -2
  48. package/dist/cjs/modals/load-data-modal.js +3 -3
  49. package/dist/cjs/modals/load-storage-map.js +9 -6
  50. package/dist/cjs/modals/save-map-modal.js +4 -3
  51. package/dist/cjs/modals/share-map-modal.js +5 -4
  52. package/dist/cjs/modals/swipe-composite-utils.js +9 -1
  53. package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
  54. package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
  55. package/dist/cjs/plot-container.js +12 -5
  56. package/dist/cjs/side-panel/common/dataset-info.js +2 -2
  57. package/dist/cjs/side-panel/filter-panel/filter-panel.js +2 -2
  58. package/dist/cjs/side-panel/layer-manager.js +11 -3
  59. package/dist/cjs/side-panel/layer-panel/custom-palette.js +2 -2
  60. package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
  61. package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
  62. package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
  63. package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
  64. package/dist/common/data-table/column-statistics-components.d.ts +31 -0
  65. package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
  66. package/dist/common/data-table/column-statistics-time.d.ts +19 -0
  67. package/dist/common/data-table/header-cell.d.ts +7 -5
  68. package/dist/common/data-table/index.d.ts +7 -24
  69. package/dist/common/histogram-plot.d.ts +24 -1
  70. package/dist/common/icons/{arrow-down-solid.d.ts → circle.d.ts} +2 -1
  71. package/dist/common/icons/draw-point.d.ts +10 -0
  72. package/dist/common/icons/index.d.ts +3 -0
  73. package/dist/common/icons/line-string.d.ts +10 -0
  74. package/dist/common/toolbar-item.d.ts +2 -0
  75. package/dist/editor/editor.d.ts +1 -0
  76. package/dist/editor/feature-action-panel.d.ts +1 -0
  77. package/dist/editor/feature-properties-editor.d.ts +8 -0
  78. package/dist/editor/filter-feature-badges.d.ts +12 -0
  79. package/dist/esm/common/data-table/cell-size.js +40 -23
  80. package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
  81. package/dist/esm/common/data-table/column-statistics-components.js +59 -0
  82. package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
  83. package/dist/esm/common/data-table/column-statistics-time.js +60 -0
  84. package/dist/esm/common/data-table/grid.js +2 -2
  85. package/dist/esm/common/data-table/header-cell.js +125 -46
  86. package/dist/esm/common/data-table/index.js +104 -31
  87. package/dist/esm/common/file-uploader/file-upload.js +251 -41
  88. package/dist/esm/common/histogram-plot.js +1 -1
  89. package/dist/esm/common/icons/circle.js +48 -0
  90. package/dist/esm/common/icons/draw-point.js +44 -0
  91. package/dist/esm/common/icons/index.js +4 -1
  92. package/dist/esm/common/icons/line-string.js +54 -0
  93. package/dist/esm/common/item-selector/item-selector.js +2 -2
  94. package/dist/esm/common/portaled.js +3 -3
  95. package/dist/esm/common/time-range-slider.js +2 -2
  96. package/dist/esm/common/timeline-slider.js +2 -2
  97. package/dist/esm/common/toolbar-item.js +24 -3
  98. package/dist/esm/editor/editor.js +27 -9
  99. package/dist/esm/editor/feature-action-panel.js +37 -15
  100. package/dist/esm/editor/feature-properties-editor.js +208 -0
  101. package/dist/esm/editor/filter-feature-badges.js +85 -0
  102. package/dist/esm/filters/filter-panels/polygon-filter-panel.js +2 -2
  103. package/dist/esm/filters/time-widget.js +2 -2
  104. package/dist/esm/index.js +5 -1
  105. package/dist/esm/kepler-gl.js +20 -3
  106. package/dist/esm/map/layer-hover-info.js +2 -2
  107. package/dist/esm/map/map-control-toolbar.js +2 -2
  108. package/dist/esm/map/map-control.js +14 -8
  109. package/dist/esm/map/map-draw-panel.js +72 -11
  110. package/dist/esm/map/theme-toggle-button.js +55 -0
  111. package/dist/esm/map-container.js +17 -6
  112. package/dist/esm/map-view-state-context.js +3 -3
  113. package/dist/esm/modal-container.js +3 -2
  114. package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
  115. package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
  116. package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
  117. package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
  118. package/dist/esm/modals/cloud-tile.js +82 -39
  119. package/dist/esm/modals/data-table-modal.js +38 -26
  120. package/dist/esm/modals/export-video-modal.js +29 -2
  121. package/dist/esm/modals/export-video-modal.spec.js +56 -10
  122. package/dist/esm/modals/globe-export-video-container.js +20 -4
  123. package/dist/esm/modals/globe-export-video-preview.js +26 -8
  124. package/dist/esm/modals/hubble-utils.js +8 -3
  125. package/dist/esm/modals/image-modal-container.js +2 -2
  126. package/dist/esm/modals/load-data-modal.js +3 -3
  127. package/dist/esm/modals/load-storage-map.js +8 -3
  128. package/dist/esm/modals/save-map-modal.js +4 -3
  129. package/dist/esm/modals/share-map-modal.js +5 -4
  130. package/dist/esm/modals/swipe-composite-utils.js +9 -1
  131. package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
  132. package/dist/esm/modals/swipe-export-video-preview.js +8 -4
  133. package/dist/esm/plot-container.js +12 -5
  134. package/dist/esm/side-panel/common/dataset-info.js +2 -2
  135. package/dist/esm/side-panel/filter-panel/filter-panel.js +2 -2
  136. package/dist/esm/side-panel/layer-manager.js +11 -3
  137. package/dist/esm/side-panel/layer-panel/custom-palette.js +2 -2
  138. package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
  139. package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
  140. package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
  141. package/dist/index.d.ts +8 -0
  142. package/dist/kepler-gl.d.ts +3 -0
  143. package/dist/map/map-control.d.ts +6 -2
  144. package/dist/map/map-draw-panel.d.ts +1 -0
  145. package/dist/map/theme-toggle-button.d.ts +18 -0
  146. package/dist/map-container.d.ts +1 -0
  147. package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
  148. package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
  149. package/dist/modals/data-table-modal.d.ts +1 -0
  150. package/dist/modals/globe-export-video-container.d.ts +2 -0
  151. package/dist/modals/globe-export-video-preview.d.ts +3 -0
  152. package/dist/modals/hubble-utils.d.ts +2 -1
  153. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  154. package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
  155. package/package.json +20 -21
  156. package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
  157. package/dist/cjs/modals/storage-map-viewer.js +0 -98
  158. package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
  159. package/dist/esm/common/icons/arrow-down-solid.js +0 -34
  160. package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
  161. package/dist/esm/modals/storage-map-viewer.js +0 -93
  162. package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
  163. package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
  164. package/dist/modals/storage-map-viewer.d.ts +0 -21
  165. package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
@@ -298,7 +298,8 @@ export function getGlobeExportLayers(keplerState, _ref3) {
298
298
  var _keplerState$mapState3, _keplerState$mapStyle5;
299
299
  var mapIndex = _ref3.mapIndex,
300
300
  mapboxApiAccessToken = _ref3.mapboxApiAccessToken,
301
- mapboxApiUrl = _ref3.mapboxApiUrl;
301
+ mapboxApiUrl = _ref3.mapboxApiUrl,
302
+ viewState = _ref3.viewState;
302
303
  var globe = (_keplerState$mapState3 = keplerState.mapState) === null || _keplerState$mapState3 === void 0 ? void 0 : _keplerState$mapState3.globe;
303
304
  var globeBaseLayers = getGlobeBaseLayers({
304
305
  mapboxApiAccessToken: mapboxApiAccessToken || '',
@@ -308,7 +309,11 @@ export function getGlobeExportLayers(keplerState, _ref3) {
308
309
  var globeTopLayers = getGlobeTopLayers({
309
310
  globe: globe
310
311
  });
311
- var dataLayers = computeDeckLayers(keplerState, {
312
+ // Same as hubble createKeplerLayers: fold the animated camera into mapState so
313
+ // zoom-dependent props (scatterplot radiusScale) update each frame.
314
+ var dataLayers = computeDeckLayers(viewState ? _objectSpread(_objectSpread({}, keplerState), {}, {
315
+ mapState: _objectSpread(_objectSpread({}, keplerState.mapState), viewState)
316
+ }) : keplerState, {
312
317
  mapIndex: mapIndex,
313
318
  primaryMap: mapIndex === 0,
314
319
  mapboxApiAccessToken: mapboxApiAccessToken,
@@ -426,4 +431,4 @@ export function getResolutionSetting(value) {
426
431
  return r.value === value;
427
432
  }) || RESOLUTIONS[0];
428
433
  }
429
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYXBWaWV3IiwiV2ViTWVyY2F0b3JWaWV3cG9ydCIsIkRFRkFVTFRfTUFQQk9YX0FQSV9VUkwiLCJFTVBUWV9NQVBCT1hfU1RZTEUiLCJGSUxURVJfVklFV19UWVBFUyIsIkZJTFRFUl9UWVBFUyIsIkdMT0JFX01JTl9aT09NIiwiR0xPQkVfTUFYX1pPT00iLCJnZXRMYXllckJsZW5kaW5nUGFyYW1ldGVycyIsImdldEJhc2VNYXBMaWJyYXJ5IiwiZ2V0R2xvYmVCYXNlTGF5ZXJzIiwiZ2V0R2xvYmVUb3BMYXllcnMiLCJLZXBsZXJHbG9iZVZpZXciLCJjb21wdXRlRGVja0xheWVycyIsImlzTWFwYm94VVJMIiwidHJhbnNmb3JtTWFwYm94VXJsIiwicG9pbnQiLCJ0cmFuc2Zvcm1UcmFuc2xhdGUiLCJFWFBPUlRfREVDS19ERVZJQ0VfUFJPUFMiLCJ0eXBlIiwid2ViZ2wiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJkZWJ1ZyIsIkVYUE9SVF9PVkVSTEFZX0RFVklDRV9QUk9QUyIsInN0ZW5jaWwiLCJsaW5lYXIiLCJwIiwiaG9sZCIsImdldEtleUZyYW1lc0ZyZWUiLCJmaWx0ZXIiLCJkZWx0YSIsInZhbHVlIiwia2V5ZnJhbWVzIiwiZG9tYWluIiwiZWFzaW5ncyIsImdldFRpbWVSYW5nZUZpbHRlcktleWZyYW1lcyIsIl9yZWYiLCJ0aW1pbmdzIiwidGltZVJhbmdlIiwiRXJyb3IiLCJkdXJhdGlvbiIsImFuaW1hdGlvbldpbmRvdyIsIl90aW1lQmlucyRkYXRhSWQkIiwicGxvdFR5cGUiLCJ0aW1lQmlucyIsImRhdGFJZCIsImludGVydmFsIiwiYmlucyIsImxlbmd0aCIsIk1hdGgiLCJyb3VuZCIsIm1hcCIsIl8iLCJpZHgiLCJiaW4iLCJ4MCIsIngxIiwiZ2V0QmVmb3JlTGF5ZXJJZCIsInRvcE1hcFN0eWxlIiwiYm90dG9tTWFwU3R5bGUiLCJfdG9wTWFwU3R5bGUkbGF5ZXJzIiwiX2JvdHRvbU1hcFN0eWxlJGxheWVyIiwibGF5ZXJzIiwiZmlyc3RUb3BMYXllciIsImZpcnN0VG9wTGF5ZXJJZHgiLCJmaW5kSW5kZXgiLCJsYXllciIsImlkIiwiYmVmb3JlSWR4IiwiZ2V0U3RhdGljTWFwUHJvcHMiLCJrZXBsZXJTdGF0ZSIsIm9uVmlld0NoYW5nZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlIiwiX2tlcGxlclN0YXRlJG1hcFN0YXRlIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlMiIsIl9rZXBsZXJTdGF0ZSRtYXBTdHlsZTMiLCJtYXBib3hBcGlVcmwiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJjdXJyZW50U3R5bGUiLCJtYXBTdHlsZSIsIm1hcFN0eWxlcyIsInN0eWxlVHlwZSIsImFjY2Vzc1Rva2VuIiwiaXNNYXBib3giLCJpc0dsb2JlIiwiQm9vbGVhbiIsIm1hcFN0YXRlIiwiZ2xvYmUiLCJlbmFibGVkIiwibWFwYm94VHJhbnNmb3JtUmVxdWVzdCIsInVybCIsInJlc291cmNlVHlwZSIsImNvbnZlcnRNYXBib3hTdHlsZVVybHMiLCJfb2JqZWN0U3ByZWFkIiwidHJhbnNmb3JtUmVxdWVzdCIsIm9uVmlld3BvcnRDaGFuZ2UiLCJtYXBMaWIiLCJzdHlsZSIsIl90eXBlb2YiLCJjb252ZXJ0ZWQiLCJzcHJpdGUiLCJfdHJhbnNmb3JtTWFwYm94VXJsIiwiZ2x5cGhzIiwiX3RyYW5zZm9ybU1hcGJveFVybDIiLCJzb3VyY2VzIiwibmV3U291cmNlcyIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5Iiwia2V5Iiwic291cmNlIiwiX3RyYW5zZm9ybU1hcGJveFVybDMiLCJnZXRIdWJibGVQYXJhbWV0ZXJzIiwidmlzU3RhdGUiLCJsYXllckJsZW5kaW5nIiwiZ2V0SHViYmxlRGVja0dsUHJvcHMiLCJfa2VwbGVyU3RhdGUkbWFwU3RhdGUyIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlNCIsInBhcmFtZXRlcnMiLCJjb250cm9sbGVyIiwidmlld3MiLCJmYXJaTXVsdGlwbGllciIsImdsb2JlQmFzZUxheWVycyIsIm1hcFN0eWxlVHlwZSIsImdsb2JlVG9wTGF5ZXJzIiwiZGF0YUxheWVycyIsInByaW1hcnlNYXAiLCJfcmVmMiIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwiem9vbSIsInBpdGNoIiwiYmVhcmluZyIsImluaXRpYWxWaWV3U3RhdGUiLCJtaW5ab29tIiwibWF4Wm9vbSIsImN1bGwiLCJyZXNvbHV0aW9uIiwiY2xlYXIiLCJjbGVhckNvbG9yIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZ2V0R2xvYmVFeHBvcnRMYXllcnMiLCJfcmVmMyIsIl9rZXBsZXJTdGF0ZSRtYXBTdGF0ZTMiLCJfa2VwbGVyU3RhdGUkbWFwU3R5bGU1IiwibWFwSW5kZXgiLCJnZXRBbmltYXRhYmxlRmlsdGVycyIsIl9rZXBsZXJTdGF0ZSR2aXNTdGF0ZSIsImZpbHRlcnMiLCJmIiwidmlldyIsImVubGFyZ2VkIiwic3luY2VkV2l0aExheWVyVGltZWxpbmUiLCJzY2FsZVRvVmlkZW9FeHBvcnQiLCJ2aWV3U3RhdGUiLCJjb250YWluZXIiLCJ2aWV3cG9ydCIsIm53IiwidW5wcm9qZWN0Iiwic2UiLCJ3aWR0aCIsImhlaWdodCIsInZpZGVvVmlld3BvcnQiLCJmaXRCb3VuZHMiLCJhbHRpdHVkZSIsImUiLCJwYXJzZVNldENhbWVyYVR5cGUiLCJzdHJDYW1lcmFUeXBlIiwibW9kaWZpZWRWaWV3U3RhdGUiLCJtYXRjaCIsInR1cmZQb2ludCIsInBhcnNlSW50IiwiZGlyZWN0aW9ucyIsIlNldCIsImhhcyIsImRpcmVjdGlvbk1hcCIsIkVhc3QiLCJTb3V0aCIsIldlc3QiLCJOb3J0aCIsInRyYW5zbGF0ZWRQb2x5IiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsIlJFU09MVVRJT05TIiwibGFiZWwiLCJnZXRSZXNvbHV0aW9uU2V0dGluZyIsImZpbmQiLCJyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGFscy9odWJibGUtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtNYXBWaWV3LCBXZWJNZXJjYXRvclZpZXdwb3J0LCB0eXBlIE1hcFZpZXdTdGF0ZX0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1xuICBERUZBVUxUX01BUEJPWF9BUElfVVJMLFxuICBFTVBUWV9NQVBCT1hfU1RZTEUsXG4gIEZJTFRFUl9WSUVXX1RZUEVTLFxuICBGSUxURVJfVFlQRVMsXG4gIEdMT0JFX01JTl9aT09NLFxuICBHTE9CRV9NQVhfWk9PTVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldExheWVyQmxlbmRpbmdQYXJhbWV0ZXJzLCBnZXRCYXNlTWFwTGlicmFyeX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2dldEdsb2JlQmFzZUxheWVycywgZ2V0R2xvYmVUb3BMYXllcnMsIEtlcGxlckdsb2JlVmlld30gZnJvbSAnQGtlcGxlci5nbC9kZWNrZ2wtbGF5ZXJzJztcbmltcG9ydCB7Y29tcHV0ZURlY2tMYXllcnN9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtpc01hcGJveFVSTCwgdHJhbnNmb3JtTWFwYm94VXJsfSBmcm9tICdtYXBsaWJyZWdsLW1hcGJveC1yZXF1ZXN0LXRyYW5zZm9ybWVyJztcbmltcG9ydCB7cG9pbnR9IGZyb20gJ0B0dXJmL2hlbHBlcnMnO1xuaW1wb3J0IHt0cmFuc2Zvcm1UcmFuc2xhdGV9IGZyb20gJ0B0dXJmL3RyYW5zZm9ybS10cmFuc2xhdGUnO1xuaW1wb3J0IHtUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIEtlcGxlclN0YXRlID0ge1xuICB2aXNTdGF0ZTogYW55O1xuICBtYXBTdGF0ZTogYW55O1xuICBtYXBTdHlsZTogYW55O1xufTtcblxudHlwZSBNYXBib3hMYXllclJlZiA9IHtcbiAgaWQ6IHN0cmluZztcbn0gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vLyBsdW1hLmdsIGRlZmF1bHRzIGBkZWJ1Z2AgdG8gdHJ1ZSB3aGVuZXZlciBOT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLCB3aGljaFxuLy8gaW5zdHJ1bWVudHMgZXZlcnkgcmVuZGVyIHBhc3Mgd2l0aCBhIFRJTUVfRUxBUFNFRF9FWFQgdGltZXIgcXVlcnkuIFdlYkdMMiBvbmx5XG4vLyBhbGxvd3Mgb25lIHN1Y2ggcXVlcnkgdG8gYmUgYWN0aXZlIGF0IGEgdGltZSwgYW5kIHRoZSBnbG9iZSBleHBvcnQgcmVuZGVyc1xuLy8gc2V2ZXJhbCBwYXNzZXMgcGVyIGZyYW1lLCBzbyB0aGUgZGVidWcgY29udGV4dCB0aHJvd3MgSU5WQUxJRF9PUEVSQVRJT04gYW5kXG4vLyB0YWtlcyB0aGUgd2hvbGUgZXhwb3J0IG1vZGFsIGRvd24uIEV4cG9ydCBwcmV2aWV3cyBhcmUgdGhyb3dhd2F5IHJlbmRlclxuLy8gdGFyZ2V0cyB0aGF0IGRvbid0IG5lZWQgdGhlIHZhbGlkYXRpb24gbGF5ZXIuXG5cbi8qKiBEZXZpY2UgcHJvcHMgZm9yIGV4cG9ydCBwcmV2aWV3cyB0aGF0IG93biB0aGVpciBjYW52YXMgYW5kIHJlYWQgcGl4ZWxzIGJhY2sgb2ZmIGl0LiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9ERUNLX0RFVklDRV9QUk9QUyA9IHtcbiAgdHlwZTogJ3dlYmdsJyBhcyBjb25zdCxcbiAgd2ViZ2w6IHtwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWV9LFxuICBkZWJ1ZzogZmFsc2Vcbn07XG5cbi8qKiBEZXZpY2UgcHJvcHMgZm9yIGV4cG9ydCBwcmV2aWV3cyB0aGF0IGRyYXcgYXMgYW4gb3ZlcmxheSBvbiB0b3Agb2YgYSBiYXNlbWFwLiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9PVkVSTEFZX0RFVklDRV9QUk9QUyA9IHtcbiAgdHlwZTogJ3dlYmdsJyBhcyBjb25zdCxcbiAgd2ViZ2w6IHtzdGVuY2lsOiB0cnVlfSxcbiAgZGVidWc6IGZhbHNlXG59O1xuXG5jb25zdCBsaW5lYXI6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gcDtcbmNvbnN0IGhvbGQ6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gKHAgPT09IDEgPyAxIDogMCk7XG5cbnR5cGUgVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzID0ge1xuICBrZXlmcmFtZXM6IHt2YWx1ZTogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyXX1bXTtcbiAgZWFzaW5nczogKHA6IG51bWJlcikgPT4gbnVtYmVyO1xuICB0aW1pbmdzPzogbnVtYmVyW107XG59O1xuXG5mdW5jdGlvbiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcjogVGltZVJhbmdlRmlsdGVyKTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgY29uc3QgZGVsdGEgPSBmaWx0ZXIudmFsdWVbMV0gLSBmaWx0ZXIudmFsdWVbMF07XG4gIHJldHVybiB7XG4gICAga2V5ZnJhbWVzOiBbXG4gICAgICB7dmFsdWU6IFtmaWx0ZXIuZG9tYWluWzBdLCBmaWx0ZXIuZG9tYWluWzBdICsgZGVsdGFdfSxcbiAgICAgIHt2YWx1ZTogW2ZpbHRlci5kb21haW5bMV0gLSBkZWx0YSwgZmlsdGVyLmRvbWFpblsxXV19XG4gICAgXSxcbiAgICBlYXNpbmdzOiBsaW5lYXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVSYW5nZUZpbHRlcktleWZyYW1lcyh7XG4gIGZpbHRlcixcbiAgdGltaW5nc1xufToge1xuICBmaWx0ZXI6IFRpbWVSYW5nZUZpbHRlcjtcbiAgdGltaW5nczogbnVtYmVyW107XG59KTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgaWYgKGZpbHRlci50eXBlICE9PSBGSUxURVJfVFlQRVMudGltZVJhbmdlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZmlsdGVyIHR5cGUgbXVzdCBiZSAndGltZVJhbmdlJy5cIik7XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IHRpbWluZ3NbMV0gLSB0aW1pbmdzWzBdO1xuXG4gIHN3aXRjaCAoZmlsdGVyLmFuaW1hdGlvbldpbmRvdykge1xuICAgIGRlZmF1bHQ6XG4gICAgY2FzZSAnZnJlZSc6IHtcbiAgICAgIHJldHVybiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcik7XG4gICAgfVxuICAgIGNhc2UgJ2luY3JlbWVudGFsJzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5ZnJhbWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIudmFsdWVbMF0gKyAxXX0sXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIuZG9tYWluWzFdXX1cbiAgICAgICAgXSxcbiAgICAgICAgZWFzaW5nczogbGluZWFyXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleWZyYW1lczogW3t2YWx1ZTogZmlsdGVyLmRvbWFpblswXX0sIHt2YWx1ZTogZmlsdGVyLmRvbWFpblsxXX1dLFxuICAgICAgICBlYXNpbmdzOiBsaW5lYXJcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgJ2ludGVydmFsJzoge1xuICAgICAgY29uc3Qge3Bsb3RUeXBlLCB0aW1lQmlucywgZGF0YUlkfSA9IGZpbHRlcjtcbiAgICAgIGNvbnN0IHtpbnRlcnZhbH0gPSBwbG90VHlwZTtcblxuICAgICAgY29uc3QgYmlucyA9IHRpbWVCaW5zPy5bZGF0YUlkWzBdXT8uW2ludGVydmFsXTtcblxuICAgICAgaWYgKCFpbnRlcnZhbCB8fCAhYmlucyB8fCBiaW5zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZ2V0S2V5RnJhbWVzRnJlZShmaWx0ZXIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGgucm91bmQoZHVyYXRpb24gLyBiaW5zLmxlbmd0aCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbWluZ3M6IGJpbnMubWFwKChfLCBpZHgpID0+IHRpbWluZ3NbMF0gKyBkZWx0YSAqIGlkeCksXG4gICAgICAgIGtleWZyYW1lczogYmlucy5tYXAoYmluID0+ICh7dmFsdWU6IFtiaW4ueDAsIGJpbi54MV19KSksXG4gICAgICAgIGVhc2luZ3M6IGhvbGRcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCZWZvcmVMYXllcklkKHRvcE1hcFN0eWxlOiBhbnksIGJvdHRvbU1hcFN0eWxlOiBhbnkpOiBNYXBib3hMYXllclJlZiB8IG51bGwge1xuICBpZiAodG9wTWFwU3R5bGU/LmxheWVycz8ubGVuZ3RoICYmIGJvdHRvbU1hcFN0eWxlPy5sYXllcnM/Lmxlbmd0aCkge1xuICAgIGNvbnN0IGZpcnN0VG9wTGF5ZXIgPSB0b3BNYXBTdHlsZS5sYXllcnNbMF07XG4gICAgY29uc3QgZmlyc3RUb3BMYXllcklkeCA9IGJvdHRvbU1hcFN0eWxlLmxheWVycy5maW5kSW5kZXgoXG4gICAgICAobGF5ZXI6IE1hcGJveExheWVyUmVmKSA9PiBsYXllci5pZCA9PT0gZmlyc3RUb3BMYXllci5pZFxuICAgICk7XG4gICAgY29uc3QgYmVmb3JlSWR4ID0gZmlyc3RUb3BMYXllcklkeCAtIDE7XG4gICAgcmV0dXJuIGJlZm9yZUlkeCA+IC0xID8gYm90dG9tTWFwU3R5bGUubGF5ZXJzW2JlZm9yZUlkeF0gOiBudWxsO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdGljTWFwUHJvcHMoXG4gIGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSxcbiAgb25WaWV3Q2hhbmdlOiAodmlld1N0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkLFxuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nLFxuICBtYXBib3hBcGlVcmw6IHN0cmluZyA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkxcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBjdXJyZW50U3R5bGUgPSBrZXBsZXJTdGF0ZS5tYXBTdHlsZT8ubWFwU3R5bGVzPy5ba2VwbGVyU3RhdGUubWFwU3R5bGUuc3R5bGVUeXBlXTtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBjdXJyZW50U3R5bGU/LmFjY2Vzc1Rva2VuIHx8IG1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICBjb25zdCBpc01hcGJveCA9IGdldEJhc2VNYXBMaWJyYXJ5KGN1cnJlbnRTdHlsZSkgPT09ICdtYXBib3gnO1xuICBjb25zdCBpc0dsb2JlID0gQm9vbGVhbihrZXBsZXJTdGF0ZS5tYXBTdGF0ZT8uZ2xvYmU/LmVuYWJsZWQpO1xuXG4gIGNvbnN0IG1hcGJveFRyYW5zZm9ybVJlcXVlc3QgPSAodXJsOiBzdHJpbmcsIHJlc291cmNlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzTWFwYm94VVJMKHVybCkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYXBib3hVcmwodXJsLCByZXNvdXJjZVR5cGUsIGFjY2Vzc1Rva2VuKTtcbiAgICB9XG4gICAgcmV0dXJuIHt1cmx9O1xuICB9O1xuXG4gIC8vIEluIGdsb2JlIG1vZGUgdGhlIGRlY2suZ2wgR2xvYmVWaWV3IHJlbmRlcnMgdGhlIHBsYW5ldCArIGJhc2VtYXAgdGlsZXMgYXNcbiAgLy8gZGVjayBsYXllcnMgb24gYSB0cmFuc3BhcmVudCBjYW52YXMsIHNvIHRoZSBmbGF0IG1hcGxpYnJlIGJhc2UgbWFwIG11c3QgYmVcbiAgLy8gc3VwcHJlc3NlZCAob3RoZXJ3aXNlIGEgMkQgTWVyY2F0b3IgYmFzZW1hcCB3b3VsZCByZW5kZXIgYmVoaW5kIHRoZSBnbG9iZSkuXG4gIGNvbnN0IGJvdHRvbU1hcFN0eWxlID0gaXNHbG9iZVxuICAgID8gRU1QVFlfTUFQQk9YX1NUWUxFXG4gICAgOiBpc01hcGJveFxuICAgID8gY29udmVydE1hcGJveFN0eWxlVXJscyhrZXBsZXJTdGF0ZS5tYXBTdHlsZT8uYm90dG9tTWFwU3R5bGUsIGFjY2Vzc1Rva2VuKVxuICAgIDoga2VwbGVyU3RhdGUubWFwU3R5bGU/LmJvdHRvbU1hcFN0eWxlO1xuXG4gIHJldHVybiB7XG4gICAgLi4ua2VwbGVyU3RhdGUubWFwU3RhdGUsXG4gICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBhY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmwsXG4gICAgdHJhbnNmb3JtUmVxdWVzdDogbWFwYm94VHJhbnNmb3JtUmVxdWVzdCxcbiAgICBtYXBTdHlsZTogYm90dG9tTWFwU3R5bGUsXG4gICAgb25WaWV3cG9ydENoYW5nZTogb25WaWV3Q2hhbmdlLFxuICAgIG1hcExpYjogaW1wb3J0KCdtYXBsaWJyZS1nbCcpXG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydCBtYXBib3g6Ly8gVVJMcyBpbnNpZGUgYSBNYXBib3ggc3R5bGUgb2JqZWN0IHRvIEhUVFBTIEFQSSBVUkxzXG4gKiBzbyB0aGF0IG1hcGxpYnJlLWdsIGNhbiBmZXRjaCB0aGVtIGRpcmVjdGx5LlxuICovXG5mdW5jdGlvbiBjb252ZXJ0TWFwYm94U3R5bGVVcmxzKHN0eWxlOiBhbnksIGFjY2Vzc1Rva2VuOiBzdHJpbmcpOiBhbnkge1xuICBpZiAoIXN0eWxlIHx8IHR5cGVvZiBzdHlsZSAhPT0gJ29iamVjdCcpIHJldHVybiBzdHlsZTtcblxuICBjb25zdCBjb252ZXJ0ZWQgPSB7Li4uc3R5bGV9O1xuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLnNwcml0ZSA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLnNwcml0ZSkpIHtcbiAgICBjb252ZXJ0ZWQuc3ByaXRlID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5zcHJpdGUsICdTcHJpdGUnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLmdseXBocyA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLmdseXBocykpIHtcbiAgICBjb252ZXJ0ZWQuZ2x5cGhzID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5nbHlwaHMsICdHbHlwaHMnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmIChjb252ZXJ0ZWQuc291cmNlcykge1xuICAgIGNvbnN0IG5ld1NvdXJjZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHNvdXJjZV0gb2YgT2JqZWN0LmVudHJpZXM8YW55Pihjb252ZXJ0ZWQuc291cmNlcykpIHtcbiAgICAgIGlmIChzb3VyY2U/LnVybCAmJiBpc01hcGJveFVSTChzb3VyY2UudXJsKSkge1xuICAgICAgICBuZXdTb3VyY2VzW2tleV0gPSB7XG4gICAgICAgICAgLi4uc291cmNlLFxuICAgICAgICAgIHVybDogdHJhbnNmb3JtTWFwYm94VXJsKHNvdXJjZS51cmwsICdTb3VyY2UnLCBhY2Nlc3NUb2tlbik/LnVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U291cmNlc1trZXldID0gc291cmNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWQuc291cmNlcyA9IG5ld1NvdXJjZXM7XG4gIH1cblxuICByZXR1cm4gY29udmVydGVkO1xufVxuXG5mdW5jdGlvbiBnZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICByZXR1cm4gZ2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMoa2VwbGVyU3RhdGUudmlzU3RhdGUubGF5ZXJCbGVuZGluZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIdWJibGVEZWNrR2xQcm9wcyhcbiAga2VwbGVyU3RhdGU6IEtlcGxlclN0YXRlLFxuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nLFxuICBtYXBib3hBcGlVcmw6IHN0cmluZyA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkxcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBnbG9iZSA9IGtlcGxlclN0YXRlLm1hcFN0YXRlPy5nbG9iZTtcbiAgY29uc3QgaXNHbG9iZSA9IEJvb2xlYW4oZ2xvYmU/LmVuYWJsZWQpO1xuXG4gIGlmICghaXNHbG9iZSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJhbWV0ZXJzOiBnZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlKSxcbiAgICAgIGNvbnRyb2xsZXI6IHRydWUsXG4gICAgICB2aWV3czogbmV3IE1hcFZpZXcoe1xuICAgICAgICBpZDogJ21hcGJveCcsXG4gICAgICAgIGZhclpNdWx0aXBsaWVyOiAxLjJcbiAgICAgIH0pXG4gICAgfTtcbiAgfVxuXG4gIC8vIEdsb2JlIHZpZGVvIGV4cG9ydDogbWlycm9yIHRoZSBpbnRlcmFjdGl2ZSBnbG9iZSByZW5kZXIgcGF0aCBpbiBtYXAtY29udGFpbmVyLlxuICAvLyAtIFVzZSBhIEdsb2JlVmlldyBzbyB0aGUgY2FtZXJhL3Byb2plY3Rpb24gY3VydmUgZGF0YSBhcm91bmQgdGhlIHNwaGVyZS5cbiAgLy8gLSBQcm92aWRlIGxheWVycyBleHBsaWNpdGx5IChnbG9iZSBiYXNlIGxheWVycyArIGtlcGxlciBkYXRhIGxheWVycyArIGdsb2JlXG4gIC8vICAgdG9wIGxheWVycykuIFdoZW4gYGRlY2tQcm9wcy5sYXllcnNgIGlzIHNldCwgaHViYmxlJ3MgcHJldmlldyB1c2VzIHRoZW1cbiAgLy8gICB2ZXJiYXRpbSAoc2tpcHBpbmcgaXRzIGludGVybmFsIDJELW9ubHkgY3JlYXRlS2VwbGVyTGF5ZXJzIHBhdGgpLCBhbmQgdGhlXG4gIC8vICAga2VwbGVyIGxheWVycyBhcmUgYnVpbHQgZnJvbSBgbWFwU3RhdGUuZ2xvYmVgLCBzbyBjb21wb3NpdGUgbGF5ZXJzIChlLmcuXG4gIC8vICAgdGhlIGhlYXRtYXApIGVtaXQgdGhlaXIgZ2xvYmUtY29uZm9ybWluZyBzdWJsYXllcnMuXG4gIGNvbnN0IGdsb2JlQmFzZUxheWVycyA9IGdldEdsb2JlQmFzZUxheWVycyh7XG4gICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VuIHx8ICcnLFxuICAgIGdsb2JlLFxuICAgIG1hcFN0eWxlVHlwZToga2VwbGVyU3RhdGUubWFwU3R5bGU/LnN0eWxlVHlwZVxuICB9KTtcbiAgY29uc3QgZ2xvYmVUb3BMYXllcnMgPSBnZXRHbG9iZVRvcExheWVycyh7Z2xvYmV9KTtcbiAgY29uc3QgZGF0YUxheWVycyA9IGNvbXB1dGVEZWNrTGF5ZXJzKGtlcGxlclN0YXRlLCB7XG4gICAgcHJpbWFyeU1hcDogdHJ1ZSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmxcbiAgfSk7XG5cbiAgLy8gaHViYmxlJ3MgdmlkZW8tZXhwb3J0IHByZXZpZXcgcmVuZGVycyBhIGJhcmUgPERlY2tHTD4gaW4gdGhlIGRpc2FibGVCYXNlTWFwXG4gIC8vIChnbG9iZSkgYnJhbmNoIGFuZCDigJQgdW5saWtlIGl0cyBtYXBib3ggYnJhbmNoIOKAlCBuZXZlciBmb3J3YXJkcyBhIHZpZXdTdGF0ZS5cbiAgLy8gV2l0aCBgY29udHJvbGxlcjogdHJ1ZWAgZGVjay5nbCB0aGVuIGNvbnN0cnVjdHMgYSBjb250cm9sbGVyIHN0YXRlIGZyb20gYW5cbiAgLy8gZW1wdHkgdmlldyBzdGF0ZSwgYW5kIEdsb2JlU3RhdGUvTWFwU3RhdGUgYXNzZXJ0IG9uIHRoZSBtaXNzaW5nXG4gIC8vIGxhdGl0dWRlL2xvbmdpdHVkZS96b29tIChcImFzc2VydGlvbiBmYWlsZWQgYXQgbmV3IE1hcFN0YXRlL0dsb2JlU3RhdGVcIikuXG4gIC8vIFRoYXQgZGVnZW5lcmF0ZSB2aWV3cG9ydCBhbHNvIGxlYXZlcyB0aWxlL01WVCBiYXNlIGxheWVycyBwZXJtYW5lbnRseVxuICAvLyBcIm5vdCBsb2FkZWRcIiwgc28gaHViYmxlJ3MgYGxheWVycy5ldmVyeShsID0+IGwuaXNMb2FkZWQpYCBjYXB0dXJlIGdhdGUgbmV2ZXJcbiAgLy8gZmlyZXMgYW5kIHRoZSBleHBvcnQgaGFuZ3MuIFByb3ZpZGUgYW4gZXhwbGljaXQgaW5pdGlhbFZpZXdTdGF0ZSAoZGVjay5nbFxuICAvLyB1c2VzIGl0IHRvIHNlZWQgdGhlIGNvbnRyb2xsZXIgd2hlbiBubyBjb250cm9sbGVkIHZpZXdTdGF0ZSBpcyBzdXBwbGllZCkgc29cbiAgLy8gdGhlIGdsb2JlIGNhbWVyYSBpcyB2YWxpZCwgdGlsZXMgcmVzb2x2ZSwgYW5kIGludGVyYWN0aW9uIHdvcmtzLlxuICBjb25zdCB7bG9uZ2l0dWRlLCBsYXRpdHVkZSwgem9vbSwgcGl0Y2gsIGJlYXJpbmd9ID0ga2VwbGVyU3RhdGUubWFwU3RhdGUgfHwge307XG4gIGNvbnN0IGluaXRpYWxWaWV3U3RhdGUgPSB7XG4gICAgbG9uZ2l0dWRlLFxuICAgIGxhdGl0dWRlLFxuICAgIHpvb20sXG4gICAgcGl0Y2g6IHBpdGNoIHx8IDAsXG4gICAgYmVhcmluZzogYmVhcmluZyB8fCAwLFxuICAgIG1pblpvb206IEdMT0JFX01JTl9aT09NLFxuICAgIG1heFpvb206IEdMT0JFX01BWF9aT09NXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAuLi5nZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlKSxcbiAgICAgIGN1bGw6IHRydWVcbiAgICB9LFxuICAgIC8vIE1hdGNoIHRoZSBpbnRlcmFjdGl2ZSBnbG9iZSBjb250cm9sbGVyIGJvdW5kcyBzbyBwYW5uaW5nL3pvb20gZmVlbHMgdGhlXG4gICAgLy8gc2FtZSBpbiB0aGUgcHJldmlldyBhcyBvbiB0aGUgbWFpbiBtYXAuXG4gICAgY29udHJvbGxlcjoge1xuICAgICAgbWluWm9vbTogR0xPQkVfTUlOX1pPT00sXG4gICAgICBtYXhab29tOiBHTE9CRV9NQVhfWk9PTVxuICAgIH0sXG4gICAgaW5pdGlhbFZpZXdTdGF0ZSxcbiAgICB2aWV3czogbmV3IEtlcGxlckdsb2JlVmlldyh7XG4gICAgICByZXNvbHV0aW9uOiA1LFxuICAgICAgLy8gY2xlYXJDb2xvcjpmYWxzZSAobm90IGEgc29saWQgY29sb3IpIGlzIGRlbGliZXJhdGUgYW5kIG1pcnJvcnMgdGhlXG4gICAgICAvLyBpbnRlcmFjdGl2ZSBtYXA6IGRlY2suZ2wgYXBwbGllcyBhIFZpZXcncyBjbGVhckNvbG9yIGluIEVWRVJZIHBhc3NcbiAgICAgIC8vIGluY2x1ZGluZyB0aGUgcGlja2luZyBwYXNzLCBmb3JjaW5nIGFscGhhIHRvIDI1NS4gSW4gdGhlIHBpY2tpbmcgYnVmZmVyXG4gICAgICAvLyB0aGUgYWxwaGEgYnl0ZSBlbmNvZGVzIHRoZSBsYXllciBpbmRleCwgc28gYSBzb2xpZCBjbGVhciBtYWtlcyBkZWNrLmdsXG4gICAgICAvLyBkZWNvZGUgZXZlcnkgcGl4ZWwgYXMgYSBub24tZXhpc3RlbnQgbGF5ZXIgKFwiUGlja2VkIG5vbi1leGlzdGVudCBsYXllci5cbiAgICAgIC8vIElzIHBpY2tpbmcgYnVmZmVyIGNvcnJ1cHQ/XCIpIHdoZW5ldmVyIHRoZSBjb250cm9sbGVyIHBpY2tzIG9uIGhvdmVyLlxuICAgICAgLy8gU2tpcHBpbmcgdGhlIGNvbG9yIGNsZWFyIGtlZXBzIHRoZSBwaWNraW5nIGJ1ZmZlcidzIDAgYWxwaGEgaW50YWN0OyB0aGVcbiAgICAgIC8vIHNwaGVyZSBpdHNlbGYgc3RheXMgb3BhcXVlIHZpYSB0aGUgZ2xvYmUtYmFja2dyb3VuZCBTb2xpZFBvbHlnb25MYXllci5cbiAgICAgIGNsZWFyOiB0cnVlLFxuICAgICAgY2xlYXJDb2xvcjogZmFsc2VcbiAgICB9KSxcbiAgICBsYXllcnM6IFsuLi5nbG9iZUJhc2VMYXllcnMsIC4uLmRhdGFMYXllcnMsIC4uLmdsb2JlVG9wTGF5ZXJzXVxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgZnJlc2ggc2V0IG9mIGdsb2JlIGxheWVycyAoYmFzZSArIGRhdGEgKyB0b3ApIGZvciBhIGdpdmVuIHNwbGl0LW1hcFxuICogaW5kZXguIFVzZWQgYnkgdGhlIHN3aXBlIGV4cG9ydCBwcmV2aWV3LCB3aGljaCBtb3VudHMgdHdvIGluZGVwZW5kZW50IERlY2tcbiAqIGluc3RhbmNlczogZWFjaCBzaWRlIG5lZWRzIGl0cyBPV04gbGF5ZXIgaW5zdGFuY2VzIChkZWNrLmdsIExheWVyIG9iamVjdHMgYXJlXG4gKiBzdGF0ZWZ1bCBhbmQgYm91bmQgdG8gYSBzaW5nbGUgRGVjaykgYW5kIGl0cyBvd24gYG1hcEluZGV4YCBzbyB0aGUgc3BsaXQtbWFwXG4gKiBsYXllciB2aXNpYmlsaXR5IGlzIHJlc3BlY3RlZCBvbiBlYWNoIGhhbGYgb2YgdGhlIHN3aXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmVFeHBvcnRMYXllcnMoXG4gIGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSxcbiAge1xuICAgIG1hcEluZGV4LFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgIG1hcGJveEFwaVVybFxuICB9OiB7bWFwSW5kZXg6IG51bWJlcjsgbWFwYm94QXBpQWNjZXNzVG9rZW4/OiBzdHJpbmc7IG1hcGJveEFwaVVybD86IHN0cmluZ31cbikge1xuICBjb25zdCBnbG9iZSA9IGtlcGxlclN0YXRlLm1hcFN0YXRlPy5nbG9iZTtcbiAgY29uc3QgZ2xvYmVCYXNlTGF5ZXJzID0gZ2V0R2xvYmVCYXNlTGF5ZXJzKHtcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogbWFwYm94QXBpQWNjZXNzVG9rZW4gfHwgJycsXG4gICAgZ2xvYmUsXG4gICAgbWFwU3R5bGVUeXBlOiBrZXBsZXJTdGF0ZS5tYXBTdHlsZT8uc3R5bGVUeXBlXG4gIH0pO1xuICBjb25zdCBnbG9iZVRvcExheWVycyA9IGdldEdsb2JlVG9wTGF5ZXJzKHtnbG9iZX0pO1xuICBjb25zdCBkYXRhTGF5ZXJzID0gY29tcHV0ZURlY2tMYXllcnMoa2VwbGVyU3RhdGUsIHtcbiAgICBtYXBJbmRleCxcbiAgICBwcmltYXJ5TWFwOiBtYXBJbmRleCA9PT0gMCxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmxcbiAgfSk7XG4gIHJldHVybiBbLi4uZ2xvYmVCYXNlTGF5ZXJzLCAuLi5kYXRhTGF5ZXJzLCAuLi5nbG9iZVRvcExheWVyc107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmltYXRhYmxlRmlsdGVycyhrZXBsZXJTdGF0ZTogS2VwbGVyU3RhdGUpOiBUaW1lUmFuZ2VGaWx0ZXJbXSB7XG4gIGNvbnN0IGZpbHRlcnMgPSBrZXBsZXJTdGF0ZS52aXNTdGF0ZT8uZmlsdGVycyB8fCBbXTtcbiAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKFxuICAgIChmOiBhbnkpID0+XG4gICAgICBmLnR5cGUgPT09IEZJTFRFUl9UWVBFUy50aW1lUmFuZ2UgJiZcbiAgICAgIChmLnZpZXcgPT09IEZJTFRFUl9WSUVXX1RZUEVTLmVubGFyZ2VkIHx8IGYuc3luY2VkV2l0aExheWVyVGltZWxpbmUpXG4gICk7XG59XG5cbi8vIC0tLSBWaWRlbyBleHBvcnQgdXRpbGl0aWVzIChpbmxpbmVkIGZyb20gQGh1YmJsZS5nbCBpbnRlcm5hbHMpIC0tLVxuXG5leHBvcnQgZnVuY3Rpb24gc2NhbGVUb1ZpZGVvRXhwb3J0KFxuICB2aWV3U3RhdGU6IE1hcFZpZXdTdGF0ZSxcbiAgY29udGFpbmVyOiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9XG4pOiBNYXBWaWV3U3RhdGUgJiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9IHtcbiAgLy8gSW4gZ2xvYmUgbW9kZSAoYW5kIGF0IGV4dHJlbWUgem9vbXMpIHRoZSBXZWJNZXJjYXRvclZpZXdwb3J0IHVzZWQgYmVsb3cgY2FuXG4gIC8vIHByb2R1Y2UgYSBub24taW52ZXJ0aWJsZSBwcm9qZWN0aW9uIG1hdHJpeCwgbWFraW5nIGB1bnByb2plY3RgIHRocm93LiBUaGVcbiAgLy8gTWVyY2F0b3IgZml0LWJvdW5kcyByZXNjYWxpbmcgb25seSBtYWtlcyBzZW5zZSBmb3IgdGhlIGZsYXQgTWFwVmlldyBhbnl3YXksXG4gIC8vIHNvIGZhbGwgYmFjayB0byBzaW1wbHkgcmVzaXppbmcgdGhlIHZpZXdwb3J0IHRvIHRoZSBleHBvcnQgY29udGFpbmVyLlxuICB0cnkge1xuICAgIGNvbnN0IHZpZXdwb3J0ID0gbmV3IFdlYk1lcmNhdG9yVmlld3BvcnQodmlld1N0YXRlKTtcbiAgICBjb25zdCBudyA9IHZpZXdwb3J0LnVucHJvamVjdChbMCwgMF0pIGFzIFtudW1iZXIsIG51bWJlcl07XG4gICAgY29uc3Qgc2UgPSB2aWV3cG9ydC51bnByb2plY3QoW3ZpZXdwb3J0LndpZHRoLCB2aWV3cG9ydC5oZWlnaHRdKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuICAgIGNvbnN0IHZpZGVvVmlld3BvcnQgPSBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydCh7XG4gICAgICAuLi52aWV3U3RhdGUsXG4gICAgICB3aWR0aDogY29udGFpbmVyLndpZHRoLFxuICAgICAgaGVpZ2h0OiBjb250YWluZXIuaGVpZ2h0XG4gICAgfSkuZml0Qm91bmRzKFtudywgc2VdKTtcbiAgICBjb25zdCB7aGVpZ2h0LCB3aWR0aCwgbGF0aXR1ZGUsIGxvbmdpdHVkZSwgem9vbSwgYWx0aXR1ZGV9ID0gdmlkZW9WaWV3cG9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0LFxuICAgICAgd2lkdGgsXG4gICAgICBsYXRpdHVkZSxcbiAgICAgIGxvbmdpdHVkZSxcbiAgICAgIHBpdGNoOiB2aWV3U3RhdGUucGl0Y2gsXG4gICAgICB6b29tLFxuICAgICAgYmVhcmluZzogdmlld1N0YXRlLmJlYXJpbmcsXG4gICAgICBhbHRpdHVkZVxuICAgIH0gYXMgYW55O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnZpZXdTdGF0ZSxcbiAgICAgIHdpZHRoOiBjb250YWluZXIud2lkdGgsXG4gICAgICBoZWlnaHQ6IGNvbnRhaW5lci5oZWlnaHRcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTZXRDYW1lcmFUeXBlKHN0ckNhbWVyYVR5cGU6IHN0cmluZywgdmlld1N0YXRlOiBNYXBWaWV3U3RhdGUpOiBNYXBWaWV3U3RhdGUge1xuICBjb25zdCBtb2RpZmllZFZpZXdTdGF0ZTogYW55ID0gey4uLnZpZXdTdGF0ZX07XG4gIGNvbnN0IG1hdGNoID0gc3RyQ2FtZXJhVHlwZS5tYXRjaCgvXFxiKD8hdG8pXFxiXFxTK1xcdy9nKTtcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIG1vZGlmaWVkVmlld1N0YXRlO1xuXG4gIGNvbnN0IHR1cmZQb2ludCA9IHBvaW50KFttb2RpZmllZFZpZXdTdGF0ZS5sb25naXR1ZGUsIG1vZGlmaWVkVmlld1N0YXRlLmxhdGl0dWRlXSk7XG5cbiAgaWYgKG1hdGNoWzBdID09PSAnT3JiaXQnKSB7XG4gICAgbW9kaWZpZWRWaWV3U3RhdGUuYmVhcmluZyA9IG1vZGlmaWVkVmlld1N0YXRlLmJlYXJpbmcgKyBwYXJzZUludChtYXRjaFsxXSwgMTApO1xuICB9XG5cbiAgY29uc3QgZGlyZWN0aW9ucyA9IG5ldyBTZXQoWydFYXN0JywgJ1NvdXRoJywgJ1dlc3QnLCAnTm9ydGgnXSk7XG4gIGlmIChkaXJlY3Rpb25zLmhhcyhtYXRjaFswXSkpIHtcbiAgICBjb25zdCBkaXJlY3Rpb25NYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7RWFzdDogMjcwLCBTb3V0aDogMCwgV2VzdDogOTAsIE5vcnRoOiAxODB9O1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRQb2x5ID0gdHJhbnNmb3JtVHJhbnNsYXRlKHR1cmZQb2ludCwgMTAsIGRpcmVjdGlvbk1hcFttYXRjaFswXV0pO1xuICAgIGlmIChtYXRjaFswXSA9PT0gJ0Vhc3QnIHx8IG1hdGNoWzBdID09PSAnV2VzdCcpIHtcbiAgICAgIG1vZGlmaWVkVmlld1N0YXRlLmxvbmdpdHVkZSA9IHRyYW5zbGF0ZWRQb2x5Lmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBtb2RpZmllZFZpZXdTdGF0ZS5sYXRpdHVkZSA9IHRyYW5zbGF0ZWRQb2x5Lmdlb21ldHJ5LmNvb3JkaW5hdGVzWzFdO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtYXRjaFswXSA9PT0gJ1pvb20nKSB7XG4gICAgbW9kaWZpZWRWaWV3U3RhdGUuem9vbSArPSBtYXRjaFsxXSA9PT0gJ0luJyA/IDMgOiAtMztcbiAgfVxuXG4gIHJldHVybiBtb2RpZmllZFZpZXdTdGF0ZTtcbn1cblxudHlwZSBSZXNvbHV0aW9uID0ge3ZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcblxuY29uc3QgUkVTT0xVVElPTlM6IFJlc29sdXRpb25bXSA9IFtcbiAge3ZhbHVlOiAnOTYweDU0MCcsIGxhYmVsOiAnR29vZCAoNTQwcCknLCB3aWR0aDogOTYwLCBoZWlnaHQ6IDU0MH0sXG4gIHt2YWx1ZTogJzEyODB4NzIwJywgbGFiZWw6ICdIaWdoICg3MjBwKScsIHdpZHRoOiAxMjgwLCBoZWlnaHQ6IDcyMH0sXG4gIHt2YWx1ZTogJzE5MjB4MTA4MCcsIGxhYmVsOiAnSGlnaGVzdCAoMTA4MHApJywgd2lkdGg6IDE5MjAsIGhlaWdodDogMTA4MH0sXG4gIHt2YWx1ZTogJzY0MHg0ODAnLCBsYWJlbDogJ0dvb2QgKDQ4MHApJywgd2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODB9LFxuICB7dmFsdWU6ICcxMjgweDk2MCcsIGxhYmVsOiAnSGlnaCAoOTYwcCknLCB3aWR0aDogMTI4MCwgaGVpZ2h0OiA5NjB9LFxuICB7dmFsdWU6ICcxOTIweDE0NDAnLCBsYWJlbDogJ0hpZ2hlc3QgKDE0NDBwKScsIHdpZHRoOiAxOTIwLCBoZWlnaHQ6IDE0NDB9XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb2x1dGlvblNldHRpbmcodmFsdWU6IHN0cmluZyk6IFJlc29sdXRpb24ge1xuICByZXR1cm4gUkVTT0xVVElPTlMuZmluZChyID0+IHIu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
434
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYXBWaWV3IiwiV2ViTWVyY2F0b3JWaWV3cG9ydCIsIkRFRkFVTFRfTUFQQk9YX0FQSV9VUkwiLCJFTVBUWV9NQVBCT1hfU1RZTEUiLCJGSUxURVJfVklFV19UWVBFUyIsIkZJTFRFUl9UWVBFUyIsIkdMT0JFX01JTl9aT09NIiwiR0xPQkVfTUFYX1pPT00iLCJnZXRMYXllckJsZW5kaW5nUGFyYW1ldGVycyIsImdldEJhc2VNYXBMaWJyYXJ5IiwiZ2V0R2xvYmVCYXNlTGF5ZXJzIiwiZ2V0R2xvYmVUb3BMYXllcnMiLCJLZXBsZXJHbG9iZVZpZXciLCJjb21wdXRlRGVja0xheWVycyIsImlzTWFwYm94VVJMIiwidHJhbnNmb3JtTWFwYm94VXJsIiwicG9pbnQiLCJ0cmFuc2Zvcm1UcmFuc2xhdGUiLCJFWFBPUlRfREVDS19ERVZJQ0VfUFJPUFMiLCJ0eXBlIiwid2ViZ2wiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJkZWJ1ZyIsIkVYUE9SVF9PVkVSTEFZX0RFVklDRV9QUk9QUyIsInN0ZW5jaWwiLCJsaW5lYXIiLCJwIiwiaG9sZCIsImdldEtleUZyYW1lc0ZyZWUiLCJmaWx0ZXIiLCJkZWx0YSIsInZhbHVlIiwia2V5ZnJhbWVzIiwiZG9tYWluIiwiZWFzaW5ncyIsImdldFRpbWVSYW5nZUZpbHRlcktleWZyYW1lcyIsIl9yZWYiLCJ0aW1pbmdzIiwidGltZVJhbmdlIiwiRXJyb3IiLCJkdXJhdGlvbiIsImFuaW1hdGlvbldpbmRvdyIsIl90aW1lQmlucyRkYXRhSWQkIiwicGxvdFR5cGUiLCJ0aW1lQmlucyIsImRhdGFJZCIsImludGVydmFsIiwiYmlucyIsImxlbmd0aCIsIk1hdGgiLCJyb3VuZCIsIm1hcCIsIl8iLCJpZHgiLCJiaW4iLCJ4MCIsIngxIiwiZ2V0QmVmb3JlTGF5ZXJJZCIsInRvcE1hcFN0eWxlIiwiYm90dG9tTWFwU3R5bGUiLCJfdG9wTWFwU3R5bGUkbGF5ZXJzIiwiX2JvdHRvbU1hcFN0eWxlJGxheWVyIiwibGF5ZXJzIiwiZmlyc3RUb3BMYXllciIsImZpcnN0VG9wTGF5ZXJJZHgiLCJmaW5kSW5kZXgiLCJsYXllciIsImlkIiwiYmVmb3JlSWR4IiwiZ2V0U3RhdGljTWFwUHJvcHMiLCJrZXBsZXJTdGF0ZSIsIm9uVmlld0NoYW5nZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlIiwiX2tlcGxlclN0YXRlJG1hcFN0YXRlIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlMiIsIl9rZXBsZXJTdGF0ZSRtYXBTdHlsZTMiLCJtYXBib3hBcGlVcmwiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJjdXJyZW50U3R5bGUiLCJtYXBTdHlsZSIsIm1hcFN0eWxlcyIsInN0eWxlVHlwZSIsImFjY2Vzc1Rva2VuIiwiaXNNYXBib3giLCJpc0dsb2JlIiwiQm9vbGVhbiIsIm1hcFN0YXRlIiwiZ2xvYmUiLCJlbmFibGVkIiwibWFwYm94VHJhbnNmb3JtUmVxdWVzdCIsInVybCIsInJlc291cmNlVHlwZSIsImNvbnZlcnRNYXBib3hTdHlsZVVybHMiLCJfb2JqZWN0U3ByZWFkIiwidHJhbnNmb3JtUmVxdWVzdCIsIm9uVmlld3BvcnRDaGFuZ2UiLCJtYXBMaWIiLCJzdHlsZSIsIl90eXBlb2YiLCJjb252ZXJ0ZWQiLCJzcHJpdGUiLCJfdHJhbnNmb3JtTWFwYm94VXJsIiwiZ2x5cGhzIiwiX3RyYW5zZm9ybU1hcGJveFVybDIiLCJzb3VyY2VzIiwibmV3U291cmNlcyIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5Iiwia2V5Iiwic291cmNlIiwiX3RyYW5zZm9ybU1hcGJveFVybDMiLCJnZXRIdWJibGVQYXJhbWV0ZXJzIiwidmlzU3RhdGUiLCJsYXllckJsZW5kaW5nIiwiZ2V0SHViYmxlRGVja0dsUHJvcHMiLCJfa2VwbGVyU3RhdGUkbWFwU3RhdGUyIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlNCIsInBhcmFtZXRlcnMiLCJjb250cm9sbGVyIiwidmlld3MiLCJmYXJaTXVsdGlwbGllciIsImdsb2JlQmFzZUxheWVycyIsIm1hcFN0eWxlVHlwZSIsImdsb2JlVG9wTGF5ZXJzIiwiZGF0YUxheWVycyIsInByaW1hcnlNYXAiLCJfcmVmMiIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwiem9vbSIsInBpdGNoIiwiYmVhcmluZyIsImluaXRpYWxWaWV3U3RhdGUiLCJtaW5ab29tIiwibWF4Wm9vbSIsImN1bGwiLCJyZXNvbHV0aW9uIiwiY2xlYXIiLCJjbGVhckNvbG9yIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZ2V0R2xvYmVFeHBvcnRMYXllcnMiLCJfcmVmMyIsIl9rZXBsZXJTdGF0ZSRtYXBTdGF0ZTMiLCJfa2VwbGVyU3RhdGUkbWFwU3R5bGU1IiwibWFwSW5kZXgiLCJ2aWV3U3RhdGUiLCJnZXRBbmltYXRhYmxlRmlsdGVycyIsIl9rZXBsZXJTdGF0ZSR2aXNTdGF0ZSIsImZpbHRlcnMiLCJmIiwidmlldyIsImVubGFyZ2VkIiwic3luY2VkV2l0aExheWVyVGltZWxpbmUiLCJzY2FsZVRvVmlkZW9FeHBvcnQiLCJjb250YWluZXIiLCJ2aWV3cG9ydCIsIm53IiwidW5wcm9qZWN0Iiwic2UiLCJ3aWR0aCIsImhlaWdodCIsInZpZGVvVmlld3BvcnQiLCJmaXRCb3VuZHMiLCJhbHRpdHVkZSIsImUiLCJwYXJzZVNldENhbWVyYVR5cGUiLCJzdHJDYW1lcmFUeXBlIiwibW9kaWZpZWRWaWV3U3RhdGUiLCJtYXRjaCIsInR1cmZQb2ludCIsInBhcnNlSW50IiwiZGlyZWN0aW9ucyIsIlNldCIsImhhcyIsImRpcmVjdGlvbk1hcCIsIkVhc3QiLCJTb3V0aCIsIldlc3QiLCJOb3J0aCIsInRyYW5zbGF0ZWRQb2x5IiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsIlJFU09MVVRJT05TIiwibGFiZWwiLCJnZXRSZXNvbHV0aW9uU2V0dGluZyIsImZpbmQiLCJyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGFscy9odWJibGUtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtNYXBWaWV3LCBXZWJNZXJjYXRvclZpZXdwb3J0LCB0eXBlIE1hcFZpZXdTdGF0ZX0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1xuICBERUZBVUxUX01BUEJPWF9BUElfVVJMLFxuICBFTVBUWV9NQVBCT1hfU1RZTEUsXG4gIEZJTFRFUl9WSUVXX1RZUEVTLFxuICBGSUxURVJfVFlQRVMsXG4gIEdMT0JFX01JTl9aT09NLFxuICBHTE9CRV9NQVhfWk9PTVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldExheWVyQmxlbmRpbmdQYXJhbWV0ZXJzLCBnZXRCYXNlTWFwTGlicmFyeX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2dldEdsb2JlQmFzZUxheWVycywgZ2V0R2xvYmVUb3BMYXllcnMsIEtlcGxlckdsb2JlVmlld30gZnJvbSAnQGtlcGxlci5nbC9kZWNrZ2wtbGF5ZXJzJztcbmltcG9ydCB7Y29tcHV0ZURlY2tMYXllcnN9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtpc01hcGJveFVSTCwgdHJhbnNmb3JtTWFwYm94VXJsfSBmcm9tICdtYXBsaWJyZWdsLW1hcGJveC1yZXF1ZXN0LXRyYW5zZm9ybWVyJztcbmltcG9ydCB7cG9pbnR9IGZyb20gJ0B0dXJmL2hlbHBlcnMnO1xuaW1wb3J0IHt0cmFuc2Zvcm1UcmFuc2xhdGV9IGZyb20gJ0B0dXJmL3RyYW5zZm9ybS10cmFuc2xhdGUnO1xuaW1wb3J0IHtUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIEtlcGxlclN0YXRlID0ge1xuICB2aXNTdGF0ZTogYW55O1xuICBtYXBTdGF0ZTogYW55O1xuICBtYXBTdHlsZTogYW55O1xufTtcblxudHlwZSBNYXBib3hMYXllclJlZiA9IHtcbiAgaWQ6IHN0cmluZztcbn0gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vLyBsdW1hLmdsIGRlZmF1bHRzIGBkZWJ1Z2AgdG8gdHJ1ZSB3aGVuZXZlciBOT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLCB3aGljaFxuLy8gaW5zdHJ1bWVudHMgZXZlcnkgcmVuZGVyIHBhc3Mgd2l0aCBhIFRJTUVfRUxBUFNFRF9FWFQgdGltZXIgcXVlcnkuIFdlYkdMMiBvbmx5XG4vLyBhbGxvd3Mgb25lIHN1Y2ggcXVlcnkgdG8gYmUgYWN0aXZlIGF0IGEgdGltZSwgYW5kIHRoZSBnbG9iZSBleHBvcnQgcmVuZGVyc1xuLy8gc2V2ZXJhbCBwYXNzZXMgcGVyIGZyYW1lLCBzbyB0aGUgZGVidWcgY29udGV4dCB0aHJvd3MgSU5WQUxJRF9PUEVSQVRJT04gYW5kXG4vLyB0YWtlcyB0aGUgd2hvbGUgZXhwb3J0IG1vZGFsIGRvd24uIEV4cG9ydCBwcmV2aWV3cyBhcmUgdGhyb3dhd2F5IHJlbmRlclxuLy8gdGFyZ2V0cyB0aGF0IGRvbid0IG5lZWQgdGhlIHZhbGlkYXRpb24gbGF5ZXIuXG5cbi8qKiBEZXZpY2UgcHJvcHMgZm9yIGV4cG9ydCBwcmV2aWV3cyB0aGF0IG93biB0aGVpciBjYW52YXMgYW5kIHJlYWQgcGl4ZWxzIGJhY2sgb2ZmIGl0LiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9ERUNLX0RFVklDRV9QUk9QUyA9IHtcbiAgdHlwZTogJ3dlYmdsJyBhcyBjb25zdCxcbiAgd2ViZ2w6IHtwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWV9LFxuICBkZWJ1ZzogZmFsc2Vcbn07XG5cbi8qKiBEZXZpY2UgcHJvcHMgZm9yIGV4cG9ydCBwcmV2aWV3cyB0aGF0IGRyYXcgYXMgYW4gb3ZlcmxheSBvbiB0b3Agb2YgYSBiYXNlbWFwLiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9PVkVSTEFZX0RFVklDRV9QUk9QUyA9IHtcbiAgdHlwZTogJ3dlYmdsJyBhcyBjb25zdCxcbiAgd2ViZ2w6IHtzdGVuY2lsOiB0cnVlfSxcbiAgZGVidWc6IGZhbHNlXG59O1xuXG5jb25zdCBsaW5lYXI6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gcDtcbmNvbnN0IGhvbGQ6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gKHAgPT09IDEgPyAxIDogMCk7XG5cbnR5cGUgVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzID0ge1xuICBrZXlmcmFtZXM6IHt2YWx1ZTogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyXX1bXTtcbiAgZWFzaW5nczogKHA6IG51bWJlcikgPT4gbnVtYmVyO1xuICB0aW1pbmdzPzogbnVtYmVyW107XG59O1xuXG5mdW5jdGlvbiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcjogVGltZVJhbmdlRmlsdGVyKTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgY29uc3QgZGVsdGEgPSBmaWx0ZXIudmFsdWVbMV0gLSBmaWx0ZXIudmFsdWVbMF07XG4gIHJldHVybiB7XG4gICAga2V5ZnJhbWVzOiBbXG4gICAgICB7dmFsdWU6IFtmaWx0ZXIuZG9tYWluWzBdLCBmaWx0ZXIuZG9tYWluWzBdICsgZGVsdGFdfSxcbiAgICAgIHt2YWx1ZTogW2ZpbHRlci5kb21haW5bMV0gLSBkZWx0YSwgZmlsdGVyLmRvbWFpblsxXV19XG4gICAgXSxcbiAgICBlYXNpbmdzOiBsaW5lYXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVSYW5nZUZpbHRlcktleWZyYW1lcyh7XG4gIGZpbHRlcixcbiAgdGltaW5nc1xufToge1xuICBmaWx0ZXI6IFRpbWVSYW5nZUZpbHRlcjtcbiAgdGltaW5nczogbnVtYmVyW107XG59KTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgaWYgKGZpbHRlci50eXBlICE9PSBGSUxURVJfVFlQRVMudGltZVJhbmdlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZmlsdGVyIHR5cGUgbXVzdCBiZSAndGltZVJhbmdlJy5cIik7XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IHRpbWluZ3NbMV0gLSB0aW1pbmdzWzBdO1xuXG4gIHN3aXRjaCAoZmlsdGVyLmFuaW1hdGlvbldpbmRvdykge1xuICAgIGRlZmF1bHQ6XG4gICAgY2FzZSAnZnJlZSc6IHtcbiAgICAgIHJldHVybiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcik7XG4gICAgfVxuICAgIGNhc2UgJ2luY3JlbWVudGFsJzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5ZnJhbWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIudmFsdWVbMF0gKyAxXX0sXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIuZG9tYWluWzFdXX1cbiAgICAgICAgXSxcbiAgICAgICAgZWFzaW5nczogbGluZWFyXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleWZyYW1lczogW3t2YWx1ZTogZmlsdGVyLmRvbWFpblswXX0sIHt2YWx1ZTogZmlsdGVyLmRvbWFpblsxXX1dLFxuICAgICAgICBlYXNpbmdzOiBsaW5lYXJcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgJ2ludGVydmFsJzoge1xuICAgICAgY29uc3Qge3Bsb3RUeXBlLCB0aW1lQmlucywgZGF0YUlkfSA9IGZpbHRlcjtcbiAgICAgIGNvbnN0IHtpbnRlcnZhbH0gPSBwbG90VHlwZTtcblxuICAgICAgY29uc3QgYmlucyA9IHRpbWVCaW5zPy5bZGF0YUlkWzBdXT8uW2ludGVydmFsXTtcblxuICAgICAgaWYgKCFpbnRlcnZhbCB8fCAhYmlucyB8fCBiaW5zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZ2V0S2V5RnJhbWVzRnJlZShmaWx0ZXIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGgucm91bmQoZHVyYXRpb24gLyBiaW5zLmxlbmd0aCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbWluZ3M6IGJpbnMubWFwKChfLCBpZHgpID0+IHRpbWluZ3NbMF0gKyBkZWx0YSAqIGlkeCksXG4gICAgICAgIGtleWZyYW1lczogYmlucy5tYXAoYmluID0+ICh7dmFsdWU6IFtiaW4ueDAsIGJpbi54MV19KSksXG4gICAgICAgIGVhc2luZ3M6IGhvbGRcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCZWZvcmVMYXllcklkKHRvcE1hcFN0eWxlOiBhbnksIGJvdHRvbU1hcFN0eWxlOiBhbnkpOiBNYXBib3hMYXllclJlZiB8IG51bGwge1xuICBpZiAodG9wTWFwU3R5bGU/LmxheWVycz8ubGVuZ3RoICYmIGJvdHRvbU1hcFN0eWxlPy5sYXllcnM/Lmxlbmd0aCkge1xuICAgIGNvbnN0IGZpcnN0VG9wTGF5ZXIgPSB0b3BNYXBTdHlsZS5sYXllcnNbMF07XG4gICAgY29uc3QgZmlyc3RUb3BMYXllcklkeCA9IGJvdHRvbU1hcFN0eWxlLmxheWVycy5maW5kSW5kZXgoXG4gICAgICAobGF5ZXI6IE1hcGJveExheWVyUmVmKSA9PiBsYXllci5pZCA9PT0gZmlyc3RUb3BMYXllci5pZFxuICAgICk7XG4gICAgY29uc3QgYmVmb3JlSWR4ID0gZmlyc3RUb3BMYXllcklkeCAtIDE7XG4gICAgcmV0dXJuIGJlZm9yZUlkeCA+IC0xID8gYm90dG9tTWFwU3R5bGUubGF5ZXJzW2JlZm9yZUlkeF0gOiBudWxsO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdGljTWFwUHJvcHMoXG4gIGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSxcbiAgb25WaWV3Q2hhbmdlOiAodmlld1N0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkLFxuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nLFxuICBtYXBib3hBcGlVcmw6IHN0cmluZyA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkxcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBjdXJyZW50U3R5bGUgPSBrZXBsZXJTdGF0ZS5tYXBTdHlsZT8ubWFwU3R5bGVzPy5ba2VwbGVyU3RhdGUubWFwU3R5bGUuc3R5bGVUeXBlXTtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBjdXJyZW50U3R5bGU/LmFjY2Vzc1Rva2VuIHx8IG1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICBjb25zdCBpc01hcGJveCA9IGdldEJhc2VNYXBMaWJyYXJ5KGN1cnJlbnRTdHlsZSkgPT09ICdtYXBib3gnO1xuICBjb25zdCBpc0dsb2JlID0gQm9vbGVhbihrZXBsZXJTdGF0ZS5tYXBTdGF0ZT8uZ2xvYmU/LmVuYWJsZWQpO1xuXG4gIGNvbnN0IG1hcGJveFRyYW5zZm9ybVJlcXVlc3QgPSAodXJsOiBzdHJpbmcsIHJlc291cmNlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzTWFwYm94VVJMKHVybCkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYXBib3hVcmwodXJsLCByZXNvdXJjZVR5cGUsIGFjY2Vzc1Rva2VuKTtcbiAgICB9XG4gICAgcmV0dXJuIHt1cmx9O1xuICB9O1xuXG4gIC8vIEluIGdsb2JlIG1vZGUgdGhlIGRlY2suZ2wgR2xvYmVWaWV3IHJlbmRlcnMgdGhlIHBsYW5ldCArIGJhc2VtYXAgdGlsZXMgYXNcbiAgLy8gZGVjayBsYXllcnMgb24gYSB0cmFuc3BhcmVudCBjYW52YXMsIHNvIHRoZSBmbGF0IG1hcGxpYnJlIGJhc2UgbWFwIG11c3QgYmVcbiAgLy8gc3VwcHJlc3NlZCAob3RoZXJ3aXNlIGEgMkQgTWVyY2F0b3IgYmFzZW1hcCB3b3VsZCByZW5kZXIgYmVoaW5kIHRoZSBnbG9iZSkuXG4gIGNvbnN0IGJvdHRvbU1hcFN0eWxlID0gaXNHbG9iZVxuICAgID8gRU1QVFlfTUFQQk9YX1NUWUxFXG4gICAgOiBpc01hcGJveFxuICAgID8gY29udmVydE1hcGJveFN0eWxlVXJscyhrZXBsZXJTdGF0ZS5tYXBTdHlsZT8uYm90dG9tTWFwU3R5bGUsIGFjY2Vzc1Rva2VuKVxuICAgIDoga2VwbGVyU3RhdGUubWFwU3R5bGU/LmJvdHRvbU1hcFN0eWxlO1xuXG4gIHJldHVybiB7XG4gICAgLi4ua2VwbGVyU3RhdGUubWFwU3RhdGUsXG4gICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBhY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmwsXG4gICAgdHJhbnNmb3JtUmVxdWVzdDogbWFwYm94VHJhbnNmb3JtUmVxdWVzdCxcbiAgICBtYXBTdHlsZTogYm90dG9tTWFwU3R5bGUsXG4gICAgb25WaWV3cG9ydENoYW5nZTogb25WaWV3Q2hhbmdlLFxuICAgIG1hcExpYjogaW1wb3J0KCdtYXBsaWJyZS1nbCcpXG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydCBtYXBib3g6Ly8gVVJMcyBpbnNpZGUgYSBNYXBib3ggc3R5bGUgb2JqZWN0IHRvIEhUVFBTIEFQSSBVUkxzXG4gKiBzbyB0aGF0IG1hcGxpYnJlLWdsIGNhbiBmZXRjaCB0aGVtIGRpcmVjdGx5LlxuICovXG5mdW5jdGlvbiBjb252ZXJ0TWFwYm94U3R5bGVVcmxzKHN0eWxlOiBhbnksIGFjY2Vzc1Rva2VuOiBzdHJpbmcpOiBhbnkge1xuICBpZiAoIXN0eWxlIHx8IHR5cGVvZiBzdHlsZSAhPT0gJ29iamVjdCcpIHJldHVybiBzdHlsZTtcblxuICBjb25zdCBjb252ZXJ0ZWQgPSB7Li4uc3R5bGV9O1xuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLnNwcml0ZSA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLnNwcml0ZSkpIHtcbiAgICBjb252ZXJ0ZWQuc3ByaXRlID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5zcHJpdGUsICdTcHJpdGUnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLmdseXBocyA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLmdseXBocykpIHtcbiAgICBjb252ZXJ0ZWQuZ2x5cGhzID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5nbHlwaHMsICdHbHlwaHMnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmIChjb252ZXJ0ZWQuc291cmNlcykge1xuICAgIGNvbnN0IG5ld1NvdXJjZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHNvdXJjZV0gb2YgT2JqZWN0LmVudHJpZXM8YW55Pihjb252ZXJ0ZWQuc291cmNlcykpIHtcbiAgICAgIGlmIChzb3VyY2U/LnVybCAmJiBpc01hcGJveFVSTChzb3VyY2UudXJsKSkge1xuICAgICAgICBuZXdTb3VyY2VzW2tleV0gPSB7XG4gICAgICAgICAgLi4uc291cmNlLFxuICAgICAgICAgIHVybDogdHJhbnNmb3JtTWFwYm94VXJsKHNvdXJjZS51cmwsICdTb3VyY2UnLCBhY2Nlc3NUb2tlbik/LnVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U291cmNlc1trZXldID0gc291cmNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWQuc291cmNlcyA9IG5ld1NvdXJjZXM7XG4gIH1cblxuICByZXR1cm4gY29udmVydGVkO1xufVxuXG5mdW5jdGlvbiBnZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICByZXR1cm4gZ2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMoa2VwbGVyU3RhdGUudmlzU3RhdGUubGF5ZXJCbGVuZGluZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIdWJibGVEZWNrR2xQcm9wcyhcbiAga2VwbGVyU3RhdGU6IEtlcGxlclN0YXRlLFxuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nLFxuICBtYXBib3hBcGlVcmw6IHN0cmluZyA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkxcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBnbG9iZSA9IGtlcGxlclN0YXRlLm1hcFN0YXRlPy5nbG9iZTtcbiAgY29uc3QgaXNHbG9iZSA9IEJvb2xlYW4oZ2xvYmU/LmVuYWJsZWQpO1xuXG4gIGlmICghaXNHbG9iZSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJhbWV0ZXJzOiBnZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlKSxcbiAgICAgIGNvbnRyb2xsZXI6IHRydWUsXG4gICAgICB2aWV3czogbmV3IE1hcFZpZXcoe1xuICAgICAgICBpZDogJ21hcGJveCcsXG4gICAgICAgIGZhclpNdWx0aXBsaWVyOiAxLjJcbiAgICAgIH0pXG4gICAgfTtcbiAgfVxuXG4gIC8vIEdsb2JlIHZpZGVvIGV4cG9ydDogbWlycm9yIHRoZSBpbnRlcmFjdGl2ZSBnbG9iZSByZW5kZXIgcGF0aCBpbiBtYXAtY29udGFpbmVyLlxuICAvLyAtIFVzZSBhIEdsb2JlVmlldyBzbyB0aGUgY2FtZXJhL3Byb2plY3Rpb24gY3VydmUgZGF0YSBhcm91bmQgdGhlIHNwaGVyZS5cbiAgLy8gLSBQcm92aWRlIGxheWVycyBleHBsaWNpdGx5IChnbG9iZSBiYXNlIGxheWVycyArIGtlcGxlciBkYXRhIGxheWVycyArIGdsb2JlXG4gIC8vICAgdG9wIGxheWVycykuIFdoZW4gYGRlY2tQcm9wcy5sYXllcnNgIGlzIHNldCwgaHViYmxlJ3MgcHJldmlldyB1c2VzIHRoZW1cbiAgLy8gICB2ZXJiYXRpbSAoc2tpcHBpbmcgaXRzIGludGVybmFsIDJELW9ubHkgY3JlYXRlS2VwbGVyTGF5ZXJzIHBhdGgpLCBhbmQgdGhlXG4gIC8vICAga2VwbGVyIGxheWVycyBhcmUgYnVpbHQgZnJvbSBgbWFwU3RhdGUuZ2xvYmVgLCBzbyBjb21wb3NpdGUgbGF5ZXJzIChlLmcuXG4gIC8vICAgdGhlIGhlYXRtYXApIGVtaXQgdGhlaXIgZ2xvYmUtY29uZm9ybWluZyBzdWJsYXllcnMuXG4gIGNvbnN0IGdsb2JlQmFzZUxheWVycyA9IGdldEdsb2JlQmFzZUxheWVycyh7XG4gICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VuIHx8ICcnLFxuICAgIGdsb2JlLFxuICAgIG1hcFN0eWxlVHlwZToga2VwbGVyU3RhdGUubWFwU3R5bGU/LnN0eWxlVHlwZVxuICB9KTtcbiAgY29uc3QgZ2xvYmVUb3BMYXllcnMgPSBnZXRHbG9iZVRvcExheWVycyh7Z2xvYmV9KTtcbiAgY29uc3QgZGF0YUxheWVycyA9IGNvbXB1dGVEZWNrTGF5ZXJzKGtlcGxlclN0YXRlLCB7XG4gICAgcHJpbWFyeU1hcDogdHJ1ZSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmxcbiAgfSk7XG5cbiAgLy8gaHViYmxlJ3MgdmlkZW8tZXhwb3J0IHByZXZpZXcgcmVuZGVycyBhIGJhcmUgPERlY2tHTD4gaW4gdGhlIGRpc2FibGVCYXNlTWFwXG4gIC8vIChnbG9iZSkgYnJhbmNoIGFuZCDigJQgdW5saWtlIGl0cyBtYXBib3ggYnJhbmNoIOKAlCBuZXZlciBmb3J3YXJkcyBhIHZpZXdTdGF0ZS5cbiAgLy8gV2l0aCBgY29udHJvbGxlcjogdHJ1ZWAgZGVjay5nbCB0aGVuIGNvbnN0cnVjdHMgYSBjb250cm9sbGVyIHN0YXRlIGZyb20gYW5cbiAgLy8gZW1wdHkgdmlldyBzdGF0ZSwgYW5kIEdsb2JlU3RhdGUvTWFwU3RhdGUgYXNzZXJ0IG9uIHRoZSBtaXNzaW5nXG4gIC8vIGxhdGl0dWRlL2xvbmdpdHVkZS96b29tIChcImFzc2VydGlvbiBmYWlsZWQgYXQgbmV3IE1hcFN0YXRlL0dsb2JlU3RhdGVcIikuXG4gIC8vIFRoYXQgZGVnZW5lcmF0ZSB2aWV3cG9ydCBhbHNvIGxlYXZlcyB0aWxlL01WVCBiYXNlIGxheWVycyBwZXJtYW5lbnRseVxuICAvLyBcIm5vdCBsb2FkZWRcIiwgc28gaHViYmxlJ3MgYGxheWVycy5ldmVyeShsID0+IGwuaXNMb2FkZWQpYCBjYXB0dXJlIGdhdGUgbmV2ZXJcbiAgLy8gZmlyZXMgYW5kIHRoZSBleHBvcnQgaGFuZ3MuIFByb3ZpZGUgYW4gZXhwbGljaXQgaW5pdGlhbFZpZXdTdGF0ZSAoZGVjay5nbFxuICAvLyB1c2VzIGl0IHRvIHNlZWQgdGhlIGNvbnRyb2xsZXIgd2hlbiBubyBjb250cm9sbGVkIHZpZXdTdGF0ZSBpcyBzdXBwbGllZCkgc29cbiAgLy8gdGhlIGdsb2JlIGNhbWVyYSBpcyB2YWxpZCwgdGlsZXMgcmVzb2x2ZSwgYW5kIGludGVyYWN0aW9uIHdvcmtzLlxuICBjb25zdCB7bG9uZ2l0dWRlLCBsYXRpdHVkZSwgem9vbSwgcGl0Y2gsIGJlYXJpbmd9ID0ga2VwbGVyU3RhdGUubWFwU3RhdGUgfHwge307XG4gIGNvbnN0IGluaXRpYWxWaWV3U3RhdGUgPSB7XG4gICAgbG9uZ2l0dWRlLFxuICAgIGxhdGl0dWRlLFxuICAgIHpvb20sXG4gICAgcGl0Y2g6IHBpdGNoIHx8IDAsXG4gICAgYmVhcmluZzogYmVhcmluZyB8fCAwLFxuICAgIG1pblpvb206IEdMT0JFX01JTl9aT09NLFxuICAgIG1heFpvb206IEdMT0JFX01BWF9aT09NXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAuLi5nZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlKSxcbiAgICAgIGN1bGw6IHRydWVcbiAgICB9LFxuICAgIC8vIE1hdGNoIHRoZSBpbnRlcmFjdGl2ZSBnbG9iZSBjb250cm9sbGVyIGJvdW5kcyBzbyBwYW5uaW5nL3pvb20gZmVlbHMgdGhlXG4gICAgLy8gc2FtZSBpbiB0aGUgcHJldmlldyBhcyBvbiB0aGUgbWFpbiBtYXAuXG4gICAgY29udHJvbGxlcjoge1xuICAgICAgbWluWm9vbTogR0xPQkVfTUlOX1pPT00sXG4gICAgICBtYXhab29tOiBHTE9CRV9NQVhfWk9PTVxuICAgIH0sXG4gICAgaW5pdGlhbFZpZXdTdGF0ZSxcbiAgICB2aWV3czogbmV3IEtlcGxlckdsb2JlVmlldyh7XG4gICAgICByZXNvbHV0aW9uOiA1LFxuICAgICAgLy8gY2xlYXJDb2xvcjpmYWxzZSAobm90IGEgc29saWQgY29sb3IpIGlzIGRlbGliZXJhdGUgYW5kIG1pcnJvcnMgdGhlXG4gICAgICAvLyBpbnRlcmFjdGl2ZSBtYXA6IGRlY2suZ2wgYXBwbGllcyBhIFZpZXcncyBjbGVhckNvbG9yIGluIEVWRVJZIHBhc3NcbiAgICAgIC8vIGluY2x1ZGluZyB0aGUgcGlja2luZyBwYXNzLCBmb3JjaW5nIGFscGhhIHRvIDI1NS4gSW4gdGhlIHBpY2tpbmcgYnVmZmVyXG4gICAgICAvLyB0aGUgYWxwaGEgYnl0ZSBlbmNvZGVzIHRoZSBsYXllciBpbmRleCwgc28gYSBzb2xpZCBjbGVhciBtYWtlcyBkZWNrLmdsXG4gICAgICAvLyBkZWNvZGUgZXZlcnkgcGl4ZWwgYXMgYSBub24tZXhpc3RlbnQgbGF5ZXIgKFwiUGlja2VkIG5vbi1leGlzdGVudCBsYXllci5cbiAgICAgIC8vIElzIHBpY2tpbmcgYnVmZmVyIGNvcnJ1cHQ/XCIpIHdoZW5ldmVyIHRoZSBjb250cm9sbGVyIHBpY2tzIG9uIGhvdmVyLlxuICAgICAgLy8gU2tpcHBpbmcgdGhlIGNvbG9yIGNsZWFyIGtlZXBzIHRoZSBwaWNraW5nIGJ1ZmZlcidzIDAgYWxwaGEgaW50YWN0OyB0aGVcbiAgICAgIC8vIHNwaGVyZSBpdHNlbGYgc3RheXMgb3BhcXVlIHZpYSB0aGUgZ2xvYmUtYmFja2dyb3VuZCBTb2xpZFBvbHlnb25MYXllci5cbiAgICAgIGNsZWFyOiB0cnVlLFxuICAgICAgY2xlYXJDb2xvcjogZmFsc2VcbiAgICB9KSxcbiAgICBsYXllcnM6IFsuLi5nbG9iZUJhc2VMYXllcnMsIC4uLmRhdGFMYXllcnMsIC4uLmdsb2JlVG9wTGF5ZXJzXVxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgZnJlc2ggc2V0IG9mIGdsb2JlIGxheWVycyAoYmFzZSArIGRhdGEgKyB0b3ApIGZvciBhIGdpdmVuIHNwbGl0LW1hcFxuICogaW5kZXguIFVzZWQgYnkgdGhlIHN3aXBlIGV4cG9ydCBwcmV2aWV3LCB3aGljaCBtb3VudHMgdHdvIGluZGVwZW5kZW50IERlY2tcbiAqIGluc3RhbmNlczogZWFjaCBzaWRlIG5lZWRzIGl0cyBPV04gbGF5ZXIgaW5zdGFuY2VzIChkZWNrLmdsIExheWVyIG9iamVjdHMgYXJlXG4gKiBzdGF0ZWZ1bCBhbmQgYm91bmQgdG8gYSBzaW5nbGUgRGVjaykgYW5kIGl0cyBvd24gYG1hcEluZGV4YCBzbyB0aGUgc3BsaXQtbWFwXG4gKiBsYXllciB2aXNpYmlsaXR5IGlzIHJlc3BlY3RlZCBvbiBlYWNoIGhhbGYgb2YgdGhlIHN3aXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmVFeHBvcnRMYXllcnMoXG4gIGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSxcbiAge1xuICAgIG1hcEluZGV4LFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgIG1hcGJveEFwaVVybCxcbiAgICB2aWV3U3RhdGVcbiAgfToge1xuICAgIG1hcEluZGV4OiBudW1iZXI7XG4gICAgbWFwYm94QXBpQWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gICAgbWFwYm94QXBpVXJsPzogc3RyaW5nO1xuICAgIHZpZXdTdGF0ZT86IE1hcFZpZXdTdGF0ZTtcbiAgfVxuKSB7XG4gIGNvbnN0IGdsb2JlID0ga2VwbGVyU3RhdGUubWFwU3RhdGU/Lmdsb2JlO1xuICBjb25zdCBnbG9iZUJhc2VMYXllcnMgPSBnZXRHbG9iZUJhc2VMYXllcnMoe1xuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBtYXBib3hBcGlBY2Nlc3NUb2tlbiB8fCAnJyxcbiAgICBnbG9iZSxcbiAgICBtYXBTdHlsZVR5cGU6IGtlcGxlclN0YXRlLm1hcFN0eWxlPy5zdHlsZVR5cGVcbiAgfSk7XG4gIGNvbnN0IGdsb2JlVG9wTGF5ZXJzID0gZ2V0R2xvYmVUb3BMYXllcnMoe2dsb2JlfSk7XG4gIC8vIFNhbWUgYXMgaHViYmxlIGNyZWF0ZUtlcGxlckxheWVyczogZm9sZCB0aGUgYW5pbWF0ZWQgY2FtZXJhIGludG8gbWFwU3RhdGUgc29cbiAgLy8gem9vbS1kZXBlbmRlbnQgcHJvcHMgKHNjYXR0ZXJwbG90IHJhZGl1c1NjYWxlKSB1cGRhdGUgZWFjaCBmcmFtZS5cbiAgY29uc3QgZGF0YUxheWVycyA9IGNvbXB1dGVEZWNrTGF5ZXJzKFxuICAgIHZpZXdTdGF0ZVxuICAgICAgPyB7Li4ua2VwbGVyU3RhdGUsIG1hcFN0YXRlOiB7Li4ua2VwbGVyU3RhdGUubWFwU3RhdGUsIC4uLnZpZXdTdGF0ZX19XG4gICAgICA6IGtlcGxlclN0YXRlLFxuICAgIHtcbiAgICAgIG1hcEluZGV4LFxuICAgICAgcHJpbWFyeU1hcDogbWFwSW5kZXggPT09IDAsXG4gICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgIG1hcGJveEFwaVVybFxuICAgIH1cbiAgKTtcbiAgcmV0dXJuIFsuLi5nbG9iZUJhc2VMYXllcnMsIC4uLmRhdGFMYXllcnMsIC4uLmdsb2JlVG9wTGF5ZXJzXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFuaW1hdGFibGVGaWx0ZXJzKGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSk6IFRpbWVSYW5nZUZpbHRlcltdIHtcbiAgY29uc3QgZmlsdGVycyA9IGtlcGxlclN0YXRlLnZpc1N0YXRlPy5maWx0ZXJzIHx8IFtdO1xuICByZXR1cm4gZmlsdGVycy5maWx0ZXIoXG4gICAgKGY6IGFueSkgPT5cbiAgICAgIGYudHlwZSA9PT0gRklMVEVSX1RZUEVTLnRpbWVSYW5nZSAmJlxuICAgICAgKGYudmlldyA9PT0gRklMVEVSX1ZJRVdfVFlQRVMuZW5sYXJnZWQgfHwgZi5zeW5jZWRXaXRoTGF5ZXJUaW1lbGluZSlcbiAgKTtcbn1cblxuLy8gLS0tIFZpZGVvIGV4cG9ydCB1dGlsaXRpZXMgKGlubGluZWQgZnJvbSBAaHViYmxlLmdsIGludGVybmFscykgLS0tXG5cbmV4cG9ydCBmdW5jdGlvbiBzY2FsZVRvVmlkZW9FeHBvcnQoXG4gIHZpZXdTdGF0ZTogTWFwVmlld1N0YXRlLFxuICBjb250YWluZXI6IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn1cbik6IE1hcFZpZXdTdGF0ZSAmIHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn0ge1xuICAvLyBJbiBnbG9iZSBtb2RlIChhbmQgYXQgZXh0cmVtZSB6b29tcykgdGhlIFdlYk1lcmNhdG9yVmlld3BvcnQgdXNlZCBiZWxvdyBjYW5cbiAgLy8gcHJvZHVjZSBhIG5vbi1pbnZlcnRpYmxlIHByb2plY3Rpb24gbWF0cml4LCBtYWtpbmcgYHVucHJvamVjdGAgdGhyb3cuIFRoZVxuICAvLyBNZXJjYXRvciBmaXQtYm91bmRzIHJlc2NhbGluZyBvbmx5IG1ha2VzIHNlbnNlIGZvciB0aGUgZmxhdCBNYXBWaWV3IGFueXdheSxcbiAgLy8gc28gZmFsbCBiYWNrIHRvIHNpbXBseSByZXNpemluZyB0aGUgdmlld3BvcnQgdG8gdGhlIGV4cG9ydCBjb250YWluZXIuXG4gIHRyeSB7XG4gICAgY29uc3Qgdmlld3BvcnQgPSBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydCh2aWV3U3RhdGUpO1xuICAgIGNvbnN0IG53ID0gdmlld3BvcnQudW5wcm9qZWN0KFswLCAwXSkgYXMgW251bWJlciwgbnVtYmVyXTtcbiAgICBjb25zdCBzZSA9IHZpZXdwb3J0LnVucHJvamVjdChbdmlld3BvcnQud2lkdGgsIHZpZXdwb3J0LmhlaWdodF0pIGFzIFtudW1iZXIsIG51bWJlcl07XG4gICAgY29uc3QgdmlkZW9WaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICAgIC4uLnZpZXdTdGF0ZSxcbiAgICAgIHdpZHRoOiBjb250YWluZXIud2lkdGgsXG4gICAgICBoZWlnaHQ6IGNvbnRhaW5lci5oZWlnaHRcbiAgICB9KS5maXRCb3VuZHMoW253LCBzZV0pO1xuICAgIGNvbnN0IHtoZWlnaHQsIHdpZHRoLCBsYXRpdHVkZSwgbG9uZ2l0dWRlLCB6b29tLCBhbHRpdHVkZX0gPSB2aWRlb1ZpZXdwb3J0O1xuICAgIHJldHVybiB7XG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIGxhdGl0dWRlLFxuICAgICAgbG9uZ2l0dWRlLFxuICAgICAgcGl0Y2g6IHZpZXdTdGF0ZS5waXRjaCxcbiAgICAgIHpvb20sXG4gICAgICBiZWFyaW5nOiB2aWV3U3RhdGUuYmVhcmluZyxcbiAgICAgIGFsdGl0dWRlXG4gICAgfSBhcyBhbnk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udmlld1N0YXRlLFxuICAgICAgd2lkdGg6IGNvbnRhaW5lci53aWR0aCxcbiAgICAgIGhlaWdodDogY29udGFpbmVyLmhlaWdodFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNldENhbWVyYVR5cGUoc3RyQ2FtZXJhVHlwZTogc3RyaW5nLCB2aWV3U3RhdGU6IE1hcFZpZXdTdGF0ZSk6IE1hcFZpZXdTdGF0ZSB7XG4gIGNvbnN0IG1vZGlmaWVkVmlld1N0YXRlOiBhbnkgPSB7Li4udmlld1N0YXRlfTtcbiAgY29uc3QgbWF0Y2ggPSBzdHJDYW1lcmFUeXBlLm1hdGNoKC9cXGIoPyF0bylcXGJcXFMrXFx3L2cpO1xuICBpZiAoIW1hdGNoKSByZXR1cm4gbW9kaWZpZWRWaWV3U3RhdGU7XG5cbiAgY29uc3QgdHVyZlBvaW50ID0gcG9pbnQoW21vZGlmaWVkVmlld1N0YXRlLmxvbmdpdHVkZSwgbW9kaWZpZWRWaWV3U3RhdGUubGF0aXR1ZGVdKTtcblxuICBpZiAobWF0Y2hbMF0gPT09ICdPcmJpdCcpIHtcbiAgICBtb2RpZmllZFZpZXdTdGF0ZS5iZWFyaW5nID0gbW9kaWZpZWRWaWV3U3RhdGUuYmVhcmluZyArIHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XG4gIH1cblxuICBjb25zdCBkaXJlY3Rpb25zID0gbmV3IFNldChbJ0Vhc3QnLCAnU291dGgnLCAnV2VzdCcsICdOb3J0aCddKTtcbiAgaWYgKGRpcmVjdGlvbnMuaGFzKG1hdGNoWzBdKSkge1xuICAgIGNvbnN0IGRpcmVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtFYXN0OiAyNzAsIFNvdXRoOiAwLCBXZXN0OiA5MCwgTm9ydGg6IDE4MH07XG4gICAgY29uc3QgdHJhbnNsYXRlZFBvbHkgPSB0cmFuc2Zvcm1UcmFuc2xhdGUodHVyZlBvaW50LCAxMCwgZGlyZWN0aW9uTWFwW21hdGNoWzBdXSk7XG4gICAgaWYgKG1hdGNoWzBdID09PSAnRWFzdCcgfHwgbWF0Y2hbMF0gPT09ICdXZXN0Jykge1xuICAgICAgbW9kaWZpZWRWaWV3U3RhdGUubG9uZ2l0dWRlID0gdHJhbnNsYXRlZFBvbHkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGlmaWVkVmlld1N0YXRlLmxhdGl0dWRlID0gdHJhbnNsYXRlZFBvbHkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV07XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoWzBdID09PSAnWm9vbScpIHtcbiAgICBtb2RpZmllZFZpZXdTdGF0ZS56b29tICs9IG1hdGNoWzFdID09PSAnSW4nID8gMyA6IC0zO1xuICB9XG5cbiAgcmV0dXJuIG1vZGlmaWVkVmlld1N0YXRlO1xufVxuXG50eXBlIFJlc29sdXRpb24gPSB7dmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xuXG5jb25zdCBSRVNPTFVUSU9OUzogUmVzb2x1dGlvbltdID0gW1xuICB7dmFsdWU6ICc5NjB4NTQwJywgbGFiZWw6ICdHb29kICg1NDBwKScsIHdpZHRoOiA5NjAsIGhlaWdodDogNTQwfSxcbiAge3ZhbHVlOiAnMTI4MHg3MjAnLCBsYWJlbDogJ0hpZ2ggKDcyMHApJywgd2lkdGg6IDEyODAsIGhlaWdodDogNzIwfSxcbiAge3ZhbHVlOiAnMTkyMHgxMDgwJywgbGFiZWw6ICdIaWdoZXN0ICgxMDgwcCknLCB3aWR0aDogMTkyMCwgaGVpZ2h0OiAxMDgwfSxcbiAge3ZhbHVlOiAnNjQweDQ4MCcsIGxhYmVsOiAnR29vZCAoNDgwcCknLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MH0sXG4gIHt2YWx1ZTogJzEyODB4OTYwJywgbGFiZWw6ICdIaWdoICg5NjBwKScsIHdpZHRoOiAxMjgwLCBoZWlnaHQ6IDk2MH0sXG4gIHt2YWx1ZTogJzE5MjB4MTQ0MCcsIGxhYmVsOiAnSGlnaGVzdCAoMTQ0MHApJywgd2lkdGg6IDE5MjAsIGhlaWdodDogMTQ0MH1cbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvbHV0aW9uU2V0dGluZyh2YWx1ZTogc3RyaW5nKTogUmVzb2x1dGlvbiB7XG4gIHJldHVybiBSRVNPTFVUSU9OUy5maW5kKHIgPT4gci52YWx1ZSA9PT0gdmFsdWUpIHx8IFJFU09MVVRJT05TWzBdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUVBLFNBQVFBLE9BQU8sRUFBRUMsbUJBQW1CLFFBQTBCLGVBQWU7QUFDN0UsU0FDRUMsc0JBQXNCLEVBQ3RCQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLGNBQWMsUUFDVCxzQkFBc0I7QUFDN0IsU0FBUUMsMEJBQTBCLEVBQUVDLGlCQUFpQixRQUFPLGtCQUFrQjtBQUM5RSxTQUFRQyxrQkFBa0IsRUFBRUMsaUJBQWlCLEVBQUVDLGVBQWUsUUFBTywwQkFBMEI7QUFDL0YsU0FBUUMsaUJBQWlCLFFBQU8scUJBQXFCO0FBQ3JELFNBQVFDLFdBQVcsRUFBRUMsa0JBQWtCLFFBQU8sdUNBQXVDO0FBQ3JGLFNBQVFDLEtBQUssUUFBTyxlQUFlO0FBQ25DLFNBQVFDLGtCQUFrQixRQUFPLDJCQUEyQjtBQWE1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPLElBQU1DLHdCQUF3QixHQUFHO0VBQ3RDQyxJQUFJLEVBQUUsT0FBZ0I7RUFDdEJDLEtBQUssRUFBRTtJQUFDQyxxQkFBcUIsRUFB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
@@ -2,7 +2,7 @@
2
2
  // Copyright contributors to the kepler.gl project
3
3
 
4
4
  import React, { useEffect } from 'react';
5
- import get from 'lodash/get';
5
+ import get from 'es-toolkit/compat/get';
6
6
  import { MAP_THUMBNAIL_DIMENSION, EXPORT_IMG_RATIOS } from '@kepler.gl/constants';
7
7
  // TODO: this should be turned into a custom hook
8
8
  /**
@@ -45,4 +45,4 @@ var ImageModalContainer = function ImageModalContainer(_ref) {
45
45
  return /*#__PURE__*/React.createElement(React.Fragment, null, children);
46
46
  };
47
47
  export default ImageModalContainer;
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsImdldCIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJJbWFnZU1vZGFsQ29udGFpbmVyIiwiX3JlZiIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwicHJvdmlkZXIiLCJjaGlsZHJlbiIsImV4cG9ydGluZyIsInRodW1ibmFpbCIsIm1hcFciLCJ3aWR0aCIsIm1hcEgiLCJoZWlnaHQiLCJyYXRpbyIsIkNVU1RPTSIsImxlZ2VuZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvaW1hZ2UtbW9kYWwtY29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5cbmltcG9ydCB7TUFQX1RIVU1CTkFJTF9ESU1FTlNJT04sIEVYUE9SVF9JTUdfUkFUSU9TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1NldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5cbmV4cG9ydCB0eXBlIEltYWdlTW9kYWxDb250YWluZXJQcm9wcyA9IHtcbiAgcHJvdmlkZXI/OiBQcm92aWRlciB8IG51bGw7XG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nOiAobmV3U2V0dGluZzogU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiB2b2lkO1xuICBjbGVhbnVwRXhwb3J0SW1hZ2U6ICgpID0+IHZvaWQ7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYSBjdXN0b20gaG9va1xuLyoqXG4gKiBBIHdyYXBwZXIgY29tcG9uZW50IGluIG1vZGFscyBjb250YWluIGEgaW1hZ2UgcHJldmlldyBvZiB0aGUgbWFwIHdpdGggY2xvdWQgcHJvdmlkZXJzXG4gKiBJdCBzZXRzIGV4cG9ydCBpbWFnZSBzaXplIGJhc2VkIG9uIHByb3ZpZGVyIHRodW1ibmFpbCBzaXplXG4gKiBAdHlwZSB7UmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzPn1cbiAqL1xuY29uc3QgSW1hZ2VNb2RhbENvbnRhaW5lcjogUmVhY3QuRkM8SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzPiA9ICh7XG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nLFxuICBjbGVhbnVwRXhwb3J0SW1hZ2UsXG4gIHByb3ZpZGVyLFxuICBjaGlsZHJlblxufSkgPT4ge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtleHBvcnRpbmc6IHRydWV9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYW51cEV4cG9ydEltYWdlKCk7XG4gICAgfTtcbiAgfSwgW29uVXBkYXRlSW1hZ2VTZXR0aW5nLCBjbGVhbnVwRXhwb3J0SW1hZ2VdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcm92aWRlcikge1xuICAgICAgaWYgKHByb3ZpZGVyLnRodW1ibmFpbCkge1xuICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZyh7XG4gICAgICAgICAgbWFwVzogZ2V0KHByb3ZpZGVyLCBbJ3RodW1ibmFpbCcsICd3aWR0aCddKSB8fCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi53aWR0aCxcbiAgICAgICAgICBtYXBIOiBnZXQocHJvdmlkZXIsIFsndGh1bWJuYWlsJywgJ2hlaWdodCddKSB8fCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi5oZWlnaHQsXG4gICAgICAgICAgcmF0aW86IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgICAgICAgICBsZWdlbmQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvblVwZGF0ZUltYWdlU2V0dGluZyh7XG4gICAgICAgIG1hcFc6IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRoLFxuICAgICAgICBtYXBIOiBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi5oZWlnaHQsXG4gICAgICAgIHJhdGlvOiBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00sXG4gICAgICAgIGxlZ2VuZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3Byb3ZpZGVyLCBvblVwZGF0ZUltYWdlU2V0dGluZ10pO1xuXG4gIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZU1vZGFsQ29udGFpbmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssSUFBR0MsU0FBUyxRQUFPLE9BQU87QUFDdEMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsU0FBUUMsdUJBQXVCLEVBQUVDLGlCQUFpQixRQUFPLHNCQUFzQjtBQVcvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxtQkFBdUQsR0FBRyxTQUExREEsbUJBQXVEQSxDQUFBQyxJQUFBLEVBS3ZEO0VBQUEsSUFKSkMsb0JBQW9CLEdBQUFELElBQUEsQ0FBcEJDLG9CQUFvQjtJQUNwQkMsa0JBQWtCLEdBQUFGLElBQUEsQ0FBbEJFLGtCQUFrQjtJQUNsQkMsUUFBUSxHQUFBSCxJQUFBLENBQVJHLFFBQVE7SUFDUkMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7RUFFUlQsU0FBUyxDQUFDLFlBQU07SUFDZE0sb0JBQW9CLENBQUM7TUFBQ0ksU0FBUyxFQUFFO0lBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sWUFBTTtNQUNYSCxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ0Qsb0JBQW9CLEVBQUVDLGtCQUFrQixDQUFDLENBQUM7RUFFOUNQLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSVEsUUFBUSxFQUFFO01BQ1osSUFBSUEsUUFBUSxDQUFDRyxTQUFTLEVBQUU7UUFDdEJMLG9CQUFvQixDQUFDO1VBQ25CTSxJQUFJLEVBQUVYLEdBQUcsQ0FBQ08sUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUlOLHVCQUF1QixDQUFDVyxLQUFLO1VBQzVFQyxJQUFJLEVBQUViLEdBQUcsQ0FBQ08sUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUlOLHVCQUF1QixDQUFDYSxNQUFNO1VBQzlFQyxLQUFLLEVBQUViLGlCQUFpQixDQUFDYyxNQUFNO1VBQy9CQyxNQUFNLEVBQUU7UUFDVixDQUFDLENBQUM7TUFDSjtJQUNGLENBQUMsTUFBTTtNQUNMWixvQkFBb0IsQ0FBQztRQUNuQk0sSUFBSSxFQUFFVix1QkFBdUIsQ0FBQ1csS0FBSztRQUNuQ0MsSUFBSSxFQUFFWix1QkFBdUIsQ0FBQ2EsTUFBTTtRQUNwQ0MsS0FBSyxFQUFFYixpQkFBaUIsQ0FBQ2MsTUFBTTtRQUMvQkMsTUFBTSxFQUFFO01BQ1YsQ0FBQyxDQUFDO0lBQ0o7RUFDRixDQUFDLEVBQUUsQ0FBQ1YsUUFBUSxFQUFFRixvQkFBb0IsQ0FBQyxDQUFDO0VBRXBDLG9CQUFPUCxLQUFBLENBQUFvQixhQUFBLENBQUFwQixLQUFBLENBQUFxQixRQUFBLFFBQUdYLFFBQVcsQ0FBQztBQUN4QixDQUFDO0FBRUQsZUFBZUwsbUJBQW1CIiwiaWdub3JlTGlzdCI6W119
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsImdldCIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJJbWFnZU1vZGFsQ29udGFpbmVyIiwiX3JlZiIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwicHJvdmlkZXIiLCJjaGlsZHJlbiIsImV4cG9ydGluZyIsInRodW1ibmFpbCIsIm1hcFciLCJ3aWR0aCIsIm1hcEgiLCJoZWlnaHQiLCJyYXRpbyIsIkNVU1RPTSIsImxlZ2VuZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvaW1hZ2UtbW9kYWwtY29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBnZXQgZnJvbSAnZXMtdG9vbGtpdC9jb21wYXQvZ2V0JztcblxuaW1wb3J0IHtNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiwgRVhQT1JUX0lNR19SQVRJT1N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7U2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcblxuZXhwb3J0IHR5cGUgSW1hZ2VNb2RhbENvbnRhaW5lclByb3BzID0ge1xuICBwcm92aWRlcj86IFByb3ZpZGVyIHwgbnVsbDtcbiAgb25VcGRhdGVJbWFnZVNldHRpbmc6IChuZXdTZXR0aW5nOiBTZXRFeHBvcnRJbWFnZVNldHRpbmdVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+IHZvaWQ7XG4gIGNsZWFudXBFeHBvcnRJbWFnZTogKCkgPT4gdm9pZDtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG4vLyBUT0RPOiB0aGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhIGN1c3RvbSBob29rXG4vKipcbiAqIEEgd3JhcHBlciBjb21wb25lbnQgaW4gbW9kYWxzIGNvbnRhaW4gYSBpbWFnZSBwcmV2aWV3IG9mIHRoZSBtYXAgd2l0aCBjbG91ZCBwcm92aWRlcnNcbiAqIEl0IHNldHMgZXhwb3J0IGltYWdlIHNpemUgYmFzZWQgb24gcHJvdmlkZXIgdGh1bWJuYWlsIHNpemVcbiAqIEB0eXBlIHtSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHM+fVxuICovXG5jb25zdCBJbWFnZU1vZGFsQ29udGFpbmVyOiBSZWFjdC5GQzxJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHM+ID0gKHtcbiAgb25VcGRhdGVJbWFnZVNldHRpbmcsXG4gIGNsZWFudXBFeHBvcnRJbWFnZSxcbiAgcHJvdmlkZXIsXG4gIGNoaWxkcmVuXG59KSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25VcGRhdGVJbWFnZVNldHRpbmcoe2V4cG9ydGluZzogdHJ1ZX0pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhbnVwRXhwb3J0SW1hZ2UoKTtcbiAgICB9O1xuICB9LCBbb25VcGRhdGVJbWFnZVNldHRpbmcsIGNsZWFudXBFeHBvcnRJbWFnZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb3ZpZGVyKSB7XG4gICAgICBpZiAocHJvdmlkZXIudGh1bWJuYWlsKSB7XG4gICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtcbiAgICAgICAgICBtYXBXOiBnZXQocHJvdmlkZXIsIFsndGh1bWJuYWlsJywgJ3dpZHRoJ10pIHx8IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRoLFxuICAgICAgICAgIG1hcEg6IGdldChwcm92aWRlciwgWyd0aHVtYm5haWwnLCAnaGVpZ2h0J10pIHx8IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLmhlaWdodCxcbiAgICAgICAgICByYXRpbzogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgICAgICAgIGxlZ2VuZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtcbiAgICAgICAgbWFwVzogTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04ud2lkdGgsXG4gICAgICAgIG1hcEg6IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLmhlaWdodCxcbiAgICAgICAgcmF0aW86IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgICAgICAgbGVnZW5kOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvdmlkZXIsIG9uVXBkYXRlSW1hZ2VTZXR0aW5nXSk7XG5cbiAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlTW9kYWxDb250YWluZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxTQUFTLFFBQU8sT0FBTztBQUN0QyxPQUFPQyxHQUFHLE1BQU0sdUJBQXVCO0FBRXZDLFNBQVFDLHVCQUF1QixFQUFFQyxpQkFBaUIsUUFBTyxzQkFBc0I7QUFXL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsbUJBQXVELEdBQUcsU0FBMURBLG1CQUF1REEsQ0FBQUMsSUFBQSxFQUt2RDtFQUFBLElBSkpDLG9CQUFvQixHQUFBRCxJQUFBLENBQXBCQyxvQkFBb0I7SUFDcEJDLGtCQUFrQixHQUFBRixJQUFBLENBQWxCRSxrQkFBa0I7SUFDbEJDLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0lBQ1JDLFFBQVEsR0FBQUosSUFBQSxDQUFSSSxRQUFRO0VBRVJULFNBQVMsQ0FBQyxZQUFNO0lBQ2RNLG9CQUFvQixDQUFDO01BQUNJLFNBQVMsRUFBRTtJQUFJLENBQUMsQ0FBQztJQUN2QyxPQUFPLFlBQU07TUFDWEgsa0JBQWtCLENBQUMsQ0FBQztJQUN0QixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNELG9CQUFvQixFQUFFQyxrQkFBa0IsQ0FBQyxDQUFDO0VBRTlDUCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUlRLFFBQVEsRUFBRTtNQUNaLElBQUlBLFFBQVEsQ0FBQ0csU0FBUyxFQUFFO1FBQ3RCTCxvQkFBb0IsQ0FBQztVQUNuQk0sSUFBSSxFQUFFWCxHQUFHLENBQUNPLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJTix1QkFBdUIsQ0FBQ1csS0FBSztVQUM1RUMsSUFBSSxFQUFFYixHQUFHLENBQUNPLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJTix1QkFBdUIsQ0FBQ2EsTUFBTTtVQUM5RUMsS0FBSyxFQUFFYixpQkFBaUIsQ0FBQ2MsTUFBTTtVQUMvQkMsTUFBTSxFQUFFO1FBQ1YsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLE1BQU07TUFDTFosb0JBQW9CLENBQUM7UUFDbkJNLElBQUksRUFBRVYsdUJBQXVCLENBQUNXLEtBQUs7UUFDbkNDLElBQUksRUFBRVosdUJBQXVCLENBQUNhLE1BQU07UUFDcENDLEtBQUssRUFBRWIsaUJBQWlCLENBQUNjLE1BQU07UUFDL0JDLE1BQU0sRUFBRTtNQUNWLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQyxFQUFFLENBQUNWLFFBQVEsRUFBRUYsb0JBQW9CLENBQUMsQ0FBQztFQUVwQyxvQkFBT1AsS0FBQSxDQUFBb0IsYUFBQSxDQUFBcEIsS0FBQSxDQUFBcUIsUUFBQSxRQUFHWCxRQUFXLENBQUM7QUFDeEIsQ0FBQztBQUVELGVBQWVMLG1CQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -12,7 +12,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
12
12
 
13
13
  import React, { useState } from 'react';
14
14
  import styled from 'styled-components';
15
- import get from 'lodash/get';
15
+ import get from 'es-toolkit/compat/get';
16
16
  import { useIntl } from 'react-intl';
17
17
  import FileUploadFactory from '../common/file-uploader/file-upload';
18
18
  import LoadStorageMapFactory from './load-storage-map';
@@ -22,7 +22,7 @@ import LoadingDialog from './loading-dialog';
22
22
  import { LOADING_METHODS } from '@kepler.gl/constants';
23
23
  var StyledLoadDataModal = styled.div.attrs({
24
24
  className: 'load-data-modal'
25
- })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n min-height: 440px;\n display: flex;\n flex-direction: column;\n"])), function (props) {
25
+ })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n min-height: 360px;\n display: flex;\n flex-direction: column;\n"])), function (props) {
26
26
  return props.theme.modalPadding;
27
27
  });
28
28
  var noop = function noop() {
@@ -86,4 +86,4 @@ export function LoadDataModalFactory(ModalTabs, FileUpload, LoadStorageMap, Load
86
86
  return LoadDataModal;
87
87
  }
88
88
  export default LoadDataModalFactory;
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwic3R5bGVkIiwiZ2V0IiwidXNlSW50bCIsIkZpbGVVcGxvYWRGYWN0b3J5IiwiTG9hZFN0b3JhZ2VNYXBGYWN0b3J5IiwiTG9hZFRpbGVzZXRGYWN0b3J5IiwiTW9kYWxUYWJzRmFjdG9yeSIsIkxvYWRpbmdEaWFsb2ciLCJMT0FESU5HX01FVEhPRFMiLCJTdHlsZWRMb2FkRGF0YU1vZGFsIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsUGFkZGluZyIsIm5vb3AiLCJnZXREZWZhdWx0TWV0aG9kIiwibWV0aG9kcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkFycmF5IiwiaXNBcnJheSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiZGVwcyIsIk1vZGFsVGFicyIsIkZpbGVVcGxvYWQiLCJMb2FkU3RvcmFnZU1hcCIsIkxvYWRUaWxlc2V0IiwiZGVmYXVsdExvYWRpbmdNZXRob2RzIiwiaWQiLCJ1cGxvYWQiLCJsYWJlbCIsImVsZW1lbnRUeXBlIiwidGlsZXNldCIsInN0b3JhZ2UiLCJMb2FkRGF0YU1vZGFsIiwiX3JlZiIsIl9yZWYkb25GaWxlVXBsb2FkIiwib25GaWxlVXBsb2FkIiwiX3JlZiRvblRpbGVzZXRBZGRlZCIsIm9uVGlsZXNldEFkZGVkIiwiX3JlZiRmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nIiwiX3JlZiRsb2FkaW5nTWV0aG9kcyIsImxvYWRpbmdNZXRob2RzIiwiaXNDbG91ZE1hcExvYWRpbmciLCJyZXN0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJpbnRsIiwiY3VycmVudE1vZGFsUHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY3VycmVudE1ldGhvZCIsInRvZ2dsZU1ldGhvZCIsIkVsZW1lbnRUeXBlIiwiY3JlYXRlRWxlbWVudCIsInNpemUiLCJfZXh0ZW5kcyIsImtleSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvbG9hZC1kYXRhLW1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IHtJbnRsU2hhcGUsIHVzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuXG5pbXBvcnQgRmlsZVVwbG9hZEZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2ZpbGUtdXBsb2FkZXIvZmlsZS11cGxvYWQnO1xuaW1wb3J0IExvYWRTdG9yYWdlTWFwRmFjdG9yeSBmcm9tICcuL2xvYWQtc3RvcmFnZS1tYXAnO1xuaW1wb3J0IExvYWRUaWxlc2V0RmFjdG9yeSBmcm9tICcuL3RpbGVzZXRzLW1vZGFscy9sb2FkLXRpbGVzZXQnO1xuaW1wb3J0IE1vZGFsVGFic0ZhY3RvcnkgZnJvbSAnLi9tb2RhbC10YWJzJztcbmltcG9ydCBMb2FkaW5nRGlhbG9nIGZyb20gJy4vbG9hZGluZy1kaWFsb2cnO1xuXG5pbXBvcnQge0xPQURJTkdfTUVUSE9EU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGaWxlTG9hZGluZywgRmlsZUxvYWRpbmdQcm9ncmVzcywgTG9hZEZpbGVzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuY29uc3QgU3R5bGVkTG9hZERhdGFNb2RhbCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsb2FkLWRhdGEtbW9kYWwnXG59KWBcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFBhZGRpbmd9O1xuICBtaW4taGVpZ2h0OiA0NDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG4gIHJldHVybjtcbn07XG5jb25zdCBnZXREZWZhdWx0TWV0aG9kID0gPFQsPihtZXRob2RzOiBUW10gPSBbXSkgPT5cbiAgQXJyYXkuaXNBcnJheShtZXRob2RzKSA/IGdldChtZXRob2RzLCBbMF0pIDogbnVsbDtcbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ01ldGhvZCB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGVsZW1lbnRUeXBlOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT47XG4gIHRhYkVsZW1lbnRUeXBlPzogUmVhY3QuQ29tcG9uZW50VHlwZTx7b25DbGljazogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI7IGludGw6IEludGxTaGFwZX0+O1xufVxuXG50eXBlIExvYWREYXRhTW9kYWxQcm9wcyA9IHtcbiAgLy8gY2FsbCBiYWNrc1xuICBvbkZpbGVVcGxvYWQ6IChmaWxlczogRmlsZVtdKSA9PiB2b2lkO1xuICBvbkxvYWRDbG91ZE1hcDogKHByb3ZpZGVyOiBhbnksIHZpczogYW55KSA9PiB2b2lkO1xuICBvblRpbGVzZXRBZGRlZDogKFxuICAgIHRpbGVzZXQ6IHtuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT59LFxuICAgIHByb2Nlc3NlZE1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApID0+IHZvaWQ7XG4gIGZpbGVMb2FkaW5nOiBGaWxlTG9hZGluZyB8IGZhbHNlO1xuICBsb2FkaW5nTWV0aG9kcz86IExvYWRpbmdNZXRob2RbXTtcbiAgLyoqIEEgbGlzdCBvZiBuYW1lcyBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBzdWl0YWJsZSB0byBwcmVzZW50IHRvIHVzZXIgKi9cbiAgZmlsZUZvcm1hdE5hbWVzOiBzdHJpbmdbXTtcbiAgLyoqIEEgbGlzdCBvZiB0eXBpY2FsbHkgMyBsZXR0ZXIgZXh0ZW5zaW9ucyAod2l0aG91dCAnLicpIGZvciBmaWxlIG1hdGNoaW5nICovXG4gIGZpbGVFeHRlbnNpb25zOiBzdHJpbmdbXTtcbiAgaXNDbG91ZE1hcExvYWRpbmc6IGJvb2xlYW47XG4gIC8qKiBTZXQgdG8gdHJ1ZSBpZiBhcHAgd2FudHMgdG8gZG8gaXRzIG93biBmaWxlIGZpbHRlcmluZyAqL1xuICBkaXNhYmxlRXh0ZW5zaW9uRmlsdGVyPzogYm9vbGVhbjtcbiAgb25DbG9zZT86ICguLi5hcmdzOiBhbnkpID0+IGFueTtcblxuICBsb2FkRmlsZXM6IExvYWRGaWxlcztcbiAgZmlsZUxvYWRpbmdQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbn07XG5cbkxvYWREYXRhTW9kYWxGYWN0b3J5LmRlcHMgPSBbXG4gIE1vZGFsVGFic0ZhY3RvcnksXG4gIEZpbGVVcGxvYWRGYWN0b3J5LFxuICBMb2FkU3RvcmFnZU1hcEZhY3RvcnksXG4gIExvYWRUaWxlc2V0RmFjdG9yeVxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIExvYWREYXRhTW9kYWxGYWN0b3J5KFxuICBNb2RhbFRhYnM6IFJldHVyblR5cGU8dHlwZW9mIE1vZGFsVGFic0ZhY3Rvcnk+LFxuICBGaWxlVXBsb2FkOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWxlVXBsb2FkRmFjdG9yeT4sXG4gIExvYWRTdG9yYWdlTWFwOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkU3RvcmFnZU1hcEZhY3Rvcnk+LFxuICBMb2FkVGlsZXNldDogUmV0dXJuVHlwZTx0eXBlb2YgTG9hZFRpbGVzZXRGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IGRlZmF1bHRMb2FkaW5nTWV0aG9kcyA9IFtcbiAgICB7XG4gICAgICBpZDogTE9BRElOR19NRVRIT0RTLnVwbG9hZCxcbiAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEudXBsb2FkJyxcbiAgICAgIGVsZW1lbnRUeXBlOiBGaWxlVXBsb2FkXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogTE9BRElOR19NRVRIT0RTLnRpbGVzZXQsXG4gICAgICBsYWJlbDogJ21vZGFsLmxvYWREYXRhLnRpbGVzZXQnLFxuICAgICAgZWxlbWVudFR5cGU6IExvYWRUaWxlc2V0XG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogTE9BRElOR19NRVRIT0RTLnN0b3JhZ2UsXG4gICAgICBsYWJlbDogJ21vZGFsLmxvYWREYXRhLnN0b3JhZ2UnLFxuICAgICAgZWxlbWVudFR5cGU6IExvYWRTdG9yYWdlTWFwXG4gICAgfVxuICBdO1xuXG4gIGNvbnN0IExvYWREYXRhTW9kYWw6IFJlYWN0LkZDPExvYWREYXRhTW9kYWxQcm9wcz4gJiB7XG4gICAgZGVmYXVsdExvYWRpbmdNZXRob2RzOiBMb2FkRGF0YU1vZGFsUHJvcHNbJ2xvYWRpbmdNZXRob2RzJ107XG4gIH0gPSAoe1xuICAgIG9uRmlsZVVwbG9hZCA9IG5vb3AsXG4gICAgb25UaWxlc2V0QWRkZWQgPSBub29wLFxuICAgIGZpbGVMb2FkaW5nID0gZmFsc2UsXG4gICAgbG9hZGluZ01ldGhvZHMgPSBkZWZhdWx0TG9hZGluZ01ldGhvZHMsXG4gICAgaXNDbG91ZE1hcExvYWRpbmcsXG4gICAgLi4ucmVzdFByb3BzXG4gIH0pID0+IHtcbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgIGNvbnN0IGN1cnJlbnRNb2RhbFByb3BzID0ge1xuICAgICAgLi4ucmVzdFByb3BzLFxuICAgICAgb25GaWxlVXBsb2FkLFxuICAgICAgb25UaWxlc2V0QWRkZWQsXG4gICAgICBmaWxlTG9hZGluZyxcbiAgICAgIGlzQ2xvdWRNYXBMb2FkaW5nXG4gICAgfTtcbiAgICAvLyBjb25zdCB7bG9hZGluZ01ldGhvZHMsIGlzQ2xvdWRNYXBMb2FkaW5nfSA9IHByb3BzO1xuICAgIGNvbnN0IFtjdXJyZW50TWV0aG9kLCB0b2dnbGVNZXRob2RdID0gdXNlU3RhdGUoZ2V0RGVmYXVsdE1ldGhvZChsb2FkaW5nTWV0aG9kcykpO1xuXG4gICAgY29uc3QgRWxlbWVudFR5cGUgPSBjdXJyZW50TWV0aG9kPy5lbGVtZW50VHlwZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTG9hZERhdGFNb2RhbD5cbiAgICAgICAgPE1vZGFsVGFic1xuICAgICAgICAgIGN1cnJlbnRNZXRob2Q9e2N1cnJlbnRNZXRob2Q/LmlkfVxuICAgICAgICAgIGxvYWRpbmdNZXRob2RzPXtsb2FkaW5nTWV0aG9kc31cbiAgICAgICAgICB0b2dnbGVNZXRob2Q9e3RvZ2dsZU1ldGhvZH1cbiAgICAgICAgLz5cbiAgICAgICAge2lzQ2xvdWRNYXBMb2FkaW5nID8gKFxuICAgICAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIEVsZW1lbnRUeXBlICYmIDxFbGVtZW50VHlwZSBrZXk9e2N1cnJlbnRNZXRob2Q/LmlkfSBpbnRsPXtpbnRsfSB7Li4uY3VycmVudE1vZGFsUHJvcHN9IC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZExvYWREYXRhTW9kYWw+XG4gICAgKTtcbiAgfTtcblxuICBMb2FkRGF0YU1vZGFsLmRlZmF1bHRMb2FkaW5nTWV0aG9kcyA9IGRlZmF1bHRMb2FkaW5nTWV0aG9kcztcblxuICByZXR1cm4gTG9hZERhdGFNb2RhbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9hZERhdGFNb2RhbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxRQUFRLFFBQU8sT0FBTztBQUNyQyxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBQzVCLFNBQW1CQyxPQUFPLFFBQU8sWUFBWTtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSxxQ0FBcUM7QUFDbkUsT0FBT0MscUJBQXFCLE1BQU0sb0JB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
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwic3R5bGVkIiwiZ2V0IiwidXNlSW50bCIsIkZpbGVVcGxvYWRGYWN0b3J5IiwiTG9hZFN0b3JhZ2VNYXBGYWN0b3J5IiwiTG9hZFRpbGVzZXRGYWN0b3J5IiwiTW9kYWxUYWJzRmFjdG9yeSIsIkxvYWRpbmdEaWFsb2ciLCJMT0FESU5HX01FVEhPRFMiLCJTdHlsZWRMb2FkRGF0YU1vZGFsIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsUGFkZGluZyIsIm5vb3AiLCJnZXREZWZhdWx0TWV0aG9kIiwibWV0aG9kcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkFycmF5IiwiaXNBcnJheSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiZGVwcyIsIk1vZGFsVGFicyIsIkZpbGVVcGxvYWQiLCJMb2FkU3RvcmFnZU1hcCIsIkxvYWRUaWxlc2V0IiwiZGVmYXVsdExvYWRpbmdNZXRob2RzIiwiaWQiLCJ1cGxvYWQiLCJsYWJlbCIsImVsZW1lbnRUeXBlIiwidGlsZXNldCIsInN0b3JhZ2UiLCJMb2FkRGF0YU1vZGFsIiwiX3JlZiIsIl9yZWYkb25GaWxlVXBsb2FkIiwib25GaWxlVXBsb2FkIiwiX3JlZiRvblRpbGVzZXRBZGRlZCIsIm9uVGlsZXNldEFkZGVkIiwiX3JlZiRmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nIiwiX3JlZiRsb2FkaW5nTWV0aG9kcyIsImxvYWRpbmdNZXRob2RzIiwiaXNDbG91ZE1hcExvYWRpbmciLCJyZXN0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJpbnRsIiwiY3VycmVudE1vZGFsUHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiY3VycmVudE1ldGhvZCIsInRvZ2dsZU1ldGhvZCIsIkVsZW1lbnRUeXBlIiwiY3JlYXRlRWxlbWVudCIsInNpemUiLCJfZXh0ZW5kcyIsImtleSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvbG9hZC1kYXRhLW1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2VzLXRvb2xraXQvY29tcGF0L2dldCc7XG5pbXBvcnQge0ludGxTaGFwZSwgdXNlSW50bH0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCBGaWxlVXBsb2FkRmFjdG9yeSBmcm9tICcuLi9jb21tb24vZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZCc7XG5pbXBvcnQgTG9hZFN0b3JhZ2VNYXBGYWN0b3J5IGZyb20gJy4vbG9hZC1zdG9yYWdlLW1hcCc7XG5pbXBvcnQgTG9hZFRpbGVzZXRGYWN0b3J5IGZyb20gJy4vdGlsZXNldHMtbW9kYWxzL2xvYWQtdGlsZXNldCc7XG5pbXBvcnQgTW9kYWxUYWJzRmFjdG9yeSBmcm9tICcuL21vZGFsLXRhYnMnO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi9sb2FkaW5nLWRpYWxvZyc7XG5cbmltcG9ydCB7TE9BRElOR19NRVRIT0RTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0ZpbGVMb2FkaW5nLCBGaWxlTG9hZGluZ1Byb2dyZXNzLCBMb2FkRmlsZXN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5jb25zdCBTdHlsZWRMb2FkRGF0YU1vZGFsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xvYWQtZGF0YS1tb2RhbCdcbn0pYFxuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUGFkZGluZ307XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcbmNvbnN0IGdldERlZmF1bHRNZXRob2QgPSA8VCw+KG1ldGhvZHM6IFRbXSA9IFtdKSA9PlxuICBBcnJheS5pc0FycmF5KG1ldGhvZHMpID8gZ2V0KG1ldGhvZHMsIFswXSkgOiBudWxsO1xuZXhwb3J0IGludGVyZmFjZSBMb2FkaW5nTWV0aG9kIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZWxlbWVudFR5cGU6IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PjtcbiAgdGFiRWxlbWVudFR5cGU/OiBSZWFjdC5Db21wb25lbnRUeXBlPHtvbkNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjsgaW50bDogSW50bFNoYXBlfT47XG59XG5cbnR5cGUgTG9hZERhdGFNb2RhbFByb3BzID0ge1xuICAvLyBjYWxsIGJhY2tzXG4gIG9uRmlsZVVwbG9hZDogKGZpbGVzOiBGaWxlW10pID0+IHZvaWQ7XG4gIG9uTG9hZENsb3VkTWFwOiAocHJvdmlkZXI6IGFueSwgdmlzOiBhbnkpID0+IHZvaWQ7XG4gIG9uVGlsZXNldEFkZGVkOiAoXG4gICAgdGlsZXNldDoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pn0sXG4gICAgcHJvY2Vzc2VkTWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICkgPT4gdm9pZDtcbiAgZmlsZUxvYWRpbmc6IEZpbGVMb2FkaW5nIHwgZmFsc2U7XG4gIGxvYWRpbmdNZXRob2RzPzogTG9hZGluZ01ldGhvZFtdO1xuICAvKiogQSBsaXN0IG9mIG5hbWVzIG9mIHN1cHBvcnRlZCBmb3JtYXRzIHN1aXRhYmxlIHRvIHByZXNlbnQgdG8gdXNlciAqL1xuICBmaWxlRm9ybWF0TmFtZXM6IHN0cmluZ1tdO1xuICAvKiogQSBsaXN0IG9mIHR5cGljYWxseSAzIGxldHRlciBleHRlbnNpb25zICh3aXRob3V0ICcuJykgZm9yIGZpbGUgbWF0Y2hpbmcgKi9cbiAgZmlsZUV4dGVuc2lvbnM6IHN0cmluZ1tdO1xuICBpc0Nsb3VkTWFwTG9hZGluZzogYm9vbGVhbjtcbiAgLyoqIFNldCB0byB0cnVlIGlmIGFwcCB3YW50cyB0byBkbyBpdHMgb3duIGZpbGUgZmlsdGVyaW5nICovXG4gIGRpc2FibGVFeHRlbnNpb25GaWx0ZXI/OiBib29sZWFuO1xuICBvbkNsb3NlPzogKC4uLmFyZ3M6IGFueSkgPT4gYW55O1xuXG4gIGxvYWRGaWxlczogTG9hZEZpbGVzO1xuICBmaWxlTG9hZGluZ1Byb2dyZXNzOiBGaWxlTG9hZGluZ1Byb2dyZXNzO1xufTtcblxuTG9hZERhdGFNb2RhbEZhY3RvcnkuZGVwcyA9IFtcbiAgTW9kYWxUYWJzRmFjdG9yeSxcbiAgRmlsZVVwbG9hZEZhY3RvcnksXG4gIExvYWRTdG9yYWdlTWFwRmFjdG9yeSxcbiAgTG9hZFRpbGVzZXRGYWN0b3J5XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gTG9hZERhdGFNb2RhbEZhY3RvcnkoXG4gIE1vZGFsVGFiczogUmV0dXJuVHlwZTx0eXBlb2YgTW9kYWxUYWJzRmFjdG9yeT4sXG4gIEZpbGVVcGxvYWQ6IFJldHVyblR5cGU8dHlwZW9mIEZpbGVVcGxvYWRGYWN0b3J5PixcbiAgTG9hZFN0b3JhZ2VNYXA6IFJldHVyblR5cGU8dHlwZW9mIExvYWRTdG9yYWdlTWFwRmFjdG9yeT4sXG4gIExvYWRUaWxlc2V0OiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkVGlsZXNldEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgZGVmYXVsdExvYWRpbmdNZXRob2RzID0gW1xuICAgIHtcbiAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMudXBsb2FkLFxuICAgICAgbGFiZWw6ICdtb2RhbC5sb2FkRGF0YS51cGxvYWQnLFxuICAgICAgZWxlbWVudFR5cGU6IEZpbGVVcGxvYWRcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMudGlsZXNldCxcbiAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEudGlsZXNldCcsXG4gICAgICBlbGVtZW50VHlwZTogTG9hZFRpbGVzZXRcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMuc3RvcmFnZSxcbiAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEuc3RvcmFnZScsXG4gICAgICBlbGVtZW50VHlwZTogTG9hZFN0b3JhZ2VNYXBcbiAgICB9XG4gIF07XG5cbiAgY29uc3QgTG9hZERhdGFNb2RhbDogUmVhY3QuRkM8TG9hZERhdGFNb2RhbFByb3BzPiAmIHtcbiAgICBkZWZhdWx0TG9hZGluZ01ldGhvZHM6IExvYWREYXRhTW9kYWxQcm9wc1snbG9hZGluZ01ldGhvZHMnXTtcbiAgfSA9ICh7XG4gICAgb25GaWxlVXBsb2FkID0gbm9vcCxcbiAgICBvblRpbGVzZXRBZGRlZCA9IG5vb3AsXG4gICAgZmlsZUxvYWRpbmcgPSBmYWxzZSxcbiAgICBsb2FkaW5nTWV0aG9kcyA9IGRlZmF1bHRMb2FkaW5nTWV0aG9kcyxcbiAgICBpc0Nsb3VkTWFwTG9hZGluZyxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgY29uc3QgY3VycmVudE1vZGFsUHJvcHMgPSB7XG4gICAgICAuLi5yZXN0UHJvcHMsXG4gICAgICBvbkZpbGVVcGxvYWQsXG4gICAgICBvblRpbGVzZXRBZGRlZCxcbiAgICAgIGZpbGVMb2FkaW5nLFxuICAgICAgaXNDbG91ZE1hcExvYWRpbmdcbiAgICB9O1xuICAgIC8vIGNvbnN0IHtsb2FkaW5nTWV0aG9kcywgaXNDbG91ZE1hcExvYWRpbmd9ID0gcHJvcHM7XG4gICAgY29uc3QgW2N1cnJlbnRNZXRob2QsIHRvZ2dsZU1ldGhvZF0gPSB1c2VTdGF0ZShnZXREZWZhdWx0TWV0aG9kKGxvYWRpbmdNZXRob2RzKSk7XG5cbiAgICBjb25zdCBFbGVtZW50VHlwZSA9IGN1cnJlbnRNZXRob2Q/LmVsZW1lbnRUeXBlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMb2FkRGF0YU1vZGFsPlxuICAgICAgICA8TW9kYWxUYWJzXG4gICAgICAgICAgY3VycmVudE1ldGhvZD17Y3VycmVudE1ldGhvZD8uaWR9XG4gICAgICAgICAgbG9hZGluZ01ldGhvZHM9e2xvYWRpbmdNZXRob2RzfVxuICAgICAgICAgIHRvZ2dsZU1ldGhvZD17dG9nZ2xlTWV0aG9kfVxuICAgICAgICAvPlxuICAgICAgICB7aXNDbG91ZE1hcExvYWRpbmcgPyAoXG4gICAgICAgICAgPExvYWRpbmdEaWFsb2cgc2l6ZT17NjR9IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgRWxlbWVudFR5cGUgJiYgPEVsZW1lbnRUeXBlIGtleT17Y3VycmVudE1ldGhvZD8uaWR9IGludGw9e2ludGx9IHsuLi5jdXJyZW50TW9kYWxQcm9wc30gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkTG9hZERhdGFNb2RhbD5cbiAgICApO1xuICB9O1xuXG4gIExvYWREYXRhTW9kYWwuZGVmYXVsdExvYWRpbmdNZXRob2RzID0gZGVmYXVsdExvYWRpbmdNZXRob2RzO1xuXG4gIHJldHVybiBMb2FkRGF0YU1vZGFsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMb2FkRGF0YU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFFBQVEsUUFBTyxPQUFPO0FBQ3JDLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsR0FBRyxNQUFNLHVCQUF1QjtBQUN2QyxTQUFtQkMsT0FBTyxRQUFPLFlBQVk7QUFFN0MsT0FBT0MsaUJBQWlCLE1BQU0scUNBQXFDO0FBQ25FLE9BQU9DLHFC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
@@ -1,4 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
+ var _templateObject;
2
4
  // SPDX-License-Identifier: MIT
3
5
  // Copyright contributors to the kepler.gl project
4
6
 
@@ -7,7 +9,10 @@ import CloudHeaderFactory from './cloud-components/cloud-header';
7
9
  import { CloudMaps } from './cloud-components/cloud-maps';
8
10
  import { useCloudListProvider } from '../hooks/use-cloud-list-provider';
9
11
  import { ProviderSelect } from './cloud-components/provider-select';
12
+ import { CloudStorageDisclaimer } from './cloud-components/cloud-storage-disclaimer';
10
13
  import { FlexColContainer } from '../common/flex-container';
14
+ import styled from 'styled-components';
15
+ var StyledLoadStorageMap = styled(FlexColContainer)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex: 1;\n width: 100%;\n"])));
11
16
  LoadStorageMapFactory.deps = [CloudHeaderFactory];
12
17
  function LoadStorageMapFactory(CloudHeader) {
13
18
  var LoadStorageMap = function LoadStorageMap(_ref) {
@@ -49,7 +54,7 @@ function LoadStorageMapFactory(CloudHeader) {
49
54
  provider: provider
50
55
  });
51
56
  }, [onLoadCloudMap]);
52
- return /*#__PURE__*/React.createElement(FlexColContainer, null, !currentProvider ? /*#__PURE__*/React.createElement(ProviderSelect, {
57
+ return /*#__PURE__*/React.createElement(StyledLoadStorageMap, null, !currentProvider ? /*#__PURE__*/React.createElement(ProviderSelect, {
53
58
  cloudProviders: cloudProviders
54
59
  }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CloudHeader, {
55
60
  provider: currentProvider,
@@ -62,9 +67,9 @@ function LoadStorageMapFactory(CloudHeader) {
62
67
  provider: currentProvider,
63
68
  error: error,
64
69
  maps: maps
65
- })));
70
+ })), /*#__PURE__*/React.createElement(CloudStorageDisclaimer, null));
66
71
  };
67
72
  return LoadStorageMap;
68
73
  }
69
74
  export default LoadStorageMapFactory;
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJDbG91ZEhlYWRlckZhY3RvcnkiLCJDbG91ZE1hcHMiLCJ1c2VDbG91ZExpc3RQcm92aWRlciIsIlByb3ZpZGVyU2VsZWN0IiwiRmxleENvbENvbnRhaW5lciIsIkxvYWRTdG9yYWdlTWFwRmFjdG9yeSIsImRlcHMiLCJDbG91ZEhlYWRlciIsIkxvYWRTdG9yYWdlTWFwIiwiX3JlZiIsIm9uTG9hZENsb3VkTWFwIiwiX3VzZUNsb3VkTGlzdFByb3ZpZGVyIiwiY3VycmVudFByb3ZpZGVyIiwicHJvdmlkZXIiLCJzZXRQcm92aWRlciIsImNsb3VkUHJvdmlkZXJzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJtYXBzIiwic2V0TWFwcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsInNldFByb3ZpZGVySW5mbyIsImxpc3RNYXBzIiwidGhlbiIsIm9uU2VsZWN0TWFwIiwibWFwIiwibG9hZFBhcmFtcyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIm9uQmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvbG9hZC1zdG9yYWdlLW1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDbG91ZEhlYWRlckZhY3RvcnkgZnJvbSAnLi9jbG91ZC1jb21wb25lbnRzL2Nsb3VkLWhlYWRlcic7XG5pbXBvcnQge0Nsb3VkTWFwc30gZnJvbSAnLi9jbG91ZC1jb21wb25lbnRzL2Nsb3VkLW1hcHMnO1xuaW1wb3J0IHt1c2VDbG91ZExpc3RQcm92aWRlcn0gZnJvbSAnLi4vaG9va3MvdXNlLWNsb3VkLWxpc3QtcHJvdmlkZXInO1xuaW1wb3J0IHtQcm92aWRlclNlbGVjdH0gZnJvbSAnLi9jbG91ZC1jb21wb25lbnRzL3Byb3ZpZGVyLXNlbGVjdCc7XG5pbXBvcnQge0ZsZXhDb2xDb250YWluZXJ9IGZyb20gJy4uL2NvbW1vbi9mbGV4LWNvbnRhaW5lcic7XG5pbXBvcnQge1Byb3ZpZGVyLCBNYXBMaXN0SXRlbX0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuXG5Mb2FkU3RvcmFnZU1hcEZhY3RvcnkuZGVwcyA9IFtDbG91ZEhlYWRlckZhY3RvcnldO1xuXG5mdW5jdGlvbiBMb2FkU3RvcmFnZU1hcEZhY3RvcnkoQ2xvdWRIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIENsb3VkSGVhZGVyRmFjdG9yeT4pIHtcbiAgY29uc3QgTG9hZFN0b3JhZ2VNYXAgPSAoe29uTG9hZENsb3VkTWFwfSkgPT4ge1xuICAgIGNvbnN0IHtwcm92aWRlcjogY3VycmVudFByb3ZpZGVyLCBzZXRQcm92aWRlciwgY2xvdWRQcm92aWRlcnN9ID0gdXNlQ2xvdWRMaXN0UHJvdmlkZXIoKTtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttYXBzLCBzZXRNYXBzXSA9IHVzZVN0YXRlPE1hcExpc3RJdGVtW10gfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gICAgY29uc3Qgc2V0UHJvdmlkZXJJbmZvID0gdXNlQ2FsbGJhY2soKHByb3ZpZGVyOiBQcm92aWRlciB8IG51bGwpID0+IHtcbiAgICAgIHNldE1hcHMobnVsbCk7XG4gICAgICBzZXRFcnJvcihudWxsKTtcbiAgICAgIGlmIChwcm92aWRlcikge1xuICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgLmxpc3RNYXBzKClcbiAgICAgICAgICAudGhlbihzZXRNYXBzKVxuICAgICAgICAgIC5jYXRjaChzZXRFcnJvcilcbiAgICAgICAgICAuZmluYWxseSgoKSA9PiBzZXRJc0xvYWRpbmcoZmFsc2UpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSwgW10pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHNldFByb3ZpZGVySW5mbyhjdXJyZW50UHJvdmlkZXIpO1xuICAgIH0sIFtjdXJyZW50UHJvdmlkZXIsIHNldFByb3ZpZGVySW5mb10pO1xuXG4gICAgY29uc3Qgb25TZWxlY3RNYXAgPSB1c2VDYWxsYmFjayhcbiAgICAgIChwcm92aWRlciwgbWFwKSA9PiB7XG4gICAgICAgIG9uTG9hZENsb3VkTWFwKHtcbiAgICAgICAgICBsb2FkUGFyYW1zOiBtYXAubG9hZFBhcmFtcyxcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbb25Mb2FkQ2xvdWRNYXBdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RmxleENvbENvbnRhaW5lcj5cbiAgICAgICAgeyFjdXJyZW50UHJvdmlkZXIgPyAoXG4gICAgICAgICAgPFByb3ZpZGVyU2VsZWN0IGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc30gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPENsb3VkSGVhZGVyIHByb3ZpZGVyPXtjdXJyZW50UHJvdmlkZXJ9IG9uQmFjaz17KCkgPT4gc2V0UHJvdmlkZXIobnVsbCl9IC8+XG4gICAgICAgICAgICA8Q2xvdWRNYXBzXG4gICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICBvblNlbGVjdE1hcD17b25TZWxlY3RNYXB9XG4gICAgICAgICAgICAgIHByb3ZpZGVyPXtjdXJyZW50UHJvdmlkZXJ9XG4gICAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgICAgbWFwcz17bWFwc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhDb2xDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTG9hZFN0b3JhZ2VNYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRTdG9yYWdlTWFwRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFPLE9BQU87QUFDN0QsT0FBT0Msa0JBQWtCLE1BQU0saUNBQWlDO0FBQ2hFLFNBQVFDLFNBQVMsUUFBTywrQkFBK0I7QUFDdkQsU0FBUUMsb0JBQW9CLFFBQU8sa0NBQWtDO0FBQ3JFLFNBQVFDLGNBQWMsUUFBTyxvQ0FBb0M7QUFDakUsU0FBUUMsZ0JBQWdCLFFBQU8sMEJBQTBCO0FBR3pEQyxxQkFBcUIsQ0FBQ0MsSUFBSSxHQUFHLENBQUNOLGtCQUFrQixDQUFDO0FBRWpELFNBQVNLLHFCQUFxQkEsQ0FBQ0UsV0FBa0QsRUFBRTtFQUNqRixJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUFDLElBQUEsRUFBeUI7SUFBQSxJQUFwQkMsY0FBYyxHQUFBRCxJQUFBLENBQWRDLGNBQWM7SUFDckMsSUFBQUMscUJBQUEsR0FBaUVULG9CQUFvQixDQUFDLENBQUM7TUFBdEVVLGVBQWUsR0FBQUQscUJBQUEsQ0FBekJFLFFBQVE7TUFBbUJDLFdBQVcsR0FBQUgscUJBQUEsQ0FBWEcsV0FBVztNQUFFQyxjQUFjLEdBQUFKLHFCQUFBLENBQWRJLGNBQWM7SUFDN0QsSUFBQUMsU0FBQSxHQUFrQ2xCLFFBQVEsQ0FBQyxLQUFLLENBQUM7TUFBQW1CLFVBQUEsR0FBQUMs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
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJDbG91ZEhlYWRlckZhY3RvcnkiLCJDbG91ZE1hcHMiLCJ1c2VDbG91ZExpc3RQcm92aWRlciIsIlByb3ZpZGVyU2VsZWN0IiwiQ2xvdWRTdG9yYWdlRGlzY2xhaW1lciIsIkZsZXhDb2xDb250YWluZXIiLCJzdHlsZWQiLCJTdHlsZWRMb2FkU3RvcmFnZU1hcCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJMb2FkU3RvcmFnZU1hcEZhY3RvcnkiLCJkZXBzIiwiQ2xvdWRIZWFkZXIiLCJMb2FkU3RvcmFnZU1hcCIsIl9yZWYiLCJvbkxvYWRDbG91ZE1hcCIsIl91c2VDbG91ZExpc3RQcm92aWRlciIsImN1cnJlbnRQcm92aWRlciIsInByb3ZpZGVyIiwic2V0UHJvdmlkZXIiLCJjbG91ZFByb3ZpZGVycyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibWFwcyIsInNldE1hcHMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVycm9yIiwic2V0RXJyb3IiLCJzZXRQcm92aWRlckluZm8iLCJsaXN0TWFwcyIsInRoZW4iLCJvblNlbGVjdE1hcCIsIm1hcCIsImxvYWRQYXJhbXMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJvbkJhY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL2xvYWQtc3RvcmFnZS1tYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VTdGF0ZSwgdXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2xvdWRIZWFkZXJGYWN0b3J5IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9jbG91ZC1oZWFkZXInO1xuaW1wb3J0IHtDbG91ZE1hcHN9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9jbG91ZC1tYXBzJztcbmltcG9ydCB7dXNlQ2xvdWRMaXN0UHJvdmlkZXJ9IGZyb20gJy4uL2hvb2tzL3VzZS1jbG91ZC1saXN0LXByb3ZpZGVyJztcbmltcG9ydCB7UHJvdmlkZXJTZWxlY3R9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QnO1xuaW1wb3J0IHtDbG91ZFN0b3JhZ2VEaXNjbGFpbWVyfSBmcm9tICcuL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtc3RvcmFnZS1kaXNjbGFpbWVyJztcbmltcG9ydCB7RmxleENvbENvbnRhaW5lcn0gZnJvbSAnLi4vY29tbW9uL2ZsZXgtY29udGFpbmVyJztcbmltcG9ydCB7UHJvdmlkZXIsIE1hcExpc3RJdGVtfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgU3R5bGVkTG9hZFN0b3JhZ2VNYXAgPSBzdHlsZWQoRmxleENvbENvbnRhaW5lcilgXG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuTG9hZFN0b3JhZ2VNYXBGYWN0b3J5LmRlcHMgPSBbQ2xvdWRIZWFkZXJGYWN0b3J5XTtcblxuZnVuY3Rpb24gTG9hZFN0b3JhZ2VNYXBGYWN0b3J5KENsb3VkSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBDbG91ZEhlYWRlckZhY3Rvcnk+KSB7XG4gIGNvbnN0IExvYWRTdG9yYWdlTWFwID0gKHtvbkxvYWRDbG91ZE1hcH0pID0+IHtcbiAgICBjb25zdCB7cHJvdmlkZXI6IGN1cnJlbnRQcm92aWRlciwgc2V0UHJvdmlkZXIsIGNsb3VkUHJvdmlkZXJzfSA9IHVzZUNsb3VkTGlzdFByb3ZpZGVyKCk7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbbWFwcywgc2V0TWFwc10gPSB1c2VTdGF0ZTxNYXBMaXN0SXRlbVtdIHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShudWxsKTtcblxuICAgIGNvbnN0IHNldFByb3ZpZGVySW5mbyA9IHVzZUNhbGxiYWNrKChwcm92aWRlcjogUHJvdmlkZXIgfCBudWxsKSA9PiB7XG4gICAgICBzZXRNYXBzKG51bGwpO1xuICAgICAgc2V0RXJyb3IobnVsbCk7XG4gICAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgICBwcm92aWRlclxuICAgICAgICAgIC5saXN0TWFwcygpXG4gICAgICAgICAgLnRoZW4oc2V0TWFwcylcbiAgICAgICAgICAuY2F0Y2goc2V0RXJyb3IpXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4gc2V0SXNMb2FkaW5nKGZhbHNlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRQcm92aWRlckluZm8oY3VycmVudFByb3ZpZGVyKTtcbiAgICB9LCBbY3VycmVudFByb3ZpZGVyLCBzZXRQcm92aWRlckluZm9dKTtcblxuICAgIGNvbnN0IG9uU2VsZWN0TWFwID0gdXNlQ2FsbGJhY2soXG4gICAgICAocHJvdmlkZXIsIG1hcCkgPT4ge1xuICAgICAgICBvbkxvYWRDbG91ZE1hcCh7XG4gICAgICAgICAgbG9hZFBhcmFtczogbWFwLmxvYWRQYXJhbXMsXG4gICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW29uTG9hZENsb3VkTWFwXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExvYWRTdG9yYWdlTWFwPlxuICAgICAgICB7IWN1cnJlbnRQcm92aWRlciA/IChcbiAgICAgICAgICA8UHJvdmlkZXJTZWxlY3QgY2xvdWRQcm92aWRlcnM9e2Nsb3VkUHJvdmlkZXJzfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8Q2xvdWRIZWFkZXIgcHJvdmlkZXI9e2N1cnJlbnRQcm92aWRlcn0gb25CYWNrPXsoKSA9PiBzZXRQcm92aWRlcihudWxsKX0gLz5cbiAgICAgICAgICAgIDxDbG91ZE1hcHNcbiAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgIG9uU2VsZWN0TWFwPXtvblNlbGVjdE1hcH1cbiAgICAgICAgICAgICAgcHJvdmlkZXI9e2N1cnJlbnRQcm92aWRlcn1cbiAgICAgICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgICAgICBtYXBzPXttYXBzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgICAgPENsb3VkU3RvcmFnZURpc2NsYWltZXIgLz5cbiAgICAgIDwvU3R5bGVkTG9hZFN0b3JhZ2VNYXA+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTG9hZFN0b3JhZ2VNYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRTdG9yYWdlTWFwRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQU8sT0FBTztBQUM3RCxPQUFPQyxrQkFBa0IsTUFBTSxpQ0FBaUM7QUFDaEUsU0FBUUMsU0FBUyxRQUFPLCtCQUErQjtBQUN2RCxTQUFRQyxvQkFBb0IsUUFBTyxrQ0FBa0M7QUFDckUsU0FBUUMsY0FBYyxRQUFPLG9DQUFvQztBQUNqRSxTQUFRQyxzQkFBc0IsUUFBTyw2Q0FBNkM7QUFDbEYsU0FBUUMsZ0JBQWdCLFFBQU8s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
@@ -10,6 +10,7 @@ import ImageModalContainer from './image-modal-container';
10
10
  import { FlexContainer } from '../common/flex-container';
11
11
  import StatusPanel, { UploadAnimation } from './status-panel';
12
12
  import { ProviderSelect } from './cloud-components/provider-select';
13
+ import { CloudStorageDisclaimer } from './cloud-components/cloud-storage-disclaimer';
13
14
  import { MAP_THUMBNAIL_DIMENSION, MAP_INFO_CHARACTER, dataTestIds } from '@kepler.gl/constants';
14
15
  import { StyledModalContent, InputLight, TextAreaLight, StyledExportSection, StyledModalSection, StyledModalInputFootnote } from '../common/styled-components';
15
16
  import ImagePreview from '../common/image-preview';
@@ -18,7 +19,7 @@ import { ModalFooter } from '../common/modal';
18
19
  import { useCloudListProvider } from '../hooks/use-cloud-list-provider';
19
20
  var StyledSaveMapModal = styled.div.attrs({
20
21
  className: 'save-map-modal'
21
- })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .save-map-modal-content {\n min-height: 400px;\n flex-direction: column;\n }\n\n .description {\n width: 300px;\n }\n\n .image-preview-panel {\n width: 300px;\n\n .image-preview {\n padding: 0;\n }\n }\n\n .map-info-panel {\n flex-direction: column;\n }\n\n .save-map-modal-description {\n .modal-section-subtitle {\n margin-left: 6px;\n }\n }\n"])));
22
+ })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .save-map-modal-content {\n min-height: 400px;\n display: flex;\n flex-direction: column;\n }\n\n .description {\n width: 300px;\n }\n\n .image-preview-panel {\n width: 300px;\n\n .image-preview {\n padding: 0;\n }\n }\n\n .map-info-panel {\n flex-direction: column;\n }\n\n .save-map-modal-description {\n .modal-section-subtitle {\n margin-left: 6px;\n }\n }\n"])));
22
23
  var StyledCompactExportSection = styled(StyledExportSection)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: 5px 0;\n"])));
23
24
  var nop = function nop() {
24
25
  return;
@@ -160,7 +161,7 @@ function SaveMapModalFactory() {
160
161
  isLoading: false,
161
162
  error: providerError.message,
162
163
  providerIcon: provider && provider.icon
163
- }) : null)), /*#__PURE__*/React.createElement(ModalFooter, {
164
+ }) : null, /*#__PURE__*/React.createElement(CloudStorageDisclaimer, null))), /*#__PURE__*/React.createElement(ModalFooter, {
164
165
  cancel: onCancel,
165
166
  confirm: confirm,
166
167
  confirmButton: confirmButton
@@ -169,4 +170,4 @@ function SaveMapModalFactory() {
169
170
  return SaveMapModal;
170
171
  }
171
172
  export default SaveMapModalFactory;
172
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInN0eWxlZCIsIkltYWdlTW9kYWxDb250YWluZXIiLCJGbGV4Q29udGFpbmVyIiwiU3RhdHVzUGFuZWwiLCJVcGxvYWRBbmltYXRpb24iLCJQcm92aWRlclNlbGVjdCIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwiZGF0YVRlc3RJZHMiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJJbnB1dExpZ2h0IiwiVGV4dEFyZWFMaWdodCIsIlN0eWxlZEV4cG9ydFNlY3Rpb24iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUiLCJJbWFnZVByZXZpZXciLCJGb3JtYXR0ZWRNZXNzYWdlIiwiTW9kYWxGb290ZXIiLCJ1c2VDbG91ZExpc3RQcm92aWRlciIsIlN0eWxlZFNhdmVNYXBNb2RhbCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsIlN0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uIiwiX3RlbXBsYXRlT2JqZWN0MiIsIm5vcCIsIlRFWFRfQVJFQV9MSUdIVF9TVFlMRSIsInJlc2l6ZSIsIk1hcEluZm9QYW5lbCIsIl9yZWYiLCJtYXBJbmZvIiwiY2hhcmFjdGVyTGltaXRzIiwib25DaGFuZ2VJbnB1dCIsIl9tYXBJbmZvJGRlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJfbWFwSW5mbyR0aXRsZSIsInRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInByb3ZpZGVyTWFwSW5mb1BhbmVsIiwiaWQiLCJ0eXBlIiwidmFsdWUiLCJvbkNoYW5nZSIsImUiLCJwbGFjZWhvbGRlciIsInJvd3MiLCJzdHlsZSIsImVycm9yIiwiQm9vbGVhbiIsImxlbmd0aCIsIk51bWJlciIsIlNhdmVNYXBIZWFkZXIiLCJfcmVmMiIsImNsb3VkUHJvdmlkZXJzIiwiU1RZTEVEX0VYUE9SVF9TRUNUSU9OX1NUWUxFIiwibWFyZ2luIiwiUFJPVklERVJfTUFOQUdFUl9VUkxfU1RZTEUiLCJ0ZXh0RGVjb3JhdGlvbiIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTYXZlTWFwTW9kYWwiLCJfcmVmMyIsImV4cG9ydEltYWdlIiwiX3JlZjMkY2hhcmFjdGVyTGltaXRzIiwiaXNQcm92aWRlckxvYWRpbmciLCJwcm92aWRlckVycm9yIiwiX3JlZjMkb25VcGRhdGVJbWFnZVNlIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJvblNldE1hcEluZm8iLCJvbkNhbmNlbCIsIm9uQ29uZmlybSIsIl91c2VDbG91ZExpc3RQcm92aWRlciIsInByb3ZpZGVyIiwia2V5IiwiX3JlZjQiLCJ0YXJnZXQiLCJfZGVmaW5lUHJvcGVydHkiLCJjb25maXJtQnV0dG9uIiwibGFyZ2UiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY29uZmlybSIsIkZyYWdtZW50IiwiZ2V0TWFuYWdlbWVudFVybCIsImhyZWYiLCJyZWwiLCJkaXNwbGF5TmFtZSIsIndpZHRoIiwic2hvd0RpbWVuc2lvbiIsInByb3ZpZGVyTG9hZGluZyIsImljb24iLCJpc0xvYWRpbmciLCJtZXNzYWdlIiwicHJvdmlkZXJJY29uIiwiY2FuY2VsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGFscy9zYXZlLW1hcC1tb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEltYWdlTW9kYWxDb250YWluZXIsIHtJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHN9IGZyb20gJy4vaW1hZ2UtbW9kYWwtY29udGFpbmVyJztcbmltcG9ydCB7RmxleENvbnRhaW5lcn0gZnJvbSAnLi4vY29tbW9uL2ZsZXgtY29udGFpbmVyJztcbmltcG9ydCBTdGF0dXNQYW5lbCwge1VwbG9hZEFuaW1hdGlvbn0gZnJvbSAnLi9zdGF0dXMtcGFuZWwnO1xuaW1wb3J0IHtQcm92aWRlclNlbGVjdH0gZnJvbSAnLi9jbG91ZC1jb21wb25lbnRzL3Byb3ZpZGVyLXNlbGVjdCc7XG5pbXBvcnQge01BUF9USFVNQk5BSUxfRElNRU5TSU9OLCBNQVBfSU5GT19DSEFSQUNURVIsIGRhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7XG4gIFN0eWxlZE1vZGFsQ29udGVudCxcbiAgSW5wdXRMaWdodCxcbiAgVGV4dEFyZWFMaWdodCxcbiAgU3R5bGVkRXhwb3J0U2VjdGlvbixcbiAgU3R5bGVkTW9kYWxTZWN0aW9uLFxuICBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVcbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJbWFnZVByZXZpZXcgZnJvbSAnLi4vY29tbW9uL2ltYWdlLXByZXZpZXcnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge01hcEluZm8sIEV4cG9ydEltYWdlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcbmltcG9ydCB7c2V0TWFwSW5mbywgY2xlYW51cEV4cG9ydEltYWdlIGFzIGNsZWFudXBFeHBvcnRJbWFnZUFjdGlvbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TW9kYWxGb290ZXJ9IGZyb20gJy4uL2NvbW1vbi9tb2RhbCc7XG5pbXBvcnQge3VzZUNsb3VkTGlzdFByb3ZpZGVyfSBmcm9tICcuLi9ob29rcy91c2UtY2xvdWQtbGlzdC1wcm92aWRlcic7XG5cbmNvbnN0IFN0eWxlZFNhdmVNYXBNb2RhbCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzYXZlLW1hcC1tb2RhbCdcbn0pYFxuICAuc2F2ZS1tYXAtbW9kYWwtY29udGVudCB7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG5cbiAgLmltYWdlLXByZXZpZXctcGFuZWwge1xuICAgIHdpZHRoOiAzMDBweDtcblxuICAgIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1hcC1pbmZvLXBhbmVsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnNhdmUtbWFwLW1vZGFsLWRlc2NyaXB0aW9uIHtcbiAgICAubW9kYWwtc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQ29tcGFjdEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQoU3R5bGVkRXhwb3J0U2VjdGlvbilgXG4gIG1hcmdpbjogNXB4IDA7XG5gO1xuXG5jb25zdCBub3AgPSAoKSA9PiB7XG4gIHJldHVybjtcbn07XG5jb25zdCBURVhUX0FSRUFfTElHSFRfU1RZTEUgPSB7cmVzaXplOiAnbm9uZSd9O1xuXG50eXBlIENoYXJhY3RlckxpbWl0cyA9IHtcbiAgdGl0bGU/OiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogbnVtYmVyO1xufTtcblxudHlwZSBTYXZlTWFwTW9kYWxQcm9wcyA9IHtcbiAgbWFwSW5mbzogTWFwSW5mbztcbiAgZXhwb3J0SW1hZ2U6IEV4cG9ydEltYWdlO1xuICBpc1Byb3ZpZGVyTG9hZGluZzogYm9vbGVhbjtcbiAgcHJvdmlkZXJFcnJvcj86IEVycm9yO1xuICBjaGFyYWN0ZXJMaW1pdHM/OiBDaGFyYWN0ZXJMaW1pdHM7XG5cbiAgLy8gY2FsbGJhY2tzXG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nOiBJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHNbJ29uVXBkYXRlSW1hZ2VTZXR0aW5nJ107XG4gIGNsZWFudXBFeHBvcnRJbWFnZTogdHlwZW9mIGNsZWFudXBFeHBvcnRJbWFnZUFjdGlvbjtcbiAgb25TZXRNYXBJbmZvOiB0eXBlb2Ygc2V0TWFwSW5mbztcbiAgb25Db25maXJtOiAocHJvdmlkZXI6IFByb3ZpZGVyKSA9PiB2b2lkO1xuICBvbkNhbmNlbDogKCkgPT4gdm9pZDtcbn07XG5cbnR5cGUgTWFwSW5mb1BhbmVsUHJvcHMgPSBQaWNrPFNhdmVNYXBNb2RhbFByb3BzLCAnbWFwSW5mbycgfCAnY2hhcmFjdGVyTGltaXRzJz4gJiB7XG4gIG9uQ2hhbmdlSW5wdXQ6IChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgTWFwSW5mb1BhbmVsOiBSZWFjdC5GQzxNYXBJbmZvUGFuZWxQcm9wcz4gPSAoe1xuICBtYXBJbmZvLFxuICBjaGFyYWN0ZXJMaW1pdHMsXG4gIG9uQ2hhbmdlSW5wdXRcbn0pID0+IHtcbiAgY29uc3Qge2Rlc2NyaXB0aW9uID0gJycsIHRpdGxlID0gJyd9ID0gbWFwSW5mbztcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGlvbiBtYXAtaW5mby1wYW5lbFwiIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5wcm92aWRlck1hcEluZm9QYW5lbH0+XG4gICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uIGNsYXNzTmFtZT1cInNhdmUtbWFwLW1vZGFsLW5hbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+TmFtZSo8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgaWQ9XCJtYXAtdGl0bGVcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgdmFsdWU9e3RpdGxlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gb25DaGFuZ2VJbnB1dCgndGl0bGUnLCBlKX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZSBtYXAgdGl0bGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICA8RmxleENvbnRhaW5lciBjbGFzc05hbWU9XCJzYXZlLW1hcC1tb2RhbC1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPkRlc2NyaXB0aW9uPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+KG9wdGlvbmFsKTwvZGl2PlxuICAgICAgICA8L0ZsZXhDb250YWluZXI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPFRleHRBcmVhTGlnaHRcbiAgICAgICAgICAgIHJvd3M9ezN9XG4gICAgICAgICAgICBpZD1cIm1hcC1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBzdHlsZT17VEVYVF9BUkVBX0xJR0hUX1NUWUxFIGFzIFJlYWN0LkNTU1Byb3BlcnRpZXN9XG4gICAgICAgICAgICB2YWx1ZT17ZGVzY3JpcHRpb259XG4gICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBvbkNoYW5nZUlucHV0KCdkZXNjcmlwdGlvbicsIGUpfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlIG1hcCBkZXNjcmlwdGlvblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGVcbiAgICAgICAgICBlcnJvcj17XG4gICAgICAgICAgICBCb29sZWFuKGNoYXJhY3RlckxpbWl0cz8uZGVzY3JpcHRpb24pICYmXG4gICAgICAgICAgICBkZXNjcmlwdGlvbi5sZW5ndGggPiBOdW1iZXIoY2hhcmFjdGVyTGltaXRzPy5kZXNjcmlwdGlvbilcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICB7ZGVzY3JpcHRpb24ubGVuZ3RofS97Y2hhcmFjdGVyTGltaXRzPy5kZXNjcmlwdGlvbiB8fCBNQVBfSU5GT19DSEFSQUNURVIuZGVzY3JpcHRpb259eycgJ31cbiAgICAgICAgICBjaGFyYWN0ZXJzXG4gICAgICAgIDwvU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlPlxuICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBTYXZlTWFwSGVhZGVyID0gKHtjbG91ZFByb3ZpZGVyc30pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRXhwb3J0U2VjdGlvbj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuc2F2ZU1hcC50aXRsZSd9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN1YnRpdGxlXCI+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5zYXZlTWFwLnN1YnRpdGxlJ30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxQcm92aWRlclNlbGVjdCBjbG91ZFByb3ZpZGVycz17Y2xvdWRQcm92aWRlcnN9IC8+XG4gICAgPC9TdHlsZWRFeHBvcnRTZWN0aW9uPlxuICApO1xufTtcblxuY29uc3QgU1RZTEVEX0VYUE9SVF9TRUNUSU9OX1NUWUxFID0ge21hcmdpbjogJzJweCAwJ307XG5jb25zdCBQUk9WSURFUl9NQU5BR0VSX1VSTF9TVFlMRSA9IHt0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZSd9O1xuXG5mdW5jdGlvbiBTYXZlTWFwTW9kYWxGYWN0b3J5KCkge1xuICBjb25zdCBTYXZlTWFwTW9kYWw6IFJlYWN0LkZDPFNhdmVNYXBNb2RhbFByb3BzPiA9ICh7XG4gICAgbWFwSW5mbyxcbiAgICBleHBvcnRJbWFnZSxcbiAgICBjaGFyYWN0ZXJMaW1pdHMgPSBNQVBfSU5GT19DSEFSQUNURVIsXG4gICAgaXNQcm92aWRlckxvYWRpbmcsXG4gICAgcHJvdmlkZXJFcnJvcixcbiAgICBvblVwZGF0ZUltYWdlU2V0dGluZyA9IG5vcCxcbiAgICBjbGVhbnVwRXhwb3J0SW1hZ2UsXG4gICAgb25TZXRNYXBJbmZvLFxuICAgIG9uQ2FuY2VsLFxuICAgIG9uQ29uZmlybVxuICB9KSA9PiB7XG4gICAgY29uc3Qge3Byb3ZpZGVyLCBjbG91ZFByb3ZpZGVyc30gPSB1c2VDbG91ZExpc3RQcm92aWRlcigpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2VJbnB1dCA9IChcbiAgICAgIGtleTogc3RyaW5nLFxuICAgICAge3RhcmdldDoge3ZhbHVlfX06IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBIVE1MSW5wdXRFbGVtZW50PlxuICAgICkgPT4ge1xuICAgICAgb25TZXRNYXBJbmZvKHtba2V5XTogdmFsdWV9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oIShwcm92aWRlciAmJiBtYXBJbmZvLnRpdGxlKSksXG4gICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLnNhdmUnXG4gICAgICB9KSxcbiAgICAgIFtwcm92aWRlciwgbWFwSW5mb11cbiAgICApO1xuXG4gICAgY29uc3QgY29uZmlybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChwcm92aWRlcikge1xuICAgICAgICBvbkNvbmZpcm0ocHJvdmlkZXIpO1xuICAgICAgfVxuICAgIH0sIFtvbkNvbmZpcm0sIHByb3ZpZGVyXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEltYWdlTW9kYWxDb250YWluZXJcbiAgICAgICAgcHJvdmlkZXI9e3Byb3ZpZGVyfVxuICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17b25VcGRhdGVJbWFnZVNldHRpbmd9XG4gICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17Y2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkU2F2ZU1hcE1vZGFsPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQgY2xhc3NOYW1lPVwic2F2ZS1tYXAtbW9kYWwtY29udGVudFwiPlxuICAgICAgICAgICAgPFNhdmVNYXBIZWFkZXIgY2xvdWRQcm92aWRlcnM9e2Nsb3VkUHJvdmlkZXJzfSAvPlxuICAgICAgICAgICAge3Byb3ZpZGVyICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7cHJvdmlkZXIuZ2V0TWFuYWdlbWVudFVybCA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRFeHBvcnRTZWN0aW9uIHN0eWxlPXtTVFlMRURfRVhQT1JUX1NFQ1RJT05fU1RZTEV9PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9ezF9XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtwcm92aWRlci5nZXRNYW5hZ2VtZW50VXJsKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17UFJPVklERVJfTUFOQUdFUl9VUkxfU1RZTEV9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgR28gdG8geW91ciBLZXBsZXIuZ2wge3Byb3ZpZGVyLmRpc3BsYXlOYW1lfSBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkRXhwb3J0U2VjdGlvbj5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8U3R5bGVkQ29tcGFjdEV4cG9ydFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uIGltYWdlLXByZXZpZXctcGFuZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPEltYWdlUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXtleHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17TUFQX1RIVU1CTkFJTF9ESU1FTlNJT04ud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgc2hvd0RpbWVuc2lvbj17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIHtpc1Byb3ZpZGVyTG9hZGluZyA/IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5wcm92aWRlckxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2VsZWN0aW9uIG1hcC1zYXZpbmctYW5pbWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxVcGxvYWRBbmltYXRpb24gaWNvbj17cHJvdmlkZXIgJiYgcHJvdmlkZXIuaWNvbn0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8TWFwSW5mb1BhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgbWFwSW5mbz17bWFwSW5mb31cbiAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJMaW1pdHM9e2NoYXJhY3RlckxpbWl0c31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZUlucHV0PXtvbkNoYW5nZUlucHV0fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7cHJvdmlkZXJFcnJvciA/IChcbiAgICAgICAgICAgICAgPFN0YXR1c1BhbmVsXG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBlcnJvcj17cHJvdmlkZXJFcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgIHByb3ZpZGVySWNvbj17cHJvdmlkZXIgJiYgcHJvdmlkZXIuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNhdmVNYXBNb2RhbD5cbiAgICAgICAgPE1vZGFsRm9vdGVyIGNhbmNlbD17b25DYW5jZWx9IGNvbmZpcm09e2NvbmZpcm19IGNvbmZpcm1CdXR0b249e2NvbmZpcm1CdXR0b259IC8+XG4gICAgICA8L0ltYWdlTW9kYWxDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gU2F2ZU1hcE1vZGFsO1xufVxuXG5leHBvcnQgZGVm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
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInN0eWxlZCIsIkltYWdlTW9kYWxDb250YWluZXIiLCJGbGV4Q29udGFpbmVyIiwiU3RhdHVzUGFuZWwiLCJVcGxvYWRBbmltYXRpb24iLCJQcm92aWRlclNlbGVjdCIsIkNsb3VkU3RvcmFnZURpc2NsYWltZXIiLCJNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsImRhdGFUZXN0SWRzIiwiU3R5bGVkTW9kYWxDb250ZW50IiwiSW5wdXRMaWdodCIsIlRleHRBcmVhTGlnaHQiLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlIiwiSW1hZ2VQcmV2aWV3IiwiRm9ybWF0dGVkTWVzc2FnZSIsIk1vZGFsRm9vdGVyIiwidXNlQ2xvdWRMaXN0UHJvdmlkZXIiLCJTdHlsZWRTYXZlTWFwTW9kYWwiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJTdHlsZWRDb21wYWN0RXhwb3J0U2VjdGlvbiIsIl90ZW1wbGF0ZU9iamVjdDIiLCJub3AiLCJURVhUX0FSRUFfTElHSFRfU1RZTEUiLCJyZXNpemUiLCJNYXBJbmZvUGFuZWwiLCJfcmVmIiwibWFwSW5mbyIsImNoYXJhY3RlckxpbWl0cyIsIm9uQ2hhbmdlSW5wdXQiLCJfbWFwSW5mbyRkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uIiwiX21hcEluZm8kdGl0bGUiLCJ0aXRsZSIsImNyZWF0ZUVsZW1lbnQiLCJwcm92aWRlck1hcEluZm9QYW5lbCIsImlkIiwidHlwZSIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwicGxhY2Vob2xkZXIiLCJyb3dzIiwic3R5bGUiLCJlcnJvciIsIkJvb2xlYW4iLCJsZW5ndGgiLCJOdW1iZXIiLCJTYXZlTWFwSGVhZGVyIiwiX3JlZjIiLCJjbG91ZFByb3ZpZGVycyIsIlNUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRSIsIm1hcmdpbiIsIlBST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFIiwidGV4dERlY29yYXRpb24iLCJTYXZlTWFwTW9kYWxGYWN0b3J5IiwiU2F2ZU1hcE1vZGFsIiwiX3JlZjMiLCJleHBvcnRJbWFnZSIsIl9yZWYzJGNoYXJhY3RlckxpbWl0cyIsImlzUHJvdmlkZXJMb2FkaW5nIiwicHJvdmlkZXJFcnJvciIsIl9yZWYzJG9uVXBkYXRlSW1hZ2VTZSIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwib25TZXRNYXBJbmZvIiwib25DYW5jZWwiLCJvbkNvbmZpcm0iLCJfdXNlQ2xvdWRMaXN0UHJvdmlkZXIiLCJwcm92aWRlciIsImtleSIsIl9yZWY0IiwidGFyZ2V0IiwiX2RlZmluZVByb3BlcnR5IiwiY29uZmlybUJ1dHRvbiIsImxhcmdlIiwiZGlzYWJsZWQiLCJjaGlsZHJlbiIsImNvbmZpcm0iLCJGcmFnbWVudCIsImdldE1hbmFnZW1lbnRVcmwiLCJocmVmIiwicmVsIiwiZGlzcGxheU5hbWUiLCJ3aWR0aCIsInNob3dEaW1lbnNpb24iLCJwcm92aWRlckxvYWRpbmciLCJpY29uIiwiaXNMb2FkaW5nIiwibWVzc2FnZSIsInByb3ZpZGVySWNvbiIsImNhbmNlbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvc2F2ZS1tYXAtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJbWFnZU1vZGFsQ29udGFpbmVyLCB7SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzfSBmcm9tICcuL2ltYWdlLW1vZGFsLWNvbnRhaW5lcic7XG5pbXBvcnQge0ZsZXhDb250YWluZXJ9IGZyb20gJy4uL2NvbW1vbi9mbGV4LWNvbnRhaW5lcic7XG5pbXBvcnQgU3RhdHVzUGFuZWwsIHtVcGxvYWRBbmltYXRpb259IGZyb20gJy4vc3RhdHVzLXBhbmVsJztcbmltcG9ydCB7UHJvdmlkZXJTZWxlY3R9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QnO1xuaW1wb3J0IHtDbG91ZFN0b3JhZ2VEaXNjbGFpbWVyfSBmcm9tICcuL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtc3RvcmFnZS1kaXNjbGFpbWVyJztcbmltcG9ydCB7TUFQX1RIVU1CTkFJTF9ESU1FTlNJT04sIE1BUF9JTkZPX0NIQVJBQ1RFUiwgZGF0YVRlc3RJZHN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWxDb250ZW50LFxuICBJbnB1dExpZ2h0LFxuICBUZXh0QXJlYUxpZ2h0LFxuICBTdHlsZWRFeHBvcnRTZWN0aW9uLFxuICBTdHlsZWRNb2RhbFNlY3Rpb24sXG4gIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVxufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEltYWdlUHJldmlldyBmcm9tICcuLi9jb21tb24vaW1hZ2UtcHJldmlldyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7TWFwSW5mbywgRXhwb3J0SW1hZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuaW1wb3J0IHtzZXRNYXBJbmZvLCBjbGVhbnVwRXhwb3J0SW1hZ2UgYXMgY2xlYW51cEV4cG9ydEltYWdlQWN0aW9ufSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtNb2RhbEZvb3Rlcn0gZnJvbSAnLi4vY29tbW9uL21vZGFsJztcbmltcG9ydCB7dXNlQ2xvdWRMaXN0UHJvdmlkZXJ9IGZyb20gJy4uL2hvb2tzL3VzZS1jbG91ZC1saXN0LXByb3ZpZGVyJztcblxuY29uc3QgU3R5bGVkU2F2ZU1hcE1vZGFsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NhdmUtbWFwLW1vZGFsJ1xufSlgXG4gIC5zYXZlLW1hcC1tb2RhbC1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIC5pbWFnZS1wcmV2aWV3LXBhbmVsIHtcbiAgICB3aWR0aDogMzAwcHg7XG5cbiAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXAtaW5mby1wYW5lbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5zYXZlLW1hcC1tb2RhbC1kZXNjcmlwdGlvbiB7XG4gICAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uID0gc3R5bGVkKFN0eWxlZEV4cG9ydFNlY3Rpb24pYFxuICBtYXJnaW46IDVweCAwO1xuYDtcblxuY29uc3Qgbm9wID0gKCkgPT4ge1xuICByZXR1cm47XG59O1xuY29uc3QgVEVYVF9BUkVBX0xJR0hUX1NUWUxFID0ge3Jlc2l6ZTogJ25vbmUnfTtcblxudHlwZSBDaGFyYWN0ZXJMaW1pdHMgPSB7XG4gIHRpdGxlPzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IG51bWJlcjtcbn07XG5cbnR5cGUgU2F2ZU1hcE1vZGFsUHJvcHMgPSB7XG4gIG1hcEluZm86IE1hcEluZm87XG4gIGV4cG9ydEltYWdlOiBFeHBvcnRJbWFnZTtcbiAgaXNQcm92aWRlckxvYWRpbmc6IGJvb2xlYW47XG4gIHByb3ZpZGVyRXJyb3I/OiBFcnJvcjtcbiAgY2hhcmFjdGVyTGltaXRzPzogQ2hhcmFjdGVyTGltaXRzO1xuXG4gIC8vIGNhbGxiYWNrc1xuICBvblVwZGF0ZUltYWdlU2V0dGluZzogSW1hZ2VNb2RhbENvbnRhaW5lclByb3BzWydvblVwZGF0ZUltYWdlU2V0dGluZyddO1xuICBjbGVhbnVwRXhwb3J0SW1hZ2U6IHR5cGVvZiBjbGVhbnVwRXhwb3J0SW1hZ2VBY3Rpb247XG4gIG9uU2V0TWFwSW5mbzogdHlwZW9mIHNldE1hcEluZm87XG4gIG9uQ29uZmlybTogKHByb3ZpZGVyOiBQcm92aWRlcikgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIE1hcEluZm9QYW5lbFByb3BzID0gUGljazxTYXZlTWFwTW9kYWxQcm9wcywgJ21hcEluZm8nIHwgJ2NoYXJhY3RlckxpbWl0cyc+ICYge1xuICBvbkNoYW5nZUlucHV0OiAoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IE1hcEluZm9QYW5lbDogUmVhY3QuRkM8TWFwSW5mb1BhbmVsUHJvcHM+ID0gKHtcbiAgbWFwSW5mbyxcbiAgY2hhcmFjdGVyTGltaXRzLFxuICBvbkNoYW5nZUlucHV0XG59KSA9PiB7XG4gIGNvbnN0IHtkZXNjcmlwdGlvbiA9ICcnLCB0aXRsZSA9ICcnfSA9IG1hcEluZm87XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb24gbWFwLWluZm8tcGFuZWxcIiBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMucHJvdmlkZXJNYXBJbmZvUGFuZWx9PlxuICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbiBjbGFzc05hbWU9XCJzYXZlLW1hcC1tb2RhbC1uYW1lXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPk5hbWUqPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgIGlkPVwibWFwLXRpdGxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXt0aXRsZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IG9uQ2hhbmdlSW5wdXQoJ3RpdGxlJywgZSl9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlR5cGUgbWFwIHRpdGxlXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgPEZsZXhDb250YWluZXIgY2xhc3NOYW1lPVwic2F2ZS1tYXAtbW9kYWwtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5EZXNjcmlwdGlvbjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi1zdWJ0aXRsZVwiPihvcHRpb25hbCk8L2Rpdj5cbiAgICAgICAgPC9GbGV4Q29udGFpbmVyPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxUZXh0QXJlYUxpZ2h0XG4gICAgICAgICAgICByb3dzPXszfVxuICAgICAgICAgICAgaWQ9XCJtYXAtZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgc3R5bGU9e1RFWFRfQVJFQV9MSUdIVF9TVFlMRSBhcyBSZWFjdC5DU1NQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgdmFsdWU9e2Rlc2NyaXB0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gb25DaGFuZ2VJbnB1dCgnZGVzY3JpcHRpb24nLCBlKX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZSBtYXAgZGVzY3JpcHRpb25cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlXG4gICAgICAgICAgZXJyb3I9e1xuICAgICAgICAgICAgQm9vbGVhbihjaGFyYWN0ZXJMaW1pdHM/LmRlc2NyaXB0aW9uKSAmJlxuICAgICAgICAgICAgZGVzY3JpcHRpb24ubGVuZ3RoID4gTnVtYmVyKGNoYXJhY3RlckxpbWl0cz8uZGVzY3JpcHRpb24pXG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAge2Rlc2NyaXB0aW9uLmxlbmd0aH0ve2NoYXJhY3RlckxpbWl0cz8uZGVzY3JpcHRpb24gfHwgTUFQX0lORk9fQ0hBUkFDVEVSLmRlc2NyaXB0aW9ufXsnICd9XG4gICAgICAgICAgY2hhcmFjdGVyc1xuICAgICAgICA8L1N0eWxlZE1vZGFsSW5wdXRGb290bm90ZT5cbiAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgU2F2ZU1hcEhlYWRlciA9ICh7Y2xvdWRQcm92aWRlcnN9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLnNhdmVNYXAudGl0bGUnfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdWJ0aXRsZVwiPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuc2F2ZU1hcC5zdWJ0aXRsZSd9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8UHJvdmlkZXJTZWxlY3QgY2xvdWRQcm92aWRlcnM9e2Nsb3VkUHJvdmlkZXJzfSAvPlxuICAgIDwvU3R5bGVkRXhwb3J0U2VjdGlvbj5cbiAgKTtcbn07XG5cbmNvbnN0IFNUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRSA9IHttYXJnaW46ICcycHggMCd9O1xuY29uc3QgUFJPVklERVJfTUFOQUdFUl9VUkxfU1RZTEUgPSB7dGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnfTtcblxuZnVuY3Rpb24gU2F2ZU1hcE1vZGFsRmFjdG9yeSgpIHtcbiAgY29uc3QgU2F2ZU1hcE1vZGFsOiBSZWFjdC5GQzxTYXZlTWFwTW9kYWxQcm9wcz4gPSAoe1xuICAgIG1hcEluZm8sXG4gICAgZXhwb3J0SW1hZ2UsXG4gICAgY2hhcmFjdGVyTGltaXRzID0gTUFQX0lORk9fQ0hBUkFDVEVSLFxuICAgIGlzUHJvdmlkZXJMb2FkaW5nLFxuICAgIHByb3ZpZGVyRXJyb3IsXG4gICAgb25VcGRhdGVJbWFnZVNldHRpbmcgPSBub3AsXG4gICAgY2xlYW51cEV4cG9ydEltYWdlLFxuICAgIG9uU2V0TWFwSW5mbyxcbiAgICBvbkNhbmNlbCxcbiAgICBvbkNvbmZpcm1cbiAgfSkgPT4ge1xuICAgIGNvbnN0IHtwcm92aWRlciwgY2xvdWRQcm92aWRlcnN9ID0gdXNlQ2xvdWRMaXN0UHJvdmlkZXIoKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlSW5wdXQgPSAoXG4gICAgICBrZXk6IHN0cmluZyxcbiAgICAgIHt0YXJnZXQ6IHt2YWx1ZX19OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudD5cbiAgICApID0+IHtcbiAgICAgIG9uU2V0TWFwSW5mbyh7W2tleV06IHZhbHVlfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuKCEocHJvdmlkZXIgJiYgbWFwSW5mby50aXRsZSkpLFxuICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5zYXZlJ1xuICAgICAgfSksXG4gICAgICBbcHJvdmlkZXIsIG1hcEluZm9dXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbmZpcm0gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgICAgb25Db25maXJtKHByb3ZpZGVyKTtcbiAgICAgIH1cbiAgICB9LCBbb25Db25maXJtLCBwcm92aWRlcl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJbWFnZU1vZGFsQ29udGFpbmVyXG4gICAgICAgIHByb3ZpZGVyPXtwcm92aWRlcn1cbiAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e29uVXBkYXRlSW1hZ2VTZXR0aW5nfVxuICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e2NsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZFNhdmVNYXBNb2RhbD5cbiAgICAgICAgICA8U3R5bGVkTW9kYWxDb250ZW50IGNsYXNzTmFtZT1cInNhdmUtbWFwLW1vZGFsLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxTYXZlTWFwSGVhZGVyIGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc30gLz5cbiAgICAgICAgICAgIHtwcm92aWRlciAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge3Byb3ZpZGVyLmdldE1hbmFnZW1lbnRVcmwgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXhwb3J0U2VjdGlvbiBzdHlsZT17U1RZTEVEX0VYUE9SVF9TRUNUSU9OX1NUWUxFfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXsxfVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17cHJvdmlkZXIuZ2V0TWFuYWdlbWVudFVybCgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1BST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHlvdXIgS2VwbGVyLmdsIHtwcm92aWRlci5kaXNwbGF5TmFtZX0gcGFnZVxuICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPFN0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvbiBpbWFnZS1wcmV2aWV3LXBhbmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxJbWFnZVByZXZpZXdcbiAgICAgICAgICAgICAgICAgICAgICBleHBvcnRJbWFnZT17ZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e01BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgIHNob3dEaW1lbnNpb249e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB7aXNQcm92aWRlckxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMucHJvdmlkZXJMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNlbGVjdGlvbiBtYXAtc2F2aW5nLWFuaW1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VXBsb2FkQW5pbWF0aW9uIGljb249e3Byb3ZpZGVyICYmIHByb3ZpZGVyLmljb259IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1hcEluZm9QYW5lbFxuICAgICAgICAgICAgICAgICAgICAgIG1hcEluZm89e21hcEluZm99XG4gICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyTGltaXRzPXtjaGFyYWN0ZXJMaW1pdHN9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VJbnB1dD17b25DaGFuZ2VJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb21wYWN0RXhwb3J0U2VjdGlvbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3Byb3ZpZGVyRXJyb3IgPyAoXG4gICAgICAgICAgICAgIDxTdGF0dXNQYW5lbFxuICAgICAgICAgICAgICAgIGlzTG9hZGluZz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgZXJyb3I9e3Byb3ZpZGVyRXJyb3IubWVzc2FnZX1cbiAgICAgICAgICAgICAgICBwcm92aWRlckljb249e3Byb3ZpZGVyICYmIHByb3ZpZGVyLmljb259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxDbG91ZFN0b3JhZ2VEaXNjbGFpbWVyIC8+XG4gICAgICAgICAgPC9TdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgIDwvU3R5bGVkU2F2ZU1hcE1vZGFsPlxuICAgICAgICA8TW9kYWxGb290ZXIgY2FuY2VsPXtvbkNhbmNlbH0gY29uZmlybT17Y29uZmlybX0gY29uZmlybUJ1dHRvbj17Y29uZmlybUJ1dHRvbn0gLz5cbiAgICAgIDwvSW1hZ2VNb2RhbENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBTYXZlTWFwTW9kYWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNhdmVNYXBNb2RhbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLE9BQU8sUUFBTyxPQUFPO0FBQ2pELE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsbUJBQW1CLE1BQWtDLHlCQUF5QjtBQUNyRixTQUFRQyxhQUFhLFFBQU8sMEJBQTBCO0FBQ3RELE9BQU9DLFdBQVcsSUFBR0MsZUFBZSxRQUFPLGdCQUFnQjtBQUMzRCxTQUFRQyxjQUFjLFFBQU8sb0NBQW9DO0FBQ2pFLFNBQVFDLHNCQUFzQixRQUFPLDZDQUE2QztBQUNsRixTQUFRQyx1QkFBdUIsRUFBRUMsa0JBQWtCLEVBQUVDLFdBQVcsUUFBTyxzQkFBc0I7QUFFN0YsU0FDRUMsa0JBQWtCLEVBQ2xCQyxVQUFVLEVBQ1ZDLGFBQWEsRUFDYkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLHdCQUF3QixRQUNuQiw2QkFBNkI7QUFDcEMsT0FBT0MsWUFBWSxNQUFNLHlCQUF5QjtBQUNsRCxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFJeEQsU0FBUUMsV0FBVyxRQUFPLGlCQUFpQjtBQUMzQyxTQUFRQyxvQkFBb0IsUUFBTyxrQ0FBa0M7QUFFckUsSUFBTUMsa0JBQWtCLEdBQUdwQixNQUFNLENBQUNxQixHQUFHLENBQUNDLEtBQUssQ0FBQztFQUMxQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSx1YUE0QkQ7QUFFRCxJQUFNQywwQkFBMEIsR0FBRzFCLE1BQU0sQ0FB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