croco-html 2.0.8 → 2.1.0

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.
@@ -1,8 +1,9 @@
1
+ import { EAlignments } from "../components/editor/visual-editor/DefaultAligments";
1
2
  export const TextTag = "text";
2
3
  export class TextSimpleMethods {
3
4
  static { this.supportedTags = ["sup", "sub", "strong", "b", "i", "u"]; }
4
5
  static ExtractTextTag(elem) {
5
- var hAlignValue = elem.getAttribute("h-align") ?? "left";
6
+ var hAlignValue = elem.getAttribute("h-align") ?? EAlignments.Left;
6
7
  var data = {
7
8
  textTagName: elem.tagName.toLowerCase(),
8
9
  text: elem.innerText.trim().replace('\n\t', ''),
@@ -23,7 +24,7 @@ export class TextSimpleMethods {
23
24
  if (result.data.html === '\n') {
24
25
  result.data.html = '';
25
26
  }
26
- var alignmentVals = ["left", "right", "center"];
27
+ var alignmentVals = [EAlignments.Left, EAlignments.Right, EAlignments.Center];
27
28
  if (alignmentVals.indexOf(hAlignValue) < 0) {
28
29
  result.data.validationResult = {
29
30
  isSucceeded: false,
@@ -74,4 +75,4 @@ export class TextSimpleMethods {
74
75
  };
75
76
  }
76
77
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFNpbXBsZU1ldGhvZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9UZXh0U2ltcGxlTWV0aG9kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBb0I5QixNQUFNLE9BQU8saUJBQWlCO2FBRW5CLGtCQUFhLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRS9ELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBaUI7UUFDbkMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFhLENBQUM7UUFFaEUsSUFBSSxJQUFJLEdBQXNCO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxtQkFBbUIsRUFBRSxXQUFXO1lBQ2hDLGdCQUFnQixFQUFFO2dCQUNkLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPLEVBQUUsSUFBSTthQUNoQjtTQUNKLENBQUM7UUFFRixJQUFJLE1BQU0sR0FBa0I7WUFDeEIsSUFBSSxFQUFFLE9BQU87WUFDYixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFFRixJQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENB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OlsiaW1wb3J0IHsgQmFzZUFwaVJlc3BvbnNlIH0gZnJvbSBcIi4vVGFibGVNZXRob2RzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgVGV4dFRhZyA9IFwidGV4dFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVUZXh0VGFnIHtcclxuICAgIHR5cGU6IFwidGV4dFwiLFxyXG4gICAgZGF0YTogU2ltcGxlVGV4dFRhZ0RhdGFcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmljVGV4dFRhZyB7XHJcbiAgICB0eXBlOiBzdHJpbmcsXHJcbiAgICBkYXRhOiBTaW1wbGVUZXh0VGFnRGF0YVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZVRleHRUYWdEYXRhIHtcclxuICAgIHRleHRUYWdOYW1lOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICBodG1sOiBzdHJpbmcsXHJcbiAgICBob3Jpem9udGFsQWxpZ25tZW50OiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiY2VudGVyXCIsXHJcbiAgICB2YWxpZGF0aW9uUmVzdWx0OiBCYXNlQXBpUmVzcG9uc2VcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRleHRTaW1wbGVNZXRob2RzIHtcclxuXHJcbiAgICBzdGF0aWMgc3VwcG9ydGVkVGFncyA9IFtcInN1cFwiLCBcInN1YlwiLCBcInN0cm9uZ1wiLCBcImJcIiwgXCJpXCIsIFwidVwiXTtcclxuXHJcbiAgICBzdGF0aWMgRXh0cmFjdFRleHRUYWcoZWxlbTogSFRNTEVsZW1lbnQpOiBTaW1wbGVUZXh0VGFnIHtcclxuICAgICAgICB2YXIgaEFsaWduVmFsdWUgPSBlbGVtLmdldEF0dHJpYnV0ZShcImgtYWxpZ25cIikgPz8gXCJsZWZ0XCIgYXMgYW55O1xyXG5cclxuICAgICAgICB2YXIgZGF0YTogU2ltcGxlVGV4dFRhZ0RhdGEgPSB7XHJcbiAgICAgICAgICAgIHRleHRUYWdOYW1lOiBlbGVtLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxcclxuICAgICAgICAgICAgdGV4dDogZWxlbS5pbm5lclRleHQudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKSxcclxuICAgICAgICAgICAgaHRtbDogZWxlbS5pbm5lckhUTUwudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKSxcclxuICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogaEFsaWduVmFsdWUsXHJcbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQ6IHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0OiBTaW1wbGVUZXh0VGFnID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBUZXh0VGFnLFxyXG4gICAgICAgICAgICBkYXRhOiBkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYocmVzdWx0LmRhdGEudGV4dCA9PT0gJ1xcbicpe1xyXG4gICAgICAgICAgICByZXN1bHQuZGF0YS50ZXh0ID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHJlc3VsdC5kYXRhLmh0bWwgPT09ICdcXG4nKXtcclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEuaHRtbCA9ICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGFsaWdubWVudFZhbHMgPSBbXCJsZWZ0XCIsIFwicmlnaHRcIiwgXCJjZW50ZXJcIl07XHJcblxyXG4gICAgICAgIGlmIChhbGlnbm1lbnRWYWxzLmluZGV4T2YoaEFsaWduVmFsdWUpIDwgMCkge1xyXG5cclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEudmFsaWRhdGlvblJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQndC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LfQvdCw0YfQtdC90LjQtSDQsNGC0YDQuNCx0YPRgtCwIGgtYWxpZ24uINCU0L7Qv9GD0YHRgtC40LzRi9C1INC30L3QsNGH0LXQvdC40Y86ICR7YWxpZ25tZW50VmFscy5qb2luKCcsICcpfS4gYFxyXG4gICAgICAgICAgICAgICAgICAgICsgJ9CU0LDQvdC90YvQuSDRgtC10LMg0LzQvtC20L3QviDQvdC1INGD0LrQsNC30YvQstCw0YLRjCwg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4g0LHRg9C00LXRgiDQv9GA0LjQvNC10L3QtdC90L4g0LLRi9GA0LDQstC90LjQstCw0L3QuNC1INGB0LvQtdCy0LAuJ1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGh0bWwgPSByZXN1bHQuZGF0YS5odG1sO1xyXG4gICAgICAgIHZhciBodG1sVmFsaWRhdGlvbiA9IHRoaXMuVmFsaWRhdGVUZXh0SHRtbChodG1sKTtcclxuXHJcbiAgICAgICAgaWYoIWh0bWxWYWxpZGF0aW9uLmlzU3VjY2VlZGVkKXtcclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEudmFsaWRhdGlvblJlc3VsdCA9IGh0bWxWYWxpZGF0aW9uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVmFsaWRhdGVUZXh0SHRtbChodG1sOiBzdHJpbmcpIDogQmFzZUFwaVJlc3BvbnNle1xyXG5cclxuICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJwXCIpO1xyXG4gICAgICAgIHAuaW5uZXJIVE1MID0gaHRtbDtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBwLmNoaWxkcmVuLml0ZW0oaSk7XHJcblxyXG4gICAgICAgICAgICB2YXIgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMuVmFsaWRhdGVUYWcoZWxlbWVudCk7XHJcblxyXG4gICAgICAgICAgICBpZighdmFsaWRhdGlvblJlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6dHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogYE9rYFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVmFsaWRhdGVUYWcoZWxlbWVudCA6IEVsZW1lbnQpOiBCYXNlQXBpUmVzcG9uc2V7XHJcbiAgICAgICAgbGV0IGxvd2VyVGFnID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLnN1cHBvcnRlZFRhZ3MuaW5jbHVkZXMobG93ZXJUYWcpKXtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQotC10LMgPCR7bG93ZXJUYWd9PiDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0LLQvdGD0YLRgNC4INGC0LXQs9CwIDx0ZXh0PmBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5FbGVtZW50ID0gZWxlbWVudC5jaGlsZHJlbi5pdGVtKGkpO1xyXG5cclxuICAgICAgICAgICAgdmFyIGlubmVyVmFsaWRhdGlvblJlc3VsdCA9IHRoaXMuVmFsaWRhdGVUYWcobkVsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYoIWlubmVyVmFsaWRhdGlvblJlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5uZXJWYWxpZGF0aW9uUmVzdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFNpbXBsZU1ldGhvZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9UZXh0U2ltcGxlTWV0aG9kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scURBQXFELENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQztBQW9COUIsTUFBTSxPQUFPLGlCQUFpQjthQUVuQixrQkFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUvRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQWlCO1FBQ25DLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksV0FBVyxDQUFDLElBQVcsQ0FBQztRQUUxRSxJQUFJLElBQUksR0FBc0I7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQy9DLG1CQUFtQixFQUFFLFdBQVc7WUFDaEMsZ0JBQWdCLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2FBQ2hCO1NBQ0osQ0FBQztRQUVGLElBQUksTUFBTSxHQUFrQjtZQUN4QixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUVGLElBQUcsTUFBTSxDQUFDLElBQUks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QUFPO1lBQ0gsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UgfSBmcm9tIFwiLi9UYWJsZU1ldGhvZHNcIjtcclxuaW1wb3J0IHtFQWxpZ25tZW50c30gZnJvbSBcIi4uL2NvbXBvbmVudHMvZWRpdG9yL3Zpc3VhbC1lZGl0b3IvRGVmYXVsdEFsaWdtZW50c1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRleHRUYWcgPSBcInRleHRcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlVGV4dFRhZyB7XHJcbiAgICB0eXBlOiBcInRleHRcIixcclxuICAgIGRhdGE6IFNpbXBsZVRleHRUYWdEYXRhXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1RleHRUYWcge1xyXG4gICAgdHlwZTogc3RyaW5nLFxyXG4gICAgZGF0YTogU2ltcGxlVGV4dFRhZ0RhdGFcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVUZXh0VGFnRGF0YSB7XHJcbiAgICB0ZXh0VGFnTmFtZTogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgaHRtbDogc3RyaW5nLFxyXG4gICAgaG9yaXpvbnRhbEFsaWdubWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiLFxyXG4gICAgdmFsaWRhdGlvblJlc3VsdDogQmFzZUFwaVJlc3BvbnNlXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUZXh0U2ltcGxlTWV0aG9kcyB7XHJcblxyXG4gICAgc3RhdGljIHN1cHBvcnRlZFRhZ3MgPSBbXCJzdXBcIiwgXCJzdWJcIiwgXCJzdHJvbmdcIiwgXCJiXCIsIFwiaVwiLCBcInVcIl07XHJcblxyXG4gICAgc3RhdGljIEV4dHJhY3RUZXh0VGFnKGVsZW06IEhUTUxFbGVtZW50KTogU2ltcGxlVGV4dFRhZyB7XHJcbiAgICAgICAgdmFyIGhBbGlnblZhbHVlID0gZWxlbS5nZXRBdHRyaWJ1dGUoXCJoLWFsaWduXCIpID8/IEVBbGlnbm1lbnRzLkxlZnQgYXMgYW55O1xyXG5cclxuICAgICAgICB2YXIgZGF0YTogU2ltcGxlVGV4dFRhZ0RhdGEgPSB7XHJcbiAgICAgICAgICAgIHRleHRUYWdOYW1lOiBlbGVtLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxcclxuICAgICAgICAgICAgdGV4dDogZWxlbS5pbm5lclRleHQudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKSxcclxuICAgICAgICAgICAgaHRtbDogZWxlbS5pbm5lckhUTUwudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKSxcclxuICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogaEFsaWduVmFsdWUsXHJcbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQ6IHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0OiBTaW1wbGVUZXh0VGFnID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBUZXh0VGFnLFxyXG4gICAgICAgICAgICBkYXRhOiBkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYocmVzdWx0LmRhdGEudGV4dCA9PT0gJ1xcbicpe1xyXG4gICAgICAgICAgICByZXN1bHQuZGF0YS50ZXh0ID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHJlc3VsdC5kYXRhLmh0bWwgPT09ICdcXG4nKXtcclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEuaHRtbCA9ICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGFsaWdubWVudFZhbHMgPSBbRUFsaWdubWVudHMuTGVmdCwgRUFsaWdubWVudHMuUmlnaHQsIEVBbGlnbm1lbnRzLkNlbnRlcl07XHJcblxyXG4gICAgICAgIGlmIChhbGlnbm1lbnRWYWxzLmluZGV4T2YoaEFsaWduVmFsdWUpIDwgMCkge1xyXG5cclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEudmFsaWRhdGlvblJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQndC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LfQvdCw0YfQtdC90LjQtSDQsNGC0YDQuNCx0YPRgtCwIGgtYWxpZ24uINCU0L7Qv9GD0YHRgtC40LzRi9C1INC30L3QsNGH0LXQvdC40Y86ICR7YWxpZ25tZW50VmFscy5qb2luKCcsICcpfS4gYFxyXG4gICAgICAgICAgICAgICAgICAgICsgJ9CU0LDQvdC90YvQuSDRgtC10LMg0LzQvtC20L3QviDQvdC1INGD0LrQsNC30YvQstCw0YLRjCwg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4g0LHRg9C00LXRgiDQv9GA0LjQvNC10L3QtdC90L4g0LLRi9GA0LDQstC90LjQstCw0L3QuNC1INGB0LvQtdCy0LAuJ1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGh0bWwgPSByZXN1bHQuZGF0YS5odG1sO1xyXG4gICAgICAgIHZhciBodG1sVmFsaWRhdGlvbiA9IHRoaXMuVmFsaWRhdGVUZXh0SHRtbChodG1sKTtcclxuXHJcbiAgICAgICAgaWYoIWh0bWxWYWxpZGF0aW9uLmlzU3VjY2VlZGVkKXtcclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEudmFsaWRhdGlvblJlc3VsdCA9IGh0bWxWYWxpZGF0aW9uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVmFsaWRhdGVUZXh0SHRtbChodG1sOiBzdHJpbmcpIDogQmFzZUFwaVJlc3BvbnNle1xyXG5cclxuICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJwXCIpO1xyXG4gICAgICAgIHAuaW5uZXJIVE1MID0gaHRtbDtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBwLmNoaWxkcmVuLml0ZW0oaSk7XHJcblxyXG4gICAgICAgICAgICB2YXIgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMuVmFsaWRhdGVUYWcoZWxlbWVudCk7XHJcblxyXG4gICAgICAgICAgICBpZighdmFsaWRhdGlvblJlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6dHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogYE9rYFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVmFsaWRhdGVUYWcoZWxlbWVudCA6IEVsZW1lbnQpOiBCYXNlQXBpUmVzcG9uc2V7XHJcbiAgICAgICAgbGV0IGxvd2VyVGFnID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLnN1cHBvcnRlZFRhZ3MuaW5jbHVkZXMobG93ZXJUYWcpKXtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQotC10LMgPCR7bG93ZXJUYWd9PiDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0LLQvdGD0YLRgNC4INGC0LXQs9CwIDx0ZXh0PmBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5FbGVtZW50ID0gZWxlbWVudC5jaGlsZHJlbi5pdGVtKGkpO1xyXG5cclxuICAgICAgICAgICAgdmFyIGlubmVyVmFsaWRhdGlvblJlc3VsdCA9IHRoaXMuVmFsaWRhdGVUYWcobkVsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYoIWlubmVyVmFsaWRhdGlvblJlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5uZXJWYWxpZGF0aW9uUmVzdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=