UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

88 lines (87 loc) 19.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _icons = require("../common/icons"); var _fieldSelector = _interopRequireDefault(require("../common/field-selector")); var _styledComponents2 = require("../common/styled-components"); var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } var TOP_SECTION_HEIGHT = '36px'; var TopSectionWrapper = _styledComponents["default"].div.attrs({ className: 'time-widget--top' })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n color: ", ";\n height: ", ";\n\n .bottom-widget__y-axis {\n flex-grow: 1;\n margin-left: 20px;\n }\n\n .bottom-widget__field-select {\n width: 160px;\n display: inline-block;\n\n .item-selector__dropdown {\n background: transparent;\n padding: 4px 10px 4px 4px;\n border-color: transparent;\n\n &:active,\n &:focus,\n &.focus,\n &.active {\n background: transparent;\n border-color: transparent;\n }\n }\n\n .item-selector__dropdown:hover {\n background: transparent;\n border-color: transparent;\n\n .item-selector__dropdown__value {\n color: ", ";\n }\n }\n }\n\n .animation-control__speed-control {\n margin-right: -12px;\n\n .animation-control__speed-slider {\n right: calc(0% - 48px);\n }\n }\n"])), function (props) { return props.theme.labelColor; }, TOP_SECTION_HEIGHT, function (props) { return props.hoverColor ? props.theme[props.hoverColor] : props.theme.textColorHl; }); var StyledTitle = (0, _styledComponents["default"])(_styledComponents2.CenterFlexbox)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 0;\n color: ", ";\n margin-right: 10px;\n\n .bottom-widget__icon {\n margin-right: 6px;\n }\n .bottom-widget__icon.speed {\n margin-right: 0;\n }\n"])), function (props) { return props.theme.textColor; }); var StyledCenterBox = (0, _styledComponents["default"])(_styledComponents2.CenterFlexbox)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n > div {\n margin-left: 4px;\n }\n"]))); TimeWidgetTopFactory.deps = [_fieldSelector["default"]]; function TimeWidgetTopFactory(FieldSelector) { var TimeWidgetTop = function TimeWidgetTop(_ref) { var filter = _ref.filter, readOnly = _ref.readOnly, datasets = _ref.datasets, setFilterPlot = _ref.setFilterPlot, onClose = _ref.onClose, isMinified = _ref.isMinified, onToggleMinify = _ref.onToggleMinify; var yAxisFields = (0, _react.useMemo)(function () { return ((datasets[filter.dataId[0]] || {}).fields || []).filter(function (f) { return f.type === 'integer' || f.type === 'real'; }); }, [datasets, filter.dataId]); var _setFilterPlotYAxis = (0, _react.useCallback)(function (value) { return setFilterPlot({ yAxis: value }); }, [setFilterPlot]); return /*#__PURE__*/_react["default"].createElement(TopSectionWrapper, null, /*#__PURE__*/_react["default"].createElement(StyledTitle, { className: "bottom-widget__field" }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.CenterFlexbox, { className: "bottom-widget__icon" }, /*#__PURE__*/_react["default"].createElement(_icons.Clock, { height: "15px" })), /*#__PURE__*/_react["default"].createElement(_styledComponents2.SelectTextBold, null, filter.name)), !isMinified ? /*#__PURE__*/_react["default"].createElement(StyledTitle, { className: "bottom-widget__y-axis" }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.CenterFlexbox, { className: "bottom-widget__icon" }, /*#__PURE__*/_react["default"].createElement(_icons.LineChart, { height: "15px" })), /*#__PURE__*/_react["default"].createElement("div", { className: "bottom-widget__field-select" }, /*#__PURE__*/_react["default"].createElement(FieldSelector, { fields: yAxisFields, placement: "top", id: "selected-time-widget-field", value: filter.yAxis ? filter.yAxis.name : null, onSelect: _setFilterPlotYAxis, placeholder: "placeholder.yAxis", erasable: true, showToken: false }))) : null, /*#__PURE__*/_react["default"].createElement(StyledCenterBox, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.IconRoundSmall, null, isMinified ? /*#__PURE__*/_react["default"].createElement(_icons.ArrowUp, { height: "12px", onClick: onToggleMinify }) : /*#__PURE__*/_react["default"].createElement(_icons.ArrowDown, { height: "12px", onClick: onToggleMinify })), !readOnly ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.IconRoundSmall, null, /*#__PURE__*/_react["default"].createElement(_icons.Close, { height: "12px", onClick: onClose })) : null)); }; return TimeWidgetTop; } var _default = exports["default"] = TimeWidgetTopFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfZmllbGRTZWxlY3RvciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVE9QX1NFQ1RJT05fSEVJR0hUIiwiVG9wU2VjdGlvbldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJob3ZlckNvbG9yIiwidGV4dENvbG9ySGwiLCJTdHlsZWRUaXRsZSIsIkNlbnRlckZsZXhib3giLCJ0ZXh0Q29sb3IiLCJTdHlsZWRDZW50ZXJCb3giLCJUaW1lV2lkZ2V0VG9wRmFjdG9yeSIsImRlcHMiLCJGaWVsZFNlbGVjdG9yRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3IiLCJUaW1lV2lkZ2V0VG9wIiwiX3JlZiIsImZpbHRlciIsInJlYWRPbmx5IiwiZGF0YXNldHMiLCJzZXRGaWx0ZXJQbG90Iiwib25DbG9zZSIsImlzTWluaWZpZWQiLCJvblRvZ2dsZU1pbmlmeSIsInlBeGlzRmllbGRzIiwidXNlTWVtbyIsImRhdGFJZCIsImZpZWxkcyIsImYiLCJ0eXBlIiwiX3NldEZpbHRlclBsb3RZQXhpcyIsInVzZUNhbGxiYWNrIiwidmFsdWUiLCJ5QXhpcyIsImNyZWF0ZUVsZW1lbnQiLCJDbG9jayIsImhlaWdodCIsIlNlbGVjdFRleHRCb2xkIiwibmFtZSIsIkxpbmVDaGFydCIsInBsYWNlbWVudCIsImlkIiwib25TZWxlY3QiLCJwbGFjZWhvbGRlciIsImVyYXNhYmxlIiwic2hvd1Rva2VuIiwiSWNvblJvdW5kU21hbGwiLCJBcnJvd1VwIiwib25DbGljayIsIkFycm93RG93biIsIkNsb3NlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlcnMvdGltZS13aWRnZXQtdG9wLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge0lTdHlsZWRDb21wb25lbnR9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Q2xvY2ssIENsb3NlLCBMaW5lQ2hhcnQsIEFycm93RG93biwgQXJyb3dVcH0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IHtTZWxlY3RUZXh0Qm9sZCwgSWNvblJvdW5kU21hbGwsIENlbnRlckZsZXhib3h9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1RpbWVXaWRnZXRUb3BQcm9wcywgVG9wU2VjdGlvbldyYXBwZXJQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge0ZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuY29uc3QgVE9QX1NFQ1RJT05fSEVJR0hUID0gJzM2cHgnO1xuXG5jb25zdCBUb3BTZWN0aW9uV3JhcHBlcjogSVN0eWxlZENvbXBvbmVudDwnd2ViJywgVG9wU2VjdGlvbldyYXBwZXJQcm9wcz4gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAndGltZS13aWRnZXQtLXRvcCdcbn0pPFRvcFNlY3Rpb25XcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgaGVpZ2h0OiAke1RPUF9TRUNUSU9OX0hFSUdIVH07XG5cbiAgLmJvdHRvbS13aWRnZXRfX3ktYXhpcyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLmJvdHRvbS13aWRnZXRfX2ZpZWxkLXNlbGVjdCB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5pdGVtLXNlbGVjdG9yX19kcm9wZG93biB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDRweCAxMHB4IDRweCA0cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmLmZvY3VzLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd25fX3ZhbHVlIHtcbiAgICAgICAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgICAgICBwcm9wcy5ob3ZlckNvbG9yID8gcHJvcHMudGhlbWVbcHJvcHMuaG92ZXJDb2xvcl0gOiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFuaW1hdGlvbi1jb250cm9sX19zcGVlZC1jb250cm9sIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuXG4gICAgLmFuaW1hdGlvbi1jb250cm9sX19zcGVlZC1zbGlkZXIge1xuICAgICAgcmlnaHQ6IGNhbGMoMCUgLSA0OHB4KTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRpdGxlID0gc3R5bGVkKENlbnRlckZsZXhib3gpYFxuICBmbGV4LWdyb3c6IDA7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAuYm90dG9tLXdpZGdldF9faWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbiAgLmJvdHRvbS13aWRnZXRfX2ljb24uc3BlZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQ2VudGVyQm94ID0gc3R5bGVkKENlbnRlckZsZXhib3gpYFxuICA+IGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgfVxuYDtcblxuVGltZVdpZGdldFRvcEZhY3RvcnkuZGVwcyA9IFtGaWVsZFNlbGVjdG9yRmFjdG9yeV07XG5mdW5jdGlvbiBUaW1lV2lkZ2V0VG9wRmFjdG9yeShGaWVsZFNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWVsZFNlbGVjdG9yRmFjdG9yeT4pIHtcbiAgY29uc3QgVGltZVdpZGdldFRvcDogUmVhY3QuRkM8VGltZVdpZGdldFRvcFByb3BzPiA9ICh7XG4gICAgZmlsdGVyLFxuICAgIHJlYWRPbmx5LFxuICAgIGRhdGFzZXRzLFxuICAgIHNldEZpbHRlclBsb3QsXG4gICAgb25DbG9zZSxcbiAgICBpc01pbmlmaWVkLFxuICAgIG9uVG9nZ2xlTWluaWZ5XG4gIH0pID0+IHtcbiAgICBjb25zdCB5QXhpc0ZpZWxkcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICAoKGRhdGFzZXRzW2ZpbHRlci5kYXRhSWRbMF1dIHx8IHt9KS5maWVsZHMgfHwgW10pLmZpbHRlcihcbiAgICAgICAgICAoZjogRmllbGQpID0+IGYudHlwZSA9PT0gJ2ludGVnZXInIHx8IGYudHlwZSA9PT0gJ3JlYWwnXG4gICAgICAgICksXG4gICAgICBbZGF0YXNldHMsIGZpbHRlci5kYXRhSWRdXG4gICAgKTtcbiAgICBjb25zdCBfc2V0RmlsdGVyUGxvdFlBeGlzID0gdXNlQ2FsbGJhY2soXG4gICAgICB2YWx1ZSA9PiBzZXRGaWx0ZXJQbG90KHt5QXhpczogdmFsdWV9KSxcbiAgICAgIFtzZXRGaWx0ZXJQbG90XVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRvcFNlY3Rpb25XcmFwcGVyPlxuICAgICAgICA8U3R5bGVkVGl0bGUgY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldF9fZmllbGRcIj5cbiAgICAgICAgICA8Q2VudGVyRmxleGJveCBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0X19pY29uXCI+XG4gICAgICAgICAgICA8Q2xvY2sgaGVpZ2h0PVwiMTVweFwiIC8+XG4gICAgICAgICAgPC9DZW50ZXJGbGV4Ym94PlxuICAgICAgICAgIDxTZWxlY3RUZXh0Qm9sZD57ZmlsdGVyLm5hbWV9PC9TZWxlY3RUZXh0Qm9sZD5cbiAgICAgICAgPC9TdHlsZWRUaXRsZT5cbiAgICAgICAgeyFpc01pbmlmaWVkID8gKFxuICAgICAgICAgIDxTdHlsZWRUaXRsZSBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0X195LWF4aXNcIj5cbiAgICAgICAgICAgIDxDZW50ZXJGbGV4Ym94IGNsYXNzTmFtZT1cImJvdHRvbS13aWRnZXRfX2ljb25cIj5cbiAgICAgICAgICAgICAgPExpbmVDaGFydCBoZWlnaHQ9XCIxNXB4XCIgLz5cbiAgICAgICAgICAgIDwvQ2VudGVyRmxleGJveD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldF9fZmllbGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgICAgICAgZmllbGRzPXt5QXhpc0ZpZWxkc31cbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0ZWQtdGltZS13aWRnZXQtZmllbGRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtmaWx0ZXIueUF4aXMgPyBmaWx0ZXIueUF4aXMubmFtZSA6IG51bGx9XG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9e19zZXRGaWx0ZXJQbG90WUF4aXN9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlci55QXhpc1wiXG4gICAgICAgICAgICAgICAgZXJhc2FibGVcbiAgICAgICAgICAgICAgICBzaG93VG9rZW49e2ZhbHNlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TdHlsZWRUaXRsZT5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxTdHlsZWRDZW50ZXJCb3g+XG4gICAgICAgICAgPEljb25Sb3VuZFNtYWxsPlxuICAgICAgICAgICAge2lzTWluaWZpZWQgPyAoXG4gICAgICAgICAgICAgIDxBcnJvd1VwIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXtvblRvZ2dsZU1pbmlmeX0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e29uVG9nZ2xlTWluaWZ5fSAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ljb25Sb3VuZFNtYWxsPlxuICAgICAgICAgIHshcmVhZE9ubHkgPyAoXG4gICAgICAgICAgICA8SWNvblJvdW5kU21hbGw+XG4gICAgICAgICAgICAgIDxDbG9zZSBoZWlnaHQ9XCIxMnB4XCIgb25DbGljaz17b25DbG9zZX0gLz5cbiAgICAgICAgICAgIDwvSWNvblJvdW5kU21hbGw+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU3R5bGVkQ2VudGVyQm94PlxuICAgICAgPC9Ub3BTZWN0aW9uV3JhcHBlcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gVGltZVdpZGdldFRvcDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVGltZVdpZGdldFRvcEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQTBGLElBQUFNLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFQMUY7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWCx3QkFBQVcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxH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