ngx-sp-auth 1.0.5 → 2.1.6

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 (64) hide show
  1. package/README.md +207 -24
  2. package/fesm2022/ngx-sp-auth.mjs +381 -409
  3. package/fesm2022/ngx-sp-auth.mjs.map +1 -1
  4. package/lib/auth.module.d.ts +8 -15
  5. package/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.d.ts +1 -1
  6. package/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.d.ts +1 -1
  7. package/lib/components/menu-lateral/menu/menu-lateral.component.d.ts +13 -13
  8. package/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.d.ts +1 -1
  9. package/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  10. package/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.d.ts +1 -1
  11. package/lib/components/nova-senha/nova-senhacomponent.d.ts +1 -1
  12. package/package.json +2 -4
  13. package/esm2022/lib/auth.module.mjs +0 -87
  14. package/esm2022/lib/auth.service.mjs +0 -306
  15. package/esm2022/lib/components/login/login.component.mjs +0 -323
  16. package/esm2022/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.mjs +0 -67
  17. package/esm2022/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.mjs +0 -32
  18. package/esm2022/lib/components/menu-lateral/menu/list-estab.service.mjs +0 -55
  19. package/esm2022/lib/components/menu-lateral/menu/menu-lateral.component.mjs +0 -233
  20. package/esm2022/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.mjs +0 -200
  21. package/esm2022/lib/components/menu-lateral/menu-services.service.mjs +0 -151
  22. package/esm2022/lib/components/menu-lateral/model/iestabelecimento.model.mjs +0 -2
  23. package/esm2022/lib/components/menu-lateral/model/imenu-item-structure.model.mjs +0 -2
  24. package/esm2022/lib/components/menu-lateral/model/imenu.model.mjs +0 -12
  25. package/esm2022/lib/components/menu-lateral/model/infrausuarioimg.mjs +0 -12
  26. package/esm2022/lib/components/menu-lateral/model/isubmenu-item-structure.model.mjs +0 -2
  27. package/esm2022/lib/components/menu-lateral/model/ret-estabelecimento-session.mjs +0 -10
  28. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioemail.mjs +0 -8
  29. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioimg.mjs +0 -11
  30. package/esm2022/lib/components/menu-lateral/model/usuario-img.mjs +0 -8
  31. package/esm2022/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.mjs +0 -54
  32. package/esm2022/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.mjs +0 -14
  33. package/esm2022/lib/components/nova-senha/nova-senhacomponent.mjs +0 -191
  34. package/esm2022/lib/custom/custom-login.service.mjs +0 -52
  35. package/esm2022/lib/custom/custom-menu.service.mjs +0 -88
  36. package/esm2022/lib/custom/custom-storage.service.mjs +0 -70
  37. package/esm2022/lib/custom/menu-config.service.mjs +0 -70
  38. package/esm2022/lib/custom/models/icustom-login-service.mjs +0 -2
  39. package/esm2022/lib/custom/models/icustom-menu-service.mjs +0 -2
  40. package/esm2022/lib/custom/models/icustom-storage-service.mjs +0 -2
  41. package/esm2022/lib/custom/models/imenu-config.mjs +0 -2
  42. package/esm2022/lib/environments/environments.service.mjs +0 -21
  43. package/esm2022/lib/environments/models/ienvironments.mjs +0 -2
  44. package/esm2022/lib/guards/auth-guard.mjs +0 -34
  45. package/esm2022/lib/guards/external-login-guard.mjs +0 -88
  46. package/esm2022/lib/guards/login-guard.mjs +0 -35
  47. package/esm2022/lib/interceptors/auth-aplic.interceptor.mjs +0 -41
  48. package/esm2022/lib/interceptors/auth-infra.interceptor.mjs +0 -30
  49. package/esm2022/lib/models/code-2fa.mjs +0 -2
  50. package/esm2022/lib/models/custom-propriedades-login.mjs +0 -3
  51. package/esm2022/lib/models/forgotten-password-form.mjs +0 -2
  52. package/esm2022/lib/models/login-form.mjs +0 -2
  53. package/esm2022/lib/models/login.mjs +0 -2
  54. package/esm2022/lib/models/nova-senha-form.mjs +0 -2
  55. package/esm2022/lib/models/password-recup.mjs +0 -2
  56. package/esm2022/lib/models/payload.mjs +0 -2
  57. package/esm2022/lib/models/ret-login.mjs +0 -21
  58. package/esm2022/lib/models/ret-token.mjs +0 -8
  59. package/esm2022/lib/models/token.mjs +0 -2
  60. package/esm2022/lib/server/ret-server-config.mjs +0 -9
  61. package/esm2022/lib/server/server.service.mjs +0 -38
  62. package/esm2022/lib/storage/auth-storage.service.mjs +0 -365
  63. package/esm2022/ngx-sp-auth.mjs +0 -5
  64. package/esm2022/public-api.mjs +0 -39
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvbW9kZWxzL2xvZ2luLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTG9naW5Gb3JtIHtcclxuICAgIGRvbWluaW86IHN0cmluZztcclxuICAgIHVzdWFyaW86IHN0cmluZztcclxuICAgIHNlbmhhOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL21vZGVscy9sb2dpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2dpbiB7XHJcbiAgICB1c3VhcmlvOiBzdHJpbmc7XHJcbiAgICBzZW5oYTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm92YS1zZW5oYS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9tb2RlbHMvbm92YS1zZW5oYS1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5vdmFTZW5oYUZvcm0ge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgcGFzc3dvcmQ6IHN0cmluZztcclxuICAgIGNvbmZpcm1QYXNzd29yZDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtcmVjdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL21vZGVscy9wYXNzd29yZC1yZWN1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQYXNzd29yZFJlY3VwIHtcclxuICAgIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcclxuICAgIGNvZGU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvbW9kZWxzL3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdXNlck5hbWU6IHN0cmluZztcclxuICBzdWI6IHN0cmluZztcclxuICBpc3M6IHN0cmluZztcclxuICBhdWQ6IHN0cmluZztcclxuICBpYXQ6IG51bWJlcjtcclxuICBleHA6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -1,21 +0,0 @@
1
- export class RetLogin {
2
- constructor() {
3
- this.Error = false;
4
- this.ErrorMessage = '';
5
- this.TenantId = 0;
6
- this.EstabelecimentoId = '';
7
- this.NomeEstabelecimento = '';
8
- this.EmpresaId = '';
9
- this.NomeEmpresa = '';
10
- this.InfraUsuarioId = '';
11
- this.UserName = '';
12
- this.Token = '';
13
- this.Dominio = '';
14
- this.InitializePassword = false;
15
- this.InfraInAuthTypeId = 0;
16
- this.Is2FaEnabled = false;
17
- this.FeedbackMessage = '';
18
- this.statusSenha = 0;
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LWxvZ2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9tb2RlbHMvcmV0LWxvZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0UsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUMvQix3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFDakMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLGdCQUFXLEdBQVcsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFcnJvciB9IGZyb20gXCJuZ3gtc3AtaW5mcmFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXRMb2dpbiBpbXBsZW1lbnRzIElFcnJvciB7XHJcbiAgRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBFcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIFRlbmFudElkOiBudW1iZXIgPSAwO1xyXG4gIEVzdGFiZWxlY2ltZW50b0lkOiBzdHJpbmcgPSAnJztcclxuICBOb21lRXN0YWJlbGVjaW1lbnRvOiBzdHJpbmcgPSAnJztcclxuICBFbXByZXNhSWQ6IHN0cmluZyA9ICcnO1xyXG4gIE5vbWVFbXByZXNhOiBzdHJpbmcgPSAnJztcclxuICBJbmZyYVVzdWFyaW9JZDogc3RyaW5nID0gJyc7XHJcbiAgVXNlck5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIFRva2VuOiBzdHJpbmcgPSAnJztcclxuICBEb21pbmlvOiBzdHJpbmcgPSAnJztcclxuICBJbml0aWFsaXplUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBJbmZyYUluQXV0aFR5cGVJZDogbnVtYmVyID0gMDtcclxuICBJbmZyYUluMkZhVHlwZUlkPzogbnVtYmVyIHwgbnVsbDtcclxuICBJczJGYUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBGZWVkYmFja01lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIHN0YXR1c1NlbmhhOiBudW1iZXIgPSAwXHJcbn1cclxuIl19
@@ -1,8 +0,0 @@
1
- export class RetToken {
2
- constructor() {
3
- this.Error = false;
4
- this.ErrorMessage = '';
5
- this.Token = '';
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9tb2RlbHMvcmV0LXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0UsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixVQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFcnJvciB9IGZyb20gXCJuZ3gtc3AtaW5mcmFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXRUb2tlbiBpbXBsZW1lbnRzIElFcnJvciB7XHJcbiAgRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBFcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIFRva2VuOiBzdHJpbmcgPSAnJztcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL21vZGVscy90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XHJcbiAgICBkb21haW46IHN0cmluZztcclxuICAgIHVzZXI6IHN0cmluZztcclxuICAgIHRlbmFudElkOiBudW1iZXI7XHJcbiAgICB0b2tlbjogc3RyaW5nO1xyXG4gICAgaW5mcmFVc3VhcmlvSWQ6IHN0cmluZztcclxuICAgIHVzZXJOYW1lOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,9 +0,0 @@
1
- export class RetServerConfig {
2
- constructor() {
3
- this.Error = false;
4
- this.ErrorMessage = '';
5
- this.User = '';
6
- this.Password = '';
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0LXNlcnZlci1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL3NlcnZlci9yZXQtc2VydmVyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUNFLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixhQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFcnJvciB9IGZyb20gXCJuZ3gtc3AtaW5mcmFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXRTZXJ2ZXJDb25maWcgaW1wbGVtZW50cyBJRXJyb3Ige1xyXG4gIEVycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgRXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuICBVc2VyOiBzdHJpbmcgPSAnJztcclxuICBQYXNzd29yZDogc3RyaW5nID0gJyc7XHJcbn1cclxuIl19
@@ -1,38 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { take, tap } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class ServerService {
7
- constructor(_httpClient) {
8
- this._httpClient = _httpClient;
9
- // private readonly _HOSTNAME: any = window.location.hostname.includes("localhost")
10
- // ? `http://${window.location.hostname}`
11
- // : `https://${window.location.hostname}`;
12
- this._HOSTNAME = "https://siscandesv6.sispro.com.br";
13
- this._BASE_URL = `${this._HOSTNAME}/SisproErpCloud/Service_Private/Infra/SpInfra2ConfigWS/api/Config`;
14
- this._HTTP_HEADERS = new HttpHeaders().set('Content-Type', 'application/json');
15
- this._BASE_URL.includes("localhost") || this._BASE_URL.includes('127.0.0.1')
16
- ? this._BASE_URL
17
- : this._BASE_URL = "https://siscandesv6.sispro.com.br/SisproErpCloud/Service_Private/Infra/SpInfra2ConfigWS/api/Config";
18
- }
19
- // #region GET Server
20
- getServer() {
21
- const url = `${this._BASE_URL}/GetConfig`;
22
- return this._httpClient
23
- .post(url, null, { 'headers': this._HTTP_HEADERS })
24
- .pipe(take(1), tap(response => {
25
- localStorage.setItem('configServerUser', response.User);
26
- localStorage.setItem('configServerPassword', response.Password);
27
- }));
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerService, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL3NlcnZlci9zZXJ2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTzdDLE1BQU0sT0FBTyxhQUFhO0lBWXhCLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBVDNDLG1GQUFtRjtRQUNuRiwyQ0FBMkM7UUFDM0MsNkNBQTZDO1FBRTVCLGNBQVMsR0FBUSxtQ0FBbUMsQ0FBQztRQUVyRCxjQUFTLEdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxtRUFBbUUsQ0FBQztRQUN6RyxrQkFBYSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBR3pGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUMxRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsb0dBQW9HLENBQUM7SUFDNUgsQ0FBQztJQUVELHFCQUFxQjtJQUNkLFNBQVM7UUFDZCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksQ0FBQztRQUUxQyxPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLElBQUksQ0FBa0IsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDbkUsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQzsrR0EvQlUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBSZXRTZXJ2ZXJDb25maWcgfSBmcm9tICcuL3JldC1zZXJ2ZXItY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcnZlclNlcnZpY2Uge1xyXG5cclxuXHJcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBfSE9TVE5BTUU6IGFueSA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5pbmNsdWRlcyhcImxvY2FsaG9zdFwiKVxyXG4gIC8vICAgPyBgaHR0cDovLyR7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfWBcclxuICAvLyAgIDogYGh0dHBzOi8vJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9YDtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfSE9TVE5BTUU6IGFueSA9IFwiaHR0cHM6Ly9zaXNjYW5kZXN2Ni5zaXNwcm8uY29tLmJyXCI7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX0JBU0VfVVJMOiBzdHJpbmcgPSBgJHt0aGlzLl9IT1NUTkFNRX0vU2lzcHJvRXJwQ2xvdWQvU2VydmljZV9Qcml2YXRlL0luZnJhL1NwSW5mcmEyQ29uZmlnV1MvYXBpL0NvbmZpZ2A7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfSFRUUF9IRUFERVJTID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLl9CQVNFX1VSTC5pbmNsdWRlcyhcImxvY2FsaG9zdFwiKSB8fCB0aGlzLl9CQVNFX1VSTC5pbmNsdWRlcygnMTI3LjAuMC4xJylcclxuICAgICAgPyB0aGlzLl9CQVNFX1VSTFxyXG4gICAgICA6IHRoaXMuX0JBU0VfVVJMID0gXCJodHRwczovL3Npc2NhbmRlc3Y2LnNpc3Byby5jb20uYnIvU2lzcHJvRXJwQ2xvdWQvU2VydmljZV9Qcml2YXRlL0luZnJhL1NwSW5mcmEyQ29uZmlnV1MvYXBpL0NvbmZpZ1wiO1xyXG4gIH1cclxuXHJcbiAgLy8gI3JlZ2lvbiBHRVQgU2VydmVyXHJcbiAgcHVibGljIGdldFNlcnZlcigpOiBPYnNlcnZhYmxlPFJldFNlcnZlckNvbmZpZz4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fQkFTRV9VUkx9L0dldENvbmZpZ2A7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgLnBvc3Q8UmV0U2VydmVyQ29uZmlnPih1cmwsIG51bGwsIHsgJ2hlYWRlcnMnOiB0aGlzLl9IVFRQX0hFQURFUlMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NvbmZpZ1NlcnZlclVzZXInLCByZXNwb25zZS5Vc2VyKTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb25maWdTZXJ2ZXJQYXNzd29yZCcsIHJlc3BvbnNlLlBhc3N3b3JkKTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gR0VUIFNlcnZlclxyXG59XHJcbiJdfQ==
@@ -1,365 +0,0 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject, take, tap } from 'rxjs';
4
- import { Utils } from 'ngx-sp-infra';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../custom/custom-storage.service";
8
- export class AuthStorageService {
9
- constructor(_httpBackend, _customStorageService) {
10
- this._httpBackend = _httpBackend;
11
- this._customStorageService = _customStorageService;
12
- this._HOSTNAME = "https://siscandesv6.sispro.com.br";
13
- this._BASE_URL = `${this._HOSTNAME}/SisproErpCloud/Service_Private/Infra/SpInfra2LoginWS/api/LoginSisproERP`; // SpInfra2WS
14
- this.__local_key = 'user_auth_v6';
15
- // indica se objeto já está marcado para salvar os dados no local storage.
16
- this.__isSaving = false;
17
- /** Se ainda estamos com uma função rodando para verificar o login do usuário */
18
- this.__isCheckingAuth = false;
19
- // #region GETTERS/SETTERS
20
- this.isLoggedInSub = new BehaviorSubject(false);
21
- //ip
22
- this.__ip = "";
23
- //tenantId
24
- this.__tenantId = 0;
25
- //infraUsuarioId
26
- this.__infraUsuarioId = "";
27
- // EstabelecimentoID
28
- this.__infraEstabId = "";
29
- // NomeEstabelecimento
30
- this.__infraEstabNome = "";
31
- // EmpresaID
32
- this.__infraEmpresaId = "";
33
- // NomeEmpresa
34
- this.__infraEmpresaNome = "";
35
- //user
36
- this.__user = "";
37
- //username
38
- this.__userName = "";
39
- //authToken
40
- this.__authToken = "";
41
- /** Domínio */
42
- this.__dominio = "";
43
- //url para redirecionamento
44
- this.__UrlRedirect = "/";
45
- //indica Login Externo
46
- this.__isExternalLogin = false;
47
- /** Se é para ignorar o método reCheckLogin */
48
- this.__ignoreCheckLogin = false;
49
- this._httpClient = new HttpClient(_httpBackend);
50
- //this._BASE_URL = !environment.production ? this._BASE_URL : `${environment.SpInfra2LoginWS}/LoginSisproERP`;
51
- // Método com customizações para inicializações da storage
52
- this._customStorageService.storageConstructor();
53
- const expectedLocalAuthStorage = localStorage.getItem(this.__local_key);
54
- if (expectedLocalAuthStorage) {
55
- const localAuthStorage = JSON.parse(expectedLocalAuthStorage);
56
- this.__ip = localAuthStorage.__ip;
57
- this.__tenantId = localAuthStorage.__tenantId;
58
- this.__infraUsuarioId = localAuthStorage.__infraUsuarioId;
59
- this.__infraEstabId = localAuthStorage.__infraEstabId;
60
- this.__infraEstabNome = localAuthStorage.__infraEstabNome;
61
- this.__infraEmpresaId = localAuthStorage.__infraEmpresaId;
62
- this.__infraEmpresaNome = localAuthStorage.__infraEmpresaNome;
63
- this.__user = localAuthStorage.__user;
64
- this.__userName = localAuthStorage.__userName;
65
- this.__tokenPayload = localAuthStorage.__tokenPayload;
66
- this.__authToken = localAuthStorage.__authToken;
67
- this.__dominio = localAuthStorage.__dominio;
68
- this.__isExternalLogin = localAuthStorage.__isExternalLogin;
69
- this.startLoginCheck();
70
- }
71
- }
72
- get ip() {
73
- return this.__ip;
74
- }
75
- set ip(value) {
76
- this.__ip = value;
77
- if (this.isLoggedInSub.value) {
78
- this.__saveLocalInstance();
79
- }
80
- }
81
- get tenantId() {
82
- return this.__tenantId;
83
- }
84
- set tenantId(value) {
85
- this.__tenantId = value;
86
- this.__saveLocalInstance();
87
- }
88
- get infraUsuarioId() {
89
- return this.__infraUsuarioId;
90
- }
91
- set infraUsuarioId(value) {
92
- this.__infraUsuarioId = value;
93
- this.__saveLocalInstance();
94
- }
95
- get infraEstabId() {
96
- return this.__infraEstabId;
97
- }
98
- set infraEstabId(value) {
99
- this.__infraEstabId = value;
100
- this.__saveLocalInstance();
101
- }
102
- get infraEstabNome() {
103
- return this.__infraEstabNome;
104
- }
105
- set infraEstabNome(value) {
106
- this.__infraEstabNome = value;
107
- this.__saveLocalInstance();
108
- }
109
- get infraEmpresaId() {
110
- return this.__infraEmpresaId;
111
- }
112
- set infraEmpresaId(value) {
113
- this.__infraEmpresaId = value;
114
- this.__saveLocalInstance();
115
- }
116
- get infraEmpresaNome() {
117
- return this.__infraEmpresaNome;
118
- }
119
- set infraEmpresaNome(value) {
120
- this.__infraEmpresaNome = value;
121
- this.__saveLocalInstance();
122
- }
123
- get user() {
124
- return this.__user;
125
- }
126
- set user(value) {
127
- this.__user = value;
128
- this.__saveLocalInstance();
129
- }
130
- get userName() {
131
- return this.__userName;
132
- }
133
- set userName(value) {
134
- this.__userName = value;
135
- this.__saveLocalInstance();
136
- }
137
- get tokenPayload() {
138
- return this.__tokenPayload;
139
- }
140
- get authToken() {
141
- return this.__authToken;
142
- }
143
- set authToken(value) {
144
- this.__authToken = value;
145
- if (this.__authToken != '') {
146
- // Utiliza-se a função dos Utils para pegar o segundo valor do Token, separados por um '.'
147
- // e define o __tokenPayload como o objeto resultante do JSON.parse(payloadJson)
148
- const payloadJson = Utils.b64DecodeUnicode(this.__authToken.split('.')[1]);
149
- this.__tokenPayload = JSON.parse(payloadJson);
150
- this.startLoginCheck();
151
- }
152
- this.__saveLocalInstance();
153
- }
154
- get dominio() {
155
- return this.__dominio;
156
- }
157
- set dominio(value) {
158
- this.__dominio = value;
159
- this.__saveLocalInstance();
160
- }
161
- get urlRedirect() {
162
- return this.__UrlRedirect;
163
- }
164
- set urlRedirect(value) {
165
- this.__UrlRedirect = value;
166
- }
167
- get isExternalLogin() {
168
- return this.__isExternalLogin;
169
- }
170
- set isExternalLogin(value) {
171
- this.__isExternalLogin = value;
172
- this.__saveLocalInstance();
173
- }
174
- get ignoreCheckLogin() {
175
- return this.__ignoreCheckLogin;
176
- }
177
- set ignoreCheckLogin(value) {
178
- this.__ignoreCheckLogin = value;
179
- this.__saveLocalInstance();
180
- }
181
- // #endregion GETTERS/SETTERS
182
- async __saveLocalInstance() {
183
- if (this.__isSaving) {
184
- return;
185
- }
186
- this.__isSaving = true;
187
- localStorage.setItem(this.__local_key, this.toJson());
188
- // Método com customizações para salvar informações na storage
189
- this._customStorageService.storageSaveLocalInstance();
190
- this.__notSaving();
191
- }
192
- async __notSaving() {
193
- this.__isSaving = false;
194
- }
195
- /**
196
- * Salva a instância como JSON seguro, ignorando objetos que não podem se tornar um JSON.
197
- */
198
- toJson() {
199
- const json = `
200
- {
201
- "__ip": "${this.ip}",
202
- "__tenantId": ${this.tenantId},
203
- "__infraUsuarioId": "${this.infraUsuarioId}",
204
- "__infraEstabId": "${this.infraEstabId}",
205
- "__infraEstabNome": "${this.infraEstabNome}",
206
- "__infraEmpresaId": "${this.infraEmpresaId}",
207
- "__infraEmpresaNome": "${this.infraEmpresaNome}",
208
- "__user": "${this.user}",
209
- "__userName": "${this.userName}",
210
- "__authToken": "${this.authToken}",
211
- "__tokenPayload": ${JSON.stringify(this.tokenPayload)},
212
- "__dominio": "${this.dominio}",
213
- "__isExternalLogin": ${this.isExternalLogin}
214
- }
215
- `;
216
- return json;
217
- }
218
- /** Inicia a verificação do login. */
219
- startLoginCheck() {
220
- if (!this.__isCheckingAuth) {
221
- this.reCheckLogin();
222
- }
223
- }
224
- /**
225
- * Verifica a cada diferença de tempo entre a data atual e a data do token.
226
- */
227
- async reCheckLogin() {
228
- if (this.__authToken === undefined || this.__authToken === '' || this.authToken === null || this.authToken === '') {
229
- this.__isCheckingAuth = false;
230
- return;
231
- }
232
- this.__isCheckingAuth = true;
233
- let isRenewToken = false;
234
- let nowDate = Math.round(Date.now() / 1000);
235
- if (this.tokenPayload.exp <= nowDate) {
236
- isRenewToken = true;
237
- }
238
- let leftTime = this.tokenPayload.exp - nowDate;
239
- if (leftTime <= 0) {
240
- isRenewToken = true;
241
- }
242
- // TODO: Alterar aqui para não deslogar e avisar o usuário para logar denovo.
243
- if (isRenewToken) {
244
- const response = await this.getNewToken();
245
- if (response !== undefined && response !== null && response != '') {
246
- this.authToken = response;
247
- nowDate = Math.round(Date.now() / 1000);
248
- leftTime = this.tokenPayload.exp - nowDate;
249
- }
250
- else {
251
- this.logout();
252
- return;
253
- }
254
- }
255
- if (this.ignoreCheckLogin) {
256
- this.ignoreCheckLogin = false;
257
- }
258
- else {
259
- // Método com customizações para inicializações da AutoStorage
260
- this._customStorageService.storageInitializeAutoStorage();
261
- }
262
- this.isLoggedInSub.next(true);
263
- setTimeout(this.reCheckLogin.bind(this), leftTime * 1000);
264
- }
265
- logout() {
266
- this.__isCheckingAuth = false;
267
- this.isLoggedInSub.next(false);
268
- this.__UrlRedirect = "/";
269
- this.__ip = "";
270
- this.__tenantId = 0;
271
- this.__infraUsuarioId = "";
272
- this.__infraEstabId = "";
273
- this.__infraEstabNome = "";
274
- this.__infraEmpresaId = "";
275
- this.__infraEmpresaNome = "";
276
- this.__user = "";
277
- this.__userName = "";
278
- this.__authToken = "";
279
- this.__dominio = "";
280
- this.__tokenPayload = {};
281
- this.__isExternalLogin = false;
282
- localStorage.removeItem(this.__local_key);
283
- // Método com customizações para finalizações da storage
284
- this._customStorageService.storageLogout();
285
- }
286
- getNewTokenBack() {
287
- let token = {
288
- domain: this.__dominio,
289
- user: this.__user,
290
- tenantId: this.tenantId,
291
- token: this.authToken,
292
- infraUsuarioId: this.__infraUsuarioId,
293
- userName: this.__userName
294
- };
295
- const url = `${this._BASE_URL}/GetNewToken`;
296
- const headers = new HttpHeaders()
297
- .set('Content-Type', 'application/json')
298
- .set('Authorization', `Basic ${btoa(`${localStorage.getItem('configServerUser')}:${localStorage.getItem('configServerPassword')}`)}`);
299
- return this._httpClient
300
- .post(url, token, { 'headers': headers })
301
- .pipe(take(1), tap((response) => {
302
- if (response.Error) {
303
- throw Error(response.ErrorMessage);
304
- }
305
- }));
306
- }
307
- getNewToken() {
308
- return new Promise((resolve, reject) => {
309
- this.getNewTokenBack().subscribe({
310
- next: response => {
311
- resolve(response.Token);
312
- },
313
- error: error => {
314
- reject(error);
315
- }
316
- });
317
- });
318
- }
319
- /**
320
- * Renova o Token quando este estiver vencido.
321
- */
322
- async renewToken() {
323
- if (!this.isLoggedInSub || this.__authToken === undefined || this.__authToken === '' || this.authToken === null || this.authToken === '') {
324
- return;
325
- }
326
- let isRenewToken = false;
327
- let nowDate = Math.round(Date.now() / 1000);
328
- if (this.tokenPayload.exp <= nowDate) {
329
- isRenewToken = true;
330
- }
331
- let leftTime = this.tokenPayload.exp - nowDate;
332
- if (leftTime <= 0) {
333
- isRenewToken = true;
334
- }
335
- if (isRenewToken) {
336
- const response = await this.getNewToken();
337
- if (response !== undefined && response !== null && response != '') {
338
- this.authToken = response;
339
- }
340
- }
341
- }
342
- isPrePortal() {
343
- // Identifica se a origem é PrePortal
344
- var url = new URL(window.location.href);
345
- var isPrePortal = url.searchParams.get("PrePortal");
346
- if (isPrePortal != null) {
347
- if (isPrePortal.toString() == "true") {
348
- return true;
349
- }
350
- else {
351
- return false;
352
- }
353
- }
354
- else {
355
- return false;
356
- }
357
- }
358
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }, { token: i2.LibCustomStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
359
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, providedIn: 'root' }); }
360
- }
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, decorators: [{
362
- type: Injectable,
363
- args: [{ providedIn: 'root' }]
364
- }], ctorParameters: () => [{ type: i1.HttpBackend }, { type: i2.LibCustomStorageService }] });
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL3N0b3JhZ2UvYXV0aC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFrQjdCLFlBQ1UsWUFBeUIsRUFDekIscUJBQThDO1FBRDlDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFqQnZDLGNBQVMsR0FBUSxtQ0FBbUMsQ0FBQztRQUVyRCxjQUFTLEdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUywwRUFBMEUsQ0FBQyxDQUFDLGFBQWE7UUFFOUgsZ0JBQVcsR0FBRyxjQUFjLENBQUM7UUFFOUMsMEVBQTBFO1FBQ2xFLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFcEMsZ0ZBQWdGO1FBQ3hFLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQXdDMUMsMEJBQTBCO1FBRW5CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSTtRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFlMUIsVUFBVTtRQUNGLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFZL0IsZ0JBQWdCO1FBQ1IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBWXRDLG9CQUFvQjtRQUNaLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBWXBDLHNC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QUksSUFBSSxFQUFFLENBQUM7WUFFeEIsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztRQUVILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBRUgsQ0FBQzsrR0ExZVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGZixNQUFNOzs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQ1QsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEJhY2tlbmQsIEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBheWxvYWQgfSBmcm9tICcuLy4uL21vZGVscy9wYXlsb2FkJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJ25neC1zcC1pbmZyYSc7XHJcbmltcG9ydCB7IFJldFRva2VuIH0gZnJvbSAnLi4vbW9kZWxzL3JldC10b2tlbic7XHJcbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vbW9kZWxzL3Rva2VuJztcclxuaW1wb3J0IHsgTGliQ3VzdG9tU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20vY3VzdG9tLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICB7IHByb3ZpZGVkSW46ICdyb290JyB9XHJcbilcclxuZXhwb3J0IGNsYXNzIEF1dGhTdG9yYWdlU2VydmljZSB7XHJcblxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9IT1NUTkFNRTogYW55ID0gXCJodHRwczovL3Npc2NhbmRlc3Y2LnNpc3Byby5jb20uYnJcIjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfQkFTRV9VUkw6IHN0cmluZyA9IGAke3RoaXMuX0hPU1ROQU1FfS9TaXNwcm9FcnBDbG91ZC9TZXJ2aWNlX1ByaXZhdGUvSW5mcmEvU3BJbmZyYTJMb2dpbldTL2FwaS9Mb2dpblNpc3Byb0VSUGA7IC8vIFNwSW5mcmEyV1NcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfX2xvY2FsX2tleSA9ICd1c2VyX2F1dGhfdjYnO1xyXG5cclxuICAvLyBpbmRpY2Egc2Ugb2JqZXRvIGrDoSBlc3TDoSBtYXJjYWRvIHBhcmEgc2FsdmFyIG9zIGRhZG9zIG5vIGxvY2FsIHN0b3JhZ2UuXHJcbiAgcHJpdmF0ZSBfX2lzU2F2aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTZSBhaW5kYSBlc3RhbW9zIGNvbSB1bWEgZnVuw6fDo28gcm9kYW5kbyBwYXJhIHZlcmlmaWNhciBvIGxvZ2luIGRvIHVzdcOhcmlvICovXHJcbiAgcHJpdmF0ZSBfX2lzQ2hlY2tpbmdBdXRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qIFZhcmnDoXZlbCBwYXJhIGNvbnRvcm5hciBvIGVycm8gPj4+IE5HMDIwMDogQ2lyY3VsYXIgZGVwZW5kZW5jeVwiICovXHJcbiAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwQmFja2VuZDogSHR0cEJhY2tlbmQsXHJcbiAgICBwcml2YXRlIF9jdXN0b21TdG9yYWdlU2VydmljZTogTGliQ3VzdG9tU3RvcmFnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX2h0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChfaHR0cEJhY2tlbmQpO1xyXG5cclxuICAgIC8vdGhpcy5fQkFTRV9VUkwgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IHRoaXMuX0JBU0VfVVJMIDogYCR7ZW52aXJvbm1lbnQuU3BJbmZyYTJMb2dpbldTfS9Mb2dpblNpc3Byb0VSUGA7XHJcblxyXG4gICAgLy8gTcOpdG9kbyBjb20gY3VzdG9taXphw6fDtWVzIHBhcmEgaW5pY2lhbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLl9jdXN0b21TdG9yYWdlU2VydmljZS5zdG9yYWdlQ29uc3RydWN0b3IoKVxyXG5cclxuICAgIGNvbnN0IGV4cGVjdGVkTG9jYWxBdXRoU3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuX19sb2NhbF9rZXkpO1xyXG5cclxuICAgIGlmIChleHBlY3RlZExvY2FsQXV0aFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgbG9jYWxBdXRoU3RvcmFnZSA9IEpTT04ucGFyc2UoZXhwZWN0ZWRMb2NhbEF1dGhTdG9yYWdlKSBhcyBBdXRoU3RvcmFnZVNlcnZpY2U7XHJcblxyXG4gICAgICB0aGlzLl9faXAgPSBsb2NhbEF1dGhTdG9yYWdlLl9faXA7XHJcbiAgICAgIHRoaXMuX190ZW5hbnRJZCA9IGxvY2FsQXV0aFN0b3JhZ2UuX190ZW5hbnRJZDtcclxuICAgICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhVXN1YXJpb0lkO1xyXG4gICAgICB0aGlzLl9faW5mcmFFc3RhYklkID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRXN0YWJJZDtcclxuICAgICAgdGhpcy5fX2luZnJhRXN0YWJOb21lID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRXN0YWJOb21lO1xyXG4gICAgICB0aGlzLl9faW5mcmFFbXByZXNhSWQgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFFbXByZXNhSWQ7XHJcbiAgICAgIHRoaXMuX19pbmZyYUVtcHJlc2FOb21lID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRW1wcmVzYU5vbWU7XHJcbiAgICAgIHRoaXMuX191c2VyID0gbG9jYWxBdXRoU3RvcmFnZS5fX3VzZXI7XHJcbiAgICAgIHRoaXMuX191c2VyTmFtZSA9IGxvY2FsQXV0aFN0b3JhZ2UuX191c2VyTmFtZTtcclxuICAgICAgdGhpcy5fX3Rva2VuUGF5bG9hZCA9IGxvY2FsQXV0aFN0b3JhZ2UuX190b2tlblBheWxvYWQ7XHJcbiAgICAgIHRoaXMuX19hdXRoVG9rZW4gPSBsb2NhbEF1dGhTdG9yYWdlLl9fYXV0aFRva2VuO1xyXG4gICAgICB0aGlzLl9fZG9taW5pbyA9IGxvY2FsQXV0aFN0b3JhZ2UuX19kb21pbmlvO1xyXG4gICAgICB0aGlzLl9faXNFeHRlcm5hbExvZ2luID0gbG9jYWxBdXRoU3RvcmFnZS5fX2lzRXh0ZXJuYWxMb2dpbjtcclxuXHJcbiAgICAgIHRoaXMuc3RhcnRMb2dpbkNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gI3JlZ2lvbiBHRVRURVJTL1NFVFRFUlNcclxuXHJcbiAgcHVibGljIGlzTG9nZ2VkSW5TdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLy9pcFxyXG4gIHByaXZhdGUgX19pcDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBpcCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pcDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaXAodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2lwID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNMb2dnZWRJblN1Yi52YWx1ZSkge1xyXG4gICAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvL3RlbmFudElkXHJcbiAgcHJpdmF0ZSBfX3RlbmFudElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgZ2V0IHRlbmFudElkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3RlbmFudElkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB0ZW5hbnRJZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9fdGVuYW50SWQgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vaW5mcmFVc3VhcmlvSWRcclxuICBwcml2YXRlIF9faW5mcmFVc3VhcmlvSWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5mcmFVc3VhcmlvSWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9faW5mcmFVc3VhcmlvSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGluZnJhVXN1YXJpb0lkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19pbmZyYVVzdWFyaW9JZCA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRXN0YWJlbGVjaW1lbnRvSURcclxuICBwcml2YXRlIF9faW5mcmFFc3RhYklkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRXN0YWJJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYUVzdGFiSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGluZnJhRXN0YWJJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFc3RhYklkID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBOb21lRXN0YWJlbGVjaW1lbnRvXHJcbiAgcHJpdmF0ZSBfX2luZnJhRXN0YWJOb21lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRXN0YWJOb21lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2luZnJhRXN0YWJOb21lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbmZyYUVzdGFiTm9tZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFc3RhYk5vbWUgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vIEVtcHJlc2FJRFxyXG4gIHByaXZhdGUgX19pbmZyYUVtcHJlc2FJZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBpbmZyYUVtcHJlc2FJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYUVtcHJlc2FJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFFbXByZXNhSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2luZnJhRW1wcmVzYUlkID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBOb21lRW1wcmVzYVxyXG4gIHByaXZhdGUgX19pbmZyYUVtcHJlc2FOb21lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRW1wcmVzYU5vbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9faW5mcmFFbXByZXNhTm9tZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFFbXByZXNhTm9tZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhTm9tZSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy91c2VyXHJcbiAgcHJpdmF0ZSBfX3VzZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX191c2VyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB1c2VyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX191c2VyID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvL3VzZXJuYW1lXHJcbiAgcHJpdmF0ZSBfX3VzZXJOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3VzZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB1c2VyTmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9fdXNlck5hbWUgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vdG9rZW5QYXlsb2FkXHJcbiAgcHJpdmF0ZSBfX3Rva2VuUGF5bG9hZCE6IFBheWxvYWQ7XHJcblxyXG4gIHB1YmxpYyBnZXQgdG9rZW5QYXlsb2FkKCk6IFBheWxvYWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX190b2tlblBheWxvYWQ7XHJcbiAgfVxyXG5cclxuICAvL2F1dGhUb2tlblxyXG4gIHByaXZhdGUgX19hdXRoVG9rZW46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgYXV0aFRva2VuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2F1dGhUb2tlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYXV0aFRva2VuKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19hdXRoVG9rZW4gPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5fX2F1dGhUb2tlbiAhPSAnJykge1xyXG4gICAgICAvLyBVdGlsaXphLXNlIGEgZnVuw6fDo28gZG9zIFV0aWxzIHBhcmEgcGVnYXIgbyBzZWd1bmRvIHZhbG9yIGRvIFRva2VuLCBzZXBhcmFkb3MgcG9yIHVtICcuJ1xyXG4gICAgICAvLyBlIGRlZmluZSBvIF9fdG9rZW5QYXlsb2FkIGNvbW8gbyBvYmpldG8gcmVzdWx0YW50ZSBkbyBKU09OLnBhcnNlKHBheWxvYWRKc29uKVxyXG4gICAgICBjb25zdCBwYXlsb2FkSnNvbjogc3RyaW5nID0gVXRpbHMuYjY0RGVjb2RlVW5pY29kZSh0aGlzLl9fYXV0aFRva2VuLnNwbGl0KCcuJylbMV0pO1xyXG5cclxuICAgICAgdGhpcy5fX3Rva2VuUGF5bG9hZCA9IEpTT04ucGFyc2UocGF5bG9hZEpzb24pO1xyXG5cclxuICAgICAgdGhpcy5zdGFydExvZ2luQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiBEb23DrW5pbyAqL1xyXG4gIHByaXZhdGUgX19kb21pbmlvOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGRvbWluaW8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9fZG9taW5pbztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZG9taW5pbyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9fZG9taW5pbyA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy91cmwgcGFyYSByZWRpcmVjaW9uYW1lbnRvXHJcbiAgcHJpdmF0ZSBfX1VybFJlZGlyZWN0OiBzdHJpbmcgPSBcIi9cIjtcclxuXHJcbiAgcHVibGljIGdldCB1cmxSZWRpcmVjdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19VcmxSZWRpcmVjdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdXJsUmVkaXJlY3QodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX1VybFJlZGlyZWN0ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvL2luZGljYSBMb2dpbiBFeHRlcm5vXHJcbiAgcHJpdmF0ZSBfX2lzRXh0ZXJuYWxMb2dpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0IGlzRXh0ZXJuYWxMb2dpbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9faXNFeHRlcm5hbExvZ2luO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpc0V4dGVybmFsTG9naW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZSDDqSBwYXJhIGlnbm9yYXIgbyBtw6l0b2RvIHJlQ2hlY2tMb2dpbiAqL1xyXG4gIHByaXZhdGUgX19pZ25vcmVDaGVja0xvZ2luOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgaWdub3JlQ2hlY2tMb2dpbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9faWdub3JlQ2hlY2tMb2dpbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaWdub3JlQ2hlY2tMb2dpbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fX2lnbm9yZUNoZWNrTG9naW4gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gR0VUVEVSUy9TRVRURVJTXHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX19zYXZlTG9jYWxJbnN0YW5jZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBpZiAodGhpcy5fX2lzU2F2aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9faXNTYXZpbmcgPSB0cnVlO1xyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuX19sb2NhbF9rZXksIHRoaXMudG9Kc29uKCkpO1xyXG5cclxuICAgIC8vIE3DqXRvZG8gY29tIGN1c3RvbWl6YcOnw7VlcyBwYXJhIHNhbHZhciBpbmZvcm1hw6fDtWVzIG5hIHN0b3JhZ2VcclxuICAgIHRoaXMuX2N1c3RvbVN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VTYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG5cclxuICAgIHRoaXMuX19ub3RTYXZpbmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX19ub3RTYXZpbmcoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9faXNTYXZpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhIGEgaW5zdMOibmNpYSBjb21vIEpTT04gc2VndXJvLCBpZ25vcmFuZG8gb2JqZXRvcyBxdWUgbsOjbyBwb2RlbSBzZSB0b3JuYXIgdW0gSlNPTi5cclxuICAgKi9cclxuICBwdWJsaWMgdG9Kc29uKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBqc29uID0gYFxyXG4gICAge1xyXG4gICAgICBcIl9faXBcIjogXCIke3RoaXMuaXB9XCIsXHJcbiAgICAgIFwiX190ZW5hbnRJZFwiOiAke3RoaXMudGVuYW50SWR9LFxyXG4gICAgICBcIl9faW5mcmFVc3VhcmlvSWRcIjogXCIke3RoaXMuaW5mcmFVc3VhcmlvSWR9XCIsXHJcbiAgICAgIFwiX19pbmZyYUVzdGFiSWRcIjogXCIke3RoaXMuaW5mcmFFc3RhYklkfVwiLFxyXG4gICAgICBcIl9faW5mcmFFc3RhYk5vbWVcIjogXCIke3RoaXMuaW5mcmFFc3RhYk5vbWV9XCIsXHJcbiAgICAgIFwiX19pbmZyYUVtcHJlc2FJZFwiOiBcIiR7dGhpcy5pbmZyYUVtcHJlc2FJZH1cIixcclxuICAgICAgXCJfX2luZnJhRW1wcmVzYU5vbWVcIjogXCIke3RoaXMuaW5mcmFFbXByZXNhTm9tZX1cIixcclxuICAgICAgXCJfX3VzZXJcIjogXCIke3RoaXMudXNlcn1cIixcclxuICAgICAgXCJfX3VzZXJOYW1lXCI6IFwiJHt0aGlzLnVzZXJOYW1lfVwiLFxyXG4gICAgICBcIl9fYXV0aFRva2VuXCI6IFwiJHt0aGlzLmF1dGhUb2tlbn1cIixcclxuICAgICAgXCJfX3Rva2VuUGF5bG9hZFwiOiAke0pTT04uc3RyaW5naWZ5KHRoaXMudG9rZW5QYXlsb2FkKX0sXHJcbiAgICAgIFwiX19kb21pbmlvXCI6IFwiJHt0aGlzLmRvbWluaW99XCIsXHJcbiAgICAgIFwiX19pc0V4dGVybmFsTG9naW5cIjogJHt0aGlzLmlzRXh0ZXJuYWxMb2dpbn1cclxuICAgIH1cclxuICAgIGA7XHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICAvKiogSW5pY2lhIGEgdmVyaWZpY2HDp8OjbyBkbyBsb2dpbi4gKi9cclxuICBwdWJsaWMgc3RhcnRMb2dpbkNoZWNrKCkge1xyXG5cclxuICAgIGlmICghdGhpcy5fX2lzQ2hlY2tpbmdBdXRoKSB7XHJcbiAgICAgIHRoaXMucmVDaGVja0xvZ2luKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWZpY2EgYSBjYWRhIGRpZmVyZW7Dp2EgZGUgdGVtcG8gZW50cmUgYSBkYXRhIGF0dWFsIGUgYSBkYXRhIGRvIHRva2VuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyByZUNoZWNrTG9naW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuX19hdXRoVG9rZW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9fYXV0aFRva2VuID09PSAnJyB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gbnVsbCB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gJycpIHtcclxuICAgICAgdGhpcy5fX2lzQ2hlY2tpbmdBdXRoID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9faXNDaGVja2luZ0F1dGggPSB0cnVlO1xyXG5cclxuICAgIGxldCBpc1JlbmV3VG9rZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBub3dEYXRlOiBudW1iZXIgPSBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgICBpZiAodGhpcy50b2tlblBheWxvYWQuZXhwIDw9IG5vd0RhdGUpIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGVmdFRpbWU6IG51bWJlciA9IHRoaXMudG9rZW5QYXlsb2FkLmV4cCAtIG5vd0RhdGVcclxuXHJcbiAgICBpZiAobGVmdFRpbWUgPD0gMCkge1xyXG4gICAgICBpc1JlbmV3VG9rZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE86IEFsdGVyYXIgYXF1aSBwYXJhIG7Do28gZGVzbG9nYXIgZSBhdmlzYXIgbyB1c3XDoXJpbyBwYXJhIGxvZ2FyIGRlbm92by5cclxuICAgIGlmIChpc1JlbmV3VG9rZW4pIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldE5ld1Rva2VuKCk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJiByZXNwb25zZSAhPT0gbnVsbCAmJiByZXNwb25zZSAhPSAnJykge1xyXG4gICAgICAgIHRoaXMuYXV0aFRva2VuID0gcmVzcG9uc2U7XHJcbiAgICAgICAgbm93RGF0ZSA9IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gICAgICAgIGxlZnRUaW1lID0gdGhpcy50b2tlblBheWxvYWQuZXhwIC0gbm93RGF0ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaWdub3JlQ2hlY2tMb2dpbikge1xyXG4gICAgICB0aGlzLmlnbm9yZUNoZWNrTG9naW4gPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE3DqXRvZG8gY29tIGN1c3RvbWl6YcOnw7VlcyBwYXJhIGluaWNpYWxpemHDp8O1ZXMgZGEgQXV0b1N0b3JhZ2VcclxuICAgICAgdGhpcy5fY3VzdG9tU3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KHRydWUpO1xyXG5cclxuICAgIHNldFRpbWVvdXQodGhpcy5yZUNoZWNrTG9naW4uYmluZCh0aGlzKSwgbGVmdFRpbWUgKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9faXNDaGVja2luZ0F1dGggPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuX19VcmxSZWRpcmVjdCA9IFwiL1wiO1xyXG5cclxuICAgIHRoaXMuX19pcCA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdGVuYW50SWQgPSAwO1xyXG4gICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVzdGFiSWQgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2luZnJhRXN0YWJOb21lID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVtcHJlc2FJZCA9IFwiXCI7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhTm9tZSA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlciA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2F1dGhUb2tlbiA9IFwiXCI7XHJcbiAgICB0aGlzLl9fZG9taW5pbyA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdG9rZW5QYXlsb2FkID0ge30gYXMgUGF5bG9hZDtcclxuICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSBmYWxzZTtcclxuXHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLl9fbG9jYWxfa2V5KTtcclxuXHJcbiAgICAvLyBNw6l0b2RvIGNvbSBjdXN0b21pemHDp8O1ZXMgcGFyYSBmaW5hbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLl9jdXN0b21TdG9yYWdlU2VydmljZS5zdG9yYWdlTG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5ld1Rva2VuQmFjaygpOiBPYnNlcnZhYmxlPFJldFRva2VuPiB7XHJcbiAgICBsZXQgdG9rZW46IFRva2VuID0ge1xyXG4gICAgICBkb21haW46IHRoaXMuX19kb21pbmlvLFxyXG4gICAgICB1c2VyOiB0aGlzLl9fdXNlcixcclxuICAgICAgdGVuYW50SWQ6IHRoaXMudGVuYW50SWQsXHJcbiAgICAgIHRva2VuOiB0aGlzLmF1dGhUb2tlbixcclxuICAgICAgaW5mcmFVc3VhcmlvSWQ6IHRoaXMuX19pbmZyYVVzdWFyaW9JZCxcclxuICAgICAgdXNlck5hbWU6IHRoaXMuX191c2VyTmFtZVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX0JBU0VfVVJMfS9HZXROZXdUb2tlbmA7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJylcclxuICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsXHJcbiAgICAgICAgYEJhc2ljICR7YnRvYShgJHtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29uZmlnU2VydmVyVXNlcicpfToke2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb25maWdTZXJ2ZXJQYXNzd29yZCcpfWApfWBcclxuICAgICAgKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAucG9zdDxSZXRUb2tlbj4odXJsLCB0b2tlbiwgeyAnaGVhZGVycyc6IGhlYWRlcnMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmV3VG9rZW4oKTogUHJvbWlzZTxhbnk+IHtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmdldE5ld1Rva2VuQmFjaygpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5Ub2tlbik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBSZW5vdmEgbyBUb2tlbiBxdWFuZG8gZXN0ZSBlc3RpdmVyIHZlbmNpZG8uXHJcbiAgKi9cclxuICBwdWJsaWMgYXN5bmMgcmVuZXdUb2tlbigpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNMb2dnZWRJblN1YiB8fCB0aGlzLl9fYXV0aFRva2VuID09PSB1bmRlZmluZWQgfHwgdGhpcy5fX2F1dGhUb2tlbiA9PT0gJycgfHwgdGhpcy5hdXRoVG9rZW4gPT09IG51bGwgfHwgdGhpcy5hdXRoVG9rZW4gPT09ICcnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXNSZW5ld1Rva2VuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgbm93RGF0ZTogbnVtYmVyID0gTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMTAwMCk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9rZW5QYXlsb2FkLmV4cCA8PSBub3dEYXRlKSB7XHJcbiAgICAgIGlzUmVuZXdUb2tlbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxlZnRUaW1lOiBudW1iZXIgPSB0aGlzLnRva2VuUGF5bG9hZC5leHAgLSBub3dEYXRlXHJcblxyXG4gICAgaWYgKGxlZnRUaW1lIDw9IDApIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNSZW5ld1Rva2VuKSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5nZXROZXdUb2tlbigpO1xyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlICE9PSB1bmRlZmluZWQgJiYgcmVzcG9uc2UgIT09IG51bGwgJiYgcmVzcG9uc2UgIT0gJycpIHtcclxuICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHJlc3BvbnNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNQcmVQb3J0YWwoKTogYm9vbGVhbiB7XHJcblxyXG4gICAgLy8gSWRlbnRpZmljYSBzZSBhIG9yaWdlbSDDqSBQcmVQb3J0YWxcclxuICAgIHZhciB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcclxuICAgIHZhciBpc1ByZVBvcnRhbCA9IHVybC5zZWFyY2hQYXJhbXMuZ2V0KFwiUHJlUG9ydGFsXCIpO1xyXG5cclxuICAgIGlmIChpc1ByZVBvcnRhbCAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAoaXNQcmVQb3J0YWwudG9TdHJpbmcoKSA9PSBcInRydWVcIikge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcHJpZWRhZGVzIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLXN0b3JhZ2Uuc2VydmljZS50c1xyXG5cclxuICAvLyAjcmVnaW9uIE3DqXRvZG9zIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLXN0b3JhZ2Uuc2VydmljZS50c1xyXG5cclxuICAvLyBNw6l0b2RvIGV4ZWN1dGFkbyBubyBhdXRoLXN0b3JhZ2Uuc2VydmljZS50cyAtIG3DqXRvZG86IGNvbnN0cnVjdG9yICgpXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNwLWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbmd4LXNwLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,39 +0,0 @@
1
- export * from './lib/auth.module';
2
- /** Services */
3
- export * from './lib/auth.service';
4
- export * from './lib/components/menu-lateral/menu-services.service';
5
- export * from './lib/components/menu-lateral/menu/list-estab.service';
6
- export * from './lib/custom/custom-login.service';
7
- export * from './lib/custom/custom-menu.service';
8
- export * from './lib/custom/custom-storage.service';
9
- export * from './lib/custom/menu-config.service';
10
- export * from './lib/environments/environments.service';
11
- export * from './lib/server/server.service';
12
- export * from './lib/storage/auth-storage.service';
13
- /** Components */
14
- export * from './lib/components/login/login.component';
15
- export * from './lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component';
16
- export * from './lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component';
17
- export * from './lib/components/menu-lateral/menu/menu-lateral.component';
18
- export * from './lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component';
19
- export * from './lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component';
20
- export * from './lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component';
21
- export * from './lib/components/nova-senha/nova-senhacomponent';
22
- /** Models */
23
- export * from './lib/components/menu-lateral/model/imenu-item-structure.model';
24
- export * from './lib/components/menu-lateral/model/imenu.model';
25
- export * from './lib/components/menu-lateral/model/infrausuarioimg';
26
- export * from './lib/custom/models/icustom-login-service';
27
- export * from './lib/custom/models/icustom-menu-service';
28
- export * from './lib/custom/models/imenu-config';
29
- export * from './lib/environments/models/ienvironments';
30
- export * from './lib/models/custom-propriedades-login';
31
- export * from './lib/custom/models/icustom-storage-service';
32
- /** Guards */
33
- export * from './lib/guards/auth-guard';
34
- export * from './lib/guards/external-login-guard';
35
- export * from './lib/guards/login-guard';
36
- /** Interceptors */
37
- export * from './lib/interceptors/auth-aplic.interceptor';
38
- export * from './lib/interceptors/auth-infra.interceptor';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsZUFBZTtBQUNmLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFHbkQsaUJBQWlCO0FBQ2pCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyw0R0FBNEcsQ0FBQztBQUMzSCxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxhQUFhO0FBQ2IsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFHNUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLG1CQUFtQjtBQUNuQixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLm1vZHVsZSc7XHJcblxyXG4vKiogU2VydmljZXMgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS1zZXJ2aWNlcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS9saXN0LWVzdGFiLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vY3VzdG9tLWxvZ2luLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vY3VzdG9tLW1lbnUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9jdXN0b20tc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tL21lbnUtY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2ZXIvc2VydmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcblxyXG4vKiogQ29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL2Ryb3Bkb3duL3ByaW1hcnktZHJvcGRvd24vcHJpbWFyeS1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9kcm9wZG93bi9zZWNvbmRhcnktZHJvcGRvd24vc2Vjb25kYXJ5LWRyb3Bkb3duLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvbWVudS1sYXRlcmFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsL3NlbGVjYW8tZXN0YWJlbGVjaW1lbnRvcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9zdWJtZW51cy9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL25vdGlmLXN1Ym1lbnUvbm90aWYtc3VibWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25vdmEtc2VuaGEvbm92YS1zZW5oYWNvbXBvbmVudCc7XHJcblxyXG4vKiogTW9kZWxzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbW9kZWwvaW1lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9pbmZyYXVzdWFyaW9pbWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ljdXN0b20tbG9naW4tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9tb2RlbHMvaWN1c3RvbS1tZW51LXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ltZW51LWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vudmlyb25tZW50cy9tb2RlbHMvaWVudmlyb25tZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jdXN0b20tcHJvcHJpZWRhZGVzLWxvZ2luJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tL21vZGVscy9pY3VzdG9tLXN0b3JhZ2Utc2VydmljZSc7XHJcblxyXG5cclxuLyoqIEd1YXJkcyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC1ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9leHRlcm5hbC1sb2dpbi1ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9sb2dpbi1ndWFyZCc7XHJcblxyXG4vKiogSW50ZXJjZXB0b3JzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9hdXRoLWFwbGljLmludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2F1dGgtaW5mcmEuaW50ZXJjZXB0b3InO1xyXG5cclxuXHJcbiJdfQ==