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>

114 lines 16.9 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var _excluded = ["affixed", "children", "className", "collapsed", "collapsible", "onCollapseChange"]; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; } import React, { useContext, useEffect, useRef } from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; import Button from "../button"; import Affix from "../affix"; import { detectStickySupport } from "../_util/detectStickySupport"; import { preventOuterScroll } from "../_util/preventOuterScroll"; import { LayoutContext } from "./Context"; import "./style"; var prefix = "adui-layout"; var _Aside = function Aside(_ref) { var affixed = _ref.affixed, children = _ref.children, className = _ref.className, collapsed = _ref.collapsed, collapsible = _ref.collapsible, onCollapseChange = _ref.onCollapseChange, otherProps = _objectWithoutProperties(_ref, _excluded); var _useContext = useContext(LayoutContext), headerAffixed = _useContext.headerAffixed; var asideRef = useRef(null); var asideContentRef = useRef(null); var handleScroll = function handleScroll() { if (asideRef !== null && asideRef !== void 0 && asideRef.current && affixed && headerAffixed) { asideRef.current.style.maxHeight = scrollY >= 0 && scrollY <= 72 ? "calc(100vh - ".concat(72 - scrollY, "px)") : "100vh"; } }; var handleCollapseChange = function handleCollapseChange(bool) { if (onCollapseChange) { onCollapseChange(bool); } }; var bindScrollEvent = function bindScrollEvent() { if (affixed && !headerAffixed) { window.addEventListener("scroll", handleScroll); } }; useEffect(function () { setTimeout(bindScrollEvent, 0); if (asideContentRef !== null && asideContentRef !== void 0 && asideContentRef.current) { asideContentRef.current.addEventListener("wheel", preventOuterScroll, { passive: false }); } return function () { window.removeEventListener("scroll", handleScroll); }; }, []); var offsetTop; if (affixed && headerAffixed) { offsetTop = 72; } if (affixed && !headerAffixed) { offsetTop = 0; } var asideContent = React.createElement("aside", _extends({ className: classNames(className, "".concat(prefix, "-aside"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(prefix, "-aside_affixed"), affixed && headerAffixed), "".concat(prefix, "-aside_affixed_alone"), affixed && !headerAffixed), "".concat(prefix, "-aside_collapsed"), collapsed), "".concat(prefix, "-aside_collapsible"), collapsible)) }, otherProps, { ref: asideRef }), React.createElement("div", { className: classNames("".concat(prefix, "-asideInner")) }, collapsible && React.createElement("div", { className: "".concat(prefix, "-asideBackButton"), onClick: function onClick() { return handleCollapseChange(true); }, role: "none" }, React.createElement(Button, { theme: "light", leftIcon: "arrow-back" })), React.createElement("div", { className: "".concat(prefix, "-asideContent"), ref: asideContentRef }, children)), React.createElement("div", { className: "".concat(prefix, "-asideMask"), onClick: function onClick() { return handleCollapseChange(true); }, role: "none" })); if (affixed && !_Aside.stickable) { return React.createElement(Affix, { offsetTop: offsetTop }, asideContent); } return asideContent; }; _Aside.stickable = detectStickySupport(); _Aside.propTypes = { affixed: PropTypes.bool, children: PropTypes.node, className: PropTypes.string, collapsed: PropTypes.bool, collapsible: PropTypes.bool, onCollapseChange: PropTypes.func }; _Aside.defaultProps = { affixed: false, children: "", className: undefined, collapsed: false, collapsible: false, onCollapseChange: function onCollapseChange() {} }; export default _Aside; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJQcm9wVHlwZXMiLCJjbGFzc05hbWVzIiwiQnV0dG9uIiwiQWZmaXgiLCJkZXRlY3RTdGlja3lTdXBwb3J0IiwicHJldmVudE91dGVyU2Nyb2xsIiwiTGF5b3V0Q29udGV4dCIsInByZWZpeCIsIkFzaWRlIiwiX3JlZiIsImFmZml4ZWQiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImNvbGxhcHNlZCIsImNvbGxhcHNpYmxlIiwib25Db2xsYXBzZUNoYW5nZSIsIm90aGVyUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfdXNlQ29udGV4dCIsImhlYWRlckFmZml4ZWQiLCJhc2lkZVJlZiIsImFzaWRlQ29udGVudFJlZiIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJzdHlsZSIsIm1heEhlaWdodCIsInNjcm9sbFkiLCJjb25jYXQiLCJoYW5kbGVDb2xsYXBzZUNoYW5nZSIsImJvb2wiLCJiaW5kU2Nyb2xsRXZlbnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2V0VGltZW91dCIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0VG9wIiwiYXNpZGVDb250ZW50IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiX2RlZmluZVByb3BlcnR5IiwicmVmIiwib25DbGljayIsInJvbGUiLCJ0aGVtZSIsImxlZnRJY29uIiwic3RpY2thYmxlIiwicHJvcFR5cGVzIiwibm9kZSIsInN0cmluZyIsImZ1bmMiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL2xheW91dC9Bc2lkZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCJcbmltcG9ydCBBZmZpeCBmcm9tIFwiLi4vYWZmaXhcIlxuaW1wb3J0IHsgZGV0ZWN0U3RpY2t5U3VwcG9ydCB9IGZyb20gXCIuLi9fdXRpbC9kZXRlY3RTdGlja3lTdXBwb3J0XCJcbmltcG9ydCB7IHByZXZlbnRPdXRlclNjcm9sbCB9IGZyb20gXCIuLi9fdXRpbC9wcmV2ZW50T3V0ZXJTY3JvbGxcIlxuaW1wb3J0IHsgTGF5b3V0Q29udGV4dCB9IGZyb20gXCIuL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1sYXlvdXRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIElBc2lkZVByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDmmK/lkKblm7rlrppcbiAgICovXG4gIGFmZml4ZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm5pS26LW3XG4gICAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiDmmK/lkKbmlK/mjIHmlLbotbdcbiAgICovXG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhblxuICAvKipcbiAgICog5pS26LW354q25oCB5Y+Y5YyW5pe255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ29sbGFwc2VDaGFuZ2U/OiAoY29sbGFwc2VkOiBib29sZWFuKSA9PiB2b2lkXG59XG5cbi8qKlxuICog5biD5bGAIC0g5L6n6L655qCPIGA8YXNpZGUgLz5gXG4gKi9cbmNvbnN0IEFzaWRlOiBSZWFjdC5GQzxJQXNpZGVQcm9wcz4gJiB7XG4gIHN0aWNrYWJsZTogYm9vbGVhblxufSA9ICh7XG4gIGFmZml4ZWQsXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGNvbGxhcHNlZCxcbiAgY29sbGFwc2libGUsXG4gIG9uQ29sbGFwc2VDaGFuZ2UsXG4gIC4uLm90aGVyUHJvcHNcbn06IElBc2lkZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaGVhZGVyQWZmaXhlZCB9ID0gdXNlQ29udGV4dChMYXlvdXRDb250ZXh0KVxuICBjb25zdCBhc2lkZVJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbClcbiAgY29uc3QgYXNpZGVDb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAoYXNpZGVSZWY/LmN1cnJlbnQgJiYgYWZmaXhlZCAmJiBoZWFkZXJBZmZpeGVkKSB7XG4gICAgICBhc2lkZVJlZi5jdXJyZW50LnN0eWxlLm1heEhlaWdodCA9XG4gICAgICAgIHNjcm9sbFkgPj0gMCAmJiBzY3JvbGxZIDw9IDcyXG4gICAgICAgICAgPyBgY2FsYygxMDB2aCAtICR7NzIgLSBzY3JvbGxZfXB4KWBcbiAgICAgICAgICA6IFwiMTAwdmhcIlxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbGxhcHNlQ2hhbmdlID0gKGJvb2w6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAob25Db2xsYXBzZUNoYW5nZSkge1xuICAgICAgb25Db2xsYXBzZUNoYW5nZShib29sKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJpbmRTY3JvbGxFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoYWZmaXhlZCAmJiAhaGVhZGVyQWZmaXhlZCkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgaGFuZGxlU2Nyb2xsKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGltZW91dChiaW5kU2Nyb2xsRXZlbnQsIDApXG4gICAgaWYgKGFzaWRlQ29udGVudFJlZj8uY3VycmVudCkge1xuICAgICAgYXNpZGVDb250ZW50UmVmLmN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcihcIndoZWVsXCIsIHByZXZlbnRPdXRlclNjcm9sbCwge1xuICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuICB9LCBbXSlcblxuICBsZXQgb2Zmc2V0VG9wXG4gIGlmIChhZmZpeGVkICYmIGhlYWRlckFmZml4ZWQpIHtcbiAgICBvZmZzZXRUb3AgPSA3MlxuICB9XG4gIGlmIChhZmZpeGVkICYmICFoZWFkZXJBZmZpeGVkKSB7XG4gICAgb2Zmc2V0VG9wID0gMFxuICB9XG5cbiAgY29uc3QgYXNpZGVDb250ZW50ID0gKFxuICAgIDxhc2lkZVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgYCR7cHJlZml4fS1hc2lkZWAsIHtcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfYWZmaXhlZGBdOiBhZmZpeGVkICYmIGhlYWRlckFmZml4ZWQsXG4gICAgICAgIFtgJHtwcmVmaXh9LWFzaWRlX2FmZml4ZWRfYWxvbmVgXTogYWZmaXhlZCAmJiAhaGVhZGVyQWZmaXhlZCxcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfY29sbGFwc2VkYF06IGNvbGxhcHNlZCxcbiAgICAgICAgW2Ake3ByZWZpeH0tYXNpZGVfY29sbGFwc2libGVgXTogY29sbGFwc2libGUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgcmVmPXthc2lkZVJlZn1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhgJHtwcmVmaXh9LWFzaWRlSW5uZXJgKX0+XG4gICAgICAgIHtjb2xsYXBzaWJsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWFzaWRlQmFja0J1dHRvbmB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDb2xsYXBzZUNoYW5nZSh0cnVlKX1cbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QnV0dG9uIHRoZW1lPVwibGlnaHRcIiBsZWZ0SWNvbj1cImFycm93LWJhY2tcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1hc2lkZUNvbnRlbnRgfSByZWY9e2FzaWRlQ29udGVudFJlZn0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tYXNpZGVNYXNrYH1cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ29sbGFwc2VDaGFuZ2UodHJ1ZSl9XG4gICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgIC8+XG4gICAgPC9hc2lkZT5cbiAgKVxuICBpZiAoYWZmaXhlZCAmJiAhQXNpZGUuc3RpY2thYmxlKSB7XG4gICAgcmV0dXJuIDxBZmZpeCBvZmZzZXRUb3A9e29mZnNldFRvcH0+e2FzaWRlQ29udGVudH08L0FmZml4PlxuICB9XG4gIHJldHVybiBhc2lkZUNvbnRlbnRcbn1cblxuQXNpZGUuc3RpY2thYmxlID0gZGV0ZWN0U3RpY2t5U3VwcG9ydCgpXG5cbkFzaWRlLnByb3BUeXBlcyA9IHtcbiAgLyoqXG4gICAqIOaYr+WQpuWbuuWumlxuICAgKi9cbiAgYWZmaXhlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm5pS26LW3XG4gICAqL1xuICBjb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog5piv5ZCm5pSv5oyB5pS26LW3XG4gICAqL1xuICBjb2xsYXBzaWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDmlLbotbfnirbmgIHlj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25Db2xsYXBzZUNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG59XG5cbkFzaWRlLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWZmaXhlZDogZmFsc2UsXG4gIGNoaWxkcmVuOiBcIlwiLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgY29sbGFwc2VkOiBmYWxzZSxcbiAgY29sbGFwc2libGU6IGZhbHNlLFxuICBvbkNvbGxhcHNlQ2hhbmdlOiAoKSA9PiB7fSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXNpZGVcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFVBQVUsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUM1RCxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixTQUFTQyxtQkFBbUIsUUFBUSw4QkFBOEI7QUFDbEUsU0FBU0Msa0JBQWtCLFFBQVEsNkJBQTZCO0FBQ2hFLFNBQVNDLGFBQWEsUUFBUSxXQUFXO0FBQ3pDLE9BQU8sU0FBUztBQUVoQixJQUFNQyxNQUFNLEdBQUcsYUFBYTtBQWlDNUIsSUFBTUMsTUFFTCxHQUFHLFNBRkVBLEtBRUxBLENBQUFDLElBQUEsRUFRa0I7RUFBQSxJQVBqQkMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFDUEMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFDUkMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFDVEMsU0FBUyxHQUFBSixJQUFBLENBQVRJLFNBQVM7SUFDVEMsV0FBVyxHQUFBTCxJQUFBLENBQVhLLFdBQVc7SUFDWEMsZ0JBQWdCLEdBQUFOLElBQUEsQ0FBaEJNLGdCQUFnQjtJQUNiQyxVQUFVLEdBQUFDLHdCQUFBLENBQUFSLElBQUEsRUFBQVMsU0FBQTtFQUViLElBQUFDLFdBQUEsR0FBMEJ0QixVQUFVLENBQUNTLGFBQWEsQ0FBQztJQUEzQ2MsYUFBYSxHQUFBRCxXQUFBLENBQWJDLGFBQWE7RUFDckIsSUFBTUMsUUFBUSxHQUFHdEIsTUFBTSxDQUFjLElBQUksQ0FBQztFQUMxQyxJQUFNdUIsZUFBZSxHQUFHdkIsTUFBTSxDQUFpQixJQUFJLENBQUM7RUFFcEQsSUFBTXdCLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekIsSUFBSUYsUUFBUSxhQUFSQSxRQUFRLGVBQVJBLFFBQVEsQ0FBRUcsT0FBTyxJQUFJZCxPQUFPLElBQUlVLGFBQWEsRUFBRTtNQUNqREMsUUFBUSxDQUFDRyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsU0FBUyxHQUM5QkMsT0FBTyxJQUFJLENBQUMsSUFBSUEsT0FBTyxJQUFJLEVBQUUsbUJBQUFDLE1BQUEsQ0FDVCxFQUFFLEdBQUdELE9BQU8sV0FDNUIsT0FBTztJQUNmO0VBQ0YsQ0FBQztFQUVELElBQU1FLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlDLElBQWEsRUFBSztJQUM5QyxJQUFJZixnQkFBZ0IsRUFBRTtNQUNwQkEsZ0JBQWdCLENBQUNlLElBQUksQ0FBQztJQUN4QjtFQUNGLENBQUM7RUFFRCxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztJQUM1QixJQUFJckIsT0FBTyxJQUFJLENBQUNVLGFBQWEsRUFBRTtNQUM3QlksTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVWLFlBQVksQ0FBQztJQUNqRDtFQUNGLENBQUM7RUFFRHpCLFNBQVMsQ0FBQyxZQUFNO0lBQ2RvQyxVQUFVLENBQUNILGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUIsSUFBSVQsZUFBZSxhQUFmQSxlQUFlLGVBQWZBLGVBQWUsQ0FBRUUsT0FBTyxFQUFFO01BQzVCRixlQUFlLENBQUNFLE9BQU8sQ0FBQ1MsZ0JBQWdCLENBQUMsT0FBTyxFQUFFNUIsa0JBQWtCLEVBQUU7UUFDcEU4QixPQUFPLEVBQUU7TUFDWCxDQUFDLENBQUM7SUFDSjtJQUNBLE9BQU8sWUFBTTtNQUNYSCxNQUFNLENBQUNJLG1CQUFtQixDQUFDLFFBQVEsRUFBRWIsWUFBWSxDQUFDO0lBQ3BELENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBSWMsU0FBUztFQUNiLElBQUkzQixPQUFPLElBQUlVLGFBQWEsRUFBRTtJQUM1QmlCLFNBQVMsR0FBRyxFQUFFO0VBQ2hCO0VBQ0EsSUFBSTNCLE9BQU8sSUFBSSxDQUFDVSxhQUFhLEVBQUU7SUFDN0JpQixTQUFTLEdBQUcsQ0FBQztFQUNmO0VBRUEsSUFBTUMsWUFBWSxHQUNoQjFDLEtBQUEsQ0FBQTJDLGFBQUEsVUFBQUMsUUFBQTtJQUNFNUIsU0FBUyxFQUFFWCxVQUFVLENBQUNXLFNBQVMsS0FBQWdCLE1BQUEsQ0FBS3JCLE1BQU0sYUFBQWtDLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsUUFBQWIsTUFBQSxDQUNwQ3JCLE1BQU0scUJBQW1CRyxPQUFPLElBQUlVLGFBQWEsTUFBQVEsTUFBQSxDQUNqRHJCLE1BQU0sMkJBQXlCRyxPQUFPLElBQUksQ0FBQ1UsYUFBYSxNQUFBUSxNQUFBLENBQ3hEckIsTUFBTSx1QkFBcUJNLFNBQVMsTUFBQWUsTUFBQSxDQUNwQ3JCLE1BQU0seUJBQXVCTyxXQUFXLENBQzdDO0VBQUUsR0FDQ0UsVUFBVTtJQUNkMEIsR0FBRyxFQUFFckI7RUFBUyxJQUVkekIsS0FBQSxDQUFBMkMsYUFBQTtJQUFLM0IsU0FBUyxFQUFFWCxVQUFVLElBQUEyQixNQUFBLENBQUlyQixNQUFNLGdCQUFhO0VBQUUsR0FDaERPLFdBQVcsSUFDVmxCLEtBQUEsQ0FBQTJDLGFBQUE7SUFDRTNCLFNBQVMsS0FBQWdCLE1BQUEsQ0FBS3JCLE1BQU0scUJBQW1CO0lBQ3ZDb0MsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7TUFBQSxPQUFRZCxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFBQSxDQUFDO0lBQzFDZSxJQUFJLEVBQUM7RUFBTSxHQUVYaEQsS0FBQSxDQUFBMkMsYUFBQSxDQUFDckMsTUFBTTtJQUFDMkMsS0FBSyxFQUFDLE9BQU87SUFBQ0MsUUFBUSxFQUFDO0VBQVksQ0FBRSxDQUMxQyxDQUNOLEVBQ0RsRCxLQUFBLENBQUEyQyxhQUFBO0lBQUszQixTQUFTLEtBQUFnQixNQUFBLENBQUtyQixNQUFNLGtCQUFnQjtJQUFDbUMsR0FBRyxFQUFFcEI7RUFBZ0IsR0FDNURYLFFBQ0UsQ0FDRixDQUFDLEVBQ05mLEtBQUEsQ0FBQTJDLGFBQUE7SUFDRTNCLFNBQVMsS0FBQWdCLE1BQUEsQ0FBS3JCLE1BQU0sZUFBYTtJQUNqQ29DLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUWQsb0JBQW9CLENBQUMsSUFBSSxDQUFDO0lBQUEsQ0FBQztJQUMxQ2UsSUFBSSxFQUFDO0VBQU0sQ0FDWixDQUNJLENBQ1I7RUFDRCxJQUFJbEMsT0FBTyxJQUFJLENBQUNGLE1BQUssQ0FBQ3VDLFNBQVMsRUFBRTtJQUMvQixPQUFPbkQsS0FBQSxDQUFBMkMsYUFBQSxDQUFDcEMsS0FBSztNQUFDa0MsU0FBUyxFQUFFQTtJQUFVLEdBQUVDLFlBQW9CLENBQUM7RUFDNUQ7RUFDQSxPQUFPQSxZQUFZO0FBQ3JCLENBQUM7QUFFRDlCLE1BQUssQ0FBQ3VDLFNBQVMsR0FBRzNDLG1CQUFtQixDQUFDLENBQUM7QUFFdkNJLE1BQUssQ0FBQ3dDLFNBQVMsR0FBRztFQUloQnRDLE9BQU8sRUFBRVYsU0FBUyxDQUFDOEIsSUFBSTtFQUl2Qm5CLFFBQVEsRUFBRVgsU0FBUyxDQUFDaUQsSUFBSTtFQUl4QnJDLFNBQVMsRUFBRVosU0FBUyxDQUFDa0QsTUFBTTtFQUkzQnJDLFNBQVMsRUFBRWIsU0FBUyxDQUFDOEIsSUFBSTtFQUl6QmhCLFdBQVcsRUFBRWQsU0FBUyxDQUFDOEIsSUFBSTtFQUkzQmYsZ0JBQWdCLEVBQUVmLFNBQVMsQ0FBQ21EO0FBQzlCLENBQUM7QUFFRDNDLE1BQUssQ0FBQzRDLFlBQVksR0FBRztFQUNuQjFDLE9BQU8sRUFBRSxLQUFLO0VBQ2RDLFFBQVEsRUFBRSxFQUFFO0VBQ1pDLFNBQVMsRUFBRXlDLFNBQVM7RUFDcEJ4QyxTQUFTLEVBQUUsS0FBSztFQUNoQkMsV0FBVyxFQUFFLEtBQUs7RUFDbEJDLGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUEsRUFBUSxDQUFDO0FBQzNCLENBQUM7QUFFRCxlQUFlUCxNQUFLIiwiaWdub3JlTGlzdCI6W119