ngx-sp-auth 0.0.0-watch → 1.0.4

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.
@@ -0,0 +1,70 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibCustomStorageService {
4
+ constructor() {
5
+ // #region Propriedades Customizadas para o Componente auth-storage.service.ts
6
+ // indica se objeto já está marcado para salvar os dados no local storage.
7
+ this.__isSaving = false;
8
+ }
9
+ // #endregion Propriedades Customizadas para o Componente auth-storage.service.ts
10
+ // #region Métodos recebidos do projeto
11
+ storedStorageConstructor() { }
12
+ ;
13
+ storedStorageSaveLocalInstance() { }
14
+ ;
15
+ storedStorageLogout() { }
16
+ storedStorageInitializeAutoStorage() { }
17
+ ;
18
+ // #endregion Métodos recebidos do projeto
19
+ // #region Métodos Customizadas para o Componente auth-storage.service.ts
20
+ // Método executado no auth-storage.service.ts - método: constructor ()
21
+ // Utilizado para inicializações diversas
22
+ storageConstructor() {
23
+ this.storedStorageConstructor();
24
+ }
25
+ // Método executado no auth-storage.service.ts - método: saveLocalInstance ()
26
+ // Utilizado para salvar informações no localStorage
27
+ storageSaveLocalInstance() {
28
+ this.storedStorageSaveLocalInstance();
29
+ }
30
+ // Método executado no auth-storage.service.ts - método: logout ()
31
+ // Utilizado para inicializar informações no localStorage na logout da aplicação
32
+ storageLogout() {
33
+ this.storedStorageLogout();
34
+ }
35
+ // Método executado no auth-storage.service.ts - método: reCheckLogin ()
36
+ // Utilizado para inicializações diversas quando o Login exeutado via Pré Portal
37
+ storageInitializeAutoStorage() {
38
+ this.storedStorageInitializeAutoStorage();
39
+ }
40
+ // Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
41
+ async __authStorageSaveLocalInstance() {
42
+ if (this.__isSaving) {
43
+ return;
44
+ }
45
+ this.__isSaving = true;
46
+ this.storageSaveLocalInstance();
47
+ this.__authStorageNotSaving();
48
+ }
49
+ // Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
50
+ async __authStorageNotSaving() {
51
+ this.__isSaving = false;
52
+ }
53
+ // #endregion Métodos Customizadas para o Componente auth-storage.service.ts
54
+ ConfigurarCustomStorage(customStorageService) {
55
+ //passando propriedades do projeto para a lib
56
+ this.__isSaving = customStorageService.isSaving;
57
+ //passando implementação dos métodos do projeto para a lib
58
+ this.storedStorageConstructor = customStorageService.storageConstructor;
59
+ this.storedStorageInitializeAutoStorage = customStorageService.storageInitializeAutoStorage;
60
+ this.storedStorageLogout = customStorageService.storageLogout;
61
+ this.storedStorageSaveLocalInstance = customStorageService.storageSaveLocalInstance;
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, providedIn: 'root' }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomStorageService, decorators: [{
67
+ type: Injectable,
68
+ args: [{ providedIn: 'root' }]
69
+ }], ctorParameters: () => [] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY3VzdG9tL2N1c3RvbS1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQztRQUVBLDhFQUE4RTtRQUU5RSwwRUFBMEU7UUFDbEUsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUxwQixDQUFDO0lBT2pCLGlGQUFpRjtJQUdqRix1Q0FBdUM7SUFFaEMsd0JBQXdCLEtBQVcsQ0FBQztJQUFBLENBQUM7SUFDckMsOEJBQThCLEtBQVcsQ0FBQztJQUFBLENBQUM7SUFDM0MsbUJBQW1CLEtBQVcsQ0FBQztJQUMvQixrQ0FBa0MsS0FBVyxDQUFDO0lBQUEsQ0FBQztJQUV0RCwwQ0FBMEM7SUFFMUMseUVBQXlFO0lBRXpFLHVFQUF1RTtJQUN2RSx5Q0FBeUM7SUFDbEMsa0JBQWtCO1FBQ3JCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0Usb0RBQW9EO0lBQzdDLHdCQUF3QjtRQUMzQixJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLGdGQUFnRjtJQUN6RSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsZ0ZBQWdGO0lBQ3pFLDRCQUE0QjtRQUMvQixJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQseUZBQXlGO0lBQ2pGLEtBQUssQ0FBQyw4QkFBOEI7UUFFeEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUV0QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQseUZBQXlGO0lBQ2pGLEtBQUssQ0FBQyxzQkFBc0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDM0IsQ0FBQztJQUNELDRFQUE0RTtJQUVyRSx1QkFBdUIsQ0FBQyxvQkFBMkM7UUFFdEUsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1FBRWhELDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsb0JBQW9CLENBQUMsa0JBQWtCLENBQUM7UUFDeEUsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLG9CQUFvQixDQUFDLDRCQUE0QixDQUFDO1FBQzVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7UUFDOUQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDO0lBQ3hGLENBQUM7K0dBN0VRLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRmxCLE1BQU07OzRGQUVYLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFDUCxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDdXN0b21TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vbW9kZWxzL2ljdXN0b20tc3RvcmFnZS1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKFxyXG4gICAgeyBwcm92aWRlZEluOiAncm9vdCcgfVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBMaWJDdXN0b21TdG9yYWdlU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICAvLyAjcmVnaW9uIFByb3ByaWVkYWRlcyBDdXN0b21pemFkYXMgcGFyYSBvIENvbXBvbmVudGUgYXV0aC1zdG9yYWdlLnNlcnZpY2UudHNcclxuXHJcbiAgICAvLyBpbmRpY2Egc2Ugb2JqZXRvIGrDoSBlc3TDoSBtYXJjYWRvIHBhcmEgc2FsdmFyIG9zIGRhZG9zIG5vIGxvY2FsIHN0b3JhZ2UuXHJcbiAgICBwcml2YXRlIF9faXNTYXZpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3ByaWVkYWRlcyBDdXN0b21pemFkYXMgcGFyYSBvIENvbXBvbmVudGUgYXV0aC1zdG9yYWdlLnNlcnZpY2UudHNcclxuXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBNw6l0b2RvcyByZWNlYmlkb3MgZG8gcHJvamV0b1xyXG5cclxuICAgIHB1YmxpYyBzdG9yZWRTdG9yYWdlQ29uc3RydWN0b3IoKTogdm9pZCB7IH07XHJcbiAgICBwdWJsaWMgc3RvcmVkU3RvcmFnZVNhdmVMb2NhbEluc3RhbmNlKCk6IHZvaWQgeyB9O1xyXG4gICAgcHVibGljIHN0b3JlZFN0b3JhZ2VMb2dvdXQoKTogdm9pZCB7IH1cclxuICAgIHB1YmxpYyBzdG9yZWRTdG9yYWdlSW5pdGlhbGl6ZUF1dG9TdG9yYWdlKCk6IHZvaWQgeyB9O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gTcOpdG9kb3MgcmVjZWJpZG9zIGRvIHByb2pldG9cclxuXHJcbiAgICAvLyAjcmVnaW9uIE3DqXRvZG9zIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLXN0b3JhZ2Uuc2VydmljZS50c1xyXG5cclxuICAgIC8vIE3DqXRvZG8gZXhlY3V0YWRvIG5vIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogY29uc3RydWN0b3IgKClcclxuICAgIC8vIFV0aWxpemFkbyBwYXJhIGluaWNpYWxpemHDp8O1ZXMgZGl2ZXJzYXNcclxuICAgIHB1YmxpYyBzdG9yYWdlQ29uc3RydWN0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdG9yZWRTdG9yYWdlQ29uc3RydWN0b3IoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNw6l0b2RvIGV4ZWN1dGFkbyBubyBhdXRoLXN0b3JhZ2Uuc2VydmljZS50cyAtIG3DqXRvZG86IHNhdmVMb2NhbEluc3RhbmNlICgpXHJcbiAgICAvLyBVdGlsaXphZG8gcGFyYSBzYWx2YXIgaW5mb3JtYcOnw7VlcyBubyBsb2NhbFN0b3JhZ2VcclxuICAgIHB1YmxpYyBzdG9yYWdlU2F2ZUxvY2FsSW5zdGFuY2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdG9yZWRTdG9yYWdlU2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNw6l0b2RvIGV4ZWN1dGFkbyBubyBhdXRoLXN0b3JhZ2Uuc2VydmljZS50cyAtIG3DqXRvZG86IGxvZ291dCAoKVxyXG4gICAgLy8gVXRpbGl6YWRvIHBhcmEgaW5pY2lhbGl6YXIgaW5mb3JtYcOnw7VlcyBubyBsb2NhbFN0b3JhZ2UgbmEgbG9nb3V0IGRhIGFwbGljYcOnw6NvXHJcbiAgICBwdWJsaWMgc3RvcmFnZUxvZ291dCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0b3JlZFN0b3JhZ2VMb2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNw6l0b2RvIGV4ZWN1dGFkbyBubyBhdXRoLXN0b3JhZ2Uuc2VydmljZS50cyAtIG3DqXRvZG86IHJlQ2hlY2tMb2dpbiAoKVxyXG4gICAgLy8gVXRpbGl6YWRvIHBhcmEgaW5pY2lhbGl6YcOnw7VlcyBkaXZlcnNhcyBxdWFuZG8gbyBMb2dpbiBleGV1dGFkbyB2aWEgUHLDqSBQb3J0YWxcclxuICAgIHB1YmxpYyBzdG9yYWdlSW5pdGlhbGl6ZUF1dG9TdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RvcmVkU3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE3DqXRvZG8gZXhlY3V0YWRvIHBhcmEgc2FsdmFyIGFzIHByb3ByaWVkYWRlcyBubyBMb2NhbFN0b3JhZ2UgKG7Do28gZGV2ZSBzZXIgbW9kaWZpY2FkbylcclxuICAgIHByaXZhdGUgYXN5bmMgX19hdXRoU3RvcmFnZVNhdmVMb2NhbEluc3RhbmNlKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fX2lzU2F2aW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fX2lzU2F2aW5nID0gdHJ1ZVxyXG5cclxuICAgICAgICB0aGlzLnN0b3JhZ2VTYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl9fYXV0aFN0b3JhZ2VOb3RTYXZpbmcoKVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE3DqXRvZG8gZXhlY3V0YWRvIHBhcmEgc2FsdmFyIGFzIHByb3ByaWVkYWRlcyBubyBMb2NhbFN0b3JhZ2UgKG7Do28gZGV2ZSBzZXIgbW9kaWZpY2FkbylcclxuICAgIHByaXZhdGUgYXN5bmMgX19hdXRoU3RvcmFnZU5vdFNhdmluZygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLl9faXNTYXZpbmcgPSBmYWxzZVxyXG4gICAgfVxyXG4gICAgLy8gI2VuZHJlZ2lvbiBNw6l0b2RvcyBDdXN0b21pemFkYXMgcGFyYSBvIENvbXBvbmVudGUgYXV0aC1zdG9yYWdlLnNlcnZpY2UudHNcclxuXHJcbiAgICBwdWJsaWMgQ29uZmlndXJhckN1c3RvbVN0b3JhZ2UoY3VzdG9tU3RvcmFnZVNlcnZpY2U6IElDdXN0b21TdG9yYWdlU2VydmljZSk6IHZvaWQge1xyXG5cclxuICAgICAgICAvL3Bhc3NhbmRvIHByb3ByaWVkYWRlcyBkbyBwcm9qZXRvIHBhcmEgYSBsaWJcclxuICAgICAgICB0aGlzLl9faXNTYXZpbmcgPSBjdXN0b21TdG9yYWdlU2VydmljZS5pc1NhdmluZztcclxuXHJcbiAgICAgICAgLy9wYXNzYW5kbyBpbXBsZW1lbnRhw6fDo28gZG9zIG3DqXRvZG9zIGRvIHByb2pldG8gcGFyYSBhIGxpYlxyXG4gICAgICAgIHRoaXMuc3RvcmVkU3RvcmFnZUNvbnN0cnVjdG9yID0gY3VzdG9tU3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUNvbnN0cnVjdG9yO1xyXG4gICAgICAgIHRoaXMuc3RvcmVkU3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZSA9IGN1c3RvbVN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VJbml0aWFsaXplQXV0b1N0b3JhZ2U7XHJcbiAgICAgICAgdGhpcy5zdG9yZWRTdG9yYWdlTG9nb3V0ID0gY3VzdG9tU3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUxvZ291dDtcclxuICAgICAgICB0aGlzLnN0b3JlZFN0b3JhZ2VTYXZlTG9jYWxJbnN0YW5jZSA9IGN1c3RvbVN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VTYXZlTG9jYWxJbnN0YW5jZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -53,10 +53,10 @@ export class MenuConfigService {
53
53
  return this.menuDropdown;
54
54
  }
55
55
  ConfigurarMenuConfig(menuConfig) {
56
- //passando propriedades do produto para a lib
56
+ //passando propriedades do projeto para a lib
57
57
  this._menuOptions = menuConfig.menuOptions;
58
58
  this._isMenuStatic = menuConfig.isMenuStatic;
59
- //passando implementação dos métodos do produto para a lib
59
+ //passando implementação dos métodos do projeto para a lib
60
60
  this.storedInitializeMenu = menuConfig.initializeMenu;
61
61
  this.storedInitializeMenuDropdown = menuConfig.initializeMenuDropdown;
62
62
  }
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
67
67
  type: Injectable,
68
68
  args: [{ providedIn: 'root' }]
69
69
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY3VzdG9tL21lbnUtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsMkZBQTJGO0FBQzNGLE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFNWSxpQkFBWSxHQUF5QixFQUFFLENBQUM7UUFFaEQsK0NBQStDO1FBQ3hDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBWS9CLFNBQUksR0FBeUIsRUFBRSxDQUFBO1FBQy9CLGlCQUFZLEdBQVUsRUFBRSxDQUFDO0tBd0RuQztJQW5FRywrQkFBK0I7SUFDL0IsSUFBVyxXQUFXLEtBQTJCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDNUUsSUFBVyxXQUFXLENBQUMsS0FBMkIsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEY7Ozs7T0FJRztJQUVJLGFBQWEsQ0FBQyxZQUFxQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRU0sY0FBYyxDQUFDLFlBQW9CLEVBQUUsVUFBaUM7UUFDekUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBR00sb0JBQW9CLENBQUMsWUFBb0IsRUFBRSxXQUFpQztRQUMvRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFBQyxDQUFDO1lBRWpILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDeEcsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUFDLENBQUM7aUJBQy9FLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O01BR0U7SUFDSyxzQkFBc0IsQ0FBQyxtQkFBK0I7UUFDekQsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFVBQXVCO1FBRS9DLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBRTdDLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDO0lBQzFFLENBQUM7K0dBekVRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBSFosTUFBTTs7NEZBR1gsaUJBQWlCO2tCQUo3QixVQUFVO21CQUNQLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJTWVudUl0ZW1TdHJ1Y3R1cmUgfSBmcm9tICcuLy4uL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuaW1wb3J0IHsgSU1lbnVDb25maWcgfSBmcm9tIFwiLi9tb2RlbHMvaW1lbnUtY29uZmlnXCI7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICAgIHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH1cclxuKVxyXG4vKipTZXJ2aWNlIHJlc3BvbnPDoXZlbCBwb3IgcGVnYXIgYXMgb3DDp8O1ZXMgZG8gbWVudSBkbyBwcm9qZXRvIGVtIHF1ZSBlc3TDoSBzZW5kbyB1dGlsaXphZGEqL1xyXG5leHBvcnQgY2xhc3MgTWVudUNvbmZpZ1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgX21lbnVPcHRpb25zOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSA9IFtdO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbyBtZW51IMOpIGVzdMOhdGljbyBvdSBkaW7Dom1pY28uICovXHJcbiAgICBwdWJsaWMgX2lzTWVudVN0YXRpYzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBPYnTDqW0gYXMgb3DDp8O1ZXMgZG8gbWVudS4gKi9cclxuICAgIHB1YmxpYyBnZXQgbWVudU9wdGlvbnMoKTogSU1lbnVJdGVtU3RydWN0dXJlW10geyByZXR1cm4gdGhpcy5fbWVudU9wdGlvbnM7IH1cclxuICAgIHB1YmxpYyBzZXQgbWVudU9wdGlvbnModmFsdWU6IElNZW51SXRlbVN0cnVjdHVyZVtdKSB7IHRoaXMuX21lbnVPcHRpb25zID0gdmFsdWU7IH1cclxuXHJcblxyXG4gICAgcHVibGljIHN0b3JlZEluaXRpYWxpemVNZW51ITogKGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXN0b21MaXN0PzogSU1lbnVJdGVtU3RydWN0dXJlW10pID0+IElNZW51SXRlbVN0cnVjdHVyZVtdO1xyXG4gICAgcHVibGljIHN0b3JlZFVwZGF0ZVJvdXRlU2VsZWN0aW9uITogKGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXJyZW50TGlzdDogSU1lbnVJdGVtU3RydWN0dXJlW10pID0+IElNZW51SXRlbVN0cnVjdHVyZVtdO1xyXG4gICAgcHVibGljIHN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24hOiAocHJpbWFyeURyb3Bkb3duTGlzdDogQXJyYXk8YW55PikgPT4gYW55W107XHJcblxyXG5cclxuICAgIHB1YmxpYyBtZW51OiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSA9IFtdXHJcbiAgICBwdWJsaWMgbWVudURyb3Bkb3duOiBhbnlbXSA9IFtdO1xyXG5cclxuXHJcbiAgICAvKiogSW5pY2lhbGl6YSBhcyBvcMOnw7VlcyBkbyBtZW51IGNvbSBiYXNlIG5hIHJvdGEgYXR1YWwgZSBlbSB1bWEgbGlzdGEgcGVyc29uYWxpemFkYSAob3BjaW9uYWwpLlxyXG4gICAgICogQHBhcmFtIGN1cnJlbnRSb3V0ZSBBIHJvdGEgYXR1YWwgZGEgYXBsaWNhw6fDo29cclxuICAgICAqIEBwYXJhbSBjdXN0b21MaXN0IFVtYSBsaXN0YSBwZXJzb25hbGl6YWRhIGRlIG9ww6fDtWVzIGRlIG1lbnUgKG9wY2lvbmFsKS5cclxuICAgICAqIEByZXR1cm5zIEFzIG9ww6fDtWVzIGRvIG1lbnUgaW5pY2lhbGl6YWRhcy5cclxuICAgICAqL1xyXG5cclxuICAgIHB1YmxpYyBzZXRNZW51U3RhdGljKGlzU3RhdGljTWVudTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzTWVudVN0YXRpYyA9IGlzU3RhdGljTWVudTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZU1lbnUoY3VycmVudFJvdXRlOiBzdHJpbmcsIGN1c3RvbUxpc3Q/OiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSk6IElNZW51SXRlbVN0cnVjdHVyZVtdIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yZWRJbml0aWFsaXplTWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnUgPSB0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51KGN1cnJlbnRSb3V0ZSwgY3VzdG9tTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1lbnU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVSb3V0ZVNlbGVjdGlvbihjdXJyZW50Um91dGU6IHN0cmluZywgY3VycmVudExpc3Q6IElNZW51SXRlbVN0cnVjdHVyZVtdKTogSU1lbnVJdGVtU3RydWN0dXJlW10ge1xyXG4gICAgICAgIGN1cnJlbnRMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHsgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHsgY2hpbGQuaXNTZWxlY3RlZCA9IGN1cnJlbnRSb3V0ZS5pbmNsdWRlcyhjaGlsZC5yb3V0ZSk7IH0pIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFueUNoaWxkU2VsZWN0ZWQgPSBpdGVtLmNoaWxkcmVuID8gaXRlbS5jaGlsZHJlbi5zb21lKGNoaWxkID0+IGNoaWxkLmlzU2VsZWN0ZWQgPT09IHRydWUpIDogZmFsc2U7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFpdGVtLmNoaWxkcmVuICYmIGN1cnJlbnRSb3V0ZS5pbmNsdWRlcyhpdGVtLnJvdXRlKSkgeyBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlOyB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgYW55Q2hpbGRTZWxlY3RlZCkgeyBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlOyB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRMaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbmljaWFsaXphIGFzIG9ww6fDtWVzIGRvIG1lbnUgZHJvcGRvd24gY29tIGJhc2UgZW0gdW1hIGxpc3RhIHBlcnNvbmFsaXphZGEgKG9wY2lvbmFsKS5cclxuICAgICAgICogQHBhcmFtIHByaW1hcnlEcm9wZG93bkxpc3QgVW1hIGxpc3RhIHBlcnNvbmFsaXphZGEgZGUgb3DDp8O1ZXMgZG8gZHJvcGRvd24gKG9wY2lvbmFsKS5cclxuICAgICAgICogQHJldHVybnMgQXMgb3DDp8O1ZXMgZG8gZHJvcGRvd24gaW5pY2lhbGl6YWRhcy5cclxuICAgICovXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZU1lbnVEcm9wZG93bihwcmltYXJ5RHJvcGRvd25MaXN0OiBBcnJheTxhbnk+KTogYW55W10ge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51RHJvcGRvd24gPSB0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24ocHJpbWFyeURyb3Bkb3duTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVEcm9wZG93bjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgQ29uZmlndXJhck1lbnVDb25maWcobWVudUNvbmZpZzogSU1lbnVDb25maWcpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLy9wYXNzYW5kbyBwcm9wcmllZGFkZXMgZG8gcHJvZHV0byBwYXJhIGEgbGliXHJcbiAgICAgICAgdGhpcy5fbWVudU9wdGlvbnMgPSBtZW51Q29uZmlnLm1lbnVPcHRpb25zO1xyXG4gICAgICAgIHRoaXMuX2lzTWVudVN0YXRpYyA9IG1lbnVDb25maWcuaXNNZW51U3RhdGljO1xyXG5cclxuICAgICAgICAvL3Bhc3NhbmRvIGltcGxlbWVudGHDp8OjbyBkb3MgbcOpdG9kb3MgZG8gcHJvZHV0byBwYXJhIGEgbGliXHJcbiAgICAgICAgdGhpcy5zdG9yZWRJbml0aWFsaXplTWVudSA9IG1lbnVDb25maWcuaW5pdGlhbGl6ZU1lbnU7XHJcbiAgICAgICAgdGhpcy5zdG9yZWRJbml0aWFsaXplTWVudURyb3Bkb3duID0gbWVudUNvbmZpZy5pbml0aWFsaXplTWVudURyb3Bkb3duO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY3VzdG9tL21lbnUtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsMkZBQTJGO0FBQzNGLE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFNWSxpQkFBWSxHQUF5QixFQUFFLENBQUM7UUFFaEQsK0NBQStDO1FBQ3hDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBWS9CLFNBQUksR0FBeUIsRUFBRSxDQUFBO1FBQy9CLGlCQUFZLEdBQVUsRUFBRSxDQUFDO0tBd0RuQztJQW5FRywrQkFBK0I7SUFDL0IsSUFBVyxXQUFXLEtBQTJCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDNUUsSUFBVyxXQUFXLENBQUMsS0FBMkIsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEY7Ozs7T0FJRztJQUVJLGFBQWEsQ0FBQyxZQUFxQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRU0sY0FBYyxDQUFDLFlBQW9CLEVBQUUsVUFBaUM7UUFDekUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBR00sb0JBQW9CLENBQUMsWUFBb0IsRUFBRSxXQUFpQztRQUMvRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFBQyxDQUFDO1lBRWpILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDeEcsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUFDLENBQUM7aUJBQy9FLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O01BR0U7SUFDSyxzQkFBc0IsQ0FBQyxtQkFBK0I7UUFDekQsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFVBQXVCO1FBRS9DLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBRTdDLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDO0lBQzFFLENBQUM7K0dBekVRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBSFosTUFBTTs7NEZBR1gsaUJBQWlCO2tCQUo3QixVQUFVO21CQUNQLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJTWVudUl0ZW1TdHJ1Y3R1cmUgfSBmcm9tICcuLy4uL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuaW1wb3J0IHsgSU1lbnVDb25maWcgfSBmcm9tIFwiLi9tb2RlbHMvaW1lbnUtY29uZmlnXCI7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICAgIHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH1cclxuKVxyXG4vKipTZXJ2aWNlIHJlc3BvbnPDoXZlbCBwb3IgcGVnYXIgYXMgb3DDp8O1ZXMgZG8gbWVudSBkbyBwcm9qZXRvIGVtIHF1ZSBlc3TDoSBzZW5kbyB1dGlsaXphZGEqL1xyXG5leHBvcnQgY2xhc3MgTWVudUNvbmZpZ1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgX21lbnVPcHRpb25zOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSA9IFtdO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbyBtZW51IMOpIGVzdMOhdGljbyBvdSBkaW7Dom1pY28uICovXHJcbiAgICBwdWJsaWMgX2lzTWVudVN0YXRpYzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBPYnTDqW0gYXMgb3DDp8O1ZXMgZG8gbWVudS4gKi9cclxuICAgIHB1YmxpYyBnZXQgbWVudU9wdGlvbnMoKTogSU1lbnVJdGVtU3RydWN0dXJlW10geyByZXR1cm4gdGhpcy5fbWVudU9wdGlvbnM7IH1cclxuICAgIHB1YmxpYyBzZXQgbWVudU9wdGlvbnModmFsdWU6IElNZW51SXRlbVN0cnVjdHVyZVtdKSB7IHRoaXMuX21lbnVPcHRpb25zID0gdmFsdWU7IH1cclxuXHJcblxyXG4gICAgcHVibGljIHN0b3JlZEluaXRpYWxpemVNZW51ITogKGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXN0b21MaXN0PzogSU1lbnVJdGVtU3RydWN0dXJlW10pID0+IElNZW51SXRlbVN0cnVjdHVyZVtdO1xyXG4gICAgcHVibGljIHN0b3JlZFVwZGF0ZVJvdXRlU2VsZWN0aW9uITogKGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXJyZW50TGlzdDogSU1lbnVJdGVtU3RydWN0dXJlW10pID0+IElNZW51SXRlbVN0cnVjdHVyZVtdO1xyXG4gICAgcHVibGljIHN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24hOiAocHJpbWFyeURyb3Bkb3duTGlzdDogQXJyYXk8YW55PikgPT4gYW55W107XHJcblxyXG5cclxuICAgIHB1YmxpYyBtZW51OiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSA9IFtdXHJcbiAgICBwdWJsaWMgbWVudURyb3Bkb3duOiBhbnlbXSA9IFtdO1xyXG5cclxuXHJcbiAgICAvKiogSW5pY2lhbGl6YSBhcyBvcMOnw7VlcyBkbyBtZW51IGNvbSBiYXNlIG5hIHJvdGEgYXR1YWwgZSBlbSB1bWEgbGlzdGEgcGVyc29uYWxpemFkYSAob3BjaW9uYWwpLlxyXG4gICAgICogQHBhcmFtIGN1cnJlbnRSb3V0ZSBBIHJvdGEgYXR1YWwgZGEgYXBsaWNhw6fDo29cclxuICAgICAqIEBwYXJhbSBjdXN0b21MaXN0IFVtYSBsaXN0YSBwZXJzb25hbGl6YWRhIGRlIG9ww6fDtWVzIGRlIG1lbnUgKG9wY2lvbmFsKS5cclxuICAgICAqIEByZXR1cm5zIEFzIG9ww6fDtWVzIGRvIG1lbnUgaW5pY2lhbGl6YWRhcy5cclxuICAgICAqL1xyXG5cclxuICAgIHB1YmxpYyBzZXRNZW51U3RhdGljKGlzU3RhdGljTWVudTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzTWVudVN0YXRpYyA9IGlzU3RhdGljTWVudTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZU1lbnUoY3VycmVudFJvdXRlOiBzdHJpbmcsIGN1c3RvbUxpc3Q/OiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXSk6IElNZW51SXRlbVN0cnVjdHVyZVtdIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yZWRJbml0aWFsaXplTWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnUgPSB0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51KGN1cnJlbnRSb3V0ZSwgY3VzdG9tTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1lbnU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVSb3V0ZVNlbGVjdGlvbihjdXJyZW50Um91dGU6IHN0cmluZywgY3VycmVudExpc3Q6IElNZW51SXRlbVN0cnVjdHVyZVtdKTogSU1lbnVJdGVtU3RydWN0dXJlW10ge1xyXG4gICAgICAgIGN1cnJlbnRMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHsgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHsgY2hpbGQuaXNTZWxlY3RlZCA9IGN1cnJlbnRSb3V0ZS5pbmNsdWRlcyhjaGlsZC5yb3V0ZSk7IH0pIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFueUNoaWxkU2VsZWN0ZWQgPSBpdGVtLmNoaWxkcmVuID8gaXRlbS5jaGlsZHJlbi5zb21lKGNoaWxkID0+IGNoaWxkLmlzU2VsZWN0ZWQgPT09IHRydWUpIDogZmFsc2U7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFpdGVtLmNoaWxkcmVuICYmIGN1cnJlbnRSb3V0ZS5pbmNsdWRlcyhpdGVtLnJvdXRlKSkgeyBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlOyB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgYW55Q2hpbGRTZWxlY3RlZCkgeyBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlOyB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRMaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbmljaWFsaXphIGFzIG9ww6fDtWVzIGRvIG1lbnUgZHJvcGRvd24gY29tIGJhc2UgZW0gdW1hIGxpc3RhIHBlcnNvbmFsaXphZGEgKG9wY2lvbmFsKS5cclxuICAgICAgICogQHBhcmFtIHByaW1hcnlEcm9wZG93bkxpc3QgVW1hIGxpc3RhIHBlcnNvbmFsaXphZGEgZGUgb3DDp8O1ZXMgZG8gZHJvcGRvd24gKG9wY2lvbmFsKS5cclxuICAgICAgICogQHJldHVybnMgQXMgb3DDp8O1ZXMgZG8gZHJvcGRvd24gaW5pY2lhbGl6YWRhcy5cclxuICAgICovXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZU1lbnVEcm9wZG93bihwcmltYXJ5RHJvcGRvd25MaXN0OiBBcnJheTxhbnk+KTogYW55W10ge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51RHJvcGRvd24gPSB0aGlzLnN0b3JlZEluaXRpYWxpemVNZW51RHJvcGRvd24ocHJpbWFyeURyb3Bkb3duTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVEcm9wZG93bjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgQ29uZmlndXJhck1lbnVDb25maWcobWVudUNvbmZpZzogSU1lbnVDb25maWcpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLy9wYXNzYW5kbyBwcm9wcmllZGFkZXMgZG8gcHJvamV0byBwYXJhIGEgbGliXHJcbiAgICAgICAgdGhpcy5fbWVudU9wdGlvbnMgPSBtZW51Q29uZmlnLm1lbnVPcHRpb25zO1xyXG4gICAgICAgIHRoaXMuX2lzTWVudVN0YXRpYyA9IG1lbnVDb25maWcuaXNNZW51U3RhdGljO1xyXG5cclxuICAgICAgICAvL3Bhc3NhbmRvIGltcGxlbWVudGHDp8OjbyBkb3MgbcOpdG9kb3MgZG8gcHJvamV0byBwYXJhIGEgbGliXHJcbiAgICAgICAgdGhpcy5zdG9yZWRJbml0aWFsaXplTWVudSA9IG1lbnVDb25maWcuaW5pdGlhbGl6ZU1lbnU7XHJcbiAgICAgICAgdGhpcy5zdG9yZWRJbml0aWFsaXplTWVudURyb3Bkb3duID0gbWVudUNvbmZpZy5pbml0aWFsaXplTWVudURyb3Bkb3duO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWN1c3RvbS1zdG9yYWdlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2N1c3RvbS9tb2RlbHMvaWN1c3RvbS1zdG9yYWdlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVN0b3JhZ2VTZXJ2aWNlIHtcclxuICAgIC8vIFByb3ByaWVkYWRlcyBDdXN0b21pemFkYXMgZG8gU3RvcmFnZVxyXG4gICAgaXNTYXZpbmc6IGJvb2xlYW47XHJcblxyXG4gICAgLy8gTcOpdG9kb3MgY3VzdG9taXphZG9zIGRvIFN0b3JhZ2VcclxuICAgIHN0b3JhZ2VDb25zdHJ1Y3RvcigpOiB2b2lkO1xyXG4gICAgc3RvcmFnZVNhdmVMb2NhbEluc3RhbmNlKCk6IHZvaWQ7XHJcbiAgICBzdG9yYWdlTG9nb3V0KCk6IHZvaWQ7XHJcbiAgICBzdG9yYWdlSW5pdGlhbGl6ZUF1dG9TdG9yYWdlKCk6IHZvaWQ7XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1lbnUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jdXN0b20vbW9kZWxzL2ltZW51LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lbnVJdGVtU3RydWN0dXJlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZW51Q29uZmlnIHtcclxuICAgIG1lbnVPcHRpb25zOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXTtcclxuICAgIGlzTWVudVN0YXRpYzogYm9vbGVhbjtcclxuICAgIGluaXRpYWxpemVNZW51KGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXN0b21MaXN0PzogSU1lbnVJdGVtU3RydWN0dXJlW10pOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXTtcclxuICAgIGluaXRpYWxpemVNZW51RHJvcGRvd24ocHJpbWFyeURyb3Bkb3duTGlzdDogQXJyYXk8YW55Pik6IEFycmF5PGFueT5bXTtcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1lbnUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNwLWF1dGgvc3JjL2xpYi9jdXN0b20vbW9kZWxzL2ltZW51LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lbnVJdGVtU3RydWN0dXJlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZW51Q29uZmlnIHtcclxuICAgIC8vcHJvcHJpZWRhZGVzIG1lbnVDb25maWdcclxuICAgIG1lbnVPcHRpb25zOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXTtcclxuICAgIGlzTWVudVN0YXRpYzogYm9vbGVhbjtcclxuXHJcbiAgICAvL03DqXRvZG9zIG1lbnVjb25maWdcclxuICAgIGluaXRpYWxpemVNZW51KGN1cnJlbnRSb3V0ZTogc3RyaW5nLCBjdXN0b21MaXN0PzogSU1lbnVJdGVtU3RydWN0dXJlW10pOiBJTWVudUl0ZW1TdHJ1Y3R1cmVbXTtcclxuICAgIGluaXRpYWxpemVNZW51RHJvcGRvd24ocHJpbWFyeURyb3Bkb3duTGlzdDogQXJyYXk8YW55Pik6IEFycmF5PGFueT5bXTtcclxufSJdfQ==
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
18
18
  type: Injectable,
19
19
  args: [{ providedIn: 'root' }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQywyRkFBMkY7QUFDM0YsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQVlJLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFXLG1DQUFtQyxDQUFDO0tBUzFEO0lBUEcsc0JBQXNCLENBQUMsWUFBMkI7UUFFOUMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDdEQsQ0FBQzsrR0FoQlEsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FIYixNQUFNOzs0RkFHWCxrQkFBa0I7a0JBSjlCLFVBQVU7bUJBQ1AsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbi8vaW1wb3J0IHsgSUVudmlyb25tZW50cyB9IGZyb20gXCJuZ3gtc3AtYXV0aFwiO1xyXG5pbXBvcnQgeyBJRW52aXJvbm1lbnRzIH0gZnJvbSBcIi4vbW9kZWxzL2llbnZpcm9ubWVudHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKFxyXG4gICAgeyBwcm92aWRlZEluOiAncm9vdCcgfVxyXG4pXHJcbi8qKlNlcnZpY2UgcmVzcG9uc8OhdmVsIHBvciBwZWdhciBhcyBvcMOnw7VlcyBkbyBtZW51IGRvIHByb2pldG8gZW0gcXVlIGVzdMOhIHNlbmRvIHV0aWxpemFkYSovXHJcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xyXG5cclxuICAgIC8vIFVSTHMgcXVlIG5lY2Vzc2l0YW0gZGUgYXV0ZW50aWNhw6fDo28gZGEgaW5mcmEuXHJcbiAgICBuZWVkc0F1dGhJbmZyYSE6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPjtcclxuXHJcbiAgICAvLyBVUkxzIHF1ZSBuZWNlc3NpdGFtIGRlIGF1dGVudGljYcOnw6NvIGRvIHVzdcOhcmlvIHBhcmEgZnVuY2lvbmFyLlxyXG4gICAgbmVlZHNBdXRoQXBsaWMhOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT47XHJcblxyXG4gICAgcHJvZHVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaG9zdE5hbWU6IHN0cmluZyA9IFwiaHR0cHM6Ly9zaXNjYW5kZXN2Ni5zaXNwcm8uY29tLmJyXCI7XHJcblxyXG4gICAgQ29uZmlndXJhckVudmlyb25tZW50cyhwcm9wcmllZGFkZXM6IElFbnZpcm9ubWVudHMpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLy9wYXNzYW5kbyBwcm9wcmllZGFkZXMgZG8gcHJvZHV0byBwYXJhIGEgbGliXHJcbiAgICAgICAgdGhpcy5uZWVkc0F1dGhBcGxpYyA9IHByb3ByaWVkYWRlcy5uZWVkc0F1dGhBcGxpYztcclxuICAgICAgICB0aGlzLm5lZWRzQXV0aEluZnJhID0gcHJvcHJpZWRhZGVzLm5lZWRzQXV0aEluZnJhO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQywyRkFBMkY7QUFDM0YsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQVlJLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFXLG1DQUFtQyxDQUFDO0tBUzFEO0lBUEcsc0JBQXNCLENBQUMsWUFBMkI7UUFFOUMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDdEQsQ0FBQzsrR0FoQlEsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FIYixNQUFNOzs0RkFHWCxrQkFBa0I7a0JBSjlCLFVBQVU7bUJBQ1AsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IElFbnZpcm9ubWVudHMgfSBmcm9tIFwiLi9tb2RlbHMvaWVudmlyb25tZW50c1wiO1xyXG5cclxuQEluamVjdGFibGUoXHJcbiAgICB7IHByb3ZpZGVkSW46ICdyb290JyB9XHJcbilcclxuLyoqU2VydmljZSByZXNwb25zw6F2ZWwgcG9yIHBlZ2FyIGFzIG9ww6fDtWVzIGRvIG1lbnUgZG8gcHJvamV0byBlbSBxdWUgZXN0w6Egc2VuZG8gdXRpbGl6YWRhKi9cclxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XHJcblxyXG4gICAgLy8gVVJMcyBxdWUgbmVjZXNzaXRhbSBkZSBhdXRlbnRpY2HDp8OjbyBkYSBpbmZyYS5cclxuICAgIG5lZWRzQXV0aEluZnJhITogTWFwPHN0cmluZywgc3RyaW5nW10+O1xyXG5cclxuICAgIC8vIFVSTHMgcXVlIG5lY2Vzc2l0YW0gZGUgYXV0ZW50aWNhw6fDo28gZG8gdXN1w6FyaW8gcGFyYSBmdW5jaW9uYXIuXHJcbiAgICBuZWVkc0F1dGhBcGxpYyE6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPjtcclxuXHJcbiAgICBwcm9kdWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBob3N0TmFtZTogc3RyaW5nID0gXCJodHRwczovL3Npc2NhbmRlc3Y2LnNpc3Byby5jb20uYnJcIjtcclxuXHJcbiAgICBDb25maWd1cmFyRW52aXJvbm1lbnRzKHByb3ByaWVkYWRlczogSUVudmlyb25tZW50cyk6IHZvaWQge1xyXG5cclxuICAgICAgICAvL3Bhc3NhbmRvIHByb3ByaWVkYWRlcyBkbyBwcm9kdXRvIHBhcmEgYSBsaWJcclxuICAgICAgICB0aGlzLm5lZWRzQXV0aEFwbGljID0gcHJvcHJpZWRhZGVzLm5lZWRzQXV0aEFwbGljO1xyXG4gICAgICAgIHRoaXMubmVlZHNBdXRoSW5mcmEgPSBwcm9wcmllZGFkZXMubmVlZHNBdXRoSW5mcmE7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -4,12 +4,12 @@ import { BehaviorSubject, take, tap } from 'rxjs';
4
4
  import { Utils } from 'ngx-sp-infra';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common/http";
7
+ import * as i2 from "../custom/custom-storage.service";
7
8
  export class AuthStorageService {
8
- constructor(_httpBackend) {
9
+ constructor(_httpBackend, _customStorageService) {
9
10
  this._httpBackend = _httpBackend;
10
- this._HOSTNAME = window.location.hostname.includes("localhost")
11
- ? `http://${window.location.hostname}`
12
- : `https://${window.location.hostname}`;
11
+ this._customStorageService = _customStorageService;
12
+ this._HOSTNAME = "https://siscandesv6.sispro.com.br";
13
13
  this._BASE_URL = `${this._HOSTNAME}/SisproErpCloud/Service_Private/Infra/SpInfra2LoginWS/api/LoginSisproERP`; // SpInfra2WS
14
14
  this.__local_key = 'user_auth_v6';
15
15
  // indica se objeto já está marcado para salvar os dados no local storage.
@@ -49,7 +49,7 @@ export class AuthStorageService {
49
49
  this._httpClient = new HttpClient(_httpBackend);
50
50
  //this._BASE_URL = !environment.production ? this._BASE_URL : `${environment.SpInfra2LoginWS}/LoginSisproERP`;
51
51
  // Método com customizações para inicializações da storage
52
- this.storageConstructor();
52
+ this._customStorageService.storageConstructor();
53
53
  const expectedLocalAuthStorage = localStorage.getItem(this.__local_key);
54
54
  if (expectedLocalAuthStorage) {
55
55
  const localAuthStorage = JSON.parse(expectedLocalAuthStorage);
@@ -186,7 +186,7 @@ export class AuthStorageService {
186
186
  this.__isSaving = true;
187
187
  localStorage.setItem(this.__local_key, this.toJson());
188
188
  // Método com customizações para salvar informações na storage
189
- this.storageSaveLocalInstance();
189
+ this._customStorageService.storageSaveLocalInstance();
190
190
  this.__notSaving();
191
191
  }
192
192
  async __notSaving() {
@@ -257,7 +257,7 @@ export class AuthStorageService {
257
257
  }
258
258
  else {
259
259
  // Método com customizações para inicializações da AutoStorage
260
- this.storageInitializeAutoStorage();
260
+ this._customStorageService.storageInitializeAutoStorage();
261
261
  }
262
262
  this.isLoggedInSub.next(true);
263
263
  setTimeout(this.reCheckLogin.bind(this), leftTime * 1000);
@@ -281,7 +281,7 @@ export class AuthStorageService {
281
281
  this.__isExternalLogin = false;
282
282
  localStorage.removeItem(this.__local_key);
283
283
  // Método com customizações para finalizações da storage
284
- this.storageLogout();
284
+ this._customStorageService.storageLogout();
285
285
  }
286
286
  getNewTokenBack() {
287
287
  let token = {
@@ -355,55 +355,11 @@ export class AuthStorageService {
355
355
  return false;
356
356
  }
357
357
  }
358
- // #region ==========> UTILS <==========
359
- // #endregion Propriedades Customizadas para o Componente auth-storage.service.ts
360
- // #region Métodos Customizadas para o Componente auth-storage.service.ts
361
- // Método executado no auth-storage.service.ts - método: constructor ()
362
- // Utilizado para inicializações diversas
363
- storageConstructor(callback) {
364
- if (callback) {
365
- callback();
366
- }
367
- }
368
- // Método executado no auth-storage.service.ts - método: saveLocalInstance ()
369
- // Utilizado para salvar informações no localStorage
370
- storageSaveLocalInstance(callback) {
371
- if (callback) {
372
- callback();
373
- }
374
- }
375
- // Método executado no auth-storage.service.ts - método: logout ()
376
- // Utilizado para inicializar informações no localStorage na logout da aplicação
377
- storageLogout(callback) {
378
- if (callback) {
379
- callback();
380
- }
381
- }
382
- // Método executado no auth-storage.service.ts - método: reCheckLogin ()
383
- // Utilizado para inicializações diversas quando o Login exeutado via Pré Portal
384
- storageInitializeAutoStorage(callback) {
385
- if (callback) {
386
- callback();
387
- }
388
- }
389
- // Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
390
- async __authStorageSaveLocalInstance() {
391
- if (this.__isSaving) {
392
- return;
393
- }
394
- this.__isSaving = true;
395
- this.storageSaveLocalInstance();
396
- this.__authStorageNotSaving();
397
- }
398
- // Método executado para salvar as propriedades no LocalStorage (não deve ser modificado)
399
- async __authStorageNotSaving() {
400
- this.__isSaving = false;
401
- }
402
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable }); }
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 }); }
403
359
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, providedIn: 'root' }); }
404
360
  }
