myrta-ui 17.1.49 → 17.1.50
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/esm2022/lib/components/form/editor/editor.component.mjs +3 -3
- package/esm2022/lib/components/form/input-number/input-number.component.mjs +2 -2
- package/esm2022/lib/components/form/input-search/input-search.component.mjs +3 -3
- package/esm2022/lib/components/form/input-select/input-select.component.mjs +3 -3
- package/esm2022/lib/components/form/input-text/input-text.component.mjs +4 -7
- package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +5 -11
- package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +3 -3
- package/esm2022/lib/components/form/select/select.component.mjs +2 -2
- package/esm2022/lib/components/modal/modal.component.mjs +3 -3
- package/fesm2022/myrta-ui.mjs +21 -30
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/input-text/input-text.component.d.ts +0 -1
- package/lib/components/form/input-textarea/input-textarea.component.d.ts +0 -2
- package/package.json +1 -1
|
@@ -49,16 +49,13 @@ export class InputTextComponent {
|
|
|
49
49
|
return (!this.required ||
|
|
50
50
|
(this.required && this.value != null && this.value !== '' && this.isValid));
|
|
51
51
|
}
|
|
52
|
-
get readonlyClass() {
|
|
53
|
-
return this.readonly ? 'mrx-input__readonly' : '';
|
|
54
|
-
}
|
|
55
52
|
get checkValidClasses() {
|
|
56
53
|
return this.checkInvalid === false ?
|
|
57
54
|
'mrx-input-checked-success' :
|
|
58
55
|
this.checkInvalid === true ? 'mrx-input-checked-error' : '';
|
|
59
56
|
}
|
|
60
57
|
get getClasses() {
|
|
61
|
-
return `${InputTextSizesEnum[this.size]} ${this.customClasses} ${this.
|
|
58
|
+
return `${InputTextSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
|
|
62
59
|
}
|
|
63
60
|
get getIconClass() {
|
|
64
61
|
return `${this.icon} ${this.size !== 'small' ? 'icon-font-24' : 'icon-font-16'} ${InputTextIconColorEnum[this.iconColor]}`;
|
|
@@ -129,7 +126,7 @@ export class InputTextComponent {
|
|
|
129
126
|
useExisting: forwardRef(() => InputTextComponent),
|
|
130
127
|
multi: true,
|
|
131
128
|
},
|
|
132
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"
|
|
129
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"placeholder || null\"\r\n [mask]=\"mask\"\r\n [prefix]=\"maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"maskDropSpecialCharacters\"\r\n />\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-text.mrx-input-text{width:100%;position:relative}.mrx-input-text.mrx-input-text .mrx-input-text__wrapper{position:relative}.mrx-input-text.mrx-input-text input{box-sizing:border-box;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s}.mrx-input-text.mrx-input-text input:focus,.mrx-input-text.mrx-input-text input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-text.mrx-input-text input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-text.mrx-input-text.mrx-input-text-lg input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-lg:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-lg.mrx-input-text-with-icon input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-module) * 10)}.mrx-input-text.mrx-input-text.mrx-input-text-md input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-md:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-md.mrx-input-text-with-icon input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-module) * 10)}.mrx-input-text.mrx-input-text.mrx-input-text-sm input{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-sm:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-sm.mrx-input-text-with-icon input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-8)}.mrx-input-text.mrx-input-text.mrx-input-error input{border-color:var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-error input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-error input{border-color:var(--system-bg-controls-negative-default)!important;background-color:var(--system-bg-negative-secondary)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-error input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-success input{background-color:var(--system-bg-positive-secondary)!important;border-color:var(--system-bg-controls-positive-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-success input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-lg .mrx-input-text-icon{position:absolute;top:calc(var(--spacing-3) - 1px);left:calc(var(--spacing-3) - 1px)}.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-md .mrx-input-text-icon,.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-sm .mrx-input-text-icon{position:absolute;top:calc(var(--spacing-2) - 1px);left:calc(var(--spacing-2) - 1px)}.mrx-input-text.mrx-input-text.-disabled input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);border-color:var(--neutral-bg-stroke-default)}.mrx-input-text.mrx-input-text.-readonly input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CharsLeftComponent, selector: "mrx-chars-left", inputs: ["maxlength", "valueLength", "value"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i5.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "directive", type: i6.CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
133
130
|
}
|
|
134
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
135
132
|
type: Component,
|
|
@@ -139,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
139
136
|
useExisting: forwardRef(() => InputTextComponent),
|
|
140
137
|
multi: true,
|
|
141
138
|
},
|
|
142
|
-
], template: "<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"
|
|
139
|
+
], template: "<div\r\n class=\"mrx-input-text\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-text-with-icon]=\"icon\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [mrxCdkTooltip]=\"getTooltipValue\"\r\n [tooltipPosition]=\"'top-start'\"\r\n>\r\n <div class=\"mrx-input-text__wrapper\">\r\n <span *ngIf=\"icon\" class=\"mrx-icon mrx-input-text-icon\" [class]=\"getIconClass\"></span>\r\n\r\n <input\r\n autocomplete=\"nope\"\r\n #inputElement\r\n [type]=\"'text'\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"updateSelection($event)\"\r\n [attr.title]=\"placeholder || ''\"\r\n [disabled]=\"disabled || readonly\"\r\n [readOnly]=\"readonly\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"placeholder || null\"\r\n [mask]=\"mask\"\r\n [prefix]=\"maskPrefix\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [dropSpecialCharacters]=\"maskDropSpecialCharacters\"\r\n />\r\n\r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-text.mrx-input-text{width:100%;position:relative}.mrx-input-text.mrx-input-text .mrx-input-text__wrapper{position:relative}.mrx-input-text.mrx-input-text input{box-sizing:border-box;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s}.mrx-input-text.mrx-input-text input:focus,.mrx-input-text.mrx-input-text input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-text.mrx-input-text input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-text.mrx-input-text.mrx-input-text-lg input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-lg:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-lg.mrx-input-text-with-icon input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-module) * 10)}.mrx-input-text.mrx-input-text.mrx-input-text-md input{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-md:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-md.mrx-input-text-with-icon input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-module) * 10)}.mrx-input-text.mrx-input-text.mrx-input-text-sm input{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-text.mrx-input-text.mrx-input-text-sm:not(.mrx-input-text-with-icon) input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4)}.mrx-input-text.mrx-input-text.mrx-input-text-sm.mrx-input-text-with-icon input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-8)}.mrx-input-text.mrx-input-text.mrx-input-error input{border-color:var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-error input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-error input{border-color:var(--system-bg-controls-negative-default)!important;background-color:var(--system-bg-negative-secondary)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-error input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-success input{background-color:var(--system-bg-positive-secondary)!important;border-color:var(--system-bg-controls-positive-default)!important}.mrx-input-text.mrx-input-text.mrx-input-checked-success input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)!important}.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-lg .mrx-input-text-icon{position:absolute;top:calc(var(--spacing-3) - 1px);left:calc(var(--spacing-3) - 1px)}.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-md .mrx-input-text-icon,.mrx-input-text.mrx-input-text.mrx-input-text-with-icon.mrx-input-text-sm .mrx-input-text-icon{position:absolute;top:calc(var(--spacing-2) - 1px);left:calc(var(--spacing-2) - 1px)}.mrx-input-text.mrx-input-text.-disabled input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);border-color:var(--neutral-bg-stroke-default)}.mrx-input-text.mrx-input-text.-readonly input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626)}\n"] }]
|
|
143
140
|
}], propDecorators: { fields: [{
|
|
144
141
|
type: Input
|
|
145
142
|
}], disabled: [{
|
|
@@ -186,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
186
183
|
}], modelChange: [{
|
|
187
184
|
type: Output
|
|
188
185
|
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxzQkFBc0IsRUFFdEIsa0JBQWtCLEVBSW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWdCcEMsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixLQUFLLEdBQXdCLEVBQUUsQ0FBQztJQUNoQyxjQUFjLENBQXFCO0lBQ25DLFlBQVksQ0FBcUI7SUFFeEMsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFD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LEtBQUs7Z0JBRXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFFUixPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIElucHV0VGV4dEljb25Db2xvckVudW0sXHJcbiAgSW5wdXRUZXh0SWNvbkNvbG9yVHlwZXMsXHJcbiAgSW5wdXRUZXh0U2l6ZXNFbnVtLFxyXG4gIElucHV0VGV4dFNpemVzVHlwZXMsXHJcbiAgSW5wdXRUZXh0VmFsdWVUeXBlcyxcclxuICBJbnB1dFRleHRWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vaW5wdXQtdGV4dC5lbnVtJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2F2ZS1zdG9yZS9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHB1YmxpYyB2YWx1ZTogSW5wdXRUZXh0VmFsdWVUeXBlcyA9ICcnO1xyXG4gIHB1YmxpYyBzZWxlY3Rpb25TdGFydDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmQ6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkdjQoKVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heGxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbmxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogSW5wdXRUZXh0U2l6ZXNUeXBlcyA9ICdsYXJnZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGlzVG9vbHRpcFZhbHVlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uQ29sb3I6IElucHV0VGV4dEljb25Db2xvclR5cGVzID0gJ2RlZmF1bHQnO1xyXG5cclxuICAvLyBNQVNLXHJcbiAgQElucHV0KCkgbWFzayA9ICcnO1xyXG4gIEBJbnB1dCgpIG1hc2tQcmVmaXggPSAnJztcclxuICBASW5wdXQoKSBzaG93TWFza1R5cGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWFza0Ryb3BTcGVjaWFsQ2hhcmFjdGVyczogYm9vbGVhbiB8IHN0cmluZ1tdID0gdHJ1ZTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0VmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0VGV4dFZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPElucHV0VGV4dFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0VmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNJbnZhbGlkTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaW52YWxpZE1lc3NhZ2UgfHwgISF0aGlzLmludmFsaWRNZXNzYWdlPy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5iYXNlVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWZXJpZmllZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgICF0aGlzLnJlcXVpcmVkIHx8XHJcbiAgICAgICAgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZSAhPSBudWxsICYmIHRoaXMudmFsdWUgIT09ICcnICYmIHRoaXMuaXNWYWxpZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ID8gJ21yeC1pbnB1dF9fcmVhZG9ubHknIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJydcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke0lucHV0VGV4dFNpemVzRW51bVt0aGlzLnNpemVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc30gJHt0aGlzLnJlYWRvbmx5Q2xhc3N9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJY29uQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmljb259ICR7dGhpcy5zaXplICE9PSAnc21hbGwnID8gJ2ljb24tZm9udC0yNCcgOiAnaWNvbi1mb250LTE2J30gJHtJbnB1dFRleHRJY29uQ29sb3JFbnVtW3RoaXMuaWNvbkNvbG9yXX1gXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFRvb2x0aXBWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNUb29sdGlwVmFsdWUgPyB0aGlzLnZhbHVlIDogJydcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID09PSB0aGlzLm1hc2tQcmVmaXgubGVuZ3RoID8gJycgOiB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydFBvc2l0aW9uVGV4dCh0YWdUZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblN0YXJ0ICYmIHRoaXMuc2VsZWN0aW9uRW5kKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0VGV4dCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnN1YnN0cmluZygwLCB0aGlzLnNlbGVjdGlvblN0YXJ0KSA6ICcnXHJcbiAgICAgIGNvbnN0IHNlY29uZFRleHQgPSB0aGlzLnZhbHVlLnN1YnN0cmluZyh0aGlzLnNlbGVjdGlvbkVuZCk7XHJcbiAgICAgIGNvbnN0IHRleHQgPSBmaXJzdFRleHQgKyB0YWdUZXh0ICsgc2Vjb25kVGV4dDtcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodGV4dCk7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gKGZpcnN0VGV4dCArIHRhZ1RleHQpLmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IChmaXJzdFRleHQgKyB0YWdUZXh0KS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6ICcnICsgdGFnVGV4dFxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0ZXh0KTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYmFzZVZhbGlkYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubWlubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5taW5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25TdGFydCA9IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydDtcclxuICAgIHRoaXMuc2VsZWN0aW9uRW5kID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IElucHV0VGV4dFZhbHVlVHlwZXMpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShvdXRzaWRlVmFsdWU6IElucHV0VGV4dFZhbHVlVHlwZXMpIHtcclxuICAgIHRoaXMudmFsdWUgPSBvdXRzaWRlVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogSW5wdXRUZXh0VmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSkpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogdGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSksIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZvcm1hdFZhbHVlKGluc2lkZVZhbHVlKSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJtcngtaW5wdXQtdGV4dFwiXHJcbiAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZFwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC10ZXh0LXdpdGgtaWNvbl09XCJpY29uXCJcclxuICBbY2xhc3MuLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbY2xhc3MuLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICBbbXJ4Q2RrVG9vbHRpcF09XCJnZXRUb29sdGlwVmFsdWVcIlxyXG4gIFt0b29sdGlwUG9zaXRpb25dPVwiJ3RvcC1zdGFydCdcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC10ZXh0X193cmFwcGVyXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1yeC1pY29uIG1yeC1pbnB1dC10ZXh0LWljb25cIiBbY2xhc3NdPVwiZ2V0SWNvbkNsYXNzXCI+PC9zcGFuPlxyXG5cclxuICAgIDxpbnB1dFxyXG4gICAgICBhdXRvY29tcGxldGU9XCJub3BlXCJcclxuICAgICAgI2lucHV0RWxlbWVudFxyXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxyXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAoYmx1cik9XCJ1cGRhdGVTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIFthdHRyLnRpdGxlXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aCA+IDAgPyBtaW5sZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aCA+IDAgPyBtYXhsZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiIWRpc2FibGVkICYmIHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJ1wiXHJcbiAgICAgIFttYXNrXT1cIm1hc2tcIlxyXG4gICAgICBbcHJlZml4XT1cIm1hc2tQcmVmaXhcIlxyXG4gICAgICBbc2hvd01hc2tUeXBlZF09XCJzaG93TWFza1R5cGVkXCJcclxuICAgICAgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJtYXNrRHJvcFNwZWNpYWxDaGFyYWN0ZXJzXCJcclxuICAgIC8+XHJcblxyXG4gICAgPG1yeC1jaGFycy1sZWZ0XHJcbiAgICAgICpuZ0lmPVwiIWRpc2FibGVkICYmIG1heGxlbmd0aFwiXHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCI+XHJcbiAgICA8L21yeC1jaGFycy1sZWZ0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bXJ4LWVycm9yLW1lc3NhZ2VcclxuICAgICpuZ0lmPVwiKCFpc1ZhbGlkIHx8IGludmFsaWQpICYmIGlzSW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCJcclxuICA+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuXHJcbiAgPG1yeC1zYXZlLXN0YXRlIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxzQkFBc0IsRUFFdEIsa0JBQWtCLEVBSW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWdCcEMsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixLQUFLLEdBQXdCLEVBQUUsQ0FBQztJQUNoQyxjQUFjLENBQXFCO0lBQ25DLFlBQVksQ0FBcUI7SUFFeEMsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFD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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBJbnB1dFRleHRJY29uQ29sb3JFbnVtLFxyXG4gIElucHV0VGV4dEljb25Db2xvclR5cGVzLFxyXG4gIElucHV0VGV4dFNpemVzRW51bSxcclxuICBJbnB1dFRleHRTaXplc1R5cGVzLFxyXG4gIElucHV0VGV4dFZhbHVlVHlwZXMsXHJcbiAgSW5wdXRUZXh0VmFsdWVXaXRoSWRcclxufSBmcm9tICcuL2lucHV0LXRleHQuZW51bSc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWlucHV0LXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC10ZXh0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgdmFsdWU6IElucHV0VGV4dFZhbHVlVHlwZXMgPSAnJztcclxuICBwdWJsaWMgc2VsZWN0aW9uU3RhcnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgc2VsZWN0aW9uRW5kOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZHY0KClcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhsZW5ndGggPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5sZW5ndGggPSAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHNpemU6IElucHV0VGV4dFNpemVzVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc1Rvb2x0aXBWYWx1ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWNvbkNvbG9yOiBJbnB1dFRleHRJY29uQ29sb3JUeXBlcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgLy8gTUFTS1xyXG4gIEBJbnB1dCgpIG1hc2sgPSAnJztcclxuICBASW5wdXQoKSBtYXNrUHJlZml4ID0gJyc7XHJcbiAgQElucHV0KCkgc2hvd01hc2tUeXBlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1hc2tEcm9wU3BlY2lhbENoYXJhY3RlcnM6IGJvb2xlYW4gfCBzdHJpbmdbXSA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0VGV4dFZhbHVlVHlwZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnB1dFRleHRWYWx1ZVR5cGVzPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbnB1dFRleHRWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0VGV4dFZhbHVlV2l0aElkPigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzVmVyaWZpZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAhdGhpcy5yZXF1aXJlZCB8fFxyXG4gICAgICAgICh0aGlzLnJlcXVpcmVkICYmIHRoaXMudmFsdWUgIT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSAnJyAmJiB0aGlzLmlzVmFsaWQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja1ZhbGlkQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/XHJcbiAgICAgICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6XHJcbiAgICAgIHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtJbnB1dFRleHRTaXplc0VudW1bdGhpcy5zaXplXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJY29uQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmljb259ICR7dGhpcy5zaXplICE9PSAnc21hbGwnID8gJ2ljb24tZm9udC0yNCcgOiAnaWNvbi1mb250LTE2J30gJHtJbnB1dFRleHRJY29uQ29sb3JFbnVtW3RoaXMuaWNvbkNvbG9yXX1gXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFRvb2x0aXBWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNUb29sdGlwVmFsdWUgPyB0aGlzLnZhbHVlIDogJydcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID09PSB0aGlzLm1hc2tQcmVmaXgubGVuZ3RoID8gJycgOiB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydFBvc2l0aW9uVGV4dCh0YWdUZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblN0YXJ0ICYmIHRoaXMuc2VsZWN0aW9uRW5kKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0VGV4dCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnN1YnN0cmluZygwLCB0aGlzLnNlbGVjdGlvblN0YXJ0KSA6ICcnXHJcbiAgICAgIGNvbnN0IHNlY29uZFRleHQgPSB0aGlzLnZhbHVlLnN1YnN0cmluZyh0aGlzLnNlbGVjdGlvbkVuZCk7XHJcbiAgICAgIGNvbnN0IHRleHQgPSBmaXJzdFRleHQgKyB0YWdUZXh0ICsgc2Vjb25kVGV4dDtcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodGV4dCk7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gKGZpcnN0VGV4dCArIHRhZ1RleHQpLmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IChmaXJzdFRleHQgKyB0YWdUZXh0KS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6ICcnICsgdGFnVGV4dFxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0ZXh0KTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYmFzZVZhbGlkYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubWlubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5taW5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25TdGFydCA9IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25TdGFydDtcclxuICAgIHRoaXMuc2VsZWN0aW9uRW5kID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvbkVuZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IElucHV0VGV4dFZhbHVlVHlwZXMpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShvdXRzaWRlVmFsdWU6IElucHV0VGV4dFZhbHVlVHlwZXMpIHtcclxuICAgIHRoaXMudmFsdWUgPSBvdXRzaWRlVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogSW5wdXRUZXh0VmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSkpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogdGhpcy5mb3JtYXRWYWx1ZShpbnNpZGVWYWx1ZSksIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZvcm1hdFZhbHVlKGluc2lkZVZhbHVlKSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJtcngtaW5wdXQtdGV4dFwiXHJcbiAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZFwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC10ZXh0LXdpdGgtaWNvbl09XCJpY29uXCJcclxuICBbY2xhc3MuLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbY2xhc3MuLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICBbbXJ4Q2RrVG9vbHRpcF09XCJnZXRUb29sdGlwVmFsdWVcIlxyXG4gIFt0b29sdGlwUG9zaXRpb25dPVwiJ3RvcC1zdGFydCdcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC10ZXh0X193cmFwcGVyXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1yeC1pY29uIG1yeC1pbnB1dC10ZXh0LWljb25cIiBbY2xhc3NdPVwiZ2V0SWNvbkNsYXNzXCI+PC9zcGFuPlxyXG5cclxuICAgIDxpbnB1dFxyXG4gICAgICBhdXRvY29tcGxldGU9XCJub3BlXCJcclxuICAgICAgI2lucHV0RWxlbWVudFxyXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxyXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAoYmx1cik9XCJ1cGRhdGVTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIFthdHRyLnRpdGxlXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aCA+IDAgPyBtaW5sZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aCA+IDAgPyBtYXhsZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgbnVsbFwiXHJcbiAgICAgIFttYXNrXT1cIm1hc2tcIlxyXG4gICAgICBbcHJlZml4XT1cIm1hc2tQcmVmaXhcIlxyXG4gICAgICBbc2hvd01hc2tUeXBlZF09XCJzaG93TWFza1R5cGVkXCJcclxuICAgICAgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJtYXNrRHJvcFNwZWNpYWxDaGFyYWN0ZXJzXCJcclxuICAgIC8+XHJcblxyXG4gICAgPG1yeC1jaGFycy1sZWZ0XHJcbiAgICAgICpuZ0lmPVwiIWRpc2FibGVkICYmIG1heGxlbmd0aFwiXHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCI+XHJcbiAgICA8L21yeC1jaGFycy1sZWZ0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bXJ4LWVycm9yLW1lc3NhZ2VcclxuICAgICpuZ0lmPVwiKCFpc1ZhbGlkIHx8IGludmFsaWQpICYmIGlzSW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCJcclxuICA+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuXHJcbiAgPG1yeC1zYXZlLXN0YXRlIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIj48L21yeC1zYXZlLXN0YXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -48,16 +48,13 @@ export class InputTextareaComponent {
|
|
|
48
48
|
get isValid() {
|
|
49
49
|
return this.baseValidate();
|
|
50
50
|
}
|
|
51
|
-
get readonlyClass() {
|
|
52
|
-
return this.readonly ? 'mrx-input__readonly' : '';
|
|
53
|
-
}
|
|
54
51
|
get checkValidClasses() {
|
|
55
52
|
return this.checkInvalid === false ?
|
|
56
53
|
'mrx-input-checked-success' :
|
|
57
54
|
this.checkInvalid === true ? 'mrx-input-checked-error' : '';
|
|
58
55
|
}
|
|
59
56
|
get getClasses() {
|
|
60
|
-
return `${InputTextareaSizesEnum[this.size]} ${this.customClasses} ${this.
|
|
57
|
+
return `${InputTextareaSizesEnum[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
|
|
61
58
|
}
|
|
62
59
|
get innerHtml() {
|
|
63
60
|
return this._innerHtml && this._innerHtml.length > 0 ? this._innerHtml : this.value;
|
|
@@ -100,9 +97,6 @@ export class InputTextareaComponent {
|
|
|
100
97
|
onFocus() {
|
|
101
98
|
this.inputElement.nativeElement.focus();
|
|
102
99
|
}
|
|
103
|
-
get isShowBlock() {
|
|
104
|
-
return this.disabled || this.readonly;
|
|
105
|
-
}
|
|
106
100
|
onChange = (value) => {
|
|
107
101
|
};
|
|
108
102
|
onTouched = () => {
|
|
@@ -116,7 +110,7 @@ export class InputTextareaComponent {
|
|
|
116
110
|
processValueForViewOnly(value) {
|
|
117
111
|
}
|
|
118
112
|
writeValue(outsideValue) {
|
|
119
|
-
if (
|
|
113
|
+
if (this.inputElement?.nativeElement && document.activeElement !== this.inputElement.nativeElement) {
|
|
120
114
|
this.value = outsideValue;
|
|
121
115
|
}
|
|
122
116
|
if (this.disabled) {
|
|
@@ -145,7 +139,7 @@ export class InputTextareaComponent {
|
|
|
145
139
|
useExisting: forwardRef(() => InputTextareaComponent),
|
|
146
140
|
multi: true,
|
|
147
141
|
},
|
|
148
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n
|
|
142
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n mrxAutosize\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [rows]=\"rows\"\r\n [autosize]=\"autosize\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"placeholder || null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n ></textarea>\r\n \r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-input-textarea.mrx-input-textarea .mrx-input-textarea__wrapper{position:relative}.mrx-input-textarea.mrx-input-textarea textarea{display:block;box-sizing:border-box;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);color:var(--neutral-text-primary);width:100%;overflow:auto;resize:none;transition:outline-width .2s,border .2s}.mrx-input-textarea.mrx-input-textarea textarea:focus,.mrx-input-textarea.mrx-input-textarea textarea:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-textarea.mrx-input-textarea textarea:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-textarea.mrx-input-textarea.mrx-input-lg textarea{padding:calc(var(--spacing-3) + 1px) var(--spacing-4);border-radius:var(--border-radius-1);font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-md textarea{padding:calc(var(--sizing-2) + 1px) var(--spacing-3);border-radius:var(--border-radius-1);font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-sm textarea{padding:calc(var(--sizing-2) - 1px) var(--spacing-2);border-radius:var(--border-radius-1);font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-error textarea{border-color:var(--system-bg-controls-negative-default)}.mrx-input-textarea.mrx-input-textarea.mrx-input-checked-error textarea{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-textarea.mrx-input-textarea.mrx-input-checked-success textarea{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-textarea.mrx-input-textarea.-disabled textarea{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-tertiary, #71767E)}.mrx-input-textarea.mrx-input-textarea.-readonly textarea{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-primary, #262626)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CharsLeftComponent, selector: "mrx-chars-left", inputs: ["maxlength", "valueLength", "value"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i5.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "directive", type: i6.AutosizeDirective, selector: "[mrxAutosize]", inputs: ["rows", "autosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
149
143
|
}
|
|
150
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, decorators: [{
|
|
151
145
|
type: Component,
|
|
@@ -155,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
155
149
|
useExisting: forwardRef(() => InputTextareaComponent),
|
|
156
150
|
multi: true,
|
|
157
151
|
},
|
|
158
|
-
], template: "<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n
|
|
152
|
+
], template: "<div\r\n class=\"mrx-input-textarea\"\r\n [class]=\"getClasses\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n>\r\n <div class=\"mrx-input-textarea__wrapper\">\r\n <textarea\r\n #inputElement\r\n mrxAutosize\r\n [id]=\"uuid\"\r\n [ngModel]=\"value\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [rows]=\"rows\"\r\n [autosize]=\"autosize\"\r\n [attr.minlength]=\"minlength > 0 ? minlength : null\"\r\n [attr.maxlength]=\"maxlength > 0 ? maxlength : null\"\r\n [attr.placeholder]=\"placeholder || null\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n (blur)=\"onBlur($event)\"\r\n ></textarea>\r\n \r\n <mrx-chars-left\r\n *ngIf=\"!disabled && maxlength\"\r\n [value]=\"value\"\r\n [maxlength]=\"maxlength\">\r\n </mrx-chars-left>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-input-textarea.mrx-input-textarea .mrx-input-textarea__wrapper{position:relative}.mrx-input-textarea.mrx-input-textarea textarea{display:block;box-sizing:border-box;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);color:var(--neutral-text-primary);width:100%;overflow:auto;resize:none;transition:outline-width .2s,border .2s}.mrx-input-textarea.mrx-input-textarea textarea:focus,.mrx-input-textarea.mrx-input-textarea textarea:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-textarea.mrx-input-textarea textarea:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-textarea.mrx-input-textarea.mrx-input-lg textarea{padding:calc(var(--spacing-3) + 1px) var(--spacing-4);border-radius:var(--border-radius-1);font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-md textarea{padding:calc(var(--sizing-2) + 1px) var(--spacing-3);border-radius:var(--border-radius-1);font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-sm textarea{padding:calc(var(--sizing-2) - 1px) var(--spacing-2);border-radius:var(--border-radius-1);font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-textarea.mrx-input-textarea.mrx-input-error textarea{border-color:var(--system-bg-controls-negative-default)}.mrx-input-textarea.mrx-input-textarea.mrx-input-checked-error textarea{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-textarea.mrx-input-textarea.mrx-input-checked-success textarea{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-textarea.mrx-input-textarea.-disabled textarea{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-tertiary, #71767E)}.mrx-input-textarea.mrx-input-textarea.-readonly textarea{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-primary, #262626)}\n"] }]
|
|
159
153
|
}], propDecorators: { fields: [{
|
|
160
154
|
type: Input
|
|
161
155
|
}], disabled: [{
|
|
@@ -194,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
194
188
|
}], modelChange: [{
|
|
195
189
|
type: Output
|
|
196
190
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNhLHVCQUF1QixFQUN6QyxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUNMLHNCQUFzQixFQUd2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWdCcEMsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixLQUFLLEdBQTRCLEVBQUUsQ0FBQztJQUNwQyxjQUFjLENBQXFCO0lBQ25DLFlBQVksQ0FBcUI7SUFDaEMsVUFBVSxDQUFVO0lBRTVCLGFBQWE7SUFDTixJQUFJLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFDZixNQUFNLEdBQVksRUFBRSxDQUFDO0lBRXJCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFdB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LEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFFcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUVSLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBJbnB1dFRleHRhcmVhU2l6ZXNFbnVtLFxyXG4gIElucHV0VGV4dGFyZWFTaXplc1R5cGVzLFxyXG4gIElucHV0VGV4dGFyZWFWYWx1ZVR5cGVzLCBJbnB1dFRleHRhcmVhVmFsdWVXaXRoSWRcclxufSBmcm9tICcuL2lucHV0LXRleHRhcmVhLmVudW0nO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXZlLXN0b3JlL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC10ZXh0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUZXh0YXJlYUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0YXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgdmFsdWU6IElucHV0VGV4dGFyZWFWYWx1ZVR5cGVzID0gJyc7XHJcbiAgcHVibGljIHNlbGVjdGlvblN0YXJ0OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlbGVjdGlvbkVuZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgX2lubmVySHRtbD86IHN0cmluZztcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkdjQoKTtcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvc2l6ZSA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIG1heGxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbmxlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIHJvd3MgPSAxO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIG1hc2sgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogSW5wdXRUZXh0YXJlYVNpemVzVHlwZXMgPSAnbGFyZ2UnO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJbnB1dFRleHRhcmVhVmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0VGV4dGFyZWFWYWx1ZVR5cGVzPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmx1cnJlZDogRXZlbnRFbWl0dGVyPElucHV0VGV4dGFyZWFWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0YXJlYVZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPElucHV0VGV4dGFyZWFWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPElucHV0VGV4dGFyZWFWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBpc0ludmFsaWRNZXNzYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5pbnZhbGlkTWVzc2FnZSB8fCAhIXRoaXMuaW52YWxpZE1lc3NhZ2U/Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZE1lc3NhZ2VBcnJheSgpOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuaW52YWxpZE1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBBcnJheSh0aGlzLmludmFsaWRNZXNzYWdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmludmFsaWRNZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ID8gJ21yeC1pbnB1dF9fcmVhZG9ubHknIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtJbnB1dFRleHRhcmVhU2l6ZXNFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMucmVhZG9ubHlDbGFzc30gJHt0aGlzLmNoZWNrVmFsaWRDbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlubmVySHRtbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbm5lckh0bWwgJiYgdGhpcy5faW5uZXJIdG1sLmxlbmd0aCA+IDAgPyB0aGlzLl9pbm5lckh0bWwgOiB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbm5lckh0bWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5faW5uZXJIdG1sID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlU2VsZWN0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uU3RhcnQgPSBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkVuZCA9IGV2ZW50LnRhcmdldC5zZWxlY3Rpb25FbmQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5zZXJ0UG9zaXRpb25UZXh0KHRhZ1RleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uU3RhcnQgJiYgdGhpcy5zZWxlY3Rpb25FbmQpIHtcclxuICAgICAgY29uc3QgZmlyc3RUZXh0ID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMuc2VsZWN0aW9uU3RhcnQpIDogJydcclxuICAgICAgY29uc3Qgc2Vjb25kVGV4dCA9IHRoaXMudmFsdWUuc3Vic3RyaW5nKHRoaXMuc2VsZWN0aW9uRW5kKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGZpcnN0VGV4dCArIHRhZ1RleHQgKyBzZWNvbmRUZXh0O1xyXG5cclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0ZXh0KTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSAoZmlyc3RUZXh0ICsgdGFnVGV4dCkubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kID0gKGZpcnN0VGV4dCArIHRhZ1RleHQpLmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgdGV4dCA9IHRoaXMudmFsdWUgKyB0YWdUZXh0XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRleHQpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kID0gdGV4dC5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBiYXNlVmFsaWRhdGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5taW5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pbmxlbmd0aDtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNTaG93QmxvY2soKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBJbnB1dFRleHRhcmVhVmFsdWVUeXBlcykgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc1ZhbHVlRm9yVmlld09ubHkodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG91dHNpZGVWYWx1ZTogSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMpOiB2b2lkIHtcclxuICAgIGlmICgodGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCkgfHwgdGhpcy5pc1Nob3dCbG9jaykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gb3V0c2lkZVZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMucHJvY2Vzc1ZhbHVlRm9yVmlld09ubHkob3V0c2lkZVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5ibHVyVXBkYXRlVmFsdWUoKVxyXG4gICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oZXZlbnQpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYmx1clVwZGF0ZVZhbHVlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ibHVycmVkLmVtaXQodGhpcy52YWx1ZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBpbnNpZGVWYWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7IHZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZCB9KTtcclxuICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibXJ4LWlucHV0LXRleHRhcmVhXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCJpbnZhbGlkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtdGV4dGFyZWFfX3dyYXBwZXJcIj5cclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICAjaW5wdXRFbGVtZW50XHJcbiAgICAgICpuZ0lmPVwiIWlzU2hvd0Jsb2NrOyBlbHNlIGRpc2FibGVkVGVtcGxhdGVcIlxyXG4gICAgICBtcnhBdXRvc2l6ZVxyXG4gICAgICBbaWRdPVwidXVpZFwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW3Jvd3NdPVwicm93c1wiXHJcbiAgICAgIFthdXRvc2l6ZV09XCJhdXRvc2l6ZVwiXHJcbiAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGggPiAwID8gbWlubGVuZ3RoIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGggPiAwID8gbWF4bGVuZ3RoIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIiFkaXNhYmxlZCAmJiBwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJydcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgPjwvdGV4dGFyZWE+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNkaXNhYmxlZFRlbXBsYXRlPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtdGV4dGFyZWFfX2Rpc2FibGVkLWJsb2NrXCJcclxuICAgICAgICBbY2xhc3MuLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbY2xhc3MuLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICBbaW5uZXJIdG1sXT1cImlzU2hvd0Jsb2NrID8gaW5uZXJIdG1sIDogJydcIlxyXG4gICAgICA+PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxtcngtY2hhcnMtbGVmdFxyXG4gICAgICAqbmdJZj1cIiFkaXNhYmxlZCAmJiBtYXhsZW5ndGhcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiPlxyXG4gICAgPC9tcngtY2hhcnMtbGVmdD5cclxuXHJcbiAgICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCIoIWlzVmFsaWQgfHwgaW52YWxpZCkgJiYgaXNJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG48L2Rpdj5cclxuIl19
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNhLHVCQUF1QixFQUN6QyxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUNMLHNCQUFzQixFQUd2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWdCcEMsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixLQUFLLEdBQTRCLEVBQUUsQ0FBQztJQUNwQyxjQUFjLENBQXFCO0lBQ25DLFlBQVksQ0FBcUI7SUFDaEMsVUFBVSxDQUFVO0lBRTVCLGFBQWE7SUFDTixJQUFJLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFDZixNQUFNLEdBQVksRUFBRSxDQUFDO0lBRXJCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFdB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LElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO3dHQXJKVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix3Y0FSdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysd0lDOUJILHFxQ0FzQ0E7OzRGRE5hLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBVWUsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRVIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIElucHV0VGV4dGFyZWFTaXplc0VudW0sXHJcbiAgSW5wdXRUZXh0YXJlYVNpemVzVHlwZXMsXHJcbiAgSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMsIElucHV0VGV4dGFyZWFWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vaW5wdXQtdGV4dGFyZWEuZW51bSc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWlucHV0LXRleHRhcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRhcmVhQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRhcmVhQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHB1YmxpYyB2YWx1ZTogSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMgPSAnJztcclxuICBwdWJsaWMgc2VsZWN0aW9uU3RhcnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgc2VsZWN0aW9uRW5kOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfaW5uZXJIdG1sPzogc3RyaW5nO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9zaXplID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4bGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWlubGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgcm93cyA9IDE7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbWFzayA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBJbnB1dFRleHRhcmVhU2l6ZXNUeXBlcyA9ICdsYXJnZSc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0VGV4dGFyZWFWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0YXJlYVZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBibHVycmVkOiBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0YXJlYVZhbHVlVHlwZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnB1dFRleHRhcmVhVmFsdWVUeXBlcz4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0YXJlYVZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW5wdXRUZXh0YXJlYVZhbHVlV2l0aElkPigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbnZhbGlkTWVzc2FnZUFycmF5KCk6IHN0cmluZ1tdIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5pbnZhbGlkTWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIEFycmF5KHRoaXMuaW52YWxpZE1lc3NhZ2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZE1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5iYXNlVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke0lucHV0VGV4dGFyZWFTaXplc0VudW1bdGhpcy5zaXplXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbm5lckh0bWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5uZXJIdG1sICYmIHRoaXMuX2lubmVySHRtbC5sZW5ndGggPiAwID8gdGhpcy5faW5uZXJIdG1sIDogdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5uZXJIdG1sKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2lubmVySHRtbCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVNlbGVjdGlvbihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvblN0YXJ0ID0gZXZlbnQudGFyZ2V0LnNlbGVjdGlvblN0YXJ0O1xyXG4gICAgdGhpcy5zZWxlY3Rpb25FbmQgPSBldmVudC50YXJnZXQuc2VsZWN0aW9uRW5kO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluc2VydFBvc2l0aW9uVGV4dCh0YWdUZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblN0YXJ0ICYmIHRoaXMuc2VsZWN0aW9uRW5kKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0VGV4dCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnN1YnN0cmluZygwLCB0aGlzLnNlbGVjdGlvblN0YXJ0KSA6ICcnXHJcbiAgICAgIGNvbnN0IHNlY29uZFRleHQgPSB0aGlzLnZhbHVlLnN1YnN0cmluZyh0aGlzLnNlbGVjdGlvbkVuZCk7XHJcbiAgICAgIGNvbnN0IHRleHQgPSBmaXJzdFRleHQgKyB0YWdUZXh0ICsgc2Vjb25kVGV4dDtcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodGV4dCk7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gKGZpcnN0VGV4dCArIHRhZ1RleHQpLmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IChmaXJzdFRleHQgKyB0YWdUZXh0KS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnZhbHVlICsgdGFnVGV4dFxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0ZXh0KTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSB0ZXh0Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHRleHQubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYmFzZVZhbGlkYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubWlubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiAhIXRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5taW5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBJbnB1dFRleHRhcmVhVmFsdWVUeXBlcykgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc1ZhbHVlRm9yVmlld09ubHkodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG91dHNpZGVWYWx1ZTogSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudD8ubmF0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50KSAge1xyXG4gICAgICB0aGlzLnZhbHVlID0gb3V0c2lkZVZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMucHJvY2Vzc1ZhbHVlRm9yVmlld09ubHkob3V0c2lkZVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5ibHVyVXBkYXRlVmFsdWUoKVxyXG4gICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oZXZlbnQpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYmx1clVwZGF0ZVZhbHVlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ibHVycmVkLmVtaXQodGhpcy52YWx1ZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogSW5wdXRUZXh0YXJlYVZhbHVlVHlwZXMpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBpbnNpZGVWYWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7IHZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZCB9KTtcclxuICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibXJ4LWlucHV0LXRleHRhcmVhXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbiAgW2NsYXNzLi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLi1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgW2NsYXNzLm1yeC1pbnB1dC1lcnJvcl09XCJpbnZhbGlkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtdGV4dGFyZWFfX3dyYXBwZXJcIj5cclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICAjaW5wdXRFbGVtZW50XHJcbiAgICAgIG1yeEF1dG9zaXplXHJcbiAgICAgIFtpZF09XCJ1dWlkXCJcclxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbcm93c109XCJyb3dzXCJcclxuICAgICAgW2F1dG9zaXplXT1cImF1dG9zaXplXCJcclxuICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aCA+IDAgPyBtaW5sZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aCA+IDAgPyBtYXhsZW5ndGggOiBudWxsXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgbnVsbFwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICA+PC90ZXh0YXJlYT5cclxuICAgIFxyXG4gICAgPG1yeC1jaGFycy1sZWZ0XHJcbiAgICAgICpuZ0lmPVwiIWRpc2FibGVkICYmIG1heGxlbmd0aFwiXHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCI+XHJcbiAgICA8L21yeC1jaGFycy1sZWZ0PlxyXG5cclxuICAgIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1yeC1lcnJvci1tZXNzYWdlXHJcbiAgICAqbmdJZj1cIighaXNWYWxpZCB8fCBpbnZhbGlkKSAmJiBpc0ludmFsaWRNZXNzYWdlXCJcclxuICAgIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiXHJcbiAgPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -238,13 +238,13 @@ export class InputTimepickerComponent {
|
|
|
238
238
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
239
239
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputTimepickerComponent, selector: "mrx-input-timepicker", inputs: { fields: "fields", size: "size", format: "format", customClasses: "customClasses", placeholder: "placeholder", disabled: "disabled", readonly: "readonly", required: "required", minValue: "minValue", maxValue: "maxValue", inline: "inline", closable: "closable", leadZeroDateTime: "leadZeroDateTime", mask: "mask", container: "container", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed", modelChange: "modelChange" }, providers: [
|
|
240
240
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputTimepickerComponent), multi: true }
|
|
241
|
-
], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class
|
|
241
|
+
], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled || readonly\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".mrx-input-date.mrx-input-date{width:100%;position:relative}.mrx-input-date.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)!important}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)!important;background-color:var(--system-bg-negative-secondary)!important}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary)!important;border-color:var(--system-bg-controls-positive-default)!important}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}.mrx-input-date.mrx-input-date.-disabled input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E)}.mrx-input-date.mrx-input-date.-disabled .mrx-input-date__icons .mrx-icon{color:var(--neutral-icon-disabled);pointer-events:none;cursor:default}.mrx-input-date.mrx-input-date.-readonly input{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-primary, #262626)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "directive", type: i5.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
|
|
242
242
|
}
|
|
243
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTimepickerComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{ selector: 'mrx-input-timepicker', providers: [
|
|
246
246
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => InputTimepickerComponent), multi: true }
|
|
247
|
-
], template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class
|
|
247
|
+
], template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid || innerInvalid\"\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"\">\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"getDateValue\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [validation]=\"false\"\r\n [disabled]=\"disabled || readonly\"\r\n (input)=\"updateDateValue(dateInput)\"\r\n (click)=\"clickToInput(dateInput)\"\r\n />\r\n <div *ngIf=\"!disabled\" class=\"mrx-input-date__icons\">\r\n <span\r\n class=\"mrx-icon icon-close\"\r\n *ngIf=\"isViewCleanIcon\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid; else innerInvalidTemplate\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <ng-template #innerInvalidTemplate>\r\n <mrx-error-message\r\n *ngIf=\"innerInvalid\"\r\n [invalidMessage]=\"innerInvalidMessage\"\r\n ></mrx-error-message>\r\n </ng-template>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".mrx-input-date.mrx-input-date{width:100%;position:relative}.mrx-input-date.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)!important}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)!important;background-color:var(--system-bg-negative-secondary)!important}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary)!important;border-color:var(--system-bg-controls-positive-default)!important}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}.mrx-input-date.mrx-input-date.-disabled input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E)}.mrx-input-date.mrx-input-date.-disabled .mrx-input-date__icons .mrx-icon{color:var(--neutral-icon-disabled);pointer-events:none;cursor:default}.mrx-input-date.mrx-input-date.-readonly input{background-color:var(--neutral-bg-disabled, #EEF0F4);color:var(--neutral-text-primary, #262626)}\n"] }]
|
|
248
248
|
}], ctorParameters: () => [], propDecorators: { fields: [{
|
|
249
249
|
type: Input
|
|
250
250
|
}], size: [{
|
|
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
289
289
|
}], modelChange: [{
|
|
290
290
|
type: Output
|
|
291
291
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC10aW1lcGlja2VyL2lucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGltZXBpY2tlci9pbnB1dC10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGtCQUFrQixFQUluQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9B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QVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsU0FBUztzQkFBeEIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUVMLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEFpckRhdGVwaWNrZXIgZnJvbSAnYWlyLWRhdGVwaWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIElucHV0RGF0ZVNpemVzRW51bSxcclxuICBJbnB1dERhdGVTaXplc1R5cGVzLFxyXG4gIElucHV0RGF0ZVRpbWVWYWx1ZVR5cGVzLFxyXG4gIElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vaW5wdXQtdGltZXBpY2tlci5lbnVtJztcclxuaW1wb3J0IHsgVGltZU1vZGVsLCB2YWxpZGF0ZVRpbWVNb2RlbCB9IGZyb20gJy4vaGVscGVycy92YWxpZGF0ZS12YWx1ZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyB0aW1lTW9kZWxDb25zdGFudCB9IGZyb20gJy4vY29uc3RhbnRzL3ZhbHVlLW1vZGVscyc7XHJcbmltcG9ydCB7IHRpbWVNb2RlbFZhbHVlUGFyc2UgfSBmcm9tICcuL2hlbHBlcnMvdmFsdWUtcGFyc2VyJztcclxuaW1wb3J0IHsgbWFya1Bvc2l0aW9uIH0gZnJvbSAnLi9oZWxwZXJzL2N1cnNvci1wb3NpdGlvbic7XHJcbmltcG9ydCB7IGNsZWFuRGF0ZSB9IGZyb20gJy4vaGVscGVycy9jbGVhbi1kYXRlJztcclxuaW1wb3J0IHsgZ2V0RGF0ZURheWpzT2JqZWN0IH0gZnJvbSAnLi9oZWxwZXJzL2dldC1kYXRlLWRheWpzLW9iamVjdCc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XHJcbmltcG9ydCB7IGdldERhdGVPYmplY3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWRhdGUtb2JqZWN0JztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXZlLXN0b3JlL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC10aW1lcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydpbnB1dC10aW1lcGlja2VyLmNvbXBvbmVudHMubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUaW1lcGlja2VyQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGltZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyBkdDogYW55O1xyXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gJyc7XHJcbiAgcHVibGljIHRpbWVNb2RlbDogVGltZU1vZGVsID0gdGltZU1vZGVsQ29uc3RhbnQ7XHJcblxyXG4gIHB1YmxpYyBpbm5lckludmFsaWQgPSBmYWxzZTtcclxuICBwdWJsaWMgaW5uZXJJbnZhbGlkTWVzc2FnZSA9ICcnO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNpemU6IElucHV0RGF0ZVNpemVzVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtYXQgPSAnSEg6bW0nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJzAwOjAwJztcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWluVmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGxlYWRaZXJvRGF0ZVRpbWUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWFzayA9ICcwMDptMCc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWluZXIgPSAnZGl2LnBhZ2Utd3JhcHBlcic7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnKSBkYXRlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbnB1dERhdGVUaW1lVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnB1dERhdGVUaW1lVmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kdCA9IG5ldyBBaXJEYXRlcGlja2VyKHRoaXMuZGF0ZUlucHV0Lm5hdGl2ZUVsZW1lbnQsIHtcclxuICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lcixcclxuICAgICAgbG9jYWxlOiB7XHJcbiAgICAgICAgdGltZUZvcm1hdDogdGhpcy5mb3JtYXQsXHJcbiAgICAgIH0sXHJcbiAgICAgIGF1dG9DbG9zZTogdHJ1ZSxcclxuICAgICAgdGltZXBpY2tlcjogdHJ1ZSxcclxuICAgICAgb25seVRpbWVwaWNrZXI6IHRydWUsXHJcbiAgICAgIG1pbkRhdGU6IHRoaXMubWluVmFsdWUgPyBkYXlqcyh0aGlzLm1pblZhbHVlLCB0aGlzLmZvcm1hdCkudG9EYXRlKCkgOiAnJyxcclxuICAgICAgbWF4RGF0ZTogdGhpcy5tYXhWYWx1ZSA/IGRheWpzKHRoaXMubWF4VmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKSA6ICcnLFxyXG4gICAgICBpbmxpbmU6IHRoaXMuaW5saW5lLFxyXG4gICAgICBwb3NpdGlvbih7ICRkYXRlcGlja2VyLCAkdGFyZ2V0LCAkcG9pbnRlciwgZG9uZSB9KSB7XHJcbiAgICAgICAgbGV0IHBvcHBlciA9IGNyZWF0ZVBvcHBlcigkdGFyZ2V0LCAkZGF0ZXBpY2tlciwge1xyXG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcclxuICAgICAgICAgIG1vZGlmaWVyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2ZsaXAnLFxyXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgICAgICAgICAgdG9wOiA2NFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG5hbWU6ICdvZmZzZXQnLFxyXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIG9mZnNldDogWzAsIDEwXVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG5hbWU6ICdhcnJvdycsXHJcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudDogJHBvaW50ZXJcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBsZXRlSGlkZSgpIHtcclxuICAgICAgICAgIHBvcHBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgICAgb25TZWxlY3Q6ICh7IGRhdGUsIGZvcm1hdHRlZERhdGUsIGRhdGVwaWNrZXIgfSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgdHlwZW9mIGZvcm1hdHRlZERhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICB0aGlzLnRpbWVNb2RlbCA9IHZhbGlkYXRlVGltZU1vZGVsKGZvcm1hdHRlZERhdGUpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRNb2RlbHMpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZU1vZGVsKHRoaXMudGltZU1vZGVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHQpIHtcclxuICAgICAgaWYgKGNoYW5nZXNbJ21heFZhbHVlJ10pIHtcclxuICAgICAgICB0aGlzLm1heFZhbHVlID0gY2hhbmdlc1snbWF4VmFsdWUnXS5jdXJyZW50VmFsdWVcclxuICAgICAgICB0aGlzLmR0LnVwZGF0ZSh7IG1heERhdGU6IHRoaXMubWF4VmFsdWUgPyBkYXlqcyh0aGlzLm1heFZhbHVlLCB0aGlzLmZvcm1hdCkudG9EYXRlKCkgOiAnJyB9KTtcclxuICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydtaW5WYWx1ZSddKSB7XHJcbiAgICAgICAgdGhpcy5taW5WYWx1ZSA9IGNoYW5nZXNbJ21pblZhbHVlJ10uY3VycmVudFZhbHVlXHJcbiAgICAgICAgdGhpcy5kdC51cGRhdGUoeyBtaW5EYXRlOiB0aGlzLm1pblZhbHVlID8gZGF5anModGhpcy5taW5WYWx1ZSwgdGhpcy5mb3JtYXQpLnRvRGF0ZSgpIDogJycgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0RGF0ZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy50aW1lTW9kZWwudmlld31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXREYXRlU2l6ZXNFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGlzVmFsaWRNb2RlbHMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMudGltZU1vZGVsLmludmFsaWRcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWaWV3Q2xlYW5JY29uKCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5kYXRlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgdGhpcy5jbG9zYWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja1RvSWNvbkNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrVG9JY29uQ2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmR0LnNldFZpZXdEYXRlKG5ldyBEYXRlKCkpO1xyXG4gICAgdGhpcy5kdCAmJiB0aGlzLmR0LmNsZWFyKCk7XHJcbiAgICB0aGlzLnRpbWVNb2RlbCA9IHRpbWVNb2RlbENvbnN0YW50O1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLmlubmVySW52YWxpZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZhbHVlTW9kZWwodGltZU1vZGVsOiBUaW1lTW9kZWwsIGJvbDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAodGltZU1vZGVsLnZpZXcgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tUb0ljb25DbGVhcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IGdldERhdGVEYXlqc09iamVjdCh0aW1lTW9kZWwpO1xyXG4gICAgICBjb25zdCBmb3JtYXR0aW5nRGF0ZSA9IGRhdGUuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tpbmdJbnZhbGlkKGZvcm1hdHRpbmdEYXRlLCB0aGlzLm1heFZhbHVlLCB0aGlzLm1pblZhbHVlKTtcclxuXHJcbiAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSAmJiBpc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5kdC5zZWxlY3REYXRlKGdldERhdGVPYmplY3QodGltZU1vZGVsKSwge1xyXG4gICAgICAgICAgdXBkYXRlVGltZTogdHJ1ZSxcclxuICAgICAgICAgIHNpbGVudDogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZHQuc2V0Vmlld0RhdGUoZ2V0RGF0ZU9iamVjdCh0aW1lTW9kZWwpKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGZvcm1hdHRpbmdEYXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnZhbGlkTWVzc2FnZU9uKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbm5lckludmFsaWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW52YWxpZE1lc3NhZ2VPZmYoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlubmVySW52YWxpZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlRGF0ZVZhbHVlKGRhdGVJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50aW1lTW9kZWwgPSB2YWxpZGF0ZVRpbWVNb2RlbChkYXRlSW5wdXQudmFsdWUpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzVmFsaWRNb2RlbHMgfHwgdGhpcy50aW1lTW9kZWwudmlldyA9PT0gJycpIHtcclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZU1vZGVsKHRoaXMudGltZU1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja1RvSW5wdXQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGlmIChpbnB1dC5zZWxlY3Rpb25TdGFydCA9PT0gaW5wdXQuc2VsZWN0aW9uRW5kICYmIChpbnB1dC5zZWxlY3Rpb25TdGFydCAmJiBpbnB1dC5zZWxlY3Rpb25TdGFydCA+IDApKSB7XHJcbiAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gbWFya1Bvc2l0aW9uKGlucHV0LnNlbGVjdGlvblN0YXJ0LCBpbnB1dC5zZWxlY3Rpb25FbmQpO1xyXG4gICAgICBpbnB1dC5zZWxlY3Rpb25TdGFydCA9IHN0YXJ0O1xyXG4gICAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBlbmQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNraW5nSW52YWxpZCh2YWx1ZTogc3RyaW5nLCBtYXhEYXRlOiBzdHJpbmcsIG1pbkRhdGU6IHN0cmluZykge1xyXG4gICAgLy8gaWYgKG1heERhdGUgJiYgKGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1heERhdGUpKSA9PT0gMCkpIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNCy0L3QsCDQtNCw0YLQtSDQuCDQstGA0LXQvNC10L3QuCDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIGlmIChtYXhEYXRlICYmIChkYXlqcyh2YWx1ZSkuZGlmZihkYXlqcyhtYXhEYXRlKSkgPiAwKSkge1xyXG4gICAgLy8gICAvLyB0aGlzLmludmFsaWRNZXNzYWdlT24oJ9CU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNC90YzRiNC1INC00LDRgtGLINC90LDRh9Cw0LvQsCcpO1xyXG4gICAgLy8gICAvLyByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyB9IGVsc2UgaWYgKG1pbkRhdGUgJiYgKGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1pbkRhdGUpKSA9PT0gMCkpIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNCy0L3QsCDQtNCw0YLQtSDQuCDQstGA0LXQvNC10L3QuCDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIGlmIChtaW5EYXRlICYmIGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1pbkRhdGUpKSA8IDApIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y8g0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGA0LDQvdGM0YjQtSDQtNCw0YLRiyDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9mZigpO1xyXG4gICAgLy8gICAvLyByZXR1cm4gdHJ1ZTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMuaW52YWxpZE1lc3NhZ2VPZmYoKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUob3V0c2lkZVZhbHVlOiBJbnB1dERhdGVUaW1lVmFsdWVUeXBlcykge1xyXG4gICAgaWYgKG91dHNpZGVWYWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gY2xlYW5EYXRlKG91dHNpZGVWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG5cclxuICAgICAgdGhpcy50aW1lTW9kZWwgPSB0aW1lTW9kZWxWYWx1ZVBhcnNlKG91dHNpZGVWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG5cclxuICAgICAgdGhpcy5jaGVja2luZ0ludmFsaWQob3V0c2lkZVZhbHVlLCB0aGlzLm1heFZhbHVlLCB0aGlzLm1pblZhbHVlKTtcclxuXHJcbiAgICAgIHRoaXMuZHQuc2VsZWN0RGF0ZShnZXREYXRlT2JqZWN0KHRoaXMudGltZU1vZGVsKSwgeyB1cGRhdGVUaW1lOiB0cnVlLCBzaWxlbnQ6IHRydWUgfSk7XHJcbiAgICAgIHRoaXMuZHQuc2V0Vmlld0RhdGUoZ2V0RGF0ZU9iamVjdCh0aGlzLnRpbWVNb2RlbCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZHQpIHtcclxuICAgICAgICB0aGlzLmR0LmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBJbnB1dERhdGVUaW1lVmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogaW5zaWRlVmFsdWUsIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZShpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cIm1yeC1pbnB1dC1kYXRlXCJcclxuICAgIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZCB8fCBpbm5lckludmFsaWRcIlxyXG4gICAgW2NsYXNzLm1yeC1pbnB1dC1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWRhdGVfX3dyYXBwZXJcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgICAjZGF0ZUlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJub3BlXCJcclxuICAgICAgICAgIGNsYXNzPVwibXJ4LWlucHV0LWRhdGVfX2lucHV0IG1yeC1pbnB1dC1kYXRlX19kYXRlXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJnZXREYXRlVmFsdWVcIlxyXG4gICAgICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgICAgICBbbGVhZFplcm9EYXRlVGltZV09XCJ0cnVlXCJcclxuICAgICAgICAgIFt2YWxpZGF0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwidXBkYXRlRGF0ZVZhbHVlKGRhdGVJbnB1dClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsaWNrVG9JbnB1dChkYXRlSW5wdXQpXCJcclxuICAgICAgLz5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlZFwiIGNsYXNzPVwibXJ4LWlucHV0LWRhdGVfX2ljb25zXCI+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1ZpZXdDbGVhbkljb25cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja1RvSWNvbkNsZWFyKClcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMTZdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0yNF09XCJzaXplID09PSAnbWVkaXVtJyB8fCBzaXplID09PSAnbGFyZ2UnXCJcclxuICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNhbGVuZGFyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrVG9JY29uQ2FsZW5kYXIoKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMTZdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pY29uLWZvbnQtMjRdPVwic2l6ZSA9PT0gJ21lZGl1bScgfHwgc2l6ZSA9PT0gJ2xhcmdlJ1wiXHJcbiAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgICA8bXJ4LWVycm9yLW1lc3NhZ2VcclxuICAgICAgICAqbmdJZj1cImludmFsaWQ7IGVsc2UgaW5uZXJJbnZhbGlkVGVtcGxhdGVcIlxyXG4gICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiXHJcbiAgICA+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNpbm5lckludmFsaWRUZW1wbGF0ZT5cclxuICAgIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgICAgICpuZ0lmPVwiaW5uZXJJbnZhbGlkXCJcclxuICAgICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiaW5uZXJJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICA+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG4iXX0=
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC10aW1lcGlja2VyL2lucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtdGltZXBpY2tlci9pbnB1dC10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUNMLGtCQUFrQixFQUluQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9B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QVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsU0FBUztzQkFBeEIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUVMLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEFpckRhdGVwaWNrZXIgZnJvbSAnYWlyLWRhdGVwaWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIElucHV0RGF0ZVNpemVzRW51bSxcclxuICBJbnB1dERhdGVTaXplc1R5cGVzLFxyXG4gIElucHV0RGF0ZVRpbWVWYWx1ZVR5cGVzLFxyXG4gIElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vaW5wdXQtdGltZXBpY2tlci5lbnVtJztcclxuaW1wb3J0IHsgVGltZU1vZGVsLCB2YWxpZGF0ZVRpbWVNb2RlbCB9IGZyb20gJy4vaGVscGVycy92YWxpZGF0ZS12YWx1ZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyB0aW1lTW9kZWxDb25zdGFudCB9IGZyb20gJy4vY29uc3RhbnRzL3ZhbHVlLW1vZGVscyc7XHJcbmltcG9ydCB7IHRpbWVNb2RlbFZhbHVlUGFyc2UgfSBmcm9tICcuL2hlbHBlcnMvdmFsdWUtcGFyc2VyJztcclxuaW1wb3J0IHsgbWFya1Bvc2l0aW9uIH0gZnJvbSAnLi9oZWxwZXJzL2N1cnNvci1wb3NpdGlvbic7XHJcbmltcG9ydCB7IGNsZWFuRGF0ZSB9IGZyb20gJy4vaGVscGVycy9jbGVhbi1kYXRlJztcclxuaW1wb3J0IHsgZ2V0RGF0ZURheWpzT2JqZWN0IH0gZnJvbSAnLi9oZWxwZXJzL2dldC1kYXRlLWRheWpzLW9iamVjdCc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XHJcbmltcG9ydCB7IGdldERhdGVPYmplY3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWRhdGUtb2JqZWN0JztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXZlLXN0b3JlL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC10aW1lcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJ2lucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydpbnB1dC10aW1lcGlja2VyLmNvbXBvbmVudHMubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUaW1lcGlja2VyQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGltZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyBkdDogYW55O1xyXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gJyc7XHJcbiAgcHVibGljIHRpbWVNb2RlbDogVGltZU1vZGVsID0gdGltZU1vZGVsQ29uc3RhbnQ7XHJcblxyXG4gIHB1YmxpYyBpbm5lckludmFsaWQgPSBmYWxzZTtcclxuICBwdWJsaWMgaW5uZXJJbnZhbGlkTWVzc2FnZSA9ICcnO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNpemU6IElucHV0RGF0ZVNpemVzVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtYXQgPSAnSEg6bW0nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJzAwOjAwJztcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWluVmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGxlYWRaZXJvRGF0ZVRpbWUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWFzayA9ICcwMDptMCc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWluZXIgPSAnZGl2LnBhZ2Utd3JhcHBlcic7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnKSBkYXRlSW5wdXQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbnB1dERhdGVUaW1lVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnB1dERhdGVUaW1lVmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kdCA9IG5ldyBBaXJEYXRlcGlja2VyKHRoaXMuZGF0ZUlucHV0Lm5hdGl2ZUVsZW1lbnQsIHtcclxuICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lcixcclxuICAgICAgbG9jYWxlOiB7XHJcbiAgICAgICAgdGltZUZvcm1hdDogdGhpcy5mb3JtYXQsXHJcbiAgICAgIH0sXHJcbiAgICAgIGF1dG9DbG9zZTogdHJ1ZSxcclxuICAgICAgdGltZXBpY2tlcjogdHJ1ZSxcclxuICAgICAgb25seVRpbWVwaWNrZXI6IHRydWUsXHJcbiAgICAgIG1pbkRhdGU6IHRoaXMubWluVmFsdWUgPyBkYXlqcyh0aGlzLm1pblZhbHVlLCB0aGlzLmZvcm1hdCkudG9EYXRlKCkgOiAnJyxcclxuICAgICAgbWF4RGF0ZTogdGhpcy5tYXhWYWx1ZSA/IGRheWpzKHRoaXMubWF4VmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKSA6ICcnLFxyXG4gICAgICBpbmxpbmU6IHRoaXMuaW5saW5lLFxyXG4gICAgICBwb3NpdGlvbih7ICRkYXRlcGlja2VyLCAkdGFyZ2V0LCAkcG9pbnRlciwgZG9uZSB9KSB7XHJcbiAgICAgICAgbGV0IHBvcHBlciA9IGNyZWF0ZVBvcHBlcigkdGFyZ2V0LCAkZGF0ZXBpY2tlciwge1xyXG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcclxuICAgICAgICAgIG1vZGlmaWVyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2ZsaXAnLFxyXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgICAgICAgICAgdG9wOiA2NFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG5hbWU6ICdvZmZzZXQnLFxyXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIG9mZnNldDogWzAsIDEwXVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG5hbWU6ICdhcnJvdycsXHJcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudDogJHBvaW50ZXJcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBsZXRlSGlkZSgpIHtcclxuICAgICAgICAgIHBvcHBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgICAgb25TZWxlY3Q6ICh7IGRhdGUsIGZvcm1hdHRlZERhdGUsIGRhdGVwaWNrZXIgfSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgdHlwZW9mIGZvcm1hdHRlZERhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICB0aGlzLnRpbWVNb2RlbCA9IHZhbGlkYXRlVGltZU1vZGVsKGZvcm1hdHRlZERhdGUpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRNb2RlbHMpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZU1vZGVsKHRoaXMudGltZU1vZGVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHQpIHtcclxuICAgICAgaWYgKGNoYW5nZXNbJ21heFZhbHVlJ10pIHtcclxuICAgICAgICB0aGlzLm1heFZhbHVlID0gY2hhbmdlc1snbWF4VmFsdWUnXS5jdXJyZW50VmFsdWVcclxuICAgICAgICB0aGlzLmR0LnVwZGF0ZSh7IG1heERhdGU6IHRoaXMubWF4VmFsdWUgPyBkYXlqcyh0aGlzLm1heFZhbHVlLCB0aGlzLmZvcm1hdCkudG9EYXRlKCkgOiAnJyB9KTtcclxuICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydtaW5WYWx1ZSddKSB7XHJcbiAgICAgICAgdGhpcy5taW5WYWx1ZSA9IGNoYW5nZXNbJ21pblZhbHVlJ10uY3VycmVudFZhbHVlXHJcbiAgICAgICAgdGhpcy5kdC51cGRhdGUoeyBtaW5EYXRlOiB0aGlzLm1pblZhbHVlID8gZGF5anModGhpcy5taW5WYWx1ZSwgdGhpcy5mb3JtYXQpLnRvRGF0ZSgpIDogJycgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0RGF0ZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy50aW1lTW9kZWwudmlld31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXREYXRlU2l6ZXNFbnVtW3RoaXMuc2l6ZV19ICR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGlzVmFsaWRNb2RlbHMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMudGltZU1vZGVsLmludmFsaWRcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNWaWV3Q2xlYW5JY29uKCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5kYXRlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgdGhpcy5jbG9zYWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja1RvSWNvbkNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrVG9JY29uQ2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmR0LnNldFZpZXdEYXRlKG5ldyBEYXRlKCkpO1xyXG4gICAgdGhpcy5kdCAmJiB0aGlzLmR0LmNsZWFyKCk7XHJcbiAgICB0aGlzLnRpbWVNb2RlbCA9IHRpbWVNb2RlbENvbnN0YW50O1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLmlubmVySW52YWxpZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZhbHVlTW9kZWwodGltZU1vZGVsOiBUaW1lTW9kZWwsIGJvbDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAodGltZU1vZGVsLnZpZXcgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tUb0ljb25DbGVhcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IGdldERhdGVEYXlqc09iamVjdCh0aW1lTW9kZWwpO1xyXG4gICAgICBjb25zdCBmb3JtYXR0aW5nRGF0ZSA9IGRhdGUuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tpbmdJbnZhbGlkKGZvcm1hdHRpbmdEYXRlLCB0aGlzLm1heFZhbHVlLCB0aGlzLm1pblZhbHVlKTtcclxuXHJcbiAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSAmJiBpc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5kdC5zZWxlY3REYXRlKGdldERhdGVPYmplY3QodGltZU1vZGVsKSwge1xyXG4gICAgICAgICAgdXBkYXRlVGltZTogdHJ1ZSxcclxuICAgICAgICAgIHNpbGVudDogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZHQuc2V0Vmlld0RhdGUoZ2V0RGF0ZU9iamVjdCh0aW1lTW9kZWwpKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGZvcm1hdHRpbmdEYXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnZhbGlkTWVzc2FnZU9uKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbm5lckludmFsaWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW52YWxpZE1lc3NhZ2VPZmYoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlubmVySW52YWxpZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbm5lckludmFsaWRNZXNzYWdlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlRGF0ZVZhbHVlKGRhdGVJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50aW1lTW9kZWwgPSB2YWxpZGF0ZVRpbWVNb2RlbChkYXRlSW5wdXQudmFsdWUpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzVmFsaWRNb2RlbHMgfHwgdGhpcy50aW1lTW9kZWwudmlldyA9PT0gJycpIHtcclxuICAgICAgdGhpcy51cGRhdGVWYWx1ZU1vZGVsKHRoaXMudGltZU1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja1RvSW5wdXQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGlmIChpbnB1dC5zZWxlY3Rpb25TdGFydCA9PT0gaW5wdXQuc2VsZWN0aW9uRW5kICYmIChpbnB1dC5zZWxlY3Rpb25TdGFydCAmJiBpbnB1dC5zZWxlY3Rpb25TdGFydCA+IDApKSB7XHJcbiAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gbWFya1Bvc2l0aW9uKGlucHV0LnNlbGVjdGlvblN0YXJ0LCBpbnB1dC5zZWxlY3Rpb25FbmQpO1xyXG4gICAgICBpbnB1dC5zZWxlY3Rpb25TdGFydCA9IHN0YXJ0O1xyXG4gICAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBlbmQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNraW5nSW52YWxpZCh2YWx1ZTogc3RyaW5nLCBtYXhEYXRlOiBzdHJpbmcsIG1pbkRhdGU6IHN0cmluZykge1xyXG4gICAgLy8gaWYgKG1heERhdGUgJiYgKGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1heERhdGUpKSA9PT0gMCkpIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNCy0L3QsCDQtNCw0YLQtSDQuCDQstGA0LXQvNC10L3QuCDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIGlmIChtYXhEYXRlICYmIChkYXlqcyh2YWx1ZSkuZGlmZihkYXlqcyhtYXhEYXRlKSkgPiAwKSkge1xyXG4gICAgLy8gICAvLyB0aGlzLmludmFsaWRNZXNzYWdlT24oJ9CU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNC90YzRiNC1INC00LDRgtGLINC90LDRh9Cw0LvQsCcpO1xyXG4gICAgLy8gICAvLyByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyB9IGVsc2UgaWYgKG1pbkRhdGUgJiYgKGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1pbkRhdGUpKSA9PT0gMCkpIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQuCDQstGA0LXQvNGPINC+0LrQvtC90YfQsNC90LjRjyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YDQsNCy0L3QsCDQtNCw0YLQtSDQuCDQstGA0LXQvNC10L3QuCDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIGlmIChtaW5EYXRlICYmIGRheWpzKHZhbHVlKS5kaWZmKGRheWpzKG1pbkRhdGUpKSA8IDApIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9uKCfQlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y8g0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGA0LDQvdGM0YjQtSDQtNCw0YLRiyDQvdCw0YfQsNC70LAnKTtcclxuICAgIC8vICAgLy8gcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgLy8gdGhpcy5pbnZhbGlkTWVzc2FnZU9mZigpO1xyXG4gICAgLy8gICAvLyByZXR1cm4gdHJ1ZTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMuaW52YWxpZE1lc3NhZ2VPZmYoKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUob3V0c2lkZVZhbHVlOiBJbnB1dERhdGVUaW1lVmFsdWVUeXBlcykge1xyXG4gICAgaWYgKG91dHNpZGVWYWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gY2xlYW5EYXRlKG91dHNpZGVWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG5cclxuICAgICAgdGhpcy50aW1lTW9kZWwgPSB0aW1lTW9kZWxWYWx1ZVBhcnNlKG91dHNpZGVWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG5cclxuICAgICAgdGhpcy5jaGVja2luZ0ludmFsaWQob3V0c2lkZVZhbHVlLCB0aGlzLm1heFZhbHVlLCB0aGlzLm1pblZhbHVlKTtcclxuXHJcbiAgICAgIHRoaXMuZHQuc2VsZWN0RGF0ZShnZXREYXRlT2JqZWN0KHRoaXMudGltZU1vZGVsKSwgeyB1cGRhdGVUaW1lOiB0cnVlLCBzaWxlbnQ6IHRydWUgfSk7XHJcbiAgICAgIHRoaXMuZHQuc2V0Vmlld0RhdGUoZ2V0RGF0ZU9iamVjdCh0aGlzLnRpbWVNb2RlbCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZHQpIHtcclxuICAgICAgICB0aGlzLmR0LmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBJbnB1dERhdGVUaW1lVmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogaW5zaWRlVmFsdWUsIGlkOiB0aGlzLnV1aWR9KVxyXG4gICAgdGhpcy5vbkNoYW5nZShpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cIm1yeC1pbnB1dC1kYXRlXCJcclxuICAgIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZCB8fCBpbm5lckludmFsaWRcIlxyXG4gICAgW2NsYXNzLi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbY2xhc3MuLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZGF0ZV9fd3JhcHBlclwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAgICNkYXRlSW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5vcGVcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZGF0ZV9faW5wdXQgbXJ4LWlucHV0LWRhdGVfX2RhdGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cImdldERhdGVWYWx1ZVwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtsZWFkWmVyb0RhdGVUaW1lXT1cInRydWVcIlxyXG4gICAgICAgICAgW3ZhbGlkYXRpb25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgICAgIChpbnB1dCk9XCJ1cGRhdGVEYXRlVmFsdWUoZGF0ZUlucHV0KVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xpY2tUb0lucHV0KGRhdGVJbnB1dClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJtcngtaW5wdXQtZGF0ZV9faWNvbnNcIj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImlzVmlld0NsZWFuSWNvblwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrVG9JY29uQ2xlYXIoKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0xNl09XCJzaXplID09PSAnc21hbGwnXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1mb250LTI0XT1cInNpemUgPT09ICdtZWRpdW0nIHx8IHNpemUgPT09ICdsYXJnZSdcIlxyXG4gICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yeC1pY29uIGljb24tY2FsZW5kYXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tUb0ljb25DYWxlbmRhcigpXCJcclxuICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0xNl09XCJzaXplID09PSAnc21hbGwnXCJcclxuICAgICAgICAgICAgW2NsYXNzLmljb24tZm9udC0yNF09XCJzaXplID09PSAnbWVkaXVtJyB8fCBzaXplID09PSAnbGFyZ2UnXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICAgIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgICAgICpuZ0lmPVwiaW52YWxpZDsgZWxzZSBpbm5lckludmFsaWRUZW1wbGF0ZVwiXHJcbiAgICAgICAgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCJcclxuICAgID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2lubmVySW52YWxpZFRlbXBsYXRlPlxyXG4gICAgPG1yeC1lcnJvci1tZXNzYWdlXHJcbiAgICAgICAgKm5nSWY9XCJpbm5lckludmFsaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJpbm5lckludmFsaWRNZXNzYWdlXCJcclxuICAgID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcbiJdfQ==
|