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>
136 lines (109 loc) • 18.7 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _configProvider = require("../config-provider");
var _tooltip = _interopRequireDefault(require("../tooltip"));
var _placements = _interopRequireDefault(require("./placements"));
require("./style");
var _excluded = ["alignEdge", "arrowed", "autoAdjustPlacement", "children", "getPopupContainer", "placement", "popup", "popupClassName", "popupStyle"];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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; }
var prefix = "adui-popover";
var Popover = (0, _react.forwardRef)(function (_ref, ref) {
var _classNames;
var alignEdge = _ref.alignEdge,
arrowed = _ref.arrowed,
_ref$autoAdjustPlacem = _ref.autoAdjustPlacement,
autoAdjustPlacement = _ref$autoAdjustPlacem === void 0 ? true : _ref$autoAdjustPlacem,
children = _ref.children,
getPopupContainer = _ref.getPopupContainer,
placement = _ref.placement,
popup = _ref.popup,
popupClassName = _ref.popupClassName,
popupStyle = _ref.popupStyle,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useContext = (0, _react.useContext)(_configProvider.ConfigContext),
getPopupContainerContext = _useContext.getPopupContainer;
var popupTransitionName = (0, _react.useMemo)(function () {
if (arrowed) {
return "zoom-big";
}
if (placement && placement.indexOf("top") === 0) {
return "slide-down";
}
if (placement && placement.indexOf("right") === 0) {
return "slide-left";
}
if (placement && placement.indexOf("left") === 0) {
return "slide-right";
}
return "slide-up";
}, [arrowed, placement]);
return _react["default"].createElement(_tooltip["default"], _extends({
autoAdjustPlacement: autoAdjustPlacement,
getPopupContainer: getPopupContainer || getPopupContainerContext,
placement: placement,
popup: popup,
popupClassName: (0, _classnames["default"])("".concat(prefix, "-popover"), popupClassName, (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-popover_noArrow"), !arrowed), _defineProperty(_classNames, "".concat(prefix, "-removeContentPadding"), !arrowed || typeof popup !== "string"), _classNames)),
popupStyle: arrowed ? popupStyle : _objectSpread({
padding: 0
}, popupStyle),
popupTransitionName: popupTransitionName,
builtinPlacements: (0, _placements["default"])({
alignEdge: alignEdge,
autoAdjustPlacement: autoAdjustPlacement
}),
ref: ref
}, otherProps), children);
});
Popover.displayName = "Popover";
Popover.propTypes = {
alignEdge: _propTypes["default"].bool,
arrowed: _propTypes["default"].bool,
children: _propTypes["default"].node,
defaultVisible: _propTypes["default"].oneOf([null, true, false]),
getPopupContainer: _propTypes["default"].func,
forceRender: _propTypes["default"].bool,
mouseEnterDelay: _propTypes["default"].number,
mouseLeaveDelay: _propTypes["default"].number,
onVisibleChange: _propTypes["default"].func,
placement: _propTypes["default"].oneOf(["top", "left", "right", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight", "leftTop", "leftBottom", "rightTop", "rightBottom"]),
popup: _propTypes["default"].node,
popupClassName: _propTypes["default"].string,
popupStyle: _propTypes["default"].object,
trigger: _propTypes["default"].oneOf(["hover", "focus", "click"]),
visible: _propTypes["default"].oneOf([null, true, false])
};
Popover.defaultProps = {
alignEdge: true,
arrowed: true,
children: "",
defaultVisible: null,
getPopupContainer: null,
forceRender: false,
mouseEnterDelay: 0,
mouseLeaveDelay: 0.1,
onVisibleChange: function onVisibleChange() {},
placement: "bottomLeft",
popup: "文字提示",
popupClassName: "",
popupStyle: {},
trigger: "hover",
visible: null
};
var _default = Popover;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVmaXgiLCJQb3BvdmVyIiwiZm9yd2FyZFJlZiIsInJlZiIsImFsaWduRWRnZSIsImFycm93ZWQiLCJhdXRvQWRqdXN0UGxhY2VtZW50IiwiY2hpbGRyZW4iLCJnZXRQb3B1cENvbnRhaW5lciIsInBsYWNlbWVudCIsInBvcHVwIiwicG9wdXBDbGFzc05hbWUiLCJwb3B1cFN0eWxlIiwib3RoZXJQcm9wcyIsInVzZUNvbnRleHQiLCJDb25maWdDb250ZXh0IiwiZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IiwicG9wdXBUcmFuc2l0aW9uTmFtZSIsInVzZU1lbW8iLCJpbmRleE9mIiwiY2xhc3NOYW1lcyIsInBhZGRpbmciLCJnZXRQbGFjZW1lbnRzIiwiZGlzcGxheU5hbWUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwibm9kZSIsImRlZmF1bHRWaXNpYmxlIiwib25lT2YiLCJmdW5jIiwiZm9yY2VSZW5kZXIiLCJtb3VzZUVudGVyRGVsYXkiLCJudW1iZXIiLCJtb3VzZUxlYXZlRGVsYXkiLCJvblZpc2libGVDaGFuZ2UiLCJzdHJpbmciLCJvYmplY3QiLCJ0cmlnZ2VyIiwidmlzaWJsZSIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvcG9wb3Zlci9Qb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7IENvbmZpZ0NvbnRleHQgfSBmcm9tIFwiLi4vY29uZmlnLXByb3ZpZGVyXCJcbmltcG9ydCBUb29sdGlwLCB7IElUb29sdGlwUHJvcHMgfSBmcm9tIFwiLi4vdG9vbHRpcFwiXG5pbXBvcnQgZ2V0UGxhY2VtZW50cyBmcm9tIFwiLi9wbGFjZW1lbnRzXCJcbmltcG9ydCBcIi4vc3R5bGVcIlxuXG5jb25zdCBwcmVmaXggPSBcImFkdWktcG9wb3ZlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBvcG92ZXJQcm9wcyBleHRlbmRzIElUb29sdGlwUHJvcHMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbiAgLyoqXG4gICAqIOaYr+WQpui+uee8mOWvuem9kFxuICAgKi9cbiAgYWxpZ25FZGdlPzogYm9vbGVhblxuICAvKipcbiAgICog5piv5ZCm5bim5pyJ566t5aS0XG4gICAqL1xuICBhcnJvd2VkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIOawlOazoeaPkOekuueUqOS6juinpuWPkeOAgeaTjeS9nOafkOmhueS/oeaBr+S4tOaXtuaAp+W8ueWHuueahOWGheWuue+8jOmrmOS6juW9k+WJjemhtemdouWxgue6p++8jOS4uuWGheWuueeahOi9u+mHj+W7tuS8uOOAglxuICogUG9wb3ZlciDmmK/ln7rkuo4gVG9vbHRpcCDov5vooYzlsIHoo4XnmoTjgIJcbiAqIOWPr+iDveaYr+aWh+Wtl+ino+mHiu+8jOS5n+WPr+iDveWGhea2teaTjeS9nO+8jOWPr+iuvue9ruW4pueureWktOOAgeaIluS4jeW4pueureWktOOAglxuICogUG9wb3ZlciDpu5jorqTovrnnvJjlr7npvZDjgIJcbiAqL1xuY29uc3QgUG9wb3ZlcjogUmVhY3QuRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxcbiAgSVBvcG92ZXJQcm9wcyAmIFJlYWN0LlJlZkF0dHJpYnV0ZXM8YW55PlxuPiA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBhbGlnbkVkZ2UsXG4gICAgICBhcnJvd2VkLFxuICAgICAgYXV0b0FkanVzdFBsYWNlbWVudCA9IHRydWUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGdldFBvcHVwQ29udGFpbmVyLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgcG9wdXAsXG4gICAgICBwb3B1cENsYXNzTmFtZSxcbiAgICAgIHBvcHVwU3R5bGUsXG4gICAgICAuLi5vdGhlclByb3BzXG4gICAgfTogSVBvcG92ZXJQcm9wcyxcbiAgICByZWZcbiAgKSA9PiB7XG4gICAgY29uc3QgeyBnZXRQb3B1cENvbnRhaW5lcjogZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IH0gPVxuICAgICAgdXNlQ29udGV4dChDb25maWdDb250ZXh0KVxuXG4gICAgY29uc3QgcG9wdXBUcmFuc2l0aW9uTmFtZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKGFycm93ZWQpIHtcbiAgICAgICAgcmV0dXJuIFwiem9vbS1iaWdcIlxuICAgICAgfVxuICAgICAgaWYgKHBsYWNlbWVudCAmJiBwbGFjZW1lbnQuaW5kZXhPZihcInRvcFwiKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gXCJzbGlkZS1kb3duXCJcbiAgICAgIH1cbiAgICAgIGlmIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LmluZGV4T2YoXCJyaWdodFwiKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gXCJzbGlkZS1sZWZ0XCJcbiAgICAgIH1cbiAgICAgIGlmIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LmluZGV4T2YoXCJsZWZ0XCIpID09PSAwKSB7XG4gICAgICAgIHJldHVybiBcInNsaWRlLXJpZ2h0XCJcbiAgICAgIH1cbiAgICAgIHJldHVybiBcInNsaWRlLXVwXCJcbiAgICB9LCBbYXJyb3dlZCwgcGxhY2VtZW50XSlcblxuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBhdXRvQWRqdXN0UGxhY2VtZW50PXthdXRvQWRqdXN0UGxhY2VtZW50fVxuICAgICAgICBnZXRQb3B1cENvbnRhaW5lcj17Z2V0UG9wdXBDb250YWluZXIgfHwgZ2V0UG9wdXBDb250YWluZXJDb250ZXh0fVxuICAgICAgICBwbGFjZW1lbnQ9e3BsYWNlbWVudH1cbiAgICAgICAgcG9wdXA9e3BvcHVwfVxuICAgICAgICBwb3B1cENsYXNzTmFtZT17Y2xhc3NOYW1lcyhgJHtwcmVmaXh9LXBvcG92ZXJgLCBwb3B1cENsYXNzTmFtZSwge1xuICAgICAgICAgIFtgJHtwcmVmaXh9LXBvcG92ZXJfbm9BcnJvd2BdOiAhYXJyb3dlZCxcbiAgICAgICAgICBbYCR7cHJlZml4fS1yZW1vdmVDb250ZW50UGFkZGluZ2BdOlxuICAgICAgICAgICAgIWFycm93ZWQgfHwgdHlwZW9mIHBvcHVwICE9PSBcInN0cmluZ1wiLFxuICAgICAgICB9KX1cbiAgICAgICAgcG9wdXBTdHlsZT17YXJyb3dlZCA/IHBvcHVwU3R5bGUgOiB7IHBhZGRpbmc6IDAsIC4uLnBvcHVwU3R5bGUgfX1cbiAgICAgICAgcG9wdXBUcmFuc2l0aW9uTmFtZT17cG9wdXBUcmFuc2l0aW9uTmFtZX1cbiAgICAgICAgYnVpbHRpblBsYWNlbWVudHM9e2dldFBsYWNlbWVudHMoeyBhbGlnbkVkZ2UsIGF1dG9BZGp1c3RQbGFjZW1lbnQgfSl9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9Ub29sdGlwPlxuICAgIClcbiAgfVxuKVxuXG5Qb3BvdmVyLmRpc3BsYXlOYW1lID0gXCJQb3BvdmVyXCJcblxuUG9wb3Zlci5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDmmK/lkKbovrnnvJjlr7npvZBcbiAgICovXG4gIGFsaWduRWRnZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDmmK/lkKbluKbmnInnrq3lpLRcbiAgICovXG4gIGFycm93ZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog5a2Q6IqC54K5XG4gICAqL1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIC8qKlxuICAgKiDmsJTms6Hmj5DnpLrmmK/lkKbpu5jorqTmmL7npLpcbiAgICovXG4gIGRlZmF1bHRWaXNpYmxlOiBQcm9wVHlwZXMub25lT2YoW251bGwsIHRydWUsIGZhbHNlXSksXG4gIC8qKlxuICAgKiDmjIflrprmsJTms6Hmj5DnpLrnmoTniLbnuqfvvIzpu5jorqTkuLogZG9jdW1lbnRcbiAgICovXG4gIGdldFBvcHVwQ29udGFpbmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIGZvcmNlUmVuZGVyIGJlZm9yZSBmaXJzdCB2aXNpYmxlXG4gICAqL1xuICBmb3JjZVJlbmRlcjogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiBtb3VzZUVudGVyIOaYvuekuueahOW7tuaXtu+8jOWNleS9je+8mnPvvIzlj6rlnKggdHJpZ2dlcj1cImhvdmVyXCIg5pe25pyJ5pWIXG4gICAqL1xuICBtb3VzZUVudGVyRGVsYXk6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKlxuICAgKiBtb3VzZUxlYXZlIOa2iOWkseeahOW7tuaXtu+8jOWNleS9je+8mnPvvIzlj6rlnKggdHJpZ2dlcj1cImhvdmVyXCIg5pe25pyJ5pWIXG4gICAqL1xuICBtb3VzZUxlYXZlRGVsYXk6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKlxuICAgKiDmmL7npLrlj5HnlJ/lj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25WaXNpYmxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIOW8ueWHuuWxguS9jee9rlxuICAgKi9cbiAgcGxhY2VtZW50OiBQcm9wVHlwZXMub25lT2YoW1xuICAgIFwidG9wXCIsXG4gICAgXCJsZWZ0XCIsXG4gICAgXCJyaWdodFwiLFxuICAgIFwiYm90dG9tXCIsXG4gICAgXCJ0b3BMZWZ0XCIsXG4gICAgXCJ0b3BSaWdodFwiLFxuICAgIFwiYm90dG9tTGVmdFwiLFxuICAgIFwiYm90dG9tUmlnaHRcIixcbiAgICBcImxlZnRUb3BcIixcbiAgICBcImxlZnRCb3R0b21cIixcbiAgICBcInJpZ2h0VG9wXCIsXG4gICAgXCJyaWdodEJvdHRvbVwiLFxuICBdKSxcbiAgLyoqXG4gICAqIOW8ueWHuuWGheWuuVxuICAgKi9cbiAgcG9wdXA6IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog5by55Ye65qGG55qE6ZmE5Yqg57G75ZCNXG4gICAqL1xuICBwb3B1cENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIOawlOazoeaPkOekuueahOmZhOWKoOagt+W8j1xuICAgKi9cbiAgcG9wdXBTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqXG4gICAqIOinpuWPkeaWueW8j1xuICAgKi9cbiAgdHJpZ2dlcjogUHJvcFR5cGVzLm9uZU9mKFtcImhvdmVyXCIsIFwiZm9jdXNcIiwgXCJjbGlja1wiXSksXG4gIC8qKlxuICAgKiDmiYvliqjmjqfliLbmsJTms6Hmj5DnpLrmmK/lkKbmmL7npLpcbiAgICovXG4gIHZpc2libGU6IFByb3BUeXBlcy5vbmVPZihbbnVsbCwgdHJ1ZSwgZmFsc2VdKSxcbn1cblxuUG9wb3Zlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGFsaWduRWRnZTogdHJ1ZSxcbiAgYXJyb3dlZDogdHJ1ZSxcbiAgY2hpbGRyZW46IFwiXCIsXG4gIGRlZmF1bHRWaXNpYmxlOiBudWxsLFxuICBnZXRQb3B1cENvbnRhaW5lcjogbnVsbCxcbiAgZm9yY2VSZW5kZXI6IGZhbHNlLFxuICBtb3VzZUVudGVyRGVsYXk6IDAsXG4gIG1vdXNlTGVhdmVEZWxheTogMC4xLFxuICBvblZpc2libGVDaGFuZ2U6ICgpID0+IHt9LFxuICBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLFxuICBwb3B1cDogXCLmloflrZfmj5DnpLpcIixcbiAgcG9wdXBDbGFzc05hbWU6IFwiXCIsXG4gIHBvcHVwU3R5bGU6IHt9LFxuICB0cmlnZ2VyOiBcImhvdmVyXCIsXG4gIHZpc2libGU6IG51bGwsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFBvcG92ZXJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsY0FBZjtBQW9CQSxJQUFNQyxPQUVMLEdBQUcsSUFBQUMsaUJBQUEsRUFDRixn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