brainloper-ui 14.0.15 → 14.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/package.json +5 -1
  2. package/esm2020/brainloper-ui.mjs +0 -5
  3. package/esm2020/public_api.mjs +0 -52
  4. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +0 -305
  5. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -29
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
  7. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
  8. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -31
  9. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -176
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -691
  11. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -118
  12. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -185
  13. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +0 -2
  14. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +0 -2
  15. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +0 -2
  16. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -222
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +0 -80
  18. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -81
  19. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +0 -108
  20. package/esm2020/src/app/modules/data/rolesAndPermissions.mjs +0 -491
  21. package/esm2020/src/app/modules/interfaces/buttons/button-icon.mjs +0 -2
  22. package/esm2020/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +0 -2
  23. package/esm2020/src/app/modules/interfaces/combos/combos-configuration.mjs +0 -2
  24. package/esm2020/src/app/modules/interfaces/common/Permissions.mjs +0 -8
  25. package/esm2020/src/app/modules/interfaces/data-table/params.mjs +0 -2
  26. package/esm2020/src/app/modules/interfaces/data-table/rules.mjs +0 -2
  27. package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +0 -2
  28. package/esm2020/src/app/modules/interfaces/data-table/table-configuration.mjs +0 -2
  29. package/esm2020/src/app/modules/interfaces/enum/enumActions.mjs +0 -7
  30. package/esm2020/src/app/modules/interfaces/enum/enumRules.mjs +0 -8
  31. package/esm2020/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +0 -2
  32. package/esm2020/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +0 -2
  33. package/esm2020/src/app/modules/interfaces/filters/header-filters.mjs +0 -2
  34. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -8
  35. package/esm2020/src/app/modules/interfaces/report/template-pdf-ot.mjs +0 -2
  36. package/esm2020/src/app/modules/interfaces/report/template-pfd-fo.mjs +0 -2
  37. package/esm2020/src/app/modules/services/crypto.service.mjs +0 -37
  38. package/esm2020/src/app/modules/services/export-data.service.mjs +0 -78055
  39. package/esm2020/src/app/modules/services/file-forms.service.mjs +0 -24
  40. package/esm2020/src/app/modules/services/functions.service.mjs +0 -54
  41. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +0 -58
  42. package/esm2020/src/app/modules/services/http.service.mjs +0 -154
  43. package/esm2020/src/app/modules/services/loading/loading.component.mjs +0 -28
  44. package/esm2020/src/app/modules/services/local-storage.service.mjs +0 -115
  45. package/esm2020/src/app/modules/services/message.service.mjs +0 -200
  46. package/esm2020/src/app/modules/services/screen-size-util.mjs +0 -6
  47. package/esm2020/src/app/modules/services/session.service.mjs +0 -42
  48. package/fesm2015/brainloper-ui.mjs +0 -81324
  49. package/fesm2015/brainloper-ui.mjs.map +0 -1
  50. package/fesm2020/brainloper-ui.mjs +0 -81285
  51. package/fesm2020/brainloper-ui.mjs.map +0 -1
  52. package/index.d.ts +0 -5
  53. package/public_api.d.ts +0 -51
  54. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +0 -73
  55. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +0 -13
  56. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +0 -10
  57. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +0 -24
  58. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +0 -12
  59. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +0 -46
  60. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +0 -121
  61. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +0 -21
  62. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +0 -42
  63. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +0 -2
  64. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +0 -2
  65. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +0 -2
  66. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +0 -30
  67. package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +0 -35
  68. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +0 -36
  69. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +0 -26
  70. package/src/app/modules/data/rolesAndPermissions.d.ts +0 -2
  71. package/src/app/modules/interfaces/buttons/button-icon.d.ts +0 -9
  72. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +0 -6
  73. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +0 -13
  74. package/src/app/modules/interfaces/common/Permissions.d.ts +0 -40
  75. package/src/app/modules/interfaces/data-table/params.d.ts +0 -7
  76. package/src/app/modules/interfaces/data-table/rules.d.ts +0 -8
  77. package/src/app/modules/interfaces/data-table/table-columns.d.ts +0 -25
  78. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +0 -25
  79. package/src/app/modules/interfaces/enum/enumActions.d.ts +0 -5
  80. package/src/app/modules/interfaces/enum/enumRules.d.ts +0 -6
  81. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +0 -4
  82. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +0 -13
  83. package/src/app/modules/interfaces/filters/header-filters.d.ts +0 -13
  84. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +0 -10
  85. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +0 -19
  86. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +0 -20
  87. package/src/app/modules/services/crypto.service.d.ts +0 -10
  88. package/src/app/modules/services/export-data.service.d.ts +0 -18
  89. package/src/app/modules/services/file-forms.service.d.ts +0 -7
  90. package/src/app/modules/services/functions.service.d.ts +0 -13
  91. package/src/app/modules/services/generate-pdf.service.d.ts +0 -12
  92. package/src/app/modules/services/http.service.d.ts +0 -21
  93. package/src/app/modules/services/loading/loading.component.d.ts +0 -15
  94. package/src/app/modules/services/local-storage.service.d.ts +0 -49
  95. package/src/app/modules/services/message.service.d.ts +0 -23
  96. package/src/app/modules/services/screen-size-util.d.ts +0 -3
  97. package/src/app/modules/services/session.service.d.ts +0 -14
