@pie-lib/editable-html 10.0.0-beta.1 → 10.0.0-beta.3
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/components.js +2 -2
- package/lib/editor.js +89 -34
- package/lib/index.js +7 -9
- package/lib/new-serialization.js +2 -2
- package/lib/plugins/image/component.js +6 -5
- package/lib/plugins/image/index.js +81 -72
- package/lib/plugins/index.js +11 -1
- package/lib/plugins/math/index.js +3 -3
- package/lib/plugins/media/index.js +9 -19
- package/lib/plugins/respArea/drag-in-the-blank/index.js +4 -4
- package/lib/plugins/respArea/index.js +83 -81
- package/lib/plugins/table/index.js +84 -9
- package/lib/plugins/toolbar/toolbar.js +21 -16
- package/lib/serialization.js +2 -2
- package/lib/test-serializer.js +2 -2
- package/package.json +4 -5
- package/src/editor.jsx +67 -14
- package/src/index.jsx +6 -8
- package/src/new-serialization.jsx +1 -1
- package/src/plugins/image/component.jsx +5 -4
- package/src/plugins/image/index.jsx +72 -45
- package/src/plugins/index.jsx +6 -0
- package/src/plugins/math/index.jsx +1 -1
- package/src/plugins/media/index.jsx +6 -12
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +3 -3
- package/src/plugins/respArea/index.jsx +75 -61
- package/src/plugins/table/index.jsx +68 -5
- package/src/plugins/toolbar/toolbar.jsx +21 -14
- package/src/serialization.jsx +1 -1
- package/src/test-serializer.js +1 -1
- package/yarn-error.log +18318 -0
package/lib/index.js
CHANGED
|
@@ -90,7 +90,7 @@ var useConstructor = function useConstructor() {
|
|
|
90
90
|
setHasBeenCalled(true);
|
|
91
91
|
};
|
|
92
92
|
|
|
93
|
-
var EditableHtml = function
|
|
93
|
+
var EditableHtml = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardedRef) {
|
|
94
94
|
var _editorRef = (0, _react.useRef)(null);
|
|
95
95
|
|
|
96
96
|
var rootRef = (0, _react.useRef)(null);
|
|
@@ -144,12 +144,6 @@ var EditableHtml = function EditableHtml(props) {
|
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
146
|
|
|
147
|
-
var finishEditing = function finishEditing() {
|
|
148
|
-
if (_this.editorRef) {
|
|
149
|
-
_this.editorRef.props.onEditingDone();
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
|
|
153
147
|
var toolbarOpts = props.toolbarOpts,
|
|
154
148
|
error = props.error;
|
|
155
149
|
|
|
@@ -167,13 +161,17 @@ var EditableHtml = function EditableHtml(props) {
|
|
|
167
161
|
onRef: function onRef(ref) {
|
|
168
162
|
if (ref) {
|
|
169
163
|
rootRef.current = ref;
|
|
164
|
+
|
|
165
|
+
if (forwardedRef) {
|
|
166
|
+
forwardedRef(ref);
|
|
167
|
+
}
|
|
170
168
|
}
|
|
171
169
|
},
|
|
172
170
|
editorRef: function editorRef(ref) {
|
|
173
171
|
return ref && (_editorRef.current = ref);
|
|
174
172
|
}
|
|
175
173
|
}));
|
|
176
|
-
};
|
|
174
|
+
});
|
|
177
175
|
|
|
178
176
|
EditableHtml.propTypes = {
|
|
179
177
|
onChange: _propTypes["default"].func.isRequired,
|
|
@@ -188,4 +186,4 @@ EditableHtml.defaultProps = {
|
|
|
188
186
|
};
|
|
189
187
|
var _default = EditableHtml;
|
|
190
188
|
exports["default"] = _default;
|
|
191
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInVzZUNvbnN0cnVjdG9yIiwiY2FsbGJhY2siLCJ1c2VTdGF0ZSIsImhhc0JlZW5DYWxsZWQiLCJzZXRIYXNCZWVuQ2FsbGVkIiwiRWRpdGFibGVIdG1sIiwiUmVhY3QiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJlZGl0b3JSZWYiLCJ1c2VSZWYiLCJyb290UmVmIiwidmFsdWUiLCJzZXRWYWx1ZSIsInYiLCJodG1sVG9WYWx1ZSIsIm1hcmt1cCIsIm9uQ2hhbmdlIiwiZG9uZSIsImh0bWwiLCJ2YWx1ZVRvSHRtbCIsImh0bWxQYXJzZWQiLCJwYXJzZURlZ3JlZXMiLCJvbkRvbmUiLCJmb2N1cyIsInBvc2l0aW9uIiwibm9kZSIsImNoYW5nZSIsImMiLCJsYXN0VGV4dCIsImRvY3VtZW50IiwiZ2V0TmV4dFRleHQiLCJrZXkiLCJnZXRMYXN0VGV4dCIsImVkaXRvckRPTSIsInF1ZXJ5U2VsZWN0b3IiLCJhY3RpdmVFbGVtZW50IiwiYmx1ciIsIm1vdmVGb2N1c1RvIiwidGV4dCIsImxlbmd0aCIsIm1vdmVBbmNob3JUbyIsInRvb2xiYXJPcHRzIiwiZXJyb3IiLCJuZXdQcm9wcyIsInJlZiIsImN1cnJlbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm9uRWRpdG9yIiwic3RyaW5nIiwiYWxsb3dWYWxpZGF0aW9uIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNsYXRlIH0gZnJvbSAnc2xhdGUtcmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBFZGl0b3IsIHsgREVGQVVMVF9QTFVHSU5TLCBBTExfUExVR0lOUyB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IGh0bWxUb1ZhbHVlLCB2YWx1ZVRvSHRtbCB9IGZyb20gJy4vbmV3LXNlcmlhbGl6YXRpb24nO1xuaW1wb3J0IHsgcGFyc2VEZWdyZWVzIH0gZnJvbSAnLi9wYXJzZS1odG1sJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sJyk7XG4vKipcbiAqIEV4cG9ydCBsb3dlciBsZXZlbCBFZGl0b3IgYW5kIHNlcmlhbGl6YXRpb24gZnVuY3Rpb25zLlxuICovXG5leHBvcnQgeyBodG1sVG9WYWx1ZSwgdmFsdWVUb0h0bWwsIEVkaXRvciwgREVGQVVMVF9QTFVHSU5TLCBBTExfUExVR0lOUyB9O1xuXG5jb25zdCB1c2VDb25zdHJ1Y3RvciA9IChjYWxsYmFjayA9ICgpID0+IHt9KSA9PiB7XG4gIGNvbnN0IFtoYXNCZWVuQ2FsbGVkLCBzZXRIYXNCZWVuQ2FsbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBpZiAoaGFzQmVlbkNhbGxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNhbGxiYWNrKCk7XG4gIHNldEhhc0JlZW5DYWxsZWQodHJ1ZSk7XG59O1xuXG5jb25zdCBFZGl0YWJsZUh0bWwgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZSgpO1xuXG4gIHVzZUNvbnN0cnVjdG9yKCgpID0+IHtcbiAgICBjb25zdCB2ID0gaHRtbFRvVmFsdWUocHJvcHMubWFya3VwKTtcbiAgICBzZXRWYWx1ZSh2KTtcbiAgfSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAodmFsdWUsIGRvbmUpID0+IHtcbiAgICBjb25zdCBodG1sID0gdmFsdWVUb0h0bWwodmFsdWUpO1xuICAgIGNvbnN0IGh0bWxQYXJzZWQgPSBwYXJzZURlZ3JlZXMoaHRtbCk7XG5cbiAgICBsb2coJ3ZhbHVlIGFzIGh0bWw6ICcsIGh0bWwpO1xuXG4gICAgaWYgKGh0bWwgIT09IHByb3BzLm1hcmt1cCkge1xuICAgICAgcHJvcHMub25DaGFuZ2UoaHRtbFBhcnNlZCk7XG4gICAgfVxuXG4gICAgaWYgKGRvbmUpIHtcbiAgICAgIHByb3BzLm9uRG9uZShodG1sUGFyc2VkKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZm9jdXMgPSAocG9zaXRpb24sIG5vZGUpID0+IHtcbiAgICBpZiAodGhpcy5lZGl0b3JSZWYpIHtcbiAgICAgIHRoaXMuZWRpdG9yUmVmLmNoYW5nZShjID0+IHtcbiAgICAgICAgY29uc3QgbGFzdFRleHQgPSBub2RlXG4gICAgICAgICAgPyBjLnZhbHVlLmRvY3VtZW50LmdldE5leHRUZXh0KG5vZGUua2V5KVxuICAgICAgICAgIDogYy52YWx1ZS5kb2N1bWVudC5nZXRMYXN0VGV4dCgpO1xuICAgICAgICBjb25zdCBlZGl0b3JET00gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIGBbZGF0YS1rZXk9XCIke3RoaXMuZWRpdG9yUmVmLnZhbHVlLmRvY3VtZW50LmtleX1cIl1gXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGVkaXRvckRPTSAhPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkge1xuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICB9XG5cbiAgICAgICAgYy5mb2N1cygpO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gJ2VuZCcgJiYgbGFzdFRleHQpIHtcbiAgICAgICAgICBjLm1vdmVGb2N1c1RvKGxhc3RUZXh0LmtleSwgbGFzdFRleHQudGV4dD8ubGVuZ3RoKS5tb3ZlQW5jaG9yVG8oXG4gICAgICAgICAgICBsYXN0VGV4dC5rZXksXG4gICAgICAgICAgICBsYXN0VGV4dC50ZXh0Py5sZW5ndGhcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uID09PSAnYmVnaW5uaW5nJyAmJiBsYXN0VGV4dCkge1xuICAgICAgICAgIGMubW92ZUZvY3VzVG8obGFzdFRleHQua2V5LCAwKS5tb3ZlQW5jaG9yVG8obGFzdFRleHQua2V5LCAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHsgdG9vbGJhck9wdHMsIGVycm9yIH0gPSBwcm9wcztcblxuICBpZiAodG9vbGJhck9wdHMpIHtcbiAgICB0b29sYmFyT3B0cy5lcnJvciA9IGVycm9yO1xuICB9XG5cbiAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgLi4ucHJvcHMsXG4gICAgbWFya3VwOiBudWxsLFxuICAgIHZhbHVlLFxuICAgIG9uQ2hhbmdlXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yXG4gICAgICB7Li4ubmV3UHJvcHN9XG4gICAgICBvblJlZj17cmVmID0+IHtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgIHJvb3RSZWYuY3VycmVudCA9IHJlZjtcblxuICAgICAgICAgIGlmIChmb3J3YXJkZWRSZWYpIHtcbiAgICAgICAgICAgIGZvcndhcmRlZFJlZihyZWYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGVkaXRvclJlZj17cmVmID0+IHJlZiAmJiAoZWRpdG9yUmVmLmN1cnJlbnQgPSByZWYpfVxuICAgIC8+XG4gICk7XG59KTtcblxuRWRpdGFibGVIdG1sLnByb3BUeXBlcyA9IHtcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uRWRpdG9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGFsbG93VmFsaWRhdGlvbjogUHJvcFR5cGVzLmJvb2xcbn07XG5cbkVkaXRhYmxlSHRtbC5kZWZhdWx0UHJvcHMgPSB7XG4gIG9uRG9uZTogKCkgPT4ge30sXG4gIGFsbG93VmFsaWRhdGlvbjogZmFsc2Vcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVkaXRhYmxlSHRtbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sd0JBQU4sQ0FBWjtBQUNBO0FBQ0E7QUFDQTs7QUFHQSxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLEdBQXlCO0VBQUEsSUFBeEJDLFFBQXdCLHVFQUFiLFlBQU0sQ0FBRSxDQUFLOztFQUM5QyxnQkFBMEMsSUFBQUMsZUFBQSxFQUFTLEtBQVQsQ0FBMUM7RUFBQTtFQUFBLElBQU9DLGFBQVA7RUFBQSxJQUFzQkMsZ0JBQXRCOztFQUVBLElBQUlELGFBQUosRUFBbUI7SUFDakI7RUFDRDs7RUFFREYsUUFBUTtFQUNSRyxnQkFBZ0IsQ0FBQyxJQUFELENBQWhCO0FBQ0QsQ0FURDs7QUFXQSxJQUFNQyxZQUFZLGdCQUFHQyxpQkFBQSxDQUFNQyxVQUFOLENBQWlCLFVBQUNDLEtBQUQsRUFBUUMsWUFBUixFQUF5QjtFQUM3RCxJQUFNQyxVQUFTLEdBQUcsSUFBQUMsYUFBQSxFQUFPLElBQVAsQ0FBbEI7O0VBQ0EsSUFBTUMsT0FBTyxHQUFHLElBQUFELGFBQUEsRUFBTyxJQUFQLENBQWhCOztFQUNBLGlCQUEwQixJQUFBVCxlQUFBLEdBQTFCO0VBQUE7RUFBQSxJQUFPVyxLQUFQO0VBQUEsSUFBY0MsUUFBZDs7RUFFQWQsY0FBYyxDQUFDLFlBQU07SUFDbkIsSUFBTWUsQ0FBQyxHQUFHLElBQUFDLDZCQUFBLEVBQVlSLEtBQUssQ0FBQ1MsTUFBbEIsQ0FBVjtJQUNBSCxRQUFRLENBQUNDLENBQUQsQ0FBUjtFQUNELENB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
|
package/lib/new-serialization.js
CHANGED
|
@@ -161,7 +161,7 @@ var blocks = {
|
|
|
161
161
|
},
|
|
162
162
|
serialize: function serialize(object, children) {
|
|
163
163
|
if (object.object !== 'block') return;
|
|
164
|
-
var jsonData = object.data
|
|
164
|
+
var jsonData = object.data;
|
|
165
165
|
log('[blocks:serialize] object: ', object, children);
|
|
166
166
|
var key;
|
|
167
167
|
|
|
@@ -317,4 +317,4 @@ var valueToHtml = function valueToHtml(value) {
|
|
|
317
317
|
|
|
318
318
|
|
|
319
319
|
exports.valueToHtml = valueToHtml;
|
|
320
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIkJMT0NLX1RBR1MiLCJkaXYiLCJzcGFuIiwicCIsImJsb2NrcXVvdGUiLCJwcmUiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJNQVJLX1RBR1MiLCJiIiwiZW0iLCJ1IiwicyIsImNvZGUiLCJzdHJvbmciLCJwYXJzZVN0eWxlU3RyaW5nIiwicmVnZXgiLCJtYXRjaCIsInJlc3VsdCIsImV4ZWMiLCJ0cmltIiwiZ2V0QmFzZTY0IiwiZmlsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVhZGVyIiwiRmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJvbmxvYWQiLCJvbmVycm9yIiwiZXJyb3IiLCJyZWFjdEF0dHJpYnV0ZXMiLCJvIiwidG9TdHlsZU9iamVjdCIsImNhbWVsaXplIiwiYWRkVW5pdHMiLCJhdHRyaWJ1dGVzVG9NYXAiLCJlbCIsImFjYyIsImF0dHJpYnV0ZSIsInZhbHVlIiwiZ2V0QXR0cmlidXRlIiwic3R5bGVTdHJpbmciLCJyZWFjdFN0eWxlT2JqZWN0IiwiYXR0cmlidXRlcyIsImJsb2NrcyIsImRlc2VyaWFsaXplIiwibmV4dCIsImJsb2NrIiwidGFnTmFtZSIsInRvTG93ZXJDYXNlIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsImNuIiwianN4IiwidHlwZSIsImRhdGEiLCJyZWR1Y2UiLCJzZXJpYWxpemUiLCJvYmplY3QiLCJjaGlsZHJlbiIsImpzb25EYXRhIiwidG9KU09OIiwia2V5IiwiVGFnIiwibWFya3MiLCJtYXJrIiwiZmluZFByZXZpb3VzVGV4dCIsIm5vZGVOYW1lIiwicHJldmlvdXNTaWJsaW5nIiwiVEVYVF9SVUxFIiwibm9ybWFsaXplIiwibm9kZVZhbHVlIiwib2JqIiwic3BsaXQiLCJhcnJheSIsInRleHQiLCJpIiwicHVzaCIsIlJVTEVTIiwibGlzdFNlcmlhbGl6YXRpb24iLCJtYXRoU2VyaWFsaXphdGlvbiIsIm1lZGlhU2VyaWFsaXphdGlvbiIsImltZ1NlcmlhbGl6YXRpb24iLCJ0YWJsZVNlcmlhbGl6YXRpb24iLCJyZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uIiwiYWxsV2hpdGVzcGFjZSIsIm5vZGUiLCJ0ZXN0IiwidGV4dENvbnRlbnQiLCJkZWZhdWx0UGFyc2VIdG1sIiwiaHRtbCIsIkRPTVBhcnNlciIsIkVycm9yIiwicGFyc2VkIiwicGFyc2VGcm9tU3RyaW5nIiwiYm9keSIsInRleHROb2RlcyIsImRvY3VtZW50IiwiY3JlYXRlVHJlZVdhbGtlciIsIk5vZGVGaWx0ZXIiLCJTSE9XX1RFWFQiLCJuIiwibmV4dE5vZGUiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJwYXJzZUh0bWwiLCJ3aW5kb3ciLCJzZXJpYWxpemVyIiwiVGVzdFNlcmlhbGl6ZXIiLCJkZWZhdWx0QmxvY2siLCJydWxlcyIsIl9leHRlbmRzIiwiT2JqZWN0IiwiYXNzaWduIiwidGFyZ2V0IiwiYXJndW1lbnRzIiwic291cmNlIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaHRtbFRvVmFsdWUiLCJlIiwiY29uc29sZSIsInZhbHVlVG9IdG1sIl0sInNvdXJjZXMiOlsiLi4vc3JjL25ldy1zZXJpYWxpemF0aW9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGVzdFNlcmlhbGl6ZXIgZnJvbSAnLi90ZXN0LXNlcmlhbGl6ZXInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBvYmplY3QgYXMgdG9TdHlsZU9iamVjdCB9IGZyb20gJ3RvLXN0eWxlJztcblxuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyBpbWdTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL2ltYWdlJztcbmltcG9ydCB7IHNlcmlhbGl6YXRpb24gYXMgbWF0aFNlcmlhbGl6YXRpb24gfSBmcm9tICcuL3BsdWdpbnMvbWF0aCc7XG5pbXBvcnQgeyBzZXJpYWxpemF0aW9uIGFzIG1lZGlhU2VyaWFsaXphdGlvbiB9IGZyb20gJy4vcGx1Z2lucy9tZWRpYSc7XG5pbXBvcnQgeyBzZXJpYWxpemF0aW9uIGFzIGxpc3RTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QnO1xuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyB0YWJsZVNlcmlhbGl6YXRpb24gfSBmcm9tICcuL3BsdWdpbnMvdGFibGUnO1xuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyByZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL3Jlc3BBcmVhJztcbmltcG9ydCB7IE1hcmssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInNsYXRlLWh5cGVyc2NyaXB0XCI7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnNlcmlhbGl6YXRpb24nKTtcblxuLyoqXG4gKiBUYWdzIHRvIGJsb2Nrcy5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbmV4cG9ydCBjb25zdCBCTE9DS19UQUdTID0ge1xuICBkaXY6ICdkaXYnLFxuICBzcGFuOiAnc3BhbicsXG4gIHA6ICdwYXJhZ3JhcGgnLFxuICBibG9ja3F1b3RlOiAncXVvdGUnLFxuICBwcmU6ICdjb2RlJyxcbiAgaDE6ICdoZWFkaW5nLW9uZScsXG4gIGgyOiAnaGVhZGluZy10d28nLFxuICBoMzogJ2hlYWRpbmctdGhyZWUnLFxuICBoNDogJ2hlYWRpbmctZm91cicsXG4gIGg1OiAnaGVhZGluZy1maXZlJyxcbiAgaDY6ICdoZWFkaW5nLXNpeCdcbn07XG5cbi8qKlxuICogVGFncyB0byBtYXJrcy5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbmNvbnN0IE1BUktfVEFHUyA9IHtcbiAgYjogJ2JvbGQnLFxuICBlbTogJ2l0YWxpYycsXG4gIHU6ICd1bmRlcmxpbmUnLFxuICBzOiAnc3RyaWtldGhyb3VnaCcsXG4gIGNvZGU6ICdjb2RlJyxcbiAgc3Ryb25nOiAnYm9sZCdcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVN0eWxlU3RyaW5nID0gcyA9PiB7XG4gIGNvbnN0IHJlZ2V4ID0gLyhbXFx3LV0qKVxccyo6XFxzKihbXjtdKikvZztcbiAgbGV0IG1hdGNoO1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMocykpKSB7XG4gICAgcmVzdWx0W21hdGNoWzFdXSA9IG1hdGNoWzJdLnRyaW0oKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2U2NCA9IGZpbGUgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWFjdEF0dHJpYnV0ZXMgPSBvID0+IHRvU3R5bGVPYmplY3QobywgeyBjYW1lbGl6ZTogdHJ1ZSwgYWRkVW5pdHM6IGZhbHNlIH0pO1xuXG5jb25zdCBhdHRyaWJ1dGVzVG9NYXAgPSBlbCA9PiAoYWNjLCBhdHRyaWJ1dGUpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgaWYgKHZhbHVlKSB7XG4gICAgaWYgKGF0dHJpYnV0ZSA9PT0gJ3N0eWxlJykge1xuICAgICAgY29uc3Qgc3R5bGVTdHJpbmcgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgIGNvbnN0IHJlYWN0U3R5bGVPYmplY3QgPSByZWFjdEF0dHJpYnV0ZXMocGFyc2VTdHlsZVN0cmluZyhzdHlsZVN0cmluZykpO1xuICAgICAgYWNjWydzdHlsZSddID0gcmVhY3RTdHlsZU9iamVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW2F0dHJpYnV0ZV0gPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn07XG5cbmNvbnN0IGF0dHJpYnV0ZXMgPSBbJ2JvcmRlcicsICdjZWxscGFkZGluZycsICdjZWxsc3BhY2luZycsICdjbGFzcycsICdzdHlsZSddO1xuXG4vKipcbiAqIFNlcmlhbGl6ZXIgcnVsZXMuXG4gKlxuICogQHR5cGUge0FycmF5fVxuICovXG5cbmNvbnN0IGJsb2NrcyA9IHtcbiAgZGVzZXJpYWxpemUoZWwsIG5leHQpIHtcbiAgICBsb2coJ1tibG9ja3M6ZGVzZXJpYWxpemVdIGJsb2NrOiAnLCBlbCk7XG4gICAgY29uc3QgYmxvY2sgPSBCTE9DS19UQUdTW2VsLnRhZ05hbWUudG9Mb3dlckNhc2UoKV07XG4gICAgaWYgKCFibG9jaykgcmV0dXJuO1xuICAgIGxvZygnW2Jsb2NrczpkZXNlcmlhbGl6ZV0gYmxvY2s6ICcsIGJsb2NrKTtcblxuICAgIGlmIChlbC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgY24gPSBlbC5jaGlsZE5vZGVzWzBdO1xuICAgICAgaWYgKGNuICYmIGNuLnRhZ05hbWUgJiYgY24udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSBibG9jaykge1xuICAgICAgICBsb2coJ1t3ZSBoYXZlIGEgY2hpbGQgbm9kZSBvZiB0aGUgc2FtZV0uLi4nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBqc3goXG4gICAgICAnZWxlbWVudCcsXG4gICAgICB7XG4gICAgICAgIHR5cGU6IGJsb2NrLFxuICAgICAgICAvKipcbiAgICAgICAgICogSGVyZSBmb3IgcmVuZGVyaW5nIHN0eWxlcyBmb3IgYWxsIGJsb2NrIGVsZW1lbnRzXG4gICAgICAgICAqL1xuICAgICAgICBkYXRhOiB7IGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMucmVkdWNlKGF0dHJpYnV0ZXNUb01hcChlbCksIHt9KSB9XG4gICAgICB9LFxuICAgICAgbmV4dChlbC5jaGlsZE5vZGVzKVxuICAgICk7XG4gIH0sXG4gIHNlcmlhbGl6ZTogKG9iamVjdCwgY2hpbGRyZW4pID0+IHtcbiAgICBpZiAob2JqZWN0Lm9iamVjdCAhPT0gJ2Jsb2NrJykgcmV0dXJuO1xuXG4gICAgY29uc3QganNvbkRhdGEgPSBvYmplY3QuZGF0YS50b0pTT04oKTtcblxuICAgIGxvZygnW2Jsb2NrczpzZXJpYWxpemVdIG9iamVjdDogJywgb2JqZWN0LCBjaGlsZHJlbik7XG4gICAgbGV0IGtleTtcblxuICAgIGZvciAoa2V5IGluIEJMT0NLX1RBR1MpIHtcbiAgICAgIGlmIChCTE9DS19UQUdTW2tleV0gPT09IG9iamVjdC50eXBlKSB7XG4gICAgICAgIGNvbnN0IFRhZyA9IGtleTtcblxuICAgICAgICByZXR1cm4gPFRhZyB7Li4uanNvbkRhdGEuYXR0cmlidXRlc30+e2NoaWxkcmVufTwvVGFnPjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcmtzID0ge1xuICBkZXNlcmlhbGl6ZShlbCwgbmV4dCkge1xuICAgIGNvbnN0IG1hcmsgPSBNQVJLX1RBR1NbZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpXTtcbiAgICBpZiAoIW1hcmspIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbG9nKCdbZGVzZXJpYWxpemVdIG1hcms6ICcsIG1hcmspO1xuXG4gICAgcmV0dXJuIGpzeCgnZWxlbWVudCcsIHsgdHlwZTogbWFyayB9LCBuZXh0KGVsLmNoaWxkTm9kZXMpKTtcbiAgfSxcbiAgc2VyaWFsaXplKG9iamVjdCwgY2hpbGRyZW4pIHtcbiAgICAvKmlmIChNYXJrLmlzTWFyayhvYmplY3QpKSB7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gTUFSS19UQUdTKSB7XG4gICAgICAgIGlmIChNQVJLX1RBR1Nba2V5XSA9PT0gb2JqZWN0LnR5cGUpIHtcbiAgICAgICAgICBjb25zdCBUYWcgPSBrZXk7XG4gICAgICAgICAgcmV0dXJuIDxUYWc+e2NoaWxkcmVufTwvVGFnPjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0qL1xuICB9XG59O1xuXG5jb25zdCBmaW5kUHJldmlvdXNUZXh0ID0gZWwgPT4ge1xuICBpZiAoZWwubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICBpZiAoZWwucHJldmlvdXNTaWJsaW5nKSB7XG4gICAgcmV0dXJuIGZpbmRQcmV2aW91c1RleHQoZWwucHJldmlvdXNTaWJsaW5nKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IFRFWFRfUlVMRSA9IHtcbiAgZGVzZXJpYWxpemUoZWwpIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIG5lZWRzIHRvIGJlIGNhbGxlZCBvbiB0aGUgZG9tIGVsZW1lbnQgaW4gb3JkZXIgdG8gbWVyZ2UgdGhlIGFkamFjZW50IHRleHQgbm9kZXMgdG9nZXRoZXJcbiAgICAgKiAqL1xuICAgIGVsLm5vcm1hbGl6ZSgpO1xuXG4gICAgaWYgKGVsLnRhZ05hbWUgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnInKSB7XG4gICAgICByZXR1cm4ganN4KCd0ZXh0Jywge30pO1xuICAgIH1cblxuICAgIGlmIChlbC5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgaWYgKGVsLm5vZGVWYWx1ZSAmJiBlbC5ub2RlVmFsdWUubWF0Y2goLzwhLS0uKj8tLT4vKSkgcmV0dXJuO1xuXG4gICAgICBsb2coJ1t0ZXh0OmRlc2VyaWFsaXplXSByZXR1cm4gdGV4dCBvYmplY3QuLicpO1xuICAgICAgcmV0dXJuIGpzeCgndGV4dCcsIHt9LCBlbC5ub2RlVmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBzZXJpYWxpemUob2JqLCBjaGlsZHJlbikge1xuICAgIGlmIChvYmoub2JqZWN0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuLnNwbGl0KCdcXG4nKS5yZWR1Y2UoKGFycmF5LCB0ZXh0LCBpKSA9PiB7XG4gICAgICAgIGlmIChpICE9PSAwKSBhcnJheS5wdXNoKDxiciAvPik7XG4gICAgICAgIGFycmF5LnB1c2godGV4dCk7XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IFJVTEVTID0gW1xuICBsaXN0U2VyaWFsaXphdGlvbixcbiAgbWF0aFNlcmlhbGl6YXRpb24sXG4gIG1lZGlhU2VyaWFsaXphdGlvbixcbiAgaW1nU2VyaWFsaXphdGlvbixcbiAgdGFibGVTZXJpYWxpemF0aW9uLFxuICByZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uLFxuICBURVhUX1JVTEUsXG4gIGJsb2NrcyxcbiAgbWFya3Ncbl07XG5cbmZ1bmN0aW9uIGFsbFdoaXRlc3BhY2Uobm9kZSkge1xuICAvLyBVc2UgRUNNQS0yNjIgRWRpdGlvbiAzIFN0cmluZyBhbmQgUmVnRXhwIGZlYXR1cmVzXG4gIHJldHVybiAhL1teXFx0XFxuXFxyIF0vLnRlc3Qobm9kZS50ZXh0Q29udGVudCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQYXJzZUh0bWwoaHRtbCkge1xuICBpZiAodHlwZW9mIERPTVBhcnNlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVGhlIG5hdGl2ZSBgRE9NUGFyc2VyYCBnbG9iYWwgd2hpY2ggdGhlIGBIdG1sYCBzZXJpYWxpemVyIHVzZXMgYnkgZGVmYXVsdCBpcyBub3QgcHJlc2VudCBpbiB0aGlzIGVudmlyb25tZW50LiBZb3UgbXVzdCBzdXBwbHkgdGhlIGBvcHRpb25zLnBhcnNlSHRtbGAgZnVuY3Rpb24gaW5zdGVhZC4nXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoaHRtbCwgJ3RleHQvaHRtbCcpO1xuXG4gIGNvbnN0IHsgYm9keSB9ID0gcGFyc2VkO1xuICBjb25zdCB0ZXh0Tm9kZXMgPSBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGJvZHksIE5vZGVGaWx0ZXIuU0hPV19URVhULCBudWxsLCBudWxsKTtcbiAgbGV0IG4gPSB0ZXh0Tm9kZXMubmV4dE5vZGUoKTtcblxuICB3aGlsZSAobikge1xuICAgIGlmIChhbGxXaGl0ZXNwYWNlKG4pIHx8IG4ubm9kZVZhbHVlID09PSAnXFx1MjAwQicpIHtcbiAgICAgIG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTtcbiAgICB9XG4gICAgbiA9IHRleHROb2Rlcy5uZXh0Tm9kZSgpO1xuICB9XG5cbiAgcmV0dXJuIGJvZHk7XG59XG5cbi8qKiBJZiB0aGlzIGxpYiBpcyB1c2VkIG9uIHRoZSBzZXJ2ZXIgc2lkZSwgd2UgbmVlZCB0byBieXBhc3MgdXNpbmcgdGhlIERPTVBhcnNlciAtIGp1c3QgcHV0IGluIGEgc3R1Yi4gKi9cbmNvbnN0IHBhcnNlSHRtbCA9XG4gIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnXG4gICAgPyAoKSA9PiAoe1xuICAgICAgICBjaGlsZE5vZGVzOiBbXVxuICAgICAgfSlcbiAgICA6IGRlZmF1bHRQYXJzZUh0bWw7XG5cbmNvbnN0IHNlcmlhbGl6ZXIgPSBuZXcgVGVzdFNlcmlhbGl6ZXIoe1xuICBkZWZhdWx0QmxvY2s6ICdkaXYnLFxuICBydWxlczogUlVMRVMsXG4gIHBhcnNlSHRtbFxufSk7XG5cbmNvbnN0IF9leHRlbmRzID1cbiAgT2JqZWN0LmFzc2lnbiB8fFxuICBmdW5jdGlvbih0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG5leHBvcnQgY29uc3QgaHRtbFRvVmFsdWUgPSBodG1sID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2VyaWFsaXplci5kZXNlcmlhbGl6ZShodG1sKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUubG9nKFwiQ291bGRuJ3QgcGFyc2UgaHRtbDogXCIsIGUpO1xuICAgIHJldHVybiB7fTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbHVlVG9IdG1sID0gdmFsdWUgPT4gc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUpO1xuXG4vKipcbiAqXG4gKiA8ZGl2PjxkaXY+YTwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj5cbiAqXG4gKiA8ZGl2PjxkaXY+YTwvZGl2PjxkaXY+YjwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj48ZGl2PmI8L2Rpdj5cbiAqIDxkaXY+PGRpdj5hPC9kaXY+NDQ0NDxkaXY+YjwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj40NDQ0PGRpdj5iPC9kaXY+XG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sc0NBQU4sQ0FBWjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU8sSUFBTUMsVUFBVSxHQUFHO0VBQ3hCQyxHQUFHLEVBQUUsS0FEbUI7RUFFeEJDLElBQUksRUFBRSxNQUZrQjtFQUd4QkMsQ0FBQyxFQUFFLFdBSHFCO0VBSXhCQyxVQUFVLEVBQUUsT0FKWTtFQUt4QkMsR0FBRyxFQUFFLE1BTG1CO0VBTXhCQyxFQUFFLEVBQUUsYUFOb0I7RUFPeEJDLEVBQUUsRUFBRSxhQVBvQjtFQVF4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
|
|
320
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIkJMT0NLX1RBR1MiLCJkaXYiLCJzcGFuIiwicCIsImJsb2NrcXVvdGUiLCJwcmUiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJNQVJLX1RBR1MiLCJiIiwiZW0iLCJ1IiwicyIsImNvZGUiLCJzdHJvbmciLCJwYXJzZVN0eWxlU3RyaW5nIiwicmVnZXgiLCJtYXRjaCIsInJlc3VsdCIsImV4ZWMiLCJ0cmltIiwiZ2V0QmFzZTY0IiwiZmlsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVhZGVyIiwiRmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJvbmxvYWQiLCJvbmVycm9yIiwiZXJyb3IiLCJyZWFjdEF0dHJpYnV0ZXMiLCJvIiwidG9TdHlsZU9iamVjdCIsImNhbWVsaXplIiwiYWRkVW5pdHMiLCJhdHRyaWJ1dGVzVG9NYXAiLCJlbCIsImFjYyIsImF0dHJpYnV0ZSIsInZhbHVlIiwiZ2V0QXR0cmlidXRlIiwic3R5bGVTdHJpbmciLCJyZWFjdFN0eWxlT2JqZWN0IiwiYXR0cmlidXRlcyIsImJsb2NrcyIsImRlc2VyaWFsaXplIiwibmV4dCIsImJsb2NrIiwidGFnTmFtZSIsInRvTG93ZXJDYXNlIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsImNuIiwianN4IiwidHlwZSIsImRhdGEiLCJyZWR1Y2UiLCJzZXJpYWxpemUiLCJvYmplY3QiLCJjaGlsZHJlbiIsImpzb25EYXRhIiwia2V5IiwiVGFnIiwibWFya3MiLCJtYXJrIiwiZmluZFByZXZpb3VzVGV4dCIsIm5vZGVOYW1lIiwicHJldmlvdXNTaWJsaW5nIiwiVEVYVF9SVUxFIiwibm9ybWFsaXplIiwibm9kZVZhbHVlIiwib2JqIiwic3BsaXQiLCJhcnJheSIsInRleHQiLCJpIiwicHVzaCIsIlJVTEVTIiwibGlzdFNlcmlhbGl6YXRpb24iLCJtYXRoU2VyaWFsaXphdGlvbiIsIm1lZGlhU2VyaWFsaXphdGlvbiIsImltZ1NlcmlhbGl6YXRpb24iLCJ0YWJsZVNlcmlhbGl6YXRpb24iLCJyZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uIiwiYWxsV2hpdGVzcGFjZSIsIm5vZGUiLCJ0ZXN0IiwidGV4dENvbnRlbnQiLCJkZWZhdWx0UGFyc2VIdG1sIiwiaHRtbCIsIkRPTVBhcnNlciIsIkVycm9yIiwicGFyc2VkIiwicGFyc2VGcm9tU3RyaW5nIiwiYm9keSIsInRleHROb2RlcyIsImRvY3VtZW50IiwiY3JlYXRlVHJlZVdhbGtlciIsIk5vZGVGaWx0ZXIiLCJTSE9XX1RFWFQiLCJuIiwibmV4dE5vZGUiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJwYXJzZUh0bWwiLCJ3aW5kb3ciLCJzZXJpYWxpemVyIiwiVGVzdFNlcmlhbGl6ZXIiLCJkZWZhdWx0QmxvY2siLCJydWxlcyIsIl9leHRlbmRzIiwiT2JqZWN0IiwiYXNzaWduIiwidGFyZ2V0IiwiYXJndW1lbnRzIiwic291cmNlIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaHRtbFRvVmFsdWUiLCJlIiwiY29uc29sZSIsInZhbHVlVG9IdG1sIl0sInNvdXJjZXMiOlsiLi4vc3JjL25ldy1zZXJpYWxpemF0aW9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGVzdFNlcmlhbGl6ZXIgZnJvbSAnLi90ZXN0LXNlcmlhbGl6ZXInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBvYmplY3QgYXMgdG9TdHlsZU9iamVjdCB9IGZyb20gJ3RvLXN0eWxlJztcblxuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyBpbWdTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL2ltYWdlJztcbmltcG9ydCB7IHNlcmlhbGl6YXRpb24gYXMgbWF0aFNlcmlhbGl6YXRpb24gfSBmcm9tICcuL3BsdWdpbnMvbWF0aCc7XG5pbXBvcnQgeyBzZXJpYWxpemF0aW9uIGFzIG1lZGlhU2VyaWFsaXphdGlvbiB9IGZyb20gJy4vcGx1Z2lucy9tZWRpYSc7XG5pbXBvcnQgeyBzZXJpYWxpemF0aW9uIGFzIGxpc3RTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QnO1xuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyB0YWJsZVNlcmlhbGl6YXRpb24gfSBmcm9tICcuL3BsdWdpbnMvdGFibGUnO1xuaW1wb3J0IHsgc2VyaWFsaXphdGlvbiBhcyByZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uIH0gZnJvbSAnLi9wbHVnaW5zL3Jlc3BBcmVhJztcbmltcG9ydCB7IE1hcmssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInNsYXRlLWh5cGVyc2NyaXB0XCI7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnNlcmlhbGl6YXRpb24nKTtcblxuLyoqXG4gKiBUYWdzIHRvIGJsb2Nrcy5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbmV4cG9ydCBjb25zdCBCTE9DS19UQUdTID0ge1xuICBkaXY6ICdkaXYnLFxuICBzcGFuOiAnc3BhbicsXG4gIHA6ICdwYXJhZ3JhcGgnLFxuICBibG9ja3F1b3RlOiAncXVvdGUnLFxuICBwcmU6ICdjb2RlJyxcbiAgaDE6ICdoZWFkaW5nLW9uZScsXG4gIGgyOiAnaGVhZGluZy10d28nLFxuICBoMzogJ2hlYWRpbmctdGhyZWUnLFxuICBoNDogJ2hlYWRpbmctZm91cicsXG4gIGg1OiAnaGVhZGluZy1maXZlJyxcbiAgaDY6ICdoZWFkaW5nLXNpeCdcbn07XG5cbi8qKlxuICogVGFncyB0byBtYXJrcy5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbmNvbnN0IE1BUktfVEFHUyA9IHtcbiAgYjogJ2JvbGQnLFxuICBlbTogJ2l0YWxpYycsXG4gIHU6ICd1bmRlcmxpbmUnLFxuICBzOiAnc3RyaWtldGhyb3VnaCcsXG4gIGNvZGU6ICdjb2RlJyxcbiAgc3Ryb25nOiAnYm9sZCdcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVN0eWxlU3RyaW5nID0gcyA9PiB7XG4gIGNvbnN0IHJlZ2V4ID0gLyhbXFx3LV0qKVxccyo6XFxzKihbXjtdKikvZztcbiAgbGV0IG1hdGNoO1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMocykpKSB7XG4gICAgcmVzdWx0W21hdGNoWzFdXSA9IG1hdGNoWzJdLnRyaW0oKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2U2NCA9IGZpbGUgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWFjdEF0dHJpYnV0ZXMgPSBvID0+IHRvU3R5bGVPYmplY3QobywgeyBjYW1lbGl6ZTogdHJ1ZSwgYWRkVW5pdHM6IGZhbHNlIH0pO1xuXG5jb25zdCBhdHRyaWJ1dGVzVG9NYXAgPSBlbCA9PiAoYWNjLCBhdHRyaWJ1dGUpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgaWYgKHZhbHVlKSB7XG4gICAgaWYgKGF0dHJpYnV0ZSA9PT0gJ3N0eWxlJykge1xuICAgICAgY29uc3Qgc3R5bGVTdHJpbmcgPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgIGNvbnN0IHJlYWN0U3R5bGVPYmplY3QgPSByZWFjdEF0dHJpYnV0ZXMocGFyc2VTdHlsZVN0cmluZyhzdHlsZVN0cmluZykpO1xuICAgICAgYWNjWydzdHlsZSddID0gcmVhY3RTdHlsZU9iamVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW2F0dHJpYnV0ZV0gPSBlbC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn07XG5cbmNvbnN0IGF0dHJpYnV0ZXMgPSBbJ2JvcmRlcicsICdjZWxscGFkZGluZycsICdjZWxsc3BhY2luZycsICdjbGFzcycsICdzdHlsZSddO1xuXG4vKipcbiAqIFNlcmlhbGl6ZXIgcnVsZXMuXG4gKlxuICogQHR5cGUge0FycmF5fVxuICovXG5cbmNvbnN0IGJsb2NrcyA9IHtcbiAgZGVzZXJpYWxpemUoZWwsIG5leHQpIHtcbiAgICBsb2coJ1tibG9ja3M6ZGVzZXJpYWxpemVdIGJsb2NrOiAnLCBlbCk7XG4gICAgY29uc3QgYmxvY2sgPSBCTE9DS19UQUdTW2VsLnRhZ05hbWUudG9Mb3dlckNhc2UoKV07XG4gICAgaWYgKCFibG9jaykgcmV0dXJuO1xuICAgIGxvZygnW2Jsb2NrczpkZXNlcmlhbGl6ZV0gYmxvY2s6ICcsIGJsb2NrKTtcblxuICAgIGlmIChlbC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgY24gPSBlbC5jaGlsZE5vZGVzWzBdO1xuICAgICAgaWYgKGNuICYmIGNuLnRhZ05hbWUgJiYgY24udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSBibG9jaykge1xuICAgICAgICBsb2coJ1t3ZSBoYXZlIGEgY2hpbGQgbm9kZSBvZiB0aGUgc2FtZV0uLi4nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBqc3goXG4gICAgICAnZWxlbWVudCcsXG4gICAgICB7XG4gICAgICAgIHR5cGU6IGJsb2NrLFxuICAgICAgICAvKipcbiAgICAgICAgICogSGVyZSBmb3IgcmVuZGVyaW5nIHN0eWxlcyBmb3IgYWxsIGJsb2NrIGVsZW1lbnRzXG4gICAgICAgICAqL1xuICAgICAgICBkYXRhOiB7IGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMucmVkdWNlKGF0dHJpYnV0ZXNUb01hcChlbCksIHt9KSB9XG4gICAgICB9LFxuICAgICAgbmV4dChlbC5jaGlsZE5vZGVzKVxuICAgICk7XG4gIH0sXG4gIHNlcmlhbGl6ZTogKG9iamVjdCwgY2hpbGRyZW4pID0+IHtcbiAgICBpZiAob2JqZWN0Lm9iamVjdCAhPT0gJ2Jsb2NrJykgcmV0dXJuO1xuXG4gICAgY29uc3QganNvbkRhdGEgPSBvYmplY3QuZGF0YTtcblxuICAgIGxvZygnW2Jsb2NrczpzZXJpYWxpemVdIG9iamVjdDogJywgb2JqZWN0LCBjaGlsZHJlbik7XG4gICAgbGV0IGtleTtcblxuICAgIGZvciAoa2V5IGluIEJMT0NLX1RBR1MpIHtcbiAgICAgIGlmIChCTE9DS19UQUdTW2tleV0gPT09IG9iamVjdC50eXBlKSB7XG4gICAgICAgIGNvbnN0IFRhZyA9IGtleTtcblxuICAgICAgICByZXR1cm4gPFRhZyB7Li4uanNvbkRhdGEuYXR0cmlidXRlc30+e2NoaWxkcmVufTwvVGFnPjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcmtzID0ge1xuICBkZXNlcmlhbGl6ZShlbCwgbmV4dCkge1xuICAgIGNvbnN0IG1hcmsgPSBNQVJLX1RBR1NbZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpXTtcbiAgICBpZiAoIW1hcmspIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbG9nKCdbZGVzZXJpYWxpemVdIG1hcms6ICcsIG1hcmspO1xuXG4gICAgcmV0dXJuIGpzeCgnZWxlbWVudCcsIHsgdHlwZTogbWFyayB9LCBuZXh0KGVsLmNoaWxkTm9kZXMpKTtcbiAgfSxcbiAgc2VyaWFsaXplKG9iamVjdCwgY2hpbGRyZW4pIHtcbiAgICAvKmlmIChNYXJrLmlzTWFyayhvYmplY3QpKSB7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gTUFSS19UQUdTKSB7XG4gICAgICAgIGlmIChNQVJLX1RBR1Nba2V5XSA9PT0gb2JqZWN0LnR5cGUpIHtcbiAgICAgICAgICBjb25zdCBUYWcgPSBrZXk7XG4gICAgICAgICAgcmV0dXJuIDxUYWc+e2NoaWxkcmVufTwvVGFnPjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0qL1xuICB9XG59O1xuXG5jb25zdCBmaW5kUHJldmlvdXNUZXh0ID0gZWwgPT4ge1xuICBpZiAoZWwubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICBpZiAoZWwucHJldmlvdXNTaWJsaW5nKSB7XG4gICAgcmV0dXJuIGZpbmRQcmV2aW91c1RleHQoZWwucHJldmlvdXNTaWJsaW5nKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IFRFWFRfUlVMRSA9IHtcbiAgZGVzZXJpYWxpemUoZWwpIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIG5lZWRzIHRvIGJlIGNhbGxlZCBvbiB0aGUgZG9tIGVsZW1lbnQgaW4gb3JkZXIgdG8gbWVyZ2UgdGhlIGFkamFjZW50IHRleHQgbm9kZXMgdG9nZXRoZXJcbiAgICAgKiAqL1xuICAgIGVsLm5vcm1hbGl6ZSgpO1xuXG4gICAgaWYgKGVsLnRhZ05hbWUgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnInKSB7XG4gICAgICByZXR1cm4ganN4KCd0ZXh0Jywge30pO1xuICAgIH1cblxuICAgIGlmIChlbC5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgaWYgKGVsLm5vZGVWYWx1ZSAmJiBlbC5ub2RlVmFsdWUubWF0Y2goLzwhLS0uKj8tLT4vKSkgcmV0dXJuO1xuXG4gICAgICBsb2coJ1t0ZXh0OmRlc2VyaWFsaXplXSByZXR1cm4gdGV4dCBvYmplY3QuLicpO1xuICAgICAgcmV0dXJuIGpzeCgndGV4dCcsIHt9LCBlbC5ub2RlVmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBzZXJpYWxpemUob2JqLCBjaGlsZHJlbikge1xuICAgIGlmIChvYmoub2JqZWN0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuLnNwbGl0KCdcXG4nKS5yZWR1Y2UoKGFycmF5LCB0ZXh0LCBpKSA9PiB7XG4gICAgICAgIGlmIChpICE9PSAwKSBhcnJheS5wdXNoKDxiciAvPik7XG4gICAgICAgIGFycmF5LnB1c2godGV4dCk7XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IFJVTEVTID0gW1xuICBsaXN0U2VyaWFsaXphdGlvbixcbiAgbWF0aFNlcmlhbGl6YXRpb24sXG4gIG1lZGlhU2VyaWFsaXphdGlvbixcbiAgaW1nU2VyaWFsaXphdGlvbixcbiAgdGFibGVTZXJpYWxpemF0aW9uLFxuICByZXNwb25zZUFyZWFTZXJpYWxpemF0aW9uLFxuICBURVhUX1JVTEUsXG4gIGJsb2NrcyxcbiAgbWFya3Ncbl07XG5cbmZ1bmN0aW9uIGFsbFdoaXRlc3BhY2Uobm9kZSkge1xuICAvLyBVc2UgRUNNQS0yNjIgRWRpdGlvbiAzIFN0cmluZyBhbmQgUmVnRXhwIGZlYXR1cmVzXG4gIHJldHVybiAhL1teXFx0XFxuXFxyIF0vLnRlc3Qobm9kZS50ZXh0Q29udGVudCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQYXJzZUh0bWwoaHRtbCkge1xuICBpZiAodHlwZW9mIERPTVBhcnNlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVGhlIG5hdGl2ZSBgRE9NUGFyc2VyYCBnbG9iYWwgd2hpY2ggdGhlIGBIdG1sYCBzZXJpYWxpemVyIHVzZXMgYnkgZGVmYXVsdCBpcyBub3QgcHJlc2VudCBpbiB0aGlzIGVudmlyb25tZW50LiBZb3UgbXVzdCBzdXBwbHkgdGhlIGBvcHRpb25zLnBhcnNlSHRtbGAgZnVuY3Rpb24gaW5zdGVhZC4nXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoaHRtbCwgJ3RleHQvaHRtbCcpO1xuXG4gIGNvbnN0IHsgYm9keSB9ID0gcGFyc2VkO1xuICBjb25zdCB0ZXh0Tm9kZXMgPSBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGJvZHksIE5vZGVGaWx0ZXIuU0hPV19URVhULCBudWxsLCBudWxsKTtcbiAgbGV0IG4gPSB0ZXh0Tm9kZXMubmV4dE5vZGUoKTtcblxuICB3aGlsZSAobikge1xuICAgIGlmIChhbGxXaGl0ZXNwYWNlKG4pIHx8IG4ubm9kZVZhbHVlID09PSAnXFx1MjAwQicpIHtcbiAgICAgIG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTtcbiAgICB9XG4gICAgbiA9IHRleHROb2Rlcy5uZXh0Tm9kZSgpO1xuICB9XG5cbiAgcmV0dXJuIGJvZHk7XG59XG5cbi8qKiBJZiB0aGlzIGxpYiBpcyB1c2VkIG9uIHRoZSBzZXJ2ZXIgc2lkZSwgd2UgbmVlZCB0byBieXBhc3MgdXNpbmcgdGhlIERPTVBhcnNlciAtIGp1c3QgcHV0IGluIGEgc3R1Yi4gKi9cbmNvbnN0IHBhcnNlSHRtbCA9XG4gIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnXG4gICAgPyAoKSA9PiAoe1xuICAgICAgICBjaGlsZE5vZGVzOiBbXVxuICAgICAgfSlcbiAgICA6IGRlZmF1bHRQYXJzZUh0bWw7XG5cbmNvbnN0IHNlcmlhbGl6ZXIgPSBuZXcgVGVzdFNlcmlhbGl6ZXIoe1xuICBkZWZhdWx0QmxvY2s6ICdkaXYnLFxuICBydWxlczogUlVMRVMsXG4gIHBhcnNlSHRtbFxufSk7XG5cbmNvbnN0IF9leHRlbmRzID1cbiAgT2JqZWN0LmFzc2lnbiB8fFxuICBmdW5jdGlvbih0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG5leHBvcnQgY29uc3QgaHRtbFRvVmFsdWUgPSBodG1sID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2VyaWFsaXplci5kZXNlcmlhbGl6ZShodG1sKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUubG9nKFwiQ291bGRuJ3QgcGFyc2UgaHRtbDogXCIsIGUpO1xuICAgIHJldHVybiB7fTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbHVlVG9IdG1sID0gdmFsdWUgPT4gc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUpO1xuXG4vKipcbiAqXG4gKiA8ZGl2PjxkaXY+YTwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj5cbiAqXG4gKiA8ZGl2PjxkaXY+YTwvZGl2PjxkaXY+YjwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj48ZGl2PmI8L2Rpdj5cbiAqIDxkaXY+PGRpdj5hPC9kaXY+NDQ0NDxkaXY+YjwvZGl2PjwvZGl2PiAtPiA8ZGl2PmE8L2Rpdj40NDQ0PGRpdj5iPC9kaXY+XG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sc0NBQU4sQ0FBWjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU8sSUFBTUMsVUFBVSxHQUFHO0VBQ3hCQyxHQUFHLEVBQUUsS0FEbUI7RUFFeEJDLElBQUksRUFBRSxNQUZrQjtFQUd4QkMsQ0FBQyxFQUFFLFdBSHFCO0VBSXhCQyxVQUFVLEVBQUUsT0FKWTtFQUt4QkMsR0FBRyxFQUFFLE1BTG1CO0VBTXhCQyxFQUFFLEVBQUUsYUFOb0I7RUFPeEJDLEVBQUUsRUFBRSxhQVBvQjtFQVF4QkMsRUFBRSxFQUFFLGVBUm9C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
|
|
@@ -91,7 +91,7 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
91
91
|
|
|
92
92
|
log('[applySizeData] update: ', update);
|
|
93
93
|
|
|
94
|
-
if (!(0, _isEqual["default"])(update, node.data)) {
|
|
94
|
+
if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
|
|
95
95
|
var nodePath = _slate.Editor.path(editor, editor.selection);
|
|
96
96
|
|
|
97
97
|
editor.apply({
|
|
@@ -149,7 +149,7 @@ var Component = /*#__PURE__*/function (_React$Component) {
|
|
|
149
149
|
update.width = width;
|
|
150
150
|
update.height = height;
|
|
151
151
|
|
|
152
|
-
if (!(0, _isEqual["default"])(update, node.data)) {
|
|
152
|
+
if (editor.selection && !(0, _isEqual["default"])(update, node.data)) {
|
|
153
153
|
var nodePath = _slate.Editor.path(editor, editor.selection);
|
|
154
154
|
|
|
155
155
|
editor.apply({
|
|
@@ -400,8 +400,9 @@ var styles = function styles(theme) {
|
|
|
400
400
|
root: {
|
|
401
401
|
position: 'relative',
|
|
402
402
|
border: 'solid 1px white',
|
|
403
|
-
display: 'flex',
|
|
404
|
-
transition: 'opacity 200ms linear'
|
|
403
|
+
display: 'inline-flex',
|
|
404
|
+
transition: 'opacity 200ms linear',
|
|
405
|
+
width: '100%'
|
|
405
406
|
},
|
|
406
407
|
"delete": {
|
|
407
408
|
position: 'absolute',
|
|
@@ -438,4 +439,4 @@ var styles = function styles(theme) {
|
|
|
438
439
|
var _default = (0, _styles.withStyles)(styles)(Component);
|
|
439
440
|
|
|
440
441
|
exports["default"] = _default;
|
|
441
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInNpemUiLCJzIiwiQ29tcG9uZW50IiwicGVyY2VudCIsIm11bHRpcGxpZXIiLCJpbWciLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0Iiwid2lkdGgiLCJmbG9vcmVkIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwidXBkYXRlIiwiY2xvbmVEZWVwIiwiZGF0YSIsInciLCJyZXNpemVQZXJjZW50IiwiZ2V0UGVyY2VudEZyb21XaWR0aCIsImlzRXF1YWwiLCJub2RlUGF0aCIsIkVkaXRvciIsInBhdGgiLCJzZWxlY3Rpb24iLCJhcHBseSIsInR5cGUiLCJwcm9wZXJ0aWVzIiwibmV3UHJvcGVydGllcyIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzdGFydFJlc2l6aW5nIiwic3RvcFJlc2l6aW5nIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiYm94Iiwic3R5bGUiLCJkaW1lbnNpb25zIiwiaGVpZ2h0IiwidXBkYXRlSW1hZ2VEaW1lbnNpb25zIiwic2V0U3RhdGUiLCJlIiwiYm91bmRzIiwidGFyZ2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50WCIsImxlZnQiLCJjbGllbnRZIiwidG9wIiwiaGFzTWluaW11bVdpZHRoIiwiaGFzRGltZW5zaW9uc0NvbnN0cmFpbnRzIiwic2V0IiwiZXF1YWxzIiwiY2hhbmdlIiwiYyIsInNldE5vZGVCeUtleSIsImtleSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpbml0aWFsRGltIiwibmV4dERpbSIsImtlZXBBc3BlY3RSYXRpbyIsInJlc2l6ZVR5cGUiLCJpbWFnZUFzcGVjdFJhdGlvIiwiYXBwbHlTaXplRGF0YSIsInJlc2l6ZUhhbmRsZSIsInJlc2l6ZSIsImluaXRpYWxpc2VSZXNpemUiLCJvYmplY3RGaXQiLCJmb2N1c2VkIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsIm9uRm9jdXMiLCJhY3RpdmUiLCJhbGlnbm1lbnQiLCJhbHQiLCJkZWxldGVTdGF0dXMiLCJsb2FkZWQiLCJzcmMiLCJpc0xvYWRlZCIsImp1c3RpZnlDb250ZW50IiwiZ2V0U2l6ZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlByb3BUeXBlcyIsInNoYXBlIiwic3RyaW5nIiwiYXJyYXkiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiYm9vbCIsImZ1bmMiLCJ2YWx1ZSIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJib3hTaGFkb3ciLCJyaWdodCIsImFsaWduSXRlbXMiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCIsIndpdGhTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9pbWFnZS9jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaW5lYXJQcm9ncmVzcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZSA9IHMgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY2hpbGRyZW46IFByb3BUeXBlcy5hcnJheSxcbiAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3RcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGZvY3VzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfSkuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIG1heEltYWdlV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbWF4SW1hZ2VIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXJcbiAgfTtcblxuICBnZXRXaWR0aCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsV2lkdGggKiBtdWx0aXBsaWVyO1xuICB9O1xuXG4gIGdldEhlaWdodCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsSGVpZ2h0ICogbXVsdGlwbGllcjtcbiAgfTtcblxuICBnZXRQZXJjZW50RnJvbVdpZHRoID0gd2lkdGggPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBjbG9uZURlZXAobm9kZS5kYXRhKTtcblxuICAgIGNvbnN0IHcgPSB1cGRhdGUud2lkdGg7XG5cbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnJlc2l6ZVBlcmNlbnQgPSB0aGlzLmdldFBlcmNlbnRGcm9tV2lkdGgodyk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5kYXRhKSkge1xuICAgICAgY29uc3Qgbm9kZVBhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuXG4gICAgICBlZGl0b3IuYXBwbHkoe1xuICAgICAgICB0eXBlOiAnc2V0X25vZGUnLFxuICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGRhdGE6IG5vZGUuZGF0YVxuICAgICAgICB9LFxuICAgICAgICBuZXdQcm9wZXJ0aWVzOiB7IGRhdGE6IHVwZGF0ZSB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgaW5pdGlhbGlzZVJlc2l6ZSA9ICgpID0+IHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5zdGFydFJlc2l6aW5nLCBmYWxzZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BSZXNpemluZywgZmFsc2UpO1xuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuYXBwbHlTaXplRGF0YSgpO1xuXG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5yZXNpemU7XG5cbiAgICBpZiAocmVzaXplSGFuZGxlKSB7XG4gICAgICByZXNpemVIYW5kbGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5pbml0aWFsaXNlUmVzaXplLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHRoaXMuYXBwbHlTaXplRGF0YSgpO1xuICB9XG5cbiAgZ2V0U2l6ZShkYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBzaXplKGRhdGEud2lkdGgpLFxuICAgICAgaGVpZ2h0OiBzaXplKGRhdGEuaGVpZ2h0KSxcbiAgICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nXG4gICAgfTtcbiAgfVxuXG4gIGxvYWRJbWFnZSA9ICgpID0+IHtcbiAgICBsZXQgeyBtYXhJbWFnZVdpZHRoLCBtYXhJbWFnZUhlaWdodCB9ID0gdGhpcy5wcm9wcyB8fCB7fTtcbiAgICBtYXhJbWFnZVdpZHRoID0gbWF4SW1hZ2VXaWR0aCB8fCA3MDA7XG4gICAgbWF4SW1hZ2VIZWlnaHQgPSBtYXhJbWFnZUhlaWdodCB8fCA5MDA7XG5cbiAgICBjb25zdCBib3ggPSB0aGlzLmltZztcblxuICAgIC8vb24gZmlyc3QgbG9hZFxuICAgIGlmICghYm94LnN0eWxlLndpZHRoIHx8IGJveC5zdHlsZS53aWR0aCA9PT0gJ2F1dG8nKSB7XG4gICAgICBjb25zdCBkaW1lbnNpb25zID0ge1xuICAgICAgICB3aWR0aDogKGJveCAmJiBib3gubmF0dXJhbFdpZHRoKSB8fCAxMDAsXG4gICAgICAgIGhlaWdodDogKGJveCAmJiBib3gubmF0dXJhbEhlaWdodCkgfHwgMTAwXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMudXBkYXRlSW1hZ2VEaW1lbnNpb25zKFxuICAgICAgICBkaW1lbnNpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgd2lkdGg6IGRpbWVuc2lvbnMud2lkdGggPCBtYXhJbWFnZVdpZHRoID8gZGltZW5zaW9ucy53aWR0aCA6IG1heEltYWdlV2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiBkaW1lbnNpb25zLmhlaWdodCA8IG1heEltYWdlSGVpZ2h0ID8gZGltZW5zaW9ucy5oZWlnaHQgOiBtYXhJbWFnZUhlaWdodFxuICAgICAgICB9LFxuICAgICAgICB0cnVlXG4gICAgICApO1xuXG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpbWVuc2lvbnM6IHsgaGVpZ2h0OiBoZWlnaHQsIHdpZHRoOiB3aWR0aCB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBub2RlLCBlZGl0b3IgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9IGNsb25lRGVlcChub2RlLmRhdGEpO1xuXG4gICAgICB1cGRhdGUud2lkdGggPSB3aWR0aDtcbiAgICAgIHVwZGF0ZS5oZWlnaHQgPSBoZWlnaHQ7XG5cbiAgICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuZGF0YSkpIHtcbiAgICAgICAgY29uc3Qgbm9kZVBhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuXG4gICAgICAgIGVkaXRvci5hcHBseSh7XG4gICAgICAgICAgdHlwZTogJ3NldF9ub2RlJyxcbiAgICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBkYXRhOiBub2RlLmRhdGFcbiAgICAgICAgICB9LFxuICAgICAgICAgIG5ld1Byb3BlcnRpZXM6IHsgZGF0YTogdXBkYXRlIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHN0YXJ0UmVzaXppbmcgPSBlID0+IHtcbiAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib3ggPSB0aGlzLmltZztcbiAgICBjb25zdCBkaW1lbnNpb25zID0ge1xuICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDBcbiAgICB9O1xuXG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSB0aGlzLnVwZGF0ZUltYWdlRGltZW5zaW9ucyhcbiAgICAgIGRpbWVuc2lvbnMsXG4gICAgICB7XG4gICAgICAgIHdpZHRoOiBlLmNsaWVudFggLSBib3VuZHMubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBlLmNsaWVudFkgLSBib3VuZHMudG9wXG4gICAgICB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNNaW5pbXVtV2lkdGggPSB3aWR0aCA+IDUwICYmIGhlaWdodCA+IDUwO1xuICAgIGNvbnN0IGhhc0RpbWVuc2lvbnNDb25zdHJhaW50cyA9IHdpZHRoIDw9IDcwMCAmJiBoZWlnaHQgPD0gOTAwO1xuXG4gICAgaWYgKGhhc01pbmltdW1XaWR0aCAmJiBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgJiYgYm94KSB7XG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpbWVuc2lvbnM6IHsgaGVpZ2h0OiBoZWlnaHQsIHdpZHRoOiB3aWR0aCB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBub2RlLCBlZGl0b3IgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGxldCB1cGRhdGUgPSBub2RlLmRhdGE7XG5cbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ3dpZHRoJywgd2lkdGgpO1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgnaGVpZ2h0JywgaGVpZ2h0KTtcblxuICAgICAgaWYgKCF1cGRhdGUuZXF1YWxzKG5vZGUuZGF0YSkpIHtcbiAgICAgICAgZWRpdG9yLmNoYW5nZShjID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHN0b3BSZXNpemluZyA9ICgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5zdGFydFJlc2l6aW5nLCBmYWxzZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BSZXNpemluZywgZmFsc2UpO1xuICB9O1xuXG4gIHVwZGF0ZUltYWdlRGltZW5zaW9ucyA9IChpbml0aWFsRGltLCBuZXh0RGltLCBrZWVwQXNwZWN0UmF0aW8sIHJlc2l6ZVR5cGUpID0+IHtcbiAgICAvLyBpZiB3ZSB3YW50IHRvIGtlZXAgaW1hZ2UgYXNwZWN0IHJhdGlvXG4gICAgaWYgKGtlZXBBc3BlY3RSYXRpbykge1xuICAgICAgY29uc3QgaW1hZ2VBc3BlY3RSYXRpbyA9IGluaXRpYWxEaW0ud2lkdGggLyBpbml0aWFsRGltLmhlaWdodDtcblxuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSB7XG4gICAgICAgIC8vIGlmIHdlIHdhbnQgdG8gY2hhbmdlIGltYWdlIGhlaWdodCA9PiB3ZSB1cGRhdGUgdGhlIHdpZHRoIGFjY29yZGluZ2x5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2lkdGg6IG5leHREaW0uaGVpZ2h0ICogaW1hZ2VBc3BlY3RSYXRpbyxcbiAgICAgICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIGlmIHdlIHdhbnQgdG8gY2hhbmdlIGltYWdlIHdpZHRoID0+IHdlIHVwZGF0ZSB0aGUgaGVpZ2h0IGFjY29yZGluZ2x5XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogbmV4dERpbS53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBuZXh0RGltLndpZHRoIC8gaW1hZ2VBc3BlY3RSYXRpb1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBkb24ndCB3YW50IHRvIGtlZXAgYXNwZWN0IHJhdGlvLCB3ZSBqdXN0IHVwZGF0ZSBib3RoIHZhbHVlc1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogbmV4dERpbS53aWR0aCxcbiAgICAgIGhlaWdodDogbmV4dERpbS5oZWlnaHRcbiAgICB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG5vZGUsIGZvY3VzZWQsIGNsYXNzZXMsIGF0dHJpYnV0ZXMsIGNoaWxkcmVuLCBvbkZvY3VzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGFjdGl2ZSA9IGZvY3VzZWQ7XG4gICAgY29uc3QgeyBhbGlnbm1lbnQsIGFsdCwgZGVsZXRlU3RhdHVzLCBsb2FkZWQsIHBlcmNlbnQsIHNyYyB9ID0gbm9kZS5kYXRhO1xuICAgIGNvbnN0IGlzTG9hZGVkID0gbG9hZGVkICE9PSBmYWxzZTtcbiAgICBsZXQganVzdGlmeUNvbnRlbnQ7XG5cbiAgICBzd2l0Y2ggKGFsaWdubWVudCkge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2NlbnRlcic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LWVuZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsb2coJ1tyZW5kZXJdIG5vZGUuZGF0YTonLCBub2RlLmRhdGEpO1xuXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuZ2V0U2l6ZShub2RlLmRhdGEpO1xuXG4gICAgbG9nKCdbcmVuZGVyXSBzdHlsZTonLCBzaXplKTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNsYXNzTmFtZXMoY2xhc3Nlcy5yb290LCB7XG4gICAgICBbY2xhc3Nlcy5sb2FkaW5nXTogIWlzTG9hZGVkLFxuICAgICAgW2NsYXNzZXMucGVuZGluZ0RlbGV0ZV06IGRlbGV0ZVN0YXR1cyA9PT0gJ3BlbmRpbmcnXG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9ncmVzc0NsYXNzZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMucHJvZ3Jlc3MsIHtcbiAgICAgIFtjbGFzc2VzLmhpZGVQcm9ncmVzc106IGlzTG9hZGVkXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBvbkZvY3VzPXtvbkZvY3VzfSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gc3R5bGU9e3sganVzdGlmeUNvbnRlbnQgfX0gey4uLmF0dHJpYnV0ZXN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxMaW5lYXJQcm9ncmVzc1xuICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgdmFsdWU9e3BlcmNlbnQgPiAwID8gcGVyY2VudCA6IDB9XG4gICAgICAgICAgY2xhc3NOYW1lPXtwcm9ncmVzc0NsYXNzZXN9XG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmltYWdlQ29udGFpbmVyfT5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5pbWFnZSwgeyBbY2xhc3Nlcy5hY3RpdmVdOiBhY3RpdmUgfSl9XG4gICAgICAgICAgICByZWY9e3JlZiA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaW1nID0gcmVmO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHNyYz17c3JjfVxuICAgICAgICAgICAgc3R5bGU9e3NpemV9XG4gICAgICAgICAgICBvbkxvYWQ9e3RoaXMubG9hZEltYWdlfVxuICAgICAgICAgICAgYWx0PXthbHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICByZWY9e3JlZiA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucmVzaXplID0gcmVmO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnJlc2l6ZSwgJ3Jlc2l6ZScpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSB0aGVtZSA9PiAoe1xuICBwb3J0YWw6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBvcGFjaXR5OiAwLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcidcbiAgfSxcbiAgZmxvYXRpbmdCdXR0b25Sb3c6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgYm9yZGVyUmFkaXVzOiAnMXB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZzogJzEwcHgnLFxuICAgIGJvcmRlcjogJ3NvbGlkIDFweCAjZWVlZWVlJyxcbiAgICBib3hTaGFkb3c6XG4gICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKSdcbiAgfSxcbiAgcHJvZ3Jlc3M6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBsZWZ0OiAnMCcsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgdG9wOiAnMCUnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcidcbiAgfSxcbiAgaGlkZVByb2dyZXNzOiB7XG4gICAgb3BhY2l0eTogMFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgb3BhY2l0eTogMC4zXG4gIH0sXG4gIHBlbmRpbmdEZWxldGU6IHtcbiAgICBvcGFjaXR5OiAwLjNcbiAgfSxcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGJvcmRlcjogJ3NvbGlkIDFweCB3aGl0ZScsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcidcbiAgfSxcbiAgZGVsZXRlOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDBcbiAgfSxcbiAgaW1hZ2VDb250YWluZXI6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG5cbiAgICAnJiY6aG92ZXIgPiAucmVzaXplJzoge1xuICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgIH1cbiAgfSxcbiAgYWN0aXZlOiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YFxuICB9LFxuICByZXNpemU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuICAgIGN1cnNvcjogJ2NvbC1yZXNpemUnLFxuICAgIGhlaWdodDogJzM1cHgnLFxuICAgIHdpZHRoOiAnNXB4JyxcbiAgICBib3JkZXJSYWRpdXM6IDgsXG4gICAgbWFyZ2luTGVmdDogJzVweCcsXG4gICAgbWFyZ2luUmlnaHQ6ICcxMHB4JyxcbiAgICBkaXNwbGF5OiAnbm9uZSdcbiAgfSxcbiAgZHJhd2FibGVIZWlnaHQ6IHtcbiAgICBtaW5IZWlnaHQ6IDM1MFxuICB9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKENvbXBvbmVudCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLElBQUFDLGlCQUFBLEVBQU0sZ0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxDQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FBQyxhQUFNQSxDQUFOLFVBQWMsTUFBcEI7QUFBQSxDQUFkOztJQUVhQyxTOzs7Ozs7Ozs7Ozs7Ozs7aUdBb0JBLFVBQUFDLE9BQU8sRUFBSTtNQUNwQixJQUFNQyxVQUFVLEdBQUdELE9BQU8sR0FBRyxHQUE3QjtNQUNBLE9BQU8sTUFBS0UsR0FBTCxDQUFTQyxZQUFULEdBQXdCRixVQUEvQjtJQUNELEM7a0dBRVcsVUFBQUQsT0FBTyxFQUFJO01BQ3JCLElBQU1DLFVBQVUsR0FBR0QsT0FBTyxHQUFHLEdBQTdCO01BQ0EsT0FBTyxNQUFLRSxHQUFMLENBQVNFLGFBQVQsR0FBeUJILFVBQWhDO0lBQ0QsQzs0R0FFcUIsVUFBQUksS0FBSyxFQUFJO01BQzdCLElBQUlDLE9BQU8sR0FBSUQsS0FBSyxHQUFHLE1BQUtILEdBQUwsQ0FBU0MsWUFBbEIsR0FBa0MsQ0FBaEQ7TUFD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
|
|
442
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsInNpemUiLCJzIiwiQ29tcG9uZW50IiwicGVyY2VudCIsIm11bHRpcGxpZXIiLCJpbWciLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0Iiwid2lkdGgiLCJmbG9vcmVkIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwidXBkYXRlIiwiY2xvbmVEZWVwIiwiZGF0YSIsInciLCJyZXNpemVQZXJjZW50IiwiZ2V0UGVyY2VudEZyb21XaWR0aCIsInNlbGVjdGlvbiIsImlzRXF1YWwiLCJub2RlUGF0aCIsIkVkaXRvciIsInBhdGgiLCJhcHBseSIsInR5cGUiLCJwcm9wZXJ0aWVzIiwibmV3UHJvcGVydGllcyIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzdGFydFJlc2l6aW5nIiwic3RvcFJlc2l6aW5nIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiYm94Iiwic3R5bGUiLCJkaW1lbnNpb25zIiwiaGVpZ2h0IiwidXBkYXRlSW1hZ2VEaW1lbnNpb25zIiwic2V0U3RhdGUiLCJlIiwiYm91bmRzIiwidGFyZ2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50WCIsImxlZnQiLCJjbGllbnRZIiwidG9wIiwiaGFzTWluaW11bVdpZHRoIiwiaGFzRGltZW5zaW9uc0NvbnN0cmFpbnRzIiwic2V0IiwiZXF1YWxzIiwiY2hhbmdlIiwiYyIsInNldE5vZGVCeUtleSIsImtleSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpbml0aWFsRGltIiwibmV4dERpbSIsImtlZXBBc3BlY3RSYXRpbyIsInJlc2l6ZVR5cGUiLCJpbWFnZUFzcGVjdFJhdGlvIiwiYXBwbHlTaXplRGF0YSIsInJlc2l6ZUhhbmRsZSIsInJlc2l6ZSIsImluaXRpYWxpc2VSZXNpemUiLCJvYmplY3RGaXQiLCJmb2N1c2VkIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsIm9uRm9jdXMiLCJhY3RpdmUiLCJhbGlnbm1lbnQiLCJhbHQiLCJkZWxldGVTdGF0dXMiLCJsb2FkZWQiLCJzcmMiLCJpc0xvYWRlZCIsImp1c3RpZnlDb250ZW50IiwiZ2V0U2l6ZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlByb3BUeXBlcyIsInNoYXBlIiwic3RyaW5nIiwiYXJyYXkiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiYm9vbCIsImZ1bmMiLCJ2YWx1ZSIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJib3hTaGFkb3ciLCJyaWdodCIsImFsaWduSXRlbXMiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCIsIndpdGhTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9pbWFnZS9jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaW5lYXJQcm9ncmVzcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZSA9IHMgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY2hpbGRyZW46IFByb3BUeXBlcy5hcnJheSxcbiAgICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3RcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGZvY3VzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgfSkuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIG1heEltYWdlV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbWF4SW1hZ2VIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXJcbiAgfTtcblxuICBnZXRXaWR0aCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsV2lkdGggKiBtdWx0aXBsaWVyO1xuICB9O1xuXG4gIGdldEhlaWdodCA9IHBlcmNlbnQgPT4ge1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBwZXJjZW50IC8gMTAwO1xuICAgIHJldHVybiB0aGlzLmltZy5uYXR1cmFsSGVpZ2h0ICogbXVsdGlwbGllcjtcbiAgfTtcblxuICBnZXRQZXJjZW50RnJvbVdpZHRoID0gd2lkdGggPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBjbG9uZURlZXAobm9kZS5kYXRhKTtcblxuICAgIGNvbnN0IHcgPSB1cGRhdGUud2lkdGg7XG5cbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnJlc2l6ZVBlcmNlbnQgPSB0aGlzLmdldFBlcmNlbnRGcm9tV2lkdGgodyk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgIWlzRXF1YWwodXBkYXRlLCBub2RlLmRhdGEpKSB7XG4gICAgICBjb25zdCBub2RlUGF0aCA9IEVkaXRvci5wYXRoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbik7XG5cbiAgICAgIGVkaXRvci5hcHBseSh7XG4gICAgICAgIHR5cGU6ICdzZXRfbm9kZScsXG4gICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgZGF0YTogbm9kZS5kYXRhXG4gICAgICAgIH0sXG4gICAgICAgIG5ld1Byb3BlcnRpZXM6IHsgZGF0YTogdXBkYXRlIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBpbml0aWFsaXNlUmVzaXplID0gKCkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLnN0YXJ0UmVzaXppbmcsIGZhbHNlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuc3RvcFJlc2l6aW5nLCBmYWxzZSk7XG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5hcHBseVNpemVEYXRhKCk7XG5cbiAgICBjb25zdCByZXNpemVIYW5kbGUgPSB0aGlzLnJlc2l6ZTtcblxuICAgIGlmIChyZXNpemVIYW5kbGUpIHtcbiAgICAgIHJlc2l6ZUhhbmRsZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmluaXRpYWxpc2VSZXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5hcHBseVNpemVEYXRhKCk7XG4gIH1cblxuICBnZXRTaXplKGRhdGEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHNpemUoZGF0YS53aWR0aCksXG4gICAgICBoZWlnaHQ6IHNpemUoZGF0YS5oZWlnaHQpLFxuICAgICAgb2JqZWN0Rml0OiAnY29udGFpbidcbiAgICB9O1xuICB9XG5cbiAgbG9hZEltYWdlID0gKCkgPT4ge1xuICAgIGxldCB7IG1heEltYWdlV2lkdGgsIG1heEltYWdlSGVpZ2h0IH0gPSB0aGlzLnByb3BzIHx8IHt9O1xuICAgIG1heEltYWdlV2lkdGggPSBtYXhJbWFnZVdpZHRoIHx8IDcwMDtcbiAgICBtYXhJbWFnZUhlaWdodCA9IG1heEltYWdlSGVpZ2h0IHx8IDkwMDtcblxuICAgIGNvbnN0IGJveCA9IHRoaXMuaW1nO1xuXG4gICAgLy9vbiBmaXJzdCBsb2FkXG4gICAgaWYgKCFib3guc3R5bGUud2lkdGggfHwgYm94LnN0eWxlLndpZHRoID09PSAnYXV0bycpIHtcbiAgICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB7XG4gICAgICAgIHdpZHRoOiAoYm94ICYmIGJveC5uYXR1cmFsV2lkdGgpIHx8IDEwMCxcbiAgICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDBcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICAgIGRpbWVuc2lvbnMsXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCA8IG1heEltYWdlV2lkdGggPyBkaW1lbnNpb25zLndpZHRoIDogbWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0IDwgbWF4SW1hZ2VIZWlnaHQgPyBkaW1lbnNpb25zLmhlaWdodCA6IG1heEltYWdlSGVpZ2h0XG4gICAgICAgIH0sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG5cbiAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YDtcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZGltZW5zaW9uczogeyBoZWlnaHQ6IGhlaWdodCwgd2lkdGg6IHdpZHRoIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmVEZWVwKG5vZGUuZGF0YSk7XG5cbiAgICAgIHVwZGF0ZS53aWR0aCA9IHdpZHRoO1xuICAgICAgdXBkYXRlLmhlaWdodCA9IGhlaWdodDtcblxuICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgIWlzRXF1YWwodXBkYXRlLCBub2RlLmRhdGEpKSB7XG4gICAgICAgIGNvbnN0IG5vZGVQYXRoID0gRWRpdG9yLnBhdGgoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcblxuICAgICAgICBlZGl0b3IuYXBwbHkoe1xuICAgICAgICAgIHR5cGU6ICdzZXRfbm9kZScsXG4gICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgZGF0YTogbm9kZS5kYXRhXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuZXdQcm9wZXJ0aWVzOiB7IGRhdGE6IHVwZGF0ZSB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGFydFJlc2l6aW5nID0gZSA9PiB7XG4gICAgY29uc3QgYm91bmRzID0gZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYm94ID0gdGhpcy5pbWc7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IHtcbiAgICAgIHdpZHRoOiAoYm94ICYmIGJveC5uYXR1cmFsV2lkdGgpIHx8IDEwMCxcbiAgICAgIGhlaWdodDogKGJveCAmJiBib3gubmF0dXJhbEhlaWdodCkgfHwgMTAwXG4gICAgfTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcFxuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgaGFzTWluaW11bVdpZHRoID0gd2lkdGggPiA1MCAmJiBoZWlnaHQgPiA1MDtcbiAgICBjb25zdCBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgPSB3aWR0aCA8PSA3MDAgJiYgaGVpZ2h0IDw9IDkwMDtcblxuICAgIGlmIChoYXNNaW5pbXVtV2lkdGggJiYgaGFzRGltZW5zaW9uc0NvbnN0cmFpbnRzICYmIGJveCkge1xuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaW1lbnNpb25zOiB7IGhlaWdodDogaGVpZ2h0LCB3aWR0aDogd2lkdGggfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgZWRpdG9yIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBsZXQgdXBkYXRlID0gbm9kZS5kYXRhO1xuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCd3aWR0aCcsIHdpZHRoKTtcbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ2hlaWdodCcsIGhlaWdodCk7XG5cbiAgICAgIGlmICghdXBkYXRlLmVxdWFscyhub2RlLmRhdGEpKSB7XG4gICAgICAgIGVkaXRvci5jaGFuZ2UoYyA9PiBjLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdG9wUmVzaXppbmcgPSAoKSA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc3RhcnRSZXNpemluZywgZmFsc2UpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wUmVzaXppbmcsIGZhbHNlKTtcbiAgfTtcblxuICB1cGRhdGVJbWFnZURpbWVuc2lvbnMgPSAoaW5pdGlhbERpbSwgbmV4dERpbSwga2VlcEFzcGVjdFJhdGlvLCByZXNpemVUeXBlKSA9PiB7XG4gICAgLy8gaWYgd2Ugd2FudCB0byBrZWVwIGltYWdlIGFzcGVjdCByYXRpb1xuICAgIGlmIChrZWVwQXNwZWN0UmF0aW8pIHtcbiAgICAgIGNvbnN0IGltYWdlQXNwZWN0UmF0aW8gPSBpbml0aWFsRGltLndpZHRoIC8gaW5pdGlhbERpbS5oZWlnaHQ7XG5cbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0Jykge1xuICAgICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSBoZWlnaHQgPT4gd2UgdXBkYXRlIHRoZSB3aWR0aCBhY2NvcmRpbmdseVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHdpZHRoOiBuZXh0RGltLmhlaWdodCAqIGltYWdlQXNwZWN0UmF0aW8sXG4gICAgICAgICAgaGVpZ2h0OiBuZXh0RGltLmhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSB3aWR0aCA9PiB3ZSB1cGRhdGUgdGhlIGhlaWdodCBhY2NvcmRpbmdseVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV4dERpbS53aWR0aCAvIGltYWdlQXNwZWN0UmF0aW9cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgZG9uJ3Qgd2FudCB0byBrZWVwIGFzcGVjdCByYXRpbywgd2UganVzdCB1cGRhdGUgYm90aCB2YWx1ZXNcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0XG4gICAgfTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBub2RlLCBmb2N1c2VkLCBjbGFzc2VzLCBhdHRyaWJ1dGVzLCBjaGlsZHJlbiwgb25Gb2N1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhY3RpdmUgPSBmb2N1c2VkO1xuICAgIGNvbnN0IHsgYWxpZ25tZW50LCBhbHQsIGRlbGV0ZVN0YXR1cywgbG9hZGVkLCBwZXJjZW50LCBzcmMgfSA9IG5vZGUuZGF0YTtcbiAgICBjb25zdCBpc0xvYWRlZCA9IGxvYWRlZCAhPT0gZmFsc2U7XG4gICAgbGV0IGp1c3RpZnlDb250ZW50O1xuXG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgbG9nKCdbcmVuZGVyXSBub2RlLmRhdGE6Jywgbm9kZS5kYXRhKTtcblxuICAgIGNvbnN0IHNpemUgPSB0aGlzLmdldFNpemUobm9kZS5kYXRhKTtcblxuICAgIGxvZygnW3JlbmRlcl0gc3R5bGU6Jywgc2l6ZSk7XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMucm9vdCwge1xuICAgICAgW2NsYXNzZXMubG9hZGluZ106ICFpc0xvYWRlZCxcbiAgICAgIFtjbGFzc2VzLnBlbmRpbmdEZWxldGVdOiBkZWxldGVTdGF0dXMgPT09ICdwZW5kaW5nJ1xuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NDbGFzc2VzID0gY2xhc3NOYW1lcyhjbGFzc2VzLnByb2dyZXNzLCB7XG4gICAgICBbY2xhc3Nlcy5oaWRlUHJvZ3Jlc3NdOiBpc0xvYWRlZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgb25Gb2N1cz17b25Gb2N1c30gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHN0eWxlPXt7IGp1c3RpZnlDb250ZW50IH19IHsuLi5hdHRyaWJ1dGVzfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8TGluZWFyUHJvZ3Jlc3NcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIHZhbHVlPXtwZXJjZW50ID4gMCA/IHBlcmNlbnQgOiAwfVxuICAgICAgICAgIGNsYXNzTmFtZT17cHJvZ3Jlc3NDbGFzc2VzfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5pbWFnZUNvbnRhaW5lcn0+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIHsgW2NsYXNzZXMuYWN0aXZlXTogYWN0aXZlIH0pfVxuICAgICAgICAgICAgcmVmPXtyZWYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmltZyA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzcmM9e3NyY31cbiAgICAgICAgICAgIHN0eWxlPXtzaXplfVxuICAgICAgICAgICAgb25Mb2FkPXt0aGlzLmxvYWRJbWFnZX1cbiAgICAgICAgICAgIGFsdD17YWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXtyZWYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZSA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gdGhlbWUgPT4gKHtcbiAgcG9ydGFsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgb3BhY2l0eTogMCxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInXG4gIH0sXG4gIGZsb2F0aW5nQnV0dG9uUm93OiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgIGJvcmRlclJhZGl1czogJzFweCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICBib3JkZXI6ICdzb2xpZCAxcHggI2VlZWVlZScsXG4gICAgYm94U2hhZG93OlxuICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInXG4gIH0sXG4gIGhpZGVQcm9ncmVzczoge1xuICAgIG9wYWNpdHk6IDBcbiAgfSxcbiAgbG9hZGluZzoge1xuICAgIG9wYWNpdHk6IDAuM1xuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBib3JkZXI6ICdzb2xpZCAxcHggd2hpdGUnLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgICB3aWR0aDogJzEwMCUnXG4gIH0sXG4gIGRlbGV0ZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaydcbiAgICB9XG4gIH0sXG4gIGFjdGl2ZToge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWlufWBcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnXG4gIH0sXG4gIGRyYXdhYmxlSGVpZ2h0OiB7XG4gICAgbWluSGVpZ2h0OiAzNTBcbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb21wb25lbnQpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyxJQUFBQyxpQkFBQSxFQUFNLGdEQUFOLENBQVo7O0FBRUEsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU8sQ0FBQUMsQ0FBQztFQUFBLE9BQUtBLENBQUMsYUFBTUEsQ0FBTixVQUFjLE1BQXBCO0FBQUEsQ0FBZDs7SUFFYUMsUzs7Ozs7Ozs7Ozs7Ozs7O2lHQW9CQSxVQUFBQyxPQUFPLEVBQUk7TUFDcEIsSUFBTUMsVUFBVSxHQUFHRCxPQUFPLEdBQUcsR0FBN0I7TUFDQSxPQUFPLE1BQUtFLEdBQUwsQ0FBU0MsWUFBVCxHQUF3QkYsVUFBL0I7SUFDRCxDO2tHQUVXLFVBQUFELE9BQU8sRUFBSTtNQUNyQixJQUFNQyxVQUFVLEdBQUdELE9BQU8sR0FBRyxHQUE3QjtNQUNBLE9BQU8sTUFBS0UsR0FBTCxDQUFTRSxhQUFULEdBQXlCSCxVQUFoQztJQUNELEM7NEdBRXFCLFVBQUFJLEtBQUssRUFBSTtNQUM3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
|