yapp 4.0.11 → 4.0.17
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/example.js +92 -140
- package/lib/constants.js +9 -1
- package/lib/example/div/sizeable/left.js +1 -26
- package/lib/example/div/sizeable/top.js +1 -26
- package/lib/example/view.js +10 -12
- package/lib/highlights.js +22 -5
- package/lib/prettyPrinter.js +8 -11
- package/lib/richTextarea.js +2 -2
- package/lib/utilities/scrollbarThickness.js +8 -3
- package/lib/yapp.js +4 -20
- package/package.json +1 -1
- package/src/constants.js +2 -0
- package/src/example/div/sizeable/left.js +0 -10
- package/src/example/div/sizeable/top.js +0 -10
- package/src/example/view.js +2 -2
- package/src/highlights.js +23 -5
- package/src/prettyPrinter.js +12 -11
- package/src/richTextarea.js +0 -1
- package/src/utilities/scrollbarThickness.js +10 -4
- package/src/yapp.js +17 -41
package/lib/yapp.js
CHANGED
|
@@ -12,7 +12,6 @@ var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-sty
|
|
|
12
12
|
var _easy = require("easy");
|
|
13
13
|
var _style = /*#__PURE__*/ _interopRequireDefault(require("./mixins/style"));
|
|
14
14
|
var _prettyPrinter = /*#__PURE__*/ _interopRequireDefault(require("./prettyPrinter"));
|
|
15
|
-
var _scrollbarThickness = require("./utilities/scrollbarThickness");
|
|
16
15
|
var _plugin = require("./utilities/plugin");
|
|
17
16
|
var _properties = require("./utilities/properties");
|
|
18
17
|
var _content = require("./utilities/content");
|
|
@@ -243,18 +242,6 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
243
242
|
return initialLineCount;
|
|
244
243
|
}
|
|
245
244
|
},
|
|
246
|
-
{
|
|
247
|
-
key: "getScrollbarThickness",
|
|
248
|
-
value: function getScrollbarThickness() {
|
|
249
|
-
var scrollbarThickness = 0;
|
|
250
|
-
var _properties = this.properties, _hiddenScrollbars = _properties.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars;
|
|
251
|
-
if (!hiddenScrollbars) {
|
|
252
|
-
var _properties1 = this.properties, _fancyScrollbars = _properties1.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars;
|
|
253
|
-
scrollbarThickness = (0, _scrollbarThickness.getScrollbarThickness)(fancyScrollbars);
|
|
254
|
-
}
|
|
255
|
-
return scrollbarThickness;
|
|
256
|
-
}
|
|
257
|
-
},
|
|
258
245
|
{
|
|
259
246
|
key: "setLexer",
|
|
260
247
|
value: function setLexer(lexer) {
|
|
@@ -301,27 +288,24 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
301
288
|
{
|
|
302
289
|
key: "childElements",
|
|
303
290
|
value: function childElements() {
|
|
304
|
-
var _properties = this.properties, _hiddenGutter = _properties.hiddenGutter, hiddenGutter = _hiddenGutter === void 0 ? _defaults.DEFAULT_HIDDEN_GUTTER : _hiddenGutter, _hiddenScrollbars = _properties.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars, _fancyScrollbars = _properties.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars
|
|
291
|
+
var _properties = this.properties, _hiddenGutter = _properties.hiddenGutter, hiddenGutter = _hiddenGutter === void 0 ? _defaults.DEFAULT_HIDDEN_GUTTER : _hiddenGutter, _hiddenScrollbars = _properties.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars, _fancyScrollbars = _properties.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars;
|
|
305
292
|
return /*#__PURE__*/ _easy.React.createElement(_prettyPrinter.default, {
|
|
306
293
|
onChange: this.changeHandler,
|
|
307
294
|
hiddenGutter: hiddenGutter,
|
|
308
295
|
fancyScrollbars: fancyScrollbars,
|
|
309
|
-
hiddenScrollbars: hiddenScrollbars
|
|
310
|
-
scrollbarThickness: scrollbarThickness
|
|
296
|
+
hiddenScrollbars: hiddenScrollbars
|
|
311
297
|
});
|
|
312
298
|
}
|
|
313
299
|
},
|
|
314
300
|
{
|
|
315
301
|
key: "parentContext",
|
|
316
302
|
value: function parentContext() {
|
|
317
|
-
var getPlugin = this.getPlugin.bind(this), getContent = this.getContent.bind(this), updateYapp = this.update.bind(this), setYappLexer = this.setLexer.bind(this),
|
|
303
|
+
var getPlugin = this.getPlugin.bind(this), getContent = this.getContent.bind(this), updateYapp = this.update.bind(this), setYappLexer = this.setLexer.bind(this), setYappParser = this.setParser.bind(this); ///
|
|
318
304
|
return {
|
|
319
305
|
getPlugin: getPlugin,
|
|
320
306
|
getContent: getContent,
|
|
321
307
|
updateYapp: updateYapp,
|
|
322
308
|
setYappLexer: setYappLexer,
|
|
323
|
-
setYappWidth: setYappWidth,
|
|
324
|
-
setYappHeight: setYappHeight,
|
|
325
309
|
setYappParser: setYappParser
|
|
326
310
|
};
|
|
327
311
|
}
|
|
@@ -373,4 +357,4 @@ _defineProperty(Yapp, "ignoredProperties", [
|
|
|
373
357
|
Object.assign(Yapp.prototype, _style.default);
|
|
374
358
|
var _default = (0, _easyWithStyle.default)(Yapp)(_templateObject(), _colour.colour, _colour.caretColour, _colour.borderColour, _colour.backgroundColour);
|
|
375
359
|
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBzdHlsZU1peGlucyBmcm9tIFwiLi9taXhpbnMvc3R5bGVcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Njcm9sbGJhclRoaWNrbmVzc1wiO1xuaW1wb3J0IHsgcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BsdWdpblwiO1xuaW1wb3J0IHsgcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Byb3BlcnRpZXNcIjtcbmltcG9ydCB7IGxpbmVDb3VudEZyb21Db250ZW50LCBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29sb3VyLCBjYXJldENvbG91ciwgYm9yZGVyQ29sb3VyLCBiYWNrZ3JvdW5kQ29sb3VyIH0gZnJvbSBcIi4vc2NoZW1lL2NvbG91clwiO1xuaW1wb3J0IHsgREVGQVVMVF9FRElUQUJMRSwgREVGQVVMVF9GSVJBX0NPREUsIERFRkFVTFRfQVVUT19IRUlHSFQsIERFRkFVTFRfSElEREVOX0dVVFRFUiwgREVGQVVMVF9ISURERU5fU0NST0xMQkFSUywgREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIH0gZnJvbSBcIi4vZGVmYXVsdHNcIjtcblxuY2xhc3MgWWFwcCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvciwgcGx1Z2luKSB7XG4gICAgc3VwZXIoc2VsZWN0b3IpO1xuXG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICBjaGFuZ2VIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzQ29udGVudENoYW5nZWQoKTtcblxuICAgIGlmIChjb250ZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgeyBvbkNvbnRlbnRDaGFuZ2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICBjb250ZW50Q2hhbmdlSGFuZGxlciA9IG9uQ29udGVudENoYW5nZTsgIC8vL1xuXG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuXG4gICAgICBpZiAoY29udGVudENoYW5nZUhhbmRsZXIpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRQbHVnaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luO1xuICB9XG5cbiAgZ2V0Q29udGVudCgpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWFDb250ZW50ID0gdGhpcy5nZXRSaWNoVGV4dGFyZWFDb250ZW50KCksXG4gICAgICAgICAgY29udGVudCA9IHJpY2hUZXh0YXJlYUNvbnRlbnQ7ICAvLy9cblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZ2V0SW5pdGlhbExpbmVDb3VudCgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgbGluZUNvdW50ID0gbGluZUNvdW50RnJvbUNvbnRlbnQoY29udGVudCksXG4gICAgICAgICAgaW5pdGlhbExpbmVDb3VudCA9IGxpbmVDb3VudDsgLy8vXG5cbiAgICByZXR1cm4gaW5pdGlhbExpbmVDb3VudDtcbiAgfVxuXG4gIGdldFNjcm9sbGJhclRoaWNrbmVzcygpIHtcbiAgICBsZXQgc2Nyb2xsYmFyVGhpY2tuZXNzID0gMDtcblxuICAgIGNvbnN0IHsgaGlkZGVuU2Nyb2xsYmFycyA9IERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmICghaGlkZGVuU2Nyb2xsYmFycykge1xuICAgICAgY29uc3QgeyBmYW5jeVNjcm9sbGJhcnMgPSBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKGZhbmN5U2Nyb2xsYmFycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjcm9sbGJhclRoaWNrbmVzcztcbiAgfVxuXG4gIHNldExleGVyKGxleGVyKSB7IHRoaXMucGx1Z2luLnNldExleGVyKGxleGVyKTsgfVxuXG4gIHNldFBhcnNlcihwYXJzZXIpIHsgdGhpcy5wbHVnaW4uc2V0UGFyc2VyKHBhcnNlcik7IH1cblxuICB1cGRhdGUoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy5wbHVnaW4udXBkYXRlKGNvbnRlbnQpO1xuXG4gICAgY29uc3QgdG9rZW5zID0gdGhpcy5wbHVnaW4uZ2V0VG9rZW5zKCk7XG5cbiAgICB0aGlzLnVwZGF0ZVByZXR0eVByaW50ZXIodG9rZW5zKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgZmlyYUNvZGUgPSBERUZBVUxUX0ZJUkFfQ09ERSwgYXV0b0hlaWdodCA9IERFRkFVTFRfQVVUT19IRUlHSFQgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmIChmaXJhQ29kZSkge1xuICAgICAgdGhpcy5hZGRDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgICB9XG5cbiAgICBpZiAoYXV0b0hlaWdodCkge1xuICAgICAgY29uc3QgbGluZUhlaWdodCA9IHRoaXMuZ2V0TGluZUhlaWdodCgpLFxuICAgICAgICAgICAgcGFkZGluZ1RvcCA9IHRoaXMuZ2V0UGFkZGluZ1RvcCgpLFxuICAgICAgICAgICAgcGFkZGluZ0JvdHRvbSA9IHRoaXMuZ2V0UGFkZGluZ0JvdHRvbSgpLFxuICAgICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgICBpbml0aWFsTGluZUNvdW50ID0gdGhpcy5nZXRJbml0aWFsTGluZUNvdW50KCksXG4gICAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyQm90dG9tV2lkdGgoKSxcbiAgICAgICAgICAgIHNjcm9sbGJhclRoaWNrbmVzcyA9IHRoaXMuZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCksXG4gICAgICAgICAgICBoZWlnaHQgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBpbml0aWFsTGluZUNvdW50ICogbGluZUhlaWdodCArIHBhZGRpbmdCb3R0b20gKyBib3JkZXJCb3R0b21XaWR0aCArIHNjcm9sbGJhclRoaWNrbmVzcztcblxuICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICBjb25zdCB7IGZpcmFDb2RlID0gREVGQVVMVF9GSVJBX0NPREUgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmIChmaXJhQ29kZSkge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgICB9XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgaGlkZGVuR3V0dGVyID0gREVGQVVMVF9ISURERU5fR1VUVEVSLCBoaWRkZW5TY3JvbGxiYXJzID0gREVGQVVMVF9ISURERU5fU0NST0xMQkFSUywgZmFuY3lTY3JvbGxiYXJzID0gREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gdGhpcy5nZXRTY3JvbGxiYXJUaGlja25lc3MoKTtcblxuICAgIHJldHVybiAoXG5cbiAgICAgIDxQcmV0dHlQcmludGVyIG9uQ2hhbmdlPXt0aGlzLmNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICBoaWRkZW5HdXR0ZXI9e2hpZGRlbkd1dHRlcn1cbiAgICAgICAgICAgICAgICAgICAgIGZhbmN5U2Nyb2xsYmFycz17ZmFuY3lTY3JvbGxiYXJzfVxuICAgICAgICAgICAgICAgICAgICAgaGlkZGVuU2Nyb2xsYmFycz17aGlkZGVuU2Nyb2xsYmFyc31cbiAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhclRoaWNrbmVzcz17c2Nyb2xsYmFyVGhpY2tuZXNzfSAvPlxuXG4gICAgKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGx1Z2luID0gdGhpcy5nZXRQbHVnaW4uYmluZCh0aGlzKSxcbiAgICAgICAgICBnZXRDb250ZW50ID0gdGhpcy5nZXRDb250ZW50LmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwTGV4ZXIgPSB0aGlzLnNldExleGVyLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwV2lkdGggPSB0aGlzLnNldFdpZHRoLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwSGVpZ2h0ID0gdGhpcy5zZXRIZWlnaHQuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBQYXJzZXIgPSB0aGlzLnNldFBhcnNlci5iaW5kKHRoaXMpOyAgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldFBsdWdpbixcbiAgICAgIGdldENvbnRlbnQsXG4gICAgICB1cGRhdGVZYXBwLFxuICAgICAgc2V0WWFwcExleGVyLFxuICAgICAgc2V0WWFwcFdpZHRoLFxuICAgICAgc2V0WWFwcEhlaWdodCxcbiAgICAgIHNldFlhcHBQYXJzZXJcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGVkaXRhYmxlID0gREVGQVVMVF9FRElUQUJMRSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIGxhbmd1YWdlID0gdGhpcy5wbHVnaW4uZ2V0TGFuZ3VhZ2UoKSxcbiAgICAgICAgICBjb250ZW50ID0gY29udGVudEZyb21DaGlsZEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpLFxuICAgICAgICAgIHJlYWRPbmx5ID0gIWVkaXRhYmxlO1xuXG4gICAgdGhpcy5zZXRMYW5ndWFnZShsYW5ndWFnZSk7XG5cbiAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUNvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFJpY2hUZXh0YXJlYVJlYWRPbmx5KHJlYWRPbmx5KTtcblxuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ5YXBwXCJcbiAgfTtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJQbHVnaW5cIixcbiAgICBcImxhbmd1YWdlXCIsXG4gICAgXCJmaXJhQ29kZVwiLFxuICAgIFwiZWRpdGFibGVcIixcbiAgICBcImF1dG9IZWlnaHRcIixcbiAgICBcImhpZGRlbkd1dHRlclwiLFxuICAgIFwibm9TY3JvbGxiYXJzXCIsXG4gICAgXCJmYW5jeVNjcm9sbGJhcnNcIixcbiAgICBcIm9uQ29udGVudENoYW5nZVwiXG4gIF07XG5cbiAgc3RhdGljIGZyb21Db250ZW50KGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpIHtcbiAgICBjb25zdCBDbGFzcyA9IFlhcHAsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyhjb250ZW50LCBsYW5ndWFnZSwgUGx1Z2luLCBvcHRpb25zKSxcbiAgICAgICAgICBwbHVnaW4gPSBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4obGFuZ3VhZ2UsIFBsdWdpbiksXG4gICAgICAgICAgeWFwcCA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCBwbHVnaW4pO1xuXG4gICAgcmV0dXJuIHlhcHA7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgeyBsYW5ndWFnZSwgUGx1Z2luIH0gPSBwcm9wZXJ0aWVzLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFlhcHAucHJvdG90eXBlLCBzdHlsZU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShZYXBwKWBcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgXG4gIGNvbG9yOiAke2NvbG91cn07XG4gIGNhcmV0LWNvbG9yOiAke2NhcmV0Q29sb3VyfTtcbiAgYm9yZGVyLWNvbG9yOiAke2JvcmRlckNvbG91cn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7YmFja2dyb3VuZENvbG91cn07XG5cbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC1mYW1pbHk6IFwiTWVubG9cIiwgXCJMdWNpZGEgU2FucyBUeXBld3JpdGVyXCIsIG1vbm9zcGFjZTtcblxuICAuZmlyYS1jb2RlIHtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGaXJhIENvZGVcIjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYWx0XCIgMTtcbiAgICBcbiAgfVxuXG5gO1xuIl0sIm5hbWVzIjpbIllhcHAiLCJzZWxlY3RvciIsInBsdWdpbiIsImNoYW5nZUhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJyaWNoVGV4dGFyZWEiLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwicHJvcGVydGllcyIsIm9uQ29udGVudENoYW5nZSIsImNvbnRlbnRDaGFuZ2VIYW5kbGVyIiwidXBkYXRlIiwiZ2V0UGx1Z2luIiwiZ2V0Q29udGVudCIsInJpY2hUZXh0YXJlYUNvbnRlbnQiLCJnZXRSaWNoVGV4dGFyZWFDb250ZW50IiwiY29udGVudCIsImdldEluaXRpYWxMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJsaW5lQ291bnRGcm9tQ29udGVudCIsImluaXRpYWxMaW5lQ291bnQiLCJnZXRTY3JvbGxiYXJUaGlja25lc3MiLCJzY3JvbGxiYXJUaGlja25lc3MiLCJoaWRkZW5TY3JvbGxiYXJzIiwiREVGQVVMVF9ISURERU5fU0NST0xMQkFSUyIsImZhbmN5U2Nyb2xsYmFycyIsIkRFRkFVTFRfRkFOQ1lfU0NST0xMQkFSUyIsInNldExleGVyIiwibGV4ZXIiLCJzZXRQYXJzZXIiLCJwYXJzZXIiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJ1cGRhdGVQcmV0dHlQcmludGVyIiwiZGlkTW91bnQiLCJmaXJhQ29kZSIsIkRFRkFVTFRfRklSQV9DT0RFIiwiYXV0b0hlaWdodCIsIkRFRkFVTFRfQVVUT19IRUlHSFQiLCJhZGRDbGFzcyIsImxpbmVIZWlnaHQiLCJnZXRMaW5lSGVpZ2h0IiwicGFkZGluZ1RvcCIsImdldFBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiZ2V0UGFkZGluZ0JvdHRvbSIsImJvcmRlclRvcFdpZHRoIiwiZ2V0Qm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCIsImdldEJvcmRlckJvdHRvbVdpZHRoIiwiaGVpZ2h0Iiwic2V0SGVpZ2h0Iiwid2lsbFVubW91bnQiLCJyZW1vdmVDbGFzcyIsImNoaWxkRWxlbWVudHMiLCJoaWRkZW5HdXR0ZXIiLCJERUZBVUxUX0hJRERFTl9HVVRURVIiLCJQcmV0dHlQcmludGVyIiwib25DaGFuZ2UiLCJwYXJlbnRDb250ZXh0IiwiYmluZCIsInVwZGF0ZVlhcHAiLCJzZXRZYXBwTGV4ZXIiLCJzZXRZYXBwV2lkdGgiLCJzZXRXaWR0aCIsInNldFlhcHBIZWlnaHQiLCJzZXRZYXBwUGFyc2VyIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJlZGl0YWJsZSIsIkRFRkFVTFRfRURJVEFCTEUiLCJsYW5ndWFnZSIsImdldExhbmd1YWdlIiwiY29udGVudEZyb21DaGlsZEVsZW1lbnRzIiwicmVhZE9ubHkiLCJzZXRMYW5ndWFnZSIsInNldFJpY2hUZXh0YXJlYUNvbnRlbnQiLCJzZXRSaWNoVGV4dGFyZWFSZWFkT25seSIsImZyb21Db250ZW50IiwiUGx1Z2luIiwib3B0aW9ucyIsIkNsYXNzIiwicHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIiwicGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIiwieWFwcCIsIkVsZW1lbnQiLCJmcm9tQ2xhc3MiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsInN0eWxlTWl4aW5zIiwid2l0aFN0eWxlIiwiY29sb3VyIiwiY2FyZXRDb2xvdXIiLCJib3JkZXJDb2xvdXIiLCJiYWNrZ3JvdW5kQ29sb3VyIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7K0JBK01iLFNBeUJFOzs7ZUF6QkYsUUF5QkU7OztrRUF0T29CLGlCQUFpQjtvQkFFUixNQUFNOzBEQUViLGdCQUFnQjtrRUFDZCxpQkFBaUI7a0NBRUwsZ0NBQWdDO3NCQUMxQixvQkFBb0I7MEJBQ0Ysd0JBQXdCO3VCQUN2QixxQkFBcUI7c0JBQ2hCLGlCQUFpQjt3QkFDZ0UsWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqSyxJQUFBLEFBQU1BLElBQUksaUJBNkxQLEFBN0xIO2NBQU1BLElBQUk7OEJBQUpBLElBQUk7YUFBSkEsSUFBSSxDQUNJQyxRQUFRLEVBQUVDLE1BQU07OEJBRHhCRixJQUFJOztrQ0FFQUMsUUFBUSxFQUFFO1FBS2xCRSwrQ0FBQUEsZUFBYSxFQUFHLFNBQUNDLEtBQUssRUFBRUMsT0FBTyxFQUFLO1lBQ2xDLElBQU1DLFlBQVksR0FBR0QsT0FBTyxFQUN0QkUsY0FBYyxHQUFHRCxZQUFZLENBQUNFLGlCQUFpQixFQUFFLEFBQUM7WUFFeEQsSUFBSUQsY0FBYyxFQUFFO2dCQUNsQixJQUFtQyxXQUFlLEdBQWYsTUFBS0UsVUFBVSxxQkFBZixXQUFlLENBQTFDQyxlQUFlLEVBQWZBLGVBQWUsaUNBQUcsSUFBSSxtQkFBQSxFQUN4QkMsb0JBQW9CLEdBQUdELGVBQWUsQUFBQyxFQUFFLEdBQUc7Z0JBRWxELE1BQUtFLE1BQU0sRUFBRSxDQUFDO2dCQUVkLElBQUlELG9CQUFvQixFQUFFO29CQUN4Qk4sT0FBTyxnQ0FBTyxDQUFDLENBQUMsR0FBRztvQkFFbkJNLG9CQUFvQixDQUFDUCxLQUFLLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQSxDQUFBO1FBbkJDLE1BQUtILE1BQU0sR0FBR0EsTUFBTSxDQUFDOzs7aUJBSm5CRixJQUFJOztZQXlCUmEsR0FBUyxFQUFUQSxXQUFTO21CQUFUQSxTQUFBQSxTQUFTLEdBQUc7Z0JBQ1YsT0FBTyxJQUFJLENBQUNYLE1BQU0sQ0FBQztZQUNyQixDQUFDOzs7WUFFRFksR0FBVSxFQUFWQSxZQUFVO21CQUFWQSxTQUFBQSxVQUFVLEdBQUc7Z0JBQ1gsSUFBTUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDQyxzQkFBc0IsRUFBRSxFQUNuREMsT0FBTyxHQUFHRixtQkFBbUIsQUFBQyxFQUFFLEdBQUc7Z0JBRXpDLE9BQU9FLE9BQU8sQ0FBQztZQUNqQixDQUFDOzs7WUFFREMsR0FBbUIsRUFBbkJBLHFCQUFtQjttQkFBbkJBLFNBQUFBLG1CQUFtQixHQUFHO2dCQUNwQixJQUFNRCxPQUFPLEdBQUcsSUFBSSxDQUFDSCxVQUFVLEVBQUUsRUFDM0JLLFNBQVMsR0FBR0MsSUFBQUEsUUFBb0IscUJBQUEsRUFBQ0gsT0FBTyxDQUFDLEVBQ3pDSSxnQkFBZ0IsR0FBR0YsU0FBUyxBQUFDLEVBQUMsR0FBRztnQkFFdkMsT0FBT0UsZ0JBQWdCLENBQUM7WUFDMUIsQ0FBQzs7O1lBRURDLEdBQXFCLEVBQXJCQSx1QkFBcUI7bUJBQXJCQSxTQUFBQSxxQkFBcUIsR0FBRztnQkFDdEIsSUFBSUMsa0JBQWtCLEdBQUcsQ0FBQyxBQUFDO2dCQUUzQixJQUF5RCxXQUFlLEdBQWYsSUFBSSxDQUFDZCxVQUFVLHNCQUFmLFdBQWUsQ0FBaEVlLGdCQUFnQixFQUFoQkEsZ0JBQWdCLGtDQUFHQyxTQUF5QiwwQkFBQSxvQkFBQSxBQUFxQjtnQkFFekUsSUFBSSxDQUFDRCxnQkFBZ0IsRUFBRTtvQkFDckIsSUFBdUQsWUFBZSxHQUFmLElBQUksQ0FBQ2YsVUFBVSxxQkFBZixZQUFlLENBQTlEaUIsZUFBZSxFQUFmQSxlQUFlLGlDQUFHQyxTQUF3Qix5QkFBQSxtQkFBQSxBQUFxQjtvQkFFdkVKLGtCQUFrQixHQUFHRCxJQUFBQSxtQkFBcUIsc0JBQUEsRUFBQ0ksZUFBZSxDQUFDLENBQUM7Z0JBQzlELENBQUM7Z0JBRUQsT0FBT0gsa0JBQWtCLENBQUM7WUFDNUIsQ0FBQzs7O1lBRURLLEdBQVEsRUFBUkEsVUFBUTttQkFBUkEsU0FBQUEsUUFBUSxDQUFDQyxLQUFLLEVBQUU7Z0JBQUUsSUFBSSxDQUFDM0IsTUFBTSxDQUFDMEIsUUFBUSxDQUFDQyxLQUFLLENBQUMsQ0FBQztZQUFDLENBQUM7OztZQUVoREMsR0FBUyxFQUFUQSxXQUFTO21CQUFUQSxTQUFBQSxTQUFTLENBQUNDLE1BQU0sRUFBRTtnQkFBRSxJQUFJLENBQUM3QixNQUFNLENBQUM0QixTQUFTLENBQUNDLE1BQU0sQ0FBQyxDQUFDO1lBQUMsQ0FBQzs7O1lBRXBEbkIsR0FBTSxFQUFOQSxRQUFNO21CQUFOQSxTQUFBQSxNQUFNLEdBQUc7Z0JBQ1AsSUFBTUssT0FBTyxHQUFHLElBQUksQ0FBQ0gsVUFBVSxFQUFFLEFBQUM7Z0JBRWxDLElBQUksQ0FBQ1osTUFBTSxDQUFDVSxNQUFNLENBQUNLLE9BQU8sQ0FBQyxDQUFDO2dCQUU1QixJQUFNZSxNQUFNLEdBQUcsSUFBSSxDQUFDOUIsTUFBTSxDQUFDK0IsU0FBUyxFQUFFLEFBQUM7Z0JBRXZDLElBQUksQ0FBQ0MsbUJBQW1CLENBQUNGLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLENBQUM7OztZQUVERyxHQUFRLEVBQVJBLFVBQVE7bUJBQVJBLFNBQUFBLFFBQVEsR0FBRztnQkFDVCxJQUEyRSxXQUFlLEdBQWYsSUFBSSxDQUFDMUIsVUFBVSxjQUFmLFdBQWUsQ0FBbEYyQixRQUFRLEVBQVJBLFFBQVEsMEJBQUdDLFNBQWlCLGtCQUFBLFlBQUEsZ0JBQXVDLFdBQWUsQ0FBcERDLFVBQVUsRUFBVkEsVUFBVSw0QkFBR0MsU0FBbUIsb0JBQUEsY0FBQSxBQUFxQjtnQkFFM0YsSUFBSUgsUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQ0ksUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2dCQUVELElBQUlGLFVBQVUsRUFBRTtvQkFDZCxJQUFNRyxVQUFVLEdBQUcsSUFBSSxDQUFDQyxhQUFhLEVBQUUsRUFDakNDLFVBQVUsR0FBRyxJQUFJLENBQUNDLGFBQWEsRUFBRSxFQUNqQ0MsYUFBYSxHQUFHLElBQUksQ0FBQ0MsZ0JBQWdCLEVBQUUsRUFDdkNDLGNBQWMsR0FBRyxJQUFJLENBQUNDLGlCQUFpQixFQUFFLEVBQ3pDM0IsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDSCxtQkFBbUIsRUFBRSxFQUM3QytCLGlCQUFpQixHQUFHLElBQUksQ0FBQ0Msb0JBQW9CLEVBQUUsRUFDL0MzQixrQkFBa0IsR0FBRyxJQUFJLENBQUNELHFCQUFxQixFQUFFLEVBQ2pENkIsTUFBTSxHQUFHSixjQUFjLEdBQUdKLFVBQVUsR0FBR3RCLGdCQUFnQixHQUFHb0IsVUFBVSxHQUFHSSxhQUFhLEdBQUdJLGlCQUFpQixHQUFHMUIsa0JBQWtCLEFBQUM7b0JBRXBJLElBQUksQ0FBQzZCLFNBQVMsQ0FBQ0QsTUFBTSxDQUFDLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDOzs7WUFFREUsR0FBVyxFQUFYQSxhQUFXO21CQUFYQSxTQUFBQSxXQUFXLEdBQUc7Z0JBQ1osSUFBeUMsV0FBZSxHQUFmLElBQUksQ0FBQzVDLFVBQVUsY0FBZixXQUFlLENBQWhEMkIsUUFBUSxFQUFSQSxRQUFRLDBCQUFHQyxTQUFpQixrQkFBQSxZQUFBLEFBQXFCO2dCQUV6RCxJQUFJRCxRQUFRLEVBQUU7b0JBQ1osSUFBSSxDQUFDa0IsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0gsQ0FBQzs7O1lBRURDLEdBQWEsRUFBYkEsZUFBYTttQkFBYkEsU0FBQUEsYUFBYSxHQUFHO2dCQUNkLElBQTJJLFdBQWUsR0FBZixJQUFJLENBQUM5QyxVQUFVLGtCQUFmLFdBQWUsQ0FBbEorQyxZQUFZLEVBQVpBLFlBQVksOEJBQUdDLFNBQXFCLHNCQUFBLGdCQUFBLHNCQUErRixXQUFlLENBQTVHakMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0Isa0NBQUdDLFNBQXlCLDBCQUFBLG9CQUFBLHFCQUFpRCxXQUFlLENBQTlEQyxlQUFlLEVBQWZBLGVBQWUsaUNBQUdDLFNBQXdCLHlCQUFBLG1CQUFBLEVBQ2hJSixrQkFBa0IsR0FBRyxJQUFJLENBQUNELHFCQUFxQixFQUFFLEFBQUM7Z0JBRXhELHFCQUVFLDBCQUFDb0MsY0FBYSxRQUFBO29CQUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDeEQsYUFBYTtvQkFDNUJxRCxZQUFZLEVBQUVBLFlBQVk7b0JBQzFCOUIsZUFBZSxFQUFFQSxlQUFlO29CQUNoQ0YsZ0JBQWdCLEVBQUVBLGdCQUFnQjtvQkFDbENELGtCQUFrQixFQUFFQSxrQkFBa0I7a0JBQUksQ0FFekQ7WUFDSixDQUFDOzs7WUFFRHFDLEdBQWEsRUFBYkEsZUFBYTttQkFBYkEsU0FBQUEsYUFBYSxHQUFHO2dCQUNkLElBQU0vQyxTQUFTLEdBQUcsSUFBSSxDQUFDQSxTQUFTLENBQUNnRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3JDL0MsVUFBVSxHQUFHLElBQUksQ0FBQ0EsVUFBVSxDQUFDK0MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUN2Q0MsVUFBVSxHQUFHLElBQUksQ0FBQ2xELE1BQU0sQ0FBQ2lELElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbkNFLFlBQVksR0FBRyxJQUFJLENBQUNuQyxRQUFRLENBQUNpQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3ZDRyxZQUFZLEdBQUcsSUFBSSxDQUFDQyxRQUFRLENBQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDdkNLLGFBQWEsR0FBRyxJQUFJLENBQUNkLFNBQVMsQ0FBQ1MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUN6Q00sYUFBYSxHQUFHLElBQUksQ0FBQ3JDLFNBQVMsQ0FBQytCLElBQUksQ0FBQyxJQUFJLENBQUMsQUFBQyxFQUFFLEdBQUc7Z0JBRXJELE9BQVE7b0JBQ05oRCxTQUFTLEVBQVRBLFNBQVM7b0JBQ1RDLFVBQVUsRUFBVkEsVUFBVTtvQkFDVmdELFVBQVUsRUFBVkEsVUFBVTtvQkFDVkMsWUFBWSxFQUFaQSxZQUFZO29CQUNaQyxZQUFZLEVBQVpBLFlBQVk7b0JBQ1pFLGFBQWEsRUFBYkEsYUFBYTtvQkFDYkMsYUFBYSxFQUFiQSxhQUFhO2lCQUNkLENBQUU7WUFDTCxDQUFDOzs7WUFFREMsR0FBVSxFQUFWQSxZQUFVO21CQUFWQSxTQUFBQSxVQUFVLEdBQUc7Z0JBQ1gsSUFBSSxDQUFDQyxhQUFhLEVBQUUsQ0FBQztnQkFFckIsSUFBdUQsV0FBZSxHQUFmLElBQUksQ0FBQzVELFVBQVUsRUFBOUQ4QyxhQUFhLEdBQWtDLFdBQWUsQ0FBOURBLGFBQWEsY0FBa0MsV0FBZSxDQUEvQ2UsUUFBUSxFQUFSQSxRQUFRLDBCQUFHQyxTQUFnQixpQkFBQSxZQUFBLEVBQzVDQyxRQUFRLEdBQUcsSUFBSSxDQUFDdEUsTUFBTSxDQUFDdUUsV0FBVyxFQUFFLEVBQ3BDeEQsT0FBTyxHQUFHeUQsSUFBQUEsUUFBd0IseUJBQUEsRUFBQ25CLGFBQWEsQ0FBQyxFQUNqRG9CLFFBQVEsR0FBRyxDQUFDTCxRQUFRLEFBQUM7Z0JBRTNCLElBQUksQ0FBQ00sV0FBVyxDQUFDSixRQUFRLENBQUMsQ0FBQztnQkFFM0IsSUFBSSxDQUFDSyxzQkFBc0IsQ0FBQzVELE9BQU8sQ0FBQyxDQUFDO2dCQUVyQyxJQUFJLENBQUM2RCx1QkFBdUIsQ0FBQ0gsUUFBUSxDQUFDLENBQUM7Z0JBRXZDLElBQUksQ0FBQy9ELE1BQU0sRUFBRSxDQUFDO1lBQ2hCLENBQUM7Ozs7WUFvQk1tRSxHQUFXLEVBQVhBLGFBQVc7bUJBQWxCLFNBQU9BLFdBQVcsQ0FBQzlELE9BQU8sRUFBRXVELFFBQVEsRUFBRVEsTUFBTSxFQUFFQyxPQUFPLEVBQUU7Z0JBQ3JELElBQU1DLEtBQUssR0E1S1RsRixJQUFJLEFBNEtZLEVBQ1pTLFVBQVUsR0FBRzBFLElBQUFBLFdBQTZDLDhDQUFBLEVBQUNsRSxPQUFPLEVBQUV1RCxRQUFRLEVBQUVRLE1BQU0sRUFBRUMsT0FBTyxDQUFDLEVBQzlGL0UsTUFBTSxHQUFHa0YsSUFBQUEsT0FBMkIsNEJBQUEsRUFBQ1osUUFBUSxFQUFFUSxNQUFNLENBQUMsRUFDdERLLElBQUksR0FBR0MsS0FBTyxRQUFBLENBQUNDLFNBQVMsQ0FBQ0wsS0FBSyxFQUFFekUsVUFBVSxFQUFFUCxNQUFNLENBQUMsQUFBQztnQkFFMUQsT0FBT21GLElBQUksQ0FBQztZQUNkLENBQUM7OztZQUVNRSxHQUFTLEVBQVRBLFdBQVM7bUJBQWhCLFNBQU9BLFNBQVMsQ0FBQ0wsS0FBSyxFQUFFekUsVUFBVSxFQUFFO2dCQUNsQyxJQUFRK0QsUUFBUSxHQUFhL0QsVUFBVSxDQUEvQitELFFBQVEsRUFBRVEsTUFBTSxHQUFLdkUsVUFBVSxDQUFyQnVFLE1BQU0sRUFDbEI5RSxNQUFNLEdBQUdrRixJQUFBQSxPQUEyQiw0QkFBQSxFQUFDWixRQUFRLEVBQUVRLE1BQU0sQ0FBQyxFQUN0REssSUFBSSxHQUFHQyxLQUFPLFFBQUEsQ0FBQ0MsU0FBUyxDQUFDTCxLQUFLLEVBQUV6RSxVQUFVLEVBQUVQLE1BQU0sQ0FBQyxBQUFDO2dCQUUxRCxPQUFPbUYsSUFBSSxDQUFDO1lBQ2QsQ0FBQzs7O1dBMUxHckYsSUFBSTtDQTJMVCxrQkEzTGtCc0YsS0FBTyxRQUFBLEVBMkx6QjtBQWxDQyxnQkF6Skl0RixJQUFJLEVBeUpEd0YsU0FBTyxFQUFHLEtBQUssQ0FBQztBQUV2QixnQkEzSkl4RixJQUFJLEVBMkpEeUYsbUJBQWlCLEVBQUc7SUFDekJDLFNBQVMsRUFBRSxNQUFNO0NBQ2xCLENBQUM7QUFFRixnQkEvSkkxRixJQUFJLEVBK0pEMkYsbUJBQWlCLEVBQUc7SUFDekIsUUFBUTtJQUNSLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFlBQVk7SUFDWixjQUFjO0lBQ2QsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixpQkFBaUI7Q0FDbEIsQ0FBQztBQW9CSkMsTUFBTSxDQUFDQyxNQUFNLENBQUM3RixJQUFJLENBQUM4RixTQUFTLEVBQUVDLE1BQVcsUUFBQSxDQUFDLENBQUM7SUFFM0MsUUF5QkUsR0F6QmFDLElBQUFBLGNBQVMsUUFBQSxFQUFDaEcsSUFBSSxDQUFDLG9CQU1uQmlHLE9BQU0sT0FBQSxFQUNBQyxPQUFXLFlBQUEsRUFDVkMsT0FBWSxhQUFBLEVBQ1JDLE9BQWdCLGlCQUFBIn0=
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBzdHlsZU1peGlucyBmcm9tIFwiLi9taXhpbnMvc3R5bGVcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BsdWdpblwiO1xuaW1wb3J0IHsgcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Byb3BlcnRpZXNcIjtcbmltcG9ydCB7IGxpbmVDb3VudEZyb21Db250ZW50LCBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29sb3VyLCBjYXJldENvbG91ciwgYm9yZGVyQ29sb3VyLCBiYWNrZ3JvdW5kQ29sb3VyIH0gZnJvbSBcIi4vc2NoZW1lL2NvbG91clwiO1xuaW1wb3J0IHsgREVGQVVMVF9FRElUQUJMRSwgREVGQVVMVF9GSVJBX0NPREUsIERFRkFVTFRfQVVUT19IRUlHSFQsIERFRkFVTFRfSElEREVOX0dVVFRFUiwgREVGQVVMVF9ISURERU5fU0NST0xMQkFSUywgREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIH0gZnJvbSBcIi4vZGVmYXVsdHNcIjtcblxuY2xhc3MgWWFwcCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvciwgcGx1Z2luKSB7XG4gICAgc3VwZXIoc2VsZWN0b3IpO1xuXG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICBnZXRQbHVnaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luO1xuICB9XG5cbiAgZ2V0Q29udGVudCgpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWFDb250ZW50ID0gdGhpcy5nZXRSaWNoVGV4dGFyZWFDb250ZW50KCksXG4gICAgICAgICAgY29udGVudCA9IHJpY2hUZXh0YXJlYUNvbnRlbnQ7ICAvLy9cblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZ2V0SW5pdGlhbExpbmVDb3VudCgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgbGluZUNvdW50ID0gbGluZUNvdW50RnJvbUNvbnRlbnQoY29udGVudCksXG4gICAgICAgICAgaW5pdGlhbExpbmVDb3VudCA9IGxpbmVDb3VudDsgLy8vXG5cbiAgICByZXR1cm4gaW5pdGlhbExpbmVDb3VudDtcbiAgfVxuXG4gIHNldExleGVyKGxleGVyKSB7IHRoaXMucGx1Z2luLnNldExleGVyKGxleGVyKTsgfVxuXG4gIHNldFBhcnNlcihwYXJzZXIpIHsgdGhpcy5wbHVnaW4uc2V0UGFyc2VyKHBhcnNlcik7IH1cblxuICBjaGFuZ2VIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzQ29udGVudENoYW5nZWQoKTtcblxuICAgIGlmIChjb250ZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgeyBvbkNvbnRlbnRDaGFuZ2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICBjb250ZW50Q2hhbmdlSGFuZGxlciA9IG9uQ29udGVudENoYW5nZTsgIC8vL1xuXG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuXG4gICAgICBpZiAoY29udGVudENoYW5nZUhhbmRsZXIpIHtcbiAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy5wbHVnaW4udXBkYXRlKGNvbnRlbnQpO1xuXG4gICAgY29uc3QgdG9rZW5zID0gdGhpcy5wbHVnaW4uZ2V0VG9rZW5zKCk7XG5cbiAgICB0aGlzLnVwZGF0ZVByZXR0eVByaW50ZXIodG9rZW5zKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgZmlyYUNvZGUgPSBERUZBVUxUX0ZJUkFfQ09ERSwgYXV0b0hlaWdodCA9IERFRkFVTFRfQVVUT19IRUlHSFQgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmIChmaXJhQ29kZSkge1xuICAgICAgdGhpcy5hZGRDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgICB9XG5cbiAgICBpZiAoYXV0b0hlaWdodCkge1xuICAgICAgY29uc3QgbGluZUhlaWdodCA9IHRoaXMuZ2V0TGluZUhlaWdodCgpLFxuICAgICAgICAgICAgcGFkZGluZ1RvcCA9IHRoaXMuZ2V0UGFkZGluZ1RvcCgpLFxuICAgICAgICAgICAgcGFkZGluZ0JvdHRvbSA9IHRoaXMuZ2V0UGFkZGluZ0JvdHRvbSgpLFxuICAgICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgICBpbml0aWFsTGluZUNvdW50ID0gdGhpcy5nZXRJbml0aWFsTGluZUNvdW50KCksXG4gICAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyQm90dG9tV2lkdGgoKSxcbiAgICAgICAgICAgIHNjcm9sbGJhclRoaWNrbmVzcyA9IHRoaXMuZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCksXG4gICAgICAgICAgICBoZWlnaHQgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBpbml0aWFsTGluZUNvdW50ICogbGluZUhlaWdodCArIHBhZGRpbmdCb3R0b20gKyBib3JkZXJCb3R0b21XaWR0aCArIHNjcm9sbGJhclRoaWNrbmVzcztcblxuICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICBjb25zdCB7IGZpcmFDb2RlID0gREVGQVVMVF9GSVJBX0NPREUgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmIChmaXJhQ29kZSkge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgICB9XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgaGlkZGVuR3V0dGVyID0gREVGQVVMVF9ISURERU5fR1VUVEVSLCBoaWRkZW5TY3JvbGxiYXJzID0gREVGQVVMVF9ISURERU5fU0NST0xMQkFSUywgZmFuY3lTY3JvbGxiYXJzID0gREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gKFxuXG4gICAgICA8UHJldHR5UHJpbnRlciBvbkNoYW5nZT17dGhpcy5jaGFuZ2VIYW5kbGVyfSBoaWRkZW5HdXR0ZXI9e2hpZGRlbkd1dHRlcn0gZmFuY3lTY3JvbGxiYXJzPXtmYW5jeVNjcm9sbGJhcnN9IGhpZGRlblNjcm9sbGJhcnM9e2hpZGRlblNjcm9sbGJhcnN9IC8+XG5cbiAgICApO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBnZXRQbHVnaW4gPSB0aGlzLmdldFBsdWdpbi5iaW5kKHRoaXMpLFxuICAgICAgICAgIGdldENvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQuYmluZCh0aGlzKSxcbiAgICAgICAgICB1cGRhdGVZYXBwID0gdGhpcy51cGRhdGUuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBMZXhlciA9IHRoaXMuc2V0TGV4ZXIuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBQYXJzZXIgPSB0aGlzLnNldFBhcnNlci5iaW5kKHRoaXMpOyAgLy8vXG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldFBsdWdpbixcbiAgICAgIGdldENvbnRlbnQsXG4gICAgICB1cGRhdGVZYXBwLFxuICAgICAgc2V0WWFwcExleGVyLFxuICAgICAgc2V0WWFwcFBhcnNlclxuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIGNvbnN0IHsgY2hpbGRFbGVtZW50cywgZWRpdGFibGUgPSBERUZBVUxUX0VESVRBQkxFIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgbGFuZ3VhZ2UgPSB0aGlzLnBsdWdpbi5nZXRMYW5ndWFnZSgpLFxuICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMoY2hpbGRFbGVtZW50cyksXG4gICAgICAgICAgcmVhZE9ubHkgPSAhZWRpdGFibGU7XG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQ29udGVudChjb250ZW50KTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhUmVhZE9ubHkocmVhZE9ubHkpO1xuXG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInlhcHBcIlxuICB9O1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIlBsdWdpblwiLFxuICAgIFwibGFuZ3VhZ2VcIixcbiAgICBcImZpcmFDb2RlXCIsXG4gICAgXCJlZGl0YWJsZVwiLFxuICAgIFwiYXV0b0hlaWdodFwiLFxuICAgIFwiaGlkZGVuR3V0dGVyXCIsXG4gICAgXCJub1Njcm9sbGJhcnNcIixcbiAgICBcImZhbmN5U2Nyb2xsYmFyc1wiLFxuICAgIFwib25Db250ZW50Q2hhbmdlXCJcbiAgXTtcblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoY29udGVudCwgbGFuZ3VhZ2UsIFBsdWdpbiwgb3B0aW9ucykge1xuICAgIGNvbnN0IENsYXNzID0gWWFwcCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zKGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMpIHtcbiAgICBjb25zdCB7IGxhbmd1YWdlLCBQbHVnaW4gfSA9IHByb3BlcnRpZXMsXG4gICAgICAgICAgcGx1Z2luID0gcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luKGxhbmd1YWdlLCBQbHVnaW4pLFxuICAgICAgICAgIHlhcHAgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgcGx1Z2luKTtcblxuICAgIHJldHVybiB5YXBwO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oWWFwcC5wcm90b3R5cGUsIHN0eWxlTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFlhcHApYFxuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBcbiAgY29sb3I6ICR7Y29sb3VyfTtcbiAgY2FyZXQtY29sb3I6ICR7Y2FyZXRDb2xvdXJ9O1xuICBib3JkZXItY29sb3I6ICR7Ym9yZGVyQ29sb3VyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtiYWNrZ3JvdW5kQ29sb3VyfTtcblxuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LWZhbWlseTogXCJNZW5sb1wiLCBcIkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXJcIiwgbW9ub3NwYWNlO1xuXG4gIC5maXJhLWNvZGUge1xuXG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgQ29kZVwiO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAxO1xuICAgIFxuICB9XG5cbmA7XG4iXSwibmFtZXMiOlsiWWFwcCIsInNlbGVjdG9yIiwicGx1Z2luIiwiY2hhbmdlSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInJpY2hUZXh0YXJlYSIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJwcm9wZXJ0aWVzIiwib25Db250ZW50Q2hhbmdlIiwiY29udGVudENoYW5nZUhhbmRsZXIiLCJ1cGRhdGUiLCJnZXRQbHVnaW4iLCJnZXRDb250ZW50IiwicmljaFRleHRhcmVhQ29udGVudCIsImdldFJpY2hUZXh0YXJlYUNvbnRlbnQiLCJjb250ZW50IiwiZ2V0SW5pdGlhbExpbmVDb3VudCIsImxpbmVDb3VudCIsImxpbmVDb3VudEZyb21Db250ZW50IiwiaW5pdGlhbExpbmVDb3VudCIsInNldExleGVyIiwibGV4ZXIiLCJzZXRQYXJzZXIiLCJwYXJzZXIiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJ1cGRhdGVQcmV0dHlQcmludGVyIiwiZGlkTW91bnQiLCJmaXJhQ29kZSIsIkRFRkFVTFRfRklSQV9DT0RFIiwiYXV0b0hlaWdodCIsIkRFRkFVTFRfQVVUT19IRUlHSFQiLCJhZGRDbGFzcyIsImxpbmVIZWlnaHQiLCJnZXRMaW5lSGVpZ2h0IiwicGFkZGluZ1RvcCIsImdldFBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiZ2V0UGFkZGluZ0JvdHRvbSIsImJvcmRlclRvcFdpZHRoIiwiZ2V0Qm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCIsImdldEJvcmRlckJvdHRvbVdpZHRoIiwic2Nyb2xsYmFyVGhpY2tuZXNzIiwiZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzIiwiaGVpZ2h0Iiwic2V0SGVpZ2h0Iiwid2lsbFVubW91bnQiLCJyZW1vdmVDbGFzcyIsImNoaWxkRWxlbWVudHMiLCJoaWRkZW5HdXR0ZXIiLCJERUZBVUxUX0hJRERFTl9HVVRURVIiLCJoaWRkZW5TY3JvbGxiYXJzIiwiREVGQVVMVF9ISURERU5fU0NST0xMQkFSUyIsImZhbmN5U2Nyb2xsYmFycyIsIkRFRkFVTFRfRkFOQ1lfU0NST0xMQkFSUyIsIlByZXR0eVByaW50ZXIiLCJvbkNoYW5nZSIsInBhcmVudENvbnRleHQiLCJiaW5kIiwidXBkYXRlWWFwcCIsInNldFlhcHBMZXhlciIsInNldFlhcHBQYXJzZXIiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImVkaXRhYmxlIiwiREVGQVVMVF9FRElUQUJMRSIsImxhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2UiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJyZWFkT25seSIsInNldExhbmd1YWdlIiwic2V0UmljaFRleHRhcmVhQ29udGVudCIsInNldFJpY2hUZXh0YXJlYVJlYWRPbmx5IiwiZnJvbUNvbnRlbnQiLCJQbHVnaW4iLCJvcHRpb25zIiwiQ2xhc3MiLCJwcm9wZXJ0aWVzRnJvbUNvbnRlbnRMYW5ndWFnZVBsdWdpbkFuZE9wdGlvbnMiLCJwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4iLCJ5YXBwIiwiRWxlbWVudCIsImZyb21DbGFzcyIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwic3R5bGVNaXhpbnMiLCJ3aXRoU3R5bGUiLCJjb2xvdXIiLCJjYXJldENvbG91ciIsImJvcmRlckNvbG91ciIsImJhY2tncm91bmRDb2xvdXIiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7OzsrQkF1TGIsU0F5QkU7OztlQXpCRixRQXlCRTs7O2tFQTlNb0IsaUJBQWlCO29CQUVSLE1BQU07MERBRWIsZ0JBQWdCO2tFQUNkLGlCQUFpQjtzQkFFQyxvQkFBb0I7MEJBQ0Ysd0JBQXdCO3VCQUN2QixxQkFBcUI7c0JBQ2hCLGlCQUFpQjt3QkFDZ0UsWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqSyxJQUFBLEFBQU1BLElBQUksaUJBc0tQLEFBdEtIO2NBQU1BLElBQUk7OEJBQUpBLElBQUk7YUFBSkEsSUFBSSxDQUNJQyxRQUFRLEVBQUVDLE1BQU07OEJBRHhCRixJQUFJOztrQ0FFQUMsUUFBUSxFQUFFO1FBNEJsQkUsK0NBQUFBLGVBQWEsRUFBRyxTQUFDQyxLQUFLLEVBQUVDLE9BQU8sRUFBSztZQUNsQyxJQUFNQyxZQUFZLEdBQUdELE9BQU8sRUFDdEJFLGNBQWMsR0FBR0QsWUFBWSxDQUFDRSxpQkFBaUIsRUFBRSxBQUFDO1lBRXhELElBQUlELGNBQWMsRUFBRTtnQkFDbEIsSUFBbUMsV0FBZSxHQUFmLE1BQUtFLFVBQVUscUJBQWYsV0FBZSxDQUExQ0MsZUFBZSxFQUFmQSxlQUFlLGlDQUFHLElBQUksbUJBQUEsRUFDeEJDLG9CQUFvQixHQUFHRCxlQUFlLEFBQUMsRUFBRSxHQUFHO2dCQUVsRCxNQUFLRSxNQUFNLEVBQUUsQ0FBQztnQkFFZCxJQUFJRCxvQkFBb0IsRUFBRTtvQkFDeEJOLE9BQU8sZ0NBQU8sQ0FBQyxDQUFDLEdBQUc7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
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -5,16 +5,6 @@ import withStyle from "easy-with-style"; ///
|
|
|
5
5
|
import { SizeableDiv } from "easy-layout";
|
|
6
6
|
|
|
7
7
|
class LeftSizeableDiv extends SizeableDiv {
|
|
8
|
-
parentContext() {
|
|
9
|
-
const context = this.getContext(),
|
|
10
|
-
getLeftSizeableDivWidth = this.getWidth.bind(this),
|
|
11
|
-
parentContext = Object.assign(context, {
|
|
12
|
-
getLeftSizeableDivWidth
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
return parentContext;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
static defaultProperties = {
|
|
19
9
|
className: "left"
|
|
20
10
|
};
|
|
@@ -5,16 +5,6 @@ import withStyle from "easy-with-style"; ///
|
|
|
5
5
|
import { SizeableDiv } from "easy-layout";
|
|
6
6
|
|
|
7
7
|
class TopSizeableDiv extends SizeableDiv {
|
|
8
|
-
parentContext() {
|
|
9
|
-
const context = this.getContext(),
|
|
10
|
-
getTopSizeableDivHeight = this.getHeight.bind(this),
|
|
11
|
-
parentContext = Object.assign(context, {
|
|
12
|
-
getTopSizeableDivHeight
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
return parentContext;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
static defaultProperties = {
|
|
19
9
|
className: "top"
|
|
20
10
|
};
|
package/src/example/view.js
CHANGED
|
@@ -86,7 +86,7 @@ class View extends Element {
|
|
|
86
86
|
childElements() {
|
|
87
87
|
const { Plugin, firaCode, initialContent } = this.constructor;
|
|
88
88
|
|
|
89
|
-
return (
|
|
89
|
+
return (
|
|
90
90
|
|
|
91
91
|
<ColumnsDiv>
|
|
92
92
|
<LeftSizeableDiv>
|
|
@@ -142,7 +142,7 @@ class View extends Element {
|
|
|
142
142
|
</ColumnDiv>
|
|
143
143
|
</ColumnsDiv>
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
initialise() {
|
package/src/highlights.js
CHANGED
|
@@ -6,6 +6,8 @@ import { Element } from "easy";
|
|
|
6
6
|
|
|
7
7
|
import Syntax from "./syntax";
|
|
8
8
|
|
|
9
|
+
import { MARGIN_RIGHT, MARGIN_BOTTOM } from "./constants";
|
|
10
|
+
|
|
9
11
|
class Highlights extends Element {
|
|
10
12
|
update(tokens) {
|
|
11
13
|
this.updateSyntax(tokens);
|
|
@@ -15,6 +17,19 @@ class Highlights extends Element {
|
|
|
15
17
|
this.scrollSyntax(scrollTop, scrollLeft);
|
|
16
18
|
}
|
|
17
19
|
|
|
20
|
+
didMount() {
|
|
21
|
+
const { scrollbarThickness } = this.properties,
|
|
22
|
+
marginRight = `${scrollbarThickness}px`,
|
|
23
|
+
marginBottom = `${scrollbarThickness}px`;
|
|
24
|
+
|
|
25
|
+
this.style(MARGIN_RIGHT, marginRight);
|
|
26
|
+
this.style(MARGIN_BOTTOM, marginBottom);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
willUnmount() {
|
|
30
|
+
///
|
|
31
|
+
}
|
|
32
|
+
|
|
18
33
|
childElements() {
|
|
19
34
|
return (
|
|
20
35
|
|
|
@@ -37,14 +52,17 @@ class Highlights extends Element {
|
|
|
37
52
|
|
|
38
53
|
initialise() {
|
|
39
54
|
this.assignContext([
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"scrollbarThickness"
|
|
55
|
+
"updateSyntax",
|
|
56
|
+
"scrollSyntax"
|
|
43
57
|
]);
|
|
44
58
|
}
|
|
45
59
|
|
|
46
60
|
static tagName = "div";
|
|
47
61
|
|
|
62
|
+
static ignoredProperties = [
|
|
63
|
+
"scrollbarThickness"
|
|
64
|
+
];
|
|
65
|
+
|
|
48
66
|
static defaultProperties = {
|
|
49
67
|
className: "highlights"
|
|
50
68
|
};
|
|
@@ -53,8 +71,8 @@ class Highlights extends Element {
|
|
|
53
71
|
export default withStyle(Highlights)`
|
|
54
72
|
|
|
55
73
|
z-index: 0;
|
|
56
|
-
width:
|
|
57
|
-
height:
|
|
74
|
+
width: auto;
|
|
75
|
+
height: auto;
|
|
58
76
|
overflow: hidden;
|
|
59
77
|
position: relative;
|
|
60
78
|
grid-area: highlights-rich-textarea;
|
package/src/prettyPrinter.js
CHANGED
|
@@ -8,6 +8,8 @@ import Gutter from "./gutter";
|
|
|
8
8
|
import Highlights from "./highlights";
|
|
9
9
|
import RichTextarea from "./richTextarea";
|
|
10
10
|
|
|
11
|
+
import { getScrollbarThickness } from "./utilities/scrollbarThickness";
|
|
12
|
+
|
|
11
13
|
class PrettyPrinter extends Element {
|
|
12
14
|
scrollHandler = (event, element) => {
|
|
13
15
|
const richTextarea = element, ///
|
|
@@ -15,18 +17,21 @@ class PrettyPrinter extends Element {
|
|
|
15
17
|
scrollLeft = richTextarea.getScrollLeft();
|
|
16
18
|
|
|
17
19
|
this.scrollGutter(scrollTop ,scrollLeft);
|
|
18
|
-
|
|
20
|
+
|
|
21
|
+
this.scrollHighlights(scrollTop, scrollLeft);
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
update(tokens) {
|
|
22
|
-
this.updateSyntax(tokens);
|
|
23
25
|
this.updateGutter(tokens);
|
|
26
|
+
|
|
27
|
+
this.updateHighlights(tokens);
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
childElements() {
|
|
27
|
-
const { onChange, hiddenGutter, fancyScrollbars, hiddenScrollbars
|
|
31
|
+
const { onChange, hiddenGutter, fancyScrollbars, hiddenScrollbars } = this.properties,
|
|
28
32
|
hidden = hiddenGutter, ///
|
|
29
|
-
changeHandler = onChange
|
|
33
|
+
changeHandler = onChange, ///
|
|
34
|
+
scrollbarThickness = getScrollbarThickness(hiddenScrollbars, fancyScrollbars);
|
|
30
35
|
|
|
31
36
|
return ([
|
|
32
37
|
|
|
@@ -50,12 +55,9 @@ class PrettyPrinter extends Element {
|
|
|
50
55
|
initialise() {
|
|
51
56
|
this.assignContext([
|
|
52
57
|
"updateGutter",
|
|
53
|
-
"updateSyntax",
|
|
54
58
|
"scrollGutter",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"getGutterWidth",
|
|
58
|
-
"setSyntaxBounds"
|
|
59
|
+
"updateHighlights",
|
|
60
|
+
"scrollHighlights"
|
|
59
61
|
]);
|
|
60
62
|
}
|
|
61
63
|
|
|
@@ -70,8 +72,7 @@ class PrettyPrinter extends Element {
|
|
|
70
72
|
"hiddenGutter",
|
|
71
73
|
"hiddenGutter",
|
|
72
74
|
"noScrollbars",
|
|
73
|
-
"fancyScrollbars"
|
|
74
|
-
"scrollbarThickness"
|
|
75
|
+
"fancyScrollbars"
|
|
75
76
|
];
|
|
76
77
|
}
|
|
77
78
|
|
package/src/richTextarea.js
CHANGED
|
@@ -31,10 +31,16 @@ const outerDivWidth = outerDiv.getWidth(),
|
|
|
31
31
|
|
|
32
32
|
outerDiv.remove();
|
|
33
33
|
|
|
34
|
-
export function getScrollbarThickness(fancyScrollbars) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
export function getScrollbarThickness(hiddenScrollbars, fancyScrollbars) {
|
|
35
|
+
let scrollbarThickness;
|
|
36
|
+
|
|
37
|
+
if (hiddenScrollbars) {
|
|
38
|
+
scrollbarThickness = 0;
|
|
39
|
+
} else {
|
|
40
|
+
scrollbarThickness = fancyScrollbars ?
|
|
41
|
+
stripPixels(stylesScrollbarThickness) : ///
|
|
42
|
+
outerDivWidth - innerDivWidth; ///
|
|
43
|
+
}
|
|
38
44
|
|
|
39
45
|
return scrollbarThickness;
|
|
40
46
|
}
|
package/src/yapp.js
CHANGED
|
@@ -7,7 +7,6 @@ import { React, Element } from "easy";
|
|
|
7
7
|
import styleMixins from "./mixins/style";
|
|
8
8
|
import PrettyPrinter from "./prettyPrinter";
|
|
9
9
|
|
|
10
|
-
import { getScrollbarThickness } from "./utilities/scrollbarThickness";
|
|
11
10
|
import { pluginFromLanguageAndPlugin } from "./utilities/plugin";
|
|
12
11
|
import { propertiesFromContentLanguagePluginAndOptions } from "./utilities/properties";
|
|
13
12
|
import { lineCountFromContent, contentFromChildElements } from "./utilities/content";
|
|
@@ -21,24 +20,6 @@ class Yapp extends Element {
|
|
|
21
20
|
this.plugin = plugin;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
changeHandler = (event, element) => {
|
|
25
|
-
const richTextarea = element, ///
|
|
26
|
-
contentChanged = richTextarea.hasContentChanged();
|
|
27
|
-
|
|
28
|
-
if (contentChanged) {
|
|
29
|
-
const { onContentChange = null } = this.properties,
|
|
30
|
-
contentChangeHandler = onContentChange; ///
|
|
31
|
-
|
|
32
|
-
this.update();
|
|
33
|
-
|
|
34
|
-
if (contentChangeHandler) {
|
|
35
|
-
element = this; ///
|
|
36
|
-
|
|
37
|
-
contentChangeHandler(event, element);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
23
|
getPlugin() {
|
|
43
24
|
return this.plugin;
|
|
44
25
|
}
|
|
@@ -58,23 +39,27 @@ class Yapp extends Element {
|
|
|
58
39
|
return initialLineCount;
|
|
59
40
|
}
|
|
60
41
|
|
|
61
|
-
|
|
62
|
-
let scrollbarThickness = 0;
|
|
42
|
+
setLexer(lexer) { this.plugin.setLexer(lexer); }
|
|
63
43
|
|
|
64
|
-
|
|
44
|
+
setParser(parser) { this.plugin.setParser(parser); }
|
|
65
45
|
|
|
66
|
-
|
|
67
|
-
|
|
46
|
+
changeHandler = (event, element) => {
|
|
47
|
+
const richTextarea = element, ///
|
|
48
|
+
contentChanged = richTextarea.hasContentChanged();
|
|
68
49
|
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
if (contentChanged) {
|
|
51
|
+
const { onContentChange = null } = this.properties,
|
|
52
|
+
contentChangeHandler = onContentChange; ///
|
|
71
53
|
|
|
72
|
-
|
|
73
|
-
}
|
|
54
|
+
this.update();
|
|
74
55
|
|
|
75
|
-
|
|
56
|
+
if (contentChangeHandler) {
|
|
57
|
+
element = this; ///
|
|
76
58
|
|
|
77
|
-
|
|
59
|
+
contentChangeHandler(event, element);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
78
63
|
|
|
79
64
|
update() {
|
|
80
65
|
const content = this.getContent();
|
|
@@ -116,16 +101,11 @@ class Yapp extends Element {
|
|
|
116
101
|
}
|
|
117
102
|
|
|
118
103
|
childElements() {
|
|
119
|
-
const { hiddenGutter = DEFAULT_HIDDEN_GUTTER, hiddenScrollbars = DEFAULT_HIDDEN_SCROLLBARS, fancyScrollbars = DEFAULT_FANCY_SCROLLBARS } = this.properties
|
|
120
|
-
scrollbarThickness = this.getScrollbarThickness();
|
|
104
|
+
const { hiddenGutter = DEFAULT_HIDDEN_GUTTER, hiddenScrollbars = DEFAULT_HIDDEN_SCROLLBARS, fancyScrollbars = DEFAULT_FANCY_SCROLLBARS } = this.properties;
|
|
121
105
|
|
|
122
106
|
return (
|
|
123
107
|
|
|
124
|
-
<PrettyPrinter onChange={this.changeHandler}
|
|
125
|
-
hiddenGutter={hiddenGutter}
|
|
126
|
-
fancyScrollbars={fancyScrollbars}
|
|
127
|
-
hiddenScrollbars={hiddenScrollbars}
|
|
128
|
-
scrollbarThickness={scrollbarThickness} />
|
|
108
|
+
<PrettyPrinter onChange={this.changeHandler} hiddenGutter={hiddenGutter} fancyScrollbars={fancyScrollbars} hiddenScrollbars={hiddenScrollbars} />
|
|
129
109
|
|
|
130
110
|
);
|
|
131
111
|
}
|
|
@@ -135,8 +115,6 @@ class Yapp extends Element {
|
|
|
135
115
|
getContent = this.getContent.bind(this),
|
|
136
116
|
updateYapp = this.update.bind(this), ///
|
|
137
117
|
setYappLexer = this.setLexer.bind(this), ///
|
|
138
|
-
setYappWidth = this.setWidth.bind(this), ///
|
|
139
|
-
setYappHeight = this.setHeight.bind(this), ///
|
|
140
118
|
setYappParser = this.setParser.bind(this); ///
|
|
141
119
|
|
|
142
120
|
return ({
|
|
@@ -144,8 +122,6 @@ class Yapp extends Element {
|
|
|
144
122
|
getContent,
|
|
145
123
|
updateYapp,
|
|
146
124
|
setYappLexer,
|
|
147
|
-
setYappWidth,
|
|
148
|
-
setYappHeight,
|
|
149
125
|
setYappParser
|
|
150
126
|
});
|
|
151
127
|
}
|