easy-richtextarea 4.0.47 → 4.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/browser.js CHANGED
@@ -16,12 +16,12 @@ _export(exports, {
16
16
  return _richTextarea.default;
17
17
  }
18
18
  });
19
- var _selection = /*#__PURE__*/ _interopRequireDefault(require("./selection"));
20
- var _richTextarea = /*#__PURE__*/ _interopRequireDefault(require("./richTextarea"));
21
- function _interopRequireDefault(obj) {
19
+ var _selection = /*#__PURE__*/ _interop_require_default(require("./selection"));
20
+ var _richTextarea = /*#__PURE__*/ _interop_require_default(require("./richTextarea"));
21
+ function _interop_require_default(obj) {
22
22
  return obj && obj.__esModule ? obj : {
23
23
  default: obj
24
24
  };
25
25
  }
26
26
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNlbGVjdGlvbiB9IGZyb20gXCIuL3NlbGVjdGlvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSaWNoVGV4dGFyZWEgfSBmcm9tIFwiLi9yaWNoVGV4dGFyZWFcIjtcbiJdLCJuYW1lcyI6WyJTZWxlY3Rpb24iLCJSaWNoVGV4dGFyZWEiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsWUFBWTtlQUFaQSxxQkFBWTs7OzhEQURLO2lFQUNHIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNlbGVjdGlvbiB9IGZyb20gXCIuL3NlbGVjdGlvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSaWNoVGV4dGFyZWEgfSBmcm9tIFwiLi9yaWNoVGV4dGFyZWFcIjtcbiJdLCJuYW1lcyI6WyJTZWxlY3Rpb24iLCJSaWNoVGV4dGFyZWEiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsWUFBWTtlQUFaQSxxQkFBWTs7O2dFQURLO21FQUNHIn0=
@@ -8,14 +8,14 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
11
+ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _browser = require("../browser");
13
- function _interopRequireDefault(obj) {
13
+ function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
16
16
  };
17
17
  }
18
- function _taggedTemplateLiteral(strings, raw) {
18
+ function _tagged_template_literal(strings, raw) {
19
19
  if (!raw) {
20
20
  raw = strings.slice(0);
21
21
  }
@@ -26,7 +26,7 @@ function _taggedTemplateLiteral(strings, raw) {
26
26
  }));
27
27
  }
