valtech-components 2.0.904 → 2.0.905
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +4 -3
- package/esm2022/lib/services/auth/auth.service.mjs +6 -2
- package/esm2022/lib/services/auth/storage.service.mjs +6 -3
- package/esm2022/lib/services/auth/sync.service.mjs +5 -2
- package/esm2022/lib/services/feedback/feedback.service.mjs +17 -12
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +31 -15
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +1 -0
- package/lib/components/organisms/article/article.component.d.ts +2 -2
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +1 -1
- package/lib/services/feedback/feedback.service.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable, Optional, PLATFORM_ID, isDevMode } from '@angular/core';
|
|
2
2
|
import { isPlatformBrowser } from '@angular/common';
|
|
3
3
|
import { VALTECH_AUTH_CONFIG } from './config';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -9,6 +9,9 @@ export class AuthStorageService {
|
|
|
9
9
|
constructor(config, platformId) {
|
|
10
10
|
this.config = config;
|
|
11
11
|
this.isBrowser = isPlatformBrowser(platformId);
|
|
12
|
+
if (!this.config && isDevMode()) {
|
|
13
|
+
console.warn('[valtech-components] AuthStorageService: provideValtechAuth() no está en main.ts.');
|
|
14
|
+
}
|
|
12
15
|
const prefix = this.config?.storagePrefix || 'valtech_auth_';
|
|
13
16
|
this.keys = {
|
|
14
17
|
ACCESS_TOKEN: `${prefix}access_token`,
|
|
@@ -146,7 +149,7 @@ export class AuthStorageService {
|
|
|
146
149
|
if (!this.isBrowser)
|
|
147
150
|
return;
|
|
148
151
|
try {
|
|
149
|
-
Object.values(this.keys).forEach(
|
|
152
|
+
Object.values(this.keys).forEach(key => localStorage.removeItem(key));
|
|
150
153
|
}
|
|
151
154
|
catch (e) {
|
|
152
155
|
console.warn('[ValtechAuth] Error limpiando storage:', e);
|
|
@@ -175,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
175
178
|
type: Inject,
|
|
176
179
|
args: [PLATFORM_ID]
|
|
177
180
|
}] }] });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFlL0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ21ELE1BQWdDLEVBQzVELFVBQWtCO1FBRFUsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFHakYsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxlQUFlLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLFlBQVksRUFBRSxHQUFHLE1BQU0sY0FBYztZQUNyQyxhQUFhLEVBQUUsR0FBRyxNQUFNLGVBQWU7WUFDdkMsS0FBSyxFQUFFLEdBQUcsTUFBTSxPQUFPO1lBQ3ZCLFdBQVcsRUFBRSxHQUFHLE1BQU0sYUFBYTtZQUNuQyxjQUFjLEVBQUUsR0FBRyxNQUFNLGdCQUFnQjtZQUN6QyxVQUFVLEVBQUUsR0FBRyxNQUFNLFlBQVk7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFzQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQztZQUNILFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxD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Q0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQTdLVSxrQkFBa0Isa0JBS1AsbUJBQW1CLDZCQUMvQixXQUFXO21IQU5WLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFNN0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUN0QyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVkFMVEVDSF9BVVRIX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IFN0b3JlZEF1dGhTdGF0ZSwgR2V0UGVybWlzc2lvbnNSZXNwb25zZSwgVmFsdGVjaEF1dGhDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBDbGF2ZXMgZGUgc3RvcmFnZSBwYXJhIGF1dGVudGljYWNpw7NuLlxuICovXG5pbnRlcmZhY2UgU3RvcmFnZUtleXMge1xuICBBQ0NFU1NfVE9LRU46IHN0cmluZztcbiAgUkVGUkVTSF9UT0tFTjogc3RyaW5nO1xuICBST0xFUzogc3RyaW5nO1xuICBQRVJNSVNTSU9OUzogc3RyaW5nO1xuICBJU19TVVBFUl9BRE1JTjogc3RyaW5nO1xuICBFWFBJUkVTX0FUOiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2VydmljaW8gcGFyYSBwZXJzaXN0ZW5jaWEgZGUgZXN0YWRvIGRlIGF1dGVudGljYWNpw7NuIGVuIGxvY2FsU3RvcmFnZS5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoU3RvcmFnZVNlcnZpY2Uge1xuICBwcml2YXRlIGtleXM6IFN0b3JhZ2VLZXlzO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFZBTFRFQ0hfQVVUSF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQXV0aENvbmZpZyB8IG51bGwsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0XG4gICkge1xuICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCk7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5jb25maWc/LnN0b3JhZ2VQcmVmaXggfHwgJ3ZhbHRlY2hfYXV0aF8nO1xuICAgIHRoaXMua2V5cyA9IHtcbiAgICAgIEFDQ0VTU19UT0tFTjogYCR7cHJlZml4fWFjY2Vzc190b2tlbmAsXG4gICAgICBSRUZSRVNIX1RPS0VOOiBgJHtwcmVmaXh9cmVmcmVzaF90b2tlbmAsXG4gICAgICBST0xFUzogYCR7cHJlZml4fXJvbGVzYCxcbiAgICAgIFBFUk1JU1NJT05TOiBgJHtwcmVmaXh9cGVybWlzc2lvbnNgLFxuICAgICAgSVNfU1VQRVJfQURNSU46IGAke3ByZWZpeH1pc19zdXBlcl9hZG1pbmAsXG4gICAgICBFWFBJUkVTX0FUOiBgJHtwcmVmaXh9ZXhwaXJlc19hdGAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHdWFyZGEgZWwgZXN0YWRvIGNvbXBsZXRvIGRlIGF1dGVudGljYWNpw7NuLlxuICAgKi9cbiAgc2F2ZVN0YXRlKHN0YXRlOiBTdG9yZWRBdXRoU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5BQ0NFU1NfVE9LRU4sIHN0YXRlLmFjY2Vzc1Rva2VuKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5SRUZSRVNIX1RPS0VOLCBzdGF0ZS5yZWZyZXNoVG9rZW4pO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLlJPTEVTLCBKU09OLnN0cmluZ2lmeShzdGF0ZS5yb2xlcykpO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgIHRoaXMua2V5cy5QRVJNSVNTSU9OUyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3RhdGUucGVybWlzc2lvbnMpXG4gICAgICApO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgIHRoaXMua2V5cy5JU19TVVBFUl9BRE1JTixcbiAgICAgICAgU3RyaW5nKHN0YXRlLmlzU3VwZXJBZG1pbilcbiAgICAgICk7XG4gICAgICBpZiAoc3RhdGUuZXhwaXJlc0F0KSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5FWFBJUkVTX0FULCBTdHJpbmcoc3RhdGUuZXhwaXJlc0F0KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKCdbVmFsdGVjaEF1dGhdIEVycm9yIGd1YXJkYW5kbyBlc3RhZG8gZW4gc3RvcmFnZTonLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FyZ2EgZWwgZXN0YWRvIGRlIGF1dGVudGljYWNpw7NuIGRlc2RlIHN0b3JhZ2UuXG4gICAqL1xuICBsb2FkU3RhdGUoKTogUGFydGlhbDxTdG9yZWRBdXRoU3RhdGU+IHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm4ge307XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLkFDQ0VTU19UT0tFTik7XG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuUkVGUkVTSF9UT0tFTik7XG4gICAgICBjb25zdCByb2xlc0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuUk9MRVMpO1xuICAgICAgY29uc3QgcGVybWlzc2lvbnNKc29uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLlBFUk1JU1NJT05TKTtcbiAgICAgIGNvbnN0IGlzU3VwZXJBZG1pbiA9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5JU19TVVBFUl9BRE1JTikgPT09ICd0cnVlJztcbiAgICAgIGNvbnN0IGV4cGlyZXNBdFN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5FWFBJUkVTX0FUKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjZXNzVG9rZW46IGFjY2Vzc1Rva2VuIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgcmVmcmVzaFRva2VuOiByZWZyZXNoVG9rZW4gfHwgdW5kZWZpbmVkLFxuICAgICAgICByb2xlczogcm9sZXNKc29uID8gSlNPTi5wYXJzZShyb2xlc0pzb24pIDogW10sXG4gICAgICAgIHBlcm1pc3Npb25zOiBwZXJtaXNzaW9uc0pzb24gPyBKU09OLnBhcnNlKHBlcm1pc3Npb25zSnNvbikgOiBbXSxcbiAgICAgICAgaXNTdXBlckFkbWluLFxuICAgICAgICBleHBpcmVzQXQ6IGV4cGlyZXNBdFN0ciA/IE51bWJlcihleHBpcmVzQXRTdHIpIDogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgY2FyZ2FuZG8gZXN0YWRvIGRlc2RlIHN0b3JhZ2U6JywgZSk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEd1YXJkYSBzb2xvIGVsIGFjY2VzcyB0b2tlbi5cbiAgICovXG4gIHNhdmVBY2Nlc3NUb2tlbih0b2tlbjogc3RyaW5nLCBleHBpcmVzQXQ/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5BQ0NFU1NfVE9LRU4sIHRva2VuKTtcbiAgICAgIGlmIChleHBpcmVzQXQpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLkVYUElSRVNfQVQsIFN0cmluZyhleHBpcmVzQXQpKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZ3VhcmRhbmRvIGFjY2VzcyB0b2tlbjonLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR3VhcmRhIGVsIHJlZnJlc2ggdG9rZW4gKHRva2VuIHJvdGF0aW9uKS5cbiAgICovXG4gIHNhdmVSZWZyZXNoVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLlJFRlJFU0hfVE9LRU4sIHRva2VuKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZ3VhcmRhbmRvIHJlZnJlc2ggdG9rZW46JywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEd1YXJkYSBsb3MgcGVybWlzb3MgYWN0dWFsaXphZG9zLlxuICAgKi9cbiAgc2F2ZVBlcm1pc3Npb25zKHJlc3BvbnNlOiBHZXRQZXJtaXNzaW9uc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuUk9MRVMsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLnJvbGVzKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgdGhpcy5rZXlzLlBFUk1JU1NJT05TLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5wZXJtaXNzaW9ucylcbiAgICAgICk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgdGhpcy5rZXlzLklTX1NVUEVSX0FETUlOLFxuICAgICAgICBTdHJpbmcocmVzcG9uc2UuaXNTdXBlckFkbWluKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZ3VhcmRhbmRvIHBlcm1pc29zOicsIGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBsb3MgcGVybWlzb3MgZGVzZGUgc3RvcmFnZS5cbiAgICovXG4gIGxvYWRQZXJtaXNzaW9ucygpOiB7XG4gICAgcm9sZXM6IHN0cmluZ1tdO1xuICAgIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG4gIH0ge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiB7IHJvbGVzOiBbXSwgcGVybWlzc2lvbnM6IFtdLCBpc1N1cGVyQWRtaW46IGZhbHNlIH07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByb2xlc0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuUk9MRVMpO1xuICAgICAgY29uc3QgcGVybWlzc2lvbnNKc29uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLlBFUk1JU1NJT05TKTtcbiAgICAgIGNvbnN0IGlzU3VwZXJBZG1pbiA9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5JU19TVVBFUl9BRE1JTikgPT09ICd0cnVlJztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcm9sZXM6IHJvbGVzSnNvbiA/IEpTT04ucGFyc2Uocm9sZXNKc29uKSA6IFtdLFxuICAgICAgICBwZXJtaXNzaW9uczogcGVybWlzc2lvbnNKc29uID8gSlNPTi5wYXJzZShwZXJtaXNzaW9uc0pzb24pIDogW10sXG4gICAgICAgIGlzU3VwZXJBZG1pbixcbiAgICAgIH07XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4geyByb2xlczogW10sIHBlcm1pc3Npb25zOiBbXSwgaXNTdXBlckFkbWluOiBmYWxzZSB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGVsIHJlZnJlc2ggdG9rZW4uXG4gICAqL1xuICBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5SRUZSRVNIX1RPS0VOKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaW1waWEgdG9kbyBlbCBlc3RhZG8gZGUgYXV0ZW50aWNhY2nDs24uXG4gICAqL1xuICBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC52YWx1ZXModGhpcy5rZXlzKS5mb3JFYWNoKChrZXkpID0+IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBsaW1waWFuZG8gc3RvcmFnZTonLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgaGF5IGVzdGFkbyBndWFyZGFkby5cbiAgICovXG4gIGhhc1N0b3JlZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gISFsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuQUNDRVNTX1RPS0VOKTtcbiAgfVxufVxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBZS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNtRCxNQUFnQyxFQUM1RCxVQUFrQjtRQURVLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBR2pGLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUNWLG1GQUFtRixDQUNwRixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxJQUFJLGVBQWUsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1YsWUFBWSxFQUFFLEdBQUcsTUFBTSxjQUFjO1lBQ3JDLGFBQWEsRUFBRSxHQUFHLE1BQU0sZUFBZTtZQUN2QyxLQUFLLEVBQUUsR0FBRyxNQUFNLE9BQU87WUFDdkIsV0FBVyxFQUFFLEdBQUcsTUFBTSxhQUFhO1lBQ25DLGNBQWMsRUFBRSxHQUFHLE1BQU0sZ0JBQWdCO1lBQ3pDLFVBQVUsRUFBRSxHQUFHLE1BQU0sWUFBWTtTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLEtBQXNC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MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lELCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZBTFRFQ0hfQVVUSF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yZWRBdXRoU3RhdGUsIEdldFBlcm1pc3Npb25zUmVzcG9uc2UsIFZhbHRlY2hBdXRoQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ2xhdmVzIGRlIHN0b3JhZ2UgcGFyYSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuaW50ZXJmYWNlIFN0b3JhZ2VLZXlzIHtcbiAgQUNDRVNTX1RPS0VOOiBzdHJpbmc7XG4gIFJFRlJFU0hfVE9LRU46IHN0cmluZztcbiAgUk9MRVM6IHN0cmluZztcbiAgUEVSTUlTU0lPTlM6IHN0cmluZztcbiAgSVNfU1VQRVJfQURNSU46IHN0cmluZztcbiAgRVhQSVJFU19BVDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlcnZpY2lvIHBhcmEgcGVyc2lzdGVuY2lhIGRlIGVzdGFkbyBkZSBhdXRlbnRpY2FjacOzbiBlbiBsb2NhbFN0b3JhZ2UuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBrZXlzOiBTdG9yYWdlS2V5cztcbiAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmFsdGVjaEF1dGhDb25maWcgfCBudWxsLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdFxuICApIHtcbiAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpO1xuICAgIGlmICghdGhpcy5jb25maWcgJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1t2YWx0ZWNoLWNvbXBvbmVudHNdIEF1dGhTdG9yYWdlU2VydmljZTogcHJvdmlkZVZhbHRlY2hBdXRoKCkgbm8gZXN0w6EgZW4gbWFpbi50cy4nXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmNvbmZpZz8uc3RvcmFnZVByZWZpeCB8fCAndmFsdGVjaF9hdXRoXyc7XG4gICAgdGhpcy5rZXlzID0ge1xuICAgICAgQUNDRVNTX1RPS0VOOiBgJHtwcmVmaXh9YWNjZXNzX3Rva2VuYCxcbiAgICAgIFJFRlJFU0hfVE9LRU46IGAke3ByZWZpeH1yZWZyZXNoX3Rva2VuYCxcbiAgICAgIFJPTEVTOiBgJHtwcmVmaXh9cm9sZXNgLFxuICAgICAgUEVSTUlTU0lPTlM6IGAke3ByZWZpeH1wZXJtaXNzaW9uc2AsXG4gICAgICBJU19TVVBFUl9BRE1JTjogYCR7cHJlZml4fWlzX3N1cGVyX2FkbWluYCxcbiAgICAgIEVYUElSRVNfQVQ6IGAke3ByZWZpeH1leHBpcmVzX2F0YCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEd1YXJkYSBlbCBlc3RhZG8gY29tcGxldG8gZGUgYXV0ZW50aWNhY2nDs24uXG4gICAqL1xuICBzYXZlU3RhdGUoc3RhdGU6IFN0b3JlZEF1dGhTdGF0ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLkFDQ0VTU19UT0tFTiwgc3RhdGUuYWNjZXNzVG9rZW4pO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLlJFRlJFU0hfVE9LRU4sIHN0YXRlLnJlZnJlc2hUb2tlbik7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuUk9MRVMsIEpTT04uc3RyaW5naWZ5KHN0YXRlLnJvbGVzKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuUEVSTUlTU0lPTlMsIEpTT04uc3RyaW5naWZ5KHN0YXRlLnBlcm1pc3Npb25zKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuSVNfU1VQRVJfQURNSU4sIFN0cmluZyhzdGF0ZS5pc1N1cGVyQWRtaW4pKTtcbiAgICAgIGlmIChzdGF0ZS5leHBpcmVzQXQpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLkVYUElSRVNfQVQsIFN0cmluZyhzdGF0ZS5leHBpcmVzQXQpKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZ3VhcmRhbmRvIGVzdGFkbyBlbiBzdG9yYWdlOicsIGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBlbCBlc3RhZG8gZGUgYXV0ZW50aWNhY2nDs24gZGVzZGUgc3RvcmFnZS5cbiAgICovXG4gIGxvYWRTdGF0ZSgpOiBQYXJ0aWFsPFN0b3JlZEF1dGhTdGF0ZT4ge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybiB7fTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuQUNDRVNTX1RPS0VOKTtcbiAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5SRUZSRVNIX1RPS0VOKTtcbiAgICAgIGNvbnN0IHJvbGVzSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5ST0xFUyk7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uc0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuUEVSTUlTU0lPTlMpO1xuICAgICAgY29uc3QgaXNTdXBlckFkbWluID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLklTX1NVUEVSX0FETUlOKSA9PT0gJ3RydWUnO1xuICAgICAgY29uc3QgZXhwaXJlc0F0U3RyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLkVYUElSRVNfQVQpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2Nlc3NUb2tlbjogYWNjZXNzVG9rZW4gfHwgdW5kZWZpbmVkLFxuICAgICAgICByZWZyZXNoVG9rZW46IHJlZnJlc2hUb2tlbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJvbGVzOiByb2xlc0pzb24gPyBKU09OLnBhcnNlKHJvbGVzSnNvbikgOiBbXSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHBlcm1pc3Npb25zSnNvbiA/IEpTT04ucGFyc2UocGVybWlzc2lvbnNKc29uKSA6IFtdLFxuICAgICAgICBpc1N1cGVyQWRtaW4sXG4gICAgICAgIGV4cGlyZXNBdDogZXhwaXJlc0F0U3RyID8gTnVtYmVyKGV4cGlyZXNBdFN0cikgOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBjYXJnYW5kbyBlc3RhZG8gZGVzZGUgc3RvcmFnZTonLCBlKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR3VhcmRhIHNvbG8gZWwgYWNjZXNzIHRva2VuLlxuICAgKi9cbiAgc2F2ZUFjY2Vzc1Rva2VuKHRva2VuOiBzdHJpbmcsIGV4cGlyZXNBdD86IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlzLkFDQ0VTU19UT0tFTiwgdG9rZW4pO1xuICAgICAgaWYgKGV4cGlyZXNBdCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuRVhQSVJFU19BVCwgU3RyaW5nKGV4cGlyZXNBdCkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBndWFyZGFuZG8gYWNjZXNzIHRva2VuOicsIGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHdWFyZGEgZWwgcmVmcmVzaCB0b2tlbiAodG9rZW4gcm90YXRpb24pLlxuICAgKi9cbiAgc2F2ZVJlZnJlc2hUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleXMuUkVGUkVTSF9UT0tFTiwgdG9rZW4pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBndWFyZGFuZG8gcmVmcmVzaCB0b2tlbjonLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR3VhcmRhIGxvcyBwZXJtaXNvcyBhY3R1YWxpemFkb3MuXG4gICAqL1xuICBzYXZlUGVybWlzc2lvbnMocmVzcG9uc2U6IEdldFBlcm1pc3Npb25zUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5ST0xFUywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2Uucm9sZXMpKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5QRVJNSVNTSU9OUywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UucGVybWlzc2lvbnMpKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5cy5JU19TVVBFUl9BRE1JTiwgU3RyaW5nKHJlc3BvbnNlLmlzU3VwZXJBZG1pbikpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBndWFyZGFuZG8gcGVybWlzb3M6JywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIGxvcyBwZXJtaXNvcyBkZXNkZSBzdG9yYWdlLlxuICAgKi9cbiAgbG9hZFBlcm1pc3Npb25zKCk6IHtcbiAgICByb2xlczogc3RyaW5nW107XG4gICAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAgIGlzU3VwZXJBZG1pbjogYm9vbGVhbjtcbiAgfSB7XG4gICAgaWYgKCF0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgcmV0dXJuIHsgcm9sZXM6IFtdLCBwZXJtaXNzaW9uczogW10sIGlzU3VwZXJBZG1pbjogZmFsc2UgfTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJvbGVzSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5cy5ST0xFUyk7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uc0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuUEVSTUlTU0lPTlMpO1xuICAgICAgY29uc3QgaXNTdXBlckFkbWluID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLklTX1NVUEVSX0FETUlOKSA9PT0gJ3RydWUnO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICByb2xlczogcm9sZXNKc29uID8gSlNPTi5wYXJzZShyb2xlc0pzb24pIDogW10sXG4gICAgICAgIHBlcm1pc3Npb25zOiBwZXJtaXNzaW9uc0pzb24gPyBKU09OLnBhcnNlKHBlcm1pc3Npb25zSnNvbikgOiBbXSxcbiAgICAgICAgaXNTdXBlckFkbWluLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB7IHJvbGVzOiBbXSwgcGVybWlzc2lvbnM6IFtdLCBpc1N1cGVyQWRtaW46IGZhbHNlIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgcmVmcmVzaCB0b2tlbi5cbiAgICovXG4gIGdldFJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlzLlJFRlJFU0hfVE9LRU4pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpbXBpYSB0b2RvIGVsIGVzdGFkbyBkZSBhdXRlbnRpY2FjacOzbi5cbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgT2JqZWN0LnZhbHVlcyh0aGlzLmtleXMpLmZvckVhY2goa2V5ID0+IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBsaW1waWFuZG8gc3RvcmFnZTonLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgaGF5IGVzdGFkbyBndWFyZGFkby5cbiAgICovXG4gIGhhc1N0b3JlZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gISFsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleXMuQUNDRVNTX1RPS0VOKTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable, Optional, PLATFORM_ID, isDevMode } from '@angular/core';
|
|
2
2
|
import { isPlatformBrowser } from '@angular/common';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { VALTECH_AUTH_CONFIG } from './config';
|
|
@@ -16,6 +16,9 @@ export class AuthSyncService {
|
|
|
16
16
|
/** Observable de eventos de sincronización */
|
|
17
17
|
this.onEvent$ = this.eventSubject.asObservable();
|
|
18
18
|
this.isBrowser = isPlatformBrowser(platformId);
|
|
19
|
+
if (!this.config && isDevMode()) {
|
|
20
|
+
console.warn('[valtech-components] AuthSyncService: provideValtechAuth() no está en main.ts.');
|
|
21
|
+
}
|
|
19
22
|
const prefix = this.config?.storagePrefix || 'valtech_auth_';
|
|
20
23
|
this.channelName = `${prefix}sync_channel`;
|
|
21
24
|
}
|
|
@@ -154,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
154
157
|
type: Inject,
|
|
155
158
|
args: [PLATFORM_ID]
|
|
156
159
|
}] }] });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUcvQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQVcxQixZQUNtRCxNQUFnQyxFQUM1RCxVQUFrQjtRQURVLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBWDNFLFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBRXhDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFDNUMsb0JBQWUsR0FBMkMsSUFBSSxDQUFDO1FBRXZFLDhDQUE4QztRQUNyQyxhQUFRLEdBQThCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFROUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxlQUFlLENBQUM7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLE1BQU0sY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25ELE9BQU87UUFDVCxDQUFDO1FBRUQseURBQXlEO1FBQ3pE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VSxFQUFFLE1BQU0sRUFBRTs7MEJBYTdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkFMVEVDSF9BVVRIX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IEF1dGhTeW5jRXZlbnQsIEF1dGhTeW5jRXZlbnRUeXBlLCBWYWx0ZWNoQXV0aENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFNlcnZpY2lvIHBhcmEgc2luY3Jvbml6YWNpw7NuIGRlIGVzdGFkbyBkZSBhdXRlbnRpY2FjacOzbiBlbnRyZSBwZXN0YcOxYXMuXG4gKiBVc2EgQnJvYWRjYXN0Q2hhbm5lbCBBUEkgY29uIGZhbGxiYWNrIGEgc3RvcmFnZSBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFN5bmNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjaGFubmVsOiBCcm9hZGNhc3RDaGFubmVsIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2hhbm5lbE5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBldmVudFN1YmplY3QgPSBuZXcgU3ViamVjdDxBdXRoU3luY0V2ZW50PigpO1xuICBwcml2YXRlIHN0b3JhZ2VMaXN0ZW5lcjogKChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPYnNlcnZhYmxlIGRlIGV2ZW50b3MgZGUgc2luY3Jvbml6YWNpw7NuICovXG4gIHJlYWRvbmx5IG9uRXZlbnQkOiBPYnNlcnZhYmxlPEF1dGhTeW5jRXZlbnQ+ID0gdGhpcy5ldmVudFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmFsdGVjaEF1dGhDb25maWcgfCBudWxsLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdFxuICApIHtcbiAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpO1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuY29uZmlnPy5zdG9yYWdlUHJlZml4IHx8ICd2YWx0ZWNoX2F1dGhfJztcbiAgICB0aGlzLmNoYW5uZWxOYW1lID0gYCR7cHJlZml4fXN5bmNfY2hhbm5lbGA7XG4gIH1cblxuICAvKipcbiAgICogSW5pY2lhIGxhIHNpbmNyb25pemFjacOzbiBlbnRyZSBwZXN0YcOxYXMuXG4gICAqIFNTUi1ub29wIOKAlCBzeW5jIGRlIHBlc3Rhw7FhcyBzb2xvIGFwbGljYSBlbiBicm93c2VyLlxuICAgKi9cbiAgc3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZz8uZW5hYmxlVGFiU3luYyB8fCAhdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJbnRlbnRhciB1c2FyIEJyb2FkY2FzdENoYW5uZWwgQVBJIChtZWpvciByZW5kaW1pZW50bylcbiAgICBpZiAodHlwZW9mIEJyb2FkY2FzdENoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmluaXRCcm9hZGNhc3RDaGFubmVsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZhbGxiYWNrIGEgc3RvcmFnZSBldmVudHNcbiAgICAgIHRoaXMuaW5pdFN0b3JhZ2VFdmVudHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0aWVuZSBsYSBzaW5jcm9uaXphY2nDs24uXG4gICAqL1xuICBzdG9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHRoaXMuY2hhbm5lbC5jbG9zZSgpO1xuICAgICAgdGhpcy5jaGFubmVsID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdG9yYWdlTGlzdGVuZXIgJiYgdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgdGhpcy5zdG9yYWdlTGlzdGVuZXIpO1xuICAgICAgdGhpcy5zdG9yYWdlTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbnbDrWEgdW4gZXZlbnRvIGEgb3RyYXMgcGVzdGHDsWFzLlxuICAgKi9cbiAgYnJvYWRjYXN0KGV2ZW50OiBPbWl0PEF1dGhTeW5jRXZlbnQsICd0aW1lc3RhbXAnPik6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWc/LmVuYWJsZVRhYlN5bmMgfHwgIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZnVsbEV2ZW50OiBBdXRoU3luY0V2ZW50ID0ge1xuICAgICAgLi4uZXZlbnQsXG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHRoaXMuY2hhbm5lbC5wb3N0TWVzc2FnZShmdWxsRXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjazogdXNhciBsb2NhbFN0b3JhZ2UgcGFyYSBub3RpZmljYXJcbiAgICAgIHRoaXMuYnJvYWRjYXN0VmlhU3RvcmFnZShmdWxsRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcCgpO1xuICAgIHRoaXMuZXZlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pY2lhbGl6YSBCcm9hZGNhc3RDaGFubmVsIEFQSS5cbiAgICovXG4gIHByaXZhdGUgaW5pdEJyb2FkY2FzdENoYW5uZWwoKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRoaXMuY2hhbm5lbE5hbWUpO1xuXG4gICAgICB0aGlzLmNoYW5uZWwub25tZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQ8QXV0aFN5bmNFdmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVFdmVudChldmVudC5kYXRhKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY2hhbm5lbC5vbm1lc3NhZ2VlcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbVmFsdGVjaEF1dGhdIEVycm9yIGVuIEJyb2FkY2FzdENoYW5uZWwsIHVzYW5kbyBmYWxsYmFjaycpO1xuICAgICAgICB0aGlzLmNoYW5uZWw/LmNsb3NlKCk7XG4gICAgICAgIHRoaXMuY2hhbm5lbCA9IG51bGw7XG4gICAgICAgIHRoaXMuaW5pdFN0b3JhZ2VFdmVudHMoKTtcbiAgICAgIH07XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBCcm9hZGNhc3RDaGFubmVsIG5vIGRpc3BvbmlibGUsIHVzYXIgZmFsbGJhY2tcbiAgICAgIHRoaXMuaW5pdFN0b3JhZ2VFdmVudHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pY2lhbGl6YSBmYWxsYmFjayBjb24gc3RvcmFnZSBldmVudHMuXG4gICAqL1xuICBwcml2YXRlIGluaXRTdG9yYWdlRXZlbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSBgJHt0aGlzLmNvbmZpZz8uc3RvcmFnZVByZWZpeH1zeW5jX2V2ZW50YDtcblxuICAgIHRoaXMuc3RvcmFnZUxpc3RlbmVyID0gKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09IHN0b3JhZ2VLZXkgJiYgZXZlbnQubmV3VmFsdWUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzeW5jRXZlbnQ6IEF1dGhTeW5jRXZlbnQgPSBKU09OLnBhcnNlKGV2ZW50Lm5ld1ZhbHVlKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZUV2ZW50KHN5bmNFdmVudCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yYXIgZXZlbnRvcyBtYWwgZm9ybWFkb3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIHRoaXMuc3RvcmFnZUxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnbDrWEgZXZlbnRvIHZpYSBsb2NhbFN0b3JhZ2UgKGZhbGxiYWNrKS5cbiAgICovXG4gIHByaXZhdGUgYnJvYWRjYXN0VmlhU3RvcmFnZShldmVudDogQXV0aFN5bmNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSBgJHt0aGlzLmNvbmZpZz8uc3RvcmFnZVByZWZpeH1zeW5jX2V2ZW50YDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBFc2NyaWJpciB5IGx1ZWdvIGxpbXBpYXIgcGFyYSBwZXJtaXRpciBtw7psdGlwbGVzIGV2ZW50b3MgZGVsIG1pc21vIHRpcG9cbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG4gICAgICAvLyBVc2FyIHNldFRpbWVvdXQgcGFyYSBwZXJtaXRpciBxdWUgb3RyYXMgcGVzdGHDsWFzIGxlYW4gZWwgdmFsb3JcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZW52aWFuZG8gZXZlbnRvIHZpYSBzdG9yYWdlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1hbmVqYSB1biBldmVudG8gcmVjaWJpZG8uXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUV2ZW50KGV2ZW50OiBBdXRoU3luY0V2ZW50KTogdm9pZCB7XG4gICAgLy8gVmVyaWZpY2FyIHF1ZSBlbCBldmVudG8gbm8gc2VhIG11eSBhbnRpZ3VvIChtw6FzIGRlIDUgc2VndW5kb3MpXG4gICAgY29uc3QgYWdlID0gRGF0ZS5ub3coKSAtIGV2ZW50LnRpbWVzdGFtcDtcbiAgICBpZiAoYWdlID4gNTAwMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZXZlbnRTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICB9XG59XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHL0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFXMUIsWUFDbUQsTUFBZ0MsRUFDNUQsVUFBa0I7UUFEVSxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQVgzRSxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUV4QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQzVDLG9CQUFlLEdBQTJDLElBQUksQ0FBQztRQUV2RSw4Q0FBOEM7UUFDckMsYUFBUSxHQUE4QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBUTlFLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdGQUFnRixDQUFDLENBQUM7UUFDakcsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxJQUFJLGVBQWUsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsTUFBTSxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNI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LENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQTFKVSxlQUFlLGtCQVlKLG1CQUFtQiw2QkFDL0IsV0FBVzttSEFiVixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFhN0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUN0QyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lELCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZBTFRFQ0hfQVVUSF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBBdXRoU3luY0V2ZW50LCBBdXRoU3luY0V2ZW50VHlwZSwgVmFsdGVjaEF1dGhDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBwYXJhIHNpbmNyb25pemFjacOzbiBkZSBlc3RhZG8gZGUgYXV0ZW50aWNhY2nDs24gZW50cmUgcGVzdGHDsWFzLlxuICogVXNhIEJyb2FkY2FzdENoYW5uZWwgQVBJIGNvbiBmYWxsYmFjayBhIHN0b3JhZ2UgZXZlbnRzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhTeW5jU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgY2hhbm5lbDogQnJvYWRjYXN0Q2hhbm5lbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNoYW5uZWxOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgZXZlbnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8QXV0aFN5bmNFdmVudD4oKTtcbiAgcHJpdmF0ZSBzdG9yYWdlTGlzdGVuZXI6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICAvKiogT2JzZXJ2YWJsZSBkZSBldmVudG9zIGRlIHNpbmNyb25pemFjacOzbiAqL1xuICByZWFkb25seSBvbkV2ZW50JDogT2JzZXJ2YWJsZTxBdXRoU3luY0V2ZW50PiA9IHRoaXMuZXZlbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVkFMVEVDSF9BVVRIX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IFZhbHRlY2hBdXRoQ29uZmlnIHwgbnVsbCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3RcbiAgKSB7XG4gICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKTtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1t2YWx0ZWNoLWNvbXBvbmVudHNdIEF1dGhTeW5jU2VydmljZTogcHJvdmlkZVZhbHRlY2hBdXRoKCkgbm8gZXN0w6EgZW4gbWFpbi50cy4nKTtcbiAgICB9XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5jb25maWc/LnN0b3JhZ2VQcmVmaXggfHwgJ3ZhbHRlY2hfYXV0aF8nO1xuICAgIHRoaXMuY2hhbm5lbE5hbWUgPSBgJHtwcmVmaXh9c3luY19jaGFubmVsYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmljaWEgbGEgc2luY3Jvbml6YWNpw7NuIGVudHJlIHBlc3Rhw7Fhcy5cbiAgICogU1NSLW5vb3Ag4oCUIHN5bmMgZGUgcGVzdGHDsWFzIHNvbG8gYXBsaWNhIGVuIGJyb3dzZXIuXG4gICAqL1xuICBzdGFydCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5lbmFibGVUYWJTeW5jIHx8ICF0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEludGVudGFyIHVzYXIgQnJvYWRjYXN0Q2hhbm5lbCBBUEkgKG1lam9yIHJlbmRpbWllbnRvKVxuICAgIGlmICh0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuaW5pdEJyb2FkY2FzdENoYW5uZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2sgYSBzdG9yYWdlIGV2ZW50c1xuICAgICAgdGhpcy5pbml0U3RvcmFnZUV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRpZW5lIGxhIHNpbmNyb25pemFjacOzbi5cbiAgICovXG4gIHN0b3AoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hhbm5lbCkge1xuICAgICAgdGhpcy5jaGFubmVsLmNsb3NlKCk7XG4gICAgICB0aGlzLmNoYW5uZWwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0b3JhZ2VMaXN0ZW5lciAmJiB0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCB0aGlzLnN0b3JhZ2VMaXN0ZW5lcik7XG4gICAgICB0aGlzLnN0b3JhZ2VMaXN0ZW5lciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVudsOtYSB1biBldmVudG8gYSBvdHJhcyBwZXN0YcOxYXMuXG4gICAqL1xuICBicm9hZGNhc3QoZXZlbnQ6IE9taXQ8QXV0aFN5bmNFdmVudCwgJ3RpbWVzdGFtcCc+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZz8uZW5hYmxlVGFiU3luYyB8fCAhdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsRXZlbnQ6IEF1dGhTeW5jRXZlbnQgPSB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuY2hhbm5lbCkge1xuICAgICAgdGhpcy5jaGFubmVsLnBvc3RNZXNzYWdlKGZ1bGxFdmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZhbGxiYWNrOiB1c2FyIGxvY2FsU3RvcmFnZSBwYXJhIG5vdGlmaWNhclxuICAgICAgdGhpcy5icm9hZGNhc3RWaWFTdG9yYWdlKGZ1bGxFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKCk7XG4gICAgdGhpcy5ldmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmljaWFsaXphIEJyb2FkY2FzdENoYW5uZWwgQVBJLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0QnJvYWRjYXN0Q2hhbm5lbCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jaGFubmVsID0gbmV3IEJyb2FkY2FzdENoYW5uZWwodGhpcy5jaGFubmVsTmFtZSk7XG5cbiAgICAgIHRoaXMuY2hhbm5lbC5vbm1lc3NhZ2UgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudDxBdXRoU3luY0V2ZW50PikgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUV2ZW50KGV2ZW50LmRhdGEpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5jaGFubmVsLm9ubWVzc2FnZWVycm9yID0gKCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoQXV0aF0gRXJyb3IgZW4gQnJvYWRjYXN0Q2hhbm5lbCwgdXNhbmRvIGZhbGxiYWNrJyk7XG4gICAgICAgIHRoaXMuY2hhbm5lbD8uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5jaGFubmVsID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbml0U3RvcmFnZUV2ZW50cygpO1xuICAgICAgfTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEJyb2FkY2FzdENoYW5uZWwgbm8gZGlzcG9uaWJsZSwgdXNhciBmYWxsYmFja1xuICAgICAgdGhpcy5pbml0U3RvcmFnZUV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmljaWFsaXphIGZhbGxiYWNrIGNvbiBzdG9yYWdlIGV2ZW50cy5cbiAgICovXG4gIHByaXZhdGUgaW5pdFN0b3JhZ2VFdmVudHMoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IGAke3RoaXMuY29uZmlnPy5zdG9yYWdlUHJlZml4fXN5bmNfZXZlbnRgO1xuXG4gICAgdGhpcy5zdG9yYWdlTGlzdGVuZXIgPSAoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gc3RvcmFnZUtleSAmJiBldmVudC5uZXdWYWx1ZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHN5bmNFdmVudDogQXV0aFN5bmNFdmVudCA9IEpTT04ucGFyc2UoZXZlbnQubmV3VmFsdWUpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXZlbnQoc3luY0V2ZW50KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JhciBldmVudG9zIG1hbCBmb3JtYWRvc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgdGhpcy5zdG9yYWdlTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudsOtYSBldmVudG8gdmlhIGxvY2FsU3RvcmFnZSAoZmFsbGJhY2spLlxuICAgKi9cbiAgcHJpdmF0ZSBicm9hZGNhc3RWaWFTdG9yYWdlKGV2ZW50OiBBdXRoU3luY0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IGAke3RoaXMuY29uZmlnPy5zdG9yYWdlUHJlZml4fXN5bmNfZXZlbnRgO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEVzY3JpYmlyIHkgbHVlZ28gbGltcGlhciBwYXJhIHBlcm1pdGlyIG3Dumx0aXBsZXMgZXZlbnRvcyBkZWwgbWlzbW8gdGlwb1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgSlNPTi5zdHJpbmdpZnkoZXZlbnQpKTtcbiAgICAgIC8vIFVzYXIgc2V0VGltZW91dCBwYXJhIHBlcm1pdGlyIHF1ZSBvdHJhcyBwZXN0YcOxYXMgbGVhbiBlbCB2YWxvclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBFcnJvciBlbnZpYW5kbyBldmVudG8gdmlhIHN0b3JhZ2UnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFuZWphIHVuIGV2ZW50byByZWNpYmlkby5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRXZlbnQoZXZlbnQ6IEF1dGhTeW5jRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBWZXJpZmljYXIgcXVlIGVsIGV2ZW50byBubyBzZWEgbXV5IGFudGlndW8gKG3DoXMgZGUgNSBzZWd1bmRvcylcbiAgICBjb25zdCBhZ2UgPSBEYXRlLm5vdygpIC0gZXZlbnQudGltZXN0YW1wO1xuICAgIGlmIChhZ2UgPiA1MDAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ldmVudFN1YmplY3QubmV4dChldmVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
1
|
+
import { Injectable, inject, isDevMode, signal } from '@angular/core';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
3
|
import { firstValueFrom } from 'rxjs';
|
|
4
4
|
import { VALTECH_FEEDBACK_CONFIG } from './config';
|
|
@@ -28,17 +28,22 @@ import * as i0 from "@angular/core";
|
|
|
28
28
|
*/
|
|
29
29
|
export class FeedbackService {
|
|
30
30
|
constructor() {
|
|
31
|
-
this.config = inject(VALTECH_FEEDBACK_CONFIG);
|
|
31
|
+
this.config = inject(VALTECH_FEEDBACK_CONFIG, { optional: true });
|
|
32
32
|
this.http = inject(HttpClient);
|
|
33
33
|
this.firestore = inject(FirestoreService, { optional: true });
|
|
34
34
|
this.storage = inject(StorageService, { optional: true });
|
|
35
35
|
this.auth = inject(AuthService, { optional: true });
|
|
36
|
+
this.isConfigured = signal(!!this.config);
|
|
37
|
+
if (!this.config && isDevMode()) {
|
|
38
|
+
console.warn('[valtech-components] FeedbackService: provideValtechFeedback() no está en main.ts. ' +
|
|
39
|
+
'Las reacciones y el feedback no funcionarán.');
|
|
40
|
+
}
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
38
43
|
* URL base para endpoints de feedback.
|
|
39
44
|
*/
|
|
40
45
|
get baseUrl() {
|
|
41
|
-
return `${this.config
|
|
46
|
+
return `${this.config?.apiUrl}${this.config?.feedbackPrefix}`;
|
|
42
47
|
}
|
|
43
48
|
/**
|
|
44
49
|
* Captura el contexto del dispositivo automáticamente.
|
|
@@ -72,7 +77,7 @@ export class FeedbackService {
|
|
|
72
77
|
attachments,
|
|
73
78
|
contentRef,
|
|
74
79
|
deviceContext: this.captureDeviceContext(),
|
|
75
|
-
appId: this.config
|
|
80
|
+
appId: this.config?.appId,
|
|
76
81
|
};
|
|
77
82
|
return this.http.post(this.baseUrl, request);
|
|
78
83
|
}
|
|
@@ -102,15 +107,15 @@ export class FeedbackService {
|
|
|
102
107
|
*/
|
|
103
108
|
validateFile(file) {
|
|
104
109
|
// Verificar tamaño
|
|
105
|
-
if (file.size > this.config
|
|
106
|
-
const maxSizeMB = Math.round(this.config
|
|
110
|
+
if (file.size > this.config?.maxFileSize) {
|
|
111
|
+
const maxSizeMB = Math.round(this.config?.maxFileSize / (1024 * 1024));
|
|
107
112
|
return {
|
|
108
113
|
valid: false,
|
|
109
114
|
error: `El archivo excede el tamaño máximo de ${maxSizeMB}MB`,
|
|
110
115
|
};
|
|
111
116
|
}
|
|
112
117
|
// Verificar tipo
|
|
113
|
-
const allowedTypes = this.config
|
|
118
|
+
const allowedTypes = this.config?.allowedFileTypes || [];
|
|
114
119
|
const isAllowed = allowedTypes.some(pattern => {
|
|
115
120
|
if (pattern.endsWith('/*')) {
|
|
116
121
|
const baseType = pattern.replace('/*', '');
|
|
@@ -272,7 +277,7 @@ export class FeedbackService {
|
|
|
272
277
|
}
|
|
273
278
|
// 2. Fallback: llamar API (solo si hay usuario autenticado)
|
|
274
279
|
const params = new URLSearchParams({
|
|
275
|
-
appId: this.config
|
|
280
|
+
appId: this.config?.appId,
|
|
276
281
|
entityType,
|
|
277
282
|
entityId,
|
|
278
283
|
});
|
|
@@ -302,7 +307,7 @@ export class FeedbackService {
|
|
|
302
307
|
reactionValue: value,
|
|
303
308
|
description: comment || '',
|
|
304
309
|
deviceContext: this.captureDeviceContext(),
|
|
305
|
-
appId: this.config
|
|
310
|
+
appId: this.config?.appId,
|
|
306
311
|
};
|
|
307
312
|
return firstValueFrom(this.http.post(this.baseUrl, request));
|
|
308
313
|
}
|
|
@@ -331,7 +336,7 @@ export class FeedbackService {
|
|
|
331
336
|
reactionValue: value,
|
|
332
337
|
description: comment || '',
|
|
333
338
|
deviceContext: this.captureDeviceContext(),
|
|
334
|
-
appId: this.config
|
|
339
|
+
appId: this.config?.appId,
|
|
335
340
|
};
|
|
336
341
|
return firstValueFrom(this.http.post(`${this.baseUrl}/anonymous`, request));
|
|
337
342
|
}
|
|
@@ -379,5 +384,5 @@ export class FeedbackService {
|
|
|
379
384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedbackService, decorators: [{
|
|
380
385
|
type: Injectable,
|
|
381
386
|
args: [{ providedIn: 'root' }]
|
|
382
|
-
}] });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVVLFdBQU0sR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN6QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzWXhEO0lBcFlDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FB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ZSxDQUFDO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFDdEQsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ3RELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3QyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDaEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxDQUFDO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3QyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzsrR0ExWVUsZUFBZTttSEFBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZBTFRFQ0hfRkVFREJBQ0tfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0LFxuICBDcmVhdGVGZWVkYmFja1Jlc3BvbnNlLFxuICBHZXRGZWVkYmFja1Jlc3BvbnNlLFxuICBDaGVja0ZlZWRiYWNrUmVzcG9uc2UsXG4gIERldmljZUNvbnRleHQsXG4gIEZlZWRiYWNrVHlwZSxcbiAgQ29udGVudFJlZixcbiAgRW50aXR5UmVmLFxuICBSZWFjdGlvblZhbHVlLFxuICBGZWVkYmFja0ZpcmVzdG9yZURvYyxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGaXJlc3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vZmlyZWJhc2UvZmlyZXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljaW8gcGFyYSBnZXN0aW9uYXIgZmVlZGJhY2sgZGUgdXN1YXJpb3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoey4uLn0pXG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICogICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuICpcbiAqICAgYXN5bmMgc3VibWl0RmVlZGJhY2soKSB7XG4gKiAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVBc3luYyhcbiAqICAgICAgICdmZWVkYmFjaycsXG4gKiAgICAgICAnTWkgY29tZW50YXJpbycsXG4gKiAgICAgICAnRGVzY3JpcGNpw7NuIGRldGFsbGFkYS4uLidcbiAqICAgICApO1xuICogICAgIGNvbnNvbGUubG9nKCdGZWVkYmFjayBlbnZpYWRvOicsIHJlc3BvbnNlLmZlZWRiYWNrSWQpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGZWVkYmFja1NlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyk7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSBmaXJlc3RvcmUgPSBpbmplY3QoRmlyZXN0b3JlU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gaW5qZWN0KFN0b3JhZ2VTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFVSTCBiYXNlIHBhcmEgZW5kcG9pbnRzIGRlIGZlZWRiYWNrLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgYmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbmZpZy5hcGlVcmx9JHt0aGlzLmNvbmZpZy5mZWVkYmFja1ByZWZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcHR1cmEgZWwgY29udGV4dG8gZGVsIGRpc3Bvc2l0aXZvIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBjYXB0dXJlRGV2aWNlQ29udGV4dCgpOiBEZXZpY2VDb250ZXh0IHtcbiAgICBjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZXI6IHRoaXMuZGV0ZWN0QnJvd3Nlcih1YSksXG4gICAgICBvczogdGhpcy5kZXRlY3RPUyh1YSksXG4gICAgICB2aWV3cG9ydDogYCR7d2luZG93LmlubmVyV2lkdGh9eCR7d2luZG93LmlubmVySGVpZ2h0fWAsXG4gICAgICBsYW5ndWFnZTogbmF2aWdhdG9yLmxhbmd1YWdlLFxuICAgICAgdXNlckFnZW50OiB1YSxcbiAgICAgIHBhZ2VVcmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjay5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGZlZWRiYWNrXG4gICAqIEBwYXJhbSB0aXRsZSAtIFTDrXR1bG8gZGVsIGZlZWRiYWNrXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIERlc2NyaXBjacOzbiBkZXRhbGxhZGFcbiAgICogQHBhcmFtIGF0dGFjaG1lbnRzIC0gVVJMcyBkZSBhcmNoaXZvcyBhZGp1bnRvcyAob3BjaW9uYWwpXG4gICAqIEBwYXJhbSBjb250ZW50UmVmIC0gUmVmZXJlbmNpYSBhIGNvbnRlbmlkbyBlc3BlY8OtZmljbyAob3BjaW9uYWwpXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29uIGxhIHJlc3B1ZXN0YVxuICAgKi9cbiAgY3JlYXRlKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZSxcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBhdHRhY2htZW50cyxcbiAgICAgIGNvbnRlbnRSZWYsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPih0aGlzLmJhc2VVcmwsIHJlcXVlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgdW4gbnVldm8gZmVlZGJhY2sgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFzeW5jKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuY3JlYXRlKHR5cGUsIHRpdGxlLCBkZXNjcmlwdGlvbiwgYXR0YWNobWVudHMsIGNvbnRlbnRSZWYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHVuIGZlZWRiYWNrIHBvciBJRCAoc29sbyBlbCBwcm9waWV0YXJpbykuXG4gICAqXG4gICAqIEBwYXJhbSBmZWVkYmFja0lkIC0gSUQgZGVsIGZlZWRiYWNrXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29uIGxhIHJlc3B1ZXN0YVxuICAgKi9cbiAgZ2V0QnlJZChmZWVkYmFja0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEdldEZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxHZXRGZWVkYmFja1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7ZmVlZGJhY2tJZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIHVuIGZlZWRiYWNrIHBvciBJRCAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgZ2V0QnlJZEFzeW5jKGZlZWRiYWNrSWQ6IHN0cmluZyk6IFByb21pc2U8R2V0RmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmdldEJ5SWQoZmVlZGJhY2tJZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSBzaSB1biBhcmNoaXZvIGN1bXBsZSBjb24gbGFzIHJlc3RyaWNjaW9uZXMuXG4gICAqL1xuICB2YWxpZGF0ZUZpbGUoZmlsZTogRmlsZSk6IHsgdmFsaWQ6IGJvb2xlYW47IGVycm9yPzogc3RyaW5nIH0ge1xuICAgIC8vIFZlcmlmaWNhciB0YW1hw7FvXG4gICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMuY29uZmlnLm1heEZpbGVTaXplISkge1xuICAgICAgY29uc3QgbWF4U2l6ZU1CID0gTWF0aC5yb3VuZCh0aGlzLmNvbmZpZy5tYXhGaWxlU2l6ZSEgLyAoMTAyNCAqIDEwMjQpKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGBFbCBhcmNoaXZvIGV4Y2VkZSBlbCB0YW1hw7FvIG3DoXhpbW8gZGUgJHttYXhTaXplTUJ9TUJgLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBWZXJpZmljYXIgdGlwb1xuICAgIGNvbnN0IGFsbG93ZWRUeXBlcyA9IHRoaXMuY29uZmlnLmFsbG93ZWRGaWxlVHlwZXMgfHwgW107XG4gICAgY29uc3QgaXNBbGxvd2VkID0gYWxsb3dlZFR5cGVzLnNvbWUocGF0dGVybiA9PiB7XG4gICAgICBpZiAocGF0dGVybi5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHBhdHRlcm4ucmVwbGFjZSgnLyonLCAnJyk7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsZS50eXBlID09PSBwYXR0ZXJuO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdUaXBvIGRlIGFyY2hpdm8gbm8gcGVybWl0aWRvJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGEgZWwgQ09OVEVOSURPIGRlbCBhcmNoaXZvIHBvciBtYWdpYy1ieXRlcyAoZmlybWEgYmluYXJpYSkg4oCUXG4gICAqIGRlZmVuc2EgY29udHJhIHNwb29maW5nIGRlbCBjb250ZW50LXR5cGUgZGVjbGFyYWRvLiBMZWUgbG9zIHByaW1lcm9zIDEyXG4gICAqIGJ5dGVzIHkgbG9zIGNvbXBhcmEgY29uIGxhcyBmaXJtYXMgZGUgSlBFRy9QTkcvV2ViUC9QREYgKHdoaXRlbGlzdFxuICAgKiBlc3RyaWN0YSkuIEVzIGNsaWVudC1zaWRlLCBlcmdvIGJ5cGFzc2VhYmxlOyBsYSBkZWZlbnNhIHJlYWwgdml2ZSBlbiBsYXNcbiAgICogU3RvcmFnZSBydWxlcy4gRXN0byBjb3J0YSBlbCA5OSUgZGUgbG9zIGNhc29zIGFjY2lkZW50YWxlcyBvIG5vLXRhcmdldGVkLlxuICAgKi9cbiAgYXN5bmMgdmFsaWRhdGVGaWxlQ29udGVudChmaWxlOiBGaWxlKTogUHJvbWlzZTx7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9PiB7XG4gICAgY29uc3QgYnVmID0gYXdhaXQgZmlsZS5zbGljZSgwLCAxMikuYXJyYXlCdWZmZXIoKTtcbiAgICBjb25zdCBiID0gbmV3IFVpbnQ4QXJyYXkoYnVmKTtcblxuICAgIC8vIEpQRUc6IEZGIEQ4IEZGXG4gICAgaWYgKGJbMF0gPT09IDB4ZmYgJiYgYlsxXSA9PT0gMHhkOCAmJiBiWzJdID09PSAweGZmKSB7XG4gICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgIH1cbiAgICAvLyBQTkc6IDg5IDUwIDRFIDQ3IDBEIDBBIDFBIDBBXG4gICAgaWYgKFxuICAgICAgYlswXSA9PT0gMHg4OSAmJlxuICAgICAgYlsxXSA9PT0gMHg1MCAmJlxuICAgICAgYlsyXSA9PT0gMHg0ZSAmJlxuICAgICAgYlszXSA9PT0gMHg0NyAmJlxuICAgICAgYls0XSA9PT0gMHgwZCAmJlxuICAgICAgYls1XSA9PT0gMHgwYSAmJlxuICAgICAgYls2XSA9PT0gMHgxYSAmJlxuICAgICAgYls3XSA9PT0gMHgwYVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgICB9XG4gICAgLy8gV2ViUDogXCJSSUZGXCIgKDAuLjMpICsgXCJXRUJQXCIgKDguLjExKVxuICAgIGlmIChcbiAgICAgIGJbMF0gPT09IDB4NTIgJiZcbiAgICAgIGJbMV0gPT09IDB4NDkgJiZcbiAgICAgIGJbMl0gPT09IDB4NDYgJiZcbiAgICAgIGJbM10gPT09IDB4NDYgJiZcbiAgICAgIGJbOF0gPT09IDB4NTcgJiZcbiAgICAgIGJbOV0gPT09IDB4NDUgJiZcbiAgICAgIGJbMTBdID09PSAweDQyICYmXG4gICAgICBiWzExXSA9PT0gMHg1MFxuICAgICkge1xuICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgICB9XG4gICAgLy8gUERGOiBcIiVQREYtXCJcbiAgICBpZiAoYlswXSA9PT0gMHgyNSAmJiBiWzFdID09PSAweDUwICYmIGJbMl0gPT09IDB4NDQgJiYgYlszXSA9PT0gMHg0NiAmJiBiWzRdID09PSAweDJkKSB7XG4gICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogZmFsc2UsXG4gICAgICBlcnJvcjogJ0VsIGNvbnRlbmlkbyBkZWwgYXJjaGl2byBubyBjb2luY2lkZSBjb24gdW4gdGlwbyBwZXJtaXRpZG8gKGltYWdlbiBvIFBERikuJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YmUgdW4gYWRqdW50byBhIEZpcmViYXNlIFN0b3JhZ2UgZW4gYHVzZXJzL3t1aWR9L2ZlZWRiYWNrL3t1dWlkfS97bmFtZX1gXG4gICAqIHkgZGV2dWVsdmUgc3UgZG93bmxvYWQgVVJMLiBFamVjdXRhIHRyZXMgdmFsaWRhY2lvbmVzIGVuIG9yZGVuOlxuICAgKiAgIDEuIHRhbWHDsW8gKyB0aXBvIGRlY2xhcmFkbyAoYHZhbGlkYXRlRmlsZWApXG4gICAqICAgMi4gY29udGVuaWRvIHBvciBtYWdpYy1ieXRlcyAoYHZhbGlkYXRlRmlsZUNvbnRlbnRgKVxuICAgKiAgIDMuIHVzdWFyaW8gYXV0ZW50aWNhZG8gKG5vIHNvcG9ydGFtb3MgYWRqdW50b3MgZW4gZmVlZGJhY2sgYW7Ds25pbW8pXG4gICAqXG4gICAqIFNpIGN1YWxxdWllciB2YWxpZGFjacOzbiBmYWxsYSDihpIgcmVjaGF6YSBsYSBwcm9tZXNhIGNvbiB1biBFcnJvciBsZWdpYmxlO1xuICAgKiBlbCBjb21wb25lbnRlIHF1ZSBsYSBjb25zdW1hIGRlYmUgY2FuY2VsYXIgbGEgb3BlcmFjacOzbiBkZSBhZGp1bnRhci5cbiAgICovXG4gIGFzeW5jIHVwbG9hZEF0dGFjaG1lbnQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc2l6ZVR5cGVDaGVjayA9IHRoaXMudmFsaWRhdGVGaWxlKGZpbGUpO1xuICAgIGlmICghc2l6ZVR5cGVDaGVjay52YWxpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHNpemVUeXBlQ2hlY2suZXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnRDaGVjayA9IGF3YWl0IHRoaXMudmFsaWRhdGVGaWxlQ29udGVudChmaWxlKTtcbiAgICBpZiAoIWNvbnRlbnRDaGVjay52YWxpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGNvbnRlbnRDaGVjay5lcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlcklkID0gdGhpcy5hdXRoPy51c2VyKCk/LnVzZXJJZDtcbiAgICBpZiAoIXVzZXJJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWJlcyBpbmljaWFyIHNlc2nDs24gcGFyYSBhZGp1bnRhciBhcmNoaXZvcy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc3RvcmFnZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdG9yYWdlU2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKTtcbiAgICB9XG5cbiAgICAvLyBQYXRoIGJham8gYHVzZXJzL3t1aWR9L2ZlZWRiYWNrL2Ag4oCUIHNpYmxpbmcgZGUgYGZpbGVzL2AsIGNvbiBzdSBwcm9waWFcbiAgICAvLyByZWdsYSBlbiBgc3RvcmFnZS5ydWxlc2AgKHdoaXRlbGlzdCBlc3RyaWN0YSBKUEVHL1BORy9XZWJQL1BERiArIDVNQikuXG4gICAgLy8gc2tpcFByZWZpeD10cnVlIHBvcnF1ZSBgdXNlcnMve3VpZH0vYCBlcyBwYXRoIEdMT0JBTCBjcm9zcy1hcHAuXG4gICAgY29uc3QgdXVpZCA9XG4gICAgICB0eXBlb2YgY3J5cHRvICE9PSAndW5kZWZpbmVkJyAmJiAncmFuZG9tVVVJRCcgaW4gY3J5cHRvXG4gICAgICAgID8gY3J5cHRvLnJhbmRvbVVVSUQoKVxuICAgICAgICA6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMil9YDtcbiAgICBjb25zdCBzYWZlTmFtZSA9IGZpbGUubmFtZS5yZXBsYWNlKC9bXmEtekEtWjAtOS5fLV0vZywgJ18nKTtcbiAgICBjb25zdCBwYXRoID0gYHVzZXJzLyR7dXNlcklkfS9mZWVkYmFjay8ke3V1aWR9LyR7c2FmZU5hbWV9YDtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc3RvcmFnZS51cGxvYWRBbmRHZXRVcmwocGF0aCwgZmlsZSwge1xuICAgICAgY29udGVudFR5cGU6IGZpbGUudHlwZSxcbiAgICAgIHNraXBQcmVmaXg6IHRydWUsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdC5kb3dubG9hZFVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZWwgc2VydmljaW8uXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8dHlwZW9mIHRoaXMuY29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSZWFjdGlvbiBNZXRob2RzIChDb250ZW50IGZlZWRiYWNrIHdpdGggZW1vamlzKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVsIHVzdWFyaW8geWEgZGlvIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQgZXNwZWPDrWZpY2EuXG4gICAqXG4gICAqIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIEZpcmViYXNlIChyw6FwaWRvLCBzaW4gbGF0ZW5jaWEgZGUgcmVkIGFsIGJhY2tlbmQpLlxuICAgKiBTaSBGaXJlYmFzZSBubyBlc3TDoSBkaXNwb25pYmxlIG8gZmFsbGEsIGhhY2UgZmFsbGJhY2sgYSBsYSBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGlwbyBkZSBlbnRpZGFkIChhcnRpY2xlLCBkb2NzLCBmZWF0dXJlLCBldGMuKVxuICAgKiBAcGFyYW0gZW50aXR5SWQgLSBJRCBkZSBsYSBlbnRpZGFkXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YSBkZSB2ZXJpZmljYWNpw7NuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jaGVja0ZlZWRiYWNrKCdhcnRpY2xlJywgJ2FydC0xMjMnKTtcbiAgICogaWYgKGNoZWNrLmhhc0ZlZWRiYWNrKSB7XG4gICAqICAgY29uc29sZS5sb2coJ1lhIGRpbyBmZWVkYmFjazonLCBjaGVjay5yZWFjdGlvblZhbHVlKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNoZWNrRmVlZGJhY2soZW50aXR5VHlwZTogc3RyaW5nLCBlbnRpdHlJZDogc3RyaW5nKTogUHJvbWlzZTxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICAvLyBTaSBubyBoYXkgdXN1YXJpbyBhdXRlbnRpY2Fkbywgbm8gcHVlZGUgaGFiZXIgZmVlZGJhY2sgcHJldmlvXG4gICAgLy8gUmV0b3JuYXIgaW5tZWRpYXRhbWVudGUgc2luIGxsYW1hciBhbCBBUEkgKGV2aXRhIDQwMSB5IHJlZGlyZWN0IGEgbG9naW4pXG4gICAgY29uc3QgdXNlcklkID0gdGhpcy5hdXRoPy51c2VyKCk/LnVzZXJJZDtcbiAgICBpZiAoIXVzZXJJZCkge1xuICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uSWQ6ICcnLCBoYXNGZWVkYmFjazogZmFsc2UgfTtcbiAgICB9XG5cbiAgICAvLyAxLiBJbnRlbnRhciBGaXJlYmFzZSBwcmltZXJvIChzaSBlc3TDoSBkaXNwb25pYmxlKVxuICAgIGlmICh0aGlzLmZpcmVzdG9yZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUGF0aDogZmVlZGJhY2sve2VudGl0eVR5cGV9L3tlbnRpdHlJZH0ve3VzZXJJZH1cbiAgICAgICAgLy8gRmlyZXN0b3JlU2VydmljZSBhZ3JlZ2EgYXV0b23DoXRpY2FtZW50ZSBlbCBwcmVmaWpvIGFwcHMve2FwcElkfS9cbiAgICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSBgZmVlZGJhY2svJHtlbnRpdHlUeXBlfS8ke2VudGl0eUlkfWA7XG4gICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHRoaXMuZmlyZXN0b3JlLmdldERvYzxGZWVkYmFja0ZpcmVzdG9yZURvYz4oY29sbGVjdGlvblBhdGgsIHVzZXJJZCk7XG5cbiAgICAgICAgaWYgKGRvYykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvcGVyYXRpb25JZDogJycsXG4gICAgICAgICAgICBoYXNGZWVkYmFjazogdHJ1ZSxcbiAgICAgICAgICAgIGZlZWRiYWNrSWQ6IGRvYy5mZWVkYmFja0lkLFxuICAgICAgICAgICAgdHlwZTogZG9jLnR5cGUgYXMgRmVlZGJhY2tUeXBlLFxuICAgICAgICAgICAgcmVhY3Rpb25WYWx1ZTogZG9jLnJlYWN0aW9uVmFsdWUgYXMgUmVhY3Rpb25WYWx1ZSxcbiAgICAgICAgICAgIGNyZWF0ZWRBdDogZG9jLmNyZWF0ZWRBdD8udG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG9jIG5vIGV4aXN0ZSA9IG5vIGhheSBmZWVkYmFja1xuICAgICAgICByZXR1cm4geyBvcGVyYXRpb25JZDogJycsIGhhc0ZlZWRiYWNrOiBmYWxzZSB9O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbRmVlZGJhY2tTZXJ2aWNlXSBGaXJlYmFzZSBjaGVjayBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBBUEk6JywgZXJyb3IpO1xuICAgICAgICAvLyBGYWxsYmFjayBhIEFQSVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIEZhbGxiYWNrOiBsbGFtYXIgQVBJIChzb2xvIHNpIGhheSB1c3VhcmlvIGF1dGVudGljYWRvKVxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgICAgZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eUlkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8Q2hlY2tGZWVkYmFja1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2NoZWNrPyR7cGFyYW1zfWApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIG8gYWN0dWFsaXphIHVuYSByZWFjY2nDs24gKGZlZWRiYWNrIGNvbiBlbW9qaSkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZVJlYWN0aW9uKFxuICAgKiAgIHsgZW50aXR5VHlwZTogJ2FydGljbGUnLCBlbnRpdHlJZDogJ2FydC0xMjMnIH0sXG4gICAqICAgJ3Bvc2l0aXZlJyxcbiAgICogICAnTXV5IMO6dGlsISdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUZlZWRiYWNrUmVxdWVzdCA9IHtcbiAgICAgIHR5cGU6ICdyZWFjdGlvbicsXG4gICAgICBlbnRpdHlSZWYsXG4gICAgICByZWFjdGlvblZhbHVlOiB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBjb21tZW50IHx8ICcnLFxuICAgICAgZGV2aWNlQ29udGV4dDogdGhpcy5jYXB0dXJlRGV2aWNlQ29udGV4dCgpLFxuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgIH07XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4odGhpcy5iYXNlVXJsLCByZXF1ZXN0KSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSBmZWVkYmFjayBhbsOzbmltbyAoc2luIGF1dGVudGljYWNpw7NuIHJlcXVlcmlkYSkuXG4gICAqIFVzYWRvIHBhcmEgYmxvZ3MsIEZBUXMgeSBjb250ZW5pZG8gcMO6YmxpY28uXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFbiB1biBibG9nIHDDumJsaWNvXG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYmxvZycsIGVudGl0eUlkOiAnbXktcG9zdC1zbHVnJyB9LFxuICAgKiAgICdwb3NpdGl2ZSdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVBbm9ueW1vdXNSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICB0eXBlOiAncmVhY3Rpb24nIGFzIGNvbnN0LFxuICAgICAgZW50aXR5UmVmLFxuICAgICAgcmVhY3Rpb25WYWx1ZTogdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29tbWVudCB8fCAnJyxcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9hbm9ueW1vdXNgLCByZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEhlbHBlcnMgcHJpdmFkb3MgcGFyYSBkZXRlY2Npw7NuIGRlIGJyb3dzZXIvT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIHByaXZhdGUgZGV0ZWN0QnJvd3Nlcih1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0VkZy8nKSkgcmV0dXJuICdFZGdlJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0Nocm9tZS8nKSkgcmV0dXJuICdDaHJvbWUnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnRmlyZWZveC8nKSkgcmV0dXJuICdGaXJlZm94JztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1NhZmFyaS8nKSAmJiAhdWEuaW5jbHVkZXMoJ0Nocm9tZScpKSByZXR1cm4gJ1NhZmFyaSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdPcGVyYScpIHx8IHVhLmluY2x1ZGVzKCdPUFIvJykpIHJldHVybiAnT3BlcmEnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdE9TKHVhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMCcpKSByZXR1cm4gJ1dpbmRvd3MgMTAnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMScpKSByZXR1cm4gJ1dpbmRvd3MgMTEnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cycpKSByZXR1cm4gJ1dpbmRvd3MnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnTWFjIE9TIFgnKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSB1YS5tYXRjaCgvTWFjIE9TIFggKFxcZCtbLl9dXFxkKykvKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gYG1hY09TICR7bWF0Y2hbMV0ucmVwbGFjZSgnXycsICcuJyl9YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnbWFjT1MnO1xuICAgIH1cbiAgICBpZiAodWEuaW5jbHVkZXMoJ0FuZHJvaWQnKSkgcmV0dXJuICdBbmRyb2lkJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ2lQaG9uZScpIHx8IHVhLmluY2x1ZGVzKCdpUGFkJykpIHJldHVybiAnaU9TJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0xpbnV4JykpIHJldHVybiAnTGludXgnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cbn1cbiJdfQ==
|
|
387
|
+
}], ctorParameters: () => [] });
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWFuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBUzFCO1FBUlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdELFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckQsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxD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LGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgaXNEZXZNb2RlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkFMVEVDSF9GRUVEQkFDS19DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1xuICBDcmVhdGVGZWVkYmFja1JlcXVlc3QsXG4gIENyZWF0ZUZlZWRiYWNrUmVzcG9uc2UsXG4gIEdldEZlZWRiYWNrUmVzcG9uc2UsXG4gIENoZWNrRmVlZGJhY2tSZXNwb25zZSxcbiAgRGV2aWNlQ29udGV4dCxcbiAgRmVlZGJhY2tUeXBlLFxuICBDb250ZW50UmVmLFxuICBFbnRpdHlSZWYsXG4gIFJlYWN0aW9uVmFsdWUsXG4gIEZlZWRiYWNrRmlyZXN0b3JlRG9jLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpcmVzdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9maXJlc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBwYXJhIGdlc3Rpb25hciBmZWVkYmFjayBkZSB1c3Vhcmlvcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogQENvbXBvbmVudCh7Li4ufSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIHByaXZhdGUgZmVlZGJhY2tTZXJ2aWNlID0gaW5qZWN0KEZlZWRiYWNrU2VydmljZSk7XG4gKlxuICogICBhc3luYyBzdWJtaXRGZWVkYmFjaygpIHtcbiAqICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFzeW5jKFxuICogICAgICAgJ2ZlZWRiYWNrJyxcbiAqICAgICAgICdNaSBjb21lbnRhcmlvJyxcbiAqICAgICAgICdEZXNjcmlwY2nDs24gZGV0YWxsYWRhLi4uJ1xuICogICAgICk7XG4gKiAgICAgY29uc29sZS5sb2coJ0ZlZWRiYWNrIGVudmlhZG86JywgcmVzcG9uc2UuZmVlZGJhY2tJZCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfRkVFREJBQ0tfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgZmlyZXN0b3JlID0gaW5qZWN0KEZpcmVzdG9yZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgc3RvcmFnZSA9IGluamVjdChTdG9yYWdlU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGlzQ29uZmlndXJlZCA9IHNpZ25hbCghIXRoaXMuY29uZmlnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBGZWVkYmFja1NlcnZpY2U6IHByb3ZpZGVWYWx0ZWNoRmVlZGJhY2soKSBubyBlc3TDoSBlbiBtYWluLnRzLiAnICtcbiAgICAgICAgICAnTGFzIHJlYWNjaW9uZXMgeSBlbCBmZWVkYmFjayBubyBmdW5jaW9uYXLDoW4uJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVVJMIGJhc2UgcGFyYSBlbmRwb2ludHMgZGUgZmVlZGJhY2suXG4gICAqL1xuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnPy5hcGlVcmx9JHt0aGlzLmNvbmZpZz8uZmVlZGJhY2tQcmVmaXh9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXB0dXJhIGVsIGNvbnRleHRvIGRlbCBkaXNwb3NpdGl2byBhdXRvbcOhdGljYW1lbnRlLlxuICAgKi9cbiAgY2FwdHVyZURldmljZUNvbnRleHQoKTogRGV2aWNlQ29udGV4dCB7XG4gICAgY29uc3QgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xuICAgIHJldHVybiB7XG4gICAgICBicm93c2VyOiB0aGlzLmRldGVjdEJyb3dzZXIodWEpLFxuICAgICAgb3M6IHRoaXMuZGV0ZWN0T1ModWEpLFxuICAgICAgdmlld3BvcnQ6IGAke3dpbmRvdy5pbm5lcldpZHRofXgke3dpbmRvdy5pbm5lckhlaWdodH1gLFxuICAgICAgbGFuZ3VhZ2U6IG5hdmlnYXRvci5sYW5ndWFnZSxcbiAgICAgIHVzZXJBZ2VudDogdWEsXG4gICAgICBwYWdlVXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgdW4gbnVldm8gZmVlZGJhY2suXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBmZWVkYmFja1xuICAgKiBAcGFyYW0gdGl0bGUgLSBUw610dWxvIGRlbCBmZWVkYmFja1xuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBEZXNjcmlwY2nDs24gZGV0YWxsYWRhXG4gICAqIEBwYXJhbSBhdHRhY2htZW50cyAtIFVSTHMgZGUgYXJjaGl2b3MgYWRqdW50b3MgKG9wY2lvbmFsKVxuICAgKiBAcGFyYW0gY29udGVudFJlZiAtIFJlZmVyZW5jaWEgYSBjb250ZW5pZG8gZXNwZWPDrWZpY28gKG9wY2lvbmFsKVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGNyZWF0ZShcbiAgICB0eXBlOiBGZWVkYmFja1R5cGUsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzOiBzdHJpbmdbXSA9IFtdLFxuICAgIGNvbnRlbnRSZWY/OiBDb250ZW50UmVmXG4gICk6IE9ic2VydmFibGU8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUZlZWRiYWNrUmVxdWVzdCA9IHtcbiAgICAgIHR5cGUsXG4gICAgICB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgYXR0YWNobWVudHMsXG4gICAgICBjb250ZW50UmVmLFxuICAgICAgZGV2aWNlQ29udGV4dDogdGhpcy5jYXB0dXJlRGV2aWNlQ29udGV4dCgpLFxuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnPy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjayAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQXN5bmMoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5jcmVhdGUodHlwZSwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhdHRhY2htZW50cywgY29udGVudFJlZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEIChzb2xvIGVsIHByb3BpZXRhcmlvKS5cbiAgICpcbiAgICogQHBhcmFtIGZlZWRiYWNrSWQgLSBJRCBkZWwgZmVlZGJhY2tcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBnZXRCeUlkKGZlZWRiYWNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0RmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdldEZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtmZWVkYmFja0lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEICh2ZXJzacOzbiBhc3luYy9hd2FpdCkuXG4gICAqL1xuICBhc3luYyBnZXRCeUlkQXN5bmMoZmVlZGJhY2tJZDogc3RyaW5nKTogUHJvbWlzZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuZ2V0QnlJZChmZWVkYmFja0lkKSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhIHNpIHVuIGFyY2hpdm8gY3VtcGxlIGNvbiBsYXMgcmVzdHJpY2Npb25lcy5cbiAgICovXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlKTogeyB2YWxpZDogYm9vbGVhbjsgZXJyb3I/OiBzdHJpbmcgfSB7XG4gICAgLy8gVmVyaWZpY2FyIHRhbWHDsW9cbiAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5jb25maWc/Lm1heEZpbGVTaXplISkge1xuICAgICAgY29uc3QgbWF4U2l6ZU1CID0gTWF0aC5yb3VuZCh0aGlzLmNvbmZpZz8ubWF4RmlsZVNpemUhIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBgRWwgYXJjaGl2byBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7bWF4U2l6ZU1CfU1CYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2FyIHRpcG9cbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSB0aGlzLmNvbmZpZz8uYWxsb3dlZEZpbGVUeXBlcyB8fCBbXTtcbiAgICBjb25zdCBpc0FsbG93ZWQgPSBhbGxvd2VkVHlwZXMuc29tZShwYXR0ZXJuID0+IHtcbiAgICAgIGlmIChwYXR0ZXJuLmVuZHNXaXRoKCcvKicpKSB7XG4gICAgICAgIGNvbnN0IGJhc2VUeXBlID0gcGF0dGVybi5yZXBsYWNlKCcvKicsICcnKTtcbiAgICAgICAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKGJhc2VUeXBlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWxlLnR5cGUgPT09IHBhdHRlcm47XG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQWxsb3dlZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogJ1RpcG8gZGUgYXJjaGl2byBubyBwZXJtaXRpZG8nLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSBlbCBDT05URU5JRE8gZGVsIGFyY2hpdm8gcG9yIG1hZ2ljLWJ5dGVzIChmaXJtYSBiaW5hcmlhKSDigJRcbiAgICogZGVmZW5zYSBjb250cmEgc3Bvb2ZpbmcgZGVsIGNvbnRlbnQtdHlwZSBkZWNsYXJhZG8uIExlZSBsb3MgcHJpbWVyb3MgMTJcbiAgICogYnl0ZXMgeSBsb3MgY29tcGFyYSBjb24gbGFzIGZpcm1hcyBkZSBKUEVHL1BORy9XZWJQL1BERiAod2hpdGVsaXN0XG4gICAqIGVzdHJpY3RhKS4gRXMgY2xpZW50LXNpZGUsIGVyZ28gYnlwYXNzZWFibGU7IGxhIGRlZmVuc2EgcmVhbCB2aXZlIGVuIGxhc1xuICAgKiBTdG9yYWdlIHJ1bGVzLiBFc3RvIGNvcnRhIGVsIDk5JSBkZSBsb3MgY2Fzb3MgYWNjaWRlbnRhbGVzIG8gbm8tdGFyZ2V0ZWQuXG4gICAqL1xuICBhc3luYyB2YWxpZGF0ZUZpbGVDb250ZW50KGZpbGU6IEZpbGUpOiBQcm9taXNlPHsgdmFsaWQ6IGJvb2xlYW47IGVycm9yPzogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBidWYgPSBhd2FpdCBmaWxlLnNsaWNlKDAsIDEyKS5hcnJheUJ1ZmZlcigpO1xuICAgIGNvbnN0IGIgPSBuZXcgVWludDhBcnJheShidWYpO1xuXG4gICAgLy8gSlBFRzogRkYgRDggRkZcbiAgICBpZiAoYlswXSA9PT0gMHhmZiAmJiBiWzFdID09PSAweGQ4ICYmIGJbMl0gPT09IDB4ZmYpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgfVxuICAgIC8vIFBORzogODkgNTAgNEUgNDcgMEQgMEEgMUEgMEFcbiAgICBpZiAoXG4gICAgICBiWzBdID09PSAweDg5ICYmXG4gICAgICBiWzFdID09PSAweDUwICYmXG4gICAgICBiWzJdID09PSAweDRlICYmXG4gICAgICBiWzNdID09PSAweDQ3ICYmXG4gICAgICBiWzRdID09PSAweDBkICYmXG4gICAgICBiWzVdID09PSAweDBhICYmXG4gICAgICBiWzZdID09PSAweDFhICYmXG4gICAgICBiWzddID09PSAweDBhXG4gICAgKSB7XG4gICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgIH1cbiAgICAvLyBXZWJQOiBcIlJJRkZcIiAoMC4uMykgKyBcIldFQlBcIiAoOC4uMTEpXG4gICAgaWYgKFxuICAgICAgYlswXSA9PT0gMHg1MiAmJlxuICAgICAgYlsxXSA9PT0gMHg0OSAmJlxuICAgICAgYlsyXSA9PT0gMHg0NiAmJlxuICAgICAgYlszXSA9PT0gMHg0NiAmJlxuICAgICAgYls4XSA9PT0gMHg1NyAmJlxuICAgICAgYls5XSA9PT0gMHg0NSAmJlxuICAgICAgYlsxMF0gPT09IDB4NDIgJiZcbiAgICAgIGJbMTFdID09PSAweDUwXG4gICAgKSB7XG4gICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgIH1cbiAgICAvLyBQREY6IFwiJVBERi1cIlxuICAgIGlmIChiWzBdID09PSAweDI1ICYmIGJbMV0gPT09IDB4NTAgJiYgYlsyXSA9PT0gMHg0NCAmJiBiWzNdID09PSAweDQ2ICYmIGJbNF0gPT09IDB4MmQpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiAnRWwgY29udGVuaWRvIGRlbCBhcmNoaXZvIG5vIGNvaW5jaWRlIGNvbiB1biB0aXBvIHBlcm1pdGlkbyAoaW1hZ2VuIG8gUERGKS4nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU3ViZSB1biBhZGp1bnRvIGEgRmlyZWJhc2UgU3RvcmFnZSBlbiBgdXNlcnMve3VpZH0vZmVlZGJhY2sve3V1aWR9L3tuYW1lfWBcbiAgICogeSBkZXZ1ZWx2ZSBzdSBkb3dubG9hZCBVUkwuIEVqZWN1dGEgdHJlcyB2YWxpZGFjaW9uZXMgZW4gb3JkZW46XG4gICAqICAgMS4gdGFtYcOxbyArIHRpcG8gZGVjbGFyYWRvIChgdmFsaWRhdGVGaWxlYClcbiAgICogICAyLiBjb250ZW5pZG8gcG9yIG1hZ2ljLWJ5dGVzIChgdmFsaWRhdGVGaWxlQ29udGVudGApXG4gICAqICAgMy4gdXN1YXJpbyBhdXRlbnRpY2FkbyAobm8gc29wb3J0YW1vcyBhZGp1bnRvcyBlbiBmZWVkYmFjayBhbsOzbmltbylcbiAgICpcbiAgICogU2kgY3VhbHF1aWVyIHZhbGlkYWNpw7NuIGZhbGxhIOKGkiByZWNoYXphIGxhIHByb21lc2EgY29uIHVuIEVycm9yIGxlZ2libGU7XG4gICAqIGVsIGNvbXBvbmVudGUgcXVlIGxhIGNvbnN1bWEgZGViZSBjYW5jZWxhciBsYSBvcGVyYWNpw7NuIGRlIGFkanVudGFyLlxuICAgKi9cbiAgYXN5bmMgdXBsb2FkQXR0YWNobWVudChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzaXplVHlwZUNoZWNrID0gdGhpcy52YWxpZGF0ZUZpbGUoZmlsZSk7XG4gICAgaWYgKCFzaXplVHlwZUNoZWNrLnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3Ioc2l6ZVR5cGVDaGVjay5lcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudENoZWNrID0gYXdhaXQgdGhpcy52YWxpZGF0ZUZpbGVDb250ZW50KGZpbGUpO1xuICAgIGlmICghY29udGVudENoZWNrLnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoY29udGVudENoZWNrLmVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VySWQgPSB0aGlzLmF1dGg/LnVzZXIoKT8udXNlcklkO1xuICAgIGlmICghdXNlcklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlYmVzIGluaWNpYXIgc2VzacOzbiBwYXJhIGFkanVudGFyIGFyY2hpdm9zLicpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdG9yYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0b3JhZ2VTZXJ2aWNlIG5vIGVzdMOhIGNvbmZpZ3VyYWRvLicpO1xuICAgIH1cblxuICAgIC8vIFBhdGggYmFqbyBgdXNlcnMve3VpZH0vZmVlZGJhY2svYCDigJQgc2libGluZyBkZSBgZmlsZXMvYCwgY29uIHN1IHByb3BpYVxuICAgIC8vIHJlZ2xhIGVuIGBzdG9yYWdlLnJ1bGVzYCAod2hpdGVsaXN0IGVzdHJpY3RhIEpQRUcvUE5HL1dlYlAvUERGICsgNU1CKS5cbiAgICAvLyBza2lwUHJlZml4PXRydWUgcG9ycXVlIGB1c2Vycy97dWlkfS9gIGVzIHBhdGggR0xPQkFMIGNyb3NzLWFwcC5cbiAgICBjb25zdCB1dWlkID1cbiAgICAgIHR5cGVvZiBjcnlwdG8gIT09ICd1bmRlZmluZWQnICYmICdyYW5kb21VVUlEJyBpbiBjcnlwdG9cbiAgICAgICAgPyBjcnlwdG8ucmFuZG9tVVVJRCgpXG4gICAgICAgIDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKX1gO1xuICAgIGNvbnN0IHNhZmVOYW1lID0gZmlsZS5uYW1lLnJlcGxhY2UoL1teYS16QS1aMC05Ll8tXS9nLCAnXycpO1xuICAgIGNvbnN0IHBhdGggPSBgdXNlcnMvJHt1c2VySWR9L2ZlZWRiYWNrLyR7dXVpZH0vJHtzYWZlTmFtZX1gO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zdG9yYWdlLnVwbG9hZEFuZEdldFVybChwYXRoLCBmaWxlLCB7XG4gICAgICBjb250ZW50VHlwZTogZmlsZS50eXBlLFxuICAgICAgc2tpcFByZWZpeDogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0LmRvd25sb2FkVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgbGEgY29uZmlndXJhY2nDs24gYWN0dWFsIGRlbCBzZXJ2aWNpby5cbiAgICovXG4gIGdldENvbmZpZygpOiBSZWFkb25seTx0eXBlb2YgdGhpcy5jb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJlYWN0aW9uIE1ldGhvZHMgKENvbnRlbnQgZmVlZGJhY2sgd2l0aCBlbW9qaXMpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgZWwgdXN1YXJpbyB5YSBkaW8gZmVlZGJhY2sgcGFyYSB1bmEgZW50aWRhZCBlc3BlY8OtZmljYS5cbiAgICpcbiAgICogUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgRmlyZWJhc2UgKHLDoXBpZG8sIHNpbiBsYXRlbmNpYSBkZSByZWQgYWwgYmFja2VuZCkuXG4gICAqIFNpIEZpcmViYXNlIG5vIGVzdMOhIGRpc3BvbmlibGUgbyBmYWxsYSwgaGFjZSBmYWxsYmFjayBhIGxhIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIGVudGl0eVR5cGUgLSBUaXBvIGRlIGVudGlkYWQgKGFydGljbGUsIGRvY3MsIGZlYXR1cmUsIGV0Yy4pXG4gICAqIEBwYXJhbSBlbnRpdHlJZCAtIElEIGRlIGxhIGVudGlkYWRcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb24gbGEgcmVzcHVlc3RhIGRlIHZlcmlmaWNhY2nDs25cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBjaGVjayA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNoZWNrRmVlZGJhY2soJ2FydGljbGUnLCAnYXJ0LTEyMycpO1xuICAgKiBpZiAoY2hlY2suaGFzRmVlZGJhY2spIHtcbiAgICogICBjb25zb2xlLmxvZygnWWEgZGlvIGZlZWRiYWNrOicsIGNoZWNrLnJlYWN0aW9uVmFsdWUpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY2hlY2tGZWVkYmFjayhlbnRpdHlUeXBlOiBzdHJpbmcsIGVudGl0eUlkOiBzdHJpbmcpOiBQcm9taXNlPENoZWNrRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIC8vIFNpIG5vIGhheSB1c3VhcmlvIGF1dGVudGljYWRvLCBubyBwdWVkZSBoYWJlciBmZWVkYmFjayBwcmV2aW9cbiAgICAvLyBSZXRvcm5hciBpbm1lZGlhdGFtZW50ZSBzaW4gbGxhbWFyIGFsIEFQSSAoZXZpdGEgNDAxIHkgcmVkaXJlY3QgYSBsb2dpbilcbiAgICBjb25zdCB1c2VySWQgPSB0aGlzLmF1dGg/LnVzZXIoKT8udXNlcklkO1xuICAgIGlmICghdXNlcklkKSB7XG4gICAgICByZXR1cm4geyBvcGVyYXRpb25JZDogJycsIGhhc0ZlZWRiYWNrOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIC8vIDEuIEludGVudGFyIEZpcmViYXNlIHByaW1lcm8gKHNpIGVzdMOhIGRpc3BvbmlibGUpXG4gICAgaWYgKHRoaXMuZmlyZXN0b3JlKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBQYXRoOiBmZWVkYmFjay97ZW50aXR5VHlwZX0ve2VudGl0eUlkfS97dXNlcklkfVxuICAgICAgICAvLyBGaXJlc3RvcmVTZXJ2aWNlIGFncmVnYSBhdXRvbcOhdGljYW1lbnRlIGVsIHByZWZpam8gYXBwcy97YXBwSWR9L1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uUGF0aCA9IGBmZWVkYmFjay8ke2VudGl0eVR5cGV9LyR7ZW50aXR5SWR9YDtcbiAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgdGhpcy5maXJlc3RvcmUuZ2V0RG9jPEZlZWRiYWNrRmlyZXN0b3JlRG9jPihjb2xsZWN0aW9uUGF0aCwgdXNlcklkKTtcblxuICAgICAgICBpZiAoZG9jKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnJyxcbiAgICAgICAgICAgIGhhc0ZlZWRiYWNrOiB0cnVlLFxuICAgICAgICAgICAgZmVlZGJhY2tJZDogZG9jLmZlZWRiYWNrSWQsXG4gICAgICAgICAgICB0eXBlOiBkb2MudHlwZSBhcyBGZWVkYmFja1R5cGUsXG4gICAgICAgICAgICByZWFjdGlvblZhbHVlOiBkb2MucmVhY3Rpb25WYWx1ZSBhcyBSZWFjdGlvblZhbHVlLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBkb2MuY3JlYXRlZEF0Py50b0lTT1N0cmluZygpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEb2Mgbm8gZXhpc3RlID0gbm8gaGF5IGZlZWRiYWNrXG4gICAgICAgIHJldHVybiB7IG9wZXJhdGlvbklkOiAnJywgaGFzRmVlZGJhY2s6IGZhbHNlIH07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tGZWVkYmFja1NlcnZpY2VdIEZpcmViYXNlIGNoZWNrIGZhaWxlZCwgZmFsbGluZyBiYWNrIHRvIEFQSTonLCBlcnJvcik7XG4gICAgICAgIC8vIEZhbGxiYWNrIGEgQVBJXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMi4gRmFsbGJhY2s6IGxsYW1hciBBUEkgKHNvbG8gc2kgaGF5IHVzdWFyaW8gYXV0ZW50aWNhZG8pXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICBhcHBJZDogdGhpcy5jb25maWc/LmFwcElkLFxuICAgICAgZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eUlkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8Q2hlY2tGZWVkYmFja1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2NoZWNrPyR7cGFyYW1zfWApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIG8gYWN0dWFsaXphIHVuYSByZWFjY2nDs24gKGZlZWRiYWNrIGNvbiBlbW9qaSkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZVJlYWN0aW9uKFxuICAgKiAgIHsgZW50aXR5VHlwZTogJ2FydGljbGUnLCBlbnRpdHlJZDogJ2FydC0xMjMnIH0sXG4gICAqICAgJ3Bvc2l0aXZlJyxcbiAgICogICAnTXV5IMO6dGlsISdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUZlZWRiYWNrUmVxdWVzdCA9IHtcbiAgICAgIHR5cGU6ICdyZWFjdGlvbicsXG4gICAgICBlbnRpdHlSZWYsXG4gICAgICByZWFjdGlvblZhbHVlOiB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBjb21tZW50IHx8ICcnLFxuICAgICAgZGV2aWNlQ29udGV4dDogdGhpcy5jYXB0dXJlRGV2aWNlQ29udGV4dCgpLFxuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnPy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgZmVlZGJhY2sgYW7Ds25pbW8gKHNpbiBhdXRlbnRpY2FjacOzbiByZXF1ZXJpZGEpLlxuICAgKiBVc2FkbyBwYXJhIGJsb2dzLCBGQVFzIHkgY29udGVuaWRvIHDDumJsaWNvLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5UmVmIC0gUmVmZXJlbmNpYSBhIGxhIGVudGlkYWRcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgZGUgbGEgcmVhY2Npw7NuIChuZWdhdGl2ZSwgbmV1dHJhbCwgcG9zaXRpdmUpXG4gICAqIEBwYXJhbSBjb21tZW50IC0gQ29tZW50YXJpbyBvcGNpb25hbCAobcOheCA1MDAgY2FyYWN0ZXJlcylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gRW4gdW4gYmxvZyBww7pibGljb1xuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFub255bW91c1JlYWN0aW9uKFxuICAgKiAgIHsgZW50aXR5VHlwZTogJ2Jsb2cnLCBlbnRpdHlJZDogJ215LXBvc3Qtc2x1ZycgfSxcbiAgICogICAncG9zaXRpdmUnXG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAgZW50aXR5UmVmOiBFbnRpdHlSZWYsXG4gICAgdmFsdWU6IFJlYWN0aW9uVmFsdWUsXG4gICAgY29tbWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogJ3JlYWN0aW9uJyBhcyBjb25zdCxcbiAgICAgIGVudGl0eVJlZixcbiAgICAgIHJlYWN0aW9uVmFsdWU6IHZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGNvbW1lbnQgfHwgJycsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWc/LmFwcElkLFxuICAgIH07XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAucG9zdDxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2Fub255bW91c2AsIHJlcXVlc3QpXG4gICAgKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSGVscGVycyBwcml2YWRvcyBwYXJhIGRldGVjY2nDs24gZGUgYnJvd3Nlci9PU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgcHJpdmF0ZSBkZXRlY3RCcm93c2VyKHVhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1YS5pbmNsdWRlcygnRWRnLycpKSByZXR1cm4gJ0VkZ2UnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnQ2hyb21lLycpKSByZXR1cm4gJ0Nocm9tZSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdGaXJlZm94LycpKSByZXR1cm4gJ0ZpcmVmb3gnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnU2FmYXJpLycpICYmICF1YS5pbmNsdWRlcygnQ2hyb21lJykpIHJldHVybiAnU2FmYXJpJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ09wZXJhJykgfHwgdWEuaW5jbHVkZXMoJ09QUi8nKSkgcmV0dXJuICdPcGVyYSc7XG4gICAgcmV0dXJuICdVbmtub3duJztcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0T1ModWE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzIE5UIDEwJykpIHJldHVybiAnV2luZG93cyAxMCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzIE5UIDExJykpIHJldHVybiAnV2luZG93cyAxMSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdXaW5kb3dzJykpIHJldHVybiAnV2luZG93cyc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdNYWMgT1MgWCcpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHVhLm1hdGNoKC9NYWMgT1MgWCAoXFxkK1suX11cXGQrKS8pO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiBgbWFjT1MgJHttYXRjaFsxXS5yZXBsYWNlKCdfJywgJy4nKX1gO1xuICAgICAgfVxuICAgICAgcmV0dXJuICdtYWNPUyc7XG4gICAgfVxuICAgIGlmICh1YS5pbmNsdWRlcygnQW5kcm9pZCcpKSByZXR1cm4gJ0FuZHJvaWQnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnaVBob25lJykgfHwgdWEuaW5jbHVkZXMoJ2lQYWQnKSkgcmV0dXJuICdpT1MnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnTGludXgnKSkgcmV0dXJuICdMaW51eCc7XG4gICAgcmV0dXJuICdVbmtub3duJztcbiAgfVxufVxuIl19
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.905';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45MDUnO1xuIl19
|