adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
155 lines (134 loc) • 19.2 kB
JavaScript
var _excluded = ["children", "className", "color", "intent", "minHeight", "size", "spinning", "style", "text", "value"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React, { useContext } from "react";
import PropTypes from "prop-types";
import CSSMotion from "rc-motion";
import classNames from "classnames";
import warning from "../_util/warning";
import { ConfigContext, getComputedSize } from "../config-provider";
import "./style";
var prefix = "adui-spinner";
var Spinner = function Spinner(props) {
var _ref = props || {},
children = _ref.children,
className = _ref.className,
color = _ref.color,
intent = _ref.intent,
minHeight = _ref.minHeight,
sizeProp = _ref.size,
spinning = _ref.spinning,
style = _ref.style,
text = _ref.text,
value = _ref.value,
otherProps = _objectWithoutProperties(_ref, _excluded);
var isNestedPattern = function isNestedPattern() {
return children !== null;
};
if (value !== null && value !== undefined) {
warning(value >= 0 && value <= 1, "Spinner", "prop `value` 范围为 0 到 1,请传入在此范围内的数字");
}
var classSet = classNames(className, "".concat(prefix, "-base"), "".concat(prefix, "-").concat(intent), _defineProperty({}, "".concat(prefix, "-spinning"), spinning && value === null));
var _useContext = useContext(ConfigContext),
sizeContext = _useContext.size;
var size = getComputedSize(sizeProp, sizeContext);
var dimension;
var strokeWidth;
if (size === "medium") {
dimension = 28;
strokeWidth = 3;
} else if (size === "mini") {
dimension = 16;
strokeWidth = 2;
} else if (size === "small") {
dimension = 20;
strokeWidth = 2.5;
} else {
dimension = 38;
strokeWidth = 4;
}
var spinStyle = {};
var strokeStyle = {};
if (color) {
spinStyle.color = color;
}
if (value !== null && value !== undefined) {
strokeStyle.strokeDashoffset = "".concat(282.743 - value * 282.743, "px");
}
var spin = React.createElement("div", _extends({
className: classSet,
style: _objectSpread(_objectSpread({}, spinStyle), style || {})
}, otherProps), React.createElement("svg", {
fill: "none",
width: dimension,
height: dimension,
viewBox: "0 0 100 100",
className: "".concat(prefix, "-circular")
}, React.createElement("circle", {
className: "".concat(prefix, "-track"),
cx: "50%",
cy: "50%",
r: "44",
strokeWidth: 100 / dimension * strokeWidth
}), React.createElement("circle", {
className: "".concat(prefix, "-head"),
cx: "50%",
cy: "50%",
r: "44",
strokeWidth: 100 / dimension * strokeWidth,
style: _objectSpread({
strokeDasharray: "282.743px"
}, strokeStyle)
})), !!text && React.createElement("div", {
className: "".concat(prefix, "-text")
}, text));
if (isNestedPattern()) {
return React.createElement(CSSMotion, {
motionName: "fade"
}, function (_ref2) {
var cls = _ref2.className,
sty = _ref2.style;
return React.createElement("div", _extends({
className: "".concat(cls, " ").concat(prefix, "-nestedWrapper"),
style: sty
}, otherProps), spinning && spin, React.createElement("div", {
className: classNames("".concat(prefix, "-container"), _defineProperty({}, "".concat(prefix, "-blur"), spinning)),
style: {
minHeight: minHeight
}
}, children));
});
}
return spin;
};
Spinner.displayName = "Spinner";
Spinner.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
color: PropTypes.string,
intent: PropTypes.oneOf(["normal", "primary", "success", "warning", "danger"]),
minHeight: PropTypes.number,
size: PropTypes.oneOf(["mini", "small", "medium", "large"]),
spinning: PropTypes.bool,
style: PropTypes.object,
text: PropTypes.string,
value: PropTypes.number
};
Spinner.defaultProps = {
children: null,
className: "",
color: null,
intent: "normal",
minHeight: 200,
size: "small",
spinning: true,
style: {},
text: null,
value: null
};
export default Spinner;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJQcm9wVHlwZXMiLCJDU1NNb3Rpb24iLCJjbGFzc05hbWVzIiwid2FybmluZyIsIkNvbmZpZ0NvbnRleHQiLCJnZXRDb21wdXRlZFNpemUiLCJwcmVmaXgiLCJTcGlubmVyIiwicHJvcHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImNvbG9yIiwiaW50ZW50IiwibWluSGVpZ2h0Iiwic2l6ZVByb3AiLCJzaXplIiwic3Bpbm5pbmciLCJzdHlsZSIsInRleHQiLCJ2YWx1ZSIsIm90aGVyUHJvcHMiLCJpc05lc3RlZFBhdHRlcm4iLCJ1bmRlZmluZWQiLCJjbGFzc1NldCIsInNpemVDb250ZXh0IiwiZGltZW5zaW9uIiwic3Ryb2tlV2lkdGgiLCJzcGluU3R5bGUiLCJzdHJva2VTdHlsZSIsInN0cm9rZURhc2hvZmZzZXQiLCJzcGluIiwic3Ryb2tlRGFzaGFycmF5IiwiY2xzIiwic3R5IiwiZGlzcGxheU5hbWUiLCJwcm9wVHlwZXMiLCJub2RlIiwic3RyaW5nIiwib25lT2YiLCJudW1iZXIiLCJib29sIiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vY29tcG9uZW50cy9zcGlubmVyL1NwaW5uZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IENTU01vdGlvbiBmcm9tIFwicmMtbW90aW9uXCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB3YXJuaW5nIGZyb20gXCIuLi9fdXRpbC93YXJuaW5nXCJcbmltcG9ydCB7IENvbmZpZ0NvbnRleHQsIGdldENvbXB1dGVkU2l6ZSB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1zcGlubmVyXCJcblxuZXhwb3J0IGludGVyZmFjZSBJU3Bpbm5lclByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog6K6+572u6aKc6ImyXG4gICAqL1xuICBjb2xvcj86IHN0cmluZyB8IG51bGxcbiAgLyoqXG4gICAqIOiuvue9ruexu+Wei1xuICAgKi9cbiAgaW50ZW50PzogXCJub3JtYWxcIiB8IFwicHJpbWFyeVwiIHwgXCJzdWNjZXNzXCIgfCBcImluZm9cIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIlxuICAvKipcbiAgICog6K6+572uIFNwaW5uZXIg5Zyo5pyJIGNoaWxkcmVuIOS4uiBmYWxzZe+8iOWNs+epuueKtuaAge+8ieaXtueahOacgOWwj+mrmOW6plxuICAgKi9cbiAgbWluSGVpZ2h0PzogbnVtYmVyXG4gIC8qKlxuICAgKiBzdmcg5a696auY5bC65a+4XG4gICAqL1xuICBzaXplPzogXCJtaW5pXCIgfCBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiXG4gIC8qKlxuICAgKiDmmK/lkKbovazliqhcbiAgICovXG4gIHNwaW5uaW5nPzogYm9vbGVhblxuICAvKipcbiAgICog6ZmE5Yqg5qC35byPXG4gICAqL1xuICBzdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbiAgLyoqXG4gICAqIOaWh+Wtl+aPkOekulxuICAgKi9cbiAgdGV4dD86IHN0cmluZyB8IG51bGxcbiAgLyoqXG4gICAqIOaMh+WumuWKoOi9vei/m+W6plxuICAgKi9cbiAgdmFsdWU/OiBudW1iZXIgfCBudWxsXG59XG5cbi8qKlxuICog5peL6L2s5Yqg6L2955So5LqO5ZGK55+l55So5oi35L+h5oGv5YaF5a6555qE5Yqg6L2954q25oCB77yM6YCa5bi45piv5Y2z5pe244CB55+t5pe255qE44CCXG4gKi9cbmNvbnN0IFNwaW5uZXI6IFJlYWN0LkZDPElTcGlubmVyUHJvcHM+ID0gKHByb3BzOiBJU3Bpbm5lclByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBjbGFzc05hbWUsXG4gICAgY29sb3IsXG4gICAgaW50ZW50LFxuICAgIG1pbkhlaWdodCxcbiAgICBzaXplOiBzaXplUHJvcCxcbiAgICBzcGlubmluZyxcbiAgICBzdHlsZSxcbiAgICB0ZXh0LFxuICAgIHZhbHVlLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfSA9IHByb3BzIHx8IHt9XG4gIGNvbnN0IGlzTmVzdGVkUGF0dGVybiA9ICgpID0+IGNoaWxkcmVuICE9PSBudWxsXG5cbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdmFsdWUgPj0gMCAmJiB2YWx1ZSA8PSAxLFxuICAgICAgXCJTcGlubmVyXCIsXG4gICAgICBcInByb3AgYHZhbHVlYCDojIPlm7TkuLogMCDliLAgMe+8jOivt+S8oOWFpeWcqOatpOiMg+WbtOWGheeahOaVsOWtl1wiXG4gICAgKVxuICB9XG5cbiAgY29uc3QgY2xhc3NTZXQgPSBjbGFzc05hbWVzKFxuICAgIGNsYXNzTmFtZSxcbiAgICBgJHtwcmVmaXh9LWJhc2VgLFxuICAgIGAke3ByZWZpeH0tJHtpbnRlbnR9YCxcbiAgICB7XG4gICAgICBbYCR7cHJlZml4fS1zcGlubmluZ2BdOiBzcGlubmluZyAmJiB2YWx1ZSA9PT0gbnVsbCxcbiAgICB9XG4gIClcblxuICBjb25zdCB7IHNpemU6IHNpemVDb250ZXh0IH0gPSB1c2VDb250ZXh0KENvbmZpZ0NvbnRleHQpXG4gIGNvbnN0IHNpemUgPSBnZXRDb21wdXRlZFNpemUoc2l6ZVByb3AsIHNpemVDb250ZXh0KVxuXG4gIGxldCBkaW1lbnNpb25cbiAgbGV0IHN0cm9rZVdpZHRoXG5cbiAgaWYgKHNpemUgPT09IFwibWVkaXVtXCIpIHtcbiAgICBkaW1lbnNpb24gPSAyOFxuICAgIHN0cm9rZVdpZHRoID0gM1xuICB9IGVsc2UgaWYgKHNpemUgPT09IFwibWluaVwiKSB7XG4gICAgZGltZW5zaW9uID0gMTZcbiAgICBzdHJva2VXaWR0aCA9IDJcbiAgfSBlbHNlIGlmIChzaXplID09PSBcInNtYWxsXCIpIHtcbiAgICBkaW1lbnNpb24gPSAyMFxuICAgIHN0cm9rZVdpZHRoID0gMi41XG4gIH0gZWxzZSB7XG4gICAgZGltZW5zaW9uID0gMzhcbiAgICBzdHJva2VXaWR0aCA9IDRcbiAgfVxuXG4gIGNvbnN0IHNwaW5TdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHt9XG4gIGNvbnN0IHN0cm9rZVN0eWxlOiBSZWFjdC5DU1NQcm9wZXJ0aWVzID0ge31cbiAgaWYgKGNvbG9yKSB7XG4gICAgc3BpblN0eWxlLmNvbG9yID0gY29sb3JcbiAgfVxuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHN0cm9rZVN0eWxlLnN0cm9rZURhc2hvZmZzZXQgPSBgJHsyODIuNzQzIC0gdmFsdWUgKiAyODIuNzQzfXB4YFxuICB9XG5cbiAgY29uc3Qgc3BpbiA9IChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzU2V0fVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4uc3BpblN0eWxlLFxuICAgICAgICAuLi4oc3R5bGUgfHwge30pLFxuICAgICAgfX1cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB3aWR0aD17ZGltZW5zaW9ufVxuICAgICAgICBoZWlnaHQ9e2RpbWVuc2lvbn1cbiAgICAgICAgdmlld0JveD1cIjAgMCAxMDAgMTAwXCJcbiAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWNpcmN1bGFyYH1cbiAgICAgID5cbiAgICAgICAgPGNpcmNsZVxuICAgICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS10cmFja2B9XG4gICAgICAgICAgY3g9XCI1MCVcIlxuICAgICAgICAgIGN5PVwiNTAlXCJcbiAgICAgICAgICByPVwiNDRcIlxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsoMTAwIC8gZGltZW5zaW9uKSAqIHN0cm9rZVdpZHRofVxuICAgICAgICAvPlxuICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWhlYWRgfVxuICAgICAgICAgIGN4PVwiNTAlXCJcbiAgICAgICAgICBjeT1cIjUwJVwiXG4gICAgICAgICAgcj1cIjQ0XCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17KDEwMCAvIGRpbWVuc2lvbikgKiBzdHJva2VXaWR0aH1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIjI4Mi43NDNweFwiLFxuICAgICAgICAgICAgLi4uc3Ryb2tlU3R5bGUsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgeyEhdGV4dCAmJiA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS10ZXh0YH0+e3RleHR9PC9kaXY+fVxuICAgIDwvZGl2PlxuICApXG5cbiAgaWYgKGlzTmVzdGVkUGF0dGVybigpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxDU1NNb3Rpb24gbW90aW9uTmFtZT1cImZhZGVcIj5cbiAgICAgICAgeyh7IGNsYXNzTmFtZTogY2xzLCBzdHlsZTogc3R5IH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Nsc30gJHtwcmVmaXh9LW5lc3RlZFdyYXBwZXJgfVxuICAgICAgICAgICAgICBzdHlsZT17c3R5fVxuICAgICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3NwaW5uaW5nICYmIHNwaW59XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYCR7cHJlZml4fS1jb250YWluZXJgLCB7XG4gICAgICAgICAgICAgICAgICBbYCR7cHJlZml4fS1ibHVyYF06IHNwaW5uaW5nLFxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1pbkhlaWdodCB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgIDwvQ1NTTW90aW9uPlxuICAgIClcbiAgfVxuICByZXR1cm4gc3BpblxufVxuXG5TcGlubmVyLmRpc3BsYXlOYW1lID0gXCJTcGlubmVyXCJcblxuU3Bpbm5lci5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog6K6+572u6aKc6ImyXG4gICAqL1xuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIOiuvue9ruexu+Wei1xuICAgKi9cbiAgaW50ZW50OiBQcm9wVHlwZXMub25lT2YoW1xuICAgIFwibm9ybWFsXCIsXG4gICAgXCJwcmltYXJ5XCIsXG4gICAgXCJzdWNjZXNzXCIsXG4gICAgXCJ3YXJuaW5nXCIsXG4gICAgXCJkYW5nZXJcIixcbiAgXSksXG4gIC8qKlxuICAgKiDorr7nva4gU3Bpbm5lciDlnKjmnIkgY2hpbGRyZW4g5Li6IGZhbHNl77yI5Y2z56m654q25oCB77yJ5pe255qE5pyA5bCP6auY5bqmXG4gICAqL1xuICBtaW5IZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKlxuICAgKiBzdmcg5a696auY5bC65a+4XG4gICAqL1xuICBzaXplOiBQcm9wVHlwZXMub25lT2YoW1wibWluaVwiLCBcInNtYWxsXCIsIFwibWVkaXVtXCIsIFwibGFyZ2VcIl0pLFxuICAvKipcbiAgICog5piv5ZCm6L2s5YqoXG4gICAqL1xuICBzcGlubmluZzogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDpmYTliqDmoLflvI9cbiAgICovXG4gIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKipcbiAgICog5paH5a2X5o+Q56S6XG4gICAqL1xuICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5oyH5a6a5Yqg6L296L+b5bqmXG4gICAqL1xuICB2YWx1ZTogUHJvcFR5cGVzLm51bWJlcixcbn1cblxuU3Bpbm5lci5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBudWxsLFxuICBjbGFzc05hbWU6IFwiXCIsXG4gIGNvbG9yOiBudWxsLFxuICBpbnRlbnQ6IFwibm9ybWFsXCIsXG4gIG1pbkhlaWdodDogMjAwLFxuICBzaXplOiBcInNtYWxsXCIsXG4gIHNwaW5uaW5nOiB0cnVlLFxuICBzdHlsZToge30sXG4gIHRleHQ6IG51bGwsXG4gIHZhbHVlOiBudWxsLFxufVxuXG5leHBvcnQgZGVmYXVsdCBTcGlubmVyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsVUFBaEIsUUFBa0MsT0FBbEM7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLFlBQXRCO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixXQUF0QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsWUFBdkI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLGtCQUFwQjtBQUNBLFNBQVNDLGFBQVQsRUFBd0JDLGVBQXhCLFFBQStDLG9CQUEvQztBQUNBLE9BQU8sU0FBUDtBQUVBLElBQU1DLE1BQU0sR0FBRyxjQUFmOztBQWlEQSxJQUFNQyxPQUFnQyxHQUFHLFNBQW5DQSxPQUFtQyxDQUFDQyxLQUFELEVBQTBCO0VBQ2pFLFdBWUlBLEtBQUssSUFBSSxFQVpiO0VBQUEsSUFDRUMsUUFERixRQUNFQSxRQURGO0VBQUEsSUFFRUMsU0FGRixRQUVFQSxTQUZGO0VBQUEsSUFHRUMsS0FIRixRQUdFQSxLQUhGO0VBQUEsSUFJRUMsTUFKRixRQUlFQSxNQUpGO0VBQUEsSUFLRUMsU0FMRixRQUtFQSxTQUxGO0VBQUEsSUFNUUMsUUFOUixRQU1FQyxJQU5GO0VBQUEsSUFPRUMsUUFQRixRQU9FQSxRQVBGO0VBQUEsSUFRRUMsS0FSRixRQVFFQSxLQVJGO0VBQUEsSUFTRUMsSUFURixRQVNFQSxJQVRGO0VBQUEsSUFVRUMsS0FWRixRQVVFQSxLQVZGO0VBQUEsSUFXS0MsVUFYTDs7RUFhQSxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCO0lBQUEsT0FBTVosUUFBUSxLQUFLLElBQW5CO0VBQUEsQ0FBeEI7O0VBRUEsSUFBSVUsS0FBSyxLQUFLLElBQVYsSUFBa0JBLEtBQUssS0FBS0csU0FBaEMsRUFBMkM7SUFDekNuQixPQUFPLENBQ0xnQixLQUFLLElBQUksQ0FBVCxJQUFjQSxLQUFLLElBQUksQ0FEbEIsRUFFTCxTQUZLLEVBR0wsb0NBSEssQ0FBUDtFQUtEOztFQUVELElBQU1JLFFBQVEsR0FBR3JCLFVBQVUsQ0FDekJRLFNBRHlCLFlBRXRCSixNQUZzQixzQkFHdEJBLE1BSHNCLGNBR1pNLE1BSFksaUNBS25CTixNQUxtQixnQkFLQ1UsUUFBUSxJQUFJRyxLQUFLLEtBQUssSUFMdkIsRUFBM0I7O0VBU0Esa0JBQThCcEIsVUFBVSxDQUFDSyxhQUFELENBQXhDO0VBQUEsSUFBY29CLFdBQWQsZUFBUVQsSUFBUjs7RUFDQSxJQUFNQSxJQUFJLEdBQUdWLGVBQWUsQ0FBQ1MsUUFBRCxFQUFXVSxXQUFYLENBQTVCO0VBRUEsSUFBSUMsU0FBSjtFQUNBLElBQUlDLFdBQUo7O0VBRUEsSUFBSVgsSUFBSSxLQUFLLFFBQWIsRUFBdUI7SUFDckJVLFNBQVMsR0FBRyxFQUFaO0lBQ0FDLFdBQVcsR0FBRyxDQUFkO0VBQ0QsQ0FIRCxNQUdPLElBQUlYLElBQUksS0FBSyxNQUFiLEVBQXFCO0lBQzFCVSxTQUFTLEdBQUcsRUFBWjtJQUNBQyxXQUFXLEdBQUcsQ0FBZDtFQUNELENBSE0sTUFHQSxJQUFJWCxJQUFJLEtBQUssT0FBYixFQUFzQjtJQUMzQlUsU0FBUyxHQUFHLEVBQVo7SUFDQUMsV0FBVyxHQUFHLEdBQWQ7RUFDRCxDQUhNLE1BR0E7SUFDTEQsU0FBUyxHQUFHLEVBQVo7SUFDQUMsV0FBVyxHQUFHLENBQWQ7RUFDRDs7RUFFRCxJQUFNQyxTQUE4QixHQUFHLEVBQXZDO0VBQ0EsSUFBTUMsV0FBZ0MsR0FBRyxFQUF6Qzs7RUFDQSxJQUFJakIsS0FBSixFQUFXO0lBQ1RnQixTQUFTLENBQUNoQixLQUFWLEdBQWtCQSxLQUFsQjtFQUNEOztFQUNELElBQUlRLEtBQUssS0FBSyxJQUFWLElBQWtCQSxLQUFLLEtBQUtHLFNBQWhDLEVBQTJDO0lBQ3pDTSxXQUFXLENBQUNDLGdCQUFaLGFBQWtDLFVBQVVWLEtBQUssR0FBRyxPQUFwRDtFQUNEOztFQUVELElBQU1XLElBQUksR0FDUjtJQUNFLFNBQVMsRUFBRVAsUUFEYjtJQUVFLEtBQUssa0NBQ0FJLFNBREEsR0FFQ1YsS0FBSyxJQUFJLEVBRlY7RUFGUCxHQU1NRyxVQU5OLEdBUUU7SUFDRSxJQUFJLEVBQUMsTUFEUDtJQUVFLEtBQUssRUFBRUssU0FGVDtJQUdFLE1BQU0sRUFBRUEsU0FIVjtJQUlFLE9BQU8sRUFBQyxhQUpWO0lBS0UsU0FBUyxZQUFLbkIsTUFBTDtFQUxYLEdBT0U7SUFDRSxTQUFTLFlBQUtBLE1BQUwsV0FEWDtJQUVFLEVBQUUsRUFBQyxLQUZMO0lBR0UsRUFBRSxFQUFDLEtBSEw7SUFJRSxDQUFDLEVBQUMsSUFKSjtJQUtFLFdBQVcsRUFBRyxNQUFNbUIsU0FBUCxHQUFvQkM7RUFMbkMsRUFQRixFQWNFO0lBQ0UsU0FBUyxZQUFLcEIsTUFBTCxVQURYO0lBRUUsRUFBRSxFQUFDLEtBRkw7SUFHRSxFQUFFLEVBQUMsS0FITDtJQUlFLENBQUMsRUFBQyxJQUpKO0lBS0UsV0FBVyxFQUFHLE1BQU1tQixTQUFQLEdBQW9CQyxXQUxuQztJQU1FLEtBQUs7TUFDSEssZUFBZSxFQUFFO0lBRGQsR0FFQUgsV0FGQTtFQU5QLEVBZEYsQ0FSRixFQWtDRyxDQUFDLENBQUNWLElBQUYsSUFBVTtJQUFLLFNBQVMsWUFBS1osTUFBTDtFQUFkLEdBQW1DWSxJQUFuQyxDQWxDYixDQURGOztFQXVDQSxJQUFJRyxlQUFlLEVBQW5CLEVBQXVCO0lBQ3JCLE9BQ0Usb0JBQUMsU0FBRDtNQUFXLFVBQVUsRUFBQztJQUF0QixHQUNHLGlCQUFvQztNQUFBLElBQXRCVyxHQUFzQixTQUFqQ3RCLFNBQWlDO01BQUEsSUFBVnVCLEdBQVUsU0FBakJoQixLQUFpQjtNQUNuQyxPQUNFO1FBQ0UsU0FBUyxZQUFLZSxHQUFMLGNBQVkxQixNQUFaLG1CQURYO1FBRUUsS0FBSyxFQUFFMkI7TUFGVCxHQUdNYixVQUhOLEdBS0dKLFFBQVEsSUFBSWMsSUFMZixFQU1FO1FBQ0UsU0FBUyxFQUFFNUIsVUFBVSxXQUFJSSxNQUFKLCtDQUNmQSxNQURlLFlBQ0NVLFFBREQsRUFEdkI7UUFJRSxLQUFLLEVBQUU7VUFBRUgsU0FBUyxFQUFUQTtRQUFGO01BSlQsR0FNR0osUUFOSCxDQU5GLENBREY7SUFpQkQsQ0FuQkgsQ0FERjtFQXVCRDs7RUFDRCxPQUFPcUIsSUFBUDtBQUNELENBL0hEOztBQWlJQXZCLE9BQU8sQ0FBQzJCLFdBQVIsR0FBc0IsU0FBdEI7QUFFQTNCLE9BQU8sQ0FBQzRCLFNBQVIsR0FBb0I7RUFJbEIxQixRQUFRLEVBQUVULFNBQVMsQ0FBQ29DLElBSkY7RUFRbEIxQixTQUFTLEVBQUVWLFNBQVMsQ0FBQ3FDLE1BUkg7RUFZbEIxQixLQUFLLEVBQUVYLFNBQVMsQ0FBQ3FDLE1BWkM7RUFnQmxCekIsTUFBTSxFQUFFWixTQUFTLENBQUNzQyxLQUFWLENBQWdCLENBQ3RCLFFBRHNCLEVBRXRCLFNBRnNCLEVBR3RCLFNBSHNCLEVBSXRCLFNBSnNCLEVBS3RCLFFBTHNCLENBQWhCLENBaEJVO0VBMEJsQnpCLFNBQVMsRUFBRWIsU0FBUyxDQUFDdUMsTUExQkg7RUE4QmxCeEIsSUFBSSxFQUFFZixTQUFTLENBQUNzQyxLQUFWLENBQWdCLENBQUMsTUFBRCxFQUFTLE9BQVQsRUFBa0IsUUFBbEIsRUFBNEIsT0FBNUIsQ0FBaEIsQ0E5Qlk7RUFrQ2xCdEIsUUFBUSxFQUFFaEIsU0FBUyxDQUFDd0MsSUFsQ0Y7RUFzQ2xCdkIsS0FBSyxFQUFFakIsU0FBUyxDQUFDeUMsTUF0Q0M7RUEwQ2xCdkIsSUFBSSxFQUFFbEIsU0FBUyxDQUFDcUMsTUExQ0U7RUE4Q2xCbEIsS0FBSyxFQUFFbkIsU0FBUyxDQUFDdUM7QUE5Q0MsQ0FBcEI7QUFpREFoQyxPQUFPLENBQUNtQyxZQUFSLEdBQXVCO0VBQ3JCakMsUUFBUSxFQUFFLElBRFc7RUFFckJDLFNBQVMsRUFBRSxFQUZVO0VBR3JCQyxLQUFLLEVBQUUsSUFIYztFQUlyQkMsTUFBTSxFQUFFLFFBSmE7RUFLckJDLFNBQVMsRUFBRSxHQUxVO0VBTXJCRSxJQUFJLEVBQUUsT0FOZTtFQU9yQkMsUUFBUSxFQUFFLElBUFc7RUFRckJDLEtBQUssRUFBRSxFQVJjO0VBU3JCQyxJQUFJLEVBQUUsSUFUZTtFQVVyQkMsS0FBSyxFQUFFO0FBVmMsQ0FBdkI7QUFhQSxlQUFlWixPQUFmIn0=