28
28
  function _templateObject() {
29
- var data = _taggedTemplateLiteral([
29
+ var data = _tagged_template_literal([
30
30
  "\n\n width: 48rem;\n border: solid 1px black;\n resize: none;\n height: 32rem;\n padding: 0.25rem;\n font-family: monospace;\n\n"
31
31
  ]);
32
32
  _templateObject = function _templateObject() {
@@ -34,6 +34,6 @@ function _templateObject() {
34
34
  };
35
35
  return data;
36
36
  }
37
- var _default = (0, _easyWithStyle.default)(_browser.RichTextarea)(_templateObject());
37
+ var _default = (0, _easywithstyle.default)(_browser.RichTextarea)(_templateObject());
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3JpY2hUZXh0YXJlYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7XG5cbmltcG9ydCB7IFJpY2hUZXh0YXJlYSB9IGZyb20gXCIuLi9icm93c2VyXCI7ICAvLy9cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJpY2hUZXh0YXJlYSlgXG5cbiAgd2lkdGg6IDQ4cmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcbiAgcmVzaXplOiBub25lO1xuICBoZWlnaHQ6IDMycmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXG5gO1xuIl0sIm5hbWVzIjpbIndpdGhTdHlsZSIsIlJpY2hUZXh0YXJlYSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7a0VBSnNCO3VCQUVPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRTdCLFdBQWVBLElBQUFBLHNCQUFTLEVBQUNDLHFCQUFZIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3JpY2hUZXh0YXJlYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7XG5cbmltcG9ydCB7IFJpY2hUZXh0YXJlYSB9IGZyb20gXCIuLi9icm93c2VyXCI7ICAvLy9cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJpY2hUZXh0YXJlYSlgXG5cbiAgd2lkdGg6IDQ4cmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcbiAgcmVzaXplOiBub25lO1xuICBoZWlnaHQ6IDMycmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXG5gO1xuIl0sIm5hbWVzIjpbIndpdGhTdHlsZSIsIlJpY2hUZXh0YXJlYSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7b0VBSnNCO3VCQUVPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRTdCLFdBQWVBLElBQUFBLHNCQUFTLEVBQUNDLHFCQUFZIn0=
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _richTextarea = /*#__PURE__*/ _interopRequireDefault(require("./richTextarea"));
12
- function _interopRequireDefault(obj) {
11
+ var _richTextarea = /*#__PURE__*/ _interop_require_default(require("./richTextarea"));
12
+ function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
15
15
  };
@@ -43,4 +43,4 @@ function scrollHandler(event, element) {
43
43
  console.log(scrollTop, scrollLeft);
44
44
  }
45
45
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSaWNoVGV4dGFyZWEgZnJvbSBcIi4vcmljaFRleHRhcmVhXCI7XG5cbmNvbnN0IGNvbnRlbnQgPSBcIlwiLFxuICAgICAgcmljaFRleHRhcmVhID1cblxuICAgICAgICA8UmljaFRleHRhcmVhIG9uQmx1cj17Ymx1ckhhbmRsZXJ9IG9uRm9jdXM9e2ZvY3VzSGFuZGxlcn0gb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IG9uU2Nyb2xsPXtzY3JvbGxIYW5kbGVyfSAvPlxuXG4gICAgICA7XG5cbnJpY2hUZXh0YXJlYS5zZXRDb250ZW50KGNvbnRlbnQpO1xuXG5yaWNoVGV4dGFyZWEuYWN0aXZhdGUoKTtcblxuY29uc3QgVmlldyA9IChwcm9wZXJ0aWVzKSA9PlxuXG4gIDxkaXYgY2xhc3NOYW1lPVwidmlld1wiPlxuICAgIHtyaWNoVGV4dGFyZWF9XG4gIDwvZGl2PlxuXG47XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXc7XG5cbmZ1bmN0aW9uIGJsdXJIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnNvbGUubG9nKFwiYmx1clwiKVxufVxuXG5mdW5jdGlvbiBmb2N1c0hhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc29sZS5sb2coXCJmb2N1c1wiKVxufVxuXG5mdW5jdGlvbiBjaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IGNvbnRlbnRDaGFuZ2VkID0gcmljaFRleHRhcmVhLmhhc0NvbnRlbnRDaGFuZ2VkKCksXG4gICAgICAgIHNlbGVjdGlvbkNoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzU2VsZWN0aW9uQ2hhbmdlZCgpO1xuXG4gIGNvbnNvbGUubG9nKGNvbnRlbnRDaGFuZ2VkLCBzZWxlY3Rpb25DaGFuZ2VkKVxufVxuXG5mdW5jdGlvbiBzY3JvbGxIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHNjcm9sbFRvcCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxMZWZ0KCk7XG5cbiAgY29uc29sZS5sb2coc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KVxufVxuIl0sIm5hbWVzIjpbImNvbnRlbnQiLCJyaWNoVGV4dGFyZWEiLCJSaWNoVGV4dGFyZWEiLCJvbkJsdXIiLCJibHVySGFuZGxlciIsIm9uRm9jdXMiLCJmb2N1c0hhbmRsZXIiLCJvbkNoYW5nZSIsImNoYW5nZUhhbmRsZXIiLCJvblNjcm9sbCIsInNjcm9sbEhhbmRsZXIiLCJzZXRDb250ZW50IiwiYWN0aXZhdGUiLCJWaWV3IiwicHJvcGVydGllcyIsImRpdiIsImNsYXNzTmFtZSIsImV2ZW50IiwiZWxlbWVudCIsImNvbnNvbGUiLCJsb2ciLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwic2VsZWN0aW9uQ2hhbmdlZCIsImhhc1NlbGVjdGlvbkNoYW5nZWQiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdUJBOzs7ZUFBQTs7O2lFQXJCeUI7Ozs7OztBQUV6QixJQUFNQSxVQUFVLElBQ1ZDLDZCQUVFLG9CQUFDQyxxQkFBWTtJQUFDQyxRQUFRQztJQUFhQyxTQUFTQztJQUFjQyxVQUFVQztJQUFlQyxVQUFVQzs7QUFJckdULGFBQWFVLFVBQVUsQ0FBQ1g7QUFFeEJDLGFBQWFXLFFBQVE7QUFFckIsSUFBTUMsT0FBTyxTQUFDQzt5QkFFWixvQkFBQ0M7UUFBSUMsV0FBVTtPQUNaZjs7SUFLTCxXQUFlWTtBQUVmLFNBQVNULFlBQVlhLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ25DQyxRQUFRQyxHQUFHLENBQUM7QUFDZDtBQUVBLFNBQVNkLGFBQWFXLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3BDQyxRQUFRQyxHQUFHLENBQUM7QUFDZDtBQUVBLFNBQVNaLGNBQWNTLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1HLGlCQUFpQnBCLGFBQWFxQixpQkFBaUIsSUFDL0NDLG1CQUFtQnRCLGFBQWF1QixtQkFBbUI7SUFFekRMLFFBQVFDLEdBQUcsQ0FBQ0MsZ0JBQWdCRTtBQUM5QjtBQUVBLFNBQVNiLGNBQWNPLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1PLFlBQVl4QixhQUFheUIsWUFBWSxJQUNyQ0MsYUFBYTFCLGFBQWEyQixhQUFhO0lBRTdDVCxRQUFRQyxHQUFHLENBQUNLLFdBQVdFO0FBQ3pCIn0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSaWNoVGV4dGFyZWEgZnJvbSBcIi4vcmljaFRleHRhcmVhXCI7XG5cbmNvbnN0IGNvbnRlbnQgPSBcIlwiLFxuICAgICAgcmljaFRleHRhcmVhID1cblxuICAgICAgICA8UmljaFRleHRhcmVhIG9uQmx1cj17Ymx1ckhhbmRsZXJ9IG9uRm9jdXM9e2ZvY3VzSGFuZGxlcn0gb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IG9uU2Nyb2xsPXtzY3JvbGxIYW5kbGVyfSAvPlxuXG4gICAgICA7XG5cbnJpY2hUZXh0YXJlYS5zZXRDb250ZW50KGNvbnRlbnQpO1xuXG5yaWNoVGV4dGFyZWEuYWN0aXZhdGUoKTtcblxuY29uc3QgVmlldyA9IChwcm9wZXJ0aWVzKSA9PlxuXG4gIDxkaXYgY2xhc3NOYW1lPVwidmlld1wiPlxuICAgIHtyaWNoVGV4dGFyZWF9XG4gIDwvZGl2PlxuXG47XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXc7XG5cbmZ1bmN0aW9uIGJsdXJIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnNvbGUubG9nKFwiYmx1clwiKVxufVxuXG5mdW5jdGlvbiBmb2N1c0hhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc29sZS5sb2coXCJmb2N1c1wiKVxufVxuXG5mdW5jdGlvbiBjaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IGNvbnRlbnRDaGFuZ2VkID0gcmljaFRleHRhcmVhLmhhc0NvbnRlbnRDaGFuZ2VkKCksXG4gICAgICAgIHNlbGVjdGlvbkNoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzU2VsZWN0aW9uQ2hhbmdlZCgpO1xuXG4gIGNvbnNvbGUubG9nKGNvbnRlbnRDaGFuZ2VkLCBzZWxlY3Rpb25DaGFuZ2VkKVxufVxuXG5mdW5jdGlvbiBzY3JvbGxIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHNjcm9sbFRvcCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxMZWZ0KCk7XG5cbiAgY29uc29sZS5sb2coc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KVxufVxuIl0sIm5hbWVzIjpbImNvbnRlbnQiLCJyaWNoVGV4dGFyZWEiLCJSaWNoVGV4dGFyZWEiLCJvbkJsdXIiLCJibHVySGFuZGxlciIsIm9uRm9jdXMiLCJmb2N1c0hhbmRsZXIiLCJvbkNoYW5nZSIsImNoYW5nZUhhbmRsZXIiLCJvblNjcm9sbCIsInNjcm9sbEhhbmRsZXIiLCJzZXRDb250ZW50IiwiYWN0aXZhdGUiLCJWaWV3IiwicHJvcGVydGllcyIsImRpdiIsImNsYXNzTmFtZSIsImV2ZW50IiwiZWxlbWVudCIsImNvbnNvbGUiLCJsb2ciLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwic2VsZWN0aW9uQ2hhbmdlZCIsImhhc1NlbGVjdGlvbkNoYW5nZWQiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdUJBOzs7ZUFBQTs7O21FQXJCeUI7Ozs7OztBQUV6QixJQUFNQSxVQUFVLElBQ1ZDLDZCQUVFLG9CQUFDQyxxQkFBWTtJQUFDQyxRQUFRQztJQUFhQyxTQUFTQztJQUFjQyxVQUFVQztJQUFlQyxVQUFVQzs7QUFJckdULGFBQWFVLFVBQVUsQ0FBQ1g7QUFFeEJDLGFBQWFXLFFBQVE7QUFFckIsSUFBTUMsT0FBTyxTQUFDQzt5QkFFWixvQkFBQ0M7UUFBSUMsV0FBVTtPQUNaZjs7SUFLTCxXQUFlWTtBQUVmLFNBQVNULFlBQVlhLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ25DQyxRQUFRQyxHQUFHLENBQUM7QUFDZDtBQUVBLFNBQVNkLGFBQWFXLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3BDQyxRQUFRQyxHQUFHLENBQUM7QUFDZDtBQUVBLFNBQVNaLGNBQWNTLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1HLGlCQUFpQnBCLGFBQWFxQixpQkFBaUIsSUFDL0NDLG1CQUFtQnRCLGFBQWF1QixtQkFBbUI7SUFFekRMLFFBQVFDLEdBQUcsQ0FBQ0MsZ0JBQWdCRTtBQUM5QjtBQUVBLFNBQVNiLGNBQWNPLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1PLFlBQVl4QixhQUFheUIsWUFBWSxJQUNyQ0MsYUFBYTFCLGFBQWEyQixhQUFhO0lBRTdDVCxRQUFRQyxHQUFHLENBQUNLLFdBQVdFO0FBQ3pCIn0=
package/lib/example.js CHANGED
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  require("./example/preamble");
6
- var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
6
+ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
7
7
  var _easy = require("easy");
8
- var _view = /*#__PURE__*/ _interopRequireDefault(require("./example/view"));
9
- function _interopRequireDefault(obj) {
8
+ var _view = /*#__PURE__*/ _interop_require_default(require("./example/view"));
9
+ function _interop_require_default(obj) {
10
10
  return obj && obj.__esModule ? obj : {
11
11
  default: obj
12
12
  };
13
13
  }
14
- var renderStyles = _easyWithStyle.default.renderStyles;
14
+ var renderStyles = _easywithstyle.default.renderStyles;
15
15
  var body = new _easy.Body();
16
16
  renderStyles();
17
17
  body.mount(/*#__PURE__*/ React.createElement(_view.default, null));
18
18
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2V4YW1wbGUvcHJlYW1ibGVcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgQm9keSB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBWaWV3IGZyb20gXCIuL2V4YW1wbGUvdmlld1wiO1xuXG5jb25zdCB7IHJlbmRlclN0eWxlcyB9ID0gd2l0aFN0eWxlO1xuXG5jb25zdCBib2R5ID0gbmV3IEJvZHkoKTtcblxucmVuZGVyU3R5bGVzKCk7XG5cbmJvZHkubW91bnQoXG5cbiAgPFZpZXcgLz5cblxuKTtcbiJdLCJuYW1lcyI6WyJyZW5kZXJTdHlsZXMiLCJ3aXRoU3R5bGUiLCJib2R5IiwiQm9keSIsIm1vdW50IiwiVmlldyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTztrRUFFZTtvQkFFRDt5REFFSjs7Ozs7O0FBRWpCLElBQU0sQUFBRUEsZUFBaUJDLHNCQUFTLENBQTFCRDtBQUVSLElBQU1FLE9BQU8sSUFBSUMsVUFBSTtBQUVyQkg7QUFFQUUsS0FBS0UsS0FBSyxlQUVSLG9CQUFDQyxhQUFJIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2V4YW1wbGUvcHJlYW1ibGVcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgQm9keSB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBWaWV3IGZyb20gXCIuL2V4YW1wbGUvdmlld1wiO1xuXG5jb25zdCB7IHJlbmRlclN0eWxlcyB9ID0gd2l0aFN0eWxlO1xuXG5jb25zdCBib2R5ID0gbmV3IEJvZHkoKTtcblxucmVuZGVyU3R5bGVzKCk7XG5cbmJvZHkubW91bnQoXG5cbiAgPFZpZXcgLz5cblxuKTtcbiJdLCJuYW1lcyI6WyJyZW5kZXJTdHlsZXMiLCJ3aXRoU3R5bGUiLCJib2R5IiwiQm9keSIsIm1vdW50IiwiVmlldyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTztvRUFFZTtvQkFFRDsyREFFSjs7Ozs7O0FBRWpCLElBQU0sQUFBRUEsZUFBaUJDLHNCQUFTLENBQTFCRDtBQUVSLElBQU1FLE9BQU8sSUFBSUMsVUFBSTtBQUVyQkg7QUFFQUUsS0FBS0UsS0FBSyxlQUVSLG9CQUFDQyxhQUFJIn0=
package/lib/main.js CHANGED
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "Selection", {
8
8
  return _selection.default;
9
9
  }
10
10
  });
11
- var _selection = /*#__PURE__*/ _interopRequireDefault(require("./selection"));
12
- function _interopRequireDefault(obj) {
11
+ var _selection = /*#__PURE__*/ _interop_require_default(require("./selection"));
12
+ function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
15
15
  };
16
16
  }
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNlbGVjdGlvbiB9IGZyb20gXCIuL3NlbGVjdGlvblwiO1xuIl0sIm5hbWVzIjpbIlNlbGVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRW9CQTs7O2VBQUFBLGtCQUFTOzs7OERBQVEifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNlbGVjdGlvbiB9IGZyb20gXCIuL3NlbGVjdGlvblwiO1xuIl0sIm5hbWVzIjpbIlNlbGVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRW9CQTs7O2VBQUFBLGtCQUFTOzs7Z0VBQVEifQ==
@@ -9,50 +9,39 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _easy = require("easy");
12
- var _selection = /*#__PURE__*/ _interopRequireDefault(require("./selection"));
13
- var _event = /*#__PURE__*/ _interopRequireDefault(require("./mixins/event"));
14
- function _arrayLikeToArray(arr, len) {
12
+ var _selection = /*#__PURE__*/ _interop_require_default(require("./selection"));
13
+ var _event = /*#__PURE__*/ _interop_require_default(require("./mixins/event"));
14
+ function _array_like_to_array(arr, len) {
15
15
  if (len == null || len > arr.length) len = arr.length;
16
16
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17
17
  return arr2;
18
18
  }
19
- function _arrayWithoutHoles(arr) {
20
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
19
+ function _array_without_holes(arr) {
20
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
21
21
  }
22
- function _assertThisInitialized(self) {
22
+ function _assert_this_initialized(self) {
23
23
  if (self === void 0) {
24
24
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
25
25
  }
26
26
  return self;
27
27
  }
28
- function _classCallCheck(instance, Constructor) {
28
+ function _class_call_check(instance, Constructor) {
29
29
  if (!(instance instanceof Constructor)) {
30
30
  throw new TypeError("Cannot call a class as a function");
31
31
  }
32
32
  }
33
- function isNativeReflectConstruct() {
34
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
35
- if (Reflect.construct.sham) return false;
36
- if (typeof Proxy === "function") return true;
37
- try {
38
- Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
39
- return true;
40
- } catch (e) {
41
- return false;
42
- }
43
- }
44
33
  function _construct(Parent, args, Class) {
45
- if (isNativeReflectConstruct()) {
34
+ if (_is_native_reflect_construct()) {
46
35
  _construct = Reflect.construct;
47
36
  } else {
48
- _construct = function _construct(Parent, args, Class) {
37
+ _construct = function construct(Parent, args, Class) {
49
38
  var a = [
50
39
  null
51
40
  ];
52
41
  a.push.apply(a, args);
53
42
  var Constructor = Function.bind.apply(Parent, a);
54
43
  var instance = new Constructor();
55
- if (Class) _setPrototypeOf(instance, Class.prototype);
44
+ if (Class) _set_prototype_of(instance, Class.prototype);
56
45
  return instance;
57
46
  };
58
47
  }
@@ -67,12 +56,12 @@ function _defineProperties(target, props) {
67
56
  Object.defineProperty(target, descriptor.key, descriptor);
68
57
  }
69
58
  }
70
- function _createClass(Constructor, protoProps, staticProps) {
59
+ function _create_class(Constructor, protoProps, staticProps) {
71
60
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
72
61
  if (staticProps) _defineProperties(Constructor, staticProps);
73
62
  return Constructor;
74
63
  }
75
- function _defineProperty(obj, key, value) {
64
+ function _define_property(obj, key, value) {
76
65
  if (key in obj) {
77
66
  Object.defineProperty(obj, key, {
78
67
  value: value,
@@ -85,11 +74,11 @@ function _defineProperty(obj, key, value) {
85
74
  }
86
75
  return obj;
87
76
  }
88
- function _getPrototypeOf(o) {
89
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
77
+ function _get_prototype_of(o) {
78
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
90
79
  return o.__proto__ || Object.getPrototypeOf(o);
91
80
  };
92
- return _getPrototypeOf(o);
81
+ return _get_prototype_of(o);
93
82
  }
94
83
  function _inherits(subClass, superClass) {
95
84
  if (typeof superClass !== "function" && superClass !== null) {
@@ -102,54 +91,54 @@ function _inherits(subClass, superClass) {
102
91
  configurable: true
103
92
  }
104
93
  });
105
- if (superClass) _setPrototypeOf(subClass, superClass);
94
+ if (superClass) _set_prototype_of(subClass, superClass);
106
95
  }
107
- function _interopRequireDefault(obj) {
96
+ function _interop_require_default(obj) {
108
97
  return obj && obj.__esModule ? obj : {
109
98
  default: obj
110
99
  };
111
100
  }
112
- function _isNativeFunction(fn) {
101
+ function _is_native_function(fn) {
113
102
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
114
103
  }
115
- function _iterableToArray(iter) {
104
+ function _iterable_to_array(iter) {
116
105
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
117
106
  }
118
- function _nonIterableSpread() {
107
+ function _non_iterable_spread() {
119
108
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
120
109
  }
121
- function _possibleConstructorReturn(self, call) {
122
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
110
+ function _possible_constructor_return(self, call) {
111
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
123
112
  return call;
124
113
  }
125
- return _assertThisInitialized(self);
114
+ return _assert_this_initialized(self);
126
115
  }
127
- function _setPrototypeOf(o, p) {
128
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
116
+ function _set_prototype_of(o, p) {
117
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
129
118
  o.__proto__ = p;
130
119
  return o;
131
120
  };
132
- return _setPrototypeOf(o, p);
121
+ return _set_prototype_of(o, p);
133
122
  }
134
- function _toConsumableArray(arr) {
135
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
123
+ function _to_consumable_array(arr) {
124
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
136
125
  }
137
- var _typeof = function(obj) {
126
+ function _type_of(obj) {
138
127
  "@swc/helpers - typeof";
139
128
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
140
- };
141
- function _unsupportedIterableToArray(o, minLen) {
129
+ }
130
+ function _unsupported_iterable_to_array(o, minLen) {
142
131
  if (!o) return;
143
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
132
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
144
133
  var n = Object.prototype.toString.call(o).slice(8, -1);
145
134
  if (n === "Object" && o.constructor) n = o.constructor.name;
146
135
  if (n === "Map" || n === "Set") return Array.from(n);
147
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
136
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
148
137
  }
149
- function _wrapNativeSuper(Class) {
138
+ function _wrap_native_super(Class) {
150
139
  var _cache = typeof Map === "function" ? new Map() : undefined;
151
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
152
- if (Class === null || !_isNativeFunction(Class)) return Class;
140
+ _wrap_native_super = function wrapNativeSuper(Class) {
141
+ if (Class === null || !_is_native_function(Class)) return Class;
153
142
  if (typeof Class !== "function") {
154
143
  throw new TypeError("Super expression must either be null or a function");
155
144
  }
@@ -158,7 +147,7 @@ function _wrapNativeSuper(Class) {
158
147
  _cache.set(Class, Wrapper);
159
148
  }
160
149
  function Wrapper() {
161
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
150
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
162
151
  }
163
152
  Wrapper.prototype = Object.create(Class.prototype, {
164
153
  constructor: {
@@ -168,11 +157,11 @@ function _wrapNativeSuper(Class) {
168
157
  configurable: true
169
158
  }
170
159
  });
171
- return _setPrototypeOf(Wrapper, Class);
160
+ return _set_prototype_of(Wrapper, Class);
172
161
  };
173
- return _wrapNativeSuper(Class);
162
+ return _wrap_native_super(Class);
174
163
  }
175
- function _isNativeReflectConstruct() {
164
+ function _is_native_reflect_construct() {
176
165
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
177
166
  if (Reflect.construct.sham) return false;
178
167
  if (typeof Proxy === "function") return true;
@@ -183,67 +172,52 @@ function _isNativeReflectConstruct() {
183
172
  return false;
184
173
  }
185
174
  }
186
- function _createSuper(Derived) {
187
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
175
+ function _create_super(Derived) {
176
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
188
177
  return function _createSuperInternal() {
189
- var Super = _getPrototypeOf(Derived), result;
178
+ var Super = _get_prototype_of(Derived), result;
190
179
  if (hasNativeReflectConstruct) {
191
- var NewTarget = _getPrototypeOf(this).constructor;
180
+ var NewTarget = _get_prototype_of(this).constructor;
192
181
  result = Reflect.construct(Super, arguments, NewTarget);
193
182
  } else {
194
183
  result = Super.apply(this, arguments);
195
184
  }
196
- return _possibleConstructorReturn(this, result);
185
+ return _possible_constructor_return(this, result);
197
186
  };
198
187
  }
199
- var BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, FOCUS_EVENT_TYPE = _easy.eventTypes.FOCUS_EVENT_TYPE, INPUT_EVENT_TYPE = _easy.eventTypes.INPUT_EVENT_TYPE, SCROLL_EVENT_TYPE = _easy.eventTypes.SCROLL_EVENT_TYPE, CHANGE_EVENT_TYPE = _easy.eventTypes.CHANGE_EVENT_TYPE, CUT_EVENT_TYPE = _easy.eventTypes.CUT_EVENT_TYPE, COPY_EVENT_TYPE = _easy.eventTypes.COPY_EVENT_TYPE, PASTE_EVENT_TYPE = _easy.eventTypes.PASTE_EVENT_TYPE, KEYDOWN_EVENT_TYPE = _easy.eventTypes.KEYDOWN_EVENT_TYPE, MOUSEDOWN_EVENT_TYPE = _easy.eventTypes.MOUSEDOWN_EVENT_TYPE, SELECTIONCHANGE_EVENT_TYPE = _easy.eventTypes.SELECTIONCHANGE_EVENT_TYPE;
188
+ var BLUR_EVENT_TYPE = _easy.eventTypes.BLUR_EVENT_TYPE, FOCUS_EVENT_TYPE = _easy.eventTypes.FOCUS_EVENT_TYPE, INPUT_EVENT_TYPE = _easy.eventTypes.INPUT_EVENT_TYPE, SCROLL_EVENT_TYPE = _easy.eventTypes.SCROLL_EVENT_TYPE, CHANGE_EVENT_TYPE = _easy.eventTypes.CHANGE_EVENT_TYPE, SELECTIONCHANGE_EVENT_TYPE = _easy.eventTypes.SELECTIONCHANGE_EVENT_TYPE;
200
189
  var RichTextarea = /*#__PURE__*/ function(Element) {
201
190
  _inherits(RichTextarea, Element);
202
- var _super = _createSuper(RichTextarea);
191
+ var _super = _create_super(RichTextarea);
203
192
  function RichTextarea() {
204
- _classCallCheck(this, RichTextarea);
193
+ _class_call_check(this, RichTextarea);
205
194
  var _this;
206
195
  _this = _super.apply(this, arguments);
207
- _defineProperty(_assertThisInitialized(_this), "blurHandler", function(event, element) {
196
+ _define_property(_assert_this_initialized(_this), "blurHandler", function(event, element) {
208
197
  var eventType = BLUR_EVENT_TYPE, selectionChanged = true;
209
198
  _this.intermediateHandler(event, element, eventType, selectionChanged);
210
199
  });
211
- _defineProperty(_assertThisInitialized(_this), "focusHandler", function(event, element) {
200
+ _define_property(_assert_this_initialized(_this), "focusHandler", function(event, element) {
212
201
  defer(function() {
213
202
  var eventType = FOCUS_EVENT_TYPE, selectionChanged = true;
214
203
  _this.intermediateHandler(event, element, eventType, selectionChanged);
215
204
  });
216
205
  });
217
- _defineProperty(_assertThisInitialized(_this), "inputHandler", function(event, element) {
206
+ _define_property(_assert_this_initialized(_this), "inputHandler", function(event, element) {
218
207
  _this.intermediateHandler(event, element);
219
208
  });
220
- _defineProperty(_assertThisInitialized(_this), "scrollHandler", function(event, element) {
209
+ _define_property(_assert_this_initialized(_this), "scrollHandler", function(event, element) {
221
210
  var eventType = SCROLL_EVENT_TYPE;
222
211
  _this.callHandlers(eventType, event, element);
223
212
  });
224
- _defineProperty(_assertThisInitialized(_this), "cutHandler", function(event, element) {
225
- ///
226
- });
227
- _defineProperty(_assertThisInitialized(_this), "copyHandler", function(event, element) {
228
- ///
229
- });
230
- _defineProperty(_assertThisInitialized(_this), "pasteHandler", function(event, element) {
231
- ///
232
- });
233
- _defineProperty(_assertThisInitialized(_this), "keyDownHandler", function(event, element) {
234
- ///
235
- });
236
- _defineProperty(_assertThisInitialized(_this), "mouseDownHandler", function(event, element) {
237
- ///
238
- });
239
- _defineProperty(_assertThisInitialized(_this), "selectChangeHandler", function(event, element) {
213
+ _define_property(_assert_this_initialized(_this), "selectChangeHandler", function(event, element) {
240
214
  var currentTarget = event.currentTarget, activeElement = currentTarget.activeElement, domElement = _this.getDOMElement();
241
215
  if (activeElement === domElement) {
242
- element = _assertThisInitialized(_this); ///
216
+ element = _assert_this_initialized(_this); ///
243
217
  _this.intermediateHandler(event, element);
244
218
  }
245
219
  });
246
- _defineProperty(_assertThisInitialized(_this), "intermediateHandler", function(event, element) {
220
+ _define_property(_assert_this_initialized(_this), "intermediateHandler", function(event, element) {
247
221
  var eventType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : CHANGE_EVENT_TYPE, selectionChanged = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : _this.hasSelectionChanged();
248
222
  var content = _this.getContent(), selection = _this.getSelection(), contentChanged = _this.hasContentChanged();
249
223
  if (contentChanged || selectionChanged) {
@@ -255,7 +229,7 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
255
229
  });
256
230
  return _this;
257
231
  }
258
- _createClass(RichTextarea, [
232
+ _create_class(RichTextarea, [
259
233
  {
260
234
  key: "callHandlers",
261
235
  value: function callHandlers(eventType) {
@@ -267,13 +241,13 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
267
241
  eventListeners.forEach(function(eventListener) {
268
242
  var element = eventListener.element;
269
243
  var handler = eventListener.handler;
270
- if (handler !== _this.blurHandler && handler !== _this.focusHandler && handler !== _this.inputHandler && handler !== _this.scrollHandler && handler !== _this.cutHandler && handler !== _this.copyHandler && handler !== _this.pasteHandler && handler !== _this.keyDownHandler && handler !== _this.mouseDownHandler && handler !== _this.selectChangeHandler) {
244
+ if (handler !== _this.blurHandler && handler !== _this.focusHandler && handler !== _this.inputHandler && handler !== _this.scrollHandler && handler !== _this.selectChangeHandler) {
271
245
  var _handler;
272
246
  var handlerElement = element; ///
273
247
  element = _this; ///
274
248
  (_handler = handler).call.apply(_handler, [
275
249
  handlerElement
276
- ].concat(_toConsumableArray(remainingArguments), [
250
+ ].concat(_to_consumable_array(remainingArguments), [
277
251
  element
278
252
  ]));
279
253
  }
@@ -308,13 +282,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
308
282
  return selection;
309
283
  }
310
284
  },
311
- {
312
- key: "getSelectedContent",
313
- value: function getSelectedContent() {
314
- var content = this.getContent(), selection = this.getSelection(), endPosition = selection.getEndPosition(), startPosition = selection.getStartPosition(), start = startPosition, end = endPosition, selectedContent = content.slice(start, end);
315
- return selectedContent;
316
- }
317
- },
318
285
  {
319
286
  key: "hasContentChanged",
320
287
  value: function hasContentChanged() {
@@ -371,11 +338,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
371
338
  this.on(FOCUS_EVENT_TYPE, this.focusHandler);
372
339
  this.on(INPUT_EVENT_TYPE, this.inputHandler);
373
340
  this.on(SCROLL_EVENT_TYPE, this.scrollHandler);
374
- this.on(CUT_EVENT_TYPE, this.cutHandler);
375
- this.on(COPY_EVENT_TYPE, this.copyHandler);
376
- this.on(PASTE_EVENT_TYPE, this.pasteHandler);
377
- this.on(KEYDOWN_EVENT_TYPE, this.keyDownHandler);
378
- this.on(MOUSEDOWN_EVENT_TYPE, this.mouseDownHandler);
379
341
  _easy.document.on(SELECTIONCHANGE_EVENT_TYPE, this.selectChangeHandler);
380
342
  this.addClass("active");
381
343
  }
@@ -387,11 +349,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
387
349
  this.off(FOCUS_EVENT_TYPE, this.focusHandler);
388
350
  this.off(INPUT_EVENT_TYPE, this.inputHandler);
389
351
  this.off(SCROLL_EVENT_TYPE, this.scrollHandler);
390
- this.off(CUT_EVENT_TYPE, this.cutHandler);
391
- this.off(COPY_EVENT_TYPE, this.copyHandler);
392
- this.off(PASTE_EVENT_TYPE, this.pasteHandler);
393
- this.off(KEYDOWN_EVENT_TYPE, this.keyDownHandler);
394
- this.off(MOUSEDOWN_EVENT_TYPE, this.mouseDownHandler);
395
352
  _easy.document.off(SELECTIONCHANGE_EVENT_TYPE, this.selectChangeHandler);
396
353
  this.removeClass("active");
397
354
  }
@@ -429,8 +386,10 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
429
386
  {
430
387
  key: "didMount",
431
388
  value: function didMount() {
389
+ var content = this.getContent(), selection = this.getSelection(), previousContent = content, previousSelection = selection; ///
390
+ this.setPreviousContent(previousContent);
391
+ this.setPreviousSelection(previousSelection);
432
392
  var _this_properties = this.properties, onBlur = _this_properties.onBlur, onFocus = _this_properties.onFocus, onScroll = _this_properties.onScroll, onChange = _this_properties.onChange, blurHandler = onBlur, focusHandler = onFocus, scrollHandler = onScroll, changeHandler = onChange; ///
433
- this.updateInitialState();
434
393
  blurHandler && this.onBlur(blurHandler, this);
435
394
  focusHandler && this.onFocus(focusHandler, this);
436
395
  scrollHandler && this.onScroll(scrollHandler, this);
@@ -451,14 +410,6 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
451
410
  }
452
411
  }
453
412
  },
454
- {
455
- key: "updateInitialState",
456
- value: function updateInitialState() {
457
- var content = this.getContent(), selection = this.getSelection(), previousContent = content, previousSelection = selection; ///
458
- this.setPreviousContent(previousContent);
459
- this.setPreviousSelection(previousSelection);
460
- }
461
- },
462
413
  {
463
414
  key: "setInitialState",
464
415
  value: function setInitialState() {
@@ -486,21 +437,21 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
486
437
  var richTextarea = (_Element = _easy.Element).fromClass.apply(_Element, [
487
438
  Class,
488
439
  properties
489
- ].concat(_toConsumableArray(remainingArguments)));
440
+ ].concat(_to_consumable_array(remainingArguments)));
490
441
  return richTextarea;
491
442
  }
492
443
  }
493
444
  ]);
494
445
  return RichTextarea;
495
- }(_wrapNativeSuper(_easy.Element));
496
- _defineProperty(RichTextarea, "tagName", "textarea");
497
- _defineProperty(RichTextarea, "ignoredProperties", [
446
+ }(_wrap_native_super(_easy.Element));
447
+ _define_property(RichTextarea, "tagName", "textarea");
448
+ _define_property(RichTextarea, "ignoredProperties", [
498
449
  "onBlur",
499
450
  "onFocus",
500
451
  "onScroll",
501
452
  "onChange"
502
453
  ]);
503
- _defineProperty(RichTextarea, "defaultProperties", {
454
+ _define_property(RichTextarea, "defaultProperties", {
504
455
  className: "rich"
505
456
  });
506
457
  Object.assign(RichTextarea.prototype, _event.default);
@@ -508,4 +459,4 @@ function defer(func) {
508
459
  setTimeout(func, 0);
509
460
  }
510
461
 
511
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBldmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvZXZlbnRcIjtcclxuXHJcbmNvbnN0IHsgQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgIEZPQ1VTX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgSU5QVVRfRVZFTlRfVFlQRSxcclxuICAgICAgICBTQ1JPTExfRVZFTlRfVFlQRSxcclxuICAgICAgICBDSEFOR0VfRVZFTlRfVFlQRSxcclxuICAgICAgICBDVVRfRVZFTlRfVFlQRSxcclxuICAgICAgICBDT1BZX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgUEFTVEVfRVZFTlRfVFlQRSxcclxuICAgICAgICBLRVlET1dOX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgTU9VU0VET1dOX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dGFyZWEgZXh0ZW5kcyBFbGVtZW50IHtcclxuICBibHVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgZXZlbnRUeXBlID0gQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgICAgc2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5pbnRlcm1lZGlhdGVIYW5kbGVyKGV2ZW50LCBlbGVtZW50LCBldmVudFR5cGUsIHNlbGVjdGlvbkNoYW5nZWQpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBkZWZlcigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGV2ZW50VHlwZSA9IEZPQ1VTX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICAgIHNlbGVjdGlvbkNoYW5nZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5pbnRlcm1lZGlhdGVIYW5kbGVyKGV2ZW50LCBlbGVtZW50LCBldmVudFR5cGUsIHNlbGVjdGlvbkNoYW5nZWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbnB1dEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIHRoaXMuaW50ZXJtZWRpYXRlSGFuZGxlcihldmVudCwgZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBldmVudFR5cGUgPSBTQ1JPTExfRVZFTlRfVFlQRTtcclxuXHJcbiAgICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUsIGV2ZW50LCBlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGN1dEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgY29weUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcGFzdGVIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIGtleURvd25IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIG1vdXNlRG93bkhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgeyBjdXJyZW50VGFyZ2V0IH0gPSBldmVudCxcclxuICAgICAgICAgIHsgYWN0aXZlRWxlbWVudCB9ID0gY3VycmVudFRhcmdldCxcclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBpZiAoYWN0aXZlRWxlbWVudCA9PT0gZG9tRWxlbWVudCkge1xyXG4gICAgICBlbGVtZW50ID0gdGhpczsgLy8vXHJcblxyXG4gICAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW50ZXJtZWRpYXRlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZXZlbnRUeXBlID0gQ0hBTkdFX0VWRU5UX1RZUEUsIHNlbGVjdGlvbkNoYW5nZWQgPSB0aGlzLmhhc1NlbGVjdGlvbkNoYW5nZWQoKSkgPT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xyXG5cclxuICAgIGlmIChjb250ZW50Q2hhbmdlZCB8fCBzZWxlY3Rpb25DaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xyXG4gICAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xyXG5cclxuICAgIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcclxuICAgICAgbGV0IHsgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGNvbnN0IHsgaGFuZGxlciB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGlmICggKGhhbmRsZXIgIT09IHRoaXMuYmx1ckhhbmRsZXIpXHJcbiAgICAgICAgJiYgKGhhbmRsZXIgIT09IHRoaXMuZm9jdXNIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmlucHV0SGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zY3JvbGxIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmN1dEhhbmRsZXIpXHJcbiAgICAgICAgJiYgKGhhbmRsZXIgIT09IHRoaXMuY29weUhhbmRsZXIpXHJcbiAgICAgICAgJiYgKGhhbmRsZXIgIT09IHRoaXMucGFzdGVIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmtleURvd25IYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLm1vdXNlRG93bkhhbmRsZXIpXHJcbiAgICAgICAgJiYgKGhhbmRsZXIgIT09IHRoaXMuc2VsZWN0Q2hhbmdlSGFuZGxlcikgKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IGhhbmRsZXJFbGVtZW50ID0gZWxlbWVudDsgLy8vXHJcblxyXG4gICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICAgICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzUmVhZE9ubHkoKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICB7IHJlYWRPbmx5IH0gPSBkb21FbGVtZW50O1xyXG5cclxuICAgIHJldHVybiByZWFkT25seTtcclxuICB9XHJcblxyXG4gIGlzQWN0aXZlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5oYXNDbGFzcyhcImFjdGl2ZVwiKTtcclxuXHJcbiAgICByZXR1cm4gYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGVudCgpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHsgdmFsdWUgfSA9IGRvbUVsZW1lbnQsXHJcbiAgICAgICAgICBjb250ZW50ID0gdmFsdWU7ICAvLy9cclxuXHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IFNlbGVjdGlvbi5mcm9tRE9NRWxlbWVudChkb21FbGVtZW50KTtcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRDb250ZW50KCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGVuZFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldEVuZFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzdGFydFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldFN0YXJ0UG9zaXRpb24oKSxcclxuICAgICAgICAgIHN0YXJ0ID0gc3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgZW5kID0gZW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIHNlbGVjdGVkQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgcmV0dXJuIHNlbGVjdGVkQ29udGVudDtcclxuICB9XHJcblxyXG4gIGhhc0NvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gdGhpcy5nZXRQcmV2aW91c0NvbnRlbnQoKSxcclxuICAgICAgICAgIGNvbnRlbnRQcmV2aW91c0NvbnRlbnQgPSAoY29udGVudCA9PT0gcHJldmlvdXNDb250ZW50KSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gIWNvbnRlbnRQcmV2aW91c0NvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHRoaXMuZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uLmlzRXF1YWxUbyhwcmV2aW91c1NlbGVjdGlvbiksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gIXNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uOyAvLy9cclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5KSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHJlYWRPbmx5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudCwgc2V0UHJldmlvdXNDb250ZW50ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHZhbHVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2V0UHJldmlvdXNDb250ZW50KSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQ7ICAvLy9cclxuXHJcbiAgICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBzZXRQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uRW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBkb21FbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMub24oQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKElOUFVUX0VWRU5UX1RZUEUsIHRoaXMuaW5wdXRIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub24oQ1VUX0VWRU5UX1RZUEUsIHRoaXMuY3V0SGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vbihDT1BZX0VWRU5UX1RZUEUsIHRoaXMuY29weUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub24oUEFTVEVfRVZFTlRfVFlQRSwgdGhpcy5wYXN0ZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub24oS0VZRE9XTl9FVkVOVF9UWVBFLCB0aGlzLmtleURvd25IYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKE1PVVNFRE9XTl9FVkVOVF9UWVBFLCB0aGlzLm1vdXNlRG93bkhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9uKFNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFLCB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5vZmYoQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9mZihGT0NVU19FVkVOVF9UWVBFLCB0aGlzLmZvY3VzSGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKENVVF9FVkVOVF9UWVBFLCB0aGlzLmN1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKENPUFlfRVZFTlRfVFlQRSwgdGhpcy5jb3B5SGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoUEFTVEVfRVZFTlRfVFlQRSwgdGhpcy5wYXN0ZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKEtFWURPV05fRVZFTlRfVFlQRSwgdGhpcy5rZXlEb3duSGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoTU9VU0VET1dOX0VWRU5UX1RZUEUsIHRoaXMubW91c2VEb3duSGFuZGxlcik7XHJcblxyXG4gICAgZG9jdW1lbnQub2ZmKFNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFLCB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgfVxyXG5cclxuICBnZXRQcmV2aW91c0NvbnRlbnQoKSB7XHJcbiAgICBjb25zdCB7IHByZXZpb3VzQ29udGVudCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xyXG5cclxuICAgIHJldHVybiBwcmV2aW91c0NvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRQcmV2aW91c1NlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IHsgcHJldmlvdXNTZWxlY3Rpb24gfSA9IHRoaXMuZ2V0U3RhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcclxuICAgICAgcHJldmlvdXNDb250ZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcclxuICAgICAgcHJldmlvdXNTZWxlY3Rpb25cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IG9uQmx1ciwgb25Gb2N1cywgb25TY3JvbGwsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BlcnRpZXMsXHJcbiAgICAgICAgICBibHVySGFuZGxlciA9IG9uQmx1ciwgLy8vXHJcbiAgICAgICAgICBmb2N1c0hhbmRsZXIgPSBvbkZvY3VzLCAvLy9cclxuICAgICAgICAgIHNjcm9sbEhhbmRsZXIgPSBvblNjcm9sbCwgLy8vXHJcbiAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gb25DaGFuZ2U7IC8vL1xyXG5cclxuICAgIHRoaXMudXBkYXRlSW5pdGlhbFN0YXRlKCk7XHJcblxyXG4gICAgYmx1ckhhbmRsZXIgJiYgdGhpcy5vbkJsdXIoYmx1ckhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGZvY3VzSGFuZGxlciAmJiB0aGlzLm9uRm9jdXMoZm9jdXNIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBzY3JvbGxIYW5kbGVyICYmIHRoaXMub25TY3JvbGwoc2Nyb2xsSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgY2hhbmdlSGFuZGxlciAmJiB0aGlzLm9uQ2hhbmdlKGNoYW5nZUhhbmRsZXIsIHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgd2lsbFVubW91bnQoKSB7XHJcbiAgICBjb25zdCB7IG9uQmx1ciwgb25Gb2N1cywgb25TY3JvbGwsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BlcnRpZXMsXHJcbiAgICAgICAgICAgIGJsdXJIYW5kbGVyID0gb25CbHVyLCAvLy9cclxuICAgICAgICAgICAgZm9jdXNIYW5kbGVyID0gb25Gb2N1cywgLy8vXHJcbiAgICAgICAgICAgIHNjcm9sbEhhbmRsZXIgPSBvblNjcm9sbCwgLy8vXHJcbiAgICAgICAgICAgIGNoYW5nZUhhbmRsZXIgPSBvbkNoYW5nZTsgLy8vXHJcblxyXG4gICAgYmx1ckhhbmRsZXIgJiYgdGhpcy5vZmZCbHVyKGJsdXJIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBmb2N1c0hhbmRsZXIgJiYgdGhpcy5vZmZGb2N1cyhmb2N1c0hhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIHNjcm9sbEhhbmRsZXIgJiYgdGhpcy5vZmZTY3JvbGwoc2Nyb2xsSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgY2hhbmdlSGFuZGxlciAmJiB0aGlzLm9mZkNoYW5nZShjaGFuZ2VIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZUluaXRpYWxTdGF0ZSgpIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c0NvbnRlbnQgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBzZXRJbml0aWFsU3RhdGUoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0NvbnRlbnQgPSBudWxsLFxyXG4gICAgICAgICAgcHJldmlvdXNTZWxlY3Rpb24gPSBudWxsO1xyXG5cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwcmV2aW91c0NvbnRlbnQsXHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpc2UoKSB7XHJcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhZ05hbWUgPSBcInRleHRhcmVhXCI7XHJcblxyXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcclxuICAgIFwib25CbHVyXCIsXHJcbiAgICBcIm9uRm9jdXNcIixcclxuICAgIFwib25TY3JvbGxcIixcclxuICAgIFwib25DaGFuZ2VcIlxyXG4gIF07XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcclxuICAgIGNsYXNzTmFtZTogXCJyaWNoXCJcclxuICB9O1xyXG5cclxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcclxuICAgIGNvbnN0IHJpY2hUZXh0YXJlYSA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xyXG5cclxuICAgIHJldHVybiByaWNoVGV4dGFyZWE7XHJcbiAgfVxyXG59XHJcblxyXG5PYmplY3QuYXNzaWduKFJpY2hUZXh0YXJlYS5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcclxuXHJcbmZ1bmN0aW9uIGRlZmVyKGZ1bmMpIHtcclxuICBzZXRUaW1lb3V0KGZ1bmMsIDApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dGFyZWEiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiRk9DVVNfRVZFTlRfVFlQRSIsIklOUFVUX0VWRU5UX1RZUEUiLCJTQ1JPTExfRVZFTlRfVFlQRSIsIkNIQU5HRV9FVkVOVF9UWVBFIiwiQ1VUX0VWRU5UX1RZUEUiLCJDT1BZX0VWRU5UX1RZUEUiLCJQQVNURV9FVkVOVF9UWVBFIiwiS0VZRE9XTl9FVkVOVF9UWVBFIiwiTU9VU0VET1dOX0VWRU5UX1RZUEUiLCJTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSIsImJsdXJIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiZXZlbnRUeXBlIiwic2VsZWN0aW9uQ2hhbmdlZCIsImludGVybWVkaWF0ZUhhbmRsZXIiLCJmb2N1c0hhbmRsZXIiLCJkZWZlciIsImlucHV0SGFuZGxlciIsInNjcm9sbEhhbmRsZXIiLCJjYWxsSGFuZGxlcnMiLCJjdXRIYW5kbGVyIiwiY29weUhhbmRsZXIiLCJwYXN0ZUhhbmRsZXIiLCJrZXlEb3duSGFuZGxlciIsIm1vdXNlRG93bkhhbmRsZXIiLCJzZWxlY3RDaGFuZ2VIYW5kbGVyIiwiY3VycmVudFRhcmdldCIsImFjdGl2ZUVsZW1lbnQiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImhhc1NlbGVjdGlvbkNoYW5nZWQiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJwcmV2aW91c0NvbnRlbnQiLCJwcmV2aW91c1NlbGVjdGlvbiIsInNldFByZXZpb3VzQ29udGVudCIsInNldFByZXZpb3VzU2VsZWN0aW9uIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJmb3JFYWNoIiwiZXZlbnRMaXN0ZW5lciIsImhhbmRsZXIiLCJoYW5kbGVyRWxlbWVudCIsImNhbGwiLCJpc1JlYWRPbmx5IiwicmVhZE9ubHkiLCJpc0FjdGl2ZSIsImFjdGl2ZSIsImhhc0NsYXNzIiwidmFsdWUiLCJTZWxlY3Rpb24iLCJmcm9tRE9NRWxlbWVudCIsImdldFNlbGVjdGVkQ29udGVudCIsImVuZFBvc2l0aW9uIiwiZ2V0RW5kUG9zaXRpb24iLCJzdGFydFBvc2l0aW9uIiwiZ2V0U3RhcnRQb3NpdGlvbiIsInN0YXJ0IiwiZW5kIiwic2VsZWN0ZWRDb250ZW50Iiwic2xpY2UiLCJnZXRQcmV2aW91c0NvbnRlbnQiLCJjb250ZW50UHJldmlvdXNDb250ZW50IiwiZ2V0UHJldmlvdXNTZWxlY3Rpb24iLCJzZWxlY3Rpb25QcmV2aW91c1NlbGVjdGlvbiIsImlzRXF1YWxUbyIsInNldFJlYWRPbmx5IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0Q29udGVudCIsInNldFNlbGVjdGlvbiIsInNlbGVjdGlvblN0YXJ0UG9zaXRpb24iLCJzZWxlY3Rpb25FbmRQb3NpdGlvbiIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJhY3RpdmF0ZSIsIm9uIiwiZG9jdW1lbnQiLCJhZGRDbGFzcyIsImRlYWN0aXZhdGUiLCJvZmYiLCJyZW1vdmVDbGFzcyIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJkaWRNb3VudCIsInByb3BlcnRpZXMiLCJvbkJsdXIiLCJvbkZvY3VzIiwib25TY3JvbGwiLCJvbkNoYW5nZSIsImNoYW5nZUhhbmRsZXIiLCJ1cGRhdGVJbml0aWFsU3RhdGUiLCJ3aWxsVW5tb3VudCIsIm9mZkJsdXIiLCJvZmZGb2N1cyIsIm9mZlNjcm9sbCIsIm9mZkNoYW5nZSIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiaW5pdGlhbGlzZSIsImZyb21DbGFzcyIsIkNsYXNzIiwiRWxlbWVudCIsInJpY2hUZXh0YXJlYSIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwicHJvdG90eXBlIiwiZXZlbnRNaXhpbnMiLCJmdW5jIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFtQnFCQTs7O29CQWpCeUI7OERBRXhCOzBEQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEIsSUFBUUMsa0JBVStCQyxnQkFB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
462
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBldmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvZXZlbnRcIjtcclxuXHJcbmNvbnN0IHsgQkxVUl9FVkVOVF9UWVBFLFxyXG4gICAgICAgIEZPQ1VTX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgSU5QVVRfRVZFTlRfVFlQRSxcclxuICAgICAgICBTQ1JPTExfRVZFTlRfVFlQRSxcclxuICAgICAgICBDSEFOR0VfRVZFTlRfVFlQRSxcclxuICAgICAgICBTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJpY2hUZXh0YXJlYSBleHRlbmRzIEVsZW1lbnQge1xyXG4gIGJsdXJIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBldmVudFR5cGUgPSBCTFVSX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQsIGV2ZW50VHlwZSwgc2VsZWN0aW9uQ2hhbmdlZCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0hhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGRlZmVyKCgpID0+IHtcclxuICAgICAgY29uc3QgZXZlbnRUeXBlID0gRk9DVVNfRVZFTlRfVFlQRSxcclxuICAgICAgICAgICAgc2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQsIGV2ZW50VHlwZSwgc2VsZWN0aW9uQ2hhbmdlZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlucHV0SGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgdGhpcy5pbnRlcm1lZGlhdGVIYW5kbGVyKGV2ZW50LCBlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHNjcm9sbEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGV2ZW50VHlwZSA9IFNDUk9MTF9FVkVOVF9UWVBFO1xyXG5cclxuICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgeyBjdXJyZW50VGFyZ2V0IH0gPSBldmVudCxcclxuICAgICAgICAgIHsgYWN0aXZlRWxlbWVudCB9ID0gY3VycmVudFRhcmdldCxcclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBpZiAoYWN0aXZlRWxlbWVudCA9PT0gZG9tRWxlbWVudCkge1xyXG4gICAgICBlbGVtZW50ID0gdGhpczsgLy8vXHJcblxyXG4gICAgICB0aGlzLmludGVybWVkaWF0ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW50ZXJtZWRpYXRlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZXZlbnRUeXBlID0gQ0hBTkdFX0VWRU5UX1RZUEUsIHNlbGVjdGlvbkNoYW5nZWQgPSB0aGlzLmhhc1NlbGVjdGlvbkNoYW5nZWQoKSkgPT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xyXG5cclxuICAgIGlmIChjb250ZW50Q2hhbmdlZCB8fCBzZWxlY3Rpb25DaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xyXG4gICAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xyXG5cclxuICAgIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcclxuICAgICAgbGV0IHsgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGNvbnN0IHsgaGFuZGxlciB9ID0gZXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgICAgIGlmICggKGhhbmRsZXIgIT09IHRoaXMuYmx1ckhhbmRsZXIpXHJcbiAgICAgICAgJiYgKGhhbmRsZXIgIT09IHRoaXMuZm9jdXNIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLmlucHV0SGFuZGxlcilcclxuICAgICAgICAmJiAoaGFuZGxlciAhPT0gdGhpcy5zY3JvbGxIYW5kbGVyKVxyXG4gICAgICAgICYmIChoYW5kbGVyICE9PSB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpICkge1xyXG5cclxuICAgICAgICBjb25zdCBoYW5kbGVyRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xyXG5cclxuICAgICAgICBlbGVtZW50ID0gdGhpczsgLy8vXHJcblxyXG4gICAgICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc1JlYWRPbmx5KCkge1xyXG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxyXG4gICAgICAgICAgeyByZWFkT25seSB9ID0gZG9tRWxlbWVudDtcclxuXHJcbiAgICByZXR1cm4gcmVhZE9ubHk7XHJcbiAgfVxyXG5cclxuICBpc0FjdGl2ZSgpIHtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuaGFzQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgcmV0dXJuIGFjdGl2ZTtcclxuICB9XHJcblxyXG4gIGdldENvbnRlbnQoKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICB7IHZhbHVlIH0gPSBkb21FbGVtZW50LFxyXG4gICAgICAgICAgY29udGVudCA9IHZhbHVlOyAgLy8vXHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3Rpb24oKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICBzZWxlY3Rpb24gPSBTZWxlY3Rpb24uZnJvbURPTUVsZW1lbnQoZG9tRWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIGhhc0NvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gdGhpcy5nZXRQcmV2aW91c0NvbnRlbnQoKSxcclxuICAgICAgICAgIGNvbnRlbnRQcmV2aW91c0NvbnRlbnQgPSAoY29udGVudCA9PT0gcHJldmlvdXNDb250ZW50KSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gIWNvbnRlbnRQcmV2aW91c0NvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHRoaXMuZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uLmlzRXF1YWxUbyhwcmV2aW91c1NlbGVjdGlvbiksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gIXNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uOyAvLy9cclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5KSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHJlYWRPbmx5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudCwgc2V0UHJldmlvdXNDb250ZW50ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHZhbHVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2V0UHJldmlvdXNDb250ZW50KSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQ7ICAvLy9cclxuXHJcbiAgICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBzZXRQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uRW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBkb21FbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMub24oQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKElOUFVUX0VWRU5UX1RZUEUsIHRoaXMuaW5wdXRIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9uKFNFTEVDVElPTkNIQU5HRV9FVkVOVF9UWVBFLCB0aGlzLnNlbGVjdENoYW5nZUhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5vZmYoQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9mZihGT0NVU19FVkVOVF9UWVBFLCB0aGlzLmZvY3VzSGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmYoSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub2ZmKFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9mZihTRUxFQ1RJT05DSEFOR0VfRVZFTlRfVFlQRSwgdGhpcy5zZWxlY3RDaGFuZ2VIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNDb250ZW50KCkge1xyXG4gICAgY29uc3QgeyBwcmV2aW91c0NvbnRlbnQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSB7XHJcbiAgICBjb25zdCB7IHByZXZpb3VzU2VsZWN0aW9uIH0gPSB0aGlzLmdldFN0YXRlKCk7XHJcblxyXG4gICAgcmV0dXJuIHByZXZpb3VzU2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCkge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzQ29udGVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpZE1vdW50KCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuXHJcbiAgICBjb25zdCB7IG9uQmx1ciwgb25Gb2N1cywgb25TY3JvbGwsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BlcnRpZXMsXHJcbiAgICAgICAgICBibHVySGFuZGxlciA9IG9uQmx1ciwgLy8vXHJcbiAgICAgICAgICBmb2N1c0hhbmRsZXIgPSBvbkZvY3VzLCAvLy9cclxuICAgICAgICAgIHNjcm9sbEhhbmRsZXIgPSBvblNjcm9sbCwgLy8vXHJcbiAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gb25DaGFuZ2U7IC8vL1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub25CbHVyKGJsdXJIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBmb2N1c0hhbmRsZXIgJiYgdGhpcy5vbkZvY3VzKGZvY3VzSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgc2Nyb2xsSGFuZGxlciAmJiB0aGlzLm9uU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyLCB0aGlzKTtcclxuICB9XHJcblxyXG4gIHdpbGxVbm1vdW50KCkge1xyXG4gICAgY29uc3QgeyBvbkJsdXIsIG9uRm9jdXMsIG9uU2Nyb2xsLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgICBibHVySGFuZGxlciA9IG9uQmx1ciwgLy8vXHJcbiAgICAgICAgICAgIGZvY3VzSGFuZGxlciA9IG9uRm9jdXMsIC8vL1xyXG4gICAgICAgICAgICBzY3JvbGxIYW5kbGVyID0gb25TY3JvbGwsIC8vL1xyXG4gICAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gb25DaGFuZ2U7IC8vL1xyXG5cclxuICAgIGJsdXJIYW5kbGVyICYmIHRoaXMub2ZmQmx1cihibHVySGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgZm9jdXNIYW5kbGVyICYmIHRoaXMub2ZmRm9jdXMoZm9jdXNIYW5kbGVyLCB0aGlzKTtcclxuXHJcbiAgICBzY3JvbGxIYW5kbGVyICYmIHRoaXMub2ZmU2Nyb2xsKHNjcm9sbEhhbmRsZXIsIHRoaXMpO1xyXG5cclxuICAgIGNoYW5nZUhhbmRsZXIgJiYgdGhpcy5vZmZDaGFuZ2UoY2hhbmdlSGFuZGxlciwgdGhpcyk7XHJcblxyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRJbml0aWFsU3RhdGUoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0NvbnRlbnQgPSBudWxsLFxyXG4gICAgICAgICAgcHJldmlvdXNTZWxlY3Rpb24gPSBudWxsO1xyXG5cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwcmV2aW91c0NvbnRlbnQsXHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpc2UoKSB7XHJcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhZ05hbWUgPSBcInRleHRhcmVhXCI7XHJcblxyXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcclxuICAgIFwib25CbHVyXCIsXHJcbiAgICBcIm9uRm9jdXNcIixcclxuICAgIFwib25TY3JvbGxcIixcclxuICAgIFwib25DaGFuZ2VcIlxyXG4gIF07XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcclxuICAgIGNsYXNzTmFtZTogXCJyaWNoXCJcclxuICB9O1xyXG5cclxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcclxuICAgIGNvbnN0IHJpY2hUZXh0YXJlYSA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xyXG5cclxuICAgIHJldHVybiByaWNoVGV4dGFyZWE7XHJcbiAgfVxyXG59XHJcblxyXG5PYmplY3QuYXNzaWduKFJpY2hUZXh0YXJlYS5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcclxuXHJcbmZ1bmN0aW9uIGRlZmVyKGZ1bmMpIHtcclxuICBzZXRUaW1lb3V0KGZ1bmMsIDApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dGFyZWEiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiRk9DVVNfRVZFTlRfVFlQRSIsIklOUFVUX0VWRU5UX1RZUEUiLCJTQ1JPTExfRVZFTlRfVFlQRSIsIkNIQU5HRV9FVkVOVF9UWVBFIiwiU0VMRUNUSU9OQ0hBTkdFX0VWRU5UX1RZUEUiLCJibHVySGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImV2ZW50VHlwZSIsInNlbGVjdGlvbkNoYW5nZWQiLCJpbnRlcm1lZGlhdGVIYW5kbGVyIiwiZm9jdXNIYW5kbGVyIiwiZGVmZXIiLCJpbnB1dEhhbmRsZXIiLCJzY3JvbGxIYW5kbGVyIiwiY2FsbEhhbmRsZXJzIiwic2VsZWN0Q2hhbmdlSGFuZGxlciIsImN1cnJlbnRUYXJnZXQiLCJhY3RpdmVFbGVtZW50IiwiZG9tRWxlbWVudCIsImdldERPTUVsZW1lbnQiLCJoYXNTZWxlY3Rpb25DaGFuZ2VkIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzZWxlY3Rpb24iLCJnZXRTZWxlY3Rpb24iLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwicHJldmlvdXNDb250ZW50IiwicHJldmlvdXNTZWxlY3Rpb24iLCJzZXRQcmV2aW91c0NvbnRlbnQiLCJzZXRQcmV2aW91c1NlbGVjdGlvbiIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZm9yRWFjaCIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwiaXNSZWFkT25seSIsInJlYWRPbmx5IiwiaXNBY3RpdmUiLCJhY3RpdmUiLCJoYXNDbGFzcyIsInZhbHVlIiwiU2VsZWN0aW9uIiwiZnJvbURPTUVsZW1lbnQiLCJnZXRQcmV2aW91c0NvbnRlbnQiLCJjb250ZW50UHJldmlvdXNDb250ZW50IiwiZ2V0UHJldmlvdXNTZWxlY3Rpb24iLCJzZWxlY3Rpb25QcmV2aW91c1NlbGVjdGlvbiIsImlzRXF1YWxUbyIsInNldFJlYWRPbmx5IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0Q29udGVudCIsInNldFNlbGVjdGlvbiIsInNlbGVjdGlvblN0YXJ0UG9zaXRpb24iLCJnZXRTdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uRW5kUG9zaXRpb24iLCJnZXRFbmRQb3NpdGlvbiIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJhY3RpdmF0ZSIsIm9uIiwiZG9jdW1lbnQiLCJhZGRDbGFzcyIsImRlYWN0aXZhdGUiLCJvZmYiLCJyZW1vdmVDbGFzcyIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJkaWRNb3VudCIsInByb3BlcnRpZXMiLCJvbkJsdXIiLCJvbkZvY3VzIiwib25TY3JvbGwiLCJvbkNoYW5nZSIsImNoYW5nZUhhbmRsZXIiLCJ3aWxsVW5tb3VudCIsIm9mZkJsdXIiLCJvZmZGb2N1cyIsIm9mZlNjcm9sbCIsIm9mZkNoYW5nZSIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiaW5pdGlhbGlzZSIsImZyb21DbGFzcyIsIkNsYXNzIiwiRWxlbWVudCIsInJpY2hUZXh0YXJlYSIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwicHJvdG90eXBlIiwiZXZlbnRNaXhpbnMiLCJmdW5jIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFjcUJBOzs7b0JBWnlCO2dFQUV4Qjs0REFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFRQyxrQkFLK0JDLGdCQUFVLENBTHpDRCxpQkFDQUUsbUJBSStCRCxnQkFBVSxDQUp6Q0Msa0JBQ0FDLG1CQUcrQkYsZ0JBQVUsQ0FIekNFLGtCQUNBQyxvQkFFK0JILGdCQUFVLENBRnpDRyxtQkFDQUMsb0JBQytCSixnQkFBVSxDQUR6Q0ksbUJBQ0FDLDZCQUErQkwsZ0JBQVUsQ0FBekNLO0FBRU8sSUFBQSxBQUFNUCw2QkF5U3BCLEFBelNjO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztRQUNuQlEsa0RBQUFBLGVBQWMsU0FBQ0MsT0FBT0MsU0FBWTtZQUNoQyxJQUFNQyxZQUFZVixpQkFDWlcsbUJBQW1CLElB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