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>

132 lines (131 loc) 29.4 kB
"use strict"; 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); } 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 _icon = _interopRequireDefault(require("../icon")); var _spinner = _interopRequireDefault(require("../spinner")); var _buttonGroup = _interopRequireDefault(require("../button-group")); var _configProvider = require("../config-provider"); var _Context = require("../button-group/Context"); require("./style"); var _excluded = ["active", "children", "className", "disabled", "href", "leftIcon", "rightIcon", "iconStyle", "intent", "loading", "onClick", "size", "theme"]; function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } 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 ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } 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; } var prefix = "adui-button"; var Button = (0, _react.forwardRef)(function (_ref, ref) { var active = _ref.active, children = _ref.children, className = _ref.className, disabledProp = _ref.disabled, href = _ref.href, leftIcon = _ref.leftIcon, rightIcon = _ref.rightIcon, iconStyle = _ref.iconStyle, intentProp = _ref.intent, loading = _ref.loading, onClick = _ref.onClick, sizeProp = _ref.size, themeProp = _ref.theme, otherProps = _objectWithoutProperties(_ref, _excluded); var _useContext = (0, _react.useContext)(_Context.ButtonGroupContext), disabledContext = _useContext.disabled, intentContext = _useContext.intent, sizeContext = _useContext.size, themeContext = _useContext.theme; var _useContext2 = (0, _react.useContext)(_configProvider.ConfigContext), sizeConfigContext = _useContext2.size; var disabled = disabledProp === null ? disabledContext : disabledProp; var intent = intentContext || intentProp; var size = (0, _configProvider.getComputedSize)(sizeProp, sizeContext, sizeConfigContext); var theme = themeProp === null ? themeContext : themeProp; if (!intent) { intent = "normal"; } var classSet = (0, _classnames["default"])(className, "".concat(prefix, "-base"), "".concat(prefix, "-").concat(intent), "".concat(prefix, "-").concat(size), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(prefix, "-").concat(theme), theme), "".concat(prefix, "-active"), active), "".concat(prefix, "-hasLeftIcon"), !!leftIcon || !children), "".concat(prefix, "-hasRightIcon"), !!rightIcon || !children), "".concat(prefix, "-disabled"), disabled && !loading), "".concat(prefix, "-loading"), loading)); var handleClick = function handleClick(e) { if (!disabled && !loading && onClick) { onClick(e); } }; var tagProps = _objectSpread({ className: classSet, disabled: !!disabled, href: href, onClick: handleClick, ref: ref, target: href && "_blank" }, otherProps); var tagChildren = _react["default"].createElement(_react["default"].Fragment, null, !!leftIcon && _react["default"].createElement(_icon["default"], { size: 18, className: "".concat(prefix, "-leftIcon"), icon: leftIcon, style: _objectSpread({}, iconStyle || {}) }), !!children && _react["default"].createElement("span", { className: "".concat(prefix, "-content") }, children), !!rightIcon && _react["default"].createElement(_icon["default"], { size: 18, className: "".concat(prefix, "-rightIcon"), icon: rightIcon, style: _objectSpread({}, iconStyle || {}) }), loading && _react["default"].createElement("div", { className: "".concat(prefix, "-spinner") }, _react["default"].createElement(_spinner["default"], { color: theme === "light" || intent === "normal" ? null : "#fff", intent: theme === "light" ? intent : "normal" }))); if (href) { return _react["default"].createElement("a", tagProps, tagChildren); } return _react["default"].createElement("button", _extends({ type: "button" }, tagProps), tagChildren); }); Button.type = "Button"; Button.Group = _buttonGroup["default"]; Button.displayName = "Button"; Button.propTypes = { active: _propTypes["default"].bool, children: _propTypes["default"].node, className: _propTypes["default"].string, disabled: _propTypes["default"].bool, href: _propTypes["default"].string, iconStyle: _propTypes["default"].any, intent: _propTypes["default"].oneOf(["normal", "primary", "success", "warning", "danger"]), leftIcon: _propTypes["default"].any, loading: _propTypes["default"].bool, onClick: _propTypes["default"].func, rightIcon: _propTypes["default"].any, size: _propTypes["default"].oneOf(["mini", "small", "medium", "large"]), theme: _propTypes["default"].oneOf([null, "light"]) }; Button.defaultProps = { active: false, children: "", className: undefined, disabled: null, href: undefined, iconStyle: {}, intent: undefined, leftIcon: undefined, loading: false, onClick: null, rightIcon: undefined, size: "small", theme: null }; var _default = exports["default"] = Button; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jbGFzc25hbWVzIiwiX2ljb24iLCJfc3Bpbm5lciIsIl9idXR0b25Hcm91cCIsIl9jb25maWdQcm92aWRlciIsIl9Db250ZXh0IiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwicyIsImluY2x1ZGVzIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJwcmVmaXgiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiX3JlZiIsInJlZiIsImFjdGl2ZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWRQcm9wIiwiZGlzYWJsZWQiLCJocmVmIiwibGVmdEljb24iLCJyaWdodEljb24iLCJpY29uU3R5bGUiLCJpbnRlbnRQcm9wIiwiaW50ZW50IiwibG9hZGluZyIsIm9uQ2xpY2siLCJzaXplUHJvcCIsInNpemUiLCJ0aGVtZVByb3AiLCJ0aGVtZSIsIm90aGVyUHJvcHMiLCJfdXNlQ29udGV4dCIsInVzZUNvbnRleHQiLCJCdXR0b25Hcm91cENvbnRleHQiLCJkaXNhYmxlZENvbnRleHQiLCJpbnRlbnRDb250ZXh0Iiwic2l6ZUNvbnRleHQiLCJ0aGVtZUNvbnRleHQiLCJfdXNlQ29udGV4dDIiLCJDb25maWdDb250ZXh0Iiwic2l6ZUNvbmZpZ0NvbnRleHQiLCJnZXRDb21wdXRlZFNpemUiLCJjbGFzc1NldCIsImNsYXNzTmFtZXMiLCJjb25jYXQiLCJoYW5kbGVDbGljayIsInRhZ1Byb3BzIiwidGFyZ2V0IiwidGFnQ2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJpY29uIiwic3R5bGUiLCJjb2xvciIsInR5cGUiLCJHcm91cCIsImRpc3BsYXlOYW1lIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsIm5vZGUiLCJzdHJpbmciLCJhbnkiLCJvbmVPZiIsImZ1bmMiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL2J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmLCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IEljb24sIHsgSWNvbk5hbWVzIH0gZnJvbSBcIi4uL2ljb25cIlxuaW1wb3J0IFNwaW5uZXIgZnJvbSBcIi4uL3NwaW5uZXJcIlxuaW1wb3J0IEdyb3VwIGZyb20gXCIuLi9idXR0b24tZ3JvdXBcIlxuaW1wb3J0IHsgQ29uZmlnQ29udGV4dCwgZ2V0Q29tcHV0ZWRTaXplIH0gZnJvbSBcIi4uL2NvbmZpZy1wcm92aWRlclwiXG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbnRleHQgfSBmcm9tIFwiLi4vYnV0dG9uLWdyb3VwL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1idXR0b25cIlxuXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25Qcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICAvKipcbiAgICogYWN0aXZlIOeKtuaAge+8jOeUqOS6jiBCdXR0b24uR3JvdXAg5LitXG4gICAqL1xuICBhY3RpdmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKlxuICAgKiDkvb/nlKggaHJlZu+8jOWwhiA8YnV0dG9uIC8+IOi9rOWMluS4uiA8YSAvPiDmoIfnrb7vvIzov5nml7blgJnkuZ/lj6/ku6XkvKDlhaUgdGFyZ2V0PVwiX2JsYW5rXCIg562JIDxhIC8+IOagh+etvueahOWxnuaAp1xuICAgKi9cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogaWNvbiDpmYTliqDmoLflvI9cbiAgICovXG4gIGljb25TdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbiAgLyoqXG4gICAqIOexu+Wei1xuICAgKi9cbiAgaW50ZW50PzogXCJub3JtYWxcIiB8IFwicHJpbWFyeVwiIHwgXCJzdWNjZXNzXCIgfCBcIndhcm5pbmdcIiB8IFwiZGFuZ2VyXCJcbiAgLyoqXG4gICAqIOW3puWbvuagh1xuICAgKi9cbiAgbGVmdEljb24/OiBJY29uTmFtZXNcbiAgLyoqXG4gICAqIOaYr+WQpuWKoOi9vVxuICAgKi9cbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOeCueWHu+S6i+S7tueahCBoYW5kbGVyXG4gICAqL1xuICBvbkNsaWNrPzpcbiAgICB8IG51bGxcbiAgICB8ICgoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCB8IEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZClcbiAgLyoqXG4gICAqIOWPs+Wbvuagh1xuICAgKi9cbiAgcmlnaHRJY29uPzogSWNvbk5hbWVzXG4gIC8qKlxuICAgKiDlsLrlr7hcbiAgICovXG4gIHNpemU/OiBcIm1pbmlcIiB8IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCJcbiAgLyoqXG4gICAqIOS4u+mimFxuICAgKi9cbiAgdGhlbWU/OiBudWxsIHwgXCJsaWdodFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvblxuICBleHRlbmRzIFJlYWN0LkZvcndhcmRSZWZFeG90aWNDb21wb25lbnQ8XG4gICAgSUJ1dHRvblByb3BzICYgUmVhY3QuUmVmQXR0cmlidXRlczxhbnk+XG4gID4ge1xuICBHcm91cDogdHlwZW9mIEdyb3VwXG4gIHR5cGU6IHN0cmluZ1xufVxuXG4vKipcbiAqIOaMiemSrueUqOS6juinpuWPkeS4gOS4quaWsOS7u+WKoeOAgeaWsOa1geeoi+etieeahOWNs+aXtuihjOWKqOOAglxuICovXG4vLyBAdHMtaWdub3JlXG5jb25zdCBCdXR0b246IElCdXR0b24gPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgYWN0aXZlLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWRQcm9wLFxuICAgICAgaHJlZixcbiAgICAgIGxlZnRJY29uLFxuICAgICAgcmlnaHRJY29uLFxuICAgICAgaWNvblN0eWxlLFxuICAgICAgaW50ZW50OiBpbnRlbnRQcm9wLFxuICAgICAgbG9hZGluZyxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBzaXplOiBzaXplUHJvcCxcbiAgICAgIHRoZW1lOiB0aGVtZVByb3AsXG4gICAgICAuLi5vdGhlclByb3BzXG4gICAgfTogSUJ1dHRvblByb3BzLFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWRDb250ZXh0LFxuICAgICAgaW50ZW50OiBpbnRlbnRDb250ZXh0LFxuICAgICAgc2l6ZTogc2l6ZUNvbnRleHQsXG4gICAgICB0aGVtZTogdGhlbWVDb250ZXh0LFxuICAgIH0gPSB1c2VDb250ZXh0KEJ1dHRvbkdyb3VwQ29udGV4dClcbiAgICBjb25zdCB7IHNpemU6IHNpemVDb25maWdDb250ZXh0IH0gPSB1c2VDb250ZXh0KENvbmZpZ0NvbnRleHQpXG5cbiAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkUHJvcCA9PT0gbnVsbCA/IGRpc2FibGVkQ29udGV4dCA6IGRpc2FibGVkUHJvcFxuICAgIGxldCBpbnRlbnQgPSBpbnRlbnRDb250ZXh0IHx8IGludGVudFByb3BcbiAgICBjb25zdCBzaXplID0gZ2V0Q29tcHV0ZWRTaXplKHNpemVQcm9wLCBzaXplQ29udGV4dCwgc2l6ZUNvbmZpZ0NvbnRleHQpXG4gICAgY29uc3QgdGhlbWUgPSB0aGVtZVByb3AgPT09IG51bGwgPyB0aGVtZUNvbnRleHQgOiB0aGVtZVByb3BcblxuICAgIGlmICghaW50ZW50KSB7XG4gICAgICBpbnRlbnQgPSBcIm5vcm1hbFwiXG4gICAgfVxuXG4gICAgY29uc3QgY2xhc3NTZXQgPSBjbGFzc05hbWVzKFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgYCR7cHJlZml4fS1iYXNlYCxcbiAgICAgIGAke3ByZWZpeH0tJHtpbnRlbnR9YCxcbiAgICAgIGAke3ByZWZpeH0tJHtzaXplfWAsXG4gICAgICB7XG4gICAgICAgIFtgJHtwcmVmaXh9LSR7dGhlbWV9YF06IHRoZW1lLFxuICAgICAgICBbYCR7cHJlZml4fS1hY3RpdmVgXTogYWN0aXZlLFxuICAgICAgICBbYCR7cHJlZml4fS1oYXNMZWZ0SWNvbmBdOiAhIWxlZnRJY29uIHx8ICFjaGlsZHJlbixcbiAgICAgICAgW2Ake3ByZWZpeH0taGFzUmlnaHRJY29uYF06ICEhcmlnaHRJY29uIHx8ICFjaGlsZHJlbixcbiAgICAgICAgW2Ake3ByZWZpeH0tZGlzYWJsZWRgXTogZGlzYWJsZWQgJiYgIWxvYWRpbmcsXG4gICAgICAgIFtgJHtwcmVmaXh9LWxvYWRpbmdgXTogbG9hZGluZyxcbiAgICAgIH1cbiAgICApXG5cbiAgICBjb25zdCBoYW5kbGVDbGljayA9IChcbiAgICAgIGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQgfCBIVE1MQW5jaG9yRWxlbWVudD5cbiAgICApID0+IHtcbiAgICAgIGlmICghZGlzYWJsZWQgJiYgIWxvYWRpbmcgJiYgb25DbGljaykge1xuICAgICAgICBvbkNsaWNrKGUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdGFnUHJvcHMgPSB7XG4gICAgICBjbGFzc05hbWU6IGNsYXNzU2V0LFxuICAgICAgZGlzYWJsZWQ6ICEhZGlzYWJsZWQsXG4gICAgICBocmVmLFxuICAgICAgb25DbGljazogaGFuZGxlQ2xpY2ssXG4gICAgICByZWYsXG4gICAgICB0YXJnZXQ6IGhyZWYgJiYgXCJfYmxhbmtcIixcbiAgICAgIC4uLm90aGVyUHJvcHMsXG4gICAgfVxuXG4gICAgY29uc3QgdGFnQ2hpbGRyZW4gPSAoXG4gICAgICA8PlxuICAgICAgICB7ISFsZWZ0SWNvbiAmJiAoXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHNpemU9ezE4fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWxlZnRJY29uYH1cbiAgICAgICAgICAgIGljb249e2xlZnRJY29ufVxuICAgICAgICAgICAgc3R5bGU9e3sgLi4uKGljb25TdHlsZSB8fCB7fSkgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7ISFjaGlsZHJlbiAmJiA8c3BhbiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tY29udGVudGB9PntjaGlsZHJlbn08L3NwYW4+fVxuICAgICAgICB7ISFyaWdodEljb24gJiYgKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXsxOH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS1yaWdodEljb25gfVxuICAgICAgICAgICAgaWNvbj17cmlnaHRJY29ufVxuICAgICAgICAgICAgc3R5bGU9e3sgLi4uKGljb25TdHlsZSB8fCB7fSkgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7bG9hZGluZyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tc3Bpbm5lcmB9PlxuICAgICAgICAgICAgPFNwaW5uZXJcbiAgICAgICAgICAgICAgY29sb3I9e3RoZW1lID09PSBcImxpZ2h0XCIgfHwgaW50ZW50ID09PSBcIm5vcm1hbFwiID8gbnVsbCA6IFwiI2ZmZlwifVxuICAgICAgICAgICAgICBpbnRlbnQ9e3RoZW1lID09PSBcImxpZ2h0XCIgPyBpbnRlbnQgOiBcIm5vcm1hbFwifVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgIClcblxuICAgIGlmIChocmVmKSB7XG4gICAgICByZXR1cm4gPGEgey4uLnRhZ1Byb3BzfT57dGFnQ2hpbGRyZW59PC9hPlxuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgey4uLnRhZ1Byb3BzfT5cbiAgICAgICAge3RhZ0NoaWxkcmVufVxuICAgICAgPC9idXR0b24+XG4gICAgKVxuICB9XG4pXG5cbkJ1dHRvbi50eXBlID0gXCJCdXR0b25cIlxuXG5CdXR0b24uR3JvdXAgPSBHcm91cFxuXG5CdXR0b24uZGlzcGxheU5hbWUgPSBcIkJ1dHRvblwiXG5cbkJ1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiBhY3RpdmUg54q25oCB77yM55So5LqOIEJ1dHRvbi5Hcm91cCDkuK1cbiAgICovXG4gIGFjdGl2ZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDkvb/nlKggaHJlZu+8jOWwhiA8YnV0dG9uIC8+IOi9rOWMluS4uiA8YSAvPiDmoIfnrb7vvIzov5nml7blgJnkuZ/lj6/ku6XkvKDlhaUgdGFyZ2V0PVwiX2JsYW5rXCIg562JIDxhIC8+IOagh+etvueahOWxnuaAp1xuICAgKi9cbiAgaHJlZjogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIGljb24g6ZmE5Yqg5qC35byPXG4gICAqL1xuICBpY29uU3R5bGU6IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDnsbvlnotcbiAgICovXG4gIGludGVudDogUHJvcFR5cGVzLm9uZU9mKFtcbiAgICBcIm5vcm1hbFwiLFxuICAgIFwicHJpbWFyeVwiLFxuICAgIFwic3VjY2Vzc1wiLFxuICAgIFwid2FybmluZ1wiLFxuICAgIFwiZGFuZ2VyXCIsXG4gIF0pLFxuICAvKipcbiAgICog5bem5Zu+5qCHXG4gICAqL1xuICBsZWZ0SWNvbjogUHJvcFR5cGVzLmFueSxcbiAgLyoqXG4gICAqIOaYr+WQpuWKoOi9vVxuICAgKi9cbiAgbG9hZGluZzogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDngrnlh7vkuovku7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDlj7Plm77moIdcbiAgICovXG4gIHJpZ2h0SWNvbjogUHJvcFR5cGVzLmFueSxcbiAgLyoqXG4gICAqIOWwuuWvuFxuICAgKi9cbiAgc2l6ZTogUHJvcFR5cGVzLm9uZU9mKFtcIm1pbmlcIiwgXCJzbWFsbFwiLCBcIm1lZGl1bVwiLCBcImxhcmdlXCJdKSxcbiAgLyoqXG4gICAqIOS4u+mimFxuICAgKi9cbiAgdGhlbWU6IFByb3BUeXBlcy5vbmVPZihbbnVsbCwgXCJsaWdodFwiXSksXG59XG5cbkJ1dHRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGFjdGl2ZTogZmFsc2UsXG4gIGNoaWxkcmVuOiBcIlwiLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IG51bGwsXG4gIGhyZWY6IHVuZGVmaW5lZCxcbiAgaWNvblN0eWxlOiB7fSxcbiAgaW50ZW50OiB1bmRlZmluZWQsXG4gIGxlZnRJY29uOiB1bmRlZmluZWQsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBvbkNsaWNrOiBudWxsLFxuICByaWdodEljb246IHVuZGVmaW5lZCxcbiAgc2l6ZTogXCJzbWFsbFwiLFxuICB0aGVtZTogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxlQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQUEsT0FBQTtBQUFnQixJQUFBUyxTQUFBO0FBQUEsU0FBQVAsdUJBQUFRLENBQUEs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