dts-backoffice-util 16.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +143 -52
  2. package/esm2022/dts-backoffice-util.mjs +4 -4
  3. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +305 -272
  4. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +7 -7
  5. package/esm2022/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +208 -183
  6. package/esm2022/lib/dts-backoffice-util.module.mjs +54 -54
  7. package/esm2022/lib/interfaces/filter-range.interface.mjs +1 -1
  8. package/esm2022/lib/interfaces/totvs-response.interface.mjs +1 -1
  9. package/esm2022/lib/model/session-info.model.mjs +67 -67
  10. package/esm2022/lib/pipes/dts-date-format.pipe.mjs +20 -20
  11. package/esm2022/lib/services/breadcrumb-control.service.mjs +99 -99
  12. package/esm2022/lib/services/cache-params.service.mjs +25 -25
  13. package/esm2022/lib/services/menu-datasul.service.mjs +118 -118
  14. package/esm2022/lib/services/profile.service.mjs +55 -55
  15. package/esm2022/lib/services/report.service.mjs +57 -57
  16. package/esm2022/lib/services/session-info.service.mjs +36 -36
  17. package/esm2022/lib/services/translate.service.mjs +23 -23
  18. package/esm2022/lib/utils/date.util.mjs +56 -56
  19. package/esm2022/lib/utils/disclaimer.util.mjs +490 -490
  20. package/esm2022/lib/utils/field-validation.util.mjs +179 -179
  21. package/esm2022/lib/utils/file.util.mjs +151 -151
  22. package/esm2022/lib/utils/filter-range.util.mjs +32 -32
  23. package/esm2022/lib/utils/generic-functions.utils.mjs +170 -170
  24. package/esm2022/public-api.mjs +33 -33
  25. package/fesm2022/dts-backoffice-util.mjs +2013 -1955
  26. package/fesm2022/dts-backoffice-util.mjs.map +1 -1
  27. package/index.d.ts +5 -5
  28. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +53 -49
  29. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.d.ts +68 -60
  30. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +30 -30
  31. package/lib/dts-backoffice-util.module.d.ts +14 -14
  32. package/lib/interfaces/filter-range.interface.d.ts +18 -18
  33. package/lib/interfaces/totvs-response.interface.d.ts +4 -4
  34. package/lib/model/session-info.model.d.ts +40 -40
  35. package/lib/pipes/dts-date-format.pipe.d.ts +7 -7
  36. package/lib/services/breadcrumb-control.service.d.ts +18 -18
  37. package/lib/services/cache-params.service.d.ts +10 -10
  38. package/lib/services/menu-datasul.service.d.ts +27 -27
  39. package/lib/services/profile.service.d.ts +25 -25
  40. package/lib/services/report.service.d.ts +31 -31
  41. package/lib/services/session-info.service.d.ts +12 -12
  42. package/lib/services/translate.service.d.ts +8 -8
  43. package/lib/utils/date.util.d.ts +9 -9
  44. package/lib/utils/disclaimer.util.d.ts +40 -40
  45. package/lib/utils/field-validation.util.d.ts +21 -21
  46. package/lib/utils/file.util.d.ts +23 -23
  47. package/lib/utils/filter-range.util.d.ts +7 -7
  48. package/lib/utils/generic-functions.utils.d.ts +24 -24
  49. package/package.json +5 -5
  50. package/public-api.d.ts +20 -20
