easy-richtextarea 3.0.153 → 4.0.1
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/README.md +8 -0
- package/example.js +838 -5
- package/lib/browser.js +33 -1
- package/lib/constants.js +13 -0
- package/lib/content/transform.js +17 -0
- package/lib/example/view.js +3 -4
- package/lib/main.js +45 -4
- package/lib/operation/delete.js +240 -0
- package/lib/operation/empty.js +101 -0
- package/lib/operation/insert.js +198 -0
- package/lib/operations/fromJSON.js +40 -0
- package/lib/operations/generate.js +42 -0
- package/lib/operations/toJSON.js +17 -0
- package/lib/operations/transform.js +35 -0
- package/lib/stringCompare.js +33 -0
- package/lib/types.js +34 -0
- package/package.json +6 -2
- package/src/browser.js +9 -0
- package/src/constants.js +3 -0
- package/src/content/transform.js +5 -0
- package/src/example/view.js +4 -7
- package/src/main.js +9 -0
- package/src/operation/delete.js +206 -0
- package/src/operation/empty.js +71 -0
- package/src/operation/insert.js +163 -0
- package/src/operations/fromJSON.js +34 -0
- package/src/operations/generate.js +42 -0
- package/src/operations/toJSON.js +5 -0
- package/src/operations/transform.js +57 -0
- package/src/stringCompare.js +33 -0
- package/src/types.js +11 -0
- package/test/content/transform.js +59 -0
- package/test/helpers.js +85 -0
- package/test/operation/delete.js +245 -0
- package/test/operation/empty.js +83 -0
- package/test/operation/insert.js +201 -0
- package/test/operations/generate.js +82 -0
- package/test/operations/transform.js +130 -0
package/lib/browser.js
CHANGED
|
@@ -9,6 +9,30 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
EmptyOperation: function() {
|
|
13
|
+
return _empty.default;
|
|
14
|
+
},
|
|
15
|
+
InsertOperation: function() {
|
|
16
|
+
return _insert.default;
|
|
17
|
+
},
|
|
18
|
+
DeleteOperation: function() {
|
|
19
|
+
return _delete.default;
|
|
20
|
+
},
|
|
21
|
+
transformContent: function() {
|
|
22
|
+
return _transform.default;
|
|
23
|
+
},
|
|
24
|
+
operationsToJSON: function() {
|
|
25
|
+
return _toJSON.default;
|
|
26
|
+
},
|
|
27
|
+
operationsFromJSON: function() {
|
|
28
|
+
return _fromJSON.default;
|
|
29
|
+
},
|
|
30
|
+
generateOperations: function() {
|
|
31
|
+
return _generate.default;
|
|
32
|
+
},
|
|
33
|
+
transformOperations: function() {
|
|
34
|
+
return _transform1.default;
|
|
35
|
+
},
|
|
12
36
|
Selection: function() {
|
|
13
37
|
return _selection.default;
|
|
14
38
|
},
|
|
@@ -16,6 +40,14 @@ _export(exports, {
|
|
|
16
40
|
return _richTextarea.default;
|
|
17
41
|
}
|
|
18
42
|
});
|
|
43
|
+
var _empty = /*#__PURE__*/ _interopRequireDefault(require("./operation/empty"));
|
|
44
|
+
var _insert = /*#__PURE__*/ _interopRequireDefault(require("./operation/insert"));
|
|
45
|
+
var _delete = /*#__PURE__*/ _interopRequireDefault(require("./operation/delete"));
|
|
46
|
+
var _transform = /*#__PURE__*/ _interopRequireDefault(require("./content/transform"));
|
|
47
|
+
var _toJSON = /*#__PURE__*/ _interopRequireDefault(require("./operations/toJSON"));
|
|
48
|
+
var _fromJSON = /*#__PURE__*/ _interopRequireDefault(require("./operations/fromJSON"));
|
|
49
|
+
var _generate = /*#__PURE__*/ _interopRequireDefault(require("./operations/generate"));
|
|
50
|
+
var _transform1 = /*#__PURE__*/ _interopRequireDefault(require("./operations/transform"));
|
|
19
51
|
var _selection = /*#__PURE__*/ _interopRequireDefault(require("./selection"));
|
|
20
52
|
var _richTextarea = /*#__PURE__*/ _interopRequireDefault(require("./richTextarea"));
|
|
21
53
|
function _interopRequireDefault(obj) {
|
|
@@ -24,4 +56,4 @@ function _interopRequireDefault(obj) {
|
|
|
24
56
|
};
|
|
25
57
|
}
|
|
26
58
|
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEVtcHR5T3BlcmF0aW9uIH0gZnJvbSBcIi4vb3BlcmF0aW9uL2VtcHR5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEluc2VydE9wZXJhdGlvbiB9IGZyb20gXCIuL29wZXJhdGlvbi9pbnNlcnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVsZXRlT3BlcmF0aW9uIH0gZnJvbSBcIi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFuc2Zvcm1Db250ZW50IH0gZnJvbSBcIi4vY29udGVudC90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgb3BlcmF0aW9uc1RvSlNPTiB9IGZyb20gXCIuL29wZXJhdGlvbnMvdG9KU09OXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG9wZXJhdGlvbnNGcm9tSlNPTiB9IGZyb20gXCIuL29wZXJhdGlvbnMvZnJvbUpTT05cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2VuZXJhdGVPcGVyYXRpb25zIH0gZnJvbSBcIi4vb3BlcmF0aW9ucy9nZW5lcmF0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFuc2Zvcm1PcGVyYXRpb25zIH0gZnJvbSBcIi4vb3BlcmF0aW9ucy90cmFuc2Zvcm1cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZWxlY3Rpb24gfSBmcm9tIFwiLi9zZWxlY3Rpb25cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSaWNoVGV4dGFyZWEgfSBmcm9tIFwiLi9yaWNoVGV4dGFyZWFcIjtcbiJdLCJuYW1lcyI6WyJFbXB0eU9wZXJhdGlvbiIsIkluc2VydE9wZXJhdGlvbiIsIkRlbGV0ZU9wZXJhdGlvbiIsInRyYW5zZm9ybUNvbnRlbnQiLCJvcGVyYXRpb25zVG9KU09OIiwib3BlcmF0aW9uc0Zyb21KU09OIiwiZ2VuZXJhdGVPcGVyYXRpb25zIiwidHJhbnNmb3JtT3BlcmF0aW9ucyIsIlNlbGVjdGlvbiIsIlJpY2hUZXh0YXJlYSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxjQUFjO2VBQWRBLGNBQWM7O0lBQ2RDLGVBQWU7ZUFBZkEsZUFBZTs7SUFDZkMsZUFBZTtlQUFmQSxlQUFlOztJQUNmQyxnQkFBZ0I7ZUFBaEJBLGtCQUFnQjs7SUFDaEJDLGdCQUFnQjtlQUFoQkEsZUFBZ0I7O0lBQ2hCQyxrQkFBa0I7ZUFBbEJBLGlCQUFrQjs7SUFDbEJDLGtCQUFrQjtlQUFsQkEsaUJBQWtCOztJQUNsQkMsbUJBQW1CO2VBQW5CQSxtQkFBbUI7O0lBRW5CQyxTQUFTO2VBQVRBLGtCQUFTOztJQUVUQyxZQUFZO2VBQVpBLHFCQUFZOzs7MERBWFU7MkRBQ0M7MkRBQ0E7OERBQ0M7MkRBQ0E7NkRBQ0U7NkRBQ0E7K0RBQ0M7OERBRVY7aUVBRUcifQ==
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "EMPTY_STRING", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return EMPTY_STRING;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var EMPTY_STRING = "";
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuIl0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLElBQU1BLGVBQWUifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return transformContent;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function transformContent(content, operations) {
|
|
12
|
+
return operations.reduce(function(content, operation) {
|
|
13
|
+
return operation.transformContent(content);
|
|
14
|
+
}, content);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZW50L3RyYW5zZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRlbnQoY29udGVudCwgb3BlcmF0aW9ucykge1xyXG4gIHJldHVybiBvcGVyYXRpb25zLnJlZHVjZSgoY29udGVudCwgb3BlcmF0aW9uKSA9PiBvcGVyYXRpb24udHJhbnNmb3JtQ29udGVudChjb250ZW50KSwgY29udGVudCk7XHJcbn1cclxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50Iiwib3BlcmF0aW9ucyIsInJlZHVjZSIsIm9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLGlCQUFpQkMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7SUFDNUQsT0FBT0EsV0FBV0MsTUFBTSxDQUFDLFNBQUNGLFNBQVNHO2VBQWNBLFVBQVVKLGdCQUFnQixDQUFDQztPQUFVQTtBQUN4RiJ9
|
package/lib/example/view.js
CHANGED
|
@@ -14,14 +14,13 @@ function _interopRequireDefault(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
var content = "
|
|
17
|
+
var content = "", richTextarea = /*#__PURE__*/ React.createElement(_richTextarea.default, {
|
|
18
18
|
onChange: changeHandler,
|
|
19
19
|
onScroll: scrollHandler,
|
|
20
20
|
onFocus: focusHandler,
|
|
21
21
|
onBlur: blurHandler
|
|
22
22
|
});
|
|
23
23
|
richTextarea.setContent(content);
|
|
24
|
-
richTextarea.setReadOnly(readOnly);
|
|
25
24
|
richTextarea.activate();
|
|
26
25
|
var View = function(properties) {
|
|
27
26
|
return /*#__PURE__*/ React.createElement("div", {
|
|
@@ -30,7 +29,7 @@ var View = function(properties) {
|
|
|
30
29
|
};
|
|
31
30
|
var _default = View;
|
|
32
31
|
function changeHandler(event, element) {
|
|
33
|
-
var contentChanged =
|
|
32
|
+
var richTextarea = element, contentChanged = richTextarea.hasContentChanged(), selectionChanged = richTextarea.hasSelectionChanged();
|
|
34
33
|
console.log(contentChanged, selectionChanged);
|
|
35
34
|
}
|
|
36
35
|
function scrollHandler(event, element) {
|
|
@@ -44,4 +43,4 @@ function blurHandler(event, element) {
|
|
|
44
43
|
console.log("blur");
|
|
45
44
|
}
|
|
46
45
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSaWNoVGV4dGFyZWEgZnJvbSBcIi4vcmljaFRleHRhcmVhXCI7XG5cbmNvbnN0IGNvbnRlbnQgPSBcIlwiLFxuICAgICAgcmljaFRleHRhcmVhID1cblxuICAgICAgICA8UmljaFRleHRhcmVhIG9uQ2hhbmdlPXtjaGFuZ2VIYW5kbGVyfSBvblNjcm9sbD17c2Nyb2xsSGFuZGxlcn0gb25Gb2N1cz17Zm9jdXNIYW5kbGVyfSBvbkJsdXI9e2JsdXJIYW5kbGVyfSAvPlxuXG4gICAgICA7XG5cbnJpY2hUZXh0YXJlYS5zZXRDb250ZW50KGNvbnRlbnQpO1xuXG5yaWNoVGV4dGFyZWEuYWN0aXZhdGUoKTtcblxuY29uc3QgVmlldyA9IChwcm9wZXJ0aWVzKSA9PlxuXG4gIDxkaXYgY2xhc3NOYW1lPVwidmlld1wiPlxuICAgIHtyaWNoVGV4dGFyZWF9XG4gIDwvZGl2PlxuXG47XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXc7XG5cbmZ1bmN0aW9uIGNoYW5nZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gcmljaFRleHRhcmVhLmhhc0NvbnRlbnRDaGFuZ2VkKCksXG4gICAgICAgIHNlbGVjdGlvbkNoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzU2VsZWN0aW9uQ2hhbmdlZCgpO1xuXG4gIGNvbnNvbGUubG9nKGNvbnRlbnRDaGFuZ2VkLCBzZWxlY3Rpb25DaGFuZ2VkKVxufVxuXG5mdW5jdGlvbiBzY3JvbGxIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHNjcm9sbFRvcCA9IGVsZW1lbnQuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgIHNjcm9sbExlZnQgPSBlbGVtZW50LmdldFNjcm9sbExlZnQoKTtcblxuICBjb25zb2xlLmxvZyhzY3JvbGxUb3AsIHNjcm9sbExlZnQpXG59XG5cbmZ1bmN0aW9uIGZvY3VzSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zb2xlLmxvZyhcImZvY3VzXCIpXG59XG5cbmZ1bmN0aW9uIGJsdXJIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnNvbGUubG9nKFwiYmx1clwiKVxufVxuIl0sIm5hbWVzIjpbImNvbnRlbnQiLCJyaWNoVGV4dGFyZWEiLCJSaWNoVGV4dGFyZWEiLCJvbkNoYW5nZSIsImNoYW5nZUhhbmRsZXIiLCJvblNjcm9sbCIsInNjcm9sbEhhbmRsZXIiLCJvbkZvY3VzIiwiZm9jdXNIYW5kbGVyIiwib25CbHVyIiwiYmx1ckhhbmRsZXIiLCJzZXRDb250ZW50IiwiYWN0aXZhdGUiLCJWaWV3IiwicHJvcGVydGllcyIsImRpdiIsImNsYXNzTmFtZSIsImV2ZW50IiwiZWxlbWVudCIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJzZWxlY3Rpb25DaGFuZ2VkIiwiaGFzU2VsZWN0aW9uQ2hhbmdlZCIsImNvbnNvbGUiLCJsb2ciLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdUJBOzs7ZUFBQTs7O2lFQXJCeUI7Ozs7OztBQUV6QixJQUFNQSxVQUFVLElBQ1ZDLDZCQUVFLG9CQUFDQyxxQkFBWTtJQUFDQyxVQUFVQztJQUFlQyxVQUFVQztJQUFlQyxTQUFTQztJQUFjQyxRQUFRQzs7QUFJdkdULGFBQWFVLFVBQVUsQ0FBQ1g7QUFFeEJDLGFBQWFXLFFBQVE7QUFFckIsSUFBTUMsT0FBTyxTQUFDQzt5QkFFWixvQkFBQ0M7UUFBSUMsV0FBVTtPQUNaZjs7SUFLTCxXQUFlWTtBQUVmLFNBQVNULGNBQWNhLEtBQUssRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1qQixlQUFlaUIsU0FDZkMsaUJBQWlCbEIsYUFBYW1CLGlCQUFpQixJQUMvQ0MsbUJBQW1CcEIsYUFBYXFCLG1CQUFtQjtJQUV6REMsUUFBUUMsR0FBRyxDQUFDTCxnQkFBZ0JFO0FBQzlCO0FBRUEsU0FBU2YsY0FBY1csS0FBSyxFQUFFQyxPQUFPLEVBQUU7SUFDckMsSUFBTU8sWUFBWVAsUUFBUVEsWUFBWSxJQUNoQ0MsYUFBYVQsUUFBUVUsYUFBYTtJQUV4Q0wsUUFBUUMsR0FBRyxDQUFDQyxXQUFXRTtBQUN6QjtBQUVBLFNBQVNuQixhQUFhUyxLQUFLLEVBQUVDLE9BQU8sRUFBRTtJQUNwQ0ssUUFBUUMsR0FBRyxDQUFDO0FBQ2Q7QUFFQSxTQUFTZCxZQUFZTyxLQUFLLEVBQUVDLE9BQU8sRUFBRTtJQUNuQ0ssUUFBUUMsR0FBRyxDQUFDO0FBQ2QifQ==
|
package/lib/main.js
CHANGED
|
@@ -2,17 +2,58 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
types: function() {
|
|
13
|
+
return _types.default;
|
|
14
|
+
},
|
|
15
|
+
Selection: function() {
|
|
8
16
|
return _selection.default;
|
|
17
|
+
},
|
|
18
|
+
EmptyOperation: function() {
|
|
19
|
+
return _empty.default;
|
|
20
|
+
},
|
|
21
|
+
InsertOperation: function() {
|
|
22
|
+
return _insert.default;
|
|
23
|
+
},
|
|
24
|
+
DeleteOperation: function() {
|
|
25
|
+
return _delete.default;
|
|
26
|
+
},
|
|
27
|
+
transformContent: function() {
|
|
28
|
+
return _transform.default;
|
|
29
|
+
},
|
|
30
|
+
operationsToJSON: function() {
|
|
31
|
+
return _toJSON.default;
|
|
32
|
+
},
|
|
33
|
+
operationsFromJSON: function() {
|
|
34
|
+
return _fromJSON.default;
|
|
35
|
+
},
|
|
36
|
+
generateOperations: function() {
|
|
37
|
+
return _generate.default;
|
|
38
|
+
},
|
|
39
|
+
transformOperations: function() {
|
|
40
|
+
return _transform1.default;
|
|
9
41
|
}
|
|
10
42
|
});
|
|
43
|
+
var _types = /*#__PURE__*/ _interopRequireDefault(require("./types"));
|
|
11
44
|
var _selection = /*#__PURE__*/ _interopRequireDefault(require("./selection"));
|
|
45
|
+
var _empty = /*#__PURE__*/ _interopRequireDefault(require("./operation/empty"));
|
|
46
|
+
var _insert = /*#__PURE__*/ _interopRequireDefault(require("./operation/insert"));
|
|
47
|
+
var _delete = /*#__PURE__*/ _interopRequireDefault(require("./operation/delete"));
|
|
48
|
+
var _transform = /*#__PURE__*/ _interopRequireDefault(require("./content/transform"));
|
|
49
|
+
var _toJSON = /*#__PURE__*/ _interopRequireDefault(require("./operations/toJSON"));
|
|
50
|
+
var _fromJSON = /*#__PURE__*/ _interopRequireDefault(require("./operations/fromJSON"));
|
|
51
|
+
var _generate = /*#__PURE__*/ _interopRequireDefault(require("./operations/generate"));
|
|
52
|
+
var _transform1 = /*#__PURE__*/ _interopRequireDefault(require("./operations/transform"));
|
|
12
53
|
function _interopRequireDefault(obj) {
|
|
13
54
|
return obj && obj.__esModule ? obj : {
|
|
14
55
|
default: obj
|
|
15
56
|
};
|
|
16
57
|
}
|
|
17
58
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHR5cGVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VsZWN0aW9uIH0gZnJvbSBcIi4vc2VsZWN0aW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEVtcHR5T3BlcmF0aW9uIH0gZnJvbSBcIi4vb3BlcmF0aW9uL2VtcHR5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEluc2VydE9wZXJhdGlvbiB9IGZyb20gXCIuL29wZXJhdGlvbi9pbnNlcnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVsZXRlT3BlcmF0aW9uIH0gZnJvbSBcIi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFuc2Zvcm1Db250ZW50IH0gZnJvbSBcIi4vY29udGVudC90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgb3BlcmF0aW9uc1RvSlNPTiB9IGZyb20gXCIuL29wZXJhdGlvbnMvdG9KU09OXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG9wZXJhdGlvbnNGcm9tSlNPTiB9IGZyb20gXCIuL29wZXJhdGlvbnMvZnJvbUpTT05cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2VuZXJhdGVPcGVyYXRpb25zIH0gZnJvbSBcIi4vb3BlcmF0aW9ucy9nZW5lcmF0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFuc2Zvcm1PcGVyYXRpb25zIH0gZnJvbSBcIi4vb3BlcmF0aW9ucy90cmFuc2Zvcm1cIjtcbiJdLCJuYW1lcyI6WyJ0eXBlcyIsIlNlbGVjdGlvbiIsIkVtcHR5T3BlcmF0aW9uIiwiSW5zZXJ0T3BlcmF0aW9uIiwiRGVsZXRlT3BlcmF0aW9uIiwidHJhbnNmb3JtQ29udGVudCIsIm9wZXJhdGlvbnNUb0pTT04iLCJvcGVyYXRpb25zRnJvbUpTT04iLCJnZW5lcmF0ZU9wZXJhdGlvbnMiLCJ0cmFuc2Zvcm1PcGVyYXRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLEtBQUs7ZUFBTEEsY0FBSzs7SUFDTEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsY0FBYztlQUFkQSxjQUFjOztJQUNkQyxlQUFlO2VBQWZBLGVBQWU7O0lBQ2ZDLGVBQWU7ZUFBZkEsZUFBZTs7SUFDZkMsZ0JBQWdCO2VBQWhCQSxrQkFBZ0I7O0lBQ2hCQyxnQkFBZ0I7ZUFBaEJBLGVBQWdCOztJQUNoQkMsa0JBQWtCO2VBQWxCQSxpQkFBa0I7O0lBQ2xCQyxrQkFBa0I7ZUFBbEJBLGlCQUFrQjs7SUFDbEJDLG1CQUFtQjtlQUFuQkEsbUJBQW1COzs7MERBVE47OERBQ0k7MERBQ0s7MkRBQ0M7MkRBQ0E7OERBQ0M7MkRBQ0E7NkRBQ0U7NkRBQ0E7K0RBQ0MifQ==
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return DeleteOperation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _empty = /*#__PURE__*/ _interopRequireDefault(require("../operation/empty"));
|
|
12
|
+
var _types = require("../types");
|
|
13
|
+
function _classCallCheck(instance, Constructor) {
|
|
14
|
+
if (!(instance instanceof Constructor)) {
|
|
15
|
+
throw new TypeError("Cannot call a class as a function");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function _defineProperties(target, props) {
|
|
19
|
+
for(var i = 0; i < props.length; i++){
|
|
20
|
+
var descriptor = props[i];
|
|
21
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
+
descriptor.configurable = true;
|
|
23
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
return Constructor;
|
|
31
|
+
}
|
|
32
|
+
function _interopRequireDefault(obj) {
|
|
33
|
+
return obj && obj.__esModule ? obj : {
|
|
34
|
+
default: obj
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var DeleteOperation = /*#__PURE__*/ function() {
|
|
38
|
+
function DeleteOperation(type, length, position) {
|
|
39
|
+
_classCallCheck(this, DeleteOperation);
|
|
40
|
+
this.type = type;
|
|
41
|
+
this.length = length;
|
|
42
|
+
this.position = position;
|
|
43
|
+
}
|
|
44
|
+
_createClass(DeleteOperation, [
|
|
45
|
+
{
|
|
46
|
+
key: "clone",
|
|
47
|
+
value: function clone() {
|
|
48
|
+
return DeleteOperation.fromLengthAndPosition(this.length, this.position);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "transformOperation",
|
|
53
|
+
value: function transformOperation(operation) {
|
|
54
|
+
switch(operation.type){
|
|
55
|
+
case _types.insertType:
|
|
56
|
+
return function(tau, rho) {
|
|
57
|
+
if (tau.position <= rho.position) {
|
|
58
|
+
return [
|
|
59
|
+
tau.clone()
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
if (tau.position > rho.position) {
|
|
63
|
+
if (tau.position < rho.length + rho.position) {
|
|
64
|
+
return [
|
|
65
|
+
tau.left(rho).shift(tau)
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
if (tau.position >= rho.length + rho.position) {
|
|
69
|
+
return [
|
|
70
|
+
rho.shift(tau)
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}(operation, this);
|
|
75
|
+
case _types.deleteType:
|
|
76
|
+
return function(tau, rho) {
|
|
77
|
+
if (tau.position < rho.position) {
|
|
78
|
+
if (tau.length + tau.position <= rho.position) {
|
|
79
|
+
return [
|
|
80
|
+
tau.clone()
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
if (tau.length + tau.position <= rho.length + rho.position) {
|
|
84
|
+
return [
|
|
85
|
+
rho.takenFrom(tau)
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
if (tau.length + tau.position > rho.length + rho.position) {
|
|
89
|
+
return [
|
|
90
|
+
rho.split(tau)
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (tau.position === rho.position) {
|
|
95
|
+
if (tau.length + tau.position <= rho.length + rho.position) {
|
|
96
|
+
return [
|
|
97
|
+
_empty.default.fromNothing()
|
|
98
|
+
];
|
|
99
|
+
}
|
|
100
|
+
if (tau.length + tau.position > rho.length + rho.position) {
|
|
101
|
+
return [
|
|
102
|
+
rho.shift(rho.takenFrom(tau))
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (tau.position >= rho.length + rho.position) {
|
|
107
|
+
return [
|
|
108
|
+
rho.shift(tau)
|
|
109
|
+
];
|
|
110
|
+
}
|
|
111
|
+
if (tau.position > rho.position) {
|
|
112
|
+
if (tau.length + tau.position <= rho.length + rho.position) {
|
|
113
|
+
return [
|
|
114
|
+
_empty.default.fromNothing()
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
if (tau.length + tau.position > rho.length + rho.position) {
|
|
118
|
+
return [
|
|
119
|
+
rho.shift(rho.takenFrom(tau))
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}(operation, this);
|
|
124
|
+
case _types.emptyType:
|
|
125
|
+
return function(tau, rho) {
|
|
126
|
+
return [
|
|
127
|
+
tau.clone()
|
|
128
|
+
];
|
|
129
|
+
}(operation, this);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
key: "transformContent",
|
|
135
|
+
value: function transformContent(content) {
|
|
136
|
+
return content.substring(0, this.position) + content.substring(this.length + this.position);
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
key: "transformSelection",
|
|
141
|
+
value: function transformSelection(selection) {
|
|
142
|
+
var transformedSelection;
|
|
143
|
+
var length = this.length, startPosition = this.position, endPosition = startPosition + length, selectionStartPosition = selection.getStartPosition(), selectionEndPosition = selection.getEndPosition();
|
|
144
|
+
var offset, endOffset;
|
|
145
|
+
if (false) {
|
|
146
|
+
///
|
|
147
|
+
} else if (selectionStartPosition >= endPosition) {
|
|
148
|
+
offset = -length;
|
|
149
|
+
transformedSelection = selection.shifted(offset);
|
|
150
|
+
} else if (selectionStartPosition >= startPosition) {
|
|
151
|
+
if (selectionEndPosition > endPosition) {
|
|
152
|
+
offset = startPosition - selectionStartPosition;
|
|
153
|
+
endOffset = selectionStartPosition - endPosition;
|
|
154
|
+
transformedSelection = selection.shifted(offset).endPositionShifted(endOffset);
|
|
155
|
+
} else {
|
|
156
|
+
var Selection = selection.constructor; ///
|
|
157
|
+
transformedSelection = new Selection(startPosition, startPosition);
|
|
158
|
+
}
|
|
159
|
+
} else if (selectionEndPosition > endPosition) {
|
|
160
|
+
endOffset = -length;
|
|
161
|
+
transformedSelection = selection.endPositionShifted(endOffset);
|
|
162
|
+
} else if (selectionEndPosition > startPosition) {
|
|
163
|
+
endOffset = startPosition - selectionEndPosition;
|
|
164
|
+
transformedSelection = selection.endPositionShifted(endOffset);
|
|
165
|
+
} else {
|
|
166
|
+
transformedSelection = selection.clone();
|
|
167
|
+
}
|
|
168
|
+
return transformedSelection;
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: "shifted",
|
|
173
|
+
value: function shifted(offset) {
|
|
174
|
+
var length = this.length, position = this.position + offset, deleteOperation = DeleteOperation.fromLengthAndPosition(length, position);
|
|
175
|
+
return deleteOperation;
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: "shift",
|
|
180
|
+
value: function shift(operation) {
|
|
181
|
+
var offset = -this.length, shiftedOperation = operation.shifted(offset);
|
|
182
|
+
return shiftedOperation;
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
key: "takenFrom",
|
|
187
|
+
value: function takenFrom(deleteOperation) {
|
|
188
|
+
var length = deleteOperation.length, position = deleteOperation.position;
|
|
189
|
+
if (this.position > position && this.length + this.position >= length + position) {
|
|
190
|
+
length = this.position - position;
|
|
191
|
+
deleteOperation = DeleteOperation.fromLengthAndPosition(length, position);
|
|
192
|
+
}
|
|
193
|
+
if (this.position <= position && this.length + this.position < length + position) {
|
|
194
|
+
length = length + position - this.position - this.length;
|
|
195
|
+
position = this.length + this.position;
|
|
196
|
+
deleteOperation = DeleteOperation.fromLengthAndPosition(length, position);
|
|
197
|
+
}
|
|
198
|
+
return deleteOperation;
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
key: "split",
|
|
203
|
+
value: function split(deleteOperation) {
|
|
204
|
+
var length = deleteOperation.length, position = deleteOperation.position;
|
|
205
|
+
length = length - this.length;
|
|
206
|
+
deleteOperation = DeleteOperation.fromLengthAndPosition(length, position);
|
|
207
|
+
return deleteOperation;
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
key: "toJSON",
|
|
212
|
+
value: function toJSON() {
|
|
213
|
+
var type = this.type, length = this.length, position = this.position, json = {
|
|
214
|
+
type: type,
|
|
215
|
+
length: length,
|
|
216
|
+
position: position
|
|
217
|
+
};
|
|
218
|
+
return json;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
], [
|
|
222
|
+
{
|
|
223
|
+
key: "fromJSON",
|
|
224
|
+
value: function fromJSON(json) {
|
|
225
|
+
var type = json.type, length = json.length, position = json.position, deleteOperation = new DeleteOperation(type, length, position);
|
|
226
|
+
return deleteOperation;
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
key: "fromLengthAndPosition",
|
|
231
|
+
value: function fromLengthAndPosition(length, position) {
|
|
232
|
+
var type = _types.deleteType, deleteOperation = new DeleteOperation(type, length, position);
|
|
233
|
+
return deleteOperation;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
]);
|
|
237
|
+
return DeleteOperation;
|
|
238
|
+
}();
|
|
239
|
+
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vZGVsZXRlLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEVtcHR5T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZW1wdHlcIjtcclxuXHJcbmltcG9ydCB7IGluc2VydFR5cGUsIGRlbGV0ZVR5cGUsIGVtcHR5VHlwZSB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVsZXRlT3BlcmF0aW9uIHtcclxuICBjb25zdHJ1Y3Rvcih0eXBlLCBsZW5ndGgsIHBvc2l0aW9uKSB7XHJcblx0ICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBjbG9uZSgpIHtcclxuICAgIHJldHVybiBEZWxldGVPcGVyYXRpb24uZnJvbUxlbmd0aEFuZFBvc2l0aW9uKHRoaXMubGVuZ3RoLCB0aGlzLnBvc2l0aW9uKTtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybU9wZXJhdGlvbihvcGVyYXRpb24pIHtcclxuICAgIHN3aXRjaCAob3BlcmF0aW9uLnR5cGUpIHtcclxuICAgICAgY2FzZSBpbnNlcnRUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA8PSByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uIDwgcmhvLmxlbmd0aCArIHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbdGF1LmxlZnQocmhvKS5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uID49IHJoby5sZW5ndGggKyByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KShvcGVyYXRpb24sIHRoaXMpO1xyXG5cclxuICAgICAgY2FzZSBkZWxldGVUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA8IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGF1Lmxlbmd0aCArIHRhdS5wb3NpdGlvbiA8PSByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGF1Lmxlbmd0aCArIHRhdS5wb3NpdGlvbiA8PSByaG8ubGVuZ3RoICsgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIFtyaG8udGFrZW5Gcm9tKHRhdSldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0YXUubGVuZ3RoICsgdGF1LnBvc2l0aW9uID4gcmhvLmxlbmd0aCArIHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbcmhvLnNwbGl0KHRhdSldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA9PT0gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh0YXUubGVuZ3RoICsgdGF1LnBvc2l0aW9uIDw9IHJoby5sZW5ndGggKyByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICByZXR1cm4gW0VtcHR5T3BlcmF0aW9uLmZyb21Ob3RoaW5nKCldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0YXUubGVuZ3RoICsgdGF1LnBvc2l0aW9uID4gcmhvLmxlbmd0aCArIHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHJoby50YWtlbkZyb20odGF1KSldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+PSByaG8ubGVuZ3RoICsgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHRhdSldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPiByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgaWYgKHRhdS5sZW5ndGggKyB0YXUucG9zaXRpb24gPD0gcmhvLmxlbmd0aCArIHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbRW1wdHlPcGVyYXRpb24uZnJvbU5vdGhpbmcoKV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRhdS5sZW5ndGggKyB0YXUucG9zaXRpb24gPiByaG8ubGVuZ3RoICsgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIFtyaG8uc2hpZnQocmhvLnRha2VuRnJvbSh0YXUpKV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuXHJcbiAgICAgIGNhc2UgZW1wdHlUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcblxyXG4gICAgICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIHJldHVybiBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvc2l0aW9uKSArIGNvbnRlbnQuc3Vic3RyaW5nKHRoaXMubGVuZ3RoICsgdGhpcy5wb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKSB7XHJcbiAgICBsZXQgdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcblxyXG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5sZW5ndGgsICAvLy9cclxuICAgICAgICAgIHN0YXJ0UG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLCAvLy9cclxuICAgICAgICAgIGVuZFBvc2l0aW9uID0gc3RhcnRQb3NpdGlvbiArIGxlbmd0aCxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKTtcclxuXHJcbiAgICBsZXQgb2Zmc2V0LFxyXG4gICAgICAgIGVuZE9mZnNldDtcclxuXHJcbiAgICBpZiAoZmFsc2UpIHtcclxuICAgICAgLy8vXHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPj0gZW5kUG9zaXRpb24pIHtcclxuICAgICAgb2Zmc2V0ID0gLWxlbmd0aDtcclxuXHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLnNoaWZ0ZWQob2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA+PSBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIGlmIChzZWxlY3Rpb25FbmRQb3NpdGlvbiA+IGVuZFBvc2l0aW9uKSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gc3RhcnRQb3NpdGlvbiAtIHNlbGVjdGlvblN0YXJ0UG9zaXRpb247XHJcbiAgICAgICAgZW5kT2Zmc2V0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiAtIGVuZFBvc2l0aW9uO1xyXG5cclxuICAgICAgICB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5zaGlmdGVkKG9mZnNldCkuZW5kUG9zaXRpb25TaGlmdGVkKGVuZE9mZnNldCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgU2VsZWN0aW9uID0gc2VsZWN0aW9uLmNvbnN0cnVjdG9yOyAgLy8vXHJcblxyXG4gICAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbihzdGFydFBvc2l0aW9uLCBzdGFydFBvc2l0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzZWxlY3Rpb25FbmRQb3NpdGlvbiA+IGVuZFBvc2l0aW9uKSB7XHJcbiAgICAgIGVuZE9mZnNldCA9IC1sZW5ndGg7XHJcblxyXG4gICAgICB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5lbmRQb3NpdGlvblNoaWZ0ZWQoZW5kT2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uRW5kUG9zaXRpb24gPiBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIGVuZE9mZnNldCA9IHN0YXJ0UG9zaXRpb24gLSBzZWxlY3Rpb25FbmRQb3NpdGlvbjtcclxuXHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLmVuZFBvc2l0aW9uU2hpZnRlZChlbmRPZmZzZXQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdGVkKG9mZnNldCkge1xyXG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5sZW5ndGgsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gKyBvZmZzZXQsXHJcbiAgICAgICAgICBkZWxldGVPcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUxlbmd0aEFuZFBvc2l0aW9uKGxlbmd0aCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBkZWxldGVPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdChvcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IG9mZnNldCA9IC10aGlzLmxlbmd0aCxcclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICAgIHJldHVybiBzaGlmdGVkT3BlcmF0aW9uXHJcbiAgfVxyXG5cclxuICB0YWtlbkZyb20oZGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBsZXQgbGVuZ3RoID0gZGVsZXRlT3BlcmF0aW9uLmxlbmd0aCxcclxuICAgICAgICBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5wb3NpdGlvbjtcclxuXHJcbiAgICBpZiAodGhpcy5wb3NpdGlvbiA+IHBvc2l0aW9uICYmIHRoaXMubGVuZ3RoICsgdGhpcy5wb3NpdGlvbiA+PSBsZW5ndGggKyBwb3NpdGlvbikge1xyXG4gICAgICBsZW5ndGggPSB0aGlzLnBvc2l0aW9uIC0gcG9zaXRpb247XHJcblxyXG4gICAgICBkZWxldGVPcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUxlbmd0aEFuZFBvc2l0aW9uKGxlbmd0aCwgcG9zaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnBvc2l0aW9uIDw9IHBvc2l0aW9uICYmIHRoaXMubGVuZ3RoICsgdGhpcy5wb3NpdGlvbiA8IGxlbmd0aCArIHBvc2l0aW9uKSB7XHJcbiAgICAgIGxlbmd0aCA9IGxlbmd0aCArIHBvc2l0aW9uIC0gdGhpcy5wb3NpdGlvbiAtIHRoaXMubGVuZ3RoO1xyXG4gICAgICBwb3NpdGlvbiA9IHRoaXMubGVuZ3RoICsgdGhpcy5wb3NpdGlvbjtcclxuXHJcbiAgICAgIGRlbGV0ZU9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tTGVuZ3RoQW5kUG9zaXRpb24obGVuZ3RoLCBwb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlbGV0ZU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHNwbGl0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgbGV0IGxlbmd0aCA9IGRlbGV0ZU9wZXJhdGlvbi5sZW5ndGgsXHJcbiAgICAgICAgcG9zaXRpb24gPSBkZWxldGVPcGVyYXRpb24ucG9zaXRpb247XHJcblxyXG4gICAgbGVuZ3RoID0gbGVuZ3RoIC0gdGhpcy5sZW5ndGg7XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcclxuICAgICAgICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoLFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAganNvbiA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgbGVuZ3RoLFxyXG4gICAgICAgICAgICBwb3NpdGlvbixcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xyXG4gICAgY29uc3QgeyB0eXBlLCBsZW5ndGgsIHBvc2l0aW9uIH0gPSBqc29uLFxyXG4gICAgICAgICAgZGVsZXRlT3BlcmF0aW9uID0gbmV3IERlbGV0ZU9wZXJhdGlvbih0eXBlLCBsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gZGVsZXRlVHlwZSwgLy8vXHJcbiAgICAgICAgICBkZWxldGVPcGVyYXRpb24gPSBuZXcgRGVsZXRlT3BlcmF0aW9uKHR5cGUsIGxlbmd0aCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBkZWxldGVPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRGVsZXRlT3BlcmF0aW9uIiwidHlwZSIsImxlbmd0aCIsInBvc2l0aW9uIiwiY2xvbmUiLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJpbnNlcnRUeXBlIiwidGF1IiwicmhvIiwibGVmdCIsInNoaWZ0IiwiZGVsZXRlVHlwZSIsInRha2VuRnJvbSIsInNwbGl0IiwiRW1wdHlPcGVyYXRpb24iLCJmcm9tTm90aGluZyIsImVtcHR5VHlwZSIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzdGFydFBvc2l0aW9uIiwiZW5kUG9zaXRpb24iLCJzZWxlY3Rpb25TdGFydFBvc2l0aW9uIiwiZ2V0U3RhcnRQb3NpdGlvbiIsInNlbGVjdGlvbkVuZFBvc2l0aW9uIiwiZ2V0RW5kUG9zaXRpb24iLCJvZmZzZXQiLCJlbmRPZmZzZXQiLCJzaGlmdGVkIiwiZW5kUG9zaXRpb25TaGlmdGVkIiwiU2VsZWN0aW9uIiwiY29uc3RydWN0b3IiLCJkZWxldGVPcGVyYXRpb24iLCJzaGlmdGVkT3BlcmF0aW9uIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OzswREFKTTtxQkFFdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkMs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
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return EmptyOperation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _types = require("../types");
|
|
12
|
+
function _classCallCheck(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
var EmptyOperation = /*#__PURE__*/ function() {
|
|
32
|
+
function EmptyOperation(type) {
|
|
33
|
+
_classCallCheck(this, EmptyOperation);
|
|
34
|
+
this.type = type;
|
|
35
|
+
}
|
|
36
|
+
_createClass(EmptyOperation, [
|
|
37
|
+
{
|
|
38
|
+
key: "clone",
|
|
39
|
+
value: function clone() {
|
|
40
|
+
return EmptyOperation.fromNothing();
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: "transformOperation",
|
|
45
|
+
value: function transformOperation(operation) {
|
|
46
|
+
return function(tau, rho) {
|
|
47
|
+
return [
|
|
48
|
+
tau.clone()
|
|
49
|
+
];
|
|
50
|
+
}(operation, this);
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "transformContent",
|
|
55
|
+
value: function transformContent(content) {
|
|
56
|
+
return content;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "transformSelection",
|
|
61
|
+
value: function transformSelection(selection) {
|
|
62
|
+
var transformedSelection = selection.clone();
|
|
63
|
+
return transformedSelection;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
key: "shift",
|
|
68
|
+
value: function shift(operation) {
|
|
69
|
+
var offset = 0, shiftedOperation = operation.shifted(offset);
|
|
70
|
+
return shiftedOperation;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
key: "toJSON",
|
|
75
|
+
value: function toJSON() {
|
|
76
|
+
var type = this.type, json = {
|
|
77
|
+
type: type
|
|
78
|
+
};
|
|
79
|
+
return json;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
], [
|
|
83
|
+
{
|
|
84
|
+
key: "fromJSON",
|
|
85
|
+
value: function fromJSON(json) {
|
|
86
|
+
var type = json.type, emptyOperation = new EmptyOperation(type);
|
|
87
|
+
return emptyOperation;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
key: "fromNothing",
|
|
92
|
+
value: function fromNothing() {
|
|
93
|
+
var type = _types.emptyType, emptyOperation = new EmptyOperation(type);
|
|
94
|
+
return emptyOperation;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
]);
|
|
98
|
+
return EmptyOperation;
|
|
99
|
+
}();
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vZW1wdHkuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBlbXB0eVR5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtcHR5T3BlcmF0aW9uIHtcclxuICBjb25zdHJ1Y3Rvcih0eXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBjbG9uZSgpIHtcclxuICAgIHJldHVybiBFbXB0eU9wZXJhdGlvbi5mcm9tTm90aGluZygpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG5cclxuICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIHJldHVybiBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtU2VsZWN0aW9uKHNlbGVjdGlvbikge1xyXG4gICAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHNoaWZ0KG9wZXJhdGlvbikge1xyXG4gIFx0Y29uc3Qgb2Zmc2V0ID0gMCxcclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICBcdHJldHVybiBzaGlmdGVkT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgIGpzb24gPSB7XHJcbiAgICAgICAgICAgICAgdHlwZVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuXHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xyXG4gICAgY29uc3QgeyB0eXBlIH0gPSBqc29uLFxyXG4gICAgICAgICAgZW1wdHlPcGVyYXRpb24gPSBuZXcgRW1wdHlPcGVyYXRpb24odHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIGVtcHR5T3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IGVtcHR5VHlwZSwgLy8vXHJcbiAgICAgICAgICBlbXB0eU9wZXJhdGlvbiA9IG5ldyBFbXB0eU9wZXJhdGlvbih0eXBlKTtcclxuXHJcbiAgICByZXR1cm4gZW1wdHlPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRW1wdHlPcGVyYXRpb24iLCJ0eXBlIiwiY2xvbmUiLCJmcm9tTm90aGluZyIsInRyYW5zZm9ybU9wZXJhdGlvbiIsIm9wZXJhdGlvbiIsInRhdSIsInJobyIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50IiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzaGlmdCIsIm9mZnNldCIsInNoaWZ0ZWRPcGVyYXRpb24iLCJzaGlmdGVkIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIiwiZW1wdHlPcGVyYXRpb24iLCJlbXB0eVR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3FCQUZLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVYLElBQUEsQUFBTUEsK0JBQU47YUFBTUEsZUFDUEMsSUFBSTs4QkFER0Q7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFGS0Q7O1lBT25CRSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUTtnQkFDTixPQUFPRixBQVJVQSxlQVFLRyxXQUFXO1lBQ25DOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixPQUFPLEFBQUMsU0FBQ0MsS0FBS0MsS0FBUTtvQkFFcEIsT0FBTzt3QkFBQ0QsSUFBSUosS0FBSztxQkFBRztnQkFFdEIsRUFBR0csV0FBVyxJQUFJO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsT0FBTyxFQUFFO2dCQUN4QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixJQUFNQyx1QkFBdUJELFVBQVVULEtBQUs7Z0JBRTVDLE9BQU9VO1lBQ1Q7OztZQUlBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTVIsU0FBUyxFQUFFO2dCQUNoQixJQUFNUyxTQUFTLEdBQ1JDLG1CQUFtQlYsVUFBVVcsT0FBTyxDQUFDRjtnQkFFNUMsT0FBT0M7WUFDUjs7O1lBTUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1oQixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNkaUIsT0FBTztvQkFDTGpCLE1BQUFBO2dCQUNGO2dCQUlSLE9BQU9pQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRTtnQkFDcEIsSUFBTSxBQUFFakIsT0FBU2lCLEtBQVRqQixNQUNGbUIsaUJBQWlCLElBdkROcEIsZUF1RHlCQztnQkFFMUMsT0FBT21CO1lBQ1Q7OztZQUVPakIsS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTUYsT0FBT29CLGdCQUFTLEVBQ2hCRCxpQkFBaUIsSUE5RE5wQixlQThEeUJDO2dCQUUxQyxPQUFPbUI7WUFDVDs7O1dBakVtQnBCIn0=
|