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>
103 lines (102 loc) • 21.9 kB
JavaScript
;
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 _react = _interopRequireWildcard(require("react"));
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
var _enzyme = require("enzyme");
var _ = _interopRequireDefault(require(".."));
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 _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var CheckboxMounter = function CheckboxMounter() {
var _useState = (0, _react.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
checked = _useState2[0],
setChecked = _useState2[1];
return _react["default"].createElement(_["default"], {
checked: checked,
onChange: function onChange(bool) {
return setChecked(bool);
}
});
};
describe("Checkbox", function () {
it("Checkbox 是否正确渲染", function () {
var wrapper = _reactTestRenderer["default"].create(_react["default"].createElement(_["default"], null, "children"));
expect(wrapper).toMatchSnapshot();
});
it("Checkbox 是否能内部驱动", function () {
var onChange = jest.fn();
var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
onChange: onChange
}));
wrapper.find("label").at(0).simulate("click");
expect(onChange).toHaveBeenCalledWith(true);
});
it("Checkbox 是否能受外部控制", function () {
var onChange = jest.fn();
var wrapper0 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
checked: false,
onChange: onChange
}));
var wrapper1 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
checked: true,
onChange: onChange
}));
var wrapper2 = (0, _enzyme.mount)(_react["default"].createElement(CheckboxMounter, null));
var firstCheckbox = wrapper0.find("label").at(0);
var secondCheckbox = wrapper1.find("label").at(0);
var thirdCheckbox = wrapper2.find("label").at(0);
firstCheckbox.simulate("click");
expect(onChange).toHaveBeenCalledWith(true);
expect(wrapper0.find("label").at(0).props().className.includes("checked")).toEqual(false);
secondCheckbox.simulate("click");
expect(onChange).toHaveBeenCalledWith(false);
expect(wrapper1.find("label").at(0).props().className.includes("checked")).toEqual(true);
thirdCheckbox.simulate("click");
expect(wrapper2.find("label").at(0).props().className.includes("checked")).toEqual(true);
thirdCheckbox.simulate("click");
expect(wrapper2.find("label").at(0).props().className.includes("checked")).toEqual(false);
});
it("Checkbox 禁用状态是否可用", function () {
var onChange = jest.fn();
var wrapper0 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
disabled: true,
onChange: onChange
}));
var wrapper1 = (0, _enzyme.mount)(_react["default"].createElement(_["default"].Group, {
disabled: true,
onChange: onChange
}, _react["default"].createElement(_["default"], null)));
wrapper0.find("label").at(0).simulate("click");
expect(onChange).not.toHaveBeenCalled();
wrapper1.find("label").at(0).simulate("click");
expect(onChange).not.toHaveBeenCalled();
});
it("Checkbox 是否能响应 onClick", function () {
var onClick = jest.fn();
var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
onClick: onClick
}));
wrapper.find("label").at(0).simulate("click");
expect(onClick).toHaveBeenCalled();
});
it("Checkbox 是否能响应 enter", function () {
var onChange = jest.fn();
var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
onChange: onChange
}));
wrapper.find("label").at(0).simulate("keydown", {
key: "enter",
keyCode: 13
});
expect(wrapper.find("label").at(0).props().className.includes("checked")).toEqual(true);
expect(onChange).toHaveBeenCalledWith(true);
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RUZXN0UmVuZGVyZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2VuenltZSIsIl8iLCJlIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJyIiwidCIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuZ3RoIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZiIsIm8iLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJDaGVja2JveE1vdW50ZXIiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJjaGVja2VkIiwic2V0Q2hlY2tlZCIsImNyZWF0ZUVsZW1lbnQiLCJvbkNoYW5nZSIsImJvb2wiLCJkZXNjcmliZSIsIml0Iiwid3JhcHBlciIsIlRlc3RSZW5kZXJlciIsImNyZWF0ZSIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImplc3QiLCJmbiIsIm1vdW50IiwiZmluZCIsImF0Iiwic2ltdWxhdGUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsIndyYXBwZXIwIiwid3JhcHBlcjEiLCJ3cmFwcGVyMiIsImZpcnN0Q2hlY2tib3giLCJzZWNvbmRDaGVja2JveCIsInRoaXJkQ2hlY2tib3giLCJwcm9wcyIsImNsYXNzTmFtZSIsImluY2x1ZGVzIiwidG9FcXVhbCIsImRpc2FibGVkIiwiR3JvdXAiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwib25DbGljayIsImtleSIsImtleUNvZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2NoZWNrYm94L19fdGVzdHNfXy9jaGVja2JveC50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tIFwicmVhY3QtdGVzdC1yZW5kZXJlclwiXG5pbXBvcnQgeyBtb3VudCB9IGZyb20gXCJlbnp5bWVcIlxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuLlwiXG5cbmNvbnN0IENoZWNrYm94TW91bnRlciA9ICgpID0+IHtcbiAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIHJldHVybiA8Q2hlY2tib3ggY2hlY2tlZD17Y2hlY2tlZH0gb25DaGFuZ2U9eyhib29sKSA9PiBzZXRDaGVja2VkKGJvb2wpfSAvPlxufVxuXG5kZXNjcmliZShcIkNoZWNrYm94XCIsICgpID0+IHtcbiAgaXQoXCJDaGVja2JveCDmmK/lkKbmraPnoa7muLLmn5NcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDaGVja2JveD5jaGlsZHJlbjwvQ2hlY2tib3g+KVxuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95YaF6YOo6amx5YqoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcbiAgICB3cmFwcGVyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95Y+X5aSW6YOo5o6n5Yi2XCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQ9e2ZhbHNlfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KVxuICAgIGNvbnN0IHdyYXBwZXIxID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQgb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcblxuICAgIGNvbnN0IHdyYXBwZXIyID0gbW91bnQoPENoZWNrYm94TW91bnRlciAvPilcbiAgICBjb25zdCBmaXJzdENoZWNrYm94ID0gd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgY29uc3Qgc2Vjb25kQ2hlY2tib3ggPSB3cmFwcGVyMS5maW5kKFwibGFiZWxcIikuYXQoMClcbiAgICBjb25zdCB0aGlyZENoZWNrYm94ID0gd3JhcHBlcjIuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgLyoqXG4gICAgICogMS4g56Gu5a6aIG9uQ2hhbmdlIOi/mOaYr+S8muS8oOWbnuW6lOivpeWPmOWMlueahOWAvO+8m1xuICAgICAqIDIuIOS9huaYr+eUseS6jiBDaGVja2JveCDlrozlhajlj5flpJbpg6jmjqfliLbvvIzmiYDku6XopoHnoa7lrprlhoXpg6jnirbmgIHkuI3kvJrmlLnlj5jjgIJcbiAgICAgKi9cbiAgICBmaXJzdENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbChmYWxzZSlcblxuICAgIHNlY29uZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcblxuICAgIHRoaXJkQ2hlY2tib3guc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcbiAgICB0aGlyZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3QoXG4gICAgICB3cmFwcGVyMi5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg56aB55So54q25oCB5piv5ZCm5Y+v55SoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgLyoqXG4gICAgICogZ3JvdXAudGVzdC5qcyDkuK3msqHmnInlr7kgQ2hlY2tib3guR3JvdXAgZGlzYWJsZWQg55qE5rWL6K+V77yMXG4gICAgICog5Zug5Li6IGRpc2FibGVkIOmAu+i+kemDveaYr+WcqCBDaGVja2JveC5qcyDlpITnkIbnmoTjgIJcbiAgICAgKi9cbiAgICBjb25zdCB3cmFwcGVyMSA9IG1vdW50KFxuICAgICAgPENoZWNrYm94Lkdyb3VwIGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0+XG4gICAgICAgIDxDaGVja2JveCAvPlxuICAgICAgPC9DaGVja2JveC5Hcm91cD5cbiAgICApXG4gICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcblxuICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoXCJDaGVja2JveCDmmK/lkKbog73lk43lupQgb25DbGlja1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbGljayA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DbGljaz17b25DbGlja30gLz4pXG4gICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvbkNsaWNrKS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdChcIkNoZWNrYm94IOaYr+WQpuiDveWTjeW6lCBlbnRlclwiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENoZWNrYm94IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgd3JhcHBlclxuICAgICAgLmZpbmQoXCJsYWJlbFwiKVxuICAgICAgLmF0KDApXG4gICAgICAuc2ltdWxhdGUoXCJrZXlkb3duXCIsIHsga2V5OiBcImVudGVyXCIsIGtleUNvZGU6IDEzIH0pXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKHRydWUpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsa0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLENBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUF5QixTQUFBRSx1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUseUJBQUFGLENBQUEsNkJBQUFHLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUQsd0JBQUEsWUFBQUEseUJBQUFGLENBQUEsV0FBQUEsQ0FBQSxHQUFBSyxDQUFBLEdBQUFELENBQUEsS0FBQUosQ0FBQTtBQUFBLFNBQUFOLHdCQUFBTSxDQUFBLEVBQUFJLENBQUEsU0FBQUEsQ0FBQSxJQUFBSixDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxTQUFBRCxDQUFBLGVBQUFBLENBQUEsZ0JBQUFNLE9BQUEsQ0FBQU4sQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBSyxDQUFBLEdBQUFILHdCQUFBLENBQUFFLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFFLEdBQUEsQ0FBQVAsQ0FBQSxVQUFBSyxDQUFBLENBQUFHLEdBQUEsQ0FBQVIsQ0FBQSxPQUFBUyxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFmLENBQUEsb0JBQUFlLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFqQixDQUFBLEVBQUFlLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWQsQ0FBQSxFQUFBZSxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFmLENBQUEsQ0FBQWUsQ0FBQSxZQUFBTixDQUFBLGNBQUFULENBQUEsRUFBQUssQ0FBQSxJQUFBQSxDQUFBLENBQUFjLEdBQUEsQ0FBQW5CLENBQUEsRUFBQVMsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQVcsZUFBQWhCLENBQUEsRUFBQUosQ0FBQSxXQUFBcUIsZUFBQSxDQUFBakIsQ0FBQSxLQUFBa0IscUJBQUEsQ0FBQWxCLENBQUEsRUFBQUosQ0FBQSxLQUFBdUIsMkJBQUEsQ0FBQW5CLENBQUEsRUFBQUosQ0FBQSxLQUFBd0IsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUYsNEJBQUFuQixDQUFBLEVBQUFPLENBQUEsUUFBQVAsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBc0IsaUJBQUEsQ0FBQXRCLENBQUEsRUFBQU8sQ0FBQSxPQUFBTixDQUFBLE1BQUFzQixRQUFBLENBQUFWLElBQUEsQ0FBQWIsQ0FBQSxFQUFBd0IsS0FBQSw2QkFBQXZCLENBQUEsSUFBQUQsQ0FBQSxDQUFBeUIsV0FBQSxLQUFBeEIsQ0FBQSxHQUFBRCxDQUFBLENBQUF5QixXQUFBLENBQUFDLElBQUEsYUFBQXpCLENBQUEsY0FBQUEsQ0FBQSxHQUFBMEIsS0FBQSxDQUFBQyxJQUFBLENBQUE1QixDQUFBLG9CQUFBQyxDQUFBLCtDQUFBNEIsSUFBQSxDQUFBNUIsQ0FBQSxJQUFBcUIsaUJBQUEsQ0FBQXRCLENBQUEsRUFBQU8sQ0FBQTtBQUFBLFNBQUFlLGtCQUFBdEIsQ0FBQSxFQUFBTyxDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBUCxDQUFBLENBQUE4QixNQUFBLE1BQUF2QixDQUFBLEdBQUFQLENBQUEsQ0FBQThCLE1BQUEsWUFBQWxDLENBQUEsTUFBQVMsQ0FBQSxHQUFBc0IsS0FBQSxDQUFBcEIsQ0FBQSxHQUFBWCxDQUFBLEdBQUFXLENBQUEsRUFBQVgsQ0FBQSxJQUFBUyxDQUFBLENBQUFULENBQUEsSUFBQUksQ0FBQSxDQUFBSixDQUFBLFVBQUFTLENBQUE7QUFBQSxTQUFBYSxzQkFBQWxCLENBQUEsRUFBQStCLENBQUEsUUFBQTlCLENBQUEsV0FBQUQsQ0FBQSxnQ0FBQWdDLE1BQUEsSUFBQWhDLENBQUEsQ0FBQWdDLE1BQUEsQ0FBQUMsUUFBQSxLQUFBakMsQ0FBQSw0QkFBQUMsQ0FBQSxRQUFBTCxDQUFBLEVBQUFTLENBQUEsRUFBQVMsQ0FBQSxFQUFBSCxDQUFBLEVBQUFKLENBQUEsT0FBQTJCLENBQUEsT0FBQUMsQ0FBQSxpQkFBQXJCLENBQUEsSUFBQWIsQ0FBQSxHQUFBQSxDQUFBLENBQUFZLElBQUEsQ0FBQWIsQ0FBQSxHQUFBb0MsSUFBQSxRQUFBTCxDQUFBLFFBQUF2QixNQUFBLENBQUFQLENBQUEsTUFBQUEsQ0FBQSxVQUFBaUMsQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBdEMsQ0FBQSxHQUFBa0IsQ0FBQSxDQUFBRCxJQUFBLENBQUFaLENBQUEsR0FBQW9DLElBQUEsTUFBQTlCLENBQUEsQ0FBQStCLElBQUEsQ0FBQTFDLENBQUEsQ0FBQTJDLEtBQUEsR0FBQWhDLENBQUEsQ0FBQXVCLE1BQUEsS0FBQUMsQ0FBQSxHQUFBRyxDQUFBLGlCQUFBbEMsQ0FBQSxJQUFBbUMsQ0FBQSxPQUFBOUIsQ0FBQSxHQUFBTCxDQUFBLHlCQUFBa0MsQ0FBQSxZQUFBakMsQ0FBQSxlQUFBVSxDQUFBLEdBQUFWLENBQUEsY0FBQU8sTUFBQSxDQUFBRyxDQUFBLE1BQUFBLENBQUEsMkJBQUF3QixDQUFBLFFBQUE5QixDQUFBLGFBQUFFLENBQUE7QUFBQSxTQUFBVSxnQkFBQWpCLENBQUEsUUFBQTJCLEtBQUEsQ0FBQWEsT0FBQSxDQUFBeEMsQ0FBQSxVQUFBQSxDQUFBO0FBRXpCLElBQU15QyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztFQUM1QixJQUFBQyxTQUFBLEdBQThCLElBQUFDLGVBQVEsRUFBQyxLQUFLLENBQUM7SUFBQUMsVUFBQSxHQUFBNUIsY0FBQSxDQUFBMEIsU0FBQTtJQUF0Q0csT0FBTyxHQUFBRCxVQUFBO0lBQUVFLFVBQVUsR0FBQUYsVUFBQTtFQUMxQixPQUFPdkQsTUFBQSxZQUFBMEQsYUFBQSxDQUFDcEQsQ0FBQSxXQUFRO0lBQUNrRCxPQUFPLEVBQUVBLE9BQVE7SUFBQ0csUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdDLElBQUk7TUFBQSxPQUFLSCxVQUFVLENBQUNHLElBQUksQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUFDO0FBQzdFLENBQUM7QUFFREMsUUFBUSxDQUFDLFVBQVUsRUFBRSxZQUFNO0VBQ3pCQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBTTtJQUMxQixJQUFNQyxPQUFPLEdBQUdDLDZCQUFZLENBQUNDLE1BQU0sQ0FBQ2pFLE1BQUEsWUFBQTBELGFBQUEsQ0FBQ3BELENBQUEsV0FBUSxRQUFDLFVBQWtCLENBQUMsQ0FBQztJQUNsRTRELE1BQU0sQ0FBQ0gsT0FBTyxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO0VBQ25DLENBQUMsQ0FBQztFQUVGTCxFQUFFLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtJQUMzQixJQUFNSCxRQUFRLEdBQUdTLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7SUFDMUIsSUFBTU4sT0FBTyxHQUFHLElBQUFPLGFBQUssRUFBQ3RFLE1BQUEsWUFBQTBELGFBQUEsQ0FBQ3BELENBQUEsV0FBUTtNQUFDcUQsUUFBUSxFQUFFQTtJQUFTLENBQUUsQ0FBQyxDQUFDO0lBQ3ZESSxPQUFPLENBQUNRLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzdDUCxNQUFNLENBQUNQLFFBQVEsQ0FBQyxDQUFDZSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7RUFDN0MsQ0FBQyxDQUFDO0VBRUZaLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0lBQzVCLElBQU1ILFFBQVEsR0FBR1MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUMxQixJQUFNTSxRQUFRLEdBQUcsSUFBQUwsYUFBSyxFQUFDdEUsTUFBQSxZQUFBMEQsYUFBQSxDQUFDcEQsQ0FBQSxXQUFRO01BQUNrRCxPQUFPLEVBQUUsS0FBTTtNQUFDRyxRQUFRLEVBQUVBO0lBQVMsQ0FBRSxDQUFDLENBQUM7SUFDeEUsSUFBTWlCLFFBQVEsR0FBRyxJQUFBTixhQUFLLEVBQUN0RSxNQUFBLFlBQUEwRCxhQUFBLENBQUNwRCxDQUFBLFdBQVE7TUFBQ2tELE9BQU87TUFBQ0csUUFBUSxFQUFFQTtJQUFTLENBQUUsQ0FBQyxDQUFDO0lBRWhFLElBQU1rQixRQUFRLEdBQUcsSUFBQVAsYUFBSyxFQUFDdEUsTUFBQSxZQUFBMEQsYUFBQSxDQUFDTixlQUFlLE1BQUUsQ0FBQyxDQUFDO0lBQzNDLElBQU0wQixhQUFhLEdBQUdILFFBQVEsQ0FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELElBQU1PLGNBQWMsR0FBR0gsUUFBUSxDQUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBTVEsYUFBYSxHQUFHSCxRQUFRLENBQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUtsRE0sYUFBYSxDQUFDTCxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CUCxNQUFNLENBQUNQLFFBQVEsQ0FBQyxDQUFDZSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDM0NSLE1BQU0sQ0FDSlMsUUFBUSxDQUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1MsS0FBSyxDQUFDLENBQUMsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLENBQUMsU0FBUyxDQUNuRSxDQUFDLENBQUNDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFFaEJMLGNBQWMsQ0FBQ04sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNoQ1AsTUFBTSxDQUFDUCxRQUFRLENBQUMsQ0FBQ2Usb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzVDUixNQUFNLENBQ0pVLFFBQVEsQ0FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNTLEtBQUssQ0FBQyxDQUFDLENBQUNDLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDLFNBQVMsQ0FDbkUsQ0FBQyxDQUFDQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBRWZKLGFBQWEsQ0FBQ1AsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMvQlAsTUFBTSxDQUNKVyxRQUFRLENBQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDUyxLQUFLLENBQUMsQ0FBQyxDQUFDQyxTQUFTLENBQUNDLFFBQVEsQ0FBQyxTQUFTLENBQ25FLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztJQUNmSixhQUFhLENBQUNQLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDL0JQLE1BQU0sQ0FDSlcsUUFBUSxDQUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1MsS0FBSyxDQUFDLENBQUMsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLENBQUMsU0FBUyxDQUNuRSxDQUFDLENBQUNDLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDbEIsQ0FBQyxDQUFDO0VBRUZ0QixFQUFFLENBQUMsbUJBQW1CLEVBQUUsWUFBTTtJQUM1QixJQUFNSCxRQUFRLEdBQUdTLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7SUFDMUIsSUFBTU0sUUFBUSxHQUFHLElBQUFMLGFBQUssRUFBQ3RFLE1BQUEsWUFBQTBELGFBQUEsQ0FBQ3BELENBQUEsV0FBUTtNQUFDK0UsUUFBUTtNQUFDMUIsUUFBUSxFQUFFQTtJQUFTLENBQUUsQ0FBQyxDQUFDO0lBS2pFLElBQU1pQixRQUFRLEdBQUcsSUFBQU4sYUFBSyxFQUNwQnRFLE1BQUEsWUFBQTBELGFBQUEsQ0FBQ3BELENBQUEsV0FBUSxDQUFDZ0YsS0FBSztNQUFDRCxRQUFRO01BQUMxQixRQUFRLEVBQUVBO0lBQVMsR0FDMUMzRCxNQUFBLFlBQUEwRCxhQUFBLENBQUNwRCxDQUFBLFdBQVEsTUFBRSxDQUNHLENBQ2xCLENBQUM7SUFDRHFFLFFBQVEsQ0FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDOUNQLE1BQU0sQ0FBQ1AsUUFBUSxDQUFDLENBQUM0QixHQUFHLENBQUNDLGdCQUFnQixDQUFDLENBQUM7SUFFdkNaLFFBQVEsQ0FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDOUNQLE1BQU0sQ0FBQ1AsUUFBUSxDQUFDLENBQUM0QixHQUFHLENBQUNDLGdCQUFnQixDQUFDLENBQUM7RUFDekMsQ0FBQyxDQUFDO0VBRUYxQixFQUFFLENBQUMsd0JBQXdCLEVBQUUsWUFBTTtJQUNqQyxJQUFNMkIsT0FBTyxHQUFHckIsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUN6QixJQUFNTixPQUFPLEdBQUcsSUFBQU8sYUFBSyxFQUFDdEUsTUFBQSxZQUFBMEQsYUFBQSxDQUFDcEQsQ0FBQSxXQUFRO01BQUNtRixPQUFPLEVBQUVBO0lBQVEsQ0FBRSxDQUFDLENBQUM7SUFDckQxQixPQUFPLENBQUNRLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzdDUCxNQUFNLENBQUN1QixPQUFPLENBQUMsQ0FBQ0QsZ0JBQWdCLENBQUMsQ0FBQztFQUNwQyxDQUFDLENBQUM7RUFFRjFCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO0lBQy9CLElBQU1ILFFBQVEsR0FBR1MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUMxQixJQUFNTixPQUFPLEdBQUcsSUFBQU8sYUFBSyxFQUFDdEUsTUFBQSxZQUFBMEQsYUFBQSxDQUFDcEQsQ0FBQSxXQUFRO01BQUNxRCxRQUFRLEVBQUVBO0lBQVMsQ0FBRSxDQUFDLENBQUM7SUFDdkRJLE9BQU8sQ0FDSlEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNiQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ0xDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7TUFBRWlCLEdBQUcsRUFBRSxPQUFPO01BQUVDLE9BQU8sRUFBRTtJQUFHLENBQUMsQ0FBQztJQUNyRHpCLE1BQU0sQ0FDSkgsT0FBTyxDQUFDUSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1MsS0FBSyxDQUFDLENBQUMsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLENBQUMsU0FBUyxDQUNsRSxDQUFDLENBQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDZmxCLE1BQU0sQ0FBQ1AsUUFBUSxDQUFDLENBQUNlLG9CQUFvQixDQUFDLElBQUksQ0FBQztFQUM3QyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=