mmhglobal-dynamicform 2.12.2 → 2.12.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/README.md +5 -0
- package/esm2020/lib/ksplitter/ksplitter.component.mjs +3 -3
- package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +5 -5
- package/esm2020/lib/zform/zform.component.mjs +2 -2
- package/esm2020/lib/zgrid/zgrid.component.mjs +2 -2
- package/esm2020/lib/zloop/zloop.component.mjs +2 -2
- package/esm2020/lib/ztab/ztab.component.mjs +3 -3
- package/esm2020/lib/zudf/zudf.component.mjs +5 -5
- package/fesm2015/mmhglobal-dynamicform.mjs +15 -15
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +15 -15
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/virtual-scroll/virtual-scroll.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -101,7 +101,7 @@ export class ZloopComponent extends ContainerFieldBase {
|
|
|
101
101
|
const isVisible = ZComponentHelper.isVisibleFormControl(this, field);
|
|
102
102
|
const isRequired = ZComponentHelper.isRequiredFormControl(this, field);
|
|
103
103
|
if (isFormControl === true) {
|
|
104
|
-
const validators = ZComponentHelper.getValidators(field, isVisible, isRequired);
|
|
104
|
+
const validators = ZComponentHelper.getValidators(field, isVisible, isRequired, this.group);
|
|
105
105
|
this.group.form.addControl(field.Value, new FormControl(this.group.zModel[field.Value], validators));
|
|
106
106
|
this.clonedFormControlList.push(field.Value);
|
|
107
107
|
if (ZComponentHelper.hasCCField(field.Type)) {
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{ selector: 'app-zloop', template: "<div [style]=\"componentProperties.containerStyle.style\" class=\"e1tag-container-style zloop-container\"\r\n *ngIf=\"(!!componentProperties.isVisibleField? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of clonedFields\"\r\n [field]=\"field\"\r\n [containerField]=\"data\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".zloop-container{display:flex}@media (min-width: 357px){.zloop-container>app-zformcontrol.col-xs-1{width:8.333%}.zloop-container>app-zformcontrol.col-xs-2{width:16.666%}.zloop-container>app-zformcontrol.col-xs-3{width:25%}.zloop-container>app-zformcontrol.col-xs-4{width:33.333%}.zloop-container>app-zformcontrol.col-xs-5{width:41.666%}.zloop-container>app-zformcontrol.col-xs-6{width:50%}.zloop-container>app-zformcontrol.col-xs-8{width:66.666%}.zloop-container>app-zformcontrol.col-xs-9{width:75%}.zloop-container>app-zformcontrol.col-xs-10{width:83.333%}.zloop-container>app-zformcontrol.col-xs-11{width:91.667%}.zloop-container>app-zformcontrol.col-xs-12{width:100%}}@media (min-width: 576px){.zloop-container>app-zformcontrol.col-sm-1{width:8.333%}.zloop-container>app-zformcontrol.col-sm-2{width:16.666%}.zloop-container>app-zformcontrol.col-sm-3{width:25%}.zloop-container>app-zformcontrol.col-sm-4{width:33.333%}.zloop-container>app-zformcontrol.col-sm-5{width:41.666%}.zloop-container>app-zformcontrol.col-sm-6{width:50%}.zloop-container>app-zformcontrol.col-sm-7{width:58.333%}.zloop-container>app-zformcontrol.col-sm-8{width:66.666%}.zloop-container>app-zformcontrol.col-sm-9{width:75%}.zloop-container>app-zformcontrol.col-sm-10{width:83.333%}.zloop-container>app-zformcontrol.col-sm-11{width:91.667%}.zloop-container>app-zformcontrol.col-sm-12{width:100%}}@media (min-width: 768px){.zloop-container>app-zformcontrol.col-1,.zloop-container>app-zformcontrol.col-md-1{width:8.333%}.zloop-container>app-zformcontrol.col-2,.zloop-container>app-zformcontrol.col-md-2{width:16.666%}.zloop-container>app-zformcontrol.col-3,.zloop-container>app-zformcontrol.col-md-3{width:25%}.zloop-container>app-zformcontrol.col-4,.zloop-container>app-zformcontrol.col-md-4{width:33.333%}.zloop-container>app-zformcontrol.col-5,.zloop-container>app-zformcontrol.col-md-5{width:41.666%}.zloop-container>app-zformcontrol.col-6,.zloop-container>app-zformcontrol.col-md-6{width:50%}.zloop-container>app-zformcontrol.col-7,.zloop-container>app-zformcontrol.col-md-7{width:58.333%}.zloop-container>app-zformcontrol.col-8,.zloop-container>app-zformcontrol.col-md-8{width:66.666%}.zloop-container>app-zformcontrol.col-9,.zloop-container>app-zformcontrol.col-md-9{width:75%}.zloop-container>app-zformcontrol.col-10,.zloop-container>app-zformcontrol.col-md-10{width:83.333%}.zloop-container>app-zformcontrol.col-11,.zloop-container>app-zformcontrol.col-md-11{width:91.667%}.zloop-container>app-zformcontrol.col-12,.zloop-container>app-zformcontrol.col-md-12{width:100%}}@media (min-width: 992px){.zloop-container>app-zformcontrol.col-lg-1{width:8.333%}.zloop-container>app-zformcontrol.col-lg-2{width:16.666%}.zloop-container>app-zformcontrol.col-lg-3{width:25%}.zloop-container>app-zformcontrol.col-lg-4{width:33.333%}.zloop-container>app-zformcontrol.col-lg-5{width:41.666%}.zloop-container>app-zformcontrol.col-lg-6{width:50%}.zloop-container>app-zformcontrol.col-lg-7{width:58.333%}.zloop-container>app-zformcontrol.col-lg-8{width:66.666%}.zloop-container>app-zformcontrol.col-lg-9{width:75%}.zloop-container>app-zformcontrol.col-lg-10{width:83.333%}.zloop-container>app-zformcontrol.col-lg-11{width:91.667%}.zloop-container>app-zformcontrol.col-lg-12{width:100%}}@media (min-width: 1200px){.zloop-container>app-zformcontrol.col-xl-1{width:8.333%}.zloop-container>app-zformcontrol.col-xl-2{width:16.666%}.zloop-container>app-zformcontrol.col-xl-3{width:25%}.zloop-container>app-zformcontrol.col-xl-4{width:33.333%}.zloop-container>app-zformcontrol.col-xl-5{width:41.666%}.zloop-container>app-zformcontrol.col-xl-6{width:50%}.zloop-container>app-zformcontrol.col-xl-7{width:58.333%}.zloop-container>app-zformcontrol.col-xl-8{width:66.666%}.zloop-container>app-zformcontrol.col-xl-9{width:75%}.zloop-container>app-zformcontrol.col-xl-10{width:83.333%}.zloop-container>app-zformcontrol.col-xl-11{width:91.667%}.zloop-container>app-zformcontrol.col-xl-12{width:100%}}\n"] }]
|
|
122
122
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FieldService }]; } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxvb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFvQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQU9wRCxZQUNTLGdCQUFtQyxFQUNuQyxZQUEwQjtRQUVqQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUhqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUmxCLDJCQUFzQixHQUFHLGlCQUFpQixDQUFDO1FBQ3JELGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDBCQUFxQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDNUMsY0FBUyxHQUFHLEVBQVksQ0FBQztRQUN6QixtQ0FBOEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBT3RELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUNsQyw4REFBOEQ7WUFDOUQsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekMsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkM7YUFDRjtZQUVELHNCQUFzQjtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0Qsb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvSSxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBYTtRQUMxQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sS0FBSyxDQUFDLG9CQUFvQixJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztRQUVqTCxJQUFJLG9CQUFvQixJQUFJLFNBQVMsRUFBRTtZQUNyQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDcEI7UUFDRCxJQUFJLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQ3hDLEtBQUssSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDakYsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsdUNBQXVDLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzlGLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLHVDQUF1QyxDQUFDLE1BQXFCLEVBQUUsb0JBQXlCLEVBQUUsS0FBYTtRQUM3RyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUUxQixNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7WUFDN0wsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVwSixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUMxQixLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtvQkFDZixLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNoQztnQkFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM5QixJQUFJLENBQUMsdUNBQXVDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDeEY7cUJBQ0k7b0JBQ0gsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLElBQUksU0FBUyxFQUFFO3dCQUM1QyxLQUFLLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQztxQkFDM0M7eUJBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUNsRSxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7cUJBQzdDO2lCQUNGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDakQ7WUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDcEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO1lBRUQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLDZCQUE2QixDQUFDLEtBQWE7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNoRTthQUNGO2lCQUFNO2dCQUNMLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRXZFLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtvQkFDMUIsTUFBTSxVQUFVLEdBQWtCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUMvRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FDM0MsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUU3QyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQzNDLE1BQU0sWUFBWSxHQUFrQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQzt3QkFDbkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLENBQy9DLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDaEQ7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7MkdBL0hVLGNBQWM7K0ZBQWQsY0FBYyx3RUNiM0IsOHBCQVNBOzJGRElhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50SGVscGVyLCBGaWVsZFNlcnZpY2UsIFpDb21wb25lbnQsIFpGaWVsZCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtemxvb3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96bG9vcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemxvb3AuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBabG9vcENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBvcmlnaW5hbEZpZWxkTmFtZUZpZWxkID0gJ09yaU5hbWVGb3JabG9vcCc7XHJcbiAgcHVibGljIGNsb25lZEZpZWxkcyA9IFtdO1xyXG4gIHByaXZhdGUgY2xvbmVkRm9ybUNvbnRyb2xMaXN0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuICBwcml2YXRlIGluaXRGaWVsZCA9IHt9IGFzIFpGaWVsZDtcclxuICBwcml2YXRlIGNvbnBvbmVudFR5cGVzVG9Ob3RVcGRhdGVWYWx1ZSA9IFsnemJ1dHRvbnMnXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0RmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZSh0aGlzLmRhdGEpO1xyXG5cclxuICAgIHRoaXMuc2V0dXBMb29waW5nRWxlbWVudCgpO1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnN1YnNjcmliZSgoKSA9PiB7IHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7IH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2hGaWVsZEVsZW1lbnQoKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZSh0aGlzLmluaXRGaWVsZCk7XHJcbiAgICB0aGlzLnNldHVwTG9vcGluZ0VsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBMb29waW5nRWxlbWVudCgpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuTG9vcGluZ0VsZW1lbnRDb25maWcpIHtcclxuICAgICAgLy8gUmVtb3ZlIHByZXZpb3VzbHkgY2xvbmVkIGZpZWxkcyBmcm9tIGZvcm0gY29udHJvbHMgKGlmIGFueSlcclxuICAgICAgaWYgKHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZnTmFtZSBvZiB0aGlzLmNsb25lZEZvcm1Db250cm9sTGlzdCkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5mb3JtLnJlbW92ZUNvbnRyb2woZmdOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIENsb25lIHpsb29wJ3MgY2hpbGRcclxuICAgICAgdGhpcy5jbG9uZWRGaWVsZHMgPSB0aGlzLmNsb25lRmllbGRFbGVtZW50Q2hpbGQodGhpcy5kYXRhKTtcclxuXHJcbiAgICAgIC8vIEFwcGVuZCBjbG9uZWQgZmllbGRzIHRvIGdyb3VwLmZpZWxkcyBmb3IgZXJyb3IgbWVzc2FnZSBkaXNwbGF5aW5nXHJcbiAgICAgIHRoaXMuZ3JvdXAuY2xvbmVkRmllbGRzID0gWkNvbXBvbmVudEhlbHBlci5kZWVwQ2xvbmUodGhpcy5ncm91cC5maWVsZHMpO1xyXG4gICAgICBjb25zdCB0aGlzRmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkRnJvbUZpZWxkc0J5TmFtZSh0aGlzLmdyb3VwLmNsb25lZEZpZWxkcywgdGhpcy5kYXRhW3RoaXMub3JpZ2luYWxGaWVsZE5hbWVGaWVsZF0gfHwgdGhpcy5kYXRhLk5hbWUpO1xyXG4gICAgICB0aGlzRmllbGQuVmFsdWUgPSB0aGlzLmNsb25lZEZpZWxkcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvbmVGaWVsZEVsZW1lbnRDaGlsZChmaWVsZDogWkZpZWxkKTogQXJyYXk8WkZpZWxkPiB7XHJcbiAgICBjb25zdCBsb29waW5nRWxlbWVudENvbmZpZyA9IHR5cGVvZiBmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZyA9PSAnc3RyaW5nJyA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZywgdGhpcy5ncm91cCkgOiBmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZztcclxuXHJcbiAgICBpZiAobG9vcGluZ0VsZW1lbnRDb25maWcgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZC5WYWx1ZTtcclxuICAgIH1cclxuICAgIGxldCBmaWVsZFRvSW5zZXJ0ID0gbmV3IEFycmF5PFpGaWVsZD4oKTtcclxuICAgIGZvciAobGV0IGNvbmZpZ0luZGV4ID0gMDsgY29uZmlnSW5kZXggPCBsb29waW5nRWxlbWVudENvbmZpZy5Db3VudDsgY29uZmlnSW5kZXgrKykge1xyXG4gICAgICBjb25zdCBjbG9uZWRGaWVsZHMgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZShmaWVsZC5WYWx1ZSk7XHJcbiAgICAgIHRoaXMudXBkYXRlRmllbGRQcm9wZXJ0aWVzVG9NYWtlVGhlbURpc3RpbmN0KGNsb25lZEZpZWxkcywgbG9vcGluZ0VsZW1lbnRDb25maWcsIGNvbmZpZ0luZGV4KTtcclxuICAgICAgZmllbGRUb0luc2VydCA9IGZpZWxkVG9JbnNlcnQuY29uY2F0KGNsb25lZEZpZWxkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpZWxkVG9JbnNlcnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUZpZWxkUHJvcGVydGllc1RvTWFrZVRoZW1EaXN0aW5jdChmaWVsZHM6IEFycmF5PFpGaWVsZD4sIGxvb3BpbmdFbGVtZW50Q29uZmlnOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XHJcblxyXG4gICAgICBjb25zdCBlbGVtZW50Q29uZmlnID0gbG9vcGluZ0VsZW1lbnRDb25maWcuVG9SZXBsYWNlLmZpbmQoeCA9PiB4LkVsZW1lbnROYW1lID09IGZpZWxkLk5hbWUpIHx8IGxvb3BpbmdFbGVtZW50Q29uZmlnLlRvUmVwbGFjZS5maW5kKHggPT4geC5FbGVtZW50TmFtZSA9PSBmaWVsZFt0aGlzLm9yaWdpbmFsRmllbGROYW1lRmllbGRdKTtcclxuICAgICAgY29uc3QgZWxlbWVudENvbmZpZ1Byb3BlcnR5ID0gZWxlbWVudENvbmZpZyAmJiBlbGVtZW50Q29uZmlnLlByb3BlcnR5ICYmIGVsZW1lbnRDb25maWcuUHJvcGVydHkubGVuZ3RoID4gaW5kZXggPyBlbGVtZW50Q29uZmlnLlByb3BlcnR5W2luZGV4XSA6IHt9O1xyXG5cclxuICAgICAgaWYgKGZpZWxkLlR5cGUgIT09ICd6bG9vcCcpIHtcclxuICAgICAgICBmaWVsZC5OYW1lID0gYCR7ZmllbGQuTmFtZX1fJHtpbmRleCArIDF9YDtcclxuICAgICAgICBpZiAoZmllbGQuTGFiZWwpIHtcclxuICAgICAgICAgIGZpZWxkLkxhYmVsID0gYCR7ZmllbGQuTGFiZWx9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWVsZFByb3BlcnRpZXNUb01ha2VUaGVtRGlzdGluY3QoZmllbGQuVmFsdWUsIGxvb3BpbmdFbGVtZW50Q29uZmlnLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRDb25maWdQcm9wZXJ0eS5WYWx1ZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZmllbGQuVmFsdWUgPSBlbGVtZW50Q29uZmlnUHJvcGVydHkuVmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICghdGhpcy5jb25wb25lbnRUeXBlc1RvTm90VXBkYXRlVmFsdWUuaW5jbHVkZXMoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgZmllbGQuVmFsdWUgPSBgJHtmaWVsZC5WYWx1ZX1fJHtpbmRleCArIDF9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZmllbGRbdGhpcy5vcmlnaW5hbEZpZWxkTmFtZUZpZWxkXSA9IGZpZWxkLk5hbWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGVsZW1lbnRDb25maWdQcm9wZXJ0eSkpIHtcclxuICAgICAgICBmaWVsZFtrZXldID0gZWxlbWVudENvbmZpZ1Byb3BlcnR5W2tleV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q2xvbmVkRmllbGRzVG9Gb3JtQ29udHJvbHMoZmllbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDbG9uZWRGaWVsZHNUb0Zvcm1Db250cm9scyhmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBpZiAoIWZpZWxkLlN1YlR5cGUpIHtcclxuICAgICAgdGhpcy5maWVsZFNlcnZpY2UucGF0Y2hGaWVsZFByb3BlcnR5KGZpZWxkKTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgZmllbGQuVmFsdWUgPT09IFwic3RyaW5nXCIgJiYgZmllbGQuVmFsdWUuaW5kZXhPZihcIi5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgaWYgKFsnemdyaWQnLCAnenRyZWUnLCAndGV4dGFyZWFqc29uJ10uaW5kZXhPZihmaWVsZC5UeXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIkZvcm1Db250cm9sIC0gaW52YWxpZCBmaWVsZCB2YWx1ZVwiLCBmaWVsZC5WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGlzRm9ybUNvbnRyb2wgPSBaQ29tcG9uZW50SGVscGVyLmlzRm9ybUNvbnRyb2woZmllbGQpO1xyXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IFpDb21wb25lbnRIZWxwZXIuaXNWaXNpYmxlRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBaQ29tcG9uZW50SGVscGVyLmlzUmVxdWlyZWRGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcblxyXG4gICAgICAgIGlmIChpc0Zvcm1Db250cm9sID09PSB0cnVlKSB7XHJcbiAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRWYWxpZGF0b3JzKGZpZWxkLCBpc1Zpc2libGUsIGlzUmVxdWlyZWQpO1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5mb3JtLmFkZENvbnRyb2woZmllbGQuVmFsdWUsIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdLCB2YWxpZGF0b3JzXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICAgIHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0LnB1c2goZmllbGQuVmFsdWUpO1xyXG5cclxuICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgY29uc3QgY2NWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRDQ1ZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuZm9ybS5hZGRDb250cm9sKGZpZWxkLkNDVmFsdWUsIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSwgY2NWYWxpZGF0b3JzXHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB0aGlzLmNsb25lZEZvcm1Db250cm9sTGlzdC5wdXNoKGZpZWxkLkNDVmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUgemxvb3AtY29udGFpbmVyXCJcclxuICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZD8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIj5cclxuICA8YXBwLXpmb3JtY29udHJvbCBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6ICgoZmllbGQuVmlzaWJsZSA9PT0gdHJ1ZSkgPyAgZmllbGQuRGl2Q2xhc3MgOiAnZmxleC1oaWRlJylcIlxyXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNsb25lZEZpZWxkc1wiXHJcbiAgICBbZmllbGRdPVwiZmllbGRcIlxyXG4gICAgW2NvbnRhaW5lckZpZWxkXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiXHJcbiAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIiBjbGFzcz1cImUxdGFnLXN0eWxlMVwiPlxyXG4gIDwvYXBwLXpmb3JtY29udHJvbD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxvb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFvQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQU9wRCxZQUNTLGdCQUFtQyxFQUNuQyxZQUEwQjtRQUVqQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUhqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUmxCLDJCQUFzQixHQUFHLGlCQUFpQixDQUFDO1FBQ3JELGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDBCQUFxQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDNUMsY0FBUyxHQUFHLEVBQVksQ0FBQztRQUN6QixtQ0FBOEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBT3RELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLEtBQUss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QyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksV0FBVyxDQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUMzQyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRTdDLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDM0MsTUFBTSxZQUFZLEdBQWtCLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO3dCQUNuRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FDL0MsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUNoRDtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDOzsyR0EvSFUsY0FBYzsrRkFBZCxjQUFjLHdFQ2IzQiw4cEJBU0E7MkZESWEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIEZpZWxkU2VydmljZSwgWkNvbXBvbmVudCwgWkZpZWxkIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16bG9vcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3psb29wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96bG9vcC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpsb29wQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG9yaWdpbmFsRmllbGROYW1lRmllbGQgPSAnT3JpTmFtZUZvclpsb29wJztcclxuICBwdWJsaWMgY2xvbmVkRmllbGRzID0gW107XHJcbiAgcHJpdmF0ZSBjbG9uZWRGb3JtQ29udHJvbExpc3QgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgaW5pdEZpZWxkID0ge30gYXMgWkZpZWxkO1xyXG4gIHByaXZhdGUgY29ucG9uZW50VHlwZXNUb05vdFVwZGF0ZVZhbHVlID0gWyd6YnV0dG9ucyddO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBmaWVsZFNlcnZpY2U6IEZpZWxkU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRGaWVsZCA9IFpDb21wb25lbnRIZWxwZXIuZGVlcENsb25lKHRoaXMuZGF0YSk7XHJcblxyXG4gICAgdGhpcy5zZXR1cExvb3BpbmdFbGVtZW50KCk7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkuc3Vic2NyaWJlKCgpID0+IHsgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTsgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVmcmVzaEZpZWxkRWxlbWVudCgpIHtcclxuICAgIHRoaXMuZGF0YSA9IFpDb21wb25lbnRIZWxwZXIuZGVlcENsb25lKHRoaXMuaW5pdEZpZWxkKTtcclxuICAgIHRoaXMuc2V0dXBMb29waW5nRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cExvb3BpbmdFbGVtZW50KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5Mb29waW5nRWxlbWVudENvbmZpZykge1xyXG4gICAgICAvLyBSZW1vdmUgcHJldmlvdXNseSBjbG9uZWQgZmllbGRzIGZyb20gZm9ybSBjb250cm9scyAoaWYgYW55KVxyXG4gICAgICBpZiAodGhpcy5jbG9uZWRGb3JtQ29udHJvbExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZmdOYW1lIG9mIHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0KSB7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLmZvcm0ucmVtb3ZlQ29udHJvbChmZ05hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2xvbmUgemxvb3AncyBjaGlsZFxyXG4gICAgICB0aGlzLmNsb25lZEZpZWxkcyA9IHRoaXMuY2xvbmVGaWVsZEVsZW1lbnRDaGlsZCh0aGlzLmRhdGEpO1xyXG5cclxuICAgICAgLy8gQXBwZW5kIGNsb25lZCBmaWVsZHMgdG8gZ3JvdXAuZmllbGRzIGZvciBlcnJvciBtZXNzYWdlIGRpc3BsYXlpbmdcclxuICAgICAgdGhpcy5ncm91cC5jbG9uZWRGaWVsZHMgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZSh0aGlzLmdyb3VwLmZpZWxkcyk7XHJcbiAgICAgIGNvbnN0IHRoaXNGaWVsZCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRGcm9tRmllbGRzQnlOYW1lKHRoaXMuZ3JvdXAuY2xvbmVkRmllbGRzLCB0aGlzLmRhdGFbdGhpcy5vcmlnaW5hbEZpZWxkTmFtZUZpZWxkXSB8fCB0aGlzLmRhdGEuTmFtZSk7XHJcbiAgICAgIHRoaXNGaWVsZC5WYWx1ZSA9IHRoaXMuY2xvbmVkRmllbGRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9uZUZpZWxkRWxlbWVudENoaWxkKGZpZWxkOiBaRmllbGQpOiBBcnJheTxaRmllbGQ+IHtcclxuICAgIGNvbnN0IGxvb3BpbmdFbGVtZW50Q29uZmlnID0gdHlwZW9mIGZpZWxkLkxvb3BpbmdFbGVtZW50Q29uZmlnID09ICdzdHJpbmcnID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkLkxvb3BpbmdFbGVtZW50Q29uZmlnLCB0aGlzLmdyb3VwKSA6IGZpZWxkLkxvb3BpbmdFbGVtZW50Q29uZmlnO1xyXG5cclxuICAgIGlmIChsb29waW5nRWxlbWVudENvbmZpZyA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZpZWxkLlZhbHVlO1xyXG4gICAgfVxyXG4gICAgbGV0IGZpZWxkVG9JbnNlcnQgPSBuZXcgQXJyYXk8WkZpZWxkPigpO1xyXG4gICAgZm9yIChsZXQgY29uZmlnSW5kZXggPSAwOyBjb25maWdJbmRleCA8IGxvb3BpbmdFbGVtZW50Q29uZmlnLkNvdW50OyBjb25maWdJbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGNsb25lZEZpZWxkcyA9IFpDb21wb25lbnRIZWxwZXIuZGVlcENsb25lKGZpZWxkLlZhbHVlKTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZFByb3BlcnRpZXNUb01ha2VUaGVtRGlzdGluY3QoY2xvbmVkRmllbGRzLCBsb29waW5nRWxlbWVudENvbmZpZywgY29uZmlnSW5kZXgpO1xyXG4gICAgICBmaWVsZFRvSW5zZXJ0ID0gZmllbGRUb0luc2VydC5jb25jYXQoY2xvbmVkRmllbGRzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmllbGRUb0luc2VydDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRmllbGRQcm9wZXJ0aWVzVG9NYWtlVGhlbURpc3RpbmN0KGZpZWxkczogQXJyYXk8WkZpZWxkPiwgbG9vcGluZ0VsZW1lbnRDb25maWc6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcclxuXHJcbiAgICAgIGNvbnN0IGVsZW1lbnRDb25maWcgPSBsb29waW5nRWxlbWVudENvbmZpZy5Ub1JlcGxhY2UuZmluZCh4ID0+IHguRWxlbWVudE5hbWUgPT0gZmllbGQuTmFtZSkgfHwgbG9vcGluZ0VsZW1lbnRDb25maWcuVG9SZXBsYWNlLmZpbmQoeCA9PiB4LkVsZW1lbnROYW1lID09IGZpZWxkW3RoaXMub3JpZ2luYWxGaWVsZE5hbWVGaWVsZF0pO1xyXG4gICAgICBjb25zdCBlbGVtZW50Q29uZmlnUHJvcGVydHkgPSBlbGVtZW50Q29uZmlnICYmIGVsZW1lbnRDb25maWcuUHJvcGVydHkgJiYgZWxlbWVudENvbmZpZy5Qcm9wZXJ0eS5sZW5ndGggPiBpbmRleCA/IGVsZW1lbnRDb25maWcuUHJvcGVydHlbaW5kZXhdIDoge307XHJcblxyXG4gICAgICBpZiAoZmllbGQuVHlwZSAhPT0gJ3psb29wJykge1xyXG4gICAgICAgIGZpZWxkLk5hbWUgPSBgJHtmaWVsZC5OYW1lfV8ke2luZGV4ICsgMX1gO1xyXG4gICAgICAgIGlmIChmaWVsZC5MYWJlbCkge1xyXG4gICAgICAgICAgZmllbGQuTGFiZWwgPSBgJHtmaWVsZC5MYWJlbH1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQuVmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkUHJvcGVydGllc1RvTWFrZVRoZW1EaXN0aW5jdChmaWVsZC5WYWx1ZSwgbG9vcGluZ0VsZW1lbnRDb25maWcsIGluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudENvbmZpZ1Byb3BlcnR5LlZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBmaWVsZC5WYWx1ZSA9IGVsZW1lbnRDb25maWdQcm9wZXJ0eS5WYWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLmNvbnBvbmVudFR5cGVzVG9Ob3RVcGRhdGVWYWx1ZS5pbmNsdWRlcyhmaWVsZC5UeXBlKSkge1xyXG4gICAgICAgICAgICBmaWVsZC5WYWx1ZSA9IGAke2ZpZWxkLlZhbHVlfV8ke2luZGV4ICsgMX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBmaWVsZFt0aGlzLm9yaWdpbmFsRmllbGROYW1lRmllbGRdID0gZmllbGQuTmFtZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZWxlbWVudENvbmZpZ1Byb3BlcnR5KSkge1xyXG4gICAgICAgIGZpZWxkW2tleV0gPSBlbGVtZW50Q29uZmlnUHJvcGVydHlba2V5XTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRDbG9uZWRGaWVsZHNUb0Zvcm1Db250cm9scyhmaWVsZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENsb25lZEZpZWxkc1RvRm9ybUNvbnRyb2xzKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGlmICghZmllbGQuU3ViVHlwZSkge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiBmaWVsZC5WYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBmaWVsZC5WYWx1ZS5pbmRleE9mKFwiLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICBpZiAoWyd6Z3JpZCcsICd6dHJlZScsICd0ZXh0YXJlYWpzb24nXS5pbmRleE9mKGZpZWxkLlR5cGUpID09PSAtMSkge1xyXG4gICAgICAgICAgY29uc29sZS53YXJuKFwiRm9ybUNvbnRyb2wgLSBpbnZhbGlkIGZpZWxkIHZhbHVlXCIsIGZpZWxkLlZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IFpDb21wb25lbnRIZWxwZXIuaXNGb3JtQ29udHJvbChmaWVsZCk7XHJcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc1Zpc2libGVGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IFpDb21wb25lbnRIZWxwZXIuaXNSZXF1aXJlZEZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuXHJcbiAgICAgICAgaWYgKGlzRm9ybUNvbnRyb2wgPT09IHRydWUpIHtcclxuICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldFZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCwgdGhpcy5ncm91cCk7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwLmZvcm0uYWRkQ29udHJvbChmaWVsZC5WYWx1ZSwgbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5WYWx1ZV0sIHZhbGlkYXRvcnNcclxuICAgICAgICAgICkpO1xyXG4gICAgICAgICAgdGhpcy5jbG9uZWRGb3JtQ29udHJvbExpc3QucHVzaChmaWVsZC5WYWx1ZSk7XHJcblxyXG4gICAgICAgICAgaWYgKFpDb21wb25lbnRIZWxwZXIuaGFzQ0NGaWVsZChmaWVsZC5UeXBlKSkge1xyXG4gICAgICAgICAgICBjb25zdCBjY1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldENDVmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5ncm91cC5mb3JtLmFkZENvbnRyb2woZmllbGQuQ0NWYWx1ZSwgbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICAgIHRoaXMuZ3JvdXAuek1vZGVsW2ZpZWxkLkNDVmFsdWVdLCBjY1ZhbGlkYXRvcnNcclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0LnB1c2goZmllbGQuQ0NWYWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZSB6bG9vcC1jb250YWluZXJcIlxyXG4gICAgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiPlxyXG4gIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY2xvbmVkRmllbGRzXCJcclxuICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICBbY29udGFpbmVyRmllbGRdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBpZD1cInt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCI+XHJcbiAgPC9hcHAtemZvcm1jb250cm9sPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -95,7 +95,7 @@ export class ZtabComponent extends ContainerFieldBase {
|
|
|
95
95
|
Label: field.Label,
|
|
96
96
|
Icon: field.Icon ? field.Icon : null,
|
|
97
97
|
Visible: ZComponentHelper.getGroupValue(field.Visible, this.group),
|
|
98
|
-
Counter: typeof (field
|
|
98
|
+
Counter: typeof (field.Counter) === "string" ? ZComponentHelper.getGroupValue(field.Counter, this.group) : field.Counter,
|
|
99
99
|
Index: ind++
|
|
100
100
|
});
|
|
101
101
|
}
|
|
@@ -155,7 +155,7 @@ export class ZtabComponent extends ContainerFieldBase {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
let tabSelections = "tabSelections" in this.group ? this.group['tabSelections'] : null;
|
|
158
|
+
let tabSelections = ("tabSelections" in this.group ? this.group['tabSelections'] : null);
|
|
159
159
|
if (tabSelections !== null && tabSelections.has(this.data.Name)) { // subsequent loads
|
|
160
160
|
this.state.lastSelectedTabIndex = tabSelections.get(this.data.Name);
|
|
161
161
|
}
|
|
@@ -208,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
208
208
|
type: ViewChild,
|
|
209
209
|
args: ['kendoTabStripInstance']
|
|
210
210
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdoRCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxFQUVPLGdCQUFnQixFQUM3QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFTekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBa0I7SUFTbkQsWUFDUyxnQkFBbUMsRUFDbkMsa0JBQXNDLEVBQ3JDLGtCQUFzQyxFQUN0QyxjQUFxQyxFQUNyQyxXQUF3QjtRQUVoQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQU5qQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFYM0IsVUFBSyxHQUFHO1lBQ2Isb0JBQW9CLEVBQUUsQ0FBQztZQUN2QixXQUFXLEVBQUUsS0FBSyxFQUFZO1lB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QUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFFOUUsTUFBTSxlQUFlLEdBQUc7Z0JBQ3RCLEdBQUcsRUFBRSxPQUFPO2dCQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFO2dCQUN2RCxRQUFRLEVBQUUsUUFBUTthQUNuQixDQUFBO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUVILENBQUM7OzBHQXZOVSxhQUFhOzhGQUFiLGFBQWEsMExDMUIxQiwydkRBb0JBOzJGRE1hLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UsVUFBVTt3T0FNdUIsUUFBUTtzQkFBbEQsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRhYlN0cmlwQ29tcG9uZW50IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGF5b3V0JztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9udEF3ZVNvbWVTZXJ2aWNlLCBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsIFRyYW5zbGF0aW9uU2VydmljZSxcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaVGFiSXRlbVxyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtenRhYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3p0YWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3p0YWIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBadGFiQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdrZW5kb1RhYlN0cmlwSW5zdGFuY2UnKSBwdWJsaWMgdGFic3RyaXA6IFRhYlN0cmlwQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgc3RhdGUgPSB7XHJcbiAgICBsYXN0U2VsZWN0ZWRUYWJJbmRleDogMCxcclxuICAgIGN1cnJlbnRUYWJzOiBBcnJheTxaVGFiSXRlbT4oKSxcclxuICAgIGFsbFRhYnM6IEFycmF5PFpUYWJJdGVtPigpXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZm9udEF3ZVNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYWluU2VydmljZTogTWFpblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zICYmIHRoaXMuZGF0YS5UYWJJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMuZGF0YS5UYWJJdGVtcywgXCJMYWJlbFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFRhYnMoKTtcclxuICAgICAgICB0aGlzLnJlc3RvcmVUYWJTZWxlY3Rpb24oKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRUYWJzKCkge1xyXG4gICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICBJY29uOiB2YWxpZEljb24gPyB0aGlzLmRhdGEuSWNvbltpbmRleF0gOiBudWxsLFxyXG4gICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZGF0YS5UYWJWaXNpYmxlRmFsc2VJbmRleCkge1xyXG4gICAgICAgIHRoaXMuc2V0VGFic1Zpc2libGUodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICBsZXQgaW5kID0gMDtcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLmRhdGEuVGFiSXRlbXMpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiBmaWVsZC5MYWJlbCBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIEljb246IGZpZWxkLkljb24gPyBmaWVsZC5JY29uIGFzIHN0cmluZyA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5WaXNpYmxlIGFzIHN0cmluZywgdGhpcy5ncm91cCksXHJcbiAgICAgICAgICAgIENvdW50ZXI6IHR5cGVvZiAoZmllbGRbXCJDb3VudGVyXCJdKSA9PT0gXCJzdHJpbmdcIiA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZFtcIkNvdW50ZXJcIl0gYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSA6IGZpZWxkW1wiQ291bnRlclwiXSxcclxuICAgICAgICAgICAgSW5kZXg6IGluZCsrXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoQ3VycmVudFRhYnMoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c1N0YXRlVGFicyA9IHRoaXMuc3RhdGUuYWxsVGFicztcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMgPSBuZXcgQXJyYXk8WlRhYkl0ZW0+KCk7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYiA9IHByZXZpb3VzU3RhdGVUYWJzLmZpbHRlcih4ID0+IHguTGFiZWwgPT0gdGhpcy5kYXRhLkxhYmVsW2luZGV4XSk7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNUYWJWaXNpYmxlID0gcHJldmlvdXNUYWIubGVuZ3RoID4gMCA/IHByZXZpb3VzVGFiWzBdLlZpc2libGUgOiBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gcHJldmlvdXNUYWJWaXNpYmxlO1xyXG4gICAgICAgIGlmIChpc1Zpc2libGUpIHtcclxuICAgICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgICAgVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLCB0aGlzLnN0YXRlLmFsbFRhYnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRhYiA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFRhYih0YWJJbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5sYXN0U2VsZWN0ZWRUYWJJbmRleCA9PT0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U2VsZWN0VGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RvcmVUYWJTZWxlY3RJbmRleFRvU3RvcmFnZSh0YWJJbmRleCk7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlVGFiU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5BbGxvd1NhdmVTdGF0ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRyeSByZXRyaWV2ZSBmcm9tIHNlc3Npb25zdG9yYWdlXHJcbiAgICBpZiAodGhpcy5ncm91cC5jdHJsU2NvcGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuICAgICAgbGV0IHNhdmVkVGFiU2VsZWN0aW9uID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KTtcclxuICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgc2F2ZWRUYWJTZWxlY3Rpb24gPSBKU09OLnBhcnNlKHNhdmVkVGFiU2VsZWN0aW9uKTtcclxuICAgICAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZVVybCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uWyd1cmwnXSA9PSBhY3RpdmF0ZWRSb3V0ZVVybCAmJiBzYXZlZFRhYlNlbGVjdGlvblsncGFnZVBhcmFtJ10gPT0gdGhpcy5tYWluU2VydmljZS5nZXROYXZpZ2F0aW9uQ3VycmVudFBhcmFtKCkpIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10uc2V0KHRoaXMuZGF0YS5OYW1lLCBzYXZlZFRhYlNlbGVjdGlvblsndGFiSW5kZXgnXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRhYlNlbGVjdGlvbnM6IE1hcDxzdHJpbmcsIG51bWJlcj4gPSBcInRhYlNlbGVjdGlvbnNcIiBpbiB0aGlzLmdyb3VwID8gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIDogbnVsbDtcclxuICAgIGlmICh0YWJTZWxlY3Rpb25zICE9PSBudWxsICYmIHRhYlNlbGVjdGlvbnMuaGFzKHRoaXMuZGF0YS5OYW1lKSkgeyAvLyBzdWJzZXF1ZW50IGxvYWRzXHJcbiAgICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJTZWxlY3Rpb25zLmdldCh0aGlzLmRhdGEuTmFtZSk7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0YWJTZWxlY3Rpb25zID09PSBudWxsKSB7IC8vIGZpcnN0IGxvYWQgb2YgZmlyc3QgdGFiXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gPSB0YWJTZWxlY3Rpb25zO1xyXG4gICAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgMCk7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIGZpcnN0IGxvYWQgb2YgcmVzdCB0YWJzXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRhYlNlbGVjdChlKSB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gZS5pbmRleDtcclxuICAgIHRoaXMuc2F2ZVN0YXRlKGUpO1xyXG5cclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLkNsaWNrRXZlbnQpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgY2FsbEZ1bmMoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVTdGF0ZShlKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UoZS5pbmRleCk7XHJcblxyXG4gICAgY29uc3QgdGFiU2VsZWN0aW9ucyA9IHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSBhcyBNYXA8c3RyaW5nLCBudW1iZXI+O1xyXG4gICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIGUuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYnNWaXNpYmxlID0gKHRhYkluZGV4ZXM6IG51bWJlcltdLCBzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmFsbFRhYnMubGVuZ3RoIDw9IE1hdGgubWF4LmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIHx8IE1hdGgubWluLmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIDwgMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkludmFsaWQgVGFiIGluZGV4IDogXCIgKyB0YWJJbmRleGVzLmpvaW4oXCIsXCIpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYkluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFic1tpbmRleF0uVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWZyZXNoQ3VycmVudFRhYnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUYWJDb3VudGVyID0gKHRhYkluZGV4OiBudW1iZXIsIGNvdW50ZXI6IG51bWJlciB8IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGFiZWxzID0gdGhpcy5kYXRhLkxhYmVsID8gdGhpcy5kYXRhLkxhYmVsIDogdGhpcy5kYXRhLlRhYkl0ZW1zO1xyXG4gICAgaWYgKGxhYmVscy5sZW5ndGggPD0gdGFiSW5kZXggfHwgdGFiSW5kZXggPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnNbdGFiSW5kZXhdLkNvdW50ZXIgPSBjb3VudGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVGFiSnNvbiA9IHtcclxuICAgICAgICB1cmw6IHVybFBhdGgsXHJcbiAgICAgICAgcGFnZVBhcmFtOiB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSxcclxuICAgICAgICB0YWJJbmRleDogdGFiSW5kZXhcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZWxlY3RlZFRhYkpzb24pKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIiBbbmdDbGFzc109XCJkYXRhLkNsYXNzXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiPlxyXG4gIDxrZW5kby10YWJzdHJpcCBjbGFzcz1cInp0YWIgZTF0YWctY29udGFpbmVyLXN0eWxlMVwiICNrZW5kb1RhYlN0cmlwSW5zdGFuY2UgW2tlZXBUYWJDb250ZW50XT1cInRydWVcIiAodGFiU2VsZWN0KT1cIm9uVGFiU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICAgIDxrZW5kby10YWJzdHJpcC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBzdGF0ZS5jdXJyZW50VGFiczsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJnZXRTZWxlY3RlZFRhYihpKVwiIFtkaXNhYmxlZF09XCIhdGFiLlZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvVGFiVGl0bGUgKm5nSWY9XCJ0YWIuVmlzaWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBlMXRhZy1jb250YWluZXItc3R5bGUzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIiEhdGFiLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZSh0YWIuSWNvbiwgZm9udEF3ZVNvbWVTZXJ2aWNlKVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNFwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNFwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIHt7dGFiLkxhYmVsfX1cclxuICAgICAgICAgIDxpb24tYmFkZ2UgY2xhc3M9XCJ0YWItaXRlbS1jb3VudGVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIiBjb2xvcj1cImRhbmdlclwiICpuZ0lmPVwiISF0YWIuQ291bnRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiPnt7dGFiLkNvdW50ZXJ9fTwvaW9uLWJhZGdlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9UYWJDb250ZW50PlxyXG4gICAgICAgIDxhcHAtemRpdiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTZcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTZcIiBbZGF0YV09XCJkYXRhIHwgdGFiZmlsdGVyOiB0YWIuSW5kZXggKyAnJ1wiIFtmb3JtXT1cImZvcm1cIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIj5cclxuICAgICAgICA8L2FwcC16ZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9rZW5kby10YWJzdHJpcC10YWI+XHJcbiAgPC9rZW5kby10YWJzdHJpcD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdoRCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxFQUVPLGdCQUFnQixFQUM3QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFTekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBa0I7SUFTbkQsWUFDUyxnQkFBbUMsRUFDbkMsa0JBQXNDLEVBQ3JDLGtCQUFzQyxFQUN0QyxjQUFxQyxFQUNyQyxXQUF3QjtRQUVoQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQU5qQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFYM0IsVUFBSyxHQUFHO1lBQ2Isb0JBQW9CLEVBQUUsQ0FBQztZQUN2QixXQUFXLEVBQUUsS0FBSyxFQUFZO1lBQzlCLE9BQU8sRUFBRSxLQUFLLEVBQVk7U0FDM0IsQ0FBQztRQXVHSyxjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUMxQyxDQUFDLENBQUE7UUFtRU0sbUJBQWMsR0FBRyxDQUFDLFVBQW9CLEVBQUUsTUFBZSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pHLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxPQUFPO2FBQ1I7WUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFBO1FBRU0sa0JBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsT0FBd0IsRUFBRSxFQUFFO1lBQ3BFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdEUsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3JELENBQUMsQ0FBQTtJQXRMRCxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDMUk7WUFDRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLElBQUksS0FBSyxFQUFZLENBQUM7UUFFL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZHLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDbEI7WUFFRCx3Q0FBd0M7WUFDeEMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN6QjtvQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUM3QixJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDOUMsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUM7aUJBQ3ZCLENBQUMsQ0FBQzthQUNOO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFFNUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDNUQ7U0FFRjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ1osS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN6QjtvQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQWU7b0JBQzVCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBYyxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQzVFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87b0JBQ2xJLEtBQUssRUFBRSxHQUFHLEVBQUU7aUJBQ2IsQ0FBQyxDQUFDO2FBQ047WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU3QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssRUFBWSxDQUFDO1lBQy9DLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2RyxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ2xCO1lBRUQsd0NBQXdDO1lBQ3hDLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ25DLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDckYsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUVuRixNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztnQkFDckMsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN6Qjt3QkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO3dCQUM3QixJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTt3QkFDOUMsT0FBTyxFQUFFLElBQUk7d0JBQ2IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUM7cUJBQ3ZCLENBQUMsQ0FBQztpQkFDTjthQUNGO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFNRCxjQUFjLENBQUMsUUFBZ0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixLQUFLLFFBQVEsQ0FBQztJQUN0RCxDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxFQUFFO1lBQ3RDLE9BQU87U0FDUjtRQUVELG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUM5RSxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzlFLElBQUksaUJBQWlCLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRCxJQUFJLGlCQUFpQixFQUFFO2dCQUNyQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ2xELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUN4RixJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLEVBQUUsRUFBRTtvQkFDbkksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztvQkFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztpQkFDaEY7YUFDRjtTQUNGO1FBRUQsSUFBSSxhQUFhLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUF3QixDQUFDO1FBQ2hILElBQUksYUFBYSxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxtQkFBbUI7WUFDcEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FFckU7YUFBTSxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUUsRUFBRSwwQkFBMEI7WUFDN0QsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO1lBQzVDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FFdEM7YUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsMEJBQTBCO1lBQ3pFLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEIsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtZQUN0QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUF3QixDQUFDO1FBQ3pFLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUF3Qk8sNEJBQTRCLENBQUMsUUFBZ0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDOUUsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUU5RSxNQUFNLGVBQWUsR0FBRztnQkFDdEIsR0FBRyxFQUFFLE9BQU87Z0JBQ1osU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLEVBQUU7Z0JBQ3ZELFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUE7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO0lBRUgsQ0FBQzs7MEdBdk5VLGFBQWE7OEZBQWIsYUFBYSwwTEMxQjFCLDJ2REFvQkE7MkZETWEsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxVQUFVO3dPQU11QixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGFiU3RyaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBGb250QXdlU29tZVNlcnZpY2UsIFN0b3JhZ2VTZXNzaW9uU2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpUYWJJdGVtXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16dGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4venRhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4venRhYi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFp0YWJDb21wb25lbnQgZXh0ZW5kcyBDb250YWluZXJGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2tlbmRvVGFiU3RyaXBJbnN0YW5jZScpIHB1YmxpYyB0YWJzdHJpcDogVGFiU3RyaXBDb21wb25lbnQ7XHJcblxyXG4gIHB1YmxpYyBzdGF0ZSA9IHtcclxuICAgIGxhc3RTZWxlY3RlZFRhYkluZGV4OiAwLFxyXG4gICAgY3VycmVudFRhYnM6IEFycmF5PFpUYWJJdGVtPigpLFxyXG4gICAgYWxsVGFiczogQXJyYXk8WlRhYkl0ZW0+KClcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBmb250QXdlU29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1haW5TZXJ2aWNlOiBNYWluU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEuVGFiSXRlbXMgJiYgdGhpcy5kYXRhLlRhYkl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5kYXRhLlRhYkl0ZW1zLCBcIkxhYmVsXCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50VGFicygpO1xyXG4gICAgICAgIHRoaXMucmVzdG9yZVRhYlNlbGVjdGlvbigpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFRhYnMoKSB7XHJcbiAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzID0gbmV3IEFycmF5PFpUYWJJdGVtPigpO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcblxyXG4gICAgICBpZiAodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJzVmlzaWJsZSh0aGlzLmRhdGEuVGFiVmlzaWJsZUZhbHNlSW5kZXgsIGZhbHNlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zKSB7XHJcbiAgICAgIGxldCBpbmQgPSAwO1xyXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IGZpZWxkLkxhYmVsIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgSWNvbjogZmllbGQuSWNvbiA/IGZpZWxkLkljb24gYXMgc3RyaW5nIDogbnVsbCxcclxuICAgICAgICAgICAgVmlzaWJsZTogWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkLlZpc2libGUgYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSxcclxuICAgICAgICAgICAgQ291bnRlcjogdHlwZW9mIChmaWVsZC5Db3VudGVyKSA9PT0gXCJzdHJpbmdcIiA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5Db3VudGVyIGFzIHN0cmluZywgdGhpcy5ncm91cCkgOiBmaWVsZC5Db3VudGVyLFxyXG4gICAgICAgICAgICBJbmRleDogaW5kKytcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZnJlc2hDdXJyZW50VGFicygpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzU3RhdGVUYWJzID0gdGhpcy5zdGF0ZS5hbGxUYWJzO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGFiID0gcHJldmlvdXNTdGF0ZVRhYnMuZmlsdGVyKHggPT4geC5MYWJlbCA9PSB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdKTtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYlZpc2libGUgPSBwcmV2aW91c1RhYi5sZW5ndGggPiAwID8gcHJldmlvdXNUYWJbMF0uVmlzaWJsZSA6IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBwcmV2aW91c1RhYlZpc2libGU7XHJcbiAgICAgICAgaWYgKGlzVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicy5wdXNoKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgICAgSWNvbjogdmFsaWRJY29uID8gdGhpcy5kYXRhLkljb25baW5kZXhdIDogbnVsbCxcclxuICAgICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuc3RhdGUuY3VycmVudFRhYnMsIHRoaXMuc3RhdGUuYWxsVGFicyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0VGFiID0gKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkVGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID09PSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3RUYWIodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4KTtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHJlc3RvcmVUYWJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHJ5IHJldHJpZXZlIGZyb20gc2Vzc2lvbnN0b3JhZ2VcclxuICAgIGlmICh0aGlzLmdyb3VwLmN0cmxTY29wZSkge1xyXG4gICAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgY29uc3QgdXJsUGF0aFNlZ21lbnQgPSB1cmxQYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB1cmxQYXRoU2VnbWVudFt1cmxQYXRoU2VnbWVudC5sZW5ndGggLSAxXSArIHRoaXMuZGF0YS5OYW1lO1xyXG4gICAgICBsZXQgc2F2ZWRUYWJTZWxlY3Rpb24gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xyXG4gICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb24pIHtcclxuICAgICAgICBzYXZlZFRhYlNlbGVjdGlvbiA9IEpTT04ucGFyc2Uoc2F2ZWRUYWJTZWxlY3Rpb24pO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlVXJsID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb25bJ3VybCddID09IGFjdGl2YXRlZFJvdXRlVXJsICYmIHNhdmVkVGFiU2VsZWN0aW9uWydwYWdlUGFyYW0nXSA9PSB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXS5zZXQodGhpcy5kYXRhLk5hbWUsIHNhdmVkVGFiU2VsZWN0aW9uWyd0YWJJbmRleCddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgdGFiU2VsZWN0aW9ucyA9IChcInRhYlNlbGVjdGlvbnNcIiBpbiB0aGlzLmdyb3VwID8gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIDogbnVsbCkgYXMgTWFwPHN0cmluZywgbnVtYmVyPjtcclxuICAgIGlmICh0YWJTZWxlY3Rpb25zICE9PSBudWxsICYmIHRhYlNlbGVjdGlvbnMuaGFzKHRoaXMuZGF0YS5OYW1lKSkgeyAvLyBzdWJzZXF1ZW50IGxvYWRzXHJcbiAgICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJTZWxlY3Rpb25zLmdldCh0aGlzLmRhdGEuTmFtZSk7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0YWJTZWxlY3Rpb25zID09PSBudWxsKSB7IC8vIGZpcnN0IGxvYWQgb2YgZmlyc3QgdGFiXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gPSB0YWJTZWxlY3Rpb25zO1xyXG4gICAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgMCk7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIGZpcnN0IGxvYWQgb2YgcmVzdCB0YWJzXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRhYlNlbGVjdChlKSB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gZS5pbmRleDtcclxuICAgIHRoaXMuc2F2ZVN0YXRlKGUpO1xyXG5cclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLkNsaWNrRXZlbnQpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgY2FsbEZ1bmMoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVTdGF0ZShlKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UoZS5pbmRleCk7XHJcblxyXG4gICAgY29uc3QgdGFiU2VsZWN0aW9ucyA9IHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSBhcyBNYXA8c3RyaW5nLCBudW1iZXI+O1xyXG4gICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIGUuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYnNWaXNpYmxlID0gKHRhYkluZGV4ZXM6IG51bWJlcltdLCBzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmFsbFRhYnMubGVuZ3RoIDw9IE1hdGgubWF4LmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIHx8IE1hdGgubWluLmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIDwgMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkludmFsaWQgVGFiIGluZGV4IDogXCIgKyB0YWJJbmRleGVzLmpvaW4oXCIsXCIpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYkluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFic1tpbmRleF0uVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWZyZXNoQ3VycmVudFRhYnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUYWJDb3VudGVyID0gKHRhYkluZGV4OiBudW1iZXIsIGNvdW50ZXI6IG51bWJlciB8IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGFiZWxzID0gdGhpcy5kYXRhLkxhYmVsID8gdGhpcy5kYXRhLkxhYmVsIDogdGhpcy5kYXRhLlRhYkl0ZW1zO1xyXG4gICAgaWYgKGxhYmVscy5sZW5ndGggPD0gdGFiSW5kZXggfHwgdGFiSW5kZXggPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnNbdGFiSW5kZXhdLkNvdW50ZXIgPSBjb3VudGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVGFiSnNvbiA9IHtcclxuICAgICAgICB1cmw6IHVybFBhdGgsXHJcbiAgICAgICAgcGFnZVBhcmFtOiB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSxcclxuICAgICAgICB0YWJJbmRleDogdGFiSW5kZXhcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZWxlY3RlZFRhYkpzb24pKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIiBbbmdDbGFzc109XCJkYXRhLkNsYXNzXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiPlxyXG4gIDxrZW5kby10YWJzdHJpcCBjbGFzcz1cInp0YWIgZTF0YWctY29udGFpbmVyLXN0eWxlMVwiICNrZW5kb1RhYlN0cmlwSW5zdGFuY2UgW2tlZXBUYWJDb250ZW50XT1cInRydWVcIiAodGFiU2VsZWN0KT1cIm9uVGFiU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICAgIDxrZW5kby10YWJzdHJpcC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBzdGF0ZS5jdXJyZW50VGFiczsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJnZXRTZWxlY3RlZFRhYihpKVwiIFtkaXNhYmxlZF09XCIhdGFiLlZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvVGFiVGl0bGUgKm5nSWY9XCJ0YWIuVmlzaWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBlMXRhZy1jb250YWluZXItc3R5bGUzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIiEhdGFiLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZSh0YWIuSWNvbiwgZm9udEF3ZVNvbWVTZXJ2aWNlKVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNFwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNFwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIHt7dGFiLkxhYmVsfX1cclxuICAgICAgICAgIDxpb24tYmFkZ2UgY2xhc3M9XCJ0YWItaXRlbS1jb3VudGVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIiBjb2xvcj1cImRhbmdlclwiICpuZ0lmPVwiISF0YWIuQ291bnRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiPnt7dGFiLkNvdW50ZXJ9fTwvaW9uLWJhZGdlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9UYWJDb250ZW50PlxyXG4gICAgICAgIDxhcHAtemRpdiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTZcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTZcIiBbZGF0YV09XCJkYXRhIHwgdGFiZmlsdGVyOiB0YWIuSW5kZXggKyAnJ1wiIFtmb3JtXT1cImZvcm1cIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIj5cclxuICAgICAgICA8L2FwcC16ZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9rZW5kby10YWJzdHJpcC10YWI+XHJcbiAgPC9rZW5kby10YWJzdHJpcD5cclxuPC9kaXY+XHJcbiJdfQ==
|