kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
439 lines (438 loc) • 118 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.WidgetContainer = exports.TruncatedTitleText = exports.Tooltip = exports.TextAreaLight = exports.TextArea = exports.StyledType = exports.StyledTimePicker = exports.StyledTable = exports.StyledPanelHeader = exports.StyledPanelDropdown = exports.StyledModalVerticalPanel = exports.StyledModalSection = exports.StyledModalInputFootnote = exports.StyledModalContent = exports.StyledMapContainer = exports.StyledFilteredOption = exports.StyledFilterContent = exports.StyledExportSection = exports.StyledDatePicker = exports.StyledAttribution = exports.SpaceBetweenFlexbox = exports.SidePanelSection = exports.SidePanelDivider = exports.SelectionButton = exports.SelectTextBold = exports.SelectText = exports.SBFlexboxNoMargin = exports.SBFlexboxItem = exports.PanelLabelWrapper = exports.PanelLabelBold = exports.PanelLabel = exports.PanelHeaderTitle = exports.PanelHeaderContent = exports.PanelContent = exports.MapControlButton = exports.InputLight = exports.Input = exports.InlineInput = exports.IconRoundSmall = exports.EndHorizontalFlexbox = exports.DatasetSquare = exports.CheckMark = exports.CenterVerticalFlexbox = exports.CenterFlexbox = exports.ButtonGroup = exports.Button = exports.BottomWidgetInner = void 0;
exports.shouldForwardProp = shouldForwardProp;
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _styles = require("@kepler.gl/styles");
var _classnames = _interopRequireDefault(require("classnames"));
var _reactDatePicker = _interopRequireDefault(require("react-date-picker"));
var _reactTimePicker = _interopRequireDefault(require("react-time-picker"));
var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _isPropValid = _interopRequireDefault(require("@emotion/is-prop-valid"));
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
// This implements the default behavior from styled-components v5
function shouldForwardProp(propName, target) {
if (typeof target === 'string') {
// For HTML elements, forward the prop if it is a valid HTML attribute
return (0, _isPropValid["default"])(propName);
}
// For other elements, forward all props
return true;
}
var SelectText = exports.SelectText = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: ", ";\n font-weight: 400;\n\n i {\n font-size: 13px;\n margin-right: 6px;\n }\n"])), function (props) {
return props.theme.labelColor;
}, function (props) {
return props.theme.selectFontSize;
});
var SelectTextBold = exports.SelectTextBold = (0, _styledComponents["default"])(SelectText)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: 500;\n"])), function (props) {
return props.theme.textColor;
});
var IconRoundSmall = exports.IconRoundSmall = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 18px;\n height: 18px;\n border-radius: 9px;\n background-color: ", ";\n color: ", ";\n align-items: center;\n justify-content: center;\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n"])), function (props) {
return props.theme.secondaryBtnBgdHover;
}, function (props) {
return props.theme.secondaryBtnColor;
}, function (props) {
return props.theme.secondaryBtnBgdHover;
});
var CenterFlexbox = exports.CenterFlexbox = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
var CenterVerticalFlexbox = exports.CenterVerticalFlexbox = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: center;\n"])));
var EndHorizontalFlexbox = exports.EndHorizontalFlexbox = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: end;\n"])));
var SpaceBetweenFlexbox = exports.SpaceBetweenFlexbox = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n margin-left: -16px;\n"])));
var SBFlexboxItem = exports.SBFlexboxItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n margin-left: 16px;\n"])));
var SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
var PanelLabel = exports.PanelLabel = _styledComponents["default"].label.attrs({
className: 'side-panel-panel__label'
})(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
return props.theme.labelColor;
});
var PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents["default"].div.attrs({
className: 'side-panel-panel__label-wrapper'
})(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
var PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents["default"].span.attrs(function (props) {
return {
className: (0, _classnames["default"])('side-panel-panel__header__title', props.className)
};
})(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
return props.theme.textColor;
});
var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
return props.theme.textColor;
}, function (props) {
return props.theme.labelColor;
});
var PanelContent = exports.PanelContent = _styledComponents["default"].div.attrs(function (props) {
return {
className: (0, _classnames["default"])('side-panel-panel__content', props.className)
};
})(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
return props.theme.panelContentBackground;
});
var SidePanelSection = exports.SidePanelSection = _styledComponents["default"].div.attrs(function (props) {
return {
className: (0, _classnames["default"])('side-panel-section', props.className)
};
})(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
return props.disabled ? 0.4 : 1;
}, function (props) {
return props.disabled ? 'none' : 'all';
});
var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].div.attrs({
className: 'side-panel-divider'
})(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
return props.theme.sidepanelDividerBorder;
}, function (props) {
return props.theme.panelBorderColor;
}, function (props) {
return props.theme.sidepanelDividerMargin;
}, function (props) {
return props.theme.sidepanelDividerHeight;
});
var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 10px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n &:after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n &:after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n &:after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n &:after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
return props.theme.tooltipFontSize;
}, function (props) {
return props.theme.tooltipBoxShadow;
}, function (props) {
return props.theme.tooltipBg;
}, function (props) {
return props.theme.tooltipColor;
}, function (props) {
return props.theme.tooltipBg;
}, function (props) {
return props.theme.tooltipBg;
}, function (props) {
return props.theme.tooltipBg;
}, function (props) {
return props.theme.tooltipBg;
});
// this needs to be an actual button to be able to set disabled attribute correctly
var Button = exports.Button = _styledComponents["default"].button.withConfig({
shouldForwardProp: shouldForwardProp
}).attrs(function (props) {
return {
className: (0, _classnames["default"])('button', props.className)
};
})(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
return props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd;
}, function (props) {
return props.theme.primaryBtnRadius;
}, function (props) {
return props.negative ? props.theme.negativeBtnColor : props.secondary ? props.theme.secondaryBtnColor : props.link ? props.theme.linkBtnColor : props.floating ? props.theme.floatingBtnColor : props.cta ? props.theme.ctaBtnColor : props.theme.primaryBtnColor;
}, function (props) {
return props.large ? props.theme.primaryBtnFontSizeLarge : props.small ? props.theme.primaryBtnFontSizeSmall : props.theme.primaryBtnFontSizeDefault;
}, function (props) {
return props.theme.btnFontFamily;
}, function (props) {
return props.large ? '14px 32px' : props.small ? '6px 9px' : '9px 12px';
}, function (props) {
return props.theme.transition;
}, function (props) {
return props.width || 'auto';
}, function (props) {
return props.disabled ? 0.4 : 1;
}, function (props) {
return props.disabled ? 'none' : 'all';
}, function (props) {
return props.negative ? props.theme.negativeBtnBorder : props.secondary ? props.theme.secondaryBtnBorder : props.floating ? props.theme.floatingBtnBorder : props.link ? props.theme.linkBtnBorder : props.theme.primaryBtnBorder;
}, function (props) {
return props.negative ? props.theme.negativeBtnBgdHover : props.secondary ? props.theme.secondaryBtnBgdHover : props.link ? props.theme.linkBtnActBgdHover : props.floating ? props.theme.floatingBtnBgdHover : props.cta ? props.theme.ctaBtnBgdHover : props.theme.primaryBtnBgdHover;
}, function (props) {
return props.negative ? props.theme.negativeBtnActColor : props.secondary ? props.theme.secondaryBtnActColor : props.link ? props.theme.linkBtnActColor : props.floating ? props.theme.floatingBtnActColor : props.cta ? props.theme.ctaBtnActColor : props.theme.primaryBtnActColor;
}, function (props) {
return props.large ? '10px' : props.small ? '6px' : '8px';
});
var Input = exports.Input = _styledComponents["default"].input.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.secondary ? props.theme.secondaryInput : props.theme.input;
});
var InputLight = exports.InputLight = _styledComponents["default"].input.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.theme.inputLT;
});
var TextArea = exports.TextArea = _styledComponents["default"].textarea.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.secondary ? props.theme.secondaryInput : props.theme.input;
});
var TextAreaLight = exports.TextAreaLight = _styledComponents["default"].textarea.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
return props.theme.inputLT;
});
var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.theme.inlineInput;
});
var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"].div.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
return props.active ? props.theme.panelBackgroundHover : props.theme.panelBackground;
}, function (props) {
return props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent';
}, function (props) {
return props.theme.panelHeaderHeight;
}, function (props) {
return props.theme.panelHeaderBorderRadius;
}, function (props) {
return props.theme.transition;
});
var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
return props.theme.panelDropdownScrollBar;
}, function (props) {
return props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground;
}, function (props) {
return props.theme.panelBoxShadow;
}, function (props) {
return props.theme.panelBorderRadius;
});
var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
return props.theme.primaryBtnRadius;
}, function (props) {
return props.theme.primaryBtnRadius;
}, function (props) {
return props.theme.primaryBtnRadius;
}, function (props) {
return props.theme.primaryBtnRadius;
});
var DatasetSquare = exports.DatasetSquare = _styledComponents["default"].div.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
return props.backgroundColor.join(',');
});
var SelectionButton = exports.SelectionButton = _styledComponents["default"].div.withConfig({
shouldForwardProp: shouldForwardProp
})(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n &:hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
return props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor;
}, function (props) {
return props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor;
}, function (props) {
return props.selected ? props.theme.selectionBtnActBgd : props.theme.selectionBtnBgd;
}, function (props) {
return props.theme.selectionBtnActColor;
}, function (props) {
return props.theme.selectionBtnBorderActColor;
});
var StyledTable = exports.StyledTable = _styledComponents["default"].table(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
return props.theme.panelBackgroundLT;
}, function (props) {
return props.theme.titleColorLT;
}, function (props) {
return props.theme.panelBorderLT;
});
var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
return props.theme.panelBackgroundLT;
}, function (props) {
return props.theme.textColorLT;
}, function (props) {
return props.theme.modalLateralPadding;
}, function (props) {
return props.theme.modalLateralPadding;
}, _styles.media.portable(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
return props.theme.modalPortableLateralPadding;
}, function (props) {
return props.theme.modalPortableLateralPadding;
}));
var StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents["default"].div.attrs({
className: 'modal-vertical-panel'
})(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
var StyledModalSection = exports.StyledModalSection = _styledComponents["default"].div.attrs(function (_ref) {
var className = _ref.className;
return {
className: (0, _classnames["default"])('modal-section', className)
};
})(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
return props.theme.subtextColorLT;
}, _styles.media.portable(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents["default"].div.attrs({
className: 'modal-input__footnote'
})(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
return props.error ? props.theme.errorColor : props.theme.subtextColorLT;
});
/**
* Newer versions of mapbox.gl display an error message banner on top of the map by default
* which will cause the map to display points in the wrong locations
* This workaround will hide the error banner.
*/
var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
var StyledAttribution = exports.StyledAttribution = _styledComponents["default"].div.withConfig({
shouldForwardProp: function shouldForwardProp(prop) {
return !['mapLibCssClass', 'mapLibAttributionCssClass'].includes(prop);
}
}).attrs(function (props) {
return {
className: props.mapLibAttributionCssClass
};
})(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.", "-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
return props.theme.labelColor;
}, function (props) {
return props.theme.labelColor;
}, function (props) {
return props.mapLibCssClass;
}, _styles.media.palm(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n "]))));
var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
return props.theme.textColorLT;
}, function (props) {
return props.disabled ? 0.3 : 1;
}, function (props) {
return props.disabled ? 'none' : 'all';
}, function (props) {
var _props$theme$fontFami;
return (_props$theme$fontFami = props.theme.fontFamilyMedium) !== null && _props$theme$fontFami !== void 0 ? _props$theme$fontFami : props.theme.fontFamily;
}, function (props) {
return props.theme.subtextColorLT;
}, function (props) {
return props.theme.errorColor;
});
var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
return props.theme.textColorLT;
}, function (props) {
return props.theme.subtextColorLT;
});
var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
return props.theme.bottomWidgetBgd;
}, function (props) {
return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
}, function (props) {
return props.theme.bottomPanelGap;
}, _styles.media.portable(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
return props.theme.panelBorderColor;
}, function (props) {
return props.theme.panelBorderColor;
}));
var MapControlButton = exports.MapControlButton = (0, _styledComponents["default"])(Button).withConfig({
shouldForwardProp: function shouldForwardProp(prop) {
return !['active'].includes(prop);
}
}).attrs(function (props) {
return {
className: (0, _classnames["default"])('map-control-button', props.className)
};
})(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
return props.theme.floatingBtnRadius;
}, function (props) {
return props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd;
}, function (props) {
return props.active ? props.theme.floatingBtnActColor : props.theme.floatingBtnColor;
}, function (props) {
return props.active ? props.theme.floatingBtnBorderHover : props.theme.floatingBtnBorder;
}, function (props) {
return props.theme.floatingBtnBgdHover;
}, function (props) {
return props.theme.floatingBtnActColor;
}, function (props) {
return props.theme.floatingBtnBorderHover;
});
var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
return props.theme.panelContentBackground;
});
var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
var CheckMark = exports.CheckMark = _styledComponents["default"].span.attrs({
className: 'checkbox-inner'
})(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n &:after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
return props.theme.selectionBtnBorderActColor;
});
var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.inputBgd;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.inputBgd;
}, function (props) {
return props.theme.inputBgdHover;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.inputBgd;
});
var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.inputBgd;
}, function (props) {
return props.theme.inputBgd;
}, function (props) {
return props.theme.inputBgdHover;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.inputBgd;
}, function (props) {
return props.theme.effectPanelTextSecondary1;
}, function (props) {
return props.theme.effectPanelTextSecondary1;
}, function (props) {
return props.theme.inputBgdHover;
}, function (props) {
return props.theme.fontFamily;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.inputBgdActive;
}, function (props) {
return props.theme.effectPanelTextSecondary2;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.effectPanelTextSecondary1;
}, function (props) {
return props.theme.effectPanelTextSecondary3;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.effectPanelTextSecondary1;
}, function (props) {
return props.theme.inputFontSize;
}, function (props) {
return props.theme.primaryBtnBgd;
}, function (props) {
return props.theme.primaryBtnActColor;
}, function (props) {
return props.theme.primaryBtnBgd;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.primaryBtnActBgd;
}, function (props) {
return props.theme.primaryBtnActBgd;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.primaryBtnActBgd;
}, function (props) {
return props.theme.effectPanelTextMain;
}, function (props) {
return props.theme.primaryBtnActBgd;
}, function (props) {
return props.theme.effectPanelTextMain;
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdERhdGVQaWNrZXIiLCJfcmVhY3RUaW1lUGlja2VyIiwiX3JlYWN0VG9vbHRpcCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2lzUHJvcFZhbGlkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl90ZW1wbGF0ZU9iamVjdDE0IiwiX3RlbXBsYXRlT2JqZWN0MTUiLCJfdGVtcGxhdGVPYmplY3QxNiIsIl90ZW1wbGF0ZU9iamVjdDE3IiwiX3RlbXBsYXRlT2JqZWN0MTgiLCJfdGVtcGxhdGVPYmplY3QxOSIsIl90ZW1wbGF0ZU9iamVjdDIwIiwiX3RlbXBsYXRlT2JqZWN0MjEiLCJfdGVtcGxhdGVPYmplY3QyMiIsIl90ZW1wbGF0ZU9iamVjdDIzIiwiX3RlbXBsYXRlT2JqZWN0MjQiLCJfdGVtcGxhdGVPYmplY3QyNSIsIl90ZW1wbGF0ZU9iamVjdDI2IiwiX3RlbXBsYXRlT2JqZWN0MjciLCJfdGVtcGxhdGVPYmplY3QyOCIsIl90ZW1wbGF0ZU9iamVjdDI5IiwiX3RlbXBsYXRlT2JqZWN0MzAiLCJfdGVtcGxhdGVPYmplY3QzMSIsIl90ZW1wbGF0ZU9iamVjdDMyIiwiX3RlbXBsYXRlT2JqZWN0MzMiLCJfdGVtcGxhdGVPYmplY3QzNCIsIl90ZW1wbGF0ZU9iamVjdDM1IiwiX3RlbXBsYXRlT2JqZWN0MzYiLCJfdGVtcGxhdGVPYmplY3QzNyIsIl90ZW1wbGF0ZU9iamVjdDM4IiwiX3RlbXBsYXRlT2JqZWN0MzkiLCJfdGVtcGxhdGVPYmplY3Q0MCIsIl90ZW1wbGF0ZU9iamVjdDQxIiwiX3RlbXBsYXRlT2JqZWN0NDIiLCJfdGVtcGxhdGVPYmplY3Q0MyIsIl90ZW1wbGF0ZU9iamVjdDQ0IiwiX3RlbXBsYXRlT2JqZWN0NDUiLCJfdGVtcGxhdGVPYmplY3Q0NiIsIl90ZW1wbGF0ZU9iamVjdDQ3IiwiX3RlbXBsYXRlT2JqZWN0NDgiLCJfdGVtcGxhdGVPYmplY3Q0OSIsIl90ZW1wbGF0ZU9iamVjdDUwIiwiX3RlbXBsYXRlT2JqZWN0NTEiLCJfdGVtcGxhdGVPYmplY3Q1MiIsIl90ZW1wbGF0ZU9iamVjdDUzIiwic2hvdWxkRm9yd2FyZFByb3AiLCJwcm9wTmFtZSIsInRhcmdldCIsImlzUHJvcFZhbGlkIiwiU2VsZWN0VGV4dCIsImV4cG9ydHMiLCJzdHlsZWQiLCJzcGFuIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsInNlbGVjdEZvbnRTaXplIiwiU2VsZWN0VGV4dEJvbGQiLCJ0ZXh0Q29sb3IiLCJJY29uUm91bmRTbWFsbCIsImRpdiIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJDZW50ZXJGbGV4Ym94IiwiQ2VudGVyVmVydGljYWxGbGV4Ym94IiwiRW5kSG9yaXpvbnRhbEZsZXhib3giLCJTcGFjZUJldHdlZW5GbGV4Ym94IiwiU0JGbGV4Ym94SXRlbSIsIlNCRmxleGJveE5vTWFyZ2luIiwiUGFuZWxMYWJlbCIsImxhYmVsIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJQYW5lbExhYmVsV3JhcHBlciIsIlBhbmVsTGFiZWxCb2xkIiwiUGFuZWxIZWFkZXJUaXRsZSIsImNsYXNzbmFtZXMiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsImJ1dHRvbiIsIndpdGhDb25maWciLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwiYWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJwYW5lbEJhY2tncm91bmQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiam9pbiIsInBhbmVsSGVhZGVySGVpZ2h0IiwicGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMiLCJTdHlsZWRQYW5lbERyb3Bkb3duIiwicGFuZWxEcm9wZG93blNjcm9sbEJhciIsInR5cGUiLCJtb2RhbERyb3Bkb3duQmFja2dyb3VuZCIsInBhbmVsQm94U2hhZG93IiwicGFuZWxCb3JkZXJSYWRpdXMiLCJCdXR0b25Hcm91cCIsIkRhdGFzZXRTcXVhcmUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJTZWxlY3Rpb25CdXR0b24iLCJzZWxlY3RlZCIsInNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yIiwic2VsZWN0aW9uQnRuQm9yZGVyQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RDb2xvciIsInNlbGVjdGlvbkJ0bkNvbG9yIiwic2VsZWN0aW9uQnRuQWN0QmdkIiwic2VsZWN0aW9uQnRuQmdkIiwiU3R5bGVkVGFibGUiLCJ0YWJsZSIsInBhbmVsQmFja2dyb3VuZExUIiwidGl0bGVDb2xvckxUIiwicGFuZWxCb3JkZXJMVCIsIlN0eWxlZE1vZGFsQ29udGVudCIsInRleHRDb2xvckxUIiwibW9kYWxMYXRlcmFsUGFkZGluZyIsIm1lZGlhIiwicG9ydGFibGUiLCJtb2RhbFBvcnRhYmxlTGF0ZXJhbFBhZGRpbmciLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJwYWxtIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiX3JlZiIsInN1YnRleHRDb2xvckxUIiwiU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlIiwiZXJyb3IiLCJlcnJvckNvbG9yIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwiU3R5bGVkQXR0cmlidXRpb24iLCJwcm9wIiwiaW5jbHVkZXMiLCJtYXBMaWJBdHRyaWJ1dGlvbkNzc0NsYXNzIiwibWFwTGliQ3NzQ2xhc3MiLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwiX3Byb3BzJHRoZW1lJGZvbnRGYW1pIiwiZm9udEZhbWlseU1lZGl1bSIsImZvbnRGYW1pbHkiLCJTdHlsZWRGaWx0ZXJlZE9wdGlvbiIsIlN0eWxlZFR5cGUiLCJXaWRnZXRDb250YWluZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsImJvdHRvbVdpZGdldEJnZCIsImNvbmNhdCIsImJvdHRvbUlubmVyUGRWZXJ0IiwiYm90dG9tSW5uZXJQZFNpZGUiLCJib3R0b21QYW5lbEdhcCIsIk1hcENvbnRyb2xCdXR0b24iLCJmbG9hdGluZ0J0blJhZGl1cyIsImZsb2F0aW5nQnRuQm9yZGVySG92ZXIiLCJTdHlsZWRGaWx0ZXJDb250ZW50IiwiVHJ1bmNhdGVkVGl0bGVUZXh0IiwiQ2hlY2tNYXJrIiwiU3R5bGVkVGltZVBpY2tlciIsIlRpbWVQaWNrZXIiLCJpbnB1dEZvbnRTaXplIiwiaW5wdXRCZ2QiLCJlZmZlY3RQYW5lbFRleHRNYWluIiwiaW5wdXRCZ2RIb3ZlciIsIlN0eWxlZERhdGVQaWNrZXIiLCJEYXRlUGlja2VyIiwiZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MSIsImlucHV0QmdkQWN0aXZlIiwiZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MiIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTMiLCJwcmltYXJ5QnRuQWN0QmdkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3JlYWN0LWRhdGUtcGlja2VyJztcbmltcG9ydCBUaW1lUGlja2VyIGZyb20gJ3JlYWN0LXRpbWUtcGlja2VyJztcbmltcG9ydCBSZWFjdFRvb2x0aXAsIHtUb29sdGlwUHJvcHN9IGZyb20gJ3JlYWN0LXRvb2x0aXAnO1xuaW1wb3J0IHN0eWxlZCwge0lTdHlsZWRDb21wb25lbnR9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tICdAZW1vdGlvbi9pcy1wcm9wLXZhbGlkJztcblxuaW1wb3J0IHtCYXNlQ29tcG9uZW50UHJvcHN9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gVGhpcyBpbXBsZW1lbnRzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZyb20gc3R5bGVkLWNvbXBvbmVudHMgdjVcbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRGb3J3YXJkUHJvcChwcm9wTmFtZSwgdGFyZ2V0KSB7XG4gIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJykge1xuICAgIC8vIEZvciBIVE1MIGVsZW1lbnRzLCBmb3J3YXJkIHRoZSBwcm9wIGlmIGl0IGlzIGEgdmFsaWQgSFRNTCBhdHRyaWJ1dGVcbiAgICByZXR1cm4gaXNQcm9wVmFsaWQocHJvcE5hbWUpO1xuICB9XG4gIC8vIEZvciBvdGhlciBlbGVtZW50cywgZm9yd2FyZCBhbGwgcHJvcHNcbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBmb250LXNpemU6ICR7cHJvc