405
361
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthStorageService, decorators: [{
406
362
  type: Injectable,
407
363
  args: [{ providedIn: 'root' }]
408
- }], ctorParameters: () => [{ type: i1.HttpBackend }] });
409
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL3N0b3JhZ2UvYXV0aC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFPckMsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxZQUF5QjtRQUF6QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQWxCbEIsY0FBUyxHQUFRLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDOUUsQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsQ0FBQyxDQUFDLFdBQVcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6QixjQUFTLEdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUywwRUFBMEUsQ0FBQyxDQUFDLGFBQWE7UUFFOUgsZ0JBQVcsR0FBRyxjQUFjLENBQUM7UUFFOUMsMEVBQTBFO1FBQ2xFLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFcEMsZ0ZBQWdGO1FBQ3hFLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQXVDMUMsMEJBQTBCO1FBRW5CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSTtRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFlMUIsVUFBVTtRQUNGLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFZL0IsZ0JBQWdCO1FBQ1IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBWXRDLG9CQUFvQjtRQUNaLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBWXBDLHNCQUFzQjtRQUNkLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQVl0QyxZQUFZO1FBQ0oscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBWXRDLGNBQWM7UUFDTix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFZeEMsTUFBTTtRQUNFLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFZNUIsVUFBVTtRQUNGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFtQmhDLFdBQVc7UUFDSCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQXNCakMsY0FBYztRQUNOLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFZL0IsMkJBQTJCO1FBQ25CLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBVXBDLHNCQUFzQjtRQUNkLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQVkzQyw4Q0FBOEM7UUFDdEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBL04xQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhELDhHQUE4RztRQUU5RywwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFFekIsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RSxJQUFJLHdCQUF3QixFQUFFLENBQUM7WUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUF1QixDQUFDO1lBRXBGLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7WUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1lBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztZQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7WUFFNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFFSCxDQUFDO0lBU0QsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBRUgsQ0FBQztJQUtELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxjQUFjLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFlBQVksQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsY0FBYyxDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUU5QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGdCQUFnQixDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMzQiwwRkFBMEY7WUFDMUYsZ0ZBQWdGO1lBQ2hGLE1BQU0sV0FBVyxHQUFXLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU5QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsZUFBZSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUvQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsZ0JBQWdCLENBQUMsS0FBYztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCw2QkFBNkI7SUFFckIsS0FBSyxDQUFDLG1CQUFtQjtRQUUvQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUV0RCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsTUFBTSxJQUFJLEdBQUc7O2lCQUVBLElBQUksQ0FBQyxFQUFFO3NCQUNGLElBQUksQ0FBQyxRQUFROzZCQUNOLElBQUksQ0FBQyxjQUFjOzJCQUNyQixJQUFJLENBQUMsWUFBWTs2QkFDZixJQUFJLENBQUMsY0FBYzs2QkFDbkIsSUFBSSxDQUFDLGNBQWM7K0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0I7bUJBQ2pDLElBQUksQ0FBQyxJQUFJO3VCQUNMLElBQUksQ0FBQyxRQUFRO3dCQUNaLElBQUksQ0FBQyxTQUFTOzBCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztzQkFDckMsSUFBSSxDQUFDLE9BQU87NkJBQ0wsSUFBSSxDQUFDLGVBQWU7O0tBRTVDLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsZUFBZTtRQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFFSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUV2QixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxZQUFZLEdBQVksS0FBSyxDQUFDO1FBQ2xDLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFBO1FBRXRELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztRQUVELDZFQUE2RTtRQUM3RSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRTFDLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7Z0JBQzFCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVkLE9BQU87WUFDVCxDQUFDO1FBRUgsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLDhEQUE4RDtZQUM5RCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUMsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLEtBQUssR0FBVTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDckIsY0FBYyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzFCLENBQUE7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLGNBQWMsQ0FBQztRQUU1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTthQUM5QixHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2FBQ3ZDLEdBQUcsQ0FBQyxlQUFlLEVBQ2xCLFNBQVMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDL0csQ0FBQztRQUVKLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsSUFBSSxDQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDbEQsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUVmLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUVILENBQUMsQ0FBQyxDQUNILENBQUM7SUFFTixDQUFDO0lBRU8sV0FBVztRQUVqQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQy9CLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDZixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixDQUFDO2dCQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRDs7TUFFRTtJQUNLLEtBQUssQ0FBQyxVQUFVO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekksT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLFlBQVksR0FBWSxLQUFLLENBQUM7UUFDbEMsSUFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUE7UUFFdEQsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUUxQyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzVCLENBQUM7UUFFSCxDQUFDO0lBRUgsQ0FBQztJQUVPLFdBQVc7UUFFakIscUNBQXFDO1FBQ3JDLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEQsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7WUFFeEIsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztRQUVILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBRUgsQ0FBQztJQUVELHdDQUF3QztJQUV4QyxpRkFBaUY7SUFFakYseUVBQXlFO0lBRXpFLHVFQUF1RTtJQUN2RSx5Q0FBeUM7SUFDbEMsa0JBQWtCLENBQUMsUUFBcUI7UUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFFRCw2RUFBNkU7SUFDN0Usb0RBQW9EO0lBQzdDLHdCQUF3QixDQUFDLFFBQXFCO1FBQ25ELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLGdGQUFnRjtJQUN6RSxhQUFhLENBQUMsUUFBcUI7UUFDeEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsZ0ZBQWdGO0lBQ3pFLDRCQUE0QixDQUFDLFFBQXFCO1FBQ3ZELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDO0lBRUQseUZBQXlGO0lBQ2pGLEtBQUssQ0FBQyw4QkFBOEI7UUFFMUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsT0FBTTtRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUV0QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtJQUMvQixDQUFDO0lBRUQseUZBQXlGO0lBQ2pGLEtBQUssQ0FBQyxzQkFBc0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDekIsQ0FBQzsrR0FuaUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUNULEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCYWNrZW5kLCBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXlsb2FkIH0gZnJvbSAnLi8uLi9tb2RlbHMvcGF5bG9hZCc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICduZ3gtc3AtaW5mcmEnO1xyXG5pbXBvcnQgeyBSZXRUb2tlbiB9IGZyb20gJy4uL21vZGVscy9yZXQtdG9rZW4nO1xyXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gJy4uL21vZGVscy90b2tlbic7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICB7IHByb3ZpZGVkSW46ICdyb290JyB9XHJcbilcclxuZXhwb3J0IGNsYXNzIEF1dGhTdG9yYWdlU2VydmljZSB7XHJcblxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9IT1NUTkFNRTogYW55ID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKFwibG9jYWxob3N0XCIpXHJcbiAgICA/IGBodHRwOi8vJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9YFxyXG4gICAgOiBgaHR0cHM6Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZX1gO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9CQVNFX1VSTDogc3RyaW5nID0gYCR7dGhpcy5fSE9TVE5BTUV9L1Npc3Byb0VycENsb3VkL1NlcnZpY2VfUHJpdmF0ZS9JbmZyYS9TcEluZnJhMkxvZ2luV1MvYXBpL0xvZ2luU2lzcHJvRVJQYDsgLy8gU3BJbmZyYTJXU1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9fbG9jYWxfa2V5ID0gJ3VzZXJfYXV0aF92Nic7XHJcblxyXG4gIC8vIGluZGljYSBzZSBvYmpldG8gasOhIGVzdMOhIG1hcmNhZG8gcGFyYSBzYWx2YXIgb3MgZGFkb3Mgbm8gbG9jYWwgc3RvcmFnZS5cclxuICBwcml2YXRlIF9faXNTYXZpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFNlIGFpbmRhIGVzdGFtb3MgY29tIHVtYSBmdW7Dp8OjbyByb2RhbmRvIHBhcmEgdmVyaWZpY2FyIG8gbG9naW4gZG8gdXN1w6FyaW8gKi9cclxuICBwcml2YXRlIF9faXNDaGVja2luZ0F1dGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyogVmFyacOhdmVsIHBhcmEgY29udG9ybmFyIG8gZXJybyA+Pj4gTkcwMjAwOiBDaXJjdWxhciBkZXBlbmRlbmN5XCIgKi9cclxuICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2h0dHBCYWNrZW5kOiBIdHRwQmFja2VuZCxcclxuICApIHtcclxuICAgIHRoaXMuX2h0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChfaHR0cEJhY2tlbmQpO1xyXG5cclxuICAgIC8vdGhpcy5fQkFTRV9VUkwgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IHRoaXMuX0JBU0VfVVJMIDogYCR7ZW52aXJvbm1lbnQuU3BJbmZyYTJMb2dpbldTfS9Mb2dpblNpc3Byb0VSUGA7XHJcblxyXG4gICAgLy8gTcOpdG9kbyBjb20gY3VzdG9taXphw6fDtWVzIHBhcmEgaW5pY2lhbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLnN0b3JhZ2VDb25zdHJ1Y3RvcigpXHJcblxyXG4gICAgY29uc3QgZXhwZWN0ZWRMb2NhbEF1dGhTdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fX2xvY2FsX2tleSk7XHJcblxyXG4gICAgaWYgKGV4cGVjdGVkTG9jYWxBdXRoU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBsb2NhbEF1dGhTdG9yYWdlID0gSlNPTi5wYXJzZShleHBlY3RlZExvY2FsQXV0aFN0b3JhZ2UpIGFzIEF1dGhTdG9yYWdlU2VydmljZTtcclxuXHJcbiAgICAgIHRoaXMuX19pcCA9IGxvY2FsQXV0aFN0b3JhZ2UuX19pcDtcclxuICAgICAgdGhpcy5fX3RlbmFudElkID0gbG9jYWxBdXRoU3RvcmFnZS5fX3RlbmFudElkO1xyXG4gICAgICB0aGlzLl9faW5mcmFVc3VhcmlvSWQgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFVc3VhcmlvSWQ7XHJcbiAgICAgIHRoaXMuX19pbmZyYUVzdGFiSWQgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFFc3RhYklkO1xyXG4gICAgICB0aGlzLl9faW5mcmFFc3RhYk5vbWUgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFFc3RhYk5vbWU7XHJcbiAgICAgIHRoaXMuX19pbmZyYUVtcHJlc2FJZCA9IGxvY2FsQXV0aFN0b3JhZ2UuX19pbmZyYUVtcHJlc2FJZDtcclxuICAgICAgdGhpcy5fX2luZnJhRW1wcmVzYU5vbWUgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFFbXByZXNhTm9tZTtcclxuICAgICAgdGhpcy5fX3VzZXIgPSBsb2NhbEF1dGhTdG9yYWdlLl9fdXNlcjtcclxuICAgICAgdGhpcy5fX3VzZXJOYW1lID0gbG9jYWxBdXRoU3RvcmFnZS5fX3VzZXJOYW1lO1xyXG4gICAgICB0aGlzLl9fdG9rZW5QYXlsb2FkID0gbG9jYWxBdXRoU3RvcmFnZS5fX3Rva2VuUGF5bG9hZDtcclxuICAgICAgdGhpcy5fX2F1dGhUb2tlbiA9IGxvY2FsQXV0aFN0b3JhZ2UuX19hdXRoVG9rZW47XHJcbiAgICAgIHRoaXMuX19kb21pbmlvID0gbG9jYWxBdXRoU3RvcmFnZS5fX2RvbWluaW87XHJcbiAgICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSBsb2NhbEF1dGhTdG9yYWdlLl9faXNFeHRlcm5hbExvZ2luO1xyXG5cclxuICAgICAgdGhpcy5zdGFydExvZ2luQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uIEdFVFRFUlMvU0VUVEVSU1xyXG5cclxuICBwdWJsaWMgaXNMb2dnZWRJblN1YiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvL2lwXHJcbiAgcHJpdmF0ZSBfX2lwOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGlwKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2lwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpcCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faXAgPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0xvZ2dlZEluU3ViLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vdGVuYW50SWRcclxuICBwcml2YXRlIF9fdGVuYW50SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBnZXQgdGVuYW50SWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9fdGVuYW50SWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHRlbmFudElkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX190ZW5hbnRJZCA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy9pbmZyYVVzdWFyaW9JZFxyXG4gIHByaXZhdGUgX19pbmZyYVVzdWFyaW9JZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBpbmZyYVVzdWFyaW9JZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYVVzdWFyaW9JZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFVc3VhcmlvSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBFc3RhYmVsZWNpbWVudG9JRFxyXG4gIHByaXZhdGUgX19pbmZyYUVzdGFiSWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5mcmFFc3RhYklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2luZnJhRXN0YWJJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFFc3RhYklkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19pbmZyYUVzdGFiSWQgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vIE5vbWVFc3RhYmVsZWNpbWVudG9cclxuICBwcml2YXRlIF9faW5mcmFFc3RhYk5vbWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5mcmFFc3RhYk5vbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9faW5mcmFFc3RhYk5vbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGluZnJhRXN0YWJOb21lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19pbmZyYUVzdGFiTm9tZSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRW1wcmVzYUlEXHJcbiAgcHJpdmF0ZSBfX2luZnJhRW1wcmVzYUlkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRW1wcmVzYUlkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2luZnJhRW1wcmVzYUlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbmZyYUVtcHJlc2FJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhSWQgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vIE5vbWVFbXByZXNhXHJcbiAgcHJpdmF0ZSBfX2luZnJhRW1wcmVzYU5vbWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5mcmFFbXByZXNhTm9tZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYUVtcHJlc2FOb21lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbmZyYUVtcHJlc2FOb21lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19pbmZyYUVtcHJlc2FOb21lID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvL3VzZXJcclxuICBwcml2YXRlIF9fdXNlcjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCB1c2VyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3VzZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHVzZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX3VzZXIgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vdXNlcm5hbWVcclxuICBwcml2YXRlIF9fdXNlck5hbWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlck5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9fdXNlck5hbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHVzZXJOYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX191c2VyTmFtZSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy90b2tlblBheWxvYWRcclxuICBwcml2YXRlIF9fdG9rZW5QYXlsb2FkITogUGF5bG9hZDtcclxuXHJcbiAgcHVibGljIGdldCB0b2tlblBheWxvYWQoKTogUGF5bG9hZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3Rva2VuUGF5bG9hZDtcclxuICB9XHJcblxyXG4gIC8vYXV0aFRva2VuXHJcbiAgcHJpdmF0ZSBfX2F1dGhUb2tlbjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBhdXRoVG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9fYXV0aFRva2VuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBhdXRoVG9rZW4odmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2F1dGhUb2tlbiA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLl9fYXV0aFRva2VuICE9ICcnKSB7XHJcbiAgICAgIC8vIFV0aWxpemEtc2UgYSBmdW7Dp8OjbyBkb3MgVXRpbHMgcGFyYSBwZWdhciBvIHNlZ3VuZG8gdmFsb3IgZG8gVG9rZW4sIHNlcGFyYWRvcyBwb3IgdW0gJy4nXHJcbiAgICAgIC8vIGUgZGVmaW5lIG8gX190b2tlblBheWxvYWQgY29tbyBvIG9iamV0byByZXN1bHRhbnRlIGRvIEpTT04ucGFyc2UocGF5bG9hZEpzb24pXHJcbiAgICAgIGNvbnN0IHBheWxvYWRKc29uOiBzdHJpbmcgPSBVdGlscy5iNjREZWNvZGVVbmljb2RlKHRoaXMuX19hdXRoVG9rZW4uc3BsaXQoJy4nKVsxXSk7XHJcblxyXG4gICAgICB0aGlzLl9fdG9rZW5QYXlsb2FkID0gSlNPTi5wYXJzZShwYXlsb2FkSnNvbik7XHJcblxyXG4gICAgICB0aGlzLnN0YXJ0TG9naW5DaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIERvbcOtbmlvICovXHJcbiAgcHJpdmF0ZSBfX2RvbWluaW86IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgZG9taW5pbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19kb21pbmlvO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBkb21pbmlvKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19kb21pbmlvID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvL3VybCBwYXJhIHJlZGlyZWNpb25hbWVudG9cclxuICBwcml2YXRlIF9fVXJsUmVkaXJlY3Q6IHN0cmluZyA9IFwiL1wiO1xyXG5cclxuICBwdWJsaWMgZ2V0IHVybFJlZGlyZWN0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX1VybFJlZGlyZWN0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB1cmxSZWRpcmVjdCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9fVXJsUmVkaXJlY3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vaW5kaWNhIExvZ2luIEV4dGVybm9cclxuICBwcml2YXRlIF9faXNFeHRlcm5hbExvZ2luOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNFeHRlcm5hbExvZ2luKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pc0V4dGVybmFsTG9naW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGlzRXh0ZXJuYWxMb2dpbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fX2lzRXh0ZXJuYWxMb2dpbiA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNlIMOpIHBhcmEgaWdub3JhciBvIG3DqXRvZG8gcmVDaGVja0xvZ2luICovXHJcbiAgcHJpdmF0ZSBfX2lnbm9yZUNoZWNrTG9naW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGdldCBpZ25vcmVDaGVja0xvZ2luKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pZ25vcmVDaGVja0xvZ2luO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpZ25vcmVDaGVja0xvZ2luKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9faWdub3JlQ2hlY2tMb2dpbiA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBHRVRURVJTL1NFVFRFUlNcclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfX3NhdmVMb2NhbEluc3RhbmNlKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGlmICh0aGlzLl9faXNTYXZpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX19pc1NhdmluZyA9IHRydWU7XHJcblxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fX2xvY2FsX2tleSwgdGhpcy50b0pzb24oKSk7XHJcblxyXG4gICAgLy8gTcOpdG9kbyBjb20gY3VzdG9taXphw6fDtWVzIHBhcmEgc2FsdmFyIGluZm9ybWHDp8O1ZXMgbmEgc3RvcmFnZVxyXG4gICAgdGhpcy5zdG9yYWdlU2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuXHJcbiAgICB0aGlzLl9fbm90U2F2aW5nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9fbm90U2F2aW5nKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fX2lzU2F2aW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTYWx2YSBhIGluc3TDom5jaWEgY29tbyBKU09OIHNlZ3VybywgaWdub3JhbmRvIG9iamV0b3MgcXVlIG7Do28gcG9kZW0gc2UgdG9ybmFyIHVtIEpTT04uXHJcbiAgICovXHJcbiAgcHVibGljIHRvSnNvbigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QganNvbiA9IGBcclxuICAgIHtcclxuICAgICAgXCJfX2lwXCI6IFwiJHt0aGlzLmlwfVwiLFxyXG4gICAgICBcIl9fdGVuYW50SWRcIjogJHt0aGlzLnRlbmFudElkfSxcclxuICAgICAgXCJfX2luZnJhVXN1YXJpb0lkXCI6IFwiJHt0aGlzLmluZnJhVXN1YXJpb0lkfVwiLFxyXG4gICAgICBcIl9faW5mcmFFc3RhYklkXCI6IFwiJHt0aGlzLmluZnJhRXN0YWJJZH1cIixcclxuICAgICAgXCJfX2luZnJhRXN0YWJOb21lXCI6IFwiJHt0aGlzLmluZnJhRXN0YWJOb21lfVwiLFxyXG4gICAgICBcIl9faW5mcmFFbXByZXNhSWRcIjogXCIke3RoaXMuaW5mcmFFbXByZXNhSWR9XCIsXHJcbiAgICAgIFwiX19pbmZyYUVtcHJlc2FOb21lXCI6IFwiJHt0aGlzLmluZnJhRW1wcmVzYU5vbWV9XCIsXHJcbiAgICAgIFwiX191c2VyXCI6IFwiJHt0aGlzLnVzZXJ9XCIsXHJcbiAgICAgIFwiX191c2VyTmFtZVwiOiBcIiR7dGhpcy51c2VyTmFtZX1cIixcclxuICAgICAgXCJfX2F1dGhUb2tlblwiOiBcIiR7dGhpcy5hdXRoVG9rZW59XCIsXHJcbiAgICAgIFwiX190b2tlblBheWxvYWRcIjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRva2VuUGF5bG9hZCl9LFxyXG4gICAgICBcIl9fZG9taW5pb1wiOiBcIiR7dGhpcy5kb21pbmlvfVwiLFxyXG4gICAgICBcIl9faXNFeHRlcm5hbExvZ2luXCI6ICR7dGhpcy5pc0V4dGVybmFsTG9naW59XHJcbiAgICB9XHJcbiAgICBgO1xyXG5cclxuICAgIHJldHVybiBqc29uO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaWNpYSBhIHZlcmlmaWNhw6fDo28gZG8gbG9naW4uICovXHJcbiAgcHVibGljIHN0YXJ0TG9naW5DaGVjaygpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuX19pc0NoZWNraW5nQXV0aCkge1xyXG4gICAgICB0aGlzLnJlQ2hlY2tMb2dpbigpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWNhIGEgY2FkYSBkaWZlcmVuw6dhIGRlIHRlbXBvIGVudHJlIGEgZGF0YSBhdHVhbCBlIGEgZGF0YSBkbyB0b2tlbi5cclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgcmVDaGVja0xvZ2luKCkge1xyXG5cclxuICAgIGlmICh0aGlzLl9fYXV0aFRva2VuID09PSB1bmRlZmluZWQgfHwgdGhpcy5fX2F1dGhUb2tlbiA9PT0gJycgfHwgdGhpcy5hdXRoVG9rZW4gPT09IG51bGwgfHwgdGhpcy5hdXRoVG9rZW4gPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuX19pc0NoZWNraW5nQXV0aCA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fX2lzQ2hlY2tpbmdBdXRoID0gdHJ1ZTtcclxuXHJcbiAgICBsZXQgaXNSZW5ld1Rva2VuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgbm93RGF0ZTogbnVtYmVyID0gTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMTAwMCk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9rZW5QYXlsb2FkLmV4cCA8PSBub3dEYXRlKSB7XHJcbiAgICAgIGlzUmVuZXdUb2tlbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxlZnRUaW1lOiBudW1iZXIgPSB0aGlzLnRva2VuUGF5bG9hZC5leHAgLSBub3dEYXRlXHJcblxyXG4gICAgaWYgKGxlZnRUaW1lIDw9IDApIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUT0RPOiBBbHRlcmFyIGFxdWkgcGFyYSBuw6NvIGRlc2xvZ2FyIGUgYXZpc2FyIG8gdXN1w6FyaW8gcGFyYSBsb2dhciBkZW5vdm8uXHJcbiAgICBpZiAoaXNSZW5ld1Rva2VuKSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5nZXROZXdUb2tlbigpO1xyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlICE9PSB1bmRlZmluZWQgJiYgcmVzcG9uc2UgIT09IG51bGwgJiYgcmVzcG9uc2UgIT0gJycpIHtcclxuICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHJlc3BvbnNlO1xyXG4gICAgICAgIG5vd0RhdGUgPSBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKTtcclxuICAgICAgICBsZWZ0VGltZSA9IHRoaXMudG9rZW5QYXlsb2FkLmV4cCAtIG5vd0RhdGU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlnbm9yZUNoZWNrTG9naW4pIHtcclxuICAgICAgdGhpcy5pZ25vcmVDaGVja0xvZ2luID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBNw6l0b2RvIGNvbSBjdXN0b21pemHDp8O1ZXMgcGFyYSBpbmljaWFsaXphw6fDtWVzIGRhIEF1dG9TdG9yYWdlXHJcbiAgICAgIHRoaXMuc3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KHRydWUpO1xyXG5cclxuICAgIHNldFRpbWVvdXQodGhpcy5yZUNoZWNrTG9naW4uYmluZCh0aGlzKSwgbGVmdFRpbWUgKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9faXNDaGVja2luZ0F1dGggPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuX19VcmxSZWRpcmVjdCA9IFwiL1wiO1xyXG5cclxuICAgIHRoaXMuX19pcCA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdGVuYW50SWQgPSAwO1xyXG4gICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVzdGFiSWQgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2luZnJhRXN0YWJOb21lID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVtcHJlc2FJZCA9IFwiXCI7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhTm9tZSA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlciA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2F1dGhUb2tlbiA9IFwiXCI7XHJcbiAgICB0aGlzLl9fZG9taW5pbyA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdG9rZW5QYXlsb2FkID0ge30gYXMgUGF5bG9hZDtcclxuICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSBmYWxzZTtcclxuXHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLl9fbG9jYWxfa2V5KTtcclxuXHJcbiAgICAvLyBNw6l0b2RvIGNvbSBjdXN0b21pemHDp8O1ZXMgcGFyYSBmaW5hbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLnN0b3JhZ2VMb2dvdXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmV3VG9rZW5CYWNrKCk6IE9ic2VydmFibGU8UmV0VG9rZW4+IHtcclxuICAgIGxldCB0b2tlbjogVG9rZW4gPSB7XHJcbiAgICAgIGRvbWFpbjogdGhpcy5fX2RvbWluaW8sXHJcbiAgICAgIHVzZXI6IHRoaXMuX191c2VyLFxyXG4gICAgICB0ZW5hbnRJZDogdGhpcy50ZW5hbnRJZCxcclxuICAgICAgdG9rZW46IHRoaXMuYXV0aFRva2VuLFxyXG4gICAgICBpbmZyYVVzdWFyaW9JZDogdGhpcy5fX2luZnJhVXN1YXJpb0lkLFxyXG4gICAgICB1c2VyTmFtZTogdGhpcy5fX3VzZXJOYW1lXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5fQkFTRV9VUkx9L0dldE5ld1Rva2VuYDtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKVxyXG4gICAgICAuc2V0KCdBdXRob3JpemF0aW9uJyxcclxuICAgICAgICBgQmFzaWMgJHtidG9hKGAke2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb25maWdTZXJ2ZXJVc2VyJyl9OiR7bG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbmZpZ1NlcnZlclBhc3N3b3JkJyl9YCl9YFxyXG4gICAgICApO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PFJldFRva2VuPih1cmwsIHRva2VuLCB7ICdoZWFkZXJzJzogaGVhZGVycyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UuRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IocmVzcG9uc2UuRXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXdUb2tlbigpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0TmV3VG9rZW5CYWNrKCkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiByZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLlRva2VuKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFJlbm92YSBvIFRva2VuIHF1YW5kbyBlc3RlIGVzdGl2ZXIgdmVuY2lkby5cclxuICAqL1xyXG4gIHB1YmxpYyBhc3luYyByZW5ld1Rva2VuKCkge1xyXG5cclxuICAgIGlmICghdGhpcy5pc0xvZ2dlZEluU3ViIHx8IHRoaXMuX19hdXRoVG9rZW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9fYXV0aFRva2VuID09PSAnJyB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gbnVsbCB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpc1JlbmV3VG9rZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBub3dEYXRlOiBudW1iZXIgPSBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgICBpZiAodGhpcy50b2tlblBheWxvYWQuZXhwIDw9IG5vd0RhdGUpIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGVmdFRpbWU6IG51bWJlciA9IHRoaXMudG9rZW5QYXlsb2FkLmV4cCAtIG5vd0RhdGVcclxuXHJcbiAgICBpZiAobGVmdFRpbWUgPD0gMCkge1xyXG4gICAgICBpc1JlbmV3VG9rZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc1JlbmV3VG9rZW4pIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldE5ld1Rva2VuKCk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJiByZXNwb25zZSAhPT0gbnVsbCAmJiByZXNwb25zZSAhPSAnJykge1xyXG4gICAgICAgIHRoaXMuYXV0aFRva2VuID0gcmVzcG9uc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1ByZVBvcnRhbCgpOiBib29sZWFuIHtcclxuXHJcbiAgICAvLyBJZGVudGlmaWNhIHNlIGEgb3JpZ2VtIMOpIFByZVBvcnRhbFxyXG4gICAgdmFyIHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgdmFyIGlzUHJlUG9ydGFsID0gdXJsLnNlYXJjaFBhcmFtcy5nZXQoXCJQcmVQb3J0YWxcIik7XHJcblxyXG4gICAgaWYgKGlzUHJlUG9ydGFsICE9IG51bGwpIHtcclxuXHJcbiAgICAgIGlmIChpc1ByZVBvcnRhbC50b1N0cmluZygpID09IFwidHJ1ZVwiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wcmllZGFkZXMgQ3VzdG9taXphZGFzIHBhcmEgbyBDb21wb25lbnRlIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzXHJcblxyXG4gIC8vICNyZWdpb24gTcOpdG9kb3MgQ3VzdG9taXphZGFzIHBhcmEgbyBDb21wb25lbnRlIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzXHJcblxyXG4gIC8vIE3DqXRvZG8gZXhlY3V0YWRvIG5vIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogY29uc3RydWN0b3IgKClcclxuICAvLyBVdGlsaXphZG8gcGFyYSBpbmljaWFsaXphw6fDtWVzIGRpdmVyc2FzXHJcbiAgcHVibGljIHN0b3JhZ2VDb25zdHJ1Y3RvcihjYWxsYmFjaz86ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICBjYWxsYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTcOpdG9kbyBleGVjdXRhZG8gbm8gYXV0aC1zdG9yYWdlLnNlcnZpY2UudHMgLSBtw6l0b2RvOiBzYXZlTG9jYWxJbnN0YW5jZSAoKVxyXG4gIC8vIFV0aWxpemFkbyBwYXJhIHNhbHZhciBpbmZvcm1hw6fDtWVzIG5vIGxvY2FsU3RvcmFnZVxyXG4gIHB1YmxpYyBzdG9yYWdlU2F2ZUxvY2FsSW5zdGFuY2UoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE3DqXRvZG8gZXhlY3V0YWRvIG5vIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogbG9nb3V0ICgpXHJcbiAgLy8gVXRpbGl6YWRvIHBhcmEgaW5pY2lhbGl6YXIgaW5mb3JtYcOnw7VlcyBubyBsb2NhbFN0b3JhZ2UgbmEgbG9nb3V0IGRhIGFwbGljYcOnw6NvXHJcbiAgcHVibGljIHN0b3JhZ2VMb2dvdXQoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE3DqXRvZG8gZXhlY3V0YWRvIG5vIGF1dGgtc3RvcmFnZS5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogcmVDaGVja0xvZ2luICgpXHJcbiAgLy8gVXRpbGl6YWRvIHBhcmEgaW5pY2lhbGl6YcOnw7VlcyBkaXZlcnNhcyBxdWFuZG8gbyBMb2dpbiBleGV1dGFkbyB2aWEgUHLDqSBQb3J0YWxcclxuICBwdWJsaWMgc3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZShjYWxsYmFjaz86ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICBjYWxsYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTcOpdG9kbyBleGVjdXRhZG8gcGFyYSBzYWx2YXIgYXMgcHJvcHJpZWRhZGVzIG5vIExvY2FsU3RvcmFnZSAobsOjbyBkZXZlIHNlciBtb2RpZmljYWRvKVxyXG4gIHByaXZhdGUgYXN5bmMgX19hdXRoU3RvcmFnZVNhdmVMb2NhbEluc3RhbmNlKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGlmICh0aGlzLl9faXNTYXZpbmcpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLl9faXNTYXZpbmcgPSB0cnVlXHJcblxyXG4gICAgdGhpcy5zdG9yYWdlU2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuXHJcbiAgICB0aGlzLl9fYXV0aFN0b3JhZ2VOb3RTYXZpbmcoKVxyXG4gIH1cclxuXHJcbiAgLy8gTcOpdG9kbyBleGVjdXRhZG8gcGFyYSBzYWx2YXIgYXMgcHJvcHJpZWRhZGVzIG5vIExvY2FsU3RvcmFnZSAobsOjbyBkZXZlIHNlciBtb2RpZmljYWRvKVxyXG4gIHByaXZhdGUgYXN5bmMgX19hdXRoU3RvcmFnZU5vdFNhdmluZygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX19pc1NhdmluZyA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG59XHJcbiJdfQ==
364
+ }], ctorParameters: () => [{ type: i1.HttpBackend }, { type: i2.LibCustomStorageService }] });
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL3N0b3JhZ2UvYXV0aC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFrQjdCLFlBQ1UsWUFBeUIsRUFDekIscUJBQThDO1FBRDlDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFqQnZDLGNBQVMsR0FBUSxtQ0FBbUMsQ0FBQztRQUVyRCxjQUFTLEdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUywwRUFBMEUsQ0FBQyxDQUFDLGFBQWE7UUFFOUgsZ0JBQVcsR0FBRyxjQUFjLENBQUM7UUFFOUMsMEVBQTBFO1FBQ2xFLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFcEMsZ0ZBQWdGO1FBQ3hFLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQXdDMUMsMEJBQTBCO1FBRW5CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0QsSUFBSTtRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFlMUIsVUFBVTtRQUNGLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFZL0IsZ0JBQWdCO1FBQ1IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBWXRDLG9CQUFvQjtRQUNaLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBWXBDLHNCQUFzQjtRQUNkLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQVl0QyxZQUFZO1FBQ0oscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBWXRDLGNBQWM7UUFDTix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFZeEMsTUFBTTtRQUNFLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFZNUIsVUFBVTtRQUNGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFtQmhDLFdBQVc7UUFDSCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQXNCakMsY0FBYztRQUNOLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFZL0IsMkJBQTJCO1FBQ25CLGtCQUFhLEdBQVcsR0FBRyxDQUFDO1FBVXBDLHNCQUFzQjtRQUNkLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQVkzQyw4Q0FBOEM7UUFDdEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBL04xQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhELDhHQUE4RztRQUU5RywwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFFL0MsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RSxJQUFJLHdCQUF3QixFQUFFLENBQUM7WUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUF1QixDQUFDO1lBRXBGLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7WUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1lBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztZQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7WUFFNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFFSCxDQUFDO0lBU0QsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBRUgsQ0FBQztJQUtELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxjQUFjLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFlBQVksQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsY0FBYyxDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUU5QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGdCQUFnQixDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMzQiwwRkFBMEY7WUFDMUYsZ0ZBQWdGO1lBQ2hGLE1BQU0sV0FBVyxHQUFXLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU5QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFLRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsZUFBZSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUvQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS0QsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsZ0JBQWdCLENBQUMsS0FBYztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCw2QkFBNkI7SUFFckIsS0FBSyxDQUFDLG1CQUFtQjtRQUUvQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUV0RCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFdEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsTUFBTSxJQUFJLEdBQUc7O2lCQUVBLElBQUksQ0FBQyxFQUFFO3NCQUNGLElBQUksQ0FBQyxRQUFROzZCQUNOLElBQUksQ0FBQyxjQUFjOzJCQUNyQixJQUFJLENBQUMsWUFBWTs2QkFDZixJQUFJLENBQUMsY0FBYzs2QkFDbkIsSUFBSSxDQUFDLGNBQWM7K0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0I7bUJBQ2pDLElBQUksQ0FBQyxJQUFJO3VCQUNMLElBQUksQ0FBQyxRQUFRO3dCQUNaLElBQUksQ0FBQyxTQUFTOzBCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztzQkFDckMsSUFBSSxDQUFDLE9BQU87NkJBQ0wsSUFBSSxDQUFDLGVBQWU7O0tBRTVDLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsZUFBZTtRQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFFSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUV2QixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxZQUFZLEdBQVksS0FBSyxDQUFDO1FBQ2xDLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFBO1FBRXRELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztRQUVELDZFQUE2RTtRQUM3RSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRTFDLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7Z0JBQzFCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVkLE9BQU87WUFDVCxDQUFDO1FBRUgsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLDhEQUE4RDtZQUM5RCxJQUFJLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUMsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLEtBQUssR0FBVTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDckIsY0FBYyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzFCLENBQUE7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLGNBQWMsQ0FBQztRQUU1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTthQUM5QixHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2FBQ3ZDLEdBQUcsQ0FBQyxlQUFlLEVBQ2xCLFNBQVMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDL0csQ0FBQztRQUVKLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsSUFBSSxDQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDbEQsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUVmLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUVILENBQUMsQ0FBQyxDQUNILENBQUM7SUFFTixDQUFDO0lBRU8sV0FBVztRQUVqQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQy9CLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDZixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixDQUFDO2dCQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRDs7TUFFRTtJQUNLLEtBQUssQ0FBQyxVQUFVO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekksT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLFlBQVksR0FBWSxLQUFLLENBQUM7UUFDbEMsSUFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUE7UUFFdEQsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUUxQyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzVCLENBQUM7UUFFSCxDQUFDO0lBRUgsQ0FBQztJQUVPLFdBQVc7UUFFakIscUNBQXFDO1FBQ3JDLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEQsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7WUFFeEIsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztRQUVILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBRUgsQ0FBQzsrR0ExZVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGZixNQUFNOzs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQ1QsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEJhY2tlbmQsIEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBheWxvYWQgfSBmcm9tICcuLy4uL21vZGVscy9wYXlsb2FkJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJ25neC1zcC1pbmZyYSc7XHJcbmltcG9ydCB7IFJldFRva2VuIH0gZnJvbSAnLi4vbW9kZWxzL3JldC10b2tlbic7XHJcbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vbW9kZWxzL3Rva2VuJztcclxuaW1wb3J0IHsgTGliQ3VzdG9tU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20vY3VzdG9tLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICB7IHByb3ZpZGVkSW46ICdyb290JyB9XHJcbilcclxuZXhwb3J0IGNsYXNzIEF1dGhTdG9yYWdlU2VydmljZSB7XHJcblxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9IT1NUTkFNRTogYW55ID0gXCJodHRwczovL3Npc2NhbmRlc3Y2LnNpc3Byby5jb20uYnJcIjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfQkFTRV9VUkw6IHN0cmluZyA9IGAke3RoaXMuX0hPU1ROQU1FfS9TaXNwcm9FcnBDbG91ZC9TZXJ2aWNlX1ByaXZhdGUvSW5mcmEvU3BJbmZyYTJMb2dpbldTL2FwaS9Mb2dpblNpc3Byb0VSUGA7IC8vIFNwSW5mcmEyV1NcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfX2xvY2FsX2tleSA9ICd1c2VyX2F1dGhfdjYnO1xyXG5cclxuICAvLyBpbmRpY2Egc2Ugb2JqZXRvIGrDoSBlc3TDoSBtYXJjYWRvIHBhcmEgc2FsdmFyIG9zIGRhZG9zIG5vIGxvY2FsIHN0b3JhZ2UuXHJcbiAgcHJpdmF0ZSBfX2lzU2F2aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTZSBhaW5kYSBlc3RhbW9zIGNvbSB1bWEgZnVuw6fDo28gcm9kYW5kbyBwYXJhIHZlcmlmaWNhciBvIGxvZ2luIGRvIHVzdcOhcmlvICovXHJcbiAgcHJpdmF0ZSBfX2lzQ2hlY2tpbmdBdXRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qIFZhcmnDoXZlbCBwYXJhIGNvbnRvcm5hciBvIGVycm8gPj4+IE5HMDIwMDogQ2lyY3VsYXIgZGVwZW5kZW5jeVwiICovXHJcbiAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwQmFja2VuZDogSHR0cEJhY2tlbmQsXHJcbiAgICBwcml2YXRlIF9jdXN0b21TdG9yYWdlU2VydmljZTogTGliQ3VzdG9tU3RvcmFnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX2h0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChfaHR0cEJhY2tlbmQpO1xyXG5cclxuICAgIC8vdGhpcy5fQkFTRV9VUkwgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbiA/IHRoaXMuX0JBU0VfVVJMIDogYCR7ZW52aXJvbm1lbnQuU3BJbmZyYTJMb2dpbldTfS9Mb2dpblNpc3Byb0VSUGA7XHJcblxyXG4gICAgLy8gTcOpdG9kbyBjb20gY3VzdG9taXphw6fDtWVzIHBhcmEgaW5pY2lhbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLl9jdXN0b21TdG9yYWdlU2VydmljZS5zdG9yYWdlQ29uc3RydWN0b3IoKVxyXG5cclxuICAgIGNvbnN0IGV4cGVjdGVkTG9jYWxBdXRoU3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuX19sb2NhbF9rZXkpO1xyXG5cclxuICAgIGlmIChleHBlY3RlZExvY2FsQXV0aFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgbG9jYWxBdXRoU3RvcmFnZSA9IEpTT04ucGFyc2UoZXhwZWN0ZWRMb2NhbEF1dGhTdG9yYWdlKSBhcyBBdXRoU3RvcmFnZVNlcnZpY2U7XHJcblxyXG4gICAgICB0aGlzLl9faXAgPSBsb2NhbEF1dGhTdG9yYWdlLl9faXA7XHJcbiAgICAgIHRoaXMuX190ZW5hbnRJZCA9IGxvY2FsQXV0aFN0b3JhZ2UuX190ZW5hbnRJZDtcclxuICAgICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhVXN1YXJpb0lkO1xyXG4gICAgICB0aGlzLl9faW5mcmFFc3RhYklkID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRXN0YWJJZDtcclxuICAgICAgdGhpcy5fX2luZnJhRXN0YWJOb21lID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRXN0YWJOb21lO1xyXG4gICAgICB0aGlzLl9faW5mcmFFbXByZXNhSWQgPSBsb2NhbEF1dGhTdG9yYWdlLl9faW5mcmFFbXByZXNhSWQ7XHJcbiAgICAgIHRoaXMuX19pbmZyYUVtcHJlc2FOb21lID0gbG9jYWxBdXRoU3RvcmFnZS5fX2luZnJhRW1wcmVzYU5vbWU7XHJcbiAgICAgIHRoaXMuX191c2VyID0gbG9jYWxBdXRoU3RvcmFnZS5fX3VzZXI7XHJcbiAgICAgIHRoaXMuX191c2VyTmFtZSA9IGxvY2FsQXV0aFN0b3JhZ2UuX191c2VyTmFtZTtcclxuICAgICAgdGhpcy5fX3Rva2VuUGF5bG9hZCA9IGxvY2FsQXV0aFN0b3JhZ2UuX190b2tlblBheWxvYWQ7XHJcbiAgICAgIHRoaXMuX19hdXRoVG9rZW4gPSBsb2NhbEF1dGhTdG9yYWdlLl9fYXV0aFRva2VuO1xyXG4gICAgICB0aGlzLl9fZG9taW5pbyA9IGxvY2FsQXV0aFN0b3JhZ2UuX19kb21pbmlvO1xyXG4gICAgICB0aGlzLl9faXNFeHRlcm5hbExvZ2luID0gbG9jYWxBdXRoU3RvcmFnZS5fX2lzRXh0ZXJuYWxMb2dpbjtcclxuXHJcbiAgICAgIHRoaXMuc3RhcnRMb2dpbkNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gI3JlZ2lvbiBHRVRURVJTL1NFVFRFUlNcclxuXHJcbiAgcHVibGljIGlzTG9nZ2VkSW5TdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLy9pcFxyXG4gIHByaXZhdGUgX19pcDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBpcCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pcDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaXAodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2lwID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNMb2dnZWRJblN1Yi52YWx1ZSkge1xyXG4gICAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvL3RlbmFudElkXHJcbiAgcHJpdmF0ZSBfX3RlbmFudElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgZ2V0IHRlbmFudElkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3RlbmFudElkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB0ZW5hbnRJZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9fdGVuYW50SWQgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vaW5mcmFVc3VhcmlvSWRcclxuICBwcml2YXRlIF9faW5mcmFVc3VhcmlvSWQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5mcmFVc3VhcmlvSWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9faW5mcmFVc3VhcmlvSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGluZnJhVXN1YXJpb0lkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19pbmZyYVVzdWFyaW9JZCA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gRXN0YWJlbGVjaW1lbnRvSURcclxuICBwcml2YXRlIF9faW5mcmFFc3RhYklkOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRXN0YWJJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYUVzdGFiSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGluZnJhRXN0YWJJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFc3RhYklkID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBOb21lRXN0YWJlbGVjaW1lbnRvXHJcbiAgcHJpdmF0ZSBfX2luZnJhRXN0YWJOb21lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRXN0YWJOb21lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2luZnJhRXN0YWJOb21lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbmZyYUVzdGFiTm9tZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFc3RhYk5vbWUgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vIEVtcHJlc2FJRFxyXG4gIHByaXZhdGUgX19pbmZyYUVtcHJlc2FJZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGdldCBpbmZyYUVtcHJlc2FJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19pbmZyYUVtcHJlc2FJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFFbXByZXNhSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX2luZnJhRW1wcmVzYUlkID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBOb21lRW1wcmVzYVxyXG4gIHByaXZhdGUgX19pbmZyYUVtcHJlc2FOb21lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluZnJhRW1wcmVzYU5vbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9faW5mcmFFbXByZXNhTm9tZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaW5mcmFFbXByZXNhTm9tZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhTm9tZSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy91c2VyXHJcbiAgcHJpdmF0ZSBfX3VzZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX191c2VyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB1c2VyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX191c2VyID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5fX3NhdmVMb2NhbEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICAvL3VzZXJuYW1lXHJcbiAgcHJpdmF0ZSBfX3VzZXJOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IHVzZXJOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX3VzZXJOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB1c2VyTmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9fdXNlck5hbWUgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vdG9rZW5QYXlsb2FkXHJcbiAgcHJpdmF0ZSBfX3Rva2VuUGF5bG9hZCE6IFBheWxvYWQ7XHJcblxyXG4gIHB1YmxpYyBnZXQgdG9rZW5QYXlsb2FkKCk6IFBheWxvYWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX190b2tlblBheWxvYWQ7XHJcbiAgfVxyXG5cclxuICAvL2F1dGhUb2tlblxyXG4gIHByaXZhdGUgX19hdXRoVG9rZW46IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBnZXQgYXV0aFRva2VuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fX2F1dGhUb2tlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYXV0aFRva2VuKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX19hdXRoVG9rZW4gPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5fX2F1dGhUb2tlbiAhPSAnJykge1xyXG4gICAgICAvLyBVdGlsaXphLXNlIGEgZnVuw6fDo28gZG9zIFV0aWxzIHBhcmEgcGVnYXIgbyBzZWd1bmRvIHZhbG9yIGRvIFRva2VuLCBzZXBhcmFkb3MgcG9yIHVtICcuJ1xyXG4gICAgICAvLyBlIGRlZmluZSBvIF9fdG9rZW5QYXlsb2FkIGNvbW8gbyBvYmpldG8gcmVzdWx0YW50ZSBkbyBKU09OLnBhcnNlKHBheWxvYWRKc29uKVxyXG4gICAgICBjb25zdCBwYXlsb2FkSnNvbjogc3RyaW5nID0gVXRpbHMuYjY0RGVjb2RlVW5pY29kZSh0aGlzLl9fYXV0aFRva2VuLnNwbGl0KCcuJylbMV0pO1xyXG5cclxuICAgICAgdGhpcy5fX3Rva2VuUGF5bG9hZCA9IEpTT04ucGFyc2UocGF5bG9hZEpzb24pO1xyXG5cclxuICAgICAgdGhpcy5zdGFydExvZ2luQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiBEb23DrW5pbyAqL1xyXG4gIHByaXZhdGUgX19kb21pbmlvOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgZ2V0IGRvbWluaW8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9fZG9taW5pbztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgZG9taW5pbyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9fZG9taW5pbyA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuX19zYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgLy91cmwgcGFyYSByZWRpcmVjaW9uYW1lbnRvXHJcbiAgcHJpdmF0ZSBfX1VybFJlZGlyZWN0OiBzdHJpbmcgPSBcIi9cIjtcclxuXHJcbiAgcHVibGljIGdldCB1cmxSZWRpcmVjdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX19VcmxSZWRpcmVjdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdXJsUmVkaXJlY3QodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fX1VybFJlZGlyZWN0ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvL2luZGljYSBMb2dpbiBFeHRlcm5vXHJcbiAgcHJpdmF0ZSBfX2lzRXh0ZXJuYWxMb2dpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0IGlzRXh0ZXJuYWxMb2dpbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9faXNFeHRlcm5hbExvZ2luO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpc0V4dGVybmFsTG9naW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZSDDqSBwYXJhIGlnbm9yYXIgbyBtw6l0b2RvIHJlQ2hlY2tMb2dpbiAqL1xyXG4gIHByaXZhdGUgX19pZ25vcmVDaGVja0xvZ2luOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgaWdub3JlQ2hlY2tMb2dpbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9faWdub3JlQ2hlY2tMb2dpbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgaWdub3JlQ2hlY2tMb2dpbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fX2lnbm9yZUNoZWNrTG9naW4gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9fc2F2ZUxvY2FsSW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gR0VUVEVSUy9TRVRURVJTXHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX19zYXZlTG9jYWxJbnN0YW5jZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBpZiAodGhpcy5fX2lzU2F2aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9faXNTYXZpbmcgPSB0cnVlO1xyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuX19sb2NhbF9rZXksIHRoaXMudG9Kc29uKCkpO1xyXG5cclxuICAgIC8vIE3DqXRvZG8gY29tIGN1c3RvbWl6YcOnw7VlcyBwYXJhIHNhbHZhciBpbmZvcm1hw6fDtWVzIG5hIHN0b3JhZ2VcclxuICAgIHRoaXMuX2N1c3RvbVN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VTYXZlTG9jYWxJbnN0YW5jZSgpO1xyXG5cclxuICAgIHRoaXMuX19ub3RTYXZpbmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX19ub3RTYXZpbmcoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9faXNTYXZpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhIGEgaW5zdMOibmNpYSBjb21vIEpTT04gc2VndXJvLCBpZ25vcmFuZG8gb2JqZXRvcyBxdWUgbsOjbyBwb2RlbSBzZSB0b3JuYXIgdW0gSlNPTi5cclxuICAgKi9cclxuICBwdWJsaWMgdG9Kc29uKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBqc29uID0gYFxyXG4gICAge1xyXG4gICAgICBcIl9faXBcIjogXCIke3RoaXMuaXB9XCIsXHJcbiAgICAgIFwiX190ZW5hbnRJZFwiOiAke3RoaXMudGVuYW50SWR9LFxyXG4gICAgICBcIl9faW5mcmFVc3VhcmlvSWRcIjogXCIke3RoaXMuaW5mcmFVc3VhcmlvSWR9XCIsXHJcbiAgICAgIFwiX19pbmZyYUVzdGFiSWRcIjogXCIke3RoaXMuaW5mcmFFc3RhYklkfVwiLFxyXG4gICAgICBcIl9faW5mcmFFc3RhYk5vbWVcIjogXCIke3RoaXMuaW5mcmFFc3RhYk5vbWV9XCIsXHJcbiAgICAgIFwiX19pbmZyYUVtcHJlc2FJZFwiOiBcIiR7dGhpcy5pbmZyYUVtcHJlc2FJZH1cIixcclxuICAgICAgXCJfX2luZnJhRW1wcmVzYU5vbWVcIjogXCIke3RoaXMuaW5mcmFFbXByZXNhTm9tZX1cIixcclxuICAgICAgXCJfX3VzZXJcIjogXCIke3RoaXMudXNlcn1cIixcclxuICAgICAgXCJfX3VzZXJOYW1lXCI6IFwiJHt0aGlzLnVzZXJOYW1lfVwiLFxyXG4gICAgICBcIl9fYXV0aFRva2VuXCI6IFwiJHt0aGlzLmF1dGhUb2tlbn1cIixcclxuICAgICAgXCJfX3Rva2VuUGF5bG9hZFwiOiAke0pTT04uc3RyaW5naWZ5KHRoaXMudG9rZW5QYXlsb2FkKX0sXHJcbiAgICAgIFwiX19kb21pbmlvXCI6IFwiJHt0aGlzLmRvbWluaW99XCIsXHJcbiAgICAgIFwiX19pc0V4dGVybmFsTG9naW5cIjogJHt0aGlzLmlzRXh0ZXJuYWxMb2dpbn1cclxuICAgIH1cclxuICAgIGA7XHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICAvKiogSW5pY2lhIGEgdmVyaWZpY2HDp8OjbyBkbyBsb2dpbi4gKi9cclxuICBwdWJsaWMgc3RhcnRMb2dpbkNoZWNrKCkge1xyXG5cclxuICAgIGlmICghdGhpcy5fX2lzQ2hlY2tpbmdBdXRoKSB7XHJcbiAgICAgIHRoaXMucmVDaGVja0xvZ2luKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWZpY2EgYSBjYWRhIGRpZmVyZW7Dp2EgZGUgdGVtcG8gZW50cmUgYSBkYXRhIGF0dWFsIGUgYSBkYXRhIGRvIHRva2VuLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyByZUNoZWNrTG9naW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuX19hdXRoVG9rZW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9fYXV0aFRva2VuID09PSAnJyB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gbnVsbCB8fCB0aGlzLmF1dGhUb2tlbiA9PT0gJycpIHtcclxuICAgICAgdGhpcy5fX2lzQ2hlY2tpbmdBdXRoID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9faXNDaGVja2luZ0F1dGggPSB0cnVlO1xyXG5cclxuICAgIGxldCBpc1JlbmV3VG9rZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBub3dEYXRlOiBudW1iZXIgPSBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgICBpZiAodGhpcy50b2tlblBheWxvYWQuZXhwIDw9IG5vd0RhdGUpIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGVmdFRpbWU6IG51bWJlciA9IHRoaXMudG9rZW5QYXlsb2FkLmV4cCAtIG5vd0RhdGVcclxuXHJcbiAgICBpZiAobGVmdFRpbWUgPD0gMCkge1xyXG4gICAgICBpc1JlbmV3VG9rZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE86IEFsdGVyYXIgYXF1aSBwYXJhIG7Do28gZGVzbG9nYXIgZSBhdmlzYXIgbyB1c3XDoXJpbyBwYXJhIGxvZ2FyIGRlbm92by5cclxuICAgIGlmIChpc1JlbmV3VG9rZW4pIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldE5ld1Rva2VuKCk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJiByZXNwb25zZSAhPT0gbnVsbCAmJiByZXNwb25zZSAhPSAnJykge1xyXG4gICAgICAgIHRoaXMuYXV0aFRva2VuID0gcmVzcG9uc2U7XHJcbiAgICAgICAgbm93RGF0ZSA9IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gICAgICAgIGxlZnRUaW1lID0gdGhpcy50b2tlblBheWxvYWQuZXhwIC0gbm93RGF0ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaWdub3JlQ2hlY2tMb2dpbikge1xyXG4gICAgICB0aGlzLmlnbm9yZUNoZWNrTG9naW4gPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE3DqXRvZG8gY29tIGN1c3RvbWl6YcOnw7VlcyBwYXJhIGluaWNpYWxpemHDp8O1ZXMgZGEgQXV0b1N0b3JhZ2VcclxuICAgICAgdGhpcy5fY3VzdG9tU3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUluaXRpYWxpemVBdXRvU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KHRydWUpO1xyXG5cclxuICAgIHNldFRpbWVvdXQodGhpcy5yZUNoZWNrTG9naW4uYmluZCh0aGlzKSwgbGVmdFRpbWUgKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9faXNDaGVja2luZ0F1dGggPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2dnZWRJblN1Yi5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuX19VcmxSZWRpcmVjdCA9IFwiL1wiO1xyXG5cclxuICAgIHRoaXMuX19pcCA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdGVuYW50SWQgPSAwO1xyXG4gICAgdGhpcy5fX2luZnJhVXN1YXJpb0lkID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVzdGFiSWQgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2luZnJhRXN0YWJOb21lID0gXCJcIjtcclxuICAgIHRoaXMuX19pbmZyYUVtcHJlc2FJZCA9IFwiXCI7XHJcbiAgICB0aGlzLl9faW5mcmFFbXByZXNhTm9tZSA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlciA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5fX2F1dGhUb2tlbiA9IFwiXCI7XHJcbiAgICB0aGlzLl9fZG9taW5pbyA9IFwiXCI7XHJcbiAgICB0aGlzLl9fdG9rZW5QYXlsb2FkID0ge30gYXMgUGF5bG9hZDtcclxuICAgIHRoaXMuX19pc0V4dGVybmFsTG9naW4gPSBmYWxzZTtcclxuXHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLl9fbG9jYWxfa2V5KTtcclxuXHJcbiAgICAvLyBNw6l0b2RvIGNvbSBjdXN0b21pemHDp8O1ZXMgcGFyYSBmaW5hbGl6YcOnw7VlcyBkYSBzdG9yYWdlXHJcbiAgICB0aGlzLl9jdXN0b21TdG9yYWdlU2VydmljZS5zdG9yYWdlTG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5ld1Rva2VuQmFjaygpOiBPYnNlcnZhYmxlPFJldFRva2VuPiB7XHJcbiAgICBsZXQgdG9rZW46IFRva2VuID0ge1xyXG4gICAgICBkb21haW46IHRoaXMuX19kb21pbmlvLFxyXG4gICAgICB1c2VyOiB0aGlzLl9fdXNlcixcclxuICAgICAgdGVuYW50SWQ6IHRoaXMudGVuYW50SWQsXHJcbiAgICAgIHRva2VuOiB0aGlzLmF1dGhUb2tlbixcclxuICAgICAgaW5mcmFVc3VhcmlvSWQ6IHRoaXMuX19pbmZyYVVzdWFyaW9JZCxcclxuICAgICAgdXNlck5hbWU6IHRoaXMuX191c2VyTmFtZVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuX0JBU0VfVVJMfS9HZXROZXdUb2tlbmA7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJylcclxuICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsXHJcbiAgICAgICAgYEJhc2ljICR7YnRvYShgJHtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29uZmlnU2VydmVyVXNlcicpfToke2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb25maWdTZXJ2ZXJQYXNzd29yZCcpfWApfWBcclxuICAgICAgKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAucG9zdDxSZXRUb2tlbj4odXJsLCB0b2tlbiwgeyAnaGVhZGVycyc6IGhlYWRlcnMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmV3VG9rZW4oKTogUHJvbWlzZTxhbnk+IHtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmdldE5ld1Rva2VuQmFjaygpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5Ub2tlbik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBSZW5vdmEgbyBUb2tlbiBxdWFuZG8gZXN0ZSBlc3RpdmVyIHZlbmNpZG8uXHJcbiAgKi9cclxuICBwdWJsaWMgYXN5bmMgcmVuZXdUb2tlbigpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNMb2dnZWRJblN1YiB8fCB0aGlzLl9fYXV0aFRva2VuID09PSB1bmRlZmluZWQgfHwgdGhpcy5fX2F1dGhUb2tlbiA9PT0gJycgfHwgdGhpcy5hdXRoVG9rZW4gPT09IG51bGwgfHwgdGhpcy5hdXRoVG9rZW4gPT09ICcnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaXNSZW5ld1Rva2VuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgbm93RGF0ZTogbnVtYmVyID0gTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMTAwMCk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9rZW5QYXlsb2FkLmV4cCA8PSBub3dEYXRlKSB7XHJcbiAgICAgIGlzUmVuZXdUb2tlbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxlZnRUaW1lOiBudW1iZXIgPSB0aGlzLnRva2VuUGF5bG9hZC5leHAgLSBub3dEYXRlXHJcblxyXG4gICAgaWYgKGxlZnRUaW1lIDw9IDApIHtcclxuICAgICAgaXNSZW5ld1Rva2VuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNSZW5ld1Rva2VuKSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5nZXROZXdUb2tlbigpO1xyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlICE9PSB1bmRlZmluZWQgJiYgcmVzcG9uc2UgIT09IG51bGwgJiYgcmVzcG9uc2UgIT0gJycpIHtcclxuICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHJlc3BvbnNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNQcmVQb3J0YWwoKTogYm9vbGVhbiB7XHJcblxyXG4gICAgLy8gSWRlbnRpZmljYSBzZSBhIG9yaWdlbSDDqSBQcmVQb3J0YWxcclxuICAgIHZhciB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcclxuICAgIHZhciBpc1ByZVBvcnRhbCA9IHVybC5zZWFyY2hQYXJhbXMuZ2V0KFwiUHJlUG9ydGFsXCIpO1xyXG5cclxuICAgIGlmIChpc1ByZVBvcnRhbCAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAoaXNQcmVQb3J0YWwudG9TdHJpbmcoKSA9PSBcInRydWVcIikge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxTIDw9PT09PT09PT09XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcHJpZWRhZGVzIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLXN0b3JhZ2Uuc2VydmljZS50c1xyXG5cclxuICAvLyAjcmVnaW9uIE3DqXRvZG9zIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLXN0b3JhZ2Uuc2VydmljZS50c1xyXG5cclxuICAvLyBNw6l0b2RvIGV4ZWN1dGFkbyBubyBhdXRoLXN0b3JhZ2Uuc2VydmljZS50cyAtIG3DqXRvZG86IGNvbnN0cnVjdG9yICgpXHJcblxyXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIl19
@@ -5,6 +5,7 @@ export * from './lib/components/menu-lateral/menu-services.service';
5
5
  export * from './lib/components/menu-lateral/menu/list-estab.service';