@@ -1,36 +1,36 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class UserLoginService {
7
- constructor(http) {
8
- this.http = http;
9
- this.apiUrl = '/totvs-menu/rest/getSessionInfo';
10
- this.userLogin = undefined;
11
- }
12
- getUserLogin() {
13
- if (localStorage.getItem('username')) {
14
- return of(localStorage.getItem('username'));
15
- }
16
- if (this.userLogin) {
17
- return of(this.userLogin);
18
- }
19
- else {
20
- return this.http.get(`${this.apiUrl}`)
21
- .pipe(map((response) => {
22
- this.userLogin = response.userName;
23
- return response.userName;
24
- }));
25
- }
26
- }
27
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserLoginService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserLoginService, providedIn: 'root' }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserLoginService, decorators: [{
31
- type: Injectable,
32
- args: [{
33
- providedIn: 'root'
34
- }]
35
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvc2Vzc2lvbi1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3JDLE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUgxQixXQUFNLEdBQUcsaUNBQWlDLENBQUM7UUFDcEQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUVpQixDQUFDO0lBRXhDLFlBQVk7UUFDUixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1g7SUFDTCxDQUFDO2tJQXJCUSxnQkFBZ0I7c0lBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IElTZXNzaW9uSW5mbyB9IGZyb20gJy4uL21vZGVsL3Nlc3Npb24taW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckxvZ2luU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgYXBpVXJsID0gJy90b3R2cy1tZW51L3Jlc3QvZ2V0U2Vzc2lvbkluZm8nO1xyXG4gICAgdXNlckxvZ2luID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICBnZXRVc2VyTG9naW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVzZXJMb2dpbikge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy51c2VyTG9naW4pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXNzaW9uSW5mbz4oYCR7dGhpcy5hcGlVcmx9YClcclxuICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJMb2dpbiA9IHJlc3BvbnNlLnVzZXJOYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS51c2VyTmFtZTtcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class UserLoginService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ this.apiUrl = '/totvs-menu/rest/getSessionInfo';
10
+ this.userLogin = undefined;
11
+ }
12
+ getUserLogin() {
13
+ if (localStorage.getItem('username')) {
14
+ return of(localStorage.getItem('username'));
15
+ }
16
+ if (this.userLogin) {
17
+ return of(this.userLogin);
18
+ }
19
+ else {
20
+ return this.http.get(`${this.apiUrl}`)
21
+ .pipe(map((response) => {
22
+ this.userLogin = response.userName;
23
+ return response.userName;
24
+ }));
25
+ }
26
+ }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UserLoginService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UserLoginService, providedIn: 'root' }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UserLoginService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvc2Vzc2lvbi1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3JDLE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUgxQixXQUFNLEdBQUcsaUNBQWlDLENBQUM7UUFDcEQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUVpQixDQUFDO0lBRXhDLFlBQVk7UUFDUixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUNuQyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7SUFDTCxDQUFDO2lJQXJCUSxnQkFBZ0I7cUlBQWhCLGdCQUFnQixjQUZiLE1BQU07OzJGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IElTZXNzaW9uSW5mbyB9IGZyb20gJy4uL21vZGVsL3Nlc3Npb24taW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckxvZ2luU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgYXBpVXJsID0gJy90b3R2cy1tZW51L3Jlc3QvZ2V0U2Vzc2lvbkluZm8nO1xyXG4gICAgdXNlckxvZ2luID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICBnZXRVc2VyTG9naW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVzZXJMb2dpbikge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy51c2VyTG9naW4pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXNzaW9uSW5mbz4oYCR7dGhpcy5hcGlVcmx9YClcclxuICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJMb2dpbiA9IHJlc3BvbnNlLnVzZXJOYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS51c2VyTmFtZTtcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,23 +1,23 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TranslateService {
4
- static getSuportLanguage() {
5
- return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
6
- }
7
- static getDefaultCurrencyCode() {
8
- return '$';
9
- }
10
- static getCurrentLanguage() {
11
- const locale = localStorage.getItem('user.language') || navigator.language;
12
- if (locale && this.getSuportLanguage().includes(locale)) {
13
- return locale;
14
- }
15
- return 'en-US';
16
- }
17
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateService }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateService, decorators: [{
21
- type: Injectable
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQjtRQUNyQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFM0UsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsT0FBTyxNQUFNLENBQUM7U0FBRTtRQUUzRSxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO2tJQWhCUSxnQkFBZ0I7c0lBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG5cclxuICAgIHN0YXRpYyBnZXRTdXBvcnRMYW5ndWFnZSgpIHtcclxuICAgICAgICByZXR1cm4gWydwdC1CUicsICdwdCcsICdlbi1VUycsICdlbicsICdlcyddO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXREZWZhdWx0Q3VycmVuY3lDb2RlKCkge1xyXG4gICAgICAgIHJldHVybiAnJCc7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEN1cnJlbnRMYW5ndWFnZSgpIHtcclxuICAgICAgICBjb25zdCBsb2NhbGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci5sYW5ndWFnZScpIHx8IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuXHJcbiAgICAgICAgaWYgKGxvY2FsZSAmJiB0aGlzLmdldFN1cG9ydExhbmd1YWdlKCkuaW5jbHVkZXMobG9jYWxlKSkgeyByZXR1cm4gbG9jYWxlOyB9XHJcblxyXG4gICAgICAgIHJldHVybiAnZW4tVVMnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TranslateService {
4
+ static getSuportLanguage() {
5
+ return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
6
+ }
7
+ static getDefaultCurrencyCode() {
8
+ return '$';
9
+ }
10
+ static getCurrentLanguage() {
11
+ const locale = localStorage.getItem('user.language') || navigator.language;
12
+ if (locale && this.getSuportLanguage().includes(locale)) {
13
+ return locale;
14
+ }
15
+ return 'en-US';
16
+ }
17
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TranslateService }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TranslateService, decorators: [{
21
+ type: Injectable
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQjtRQUNyQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFM0UsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFBQyxPQUFPLE1BQU0sQ0FBQztRQUFDLENBQUM7UUFFM0UsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztpSUFoQlEsZ0JBQWdCO3FJQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIHtcclxuXHJcbiAgICBzdGF0aWMgZ2V0U3Vwb3J0TGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIFsncHQtQlInLCAncHQnLCAnZW4tVVMnLCAnZW4nLCAnZXMnXTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RGVmYXVsdEN1cnJlbmN5Q29kZSgpIHtcclxuICAgICAgICByZXR1cm4gJyQnO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgY29uc3QgbG9jYWxlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXIubGFuZ3VhZ2UnKSB8fCBuYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcblxyXG4gICAgICAgIGlmIChsb2NhbGUgJiYgdGhpcy5nZXRTdXBvcnRMYW5ndWFnZSgpLmluY2x1ZGVzKGxvY2FsZSkpIHsgcmV0dXJuIGxvY2FsZTsgfVxyXG5cclxuICAgICAgICByZXR1cm4gJ2VuLVVTJztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,56 +1,56 @@
1
- /*
2
- Versão: 1.000
3
- Data Criação: 18/04/2019
4
- */
5
- export class DateUtil {
6
- constructor() { }
7
- /* Transforma data para o padrão YYYY-MM-DD */
8
- static dateToQueryParam(date) {
9
- const iDay = date.getDate();
10
- const iMonth = date.getMonth() + 1;
11
- const iYear = date.getFullYear();
12
- return `${iYear}-${this.pad(iMonth)}-${this.pad(iDay)}`;
13
- }
14
- /* Transforma data no padrão YYYY-MM-DD para DATE */
15
- static queryParamToDate(param) {
16
- const iDay = +param.split('-')[2];
17
- const iMonth = +param.split('-')[1];
18
- const iYear = +param.split('-')[0];
19
- return new Date(iYear, iMonth - 1, iDay);
20
- }
21
- /* Valida se foi informado uma data válida */
22
- static isValidDate(date) {
23
- return date instanceof Date && !isNaN(date.getTime());
24
- }
25
- /* Ajusta a data retornando o padrão DATE */
26
- static ajustDate(param) {
27
- if (param instanceof Date) {
28
- return param;
29
- }
30
- if (!param) {
31
- return param;
32
- }
33
- return this.queryParamToDate(param.split('T')[0]);
34
- }
35
- /* Ajusta a data para o padrão DATE - utilizada nos construtores dos modelos */
36
- static ajustDateToModel(values = {}, fieldName) {
37
- if (values.hasOwnProperty(fieldName) && (values[fieldName])) {
38
- if (values[fieldName].indexOf('T') >= 0) {
39
- return new Date(values[fieldName]);
40
- }
41
- const iDay = +values[fieldName].split('-')[2];
42
- const iMonth = +values[fieldName].split('-')[1];
43
- const iYear = +values[fieldName].split('-')[0];
44
- return new Date(iYear, iMonth - 1, iDay);
45
- }
46
- return null;
47
- }
48
- /* Adicona zero a esquerda do número */
49
- static pad(number) {
50
- if (number < 10) {
51
- return '0' + number;
52
- }
53
- return number;
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3V0aWxzL2RhdGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0VBR0U7QUFFRixNQUFNLE9BQU8sUUFBUTtJQUVqQixnQkFDSSxDQUFDO0lBRUwsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDakMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBVTtRQUN6QixPQUFPLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUU3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxFQUFFLFNBQWlCO1FBQzFELElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFO1lBQ3pELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3JDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7WUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU07UUFDYixJQUFJLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDdkI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5WZXJzw6NvOiAxLjAwMFxyXG5EYXRhIENyaWHDp8OjbzogMTgvMDQvMjAxOVxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyogVHJhbnNmb3JtYSBkYXRhIHBhcmEgbyBwYWRyw6NvIFlZWVktTU0tREQgKi9cclxuICAgIHN0YXRpYyBkYXRlVG9RdWVyeVBhcmFtKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGlEYXkgPSBkYXRlLmdldERhdGUoKTtcclxuICAgICAgICBjb25zdCBpTW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgICAgICByZXR1cm4gYCR7aVllYXJ9LSR7dGhpcy5wYWQoaU1vbnRoKX0tJHt0aGlzLnBhZChpRGF5KX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRyYW5zZm9ybWEgZGF0YSBubyBwYWRyw6NvIFlZWVktTU0tREQgcGFyYSBEQVRFICovXHJcbiAgICBzdGF0aWMgcXVlcnlQYXJhbVRvRGF0ZShwYXJhbTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICAgICAgY29uc3QgaURheSA9ICtwYXJhbS5zcGxpdCgnLScpWzJdO1xyXG4gICAgICAgIGNvbnN0IGlNb250aCA9ICtwYXJhbS5zcGxpdCgnLScpWzFdO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gK3BhcmFtLnNwbGl0KCctJylbMF07XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVmFsaWRhIHNlIGZvaSBpbmZvcm1hZG8gdW1hIGRhdGEgdsOhbGlkYSAqL1xyXG4gICAgc3RhdGljIGlzVmFsaWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHJldG9ybmFuZG8gbyBwYWRyw6NvIERBVEUgKi9cclxuICAgIHN0YXRpYyBhanVzdERhdGUocGFyYW06IGFueSk6IERhdGUge1xyXG4gICAgICAgIGlmIChwYXJhbSBpbnN0YW5jZW9mIERhdGUpIHsgcmV0dXJuIHBhcmFtOyB9XHJcbiAgICAgICAgaWYgKCFwYXJhbSkgeyByZXR1cm4gcGFyYW07IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbVRvRGF0ZShwYXJhbS5zcGxpdCgnVCcpWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHBhcmEgbyBwYWRyw6NvIERBVEUgLSB1dGlsaXphZGEgbm9zIGNvbnN0cnV0b3JlcyBkb3MgbW9kZWxvcyAqL1xyXG4gICAgc3RhdGljIGFqdXN0RGF0ZVRvTW9kZWwodmFsdWVzOiBPYmplY3QgPSB7fSwgZmllbGROYW1lOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICBpZiAodmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkTmFtZSkgJiYgKHZhbHVlc1tmaWVsZE5hbWVdKSkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWVzW2ZpZWxkTmFtZV0uaW5kZXhPZignVCcpID49IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZXNbZmllbGROYW1lXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGlEYXkgPSArdmFsdWVzW2ZpZWxkTmFtZV0uc3BsaXQoJy0nKVsyXTtcclxuICAgICAgICAgICAgY29uc3QgaU1vbnRoID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMV07XHJcbiAgICAgICAgICAgIGNvbnN0IGlZZWFyID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMF07XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBZGljb25hIHplcm8gYSBlc3F1ZXJkYSBkbyBuw7ptZXJvICovXHJcbiAgICBzdGF0aWMgcGFkKG51bWJlcikge1xyXG4gICAgICAgIGlmIChudW1iZXIgPCAxMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJzAnICsgbnVtYmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
1
+ /*
2
+ Versão: 1.000
3
+ Data Criação: 18/04/2019
4
+ */
5
+ export class DateUtil {
6
+ constructor() { }
7
+ /* Transforma data para o padrão YYYY-MM-DD */
8
+ static dateToQueryParam(date) {
9
+ const iDay = date.getDate();
10
+ const iMonth = date.getMonth() + 1;
11
+ const iYear = date.getFullYear();
12
+ return `${iYear}-${this.pad(iMonth)}-${this.pad(iDay)}`;
13
+ }
14
+ /* Transforma data no padrão YYYY-MM-DD para DATE */
15
+ static queryParamToDate(param) {
16
+ const iDay = +param.split('-')[2];
17
+ const iMonth = +param.split('-')[1];
18
+ const iYear = +param.split('-')[0];
19
+ return new Date(iYear, iMonth - 1, iDay);
20
+ }
21
+ /* Valida se foi informado uma data válida */
22
+ static isValidDate(date) {
23
+ return date instanceof Date && !isNaN(date.getTime());
24
+ }
25
+ /* Ajusta a data retornando o padrão DATE */
26
+ static ajustDate(param) {
27
+ if (param instanceof Date) {
28
+ return param;
29
+ }
30
+ if (!param) {
31
+ return param;
32
+ }
33
+ return this.queryParamToDate(param.split('T')[0]);
34
+ }
35
+ /* Ajusta a data para o padrão DATE - utilizada nos construtores dos modelos */
36
+ static ajustDateToModel(values = {}, fieldName) {
37
+ if (values.hasOwnProperty(fieldName) && (values[fieldName])) {
38
+ if (values[fieldName].indexOf('T') >= 0) {
39
+ return new Date(values[fieldName]);
40
+ }
41
+ const iDay = +values[fieldName].split('-')[2];
42
+ const iMonth = +values[fieldName].split('-')[1];
43
+ const iYear = +values[fieldName].split('-')[0];
44
+ return new Date(iYear, iMonth - 1, iDay);
45
+ }
46
+ return null;
47
+ }
48
+ /* Adicona zero a esquerda do número */
49
+ static pad(number) {
50
+ if (number < 10) {
51
+ return '0' + number;
52
+ }
53
+ return number;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3V0aWxzL2RhdGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0VBR0U7QUFFRixNQUFNLE9BQU8sUUFBUTtJQUVqQixnQkFDSSxDQUFDO0lBRUwsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDakMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBVTtRQUN6QixPQUFPLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFBQyxPQUFPLEtBQUssQ0FBQztRQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQUMsT0FBTyxLQUFLLENBQUM7UUFBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLEVBQUUsU0FBaUI7UUFDMUQsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1FBQ2IsSUFBSSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblZlcnPDo286IDEuMDAwXHJcbkRhdGEgQ3JpYcOnw6NvOiAxOC8wNC8yMDE5XHJcbiovXHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZVV0aWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKiBUcmFuc2Zvcm1hIGRhdGEgcGFyYSBvIHBhZHLDo28gWVlZWS1NTS1ERCAqL1xyXG4gICAgc3RhdGljIGRhdGVUb1F1ZXJ5UGFyYW0oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgaURheSA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGNvbnN0IGlNb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgY29uc3QgaVllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcblxyXG4gICAgICAgIHJldHVybiBgJHtpWWVhcn0tJHt0aGlzLnBhZChpTW9udGgpfS0ke3RoaXMucGFkKGlEYXkpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVHJhbnNmb3JtYSBkYXRhIG5vIHBhZHLDo28gWVlZWS1NTS1ERCBwYXJhIERBVEUgKi9cclxuICAgIHN0YXRpYyBxdWVyeVBhcmFtVG9EYXRlKHBhcmFtOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICBjb25zdCBpRGF5ID0gK3BhcmFtLnNwbGl0KCctJylbMl07XHJcbiAgICAgICAgY29uc3QgaU1vbnRoID0gK3BhcmFtLnNwbGl0KCctJylbMV07XHJcbiAgICAgICAgY29uc3QgaVllYXIgPSArcGFyYW0uc3BsaXQoJy0nKVswXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGlZZWFyLCBpTW9udGggLSAxLCBpRGF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBWYWxpZGEgc2UgZm9pIGluZm9ybWFkbyB1bWEgZGF0YSB2w6FsaWRhICovXHJcbiAgICBzdGF0aWMgaXNWYWxpZERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFqdXN0YSBhIGRhdGEgcmV0b3JuYW5kbyBvIHBhZHLDo28gREFURSAqL1xyXG4gICAgc3RhdGljIGFqdXN0RGF0ZShwYXJhbTogYW55KTogRGF0ZSB7XHJcbiAgICAgICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgRGF0ZSkgeyByZXR1cm4gcGFyYW07IH1cclxuICAgICAgICBpZiAoIXBhcmFtKSB7IHJldHVybiBwYXJhbTsgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5xdWVyeVBhcmFtVG9EYXRlKHBhcmFtLnNwbGl0KCdUJylbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFqdXN0YSBhIGRhdGEgcGFyYSBvIHBhZHLDo28gREFURSAtIHV0aWxpemFkYSBub3MgY29uc3RydXRvcmVzIGRvcyBtb2RlbG9zICovXHJcbiAgICBzdGF0aWMgYWp1c3REYXRlVG9Nb2RlbCh2YWx1ZXM6IE9iamVjdCA9IHt9LCBmaWVsZE5hbWU6IHN0cmluZyk6IERhdGUge1xyXG4gICAgICAgIGlmICh2YWx1ZXMuaGFzT3duUHJvcGVydHkoZmllbGROYW1lKSAmJiAodmFsdWVzW2ZpZWxkTmFtZV0pKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZXNbZmllbGROYW1lXS5pbmRleE9mKCdUJykgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlc1tmaWVsZE5hbWVdKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgaURheSA9ICt2YWx1ZXNbZmllbGROYW1lXS5zcGxpdCgnLScpWzJdO1xyXG4gICAgICAgICAgICBjb25zdCBpTW9udGggPSArdmFsdWVzW2ZpZWxkTmFtZV0uc3BsaXQoJy0nKVsxXTtcclxuICAgICAgICAgICAgY29uc3QgaVllYXIgPSArdmFsdWVzW2ZpZWxkTmFtZV0uc3BsaXQoJy0nKVswXTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGlZZWFyLCBpTW9udGggLSAxLCBpRGF5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFkaWNvbmEgemVybyBhIGVzcXVlcmRhIGRvIG7Dum1lcm8gKi9cclxuICAgIHN0YXRpYyBwYWQobnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKG51bWJlciA8IDEwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnMCcgKyBudW1iZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudW1iZXI7XHJcbiAgICB9XHJcbn1cclxuIl19