@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1318-c → 1.5.1318-e
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/assets/i18n/en.json +33 -1
- package/assets/i18n/es.json +34 -2
- package/assets/styles/main.min.css +1 -1
- package/assets/styles/main.min.css.map +1 -1
- package/assets/styles/micro.min.css +1 -0
- package/assets/styles/micro.min.css.map +1 -0
- package/esm2022/assets/i18n/en.json +33 -1
- package/esm2022/assets/i18n/es.json +34 -2
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +2 -2
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +9 -4
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +13 -8
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +3 -3
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +1 -1
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +2 -2
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +2 -2
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +4 -2
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +177 -91
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +2 -2
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +3 -2
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +2 -2
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +2 -2
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +2 -2
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +2 -2
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +30 -9
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +1 -1
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +1 -1
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +5 -7
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +66 -8
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor-prompt/bmb-text-editor-prompt.component.mjs +51 -0
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +66 -24
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +11 -17
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +33 -15
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +9 -3
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +2 -2
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +6 -3
- package/esm2022/lib/services/projection/projection.service.mjs +1 -1
- package/esm2022/lib/utils/formControl.mjs +6 -4
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +712 -387
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +3 -2
- package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +39 -20
- package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +3 -2
- package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +8 -2
- package/lib/components/bmb-tables/bmb-tables.component.d.ts +8 -1
- package/lib/components/bmb-text-editor/bmb-text-editor-prompt/bmb-text-editor-prompt.component.d.ts +13 -0
- package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +10 -4
- package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +1 -2
- package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +10 -4
- package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +2 -1
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +2 -1
- package/lib/utils/formControl.d.ts +2 -2
- package/package.json +4 -4
- package/esm2022/lib/services/calendar.service.mjs +0 -51
- package/esm2022/lib/services/index.mjs +0 -3
- package/esm2022/lib/services/native-modal.service.mjs +0 -60
- package/esm2022/lib/services/notification.service.mjs +0 -84
- package/esm2022/lib/services/projection.service.mjs +0 -49
- package/esm2022/lib/services/tabs.service.mjs +0 -30
- package/esm2022/lib/services/theme.service.mjs +0 -30
- package/esm2022/lib/services/toast.service.mjs +0 -24
- package/lib/services/calendar.service.d.ts +0 -15
- package/lib/services/index.d.ts +0 -2
- package/lib/services/native-modal.service.d.ts +0 -18
- package/lib/services/notification.service.d.ts +0 -20
- package/lib/services/projection.service.d.ts +0 -31
- package/lib/services/tabs.service.d.ts +0 -13
- package/lib/services/theme.service.d.ts +0 -11
- package/lib/services/toast.service.d.ts +0 -9
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
46
46
|
providedIn: 'root',
|
|
47
47
|
}]
|
|
48
48
|
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9zZXJ2aWNlcy9wcm9qZWN0aW9uL3Byb2plY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUdmLFVBQVUsRUFDVixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBa0J0RixNQUFNLE9BQU8sMkJBQTJCO0lBSXRDLFlBQ1UsTUFBc0IsRUFDdEIsbUJBQXdDO1FBRHhDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFMekMsZ0JBQVcsR0FBRyxNQUFNLENBQStCLElBQUksQ0FBQyxDQUFDO1FBQzFELHVCQUFrQixHQUE0QyxJQUFJLENBQUM7SUFLeEUsQ0FBQztJQUVJLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUMxQyxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsa0JBQWtCLEVBQUU7WUFDNUQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtTQUM5QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQ3pCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUE4QjtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDckMsQ0FBQzsrR0FqRFUsMkJBQTJCO21IQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJtYlBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYm1iLXBvcnRhbC9ibWItcG9ydGFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIElCbWJQcm9qZWN0ZWRDb250ZW50TW9kZSA9ICdvdmVyJyB8ICdwYXJ0aWFsJyB8ICdvdXRzaWRlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQm1iUHJvamVjdGlvbkNvbnRlbnQge1xuICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB8IFR5cGU8YW55PjtcbiAgdGFyZ2V0UmVmPzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBtb2RlPzogSUJtYlByb2plY3RlZENvbnRlbnRNb2RlO1xuICBmaXhTaXplVG9SZWY/OiBib29sZWFuO1xuICBpbnB1dENvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICBzaG93QmFja2Ryb3A/OiBib29sZWFuO1xuICBvdXRwdXRDb250ZXh0PzogeyBba2V5OiBzdHJpbmddOiAodmFsdWU6IGFueSkgPT4gdm9pZCB9O1xuICBmb2N1c09uT3Blbj86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJQcm9qZWN0aW9uQ29udGVudFNlcnZpY2Uge1xuICByZWFkb25seSBjb250ZW50TGlzdCA9IHNpZ25hbDxJQm1iUHJvamVjdGlvbkNvbnRlbnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwb3J0YWxDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxCbWJQb3J0YWxDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgKSB7fVxuXG4gIHByaXZhdGUgZ2V0T3JDcmVhdGVQb3J0YWwoKSB7XG4gICAgaWYgKHRoaXMucG9ydGFsQ29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm4gdGhpcy5wb3J0YWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgY29uc3QgZXhpc3RpbmdIb3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm1iLXBvcnRhbCcpO1xuXG4gICAgaWYgKGV4aXN0aW5nSG9zdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5wb3J0YWxDb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoQm1iUG9ydGFsQ29tcG9uZW50LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMucG9ydGFsQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgIGNvbnN0IGhvc3REb21FbGVtID0gKFxuICAgICAgdGhpcy5wb3J0YWxDb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT5cbiAgICApLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3REb21FbGVtKTtcblxuICAgIHJldHVybiB0aGlzLnBvcnRhbENvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIG9wZW5Db250ZW50KGNvbnRlbnQ6IElCbWJQcm9qZWN0aW9uQ29udGVudCkge1xuICAgIHRoaXMuZ2V0T3JDcmVhdGVQb3J0YWwoKTtcbiAgICB0aGlzLmNvbnRlbnRMaXN0LnNldChjb250ZW50KTtcbiAgfVxuXG4gIGNsb3NlQ29udGVudCgpIHtcbiAgICB0aGlzLmNvbnRlbnRMaXN0LnNldChudWxsKTtcbiAgfVxuXG4gIGdldFByb2plY3RlZENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudExpc3QoKTtcbiAgfVxuXG4gIGlzVGhlcmVDb250ZW50UHJvamVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRMaXN0KCkgIT09IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,19 +2,21 @@ import { FormControl } from '@angular/forms';
|
|
|
2
2
|
export const showError = (control) => {
|
|
3
3
|
return (control?.invalid && (control?.touched || control?.dirty)) || false;
|
|
4
4
|
};
|
|
5
|
-
export const newFormControlByType = (type = 'text') => {
|
|
5
|
+
export const newFormControlByType = (type = 'text', isMultipleFile = false) => {
|
|
6
6
|
if (type === 'radio' ||
|
|
7
7
|
type === 'checkbox' ||
|
|
8
8
|
type === 'phone' ||
|
|
9
9
|
type === 'number' ||
|
|
10
10
|
type === 'switch')
|
|
11
11
|
return new FormControl(null);
|
|
12
|
+
if (type === 'file')
|
|
13
|
+
return new FormControl(isMultipleFile ? [null] : null);
|
|
12
14
|
return new FormControl('');
|
|
13
15
|
};
|
|
14
|
-
export const assignNewFormControl = (name, control, type = 'text') => {
|
|
16
|
+
export const assignNewFormControl = (name, control, type = 'text', isMultipleFile = false) => {
|
|
15
17
|
if (!control) {
|
|
16
18
|
console.warn(`[bmb-input - ${name}] -`, 'The assigned control was not valid, a new formControl was generated.');
|
|
17
|
-
return newFormControlByType(type);
|
|
19
|
+
return newFormControlByType(type, isMultipleFile);
|
|
18
20
|
}
|
|
19
21
|
return null;
|
|
20
22
|
};
|
|
@@ -22,4 +24,4 @@ export const handleValidity = (control) => {
|
|
|
22
24
|
control.updateValueAndValidity();
|
|
23
25
|
control.markAsTouched();
|
|
24
26
|
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL3V0aWxzL2Zvcm1Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk3QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFvQixFQUFXLEVBQUU7SUFDekQsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUM3RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxPQUF5QyxNQUFNLEVBQy9DLGlCQUEwQixLQUFLLEVBQ2xCLEVBQUU7SUFDZixJQUNFLElBQUksS0FBSyxPQUFPO1FBQ2hCLElBQUksS0FBSyxVQUFVO1FBQ25CLElBQUksS0FBSyxPQUFPO1FBQ2hCLElBQUksS0FBSyxRQUFRO1FBQ2pCLElBQUksS0FBSyxRQUFRO1FBRWpCLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0IsSUFBSSxJQUFJLEtBQUssTUFBTTtRQUFFLE9BQU8sSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1RSxPQUFPLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLElBQVksRUFDWixPQUFvQixFQUNwQixPQUF5QyxNQUFNLEVBQy9DLGlCQUEwQixLQUFLLEVBQ1gsRUFBRTtJQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsSUFBSSxDQUNWLGdCQUFnQixJQUFJLEtBQUssRUFDekIsc0VBQXNFLENBQ3ZFLENBQUM7UUFDRixPQUFPLG9CQUFvQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFvQixFQUFRLEVBQUU7SUFDM0QsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDakMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJtYklucHV0VHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJtYklucHV0VmFsVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3Qgc2hvd0Vycm9yID0gKGNvbnRyb2w6IEZvcm1Db250cm9sKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy5kaXJ0eSkpIHx8IGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IG5ld0Zvcm1Db250cm9sQnlUeXBlID0gKFxuICB0eXBlOiBJQm1iSW5wdXRUeXBlIHwgSUJtYklucHV0VmFsVHlwZSA9ICd0ZXh0JyxcbiAgaXNNdWx0aXBsZUZpbGU6IGJvb2xlYW4gPSBmYWxzZSxcbik6IEZvcm1Db250cm9sID0+IHtcbiAgaWYgKFxuICAgIHR5cGUgPT09ICdyYWRpbycgfHxcbiAgICB0eXBlID09PSAnY2hlY2tib3gnIHx8XG4gICAgdHlwZSA9PT0gJ3Bob25lJyB8fFxuICAgIHR5cGUgPT09ICdudW1iZXInIHx8XG4gICAgdHlwZSA9PT0gJ3N3aXRjaCdcbiAgKVxuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XG5cbiAgaWYgKHR5cGUgPT09ICdmaWxlJykgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChpc011bHRpcGxlRmlsZSA/IFtudWxsXSA6IG51bGwpO1xuXG4gIHJldHVybiBuZXcgRm9ybUNvbnRyb2woJycpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFzc2lnbk5ld0Zvcm1Db250cm9sID0gKFxuICBuYW1lOiBzdHJpbmcsXG4gIGNvbnRyb2w6IEZvcm1Db250cm9sLFxuICB0eXBlOiBJQm1iSW5wdXRUeXBlIHwgSUJtYklucHV0VmFsVHlwZSA9ICd0ZXh0JyxcbiAgaXNNdWx0aXBsZUZpbGU6IGJvb2xlYW4gPSBmYWxzZSxcbik6IEZvcm1Db250cm9sIHwgbnVsbCA9PiB7XG4gIGlmICghY29udHJvbCkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBbYm1iLWlucHV0IC0gJHtuYW1lfV0gLWAsXG4gICAgICAnVGhlIGFzc2lnbmVkIGNvbnRyb2wgd2FzIG5vdCB2YWxpZCwgYSBuZXcgZm9ybUNvbnRyb2wgd2FzIGdlbmVyYXRlZC4nLFxuICAgICk7XG4gICAgcmV0dXJuIG5ld0Zvcm1Db250cm9sQnlUeXBlKHR5cGUsIGlzTXVsdGlwbGVGaWxlKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVWYWxpZGl0eSA9IChjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQgPT4ge1xuICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG59O1xuIl19
|