mmhglobal-dynamicform 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,6 +3,15 @@
3
3
  This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
4
4
 
5
5
  ## Changelog
6
+ `2.0.2`<br/>
7
+ [mainservice] - mark form and controls as touched upon updateModel and failed validation.<br/>
8
+ [textarea] - Enhance character count to skip count on empty space, line break and continuous space.<br/>
9
+ Enhance setRequire() to use custom Required Validator that ignore continuous white spaces.<br/>
10
+
11
+ `2.0.1`<br/>
12
+ [zudf] - fix validation issue.<br/>
13
+ [mainservice] - minor fix for error when navigate.
14
+
6
15
  `2.0.0`<br/>
7
16
  Release library version 2.
8
17
  [ztree] - Enhanced component to hide all add/remove buttons before UI rendered.<br/>
@@ -24,6 +24,12 @@ export class FieldBase {
24
24
  this.setRequire = (status) => {
25
25
  this.componentProperties.isRequired = status;
26
26
  ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
27
+ if (this.data.Type === 'ztexteditor') {
28
+ ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, ZComponentHelper.requiredValidator_WithoutWhiteSpaces_TextEditor);
29
+ }
30
+ else {
31
+ ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, ZComponentHelper.requiredValidator_WithoutWhiteSpaces);
32
+ }
27
33
  };
28
34
  }
29
35
  initComponent() {
@@ -90,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
90
96
  }], componentProperties: [{
91
97
  type: Input
92
98
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPNUMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQW1CLFdBQThCO1FBQTlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUQxQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBK0NqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1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LENBQUM7UUFDM0UsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7O3VHQWxGVSxTQUFTOzJGQUFULFNBQVMsMExBSlYsRUFBRTs0RkFJRCxTQUFTO2tCQUxyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dHQUlVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogYXBwLWVycm9yLCB6Z2F1Z2UsIHpwcm9ncmVzc2JhciwgenJlcG9ydFxyXG5leHBvcnQgY2xhc3MgRmllbGRCYXNlIHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgY29udGFpbmVyRmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBjb21wb25lbnRQcm9wZXJ0aWVzOiBaQ29tcG9uZW50UHJvcGVydGllcztcclxuXHJcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgPSB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgfHwgbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRDb21wb25lbnRBZGRpdGlvbmFsUHJvcGVydGllcyh0aGlzKTtcclxuICAgIHRoaXMuY29tcFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudEZpZWxkKHRoaXMuZGF0YSwgdGhpcy5ncm91cCksIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIHRoaXMuZ3JvdXApXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0dXBJbm5lckZpZWxkKCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIGAke1pDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKX0gJHtkYXRhLkRpdkNsYXNzfSAke2RhdGEuQ2xhc3N9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJb25fSW52YWxpZENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXA/LmZvcm0/LmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBpZiAoZmMpIHtcclxuICAgICAgc3RhdHVzID8gZmMuZW5hYmxlKCkgOiBmYy5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55KSB7XHJcbiAgICBjb25zdCBpY29uTmFtZVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGljb25OYW1lLCB0aGlzLmdyb3VwKTtcclxuICAgIGlmIChpY29uTmFtZVZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lVmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZSA9ICF0aGlzLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPNUMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQW1CLFdBQThCO1FBQTlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUQxQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBK0NqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1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LElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRTtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQTJCTSxjQUFjLENBQUMsUUFBYTtRQUNqQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLGFBQWEsRUFBRTtZQUNqQixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsQ0FBQzs7dUdBekZVLFNBQVM7MkZBQVQsU0FBUywwTEFKVixFQUFFOzRGQUlELFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpGaWVsZCwgWkdyb3VwIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5cclxuLy8gRm9yOiBhcHAtZXJyb3IsIHpnYXVnZSwgenByb2dyZXNzYmFyLCB6cmVwb3J0XHJcbmV4cG9ydCBjbGFzcyBGaWVsZEJhc2Uge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBjb250YWluZXJGaWVsZDogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFByb3BlcnRpZXM6IFpDb21wb25lbnRQcm9wZXJ0aWVzO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuY29tcG9uZW50UHJvcGVydGllcyB8fCBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbXBvbmVudEFkZGl0aW9uYWxQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRDb21wU3R5bGVzQnlJbmRleCh0aGlzKTtcclxuICAgIHRoaXMuZGF0YS5Db21wb25lbnRTdHlsZVR5cGUgPSB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8IFwic3R5bGUxXCI7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW3RoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50RmllbGQodGhpcy5kYXRhLCB0aGlzLmdyb3VwKSwgdGhpcy5jb21wU2VydmljZS50cmFuc2xhdGVDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgdGhpcy5ncm91cCldKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXR1cElubmVyRmllbGQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTW9iaWxlU2NyZWVuKCkge1xyXG4gICAgY29uc3QgdiA9IFpDb21wb25lbnRIZWxwZXIuaXNNb2JpbGVTY3JlZW4oKTtcclxuICAgIHJldHVybiB2O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYCR7WkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpfSAke2RhdGEuRGl2Q2xhc3N9ICR7ZGF0YS5DbGFzc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldFN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRJY29uKGljb246IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmljb24gPSBpY29uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExhYmVsVGV4dChsYWJlbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgPSBsYWJlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDb250YWluZXJTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIHRoaXMuY29tcFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cD8uZm9ybT8uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGlmIChmYykge1xyXG4gICAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gJ3p0ZXh0ZWRpdG9yJykge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlc19UZXh0RWRpdG9yKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IGFueSkge1xyXG4gICAgY29uc3QgaWNvbk5hbWVWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShpY29uTmFtZSwgdGhpcy5ncm91cCk7XHJcbiAgICBpZiAoaWNvbk5hbWVWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRGb250QXdlc29tZShpY29uTmFtZVZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVFZGl0TW9kZSgpIHtcclxuICAgIHRoaXMuZGF0YVtgX0VkaXRNb2RlYF0udmFsdWUgPSAhdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZTtcclxuICB9XHJcbn1cclxuIl19