UNPKG

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>

193 lines (151 loc) 19.7 kB
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); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } import * as React from "react"; import ResizeObserver from "resize-observer-polyfill"; import findDOMNode from "rc-util/lib/Dom/findDOMNode"; import toArray from "rc-util/lib/Children/toArray"; import { composeRef } from "rc-util/lib/ref"; import warning from "../_util/warning"; var supportRef = function supportRef(nodeOrComponent) { var _nodeOrComponent$type; if ((_nodeOrComponent$type = nodeOrComponent.type) !== null && _nodeOrComponent$type !== void 0 && _nodeOrComponent$type.$$typeof && nodeOrComponent.type.$$typeof.toString().includes("forward_ref")) { return false; } if (nodeOrComponent.type && nodeOrComponent.type.prototype && !nodeOrComponent.type.prototype.render) { return false; } if (typeof nodeOrComponent === "function") { return false; } return true; }; var ReactResizeObserver = function (_React$Component) { _inherits(ReactResizeObserver, _React$Component); var _super = _createSuper(ReactResizeObserver); function ReactResizeObserver() { var _this; _classCallCheck(this, ReactResizeObserver); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.resizeObserver = null; _this.childNode = null; _this.currentElement = null; _this.state = { width: 0, height: 0 }; _this.onResize = function (entries) { var onResize = _this.props.onResize; var _this$state = _this.state, widthState = _this$state.width, heightState = _this$state.height; var target = entries[0].target; var _target$getBoundingCl = target.getBoundingClientRect(), width = _target$getBoundingCl.width, height = _target$getBoundingCl.height; var _ref = [Math.floor(width), Math.floor(height)], fixedWidth = _ref[0], fixedHeight = _ref[1]; if (widthState !== fixedWidth || heightState !== fixedHeight) { var _size = { width: fixedWidth, height: fixedHeight }; _this.setState(_size); if (onResize) { onResize(_size); } } }; _this.setChildNode = function (node) { _this.childNode = node; }; return _this; } _createClass(ReactResizeObserver, [{ key: "componentDidMount", value: function componentDidMount() { this.onComponentUpdated(); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { this.onComponentUpdated(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.destroyObserver(); } }, { key: "onComponentUpdated", value: function onComponentUpdated() { var disabled = this.props.disabled; if (disabled) { this.destroyObserver(); return; } var element = findDOMNode(this.childNode || this); var elementChanged = element !== this.currentElement; if (elementChanged) { this.destroyObserver(); this.currentElement = element; } if (!this.resizeObserver && element) { this.resizeObserver = new ResizeObserver(this.onResize); this.resizeObserver.observe(element); } } }, { key: "destroyObserver", value: function destroyObserver() { if (this.resizeObserver) { this.resizeObserver.disconnect(); this.resizeObserver = null; } } }, { key: "render", value: function render() { var children = this.props.children; var childNodes = toArray(children); if (childNodes.length > 1) { warning(false, "ResizeObserver", "有多个 children,将只会在第一个元素上监听"); } else if (childNodes.length === 0) { warning(false, "ResizeObserver", "没有 children"); return null; } var childNode = childNodes[0]; if (React.isValidElement(childNode) && supportRef(childNode)) { var _ref2 = childNode, ref = _ref2.ref; childNodes[0] = React.cloneElement(childNode, { ref: composeRef(ref, this.setChildNode) }); } return React.createElement(React.Fragment, null, childNodes.length === 1 ? childNodes[0] : childNodes.map(function (node, index) { if (!React.isValidElement(node) || "key" in node && node.key !== null) { return node; } return React.cloneElement(node, { key: "adui-observer-key-".concat(index) }); })); } }]); return ReactResizeObserver; }(React.Component); ReactResizeObserver.displayName = "ResizeObserver"; export default ReactResizeObserver; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlJlc2l6ZU9ic2VydmVyIiwiZmluZERPTU5vZGUiLCJ0b0FycmF5IiwiY29tcG9zZVJlZiIsIndhcm5pbmciLCJzdXBwb3J0UmVmIiwibm9kZU9yQ29tcG9uZW50IiwidHlwZSIsIiQkdHlwZW9mIiwidG9TdHJpbmciLCJpbmNsdWRlcyIsInByb3RvdHlwZSIsInJlbmRlciIsIlJlYWN0UmVzaXplT2JzZXJ2ZXIiLCJyZXNpemVPYnNlcnZlciIsImNoaWxkTm9kZSIsImN1cnJlbnRFbGVtZW50Iiwic3RhdGUiLCJ3aWR0aCIsImhlaWdodCIsIm9uUmVzaXplIiwiZW50cmllcyIsInByb3BzIiwid2lkdGhTdGF0ZSIsImhlaWdodFN0YXRlIiwidGFyZ2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiTWF0aCIsImZsb29yIiwiZml4ZWRXaWR0aCIsImZpeGVkSGVpZ2h0Iiwic2l6ZSIsInNldFN0YXRlIiwic2V0Q2hpbGROb2RlIiwibm9kZSIsIm9uQ29tcG9uZW50VXBkYXRlZCIsImRlc3Ryb3lPYnNlcnZlciIsImRpc2FibGVkIiwiZWxlbWVudCIsImVsZW1lbnRDaGFuZ2VkIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJjaGlsZHJlbiIsImNoaWxkTm9kZXMiLCJsZW5ndGgiLCJpc1ZhbGlkRWxlbWVudCIsInJlZiIsImNsb25lRWxlbWVudCIsIm1hcCIsImluZGV4Iiwia2V5IiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL3Jlc2l6ZS1vYnNlcnZlci9SZXNpemVPYnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNpemVPYnNlcnZlciDkvJrku6UgY2xhc3Mg57uE5Lu255qE5b2i5byP5a2Y5Zyo77yMXG4gKiDlm6DkuLrlhbbkvb/nlKggZmluZERvbU5vZGUodGhpcykg5a6e546wIGNoaWxkcmVuIOS4uiBmYyDml7bkuI3og73nu5kgcmVmIOeahOaDheWGtVxuICog5aaC5p6cIFJlc2l6ZU9ic2VydmVyIOS5n+aYryBmY++8jOWwseayoeacieWKnuazleWcqOS4jea3u+WKoOmineWklue7k+aehOeahOaDheWGteS4i+aLv+WIsCBkb20g5LqGXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCBSZXNpemVPYnNlcnZlciBmcm9tIFwicmVzaXplLW9ic2VydmVyLXBvbHlmaWxsXCJcbmltcG9ydCBmaW5kRE9NTm9kZSBmcm9tIFwicmMtdXRpbC9saWIvRG9tL2ZpbmRET01Ob2RlXCJcbmltcG9ydCB0b0FycmF5IGZyb20gXCJyYy11dGlsL2xpYi9DaGlsZHJlbi90b0FycmF5XCJcbmltcG9ydCB7IGNvbXBvc2VSZWYgfSBmcm9tIFwicmMtdXRpbC9saWIvcmVmXCJcbmltcG9ydCB3YXJuaW5nIGZyb20gXCIuLi9fdXRpbC93YXJuaW5nXCJcblxuaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyRW50cnkge1xuICByZWFkb25seSBib3JkZXJCb3hTaXplOiBSZXNpemVPYnNlcnZlckVudHJ5Qm94U2l6ZVxuICByZWFkb25seSBjb250ZW50Qm94U2l6ZTogUmVzaXplT2JzZXJ2ZXJFbnRyeUJveFNpemVcbiAgcmVhZG9ubHkgY29udGVudFJlY3Q6IGFueVxuICByZWFkb25seSB0YXJnZXQ6IEVsZW1lbnRcbn1cbmludGVyZmFjZSBSZXNpemVPYnNlcnZlckVudHJ5Qm94U2l6ZSB7XG4gIGJsb2NrU2l6ZTogbnVtYmVyXG4gIGlubGluZVNpemU6IG51bWJlclxufVxuXG5jb25zdCBzdXBwb3J0UmVmID0gKG5vZGVPckNvbXBvbmVudCkgPT4ge1xuICBpZiAoXG4gICAgbm9kZU9yQ29tcG9uZW50LnR5cGU/LiQkdHlwZW9mICYmXG4gICAgbm9kZU9yQ29tcG9uZW50LnR5cGUuJCR0eXBlb2YudG9TdHJpbmcoKS5pbmNsdWRlcyhcImZvcndhcmRfcmVmXCIpXG4gICkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLy8gRnVuY3Rpb24gY29tcG9uZW50IG5vZGVcbiAgaWYgKFxuICAgIG5vZGVPckNvbXBvbmVudC50eXBlICYmXG4gICAgbm9kZU9yQ29tcG9uZW50LnR5cGUucHJvdG90eXBlICYmXG4gICAgIW5vZGVPckNvbXBvbmVudC50eXBlLnByb3RvdHlwZS5yZW5kZXJcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvLyBDbGFzcyBjb21wb25lbnRcbiAgaWYgKHR5cGVvZiBub2RlT3JDb21wb25lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzaXplT2JzZXJ2ZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uUmVzaXplPzogKHNpemU6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSkgPT4gdm9pZFxufVxuXG5pbnRlcmZhY2UgUmVzaXplT2JzZXJ2ZXJTdGF0ZSB7XG4gIGhlaWdodDogbnVtYmVyXG4gIHdpZHRoOiBudW1iZXJcbn1cblxudHlwZSBSZWZOb2RlID0gUmVhY3QuUmVhY3RJbnN0YW5jZSB8IEhUTUxFbGVtZW50IHwgbnVsbFxuXG5jbGFzcyBSZWFjdFJlc2l6ZU9ic2VydmVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICBJUmVzaXplT2JzZXJ2ZXJQcm9wcyxcbiAgUmVzaXplT2JzZXJ2ZXJTdGF0ZVxuPiB7XG4gIHN0YXRpYyBkaXNwbGF5TmFtZSA9IFwiUmVzaXplT2JzZXJ2ZXJcIlxuXG4gIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBudWxsXG5cbiAgY2hpbGROb2RlOiBSZWZOb2RlID0gbnVsbFxuXG4gIGN1cnJlbnRFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICBzdGF0ZSA9IHtcbiAgICB3aWR0aDogMCxcbiAgICBoZWlnaHQ6IDAsXG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLm9uQ29tcG9uZW50VXBkYXRlZCgpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5vbkNvbXBvbmVudFVwZGF0ZWQoKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kZXN0cm95T2JzZXJ2ZXIoKVxuICB9XG5cbiAgb25Db21wb25lbnRVcGRhdGVkKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQgfSA9IHRoaXMucHJvcHNcblxuICAgIC8vIFVucmVnaXN0ZXIgaWYgZGlzYWJsZWRcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGVzdHJveU9ic2VydmVyKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnQgPSBmaW5kRE9NTm9kZSh0aGlzLmNoaWxkTm9kZSB8fCB0aGlzKSBhcyBFbGVtZW50XG4gICAgY29uc3QgZWxlbWVudENoYW5nZWQgPSBlbGVtZW50ICE9PSB0aGlzLmN1cnJlbnRFbGVtZW50XG4gICAgaWYgKGVsZW1lbnRDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmRlc3Ryb3lPYnNlcnZlcigpXG4gICAgICB0aGlzLmN1cnJlbnRFbGVtZW50ID0gZWxlbWVudFxuICAgIH1cblxuICAgIGlmICghdGhpcy5yZXNpemVPYnNlcnZlciAmJiBlbGVtZW50KSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMub25SZXNpemUpXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudClcbiAgICB9XG4gIH1cblxuICBvblJlc2l6ZSA9IChlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pID0+IHtcbiAgICBjb25zdCB7IG9uUmVzaXplIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgeyB3aWR0aDogd2lkdGhTdGF0ZSwgaGVpZ2h0OiBoZWlnaHRTdGF0ZSB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGVudHJpZXNbMF1cblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgY29uc3QgW2ZpeGVkV2lkdGgsIGZpeGVkSGVpZ2h0XSA9IFtNYXRoLmZsb29yKHdpZHRoKSwgTWF0aC5mbG9vcihoZWlnaHQpXVxuXG4gICAgaWYgKHdpZHRoU3RhdGUgIT09IGZpeGVkV2lkdGggfHwgaGVpZ2h0U3RhdGUgIT09IGZpeGVkSGVpZ2h0KSB7XG4gICAgICBjb25zdCBzaXplID0geyB3aWR0aDogZml4ZWRXaWR0aCwgaGVpZ2h0OiBmaXhlZEhlaWdodCB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoc2l6ZSlcblxuICAgICAgaWYgKG9uUmVzaXplKSB7XG4gICAgICAgIG9uUmVzaXplKHNpemUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0Q2hpbGROb2RlID0gKG5vZGU6IFJlZk5vZGUpID0+IHtcbiAgICB0aGlzLmNoaWxkTm9kZSA9IG5vZGVcbiAgfVxuXG4gIGRlc3Ryb3lPYnNlcnZlcigpIHtcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdG9BcnJheShjaGlsZHJlbilcblxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHdhcm5pbmcoXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBcIlJlc2l6ZU9ic2VydmVyXCIsXG4gICAgICAgIFwi5pyJ5aSa5LiqIGNoaWxkcmVu77yM5bCG5Y+q5Lya5Zyo56ys5LiA5Liq5YWD57Sg5LiK55uR5ZCsXCJcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGNoaWxkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB3YXJuaW5nKGZhbHNlLCBcIlJlc2l6ZU9ic2VydmVyXCIsIFwi5rKh5pyJIGNoaWxkcmVuXCIpXG5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGROb2RlID0gY2hpbGROb2Rlc1swXVxuXG4gICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkTm9kZSkgJiYgc3VwcG9ydFJlZihjaGlsZE5vZGUpKSB7XG4gICAgICBjb25zdCB7IHJlZiB9ID0gY2hpbGROb2RlIGFzIGFueVxuXG4gICAgICBjaGlsZE5vZGVzWzBdID0gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkTm9kZSBhcyBhbnksIHtcbiAgICAgICAgcmVmOiBjb21wb3NlUmVmKHJlZiwgdGhpcy5zZXRDaGlsZE5vZGUpLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge2NoaWxkTm9kZXMubGVuZ3RoID09PSAxXG4gICAgICAgICAgPyBjaGlsZE5vZGVzWzBdXG4gICAgICAgICAgOiBjaGlsZE5vZGVzLm1hcCgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFSZWFjdC5pc1ZhbGlkRWxlbWVudChub2RlKSB8fFxuICAgICAgICAgICAgICAgIChcImtleVwiIGluIG5vZGUgJiYgbm9kZS5rZXkgIT09IG51bGwpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBub2RlXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KG5vZGUsIHtcbiAgICAgICAgICAgICAgICBrZXk6IGBhZHVpLW9ic2VydmVyLWtleS0ke2luZGV4fWAsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KX1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZWFjdFJlc2l6ZU9ic2VydmVyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxPQUFPQyxjQUFQLE1BQTJCLDBCQUEzQjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsNkJBQXhCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQiw4QkFBcEI7QUFDQSxTQUFTQyxVQUFULFFBQTJCLGlCQUEzQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isa0JBQXBCOztBQWFBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLGVBQUQsRUFBcUI7RUFBQTs7RUFDdEMsSUFDRSx5QkFBQUEsZUFBZSxDQUFDQyxJQUFoQix3RUFBc0JDLFFBQXRCLElBQ0FGLGVBQWUsQ0FBQ0MsSUFBaEIsQ0FBcUJDLFFBQXJCLENBQThCQyxRQUE5QixHQUF5Q0MsUUFBekMsQ0FBa0QsYUFBbEQsQ0FGRixFQUdFO0lBQ0EsT0FBTyxLQUFQO0VBQ0Q7O0VBR0QsSUFDRUosZUFBZSxDQUFDQyxJQUFoQixJQUNBRCxlQUFlLENBQUNDLElBQWhCLENBQXFCSSxTQURyQixJQUVBLENBQUNMLGVBQWUsQ0FBQ0MsSUFBaEIsQ0FBcUJJLFNBQXJCLENBQStCQyxNQUhsQyxFQUlFO0lBQ0EsT0FBTyxLQUFQO0VBQ0Q7O0VBR0QsSUFBSSxPQUFPTixlQUFQLEtBQTJCLFVBQS9CLEVBQTJDO0lBQ3pDLE9BQU8sS0FBUDtFQUNEOztFQUVELE9BQU8sSUFBUDtBQUNELENBdkJEOztJQXNDTU8sbUI7Ozs7Ozs7Ozs7Ozs7OztVQU1KQyxjLEdBQXdDLEk7VUFFeENDLFMsR0FBcUIsSTtVQUVyQkMsYyxHQUFpQyxJO1VBRWpDQyxLLEdBQVE7TUFDTkMsS0FBSyxFQUFFLENBREQ7TUFFTkMsTUFBTSxFQUFFO0lBRkYsQzs7VUF1Q1JDLFEsR0FB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