6
6
  export * from './lib/custom/custom-login.service';
7
7
  export * from './lib/custom/custom-menu.service';
8
+ export * from './lib/custom/custom-storage.service';
8
9
  export * from './lib/custom/menu-config.service';
9
10
  export * from './lib/environments/environments.service';
10
11
  export * from './lib/server/server.service';
@@ -27,6 +28,7 @@ export * from './lib/custom/models/icustom-menu-service';
27
28
  export * from './lib/custom/models/imenu-config';
28
29
  export * from './lib/environments/models/ienvironments';
29
30
  export * from './lib/models/custom-propriedades-login';
31
+ export * from './lib/custom/models/icustom-storage-service';
30
32
  /** Guards */
31
33
  export * from './lib/guards/auth-guard';
32
34
  export * from './lib/guards/external-login-guard';
@@ -34,4 +36,4 @@ export * from './lib/guards/login-guard';
34
36
  /** Interceptors */
35
37
  export * from './lib/interceptors/auth-aplic.interceptor';
36
38
  export * from './lib/interceptors/auth-infra.interceptor';
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsZUFBZTtBQUNmLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBR25ELGlCQUFpQjtBQUNqQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyx3RkFBd0YsQ0FBQztBQUN2RyxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNEdBQTRHLENBQUM7QUFDM0gsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsaURBQWlELENBQUM7QUFFaEUsYUFBYTtBQUNiLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUd2RCxhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsbUJBQW1CO0FBQ25CLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgubW9kdWxlJztcclxuXHJcbi8qKiBTZXJ2aWNlcyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tZW51LXNlcnZpY2VzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tZW51L2xpc3QtZXN0YWIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9jdXN0b20tbG9naW4uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9jdXN0b20tbWVudS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tL21lbnUtY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2ZXIvc2VydmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcblxyXG4vKiogQ29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL2Ryb3Bkb3duL3ByaW1hcnktZHJvcGRvd24vcHJpbWFyeS1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9kcm9wZG93bi9zZWNvbmRhcnktZHJvcGRvd24vc2Vjb25kYXJ5LWRyb3Bkb3duLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvbWVudS1sYXRlcmFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsL3NlbGVjYW8tZXN0YWJlbGVjaW1lbnRvcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9zdWJtZW51cy9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL25vdGlmLXN1Ym1lbnUvbm90aWYtc3VibWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25vdmEtc2VuaGEvbm92YS1zZW5oYWNvbXBvbmVudCc7XHJcblxyXG4vKiogTW9kZWxzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbW9kZWwvaW1lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9pbmZyYXVzdWFyaW9pbWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ljdXN0b20tbG9naW4tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9tb2RlbHMvaWN1c3RvbS1tZW51LXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ltZW51LWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vudmlyb25tZW50cy9tb2RlbHMvaWVudmlyb25tZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jdXN0b20tcHJvcHJpZWRhZGVzLWxvZ2luJztcclxuXHJcblxyXG4vKiogR3VhcmRzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9hdXRoLWd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL2V4dGVybmFsLWxvZ2luLWd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzL2xvZ2luLWd1YXJkJztcclxuXHJcbi8qKiBJbnRlcmNlcHRvcnMgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2F1dGgtYXBsaWMuaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXV0aC1pbmZyYS5pbnRlcmNlcHRvcic7XHJcblxyXG5cclxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsZUFBZTtBQUNmLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFHbkQsaUJBQWlCO0FBQ2pCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyw0R0FBNEcsQ0FBQztBQUMzSCxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxhQUFhO0FBQ2IsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFHNUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLG1CQUFtQjtBQUNuQixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLm1vZHVsZSc7XHJcblxyXG4vKiogU2VydmljZXMgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS1zZXJ2aWNlcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbWVudS9saXN0LWVzdGFiLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vY3VzdG9tLWxvZ2luLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vY3VzdG9tLW1lbnUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9jdXN0b20tc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tL21lbnUtY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2ZXIvc2VydmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcblxyXG4vKiogQ29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL2Ryb3Bkb3duL3ByaW1hcnktZHJvcGRvd24vcHJpbWFyeS1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9kcm9wZG93bi9zZWNvbmRhcnktZHJvcGRvd24vc2Vjb25kYXJ5LWRyb3Bkb3duLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvbWVudS1sYXRlcmFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21lbnUvc2VsZWNhby1lc3RhYmVsZWNpbWVudG9zLW1vZGFsL3NlbGVjYW8tZXN0YWJlbGVjaW1lbnRvcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9zdWJtZW51cy9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL25vdGlmLXN1Ym1lbnUvbm90aWYtc3VibWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25vdmEtc2VuaGEvbm92YS1zZW5oYWNvbXBvbmVudCc7XHJcblxyXG4vKiogTW9kZWxzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL21vZGVsL2ltZW51LWl0ZW0tc3RydWN0dXJlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvbW9kZWwvaW1lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUtbGF0ZXJhbC9tb2RlbC9pbmZyYXVzdWFyaW9pbWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ljdXN0b20tbG9naW4tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS9tb2RlbHMvaWN1c3RvbS1tZW51LXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20vbW9kZWxzL2ltZW51LWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vudmlyb25tZW50cy9tb2RlbHMvaWVudmlyb25tZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jdXN0b20tcHJvcHJpZWRhZGVzLWxvZ2luJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3VzdG9tL21vZGVscy9pY3VzdG9tLXN0b3JhZ2Utc2VydmljZSc7XHJcblxyXG5cclxuLyoqIEd1YXJkcyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC1ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9leHRlcm5hbC1sb2dpbi1ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcy9sb2dpbi1ndWFyZCc7XHJcblxyXG4vKiogSW50ZXJjZXB0b3JzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9hdXRoLWFwbGljLmludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2F1dGgtaW5mcmEuaW50ZXJjZXB0b3InO1xyXG5cclxuXHJcbiJdfQ==