@@ -1,200 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Swal from 'sweetalert2';
3
- import { LoadingComponent } from './loading/loading.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- export class MessageService {
7
- constructor(dialog) {
8
- this.dialog = dialog;
9
- this.loadingNow = false;
10
- this.warningQueue = [];
11
- this.showingWarning = false;
12
- }
13
- openLoading(title, message) {
14
- if (!this.loadingNow) {
15
- this.loadingNow = true;
16
- this.loading = this.dialog.open(LoadingComponent, {
17
- data: {
18
- title,
19
- message
20
- },
21
- width: '250px',
22
- // height:'280px',
23
- disableClose: true,
24
- });
25
- }
26
- }
27
- closeLoading() {
28
- if (this.loadingNow) {
29
- this.loading.close();
30
- this.loadingNow = false;
31
- }
32
- }
33
- Error(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
34
- return new Promise((resolve, reject) => {
35
- Swal.fire({
36
- title: title,
37
- text: message,
38
- icon: 'error',
39
- showCancelButton: showCancelButton,
40
- confirmButtonText: confirmButtonText,
41
- cancelButtonText: cancelButtonText,
42
- customClass: {
43
- confirmButton: 'confirm-button-class',
44
- cancelButton: 'cancel-button-class',
45
- }
46
- }).then((result) => {
47
- if (result.value) {
48
- resolve(true);
49
- }
50
- else if (result.dismiss === Swal.DismissReason.cancel) {
51
- resolve(false);
52
- }
53
- });
54
- });
55
- }
56
- Success(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
57
- return new Promise((resolve, reject) => {
58
- Swal.fire({
59
- title: title,
60
- text: message,
61
- icon: 'success',
62
- showCancelButton: showCancelButton,
63
- confirmButtonText: confirmButtonText,
64
- cancelButtonText: cancelButtonText,
65
- customClass: {
66
- confirmButton: 'confirm-button-class',
67
- cancelButton: 'cancel-button-class',
68
- }
69
- }).then((result) => {
70
- if (result.value) {
71
- resolve(true);
72
- }
73
- else if (result.dismiss === Swal.DismissReason.cancel) {
74
- resolve(false);
75
- }
76
- });
77
- });
78
- }
79
- Warning(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar', allowOutsideClick = false) {
80
- return new Promise((resolve, reject) => {
81
- const warningData = {
82
- title: title,
83
- message: message,
84
- showCancelButton: showCancelButton,
85
- confirmButtonText: confirmButtonText,
86
- cancelButtonText: cancelButtonText,
87
- resolve: resolve,
88
- allowOutsideClick
89
- };
90
- this.warningQueue.push(warningData);
91
- if (!this.showingWarning) {
92
- this.showNextWarning();
93
- }
94
- });
95
- }
96
- showNextWarning() {
97
- if (this.warningQueue.length > 0) {
98
- this.showingWarning = true;
99
- const warningData = this.warningQueue.shift();
100
- Swal.fire({
101
- title: warningData.title,
102
- text: warningData.message,
103
- icon: 'warning',
104
- showCancelButton: warningData.showCancelButton,
105
- confirmButtonText: warningData.confirmButtonText,
106
- cancelButtonText: warningData.cancelButtonText,
107
- customClass: {
108
- confirmButton: 'confirm-button-class',
109
- cancelButton: 'cancel-button-class',
110
- },
111
- allowOutsideClick: warningData.allowOutsideClick,
112
- }).then((result) => {
113
- this.showingWarning = false;
114
- if (result.value) {
115
- warningData.resolve(true);
116
- }
117
- else if (result.dismiss === Swal.DismissReason.cancel) {
118
- warningData.resolve(false);
119
- }
120
- this.showNextWarning();
121
- });
122
- }
123
- }
124
- Info(title, message, showCancelButton = false, confirmButtonText = 'Aceptar', cancelButtonText = 'Cancelar') {
125
- return new Promise((resolve, reject) => {
126
- Swal.fire({
127
- title: title,
128
- text: message,
129
- icon: 'info',
130
- showCancelButton: showCancelButton,
131
- confirmButtonText: confirmButtonText,
132
- cancelButtonText: cancelButtonText,
133
- customClass: {
134
- confirmButton: 'confirm-button-class',
135
- cancelButton: 'cancel-button-class',
136
- }
137
- }).then((result) => {
138
- if (result.value) {
139
- resolve(true);
140
- }
141
- else if (result.dismiss === Swal.DismissReason.cancel) {
142
- resolve(false);
143
- }
144
- });
145
- });
146
- }
147
- SuccessToast(message, duration = 4000) {
148
- Swal.fire({
149
- position: 'top-end',
150
- icon: 'success',
151
- title: message,
152
- showConfirmButton: false,
153
- toast: true,
154
- timer: duration,
155
- width: 'auto'
156
- });
157
- }
158
- ErrorToast(message, duration = 4000) {
159
- Swal.fire({
160
- position: 'top-end',
161
- icon: 'error',
162
- title: message,
163
- showConfirmButton: false,
164
- toast: true,
165
- timer: duration,
166
- width: 'auto'
167
- });
168
- }
169
- WarningToast(message, duration = 4000) {
170
- Swal.fire({
171
- position: 'top-end',
172
- icon: 'warning',
173
- title: message,
174
- showConfirmButton: false,
175
- toast: true,
176
- timer: duration,
177
- width: 'auto'
178
- });
179
- }
180
- InfoToast(message, duration = 4000) {
181
- Swal.fire({
182
- position: 'top-end',
183
- icon: 'info',
184
- title: message,
185
- showConfirmButton: false,
186
- toast: true,
187
- timer: duration,
188
- width: 'auto'
189
- });
190
- }
191
- }
192
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
193
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, providedIn: 'root' });
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, decorators: [{
195
- type: Injectable,
196
- args: [{
197
- providedIn: 'root'
198
- }]
199
- }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQ1UsTUFBZ0I7UUFBaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUxsQixlQUFVLEdBQVksS0FBSyxDQUFBO1FBQzNCLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFTCxXQUFXLENBQUMsS0FBSyxFQUFDLE9BQU87UUFDdkIsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDaEQsSUFBSSxFQUFDO29CQUNILEtBQUs7b0JBQ0wsT0FBTztpQkFDUjtnQkFDRCxLQUFLLEVBQUMsT0FBTztnQkFDYixrQkFBa0I7Z0JBQ2xCLFlBQVksRUFBQyxJQUFJO2FBRWxCLENBQUMsQ0FBQTtTQUNIO0lBRUgsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBWSxFQUFFLE9BQWMsRUFBRSxt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Q1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBYyxFQUFFLFdBQWtCLElBQUk7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLEtBQUssRUFBQyxJQUFJO1lBQ1YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUMsTUFBTTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7OzJHQWhOVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0MidcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgbG9hZGluZ05vdzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgcHJpdmF0ZSB3YXJuaW5nUXVldWU6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBzaG93aW5nV2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbG9hZGluZ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nXHJcbiAgKSB7IH1cclxuXHJcbiAgb3BlbkxvYWRpbmcodGl0bGUsbWVzc2FnZSl7XHJcbiAgICBpZighdGhpcy5sb2FkaW5nTm93KXtcclxuICAgICAgdGhpcy5sb2FkaW5nTm93ID0gdHJ1ZVxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLmRpYWxvZy5vcGVuKExvYWRpbmdDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOntcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2lkdGg6JzI1MHB4JyxcclxuICAgICAgICAvLyBoZWlnaHQ6JzI4MHB4JyxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6dHJ1ZSxcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2xvc2VMb2FkaW5nKCl7XHJcbiAgICBpZih0aGlzLmxvYWRpbmdOb3cpe1xyXG4gICAgICB0aGlzLmxvYWRpbmcuY2xvc2UoKVxyXG4gICAgICB0aGlzLmxvYWRpbmdOb3cgPSBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgRXJyb3IodGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcclxuICAgICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICB9XHJcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kaXNtaXNzID09PSBTd2FsLkRpc21pc3NSZWFzb24uY2FuY2VsKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBTdWNjZXNzKHRpdGxlOnN0cmluZywgbWVzc2FnZTpzdHJpbmcsIHNob3dDYW5jZWxCdXR0b246Ym9vbGVhbj1mYWxzZSxjb25maXJtQnV0dG9uVGV4dDpzdHJpbmc9J0FjZXB0YXInLCBjYW5jZWxCdXR0b25UZXh0OnN0cmluZz0nQ2FuY2VsYXInKXtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICB0ZXh0OiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBzaG93Q2FuY2VsQnV0dG9uLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxyXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uOiAnY29uZmlybS1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiAnY2FuY2VsLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgfVxyXG4gICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGlzbWlzcyA9PT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVzb2x2ZShmYWxzZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgV2FybmluZyhcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0FjZXB0YXInLFxyXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gJ0NhbmNlbGFyJyxcclxuICAgIGFsbG93T3V0c2lkZUNsaWNrID0gZmFsc2VcclxuICApIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdEYXRhID0ge1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgcmVzb2x2ZTogcmVzb2x2ZSxcclxuICAgICAgICBhbGxvd091dHNpZGVDbGlja1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy53YXJuaW5nUXVldWUucHVzaCh3YXJuaW5nRGF0YSk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuc2hvd2luZ1dhcm5pbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd05leHRXYXJuaW5nKCkge1xyXG4gICAgaWYgKHRoaXMud2FybmluZ1F1ZXVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zaG93aW5nV2FybmluZyA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdEYXRhID0gdGhpcy53YXJuaW5nUXVldWUuc2hpZnQoKTtcclxuXHJcbiAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgdGl0bGU6IHdhcm5pbmdEYXRhLnRpdGxlLFxyXG4gICAgICAgIHRleHQ6IHdhcm5pbmdEYXRhLm1lc3NhZ2UsXHJcbiAgICAgICAgaWNvbjogJ3dhcm5pbmcnLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHdhcm5pbmdEYXRhLnNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IHdhcm5pbmdEYXRhLmNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHdhcm5pbmdEYXRhLmNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdjb25maXJtLWJ1dHRvbi1jbGFzcycsXHJcbiAgICAgICAgICBjYW5jZWxCdXR0b246ICdjYW5jZWwtYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB3YXJuaW5nRGF0YS5hbGxvd091dHNpZGVDbGljayxcclxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93aW5nV2FybmluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICB3YXJuaW5nRGF0YS5yZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcclxuICAgICAgICAgIHdhcm5pbmdEYXRhLnJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dOZXh0V2FybmluZygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEluZm8odGl0bGU6c3RyaW5nLCBtZXNzYWdlOnN0cmluZywgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuPWZhbHNlLGNvbmZpcm1CdXR0b25UZXh0OnN0cmluZz0nQWNlcHRhcicsIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nPSdDYW5jZWxhcicpe1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcclxuICAgICAgICBpY29uOiAnaW5mbycsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlybUJ1dHRvblRleHQsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgY29uZmlybUJ1dHRvbjogJ2NvbmZpcm0tYnV0dG9uLWNsYXNzJyxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjogJ2NhbmNlbC1idXR0b24tY2xhc3MnLFxyXG4gICAgICAgIH1cclxuICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT09IFN3YWwuRGlzbWlzc1JlYXNvbi5jYW5jZWwpIHtcclxuICAgICAgICAgIHJlc29sdmUoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuICBTdWNjZXNzVG9hc3QobWVzc2FnZTpzdHJpbmcsIGR1cmF0aW9uOm51bWJlciA9IDQwMDApe1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaWNvbjogJ3N1Y2Nlc3MnLFxyXG4gICAgICB0aXRsZTogbWVzc2FnZSxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICB0b2FzdDp0cnVlLFxyXG4gICAgICB0aW1lcjogZHVyYXRpb24sXHJcbiAgICAgIHdpZHRoOidhdXRvJ1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIEVycm9yVG9hc3QobWVzc2FnZTpzdHJpbmcsIGR1cmF0aW9uOm51bWJlciA9IDQwMDApe1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaWNvbjogJ2Vycm9yJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgdG9hc3Q6dHJ1ZSxcclxuICAgICAgdGltZXI6IGR1cmF0aW9uLFxyXG4gICAgICB3aWR0aDonYXV0bydcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBXYXJuaW5nVG9hc3QobWVzc2FnZTpzdHJpbmcsIGR1cmF0aW9uOm51bWJlciA9IDQwMDApe1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxyXG4gICAgICB0aXRsZTogbWVzc2FnZSxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICB0b2FzdDp0cnVlLFxyXG4gICAgICB0aW1lcjogZHVyYXRpb24sXHJcbiAgICAgIHdpZHRoOidhdXRvJ1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIEluZm9Ub2FzdChtZXNzYWdlOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gNDAwMCl7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1lbmQnLFxyXG4gICAgICBpY29uOiAnaW5mbycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRvYXN0OnRydWUsXHJcbiAgICAgIHRpbWVyOiBkdXJhdGlvbixcclxuICAgICAgd2lkdGg6J2F1dG8nXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,6 +0,0 @@
1
- export class ScreenSizeUtil {
2
- static isMobile() {
3
- return screen.width <= 600;
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXNpemUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9zY3JlZW4tc2l6ZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2NyZWVuU2l6ZVV0aWwge1xyXG4gIHN0YXRpYyBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzY3JlZW4ud2lkdGggPD0gNjAwO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,42 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./crypto.service";
4
- export class SessionService {
5
- constructor(cripto) {
6
- this.cripto = cripto;
7
- this.key = "V2xoU2JHTnBRbnBpTWxvd1pESkdlVnBUUW10YVYzaHNaRzFXZG1OSE1XeGlibEU9"; //btoa 3 rounds
8
- }
9
- getMain() {
10
- const info = sessionStorage.getItem(this.key);
11
- if (info) {
12
- return this.cripto.decode(info);
13
- }
14
- return {};
15
- }
16
- keyAssign(key) {
17
- this.key = key;
18
- }
19
- getData(key) {
20
- var sesion = this.getMain();
21
- return sesion[key] || '';
22
- }
23
- setData(key, value) {
24
- var actual = this.getMain() || {};
25
- actual[key] = value;
26
- const dataF = this.cripto.encode(actual);
27
- sessionStorage.setItem(this.key, dataF);
28
- }
29
- getSessionVars() {
30
- const info = this.getMain();
31
- return info || {};
32
- }
33
- }
34
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, deps: [{ token: i1.CryptoService }], target: i0.ɵɵFactoryTarget.Injectable });
35
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SessionService, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root'
40
- }]
41
- }], ctorParameters: function () { return [{ type: i1.CryptoService }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFHdkIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUR6QyxRQUFHLEdBQUcsa0VBQWtFLENBQUMsQ0FBRSxlQUFlO0lBRTFGLENBQUM7SUFFTyxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ2xDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDVCxJQUFJLENBQUMsR0FBRyxHQUFDLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBR0QsT0FBTyxDQUFDLEdBQUc7UUFDUCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPLENBQUMsR0FBTyxFQUFFLEtBQVM7UUFDdEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUMsS0FBSyxDQUFDO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7MkdBbkNRLGNBQWM7K0dBQWQsY0FBYyxjQUZYLE1BQU07MkZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENyeXB0b1NlcnZpY2UgfSBmcm9tICcuL2NyeXB0by5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XHJcblxyXG4gICAga2V5ID0gXCJWMnhvVTJKSFRuQlJibkJwVFd4dmQxcEVTa2RsVm5CVVVXMTBZVll6YUhOYVJ6RlhaRzFPU0UxWGVHbGliRVU5XCI7ICAvL2J0b2EgMyByb3VuZHNcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3JpcHRvOiBDcnlwdG9TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRNYWluKCl7XHJcbiAgICAgICAgY29uc3QgaW5mbyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5rZXkpO1xyXG4gICAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyaXB0by5kZWNvZGUoaW5mbykgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBrZXlBc3NpZ24oa2V5KXtcclxuICAgICAgICB0aGlzLmtleT1rZXk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldERhdGEoa2V5KSB7XHJcbiAgICAgICAgdmFyIHNlc2lvbiA9IHRoaXMuZ2V0TWFpbigpO1xyXG4gICAgICAgIHJldHVybiBzZXNpb25ba2V5XSB8fCAnJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0RGF0YShrZXk6YW55LCB2YWx1ZTphbnkpIHtcclxuICAgICAgICB2YXIgYWN0dWFsID0gdGhpcy5nZXRNYWluKCkgfHwge307XHJcbiAgICAgICAgYWN0dWFsW2tleV09dmFsdWU7XHJcbiAgICAgICAgY29uc3QgZGF0YUYgPSB0aGlzLmNyaXB0by5lbmNvZGUoYWN0dWFsKTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5LCBkYXRhRik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2Vzc2lvblZhcnMoKXtcclxuICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5nZXRNYWluKCk7XHJcbiAgICAgICAgcmV0dXJuIGluZm8gfHwge307XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==