@bravobit/bb-foundation 0.42.0 → 0.42.1
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/auth/lib/auth.interceptor.d.ts +3 -6
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +2 -5
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +4 -6
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
- package/esm2022/auth/lib/auth.interceptor.mjs +36 -42
- package/esm2022/auth/lib/auth.module.mjs +4 -4
- package/esm2022/auth/lib/auth.service.mjs +18 -7
- package/esm2022/auth/lib/auth.session.mjs +26 -22
- package/esm2022/auth/lib/directives/authenticated.directive.mjs +16 -12
- package/esm2022/auth/lib/helpers/jwt.helper.mjs +29 -31
- package/esm2022/auth/lib/providers/email.provider.mjs +4 -1
- package/esm2022/auth/lib/providers/verify.provider.mjs +4 -1
- package/esm2022/collections/lib/collection.mjs +17 -7
- package/esm2022/collections/lib/collections.module.mjs +6 -6
- package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +7 -9
- package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +11 -11
- package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +10 -10
- package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +16 -16
- package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +9 -11
- package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +12 -9
- package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +10 -7
- package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +6 -3
- package/esm2022/collections/lib/directives/collections-data.directive.mjs +6 -3
- package/esm2022/collections/lib/directives/collections-empty.directive.mjs +6 -3
- package/esm2022/collections/lib/directives/collections-error.directive.mjs +6 -3
- package/esm2022/collections/lib/directives/collections-initial.directive.mjs +4 -3
- package/esm2022/collections/lib/directives/collections-item.directive.mjs +6 -3
- package/esm2022/collections/lib/providers/api-collection.provider.mjs +6 -4
- package/esm2022/collections/lib/providers/local-collection.provider.mjs +2 -2
- package/esm2022/combobox/combobox/combobox-container.directive.mjs +12 -7
- package/esm2022/combobox/combobox/combobox.component.mjs +23 -20
- package/esm2022/combobox/combobox-label.directive.mjs +3 -3
- package/esm2022/combobox/combobox-option.directive.mjs +3 -3
- package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +10 -6
- package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +13 -13
- package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +5 -7
- package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +8 -10
- package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +5 -7
- package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +12 -13
- package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +13 -12
- package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +7 -5
- package/esm2022/dashboard/lib/dashboard.module.mjs +5 -5
- package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +21 -20
- package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +19 -24
- package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -7
- package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +9 -6
- package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +19 -26
- package/esm2022/dialog/lib/dialog.insertion.mjs +4 -3
- package/esm2022/dialog/lib/dialog.interfaces.mjs +4 -1
- package/esm2022/dialog/lib/dialog.module.mjs +6 -6
- package/esm2022/dialog/lib/dialog.ref.mjs +4 -6
- package/esm2022/dialog/lib/dialog.service.mjs +5 -3
- package/esm2022/dialog/lib/directives/confirm.directive.mjs +12 -14
- package/esm2022/elements/lib/avatar/avatar.component.mjs +75 -77
- package/esm2022/elements/lib/button/button.component.mjs +12 -10
- package/esm2022/elements/lib/checkbox/checkbox.component.mjs +21 -17
- package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +8 -10
- package/esm2022/elements/lib/date-picker/date-picker.component.mjs +82 -76
- package/esm2022/elements/lib/directives/addon.directive.mjs +5 -5
- package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +7 -9
- package/esm2022/elements/lib/directives/form-submit.directive.mjs +6 -3
- package/esm2022/elements/lib/directives/form-submitter.directive.mjs +5 -7
- package/esm2022/elements/lib/directives/image-upload.directive.mjs +14 -11
- package/esm2022/elements/lib/directives/input.directive.mjs +6 -4
- package/esm2022/elements/lib/elements.module.mjs +6 -6
- package/esm2022/elements/lib/file-picker/file-picker.component.mjs +52 -51
- package/esm2022/elements/lib/form-control/form-control.component.mjs +14 -14
- package/esm2022/elements/lib/form-error/form-error.component.mjs +16 -8
- package/esm2022/elements/lib/form-group/form-group.component.mjs +5 -7
- package/esm2022/elements/lib/icon/icon.component.mjs +14 -13
- package/esm2022/elements/lib/image-picker/image-picker.component.mjs +20 -17
- package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +28 -24
- package/esm2022/elements/lib/pipes/date.pipe.mjs +6 -8
- package/esm2022/elements/lib/pipes/file-image.pipe.mjs +6 -3
- package/esm2022/elements/lib/pipes/file-size.pipe.mjs +13 -15
- package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +37 -35
- package/esm2022/elements/lib/radio-button/radio-button.component.mjs +8 -7
- package/esm2022/elements/lib/radio-group/radio-group.component.mjs +21 -20
- package/esm2022/elements/lib/spinner/spinner.component.mjs +7 -9
- package/esm2022/http/lib/classes/http.config.mjs +19 -15
- package/esm2022/http/lib/http.interfaces.mjs +1 -1
- package/esm2022/http/lib/http.module.mjs +5 -4
- package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +12 -20
- package/esm2022/http/lib/interceptors/error.interceptor.mjs +9 -14
- package/esm2022/lib/core/services/exif.service.mjs +102 -100
- package/esm2022/lib/core/services/file-loader.service.mjs +15 -17
- package/esm2022/lib/core/services/files.service.mjs +7 -3
- package/esm2022/lib/core/services/image-converter.service.mjs +33 -30
- package/esm2022/lib/core/services/languages.service.mjs +25 -24
- package/esm2022/lib/core/services/network.service.mjs +8 -5
- package/esm2022/lib/core/services/patch.service.mjs +9 -6
- package/esm2022/localize/lib/dictionary/dictionary.class.mjs +7 -1
- package/esm2022/localize/lib/dictionary/dictionary.context.mjs +2 -4
- package/esm2022/localize/lib/dictionary/dictionary.data.mjs +2 -1
- package/esm2022/localize/lib/handlers/missing.handler.mjs +2 -4
- package/esm2022/localize/lib/localize.module.mjs +5 -5
- package/esm2022/localize/lib/localize.pipe.mjs +4 -3
- package/esm2022/localize/lib/localize.service.mjs +30 -21
- package/esm2022/localize/lib/transforms/interpolate.transform.mjs +5 -1
- package/esm2022/localize/lib/transforms/plural.transform.mjs +6 -4
- package/esm2022/localize/lib/transforms/reference.transform.mjs +3 -1
- package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +14 -11
- package/esm2022/localize/lib/views/localize-template.directive.mjs +6 -5
- package/esm2022/masking/lib/directives/currency-mask.directive.mjs +11 -6
- package/esm2022/masking/lib/directives/date-mask.directive.mjs +11 -6
- package/esm2022/masking/lib/directives/input-mask.directive.mjs +21 -14
- package/esm2022/masking/lib/masking.module.mjs +5 -5
- package/esm2022/masking/lib/masking.service.mjs +4 -3
- package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +50 -36
- package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +8 -7
- package/esm2022/notifications/lib/notifications.interfaces.mjs +10 -1
- package/esm2022/notifications/lib/notifications.module.mjs +4 -4
- package/esm2022/notifications/lib/notifications.service.mjs +24 -10
- package/esm2022/permissions/lib/directives/permission.directive.mjs +20 -14
- package/esm2022/permissions/lib/handlers/local.handler.mjs +3 -1
- package/esm2022/permissions/lib/permissions.interface.mjs +4 -1
- package/esm2022/permissions/lib/permissions.module.mjs +4 -4
- package/esm2022/permissions/lib/permissions.service.mjs +8 -7
- package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +34 -27
- package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +15 -15
- package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
- package/esm2022/select/lib/select/select.component.mjs +52 -47
- package/esm2022/select/lib/select-label.directive.mjs +4 -3
- package/esm2022/select/lib/select-multi-label.directive.mjs +4 -3
- package/esm2022/select/lib/select-option-group.directive.mjs +4 -3
- package/esm2022/select/lib/select-option.directive.mjs +4 -3
- package/esm2022/select/lib/select.module.mjs +5 -5
- package/esm2022/storage/lib/storage.service.mjs +25 -21
- package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +66 -64
- package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +16 -18
- package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +31 -30
- package/esm2022/table/lib/components/table/table.component.mjs +30 -20
- package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
- package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +15 -11
- package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +18 -16
- package/esm2022/table/lib/data/datasource.data.mjs +4 -6
- package/esm2022/table/lib/data/generic.data.mjs +38 -36
- package/esm2022/table/lib/table.module.mjs +6 -6
- package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +5 -7
- package/esm2022/tooltip/lib/tooltip.directive.mjs +15 -15
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/utils/lib/directives/autosize.directive.mjs +9 -7
- package/esm2022/utils/lib/directives/focus-trap.directive.mjs +24 -22
- package/esm2022/utils/lib/directives/focus.directive.mjs +8 -5
- package/esm2022/utils/lib/directives/template.directive.mjs +7 -3
- package/esm2022/utils/lib/utils.module.mjs +5 -5
- package/fesm2022/bravobit-bb-foundation-auth.mjs +127 -110
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +123 -93
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +46 -34
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +60 -64
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +97 -103
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +468 -440
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +40 -46
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +74 -49
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +47 -29
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +91 -53
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +34 -22
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +50 -43
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-select.mjs +67 -58
- package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +134 -129
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +107 -91
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +21 -23
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +48 -37
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +192 -178
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/http/lib/http.interfaces.d.ts +2 -1
- package/http/lib/interceptors/base-url.interceptor.d.ts +2 -4
- package/http/lib/interceptors/error.interceptor.d.ts +1 -3
- package/package.json +13 -13
|
@@ -2,29 +2,11 @@ import { ACCEPT_LANGUAGE } from '../tokens/accept-language.token';
|
|
|
2
2
|
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class Languages {
|
|
5
|
+
_acceptLanguage;
|
|
6
|
+
// Data.
|
|
7
|
+
_data = [];
|
|
5
8
|
constructor(_acceptLanguage) {
|
|
6
9
|
this._acceptLanguage = _acceptLanguage;
|
|
7
|
-
// Data.
|
|
8
|
-
this._data = [];
|
|
9
|
-
this.getLanguages = () => {
|
|
10
|
-
// If defined we must be in a server environment.
|
|
11
|
-
if (this._acceptLanguage) {
|
|
12
|
-
return this._acceptLanguage;
|
|
13
|
-
}
|
|
14
|
-
// Try to get the languages from the navigator.
|
|
15
|
-
if (typeof navigator !== 'object') {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
let t = 'anguage';
|
|
19
|
-
let n = navigator;
|
|
20
|
-
let f = n['l' + t + 's'];
|
|
21
|
-
const data = f && f.length ? f : (t = n['l' + t] ||
|
|
22
|
-
n['browserL' + t] ||
|
|
23
|
-
n['userL' + t]) ? [t] : t;
|
|
24
|
-
return typeof data === 'string'
|
|
25
|
-
? data
|
|
26
|
-
: data.join(';');
|
|
27
|
-
};
|
|
28
10
|
this._data = this.initialize();
|
|
29
11
|
}
|
|
30
12
|
get all() {
|
|
@@ -57,8 +39,27 @@ export class Languages {
|
|
|
57
39
|
.filter(item => !!item)
|
|
58
40
|
.sort((a, b) => b.quality - a.quality);
|
|
59
41
|
}
|
|
60
|
-
|
|
61
|
-
|
|
42
|
+
getLanguages = () => {
|
|
43
|
+
// If defined we must be in a server environment.
|
|
44
|
+
if (this._acceptLanguage) {
|
|
45
|
+
return this._acceptLanguage;
|
|
46
|
+
}
|
|
47
|
+
// Try to get the languages from the navigator.
|
|
48
|
+
if (typeof navigator !== 'object') {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
let t = 'anguage';
|
|
52
|
+
let n = navigator;
|
|
53
|
+
let f = n['l' + t + 's'];
|
|
54
|
+
const data = f && f.length ? f : (t = n['l' + t] ||
|
|
55
|
+
n['browserL' + t] ||
|
|
56
|
+
n['userL' + t]) ? [t] : t;
|
|
57
|
+
return typeof data === 'string'
|
|
58
|
+
? data
|
|
59
|
+
: data.join(';');
|
|
60
|
+
};
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Languages, providedIn: 'root' });
|
|
62
63
|
}
|
|
63
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Languages, decorators: [{
|
|
64
65
|
type: Injectable,
|
|
@@ -71,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
71
72
|
type: Inject,
|
|
72
73
|
args: [ACCEPT_LANGUAGE]
|
|
73
74
|
}] }] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9sYW5ndWFnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUszRCxNQUFNLE9BQU8sU0FBUztJQUt1QztJQUh6RCxRQUFRO0lBQ1MsS0FBSyxHQUEwRSxFQUFFLENBQUM7SUFFbkcsWUFBeUQsZUFBd0I7UUFBeEIsb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDN0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRU8sVUFBVTtRQUNkLHFCQUFxQjtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakMsd0NBQXdDO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQzthQUN2QixLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUU3RSwwQ0FBMEM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUVwQyxPQUFPO2dCQUNILElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDbEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQzdELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxnQ0FBZ0M7UUFDaEMsT0FBTyxPQUFPO2FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sWUFBWSxHQUFHLEdBQUcsRUFBRTtRQUN4QixpREFBaUQ7UUFDakQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLENBQUM7UUFFRCwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUV6QixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDM0IsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7dUdBcEVPLFNBQVMsa0JBS2MsZUFBZTsyR0FMdEMsU0FBUyxjQUZOLE1BQU07OzJGQUVULFNBQVM7a0JBSHJCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBQ0NFUFRfTEFOR1VBR0V9IGZyb20gJy4uL3Rva2Vucy9hY2NlcHQtbGFuZ3VhZ2UudG9rZW4nO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZXMge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiB7IGNvZGU6IHN0cmluZywgc2NyaXB0Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHF1YWxpdHk6IG51bWJlciB9W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoQUNDRVBUX0xBTkdVQUdFKSBwcml2YXRlIF9hY2NlcHRMYW5ndWFnZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kYXRhID0gdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgZ2V0IGFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplKCkge1xuICAgICAgICAvLyBHZXQgdGhlIGxhbmd1YWdlcy5cbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0TGFuZ3VhZ2VzKCk7XG5cbiAgICAgICAgLy8gUGFyc2UgYWxsIGxhbmd1YWdlcyBieSB1c2luZyBhIHJlZ2V4LlxuICAgICAgICBjb25zdCBzdHJpbmdzID0gKGRhdGEgfHwgJycpXG4gICAgICAgICAgICAubWF0Y2goLygoKFthLXpBLVpdKygtW2EtekEtWjAtOV0rKXswLDJ9KXxcXCopKDtxPVswLTFdKFxcLlswLTldKyk/KT8pKi9nKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGNvbnRlbnQgYnkgcGFyc2luZyB0aGUgc3RyaW5ncy5cbiAgICAgICAgY29uc3QgY29udGVudCA9IHN0cmluZ3MubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJpdHMgPSBpdGVtLnNwbGl0KCc7Jyk7XG4gICAgICAgICAgICBjb25zdCBpZXRmID0gYml0c1swXS5zcGxpdCgnLScpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2NyaXB0ID0gaWV0Zi5sZW5ndGggPT09IDM7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogaWV0ZlswXSxcbiAgICAgICAgICAgICAgICBzY3JpcHQ6IGhhc1NjcmlwdCA/IGlldGZbMV0gOiBudWxsLFxuICAgICAgICAgICAgICAgIHJlZ2lvbjogaGFzU2NyaXB0ID8gaWV0ZlsyXSA6IGlldGZbMV0sXG4gICAgICAgICAgICAgICAgcXVhbGl0eTogYml0c1sxXSA/IHBhcnNlRmxvYXQoYml0c1sxXS5zcGxpdCgnPScpWzFdKSA6IDEuMFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBhbGwgdGhlIGVtcHR5IGl0ZW1zXG4gICAgICAgIC8vIGFuZCBzb3J0IHRoZW0gYnkgdGhlIHF1YWxpdHkuXG4gICAgICAgIHJldHVybiBjb250ZW50XG4gICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIucXVhbGl0eSAtIGEucXVhbGl0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYW5ndWFnZXMgPSAoKSA9PiB7XG4gICAgICAgIC8vIElmIGRlZmluZWQgd2UgbXVzdCBiZSBpbiBhIHNlcnZlciBlbnZpcm9ubWVudC5cbiAgICAgICAgaWYgKHRoaXMuX2FjY2VwdExhbmd1YWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0TGFuZ3VhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcnkgdG8gZ2V0IHRoZSBsYW5ndWFnZXMgZnJvbSB0aGUgbmF2aWdhdG9yLlxuICAgICAgICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHQgPSAnYW5ndWFnZSc7XG4gICAgICAgIGxldCBuID0gbmF2aWdhdG9yO1xuICAgICAgICBsZXQgZiA9IG5bJ2wnICsgdCArICdzJ107XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IGYgJiYgZi5sZW5ndGggPyBmIDogKHQgPSBuWydsJyArIHRdIHx8XG4gICAgICAgICAgICBuWydicm93c2VyTCcgKyB0XSB8fFxuICAgICAgICAgICAgblsndXNlckwnICsgdF0pID8gW3RdIDogdDtcblxuICAgICAgICByZXR1cm4gdHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGRhdGFcbiAgICAgICAgICAgIDogZGF0YS5qb2luKCc7Jyk7XG4gICAgfTtcblxufVxuIl19
|
|
@@ -6,12 +6,15 @@ import { WINDOW } from '../tokens/window.token';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/cdk/platform";
|
|
8
8
|
export class Network {
|
|
9
|
+
_platform;
|
|
10
|
+
_window;
|
|
11
|
+
_navigator;
|
|
12
|
+
// Data.
|
|
13
|
+
_online$ = of(true);
|
|
9
14
|
constructor(_platform, _window, _navigator) {
|
|
10
15
|
this._platform = _platform;
|
|
11
16
|
this._window = _window;
|
|
12
17
|
this._navigator = _navigator;
|
|
13
|
-
// Data.
|
|
14
|
-
this._online$ = of(true);
|
|
15
18
|
this.getOnlineObservable();
|
|
16
19
|
}
|
|
17
20
|
online() {
|
|
@@ -33,8 +36,8 @@ export class Network {
|
|
|
33
36
|
// a user is online/offline.
|
|
34
37
|
this._online$ = merge(now$, online$, offline$).pipe(distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
|
|
35
38
|
}
|
|
36
|
-
static
|
|
37
|
-
static
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Network, providedIn: 'root' });
|
|
38
41
|
}
|
|
39
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Network, decorators: [{
|
|
40
43
|
type: Injectable,
|
|
@@ -52,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
52
55
|
type: Inject,
|
|
53
56
|
args: [NAVIGATOR]
|
|
54
57
|
}] }] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxPQUFPO0lBS0k7SUFDNEI7SUFDRztJQUxuRCxRQUFRO0lBQ0EsUUFBUSxHQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakQsWUFBb0IsU0FBbUIsRUFDUyxPQUFnQixFQUNiLFVBQXNCO1FBRnJELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1gsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFVLFVBQVUsQ0FBQyxFQUFFO1lBQzlDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6QyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCwwQ0FBMEM7UUFDMUMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMvQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUMvQyxDQUFDO0lBQ04sQ0FBQzt1R0FuQ1EsT0FBTywwQ0FNZ0IsTUFBTSw2QkFDTixTQUFTOzJHQVBoQyxPQUFPLGNBRkosTUFBTTs7MkZBRVQsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9nQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05BVklHQVRPUn0gZnJvbSAnLi4vdG9rZW5zL25hdmlnYXRvci50b2tlbic7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJy4uL3Rva2Vucy93aW5kb3cudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5ldHdvcmsge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIF9vbmxpbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YodHJ1ZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1cpIHByaXZhdGUgX3dpbmRvdz86IFdpbmRvdyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BVklHQVRPUikgcHJpdmF0ZSBfbmF2aWdhdG9yPzogTmF2aWdhdG9yKSB7XG4gICAgICAgIHRoaXMuZ2V0T25saW5lT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIG9ubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29ubGluZSQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPbmxpbmVPYnNlcnZhYmxlKCkge1xuICAgICAgICAvLyBWYWxpZGF0ZSB3ZSBhcmUgb24gYSBicm93c2VyLlxuICAgICAgICBpZiAoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgZXZlbnRzIGZyb20gdGhlIHdpbmRvdy5cbiAgICAgICAgY29uc3Qgb25saW5lJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdvbmxpbmUnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gICAgICAgIGNvbnN0IG9mZmxpbmUkID0gZnJvbUV2ZW50KHRoaXMuX3dpbmRvdywgJ29mZmxpbmUnKS5waXBlKG1hcCgoKSA9PiBmYWxzZSkpO1xuICAgICAgICBjb25zdCBub3ckID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy5fbmF2aWdhdG9yPy5vbkxpbmUpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBNZXJnZSBhbGwgZXZlbnQgc28gd2UgZ2V0IG5vdGlmaWVkIHdoZW5cbiAgICAgICAgLy8gYSB1c2VyIGlzIG9ubGluZS9vZmZsaW5lLlxuICAgICAgICB0aGlzLl9vbmxpbmUkID0gbWVyZ2Uobm93JCwgb25saW5lJCwgb2ZmbGluZSQpLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoe3JlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -6,13 +6,16 @@ import { DOCUMENT } from '@angular/common';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/cdk/platform";
|
|
8
8
|
export class Patch {
|
|
9
|
+
_platform;
|
|
10
|
+
_window;
|
|
11
|
+
_document;
|
|
12
|
+
_hasPatchedMobileVerticalHeight = false;
|
|
13
|
+
// Subscriptions.
|
|
14
|
+
_subscription = new Subscription();
|
|
9
15
|
constructor(_platform, _window, _document) {
|
|
10
16
|
this._platform = _platform;
|
|
11
17
|
this._window = _window;
|
|
12
18
|
this._document = _document;
|
|
13
|
-
this._hasPatchedMobileVerticalHeight = false;
|
|
14
|
-
// Subscriptions.
|
|
15
|
-
this._subscription = new Subscription();
|
|
16
19
|
}
|
|
17
20
|
mobileVerticalHeight() {
|
|
18
21
|
// Check if the user has already patched
|
|
@@ -41,8 +44,8 @@ export class Patch {
|
|
|
41
44
|
// Save the subscription so we can destroy it later.
|
|
42
45
|
this._subscription.add(subscription);
|
|
43
46
|
}
|
|
44
|
-
static
|
|
45
|
-
static
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Patch, providedIn: 'root' });
|
|
46
49
|
}
|
|
47
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Patch, decorators: [{
|
|
48
51
|
type: Injectable,
|
|
@@ -60,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
60
63
|
type: Inject,
|
|
61
64
|
args: [DOCUMENT]
|
|
62
65
|
}] }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3BhdGNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBT007SUFDNEI7SUFDRTtJQVAxQywrQkFBK0IsR0FBWSxLQUFLLENBQUM7SUFFekQsaUJBQWlCO0lBQ1QsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0MsWUFBb0IsU0FBbUIsRUFDUyxPQUFnQixFQUNkLFNBQW9CO1FBRmxELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUN0RSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztZQUN2QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyx1Q0FBdUM7UUFDM0MsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsNkNBQTZDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbEQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVGLHNDQUFzQztRQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO1FBRUgsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7dUdBL0NRLEtBQUssMENBUWtCLE1BQU0sNkJBQ04sUUFBUTsyR0FUL0IsS0FBSyxjQUZGLE1BQU07OzJGQUVULEtBQUs7a0JBSGpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFTZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNOzswQkFDekIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuLi90b2tlbnMvd2luZG93LnRva2VuJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRjaCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c/OiBXaW5kb3csXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ/OiBEb2N1bWVudCkge1xuICAgIH1cblxuICAgIG1vYmlsZVZlcnRpY2FsSGVpZ2h0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBoYXMgYWxyZWFkeSBwYXRjaGVkXG4gICAgICAgIC8vIHRoZSBtb2JpbGUgdmVydGljYWwgaGVpZ2h0LlxuICAgICAgICBpZiAodGhpcy5faGFzUGF0Y2hlZE1vYmlsZVZlcnRpY2FsSGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBlcmlvZGljYWxseVNldERvY3VtZW50VmVydGljYWxQcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwZXJpb2RpY2FsbHlTZXREb2N1bWVudFZlcnRpY2FsUHJvcGVydHkoKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHdlIGFyZSB1c2luZyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMaXN0ZW4gdG8gYSBkZWJvdW5jZWQgd2luZG93IHJlc2l6ZSBldmVudC5cbiAgICAgICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdyZXNpemUnKS5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1KSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aCgwKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgcmVzaXplIG9ic2VydmFibGUuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJlc2l6ZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsSGVpZ2h0ID0gdGhpcy5fd2luZG93Py5pbm5lckhlaWdodCAqIDAuMDE7XG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoJy0tdmgnLCBgJHt2ZXJ0aWNhbEhlaWdodH1weGApO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTYXZlIHRoZSBzdWJzY3JpcHRpb24gc28gd2UgY2FuIGRlc3Ryb3kgaXQgbGF0ZXIuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { LocalizeDictionaryContext } from './dictionary.context';
|
|
2
2
|
export class LocalizeDictionary {
|
|
3
|
+
_id;
|
|
4
|
+
_locale;
|
|
5
|
+
_supported;
|
|
6
|
+
_dataValues;
|
|
7
|
+
_localize;
|
|
8
|
+
_data;
|
|
3
9
|
constructor(_id, _locale, _supported, _dataValues, _localize) {
|
|
4
10
|
this._id = _id;
|
|
5
11
|
this._locale = _locale;
|
|
@@ -87,4 +93,4 @@ export class LocalizeDictionary {
|
|
|
87
93
|
}, {});
|
|
88
94
|
}
|
|
89
95
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUFvQixHQUFXLEVBQ1gsT0FBZSxFQUNmLFVBQW9CLEVBQ3BCLFdBQXlDLEVBQ3pDLFNBQW1CO1FBSm5CLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBOEI7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQU50QixVQUFLLEdBQTJCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBT25GLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBd0I7UUFDeEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEUsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDckUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFrQixLQUFLLG9EQUFvRCxDQUFDLENBQUM7WUFDakcsQ0FBQztZQUVELE9BQU8sRUFBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3pDLENBQUMsRUFBMEIsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzfSBmcm9tICcuL2RpY3Rpb25hcnkuZGF0YSc7XG5pbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeUNvbnRleHR9IGZyb20gJy4vZGljdGlvbmFyeS5jb250ZXh0JztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJy4uL2xvY2FsaXplLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGxldCBuZ0Rldk1vZGU7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZURpY3Rpb25hcnkge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHRoaXMuZm9ybWF0RGF0YSh0aGlzLl9kYXRhVmFsdWVzKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2lkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9jYWxlOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfc3VwcG9ydGVkOiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9kYXRhVmFsdWVzOiBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2xvY2FsaXplOiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGxvY2FsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZSA/PyBudWxsO1xuICAgIH1cblxuICAgIGdldCBzdXBwb3J0ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdXBwb3J0ZWQgPz8gW107XG4gICAgfVxuXG4gICAgZ2V0KHRva2VuOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBrZXkgPSBBcnJheS5pc0FycmF5KHRva2VuKSA/IHRva2VuLmpvaW4oJy4nKSA6IHRva2VuO1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YT8uW2tleV0gPz8gbnVsbDtcbiAgICB9XG5cbiAgICBoYXModG9rZW46IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZ2V0KHRva2VuKTtcbiAgICB9XG5cbiAgICBhbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvbWUoY29udGV4dCA9PiBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBzb21lKGNhbGxiYWNrOiAoY29udGV4dDogTG9jYWxpemVEaWN0aW9uYXJ5Q29udGV4dCkgPT4gTG9jYWxpemVEaWN0aW9uYXJ5Q29udGV4dCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29udGV4dCA9IG5ldyBMb2NhbGl6ZURpY3Rpb25hcnlDb250ZXh0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSAhIWNhbGxiYWNrID8gY2FsbGJhY2soZGVmYXVsdENvbnRleHQpIDogZGVmYXVsdENvbnRleHQ7XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2RhdGEgPz8ge30pXG4gICAgICAgICAgICAuZmlsdGVyKGtleSA9PiBjb250ZXh0LnJlZ2V4cC50ZXN0KGtleSkpXG4gICAgICAgICAgICAucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gKFtcbiAgICAgICAgICAgICAgICAuLi5wcmV2aW91cyxcbiAgICAgICAgICAgICAgICB7dG9rZW46IGN1cnJlbnQsIHZhbHVlOiB0aGlzLmdldChjdXJyZW50KX1cbiAgICAgICAgICAgIF0pLCA8eyB0b2tlbjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXT5bXSk7XG4gICAgfVxuXG4gICAgYXN5bmMgY29tcGFyZSh0bzogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICAgICAgICBjb25zdCBkaWN0aW9uYXJ5SWRzID0gKEFycmF5LmlzQXJyYXkodG8pID8gdG8gOiBbdG9dKTtcbiAgICAgICAgICAgIGNvbnN0IGRpY3Rpb25hcmllczogTG9jYWxpemVEaWN0aW9uYXJ5W10gPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZGljdGlvbmFyeUlkIG9mIGRpY3Rpb25hcnlJZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gYXdhaXQgdGhpcy5fbG9jYWxpemUubG9hZChkaWN0aW9uYXJ5SWQpO1xuICAgICAgICAgICAgICAgIGRpY3Rpb25hcmllcy5wdXNoKGRpY3Rpb25hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB3YXJuaW5ncyA9IFtdO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuYWxsKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyaWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGljdGlvbmFyeS5oYXMoaXRlbT8udG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy5wdXNoKHtkaWN0aW9uYXJ5OiBkaWN0aW9uYXJ5Py5pZCwgdmFsdWU6IGl0ZW0/LnRva2VufSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgZGljdGlvbmFyeSBvZiBkaWN0aW9uYXJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGRpY3Rpb25hcnkuYWxsKCk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXMoaXRlbT8udG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy5wdXNoKHtkaWN0aW9uYXJ5OiB0aGlzLmlkLCB2YWx1ZTogaXRlbT8udG9rZW59KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcGFyZURpY3Rpb25hcnlJZHMgPSBkaWN0aW9uYXJpZXMubWFwKGRpY3Rpb25hcnkgPT4gZGljdGlvbmFyeT8uaWQpLmpvaW4oJywgJyk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2Ygd2FybmluZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYERpY3Rpb25hcnkgXCIke3dhcm5pbmcuZGljdGlvbmFyeX1cIiBpcyBtaXNzaW5nIHRva2VuIFwiJHt3YXJuaW5nLnZhbHVlfVwiYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYFRvdGFsIG9mICR7d2FybmluZ3MubGVuZ3RofSB3YXJuaW5nKHMpIGZvdW5kIHdoaWxlIGNvbXBhcmluZyBcIiR7dGhpcy5pZH1cIiAtPiBbJHtjb21wYXJlRGljdGlvbmFyeUlkc31dLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY291bnQoKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9kYXRhID8/IHt9KS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXREYXRhKGRhdGE6IExvY2FsaXplRGljdGlvbmFyeURhdGFWYWx1ZXMsIHNjb3BlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YSA/PyB7fSkucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5bY3VycmVudF07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZm9ybWF0dGVkID0gdGhpcy5mb3JtYXREYXRhKHZhbHVlLCBjdXJyZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCAuLi5yZWZvcm1hdHRlZH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gW3Njb3BlLCBjdXJyZW50XS5maWx0ZXIoaXRlbSA9PiAhIWl0ZW0pLmpvaW4oJy4nKTtcbiAgICAgICAgICAgIGlmIChwcmV2aW91c1t0b2tlbl0gJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYER1cGxpY2F0ZSBrZXkgXCIke3Rva2VufVwiIHdhcyBmb3VuZCwgcGxlYXNlIHZlcmlmeSB5b3VyIHRyYW5zbGF0aW9uIGZpbGVzLmApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCBbdG9rZW5dOiB2YWx1ZX07XG4gICAgICAgIH0sIDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pnt9KTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUlQO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFOSCxLQUFLLENBQXlCO0lBRS9DLFlBQW9CLEdBQVcsRUFDWCxPQUFlLEVBQ2YsVUFBb0IsRUFDcEIsV0FBeUMsRUFDekMsU0FBbUI7UUFKbkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFVO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUF3QjtRQUN4QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFL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LEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEtBQUssb0RBQW9ELENBQUMsQ0FBQztZQUNqRyxDQUFDO1lBRUQsT0FBTyxFQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDekMsQ0FBQyxFQUEwQixFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeURhdGFWYWx1ZXN9IGZyb20gJy4vZGljdGlvbmFyeS5kYXRhJztcbmltcG9ydCB7TG9jYWxpemVEaWN0aW9uYXJ5Q29udGV4dH0gZnJvbSAnLi9kaWN0aW9uYXJ5LmNvbnRleHQnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnLi4vbG9jYWxpemUuc2VydmljZSc7XG5cbmRlY2xhcmUgbGV0IG5nRGV2TW9kZTtcblxuZXhwb3J0IGNsYXNzIExvY2FsaXplRGljdGlvbmFyeSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9zdXBwb3J0ZWQ6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2RhdGFWYWx1ZXM6IExvY2FsaXplRGljdGlvbmFyeURhdGFWYWx1ZXMsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9jYWxpemU6IExvY2FsaXplKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLmZvcm1hdERhdGEodGhpcy5fZGF0YVZhbHVlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHN1cHBvcnRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1cHBvcnRlZCA/PyBbXTtcbiAgICB9XG5cbiAgICBnZXQodG9rZW46IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IEFycmF5LmlzQXJyYXkodG9rZW4pID8gdG9rZW4uam9pbignLicpIDogdG9rZW47XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhPy5ba2V5XSA/PyBudWxsO1xuICAgIH1cblxuICAgIGhhcyh0b2tlbjogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5nZXQodG9rZW4pO1xuICAgIH1cblxuICAgIGFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29tZShjb250ZXh0ID0+IGNvbnRleHQpO1xuICAgIH1cblxuICAgIHNvbWUoY2FsbGJhY2s6IChjb250ZXh0OiBMb2NhbGl6ZURpY3Rpb25hcnlDb250ZXh0KSA9PiBMb2NhbGl6ZURpY3Rpb25hcnlDb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRDb250ZXh0ID0gbmV3IExvY2FsaXplRGljdGlvbmFyeUNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9ICEhY2FsbGJhY2sgPyBjYWxsYmFjayhkZWZhdWx0Q29udGV4dCkgOiBkZWZhdWx0Q29udGV4dDtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fZGF0YSA/PyB7fSlcbiAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IGNvbnRleHQucmVnZXhwLnRlc3Qoa2V5KSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiAoW1xuICAgICAgICAgICAgICAgIC4uLnByZXZpb3VzLFxuICAgICAgICAgICAgICAgIHt0b2tlbjogY3VycmVudCwgdmFsdWU6IHRoaXMuZ2V0KGN1cnJlbnQpfVxuICAgICAgICAgICAgXSksIDx7IHRva2VuOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdPltdKTtcbiAgICB9XG5cbiAgICBhc3luYyBjb21wYXJlKHRvOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpY3Rpb25hcnlJZHMgPSAoQXJyYXkuaXNBcnJheSh0bykgPyB0byA6IFt0b10pO1xuICAgICAgICAgICAgY29uc3QgZGljdGlvbmFyaWVzOiBMb2NhbGl6ZURpY3Rpb25hcnlbXSA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBkaWN0aW9uYXJ5SWQgb2YgZGljdGlvbmFyeUlkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBhd2FpdCB0aGlzLl9sb2NhbGl6ZS5sb2FkKGRpY3Rpb25hcnlJZCk7XG4gICAgICAgICAgICAgICAgZGljdGlvbmFyaWVzLnB1c2goZGljdGlvbmFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHdhcm5pbmdzID0gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5hbGwoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGljdGlvbmFyeSBvZiBkaWN0aW9uYXJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkaWN0aW9uYXJ5LmhhcyhpdGVtPy50b2tlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnB1c2goe2RpY3Rpb25hcnk6IGRpY3Rpb25hcnk/LmlkLCB2YWx1ZTogaXRlbT8udG9rZW59KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChjb25zdCBkaWN0aW9uYXJ5IG9mIGRpY3Rpb25hcmllcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGljdGlvbmFyeS5hbGwoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhcyhpdGVtPy50b2tlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnB1c2goe2RpY3Rpb25hcnk6IHRoaXMuaWQsIHZhbHVlOiBpdGVtPy50b2tlbn0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wYXJlRGljdGlvbmFyeUlkcyA9IGRpY3Rpb25hcmllcy5tYXAoZGljdGlvbmFyeSA9PiBkaWN0aW9uYXJ5Py5pZCkuam9pbignLCAnKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgd2FybmluZyBvZiB3YXJuaW5ncykge1xuICAgICAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgRGljdGlvbmFyeSBcIiR7d2FybmluZy5kaWN0aW9uYXJ5fVwiIGlzIG1pc3NpbmcgdG9rZW4gXCIke3dhcm5pbmcudmFsdWV9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgVG90YWwgb2YgJHt3YXJuaW5ncy5sZW5ndGh9IHdhcm5pbmcocykgZm91bmQgd2hpbGUgY29tcGFyaW5nIFwiJHt0aGlzLmlkfVwiIC0+IFske2NvbXBhcmVEaWN0aW9uYXJ5SWRzfV0uYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2RhdGEgPz8ge30pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGEoZGF0YTogTG9jYWxpemVEaWN0aW9uYXJ5RGF0YVZhbHVlcywgc2NvcGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhID8/IHt9KS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LltjdXJyZW50XTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdERhdGEodmFsdWUsIGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIC4uLnJlZm9ybWF0dGVkfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBbc2NvcGUsIGN1cnJlbnRdLmZpbHRlcihpdGVtID0+ICEhaXRlbSkuam9pbignLicpO1xuICAgICAgICAgICAgaWYgKHByZXZpb3VzW3Rva2VuXSAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgRHVwbGljYXRlIGtleSBcIiR7dG9rZW59XCIgd2FzIGZvdW5kLCBwbGVhc2UgdmVyaWZ5IHlvdXIgdHJhbnNsYXRpb24gZmlsZXMuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIFt0b2tlbl06IHZhbHVlfTtcbiAgICAgICAgfSwgPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+e30pO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export class LocalizeDictionaryContext {
|
|
2
|
-
|
|
3
|
-
this.regexp = /^.*$/;
|
|
4
|
-
}
|
|
2
|
+
regexp = /^.*$/;
|
|
5
3
|
pattern(regexp) {
|
|
6
4
|
this.regexp = regexp;
|
|
7
5
|
return this;
|
|
@@ -23,4 +21,4 @@ export class LocalizeDictionaryContext {
|
|
|
23
21
|
: value;
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx5QkFBeUI7SUFFbEMsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUV4QixPQUFPLENBQUMsTUFBYztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQXdCO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO2FBQzFCLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7YUFDM0MsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QjtRQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBd0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEIsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvY2FsaXplRGljdGlvbmFyeUNvbnRleHQge1xuXG4gICAgcmVnZXhwOiBSZWdFeHAgPSAvXi4qJC87XG5cbiAgICBwYXR0ZXJuKHJlZ2V4cDogUmVnRXhwKSB7XG4gICAgICAgIHRoaXMucmVnZXhwID0gcmVnZXhwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBtYXRjaGVzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcmVnZXggPSAoZm9ybWF0dGVkID8/ICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLCAnXFxcXCQmJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXFxcXFwqL2csICcuKicpO1xuICAgICAgICByZXR1cm4gdGhpcy5wYXR0ZXJuKG5ldyBSZWdFeHAoYF4ke3JlZ2V4fSRgKSk7XG4gICAgfVxuXG4gICAgZ3JvdXAodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaGVzKFtmb3JtYXR0ZWQsICcqJ10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICAgICAgPyB2YWx1ZS5maWx0ZXIoaXRlbSA9PiAhIWl0ZW0pLmpvaW4oJy4nKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class LocalizeDictionaryData {
|
|
2
|
+
data;
|
|
2
3
|
constructor(data) {
|
|
3
4
|
this.data = data;
|
|
4
5
|
}
|
|
5
6
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7SUFFWjtJQUFuQixZQUFtQixJQUFrQztRQUFsQyxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUNyRCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzIH07XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzKSB7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export class LocalizeMissingHandler {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.log = (message) => console?.warn?.(message);
|
|
4
|
-
}
|
|
5
2
|
handle(params) {
|
|
6
3
|
// Log to the console when the token was not found
|
|
7
4
|
// if the user did not mark it as optional.
|
|
@@ -11,5 +8,6 @@ export class LocalizeMissingHandler {
|
|
|
11
8
|
// Return the default token back.
|
|
12
9
|
return params?.token ?? null;
|
|
13
10
|
}
|
|
11
|
+
log = (message) => console?.warn?.(message);
|
|
14
12
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2hhbmRsZXJzL21pc3NpbmcuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLE1BQU0sQ0FBQyxNQUFzQjtRQUN6QixrREFBa0Q7UUFDbEQsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsTUFBTSxFQUFFLEtBQUssa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLE9BQU8sTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVPLEdBQUcsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBRS9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhbGl6ZUhhbmRsZXJQcm90b2NvbH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9oYW5kbGVycy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TG9jYWxpemVQYXJhbXN9IGZyb20gJy4uL2ludGVyZmFjZXMvb3B0aW9ucy5pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIExvY2FsaXplTWlzc2luZ0hhbmRsZXIgaW1wbGVtZW50cyBMb2NhbGl6ZUhhbmRsZXJQcm90b2NvbCB7XG5cbiAgICBoYW5kbGUocGFyYW1zOiBMb2NhbGl6ZVBhcmFtcykge1xuICAgICAgICAvLyBMb2cgdG8gdGhlIGNvbnNvbGUgd2hlbiB0aGUgdG9rZW4gd2FzIG5vdCBmb3VuZFxuICAgICAgICAvLyBpZiB0aGUgdXNlciBkaWQgbm90IG1hcmsgaXQgYXMgb3B0aW9uYWwuXG4gICAgICAgIGlmICghcGFyYW1zPy5vcHRpb25hbCkge1xuICAgICAgICAgICAgdGhpcy5sb2coYFRoZSB0b2tlbiB3aXRoIG5hbWU6IFwiJHtwYXJhbXM/LnRva2VufVwiIHdhcyBub3QgZm91bmQuYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGRlZmF1bHQgdG9rZW4gYmFjay5cbiAgICAgICAgcmV0dXJuIHBhcmFtcz8udG9rZW4gPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZyA9IChtZXNzYWdlOiBzdHJpbmcpID0+IGNvbnNvbGU/Lndhcm4/LihtZXNzYWdlKTtcblxufVxuIl19
|
|
@@ -13,13 +13,13 @@ export class LocalizeModule {
|
|
|
13
13
|
]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
static
|
|
17
|
-
static
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: LocalizeModule, imports: [BbLocalize,
|
|
18
18
|
BbLocalizeString,
|
|
19
19
|
BbLocalizeTemplate], exports: [BbLocalize,
|
|
20
20
|
BbLocalizeString,
|
|
21
|
-
BbLocalizeTemplate] });
|
|
22
|
-
static
|
|
21
|
+
BbLocalizeTemplate] });
|
|
22
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LocalizeModule });
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LocalizeModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
36
36
|
]
|
|
37
37
|
}]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2xvY2FsaXplLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUV2RSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBYzNDLE1BQU0sT0FBTyxjQUFjO0lBRXZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDakMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDUCxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7YUFDaEM7U0FDSixDQUFDO0lBQ04sQ0FBQzt1R0FUUSxjQUFjO3dHQUFkLGNBQWMsWUFWbkIsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixrQkFBa0IsYUFHbEIsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixrQkFBa0I7d0dBR2IsY0FBYzs7MkZBQWQsY0FBYztrQkFaMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ3JCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYkxvY2FsaXplU3RyaW5nfSBmcm9tICcuL3ZpZXdzL2xvY2FsaXplLXN0cmluZy9sb2NhbGl6ZS1zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7QmJMb2NhbGl6ZVRlbXBsYXRlfSBmcm9tICcuL3ZpZXdzL2xvY2FsaXplLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0xvY2FsaXplQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZXMnO1xuaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Byb3ZpZGVMb2NhbGl6ZUNvbmZpZ30gZnJvbSAnLi9sb2NhbGl6ZS5jb25maWcnO1xuaW1wb3J0IHtCYkxvY2FsaXplfSBmcm9tICcuL2xvY2FsaXplLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQmJMb2NhbGl6ZSxcbiAgICAgICAgQmJMb2NhbGl6ZVN0cmluZyxcbiAgICAgICAgQmJMb2NhbGl6ZVRlbXBsYXRlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEJiTG9jYWxpemUsXG4gICAgICAgIEJiTG9jYWxpemVTdHJpbmcsXG4gICAgICAgIEJiTG9jYWxpemVUZW1wbGF0ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxpemVNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBMb2NhbGl6ZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TG9jYWxpemVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2NhbGl6ZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHByb3ZpZGVMb2NhbGl6ZUNvbmZpZyhjb25maWcpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Optional, Pipe } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "./localize.service";
|
|
4
4
|
export class BbLocalize {
|
|
5
|
+
_localize;
|
|
5
6
|
constructor(_localize) {
|
|
6
7
|
this._localize = _localize;
|
|
7
8
|
}
|
|
@@ -32,8 +33,8 @@ export class BbLocalize {
|
|
|
32
33
|
// Return the combined params and options.
|
|
33
34
|
return { ...params, ...options };
|
|
34
35
|
}
|
|
35
|
-
static
|
|
36
|
-
static
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbLocalize, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
37
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: BbLocalize, isStandalone: true, name: "bbLocalize" });
|
|
37
38
|
}
|
|
38
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbLocalize, decorators: [{
|
|
39
40
|
type: Pipe,
|
|
@@ -44,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
44
45
|
}], ctorParameters: () => [{ type: i1.Localize, decorators: [{
|
|
45
46
|
type: Optional
|
|
46
47
|
}] }] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9sb2NhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxVQUFVO0lBRWE7SUFBaEMsWUFBZ0MsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUNwRCxDQUFDO0lBRUQsU0FBUyxDQUFDLGFBQXNDLEVBQUUsSUFBc0I7UUFDcEUsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsT0FBTyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGFBQXNDLEVBQUUsSUFBc0I7UUFDM0YscUJBQXFCO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFMUIscURBQXFEO1FBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzdELElBQUksT0FBTyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxRQUFRLENBQUM7WUFDcEIsQ0FBQztZQUVELE9BQU8sRUFBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7UUFDdkQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsK0NBQStDO1FBQy9DLE1BQU0sTUFBTSxHQUFHLE9BQU8sYUFBYSxLQUFLLFFBQVE7WUFDNUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQztZQUNyRSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBRXBCLDBDQUEwQztRQUMxQyxPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUMsQ0FBQztJQUNuQyxDQUFDO3VHQXRDUSxVQUFVO3FHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBSnRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR2dCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsaXplT3B0aW9ucywgTG9jYWxpemVQYXJhbXN9IGZyb20gJy4vaW50ZXJmYWNlcy9vcHRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICcuL2xvY2FsaXplLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiTG9jYWxpemUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJMb2NhbGl6ZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh0b2tlbk9yUGFyYW1zOiBzdHJpbmcgfCBMb2NhbGl6ZVBhcmFtcywgYXJncz86IExvY2FsaXplT3B0aW9ucykge1xuICAgICAgICAvLyBDb21iaW5lIHRoZSBwYXJhbXMgd2l0aCB0aGUgb3B0aW9ucyB0byBmb3JtIHRoZSBsb2NhbGl6ZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tYmluZVBhcmFtc1dpdGhPcHRpb25zKHRva2VuT3JQYXJhbXMsIGFyZ3MpO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIGxvY2FsaXplIHNlcnZpY2UgZXhpc3RzIGluIHRoZSBwaXBlLlxuICAgICAgICBpZiAoIXRoaXMuX2xvY2FsaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zPy50b2tlbiA/PyBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGxvY2FsaXplIHRoZSB2YWx1ZS5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZShwYXJhbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tYmluZVBhcmFtc1dpdGhPcHRpb25zKHRva2VuT3JQYXJhbXM6IHN0cmluZyB8IExvY2FsaXplUGFyYW1zLCBhcmdzPzogTG9jYWxpemVPcHRpb25zKSB7XG4gICAgICAgIC8vIEdhdGhlciB0aGUgZXh0cmFzLlxuICAgICAgICBjb25zdCBleHRyYXMgPSBhcmdzID8/IHt9O1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgdG8gZmluZCB0aGUgc2V0IG9wdGlvbnMuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3Qua2V5cyhleHRyYXMpLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXh0cmFzPy5bY3VycmVudF0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCBbY3VycmVudF06IGV4dHJhcz8uW2N1cnJlbnRdfTtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIC8vIENvbnZlcnQgdGhlIHN0cmluZyB0b2tlbiB0byBhIHBhcmFtcyBvYmplY3QuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHR5cGVvZiB0b2tlbk9yUGFyYW1zID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyB7dG9rZW46IHRva2VuT3JQYXJhbXMsIG9wdGlvbmFsOiBmYWxzZSwgZGF0YToge30sIGRpY3Rpb25hcnk6IG51bGx9XG4gICAgICAgICAgICA6IHRva2VuT3JQYXJhbXM7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBjb21iaW5lZCBwYXJhbXMgYW5kIG9wdGlvbnMuXG4gICAgICAgIHJldHVybiB7Li4ucGFyYW1zLCAuLi5vcHRpb25zfTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -9,6 +9,22 @@ import * as i1 from "@bravobit/bb-foundation/storage";
|
|
|
9
9
|
import * as i2 from "@bravobit/bb-foundation";
|
|
10
10
|
import * as i3 from "./handlers/missing.handler";
|
|
11
11
|
export class Localize {
|
|
12
|
+
_storage;
|
|
13
|
+
_languages;
|
|
14
|
+
_window;
|
|
15
|
+
_document;
|
|
16
|
+
_config;
|
|
17
|
+
_transforms;
|
|
18
|
+
_missingHandler;
|
|
19
|
+
// Readonly data.
|
|
20
|
+
_storageToken;
|
|
21
|
+
_availableLanguages;
|
|
22
|
+
_bestMatchingLanguage = this.retrieveBestMatchingLanguage();
|
|
23
|
+
_loadedDictionaries = new Map();
|
|
24
|
+
// Current dictionary.
|
|
25
|
+
_current$ = new BehaviorSubject(null);
|
|
26
|
+
// State changes.
|
|
27
|
+
dictionaryChanges$ = this._current$.asObservable();
|
|
12
28
|
constructor(_storage, _languages, _window, _document, _config, _transforms, _missingHandler) {
|
|
13
29
|
this._storage = _storage;
|
|
14
30
|
this._languages = _languages;
|
|
@@ -17,26 +33,8 @@ export class Localize {
|
|
|
17
33
|
this._config = _config;
|
|
18
34
|
this._transforms = _transforms;
|
|
19
35
|
this._missingHandler = _missingHandler;
|
|
20
|
-
// Readonly data.
|
|
21
36
|
this._storageToken = this._config?.storageToken ?? 'bb-language-dictionary-id';
|
|
22
37
|
this._availableLanguages = this?._config?.languages ?? [];
|
|
23
|
-
this._bestMatchingLanguage = this.retrieveBestMatchingLanguage();
|
|
24
|
-
this._loadedDictionaries = new Map();
|
|
25
|
-
// Current dictionary.
|
|
26
|
-
this._current$ = new BehaviorSubject(null);
|
|
27
|
-
// State changes.
|
|
28
|
-
this.dictionaryChanges$ = this._current$.asObservable();
|
|
29
|
-
this.convertToParams = (tokenOrParams) => {
|
|
30
|
-
if (typeof tokenOrParams !== 'string') {
|
|
31
|
-
// Destruct the params from the object.
|
|
32
|
-
const { token, optional, dictionary, data } = tokenOrParams;
|
|
33
|
-
// Make sure all parameters are valid
|
|
34
|
-
// by type safe adding them.
|
|
35
|
-
return { token: token, optional: optional ?? false, dictionary: dictionary ?? null, data: data ?? {} };
|
|
36
|
-
}
|
|
37
|
-
// If the parameter is a string fill in the blanks.
|
|
38
|
-
return { token: tokenOrParams, optional: false, dictionary: null, data: {} };
|
|
39
|
-
};
|
|
40
38
|
this.renderDocumentLanguage();
|
|
41
39
|
}
|
|
42
40
|
get languages() {
|
|
@@ -161,8 +159,19 @@ export class Localize {
|
|
|
161
159
|
?.map(language => language?.id);
|
|
162
160
|
return await this.current.compare(languageIds);
|
|
163
161
|
}
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
convertToParams = (tokenOrParams) => {
|
|
163
|
+
if (typeof tokenOrParams !== 'string') {
|
|
164
|
+
// Destruct the params from the object.
|
|
165
|
+
const { token, optional, dictionary, data } = tokenOrParams;
|
|
166
|
+
// Make sure all parameters are valid
|
|
167
|
+
// by type safe adding them.
|
|
168
|
+
return { token: token, optional: optional ?? false, dictionary: dictionary ?? null, data: data ?? {} };
|
|
169
|
+
}
|
|
170
|
+
// If the parameter is a string fill in the blanks.
|
|
171
|
+
return { token: tokenOrParams, optional: false, dictionary: null, data: {} };
|
|
172
|
+
};
|
|
173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Localize, deps: [{ token: i1.Storage }, { token: i2.Languages }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }, { token: LOCALIZE_CONFIG, optional: true }, { token: LOCALIZE_TRANSFORM, optional: true }, { token: LOCALIZE_MISSING_HANDLER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
174
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Localize, providedIn: 'root' });
|
|
166
175
|
}
|
|
167
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Localize, decorators: [{
|
|
168
177
|
type: Injectable,
|
|
@@ -195,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
195
204
|
type: Inject,
|
|
196
205
|
args: [LOCALIZE_MISSING_HANDLER]
|
|
197
206
|
}] }] });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9sb2NhbGl6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUtoRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFZLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTFELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQUtyQyxNQUFNLE9BQU8sUUFBUTtJQWVqQixZQUFvQixRQUFpQixFQUNqQixVQUFxQixFQUNPLE9BQWdCLEVBQ2QsU0FBb0IsRUFDYixPQUF3QixFQUNyQixXQUFpQyxFQUMzQixlQUF3QztRQU50RixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDTyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNiLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBeUI7UUFuQjFHLGlCQUFpQjtRQUNBLGtCQUFhLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLElBQUksMkJBQTJCLENBQUM7UUFDbEYsd0JBQW1CLEdBQTZCLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMvRSwwQkFBcUIsR0FBMkIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFFcEYsd0JBQW1CLEdBQW9DLElBQUksR0FBRyxFQUE4QixDQUFDO1FBRTlHLHNCQUFzQjtRQUNkLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFFekUsaUJBQWlCO1FBQ2pCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFxSzNDLG9CQUFlLEdBQUcsQ0FBQyxhQUFzQyxFQUFFLEVBQUU7WUFDakUsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsdUNBQXVDO2dCQUN2QyxNQUFNLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLEdBQUcsYUFBYSxDQUFDO2dCQUUxRCxxQ0FBcUM7Z0JBQ3JDLDRCQUE0QjtnQkFDNUIsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUMsQ0FBQztZQUN6RyxDQUFDO1lBRUQsbURBQW1EO1lBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDO1FBeEtFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFVO1FBQ2pCLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsbUNBQW1DLEVBQUUsNENBQTRDLENBQUMsQ0FBQztZQUNuRyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQztZQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDbEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVSxFQUFFLE9BQStDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFTLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDeEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxnRUFBZ0UsQ0FBQyxDQUFDO1FBQ2hILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ2QsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1lBQ2pGLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQStCLEVBQUU7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3pELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsYUFBc0M7UUFDNUMsNEJBQTRCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbkQsb0RBQW9EO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFekUsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDRCQUE0QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtlQUM3QixJQUFJLENBQUMsMkJBQTJCLEVBQUU7ZUFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQiwyQkFBMkI7UUFDM0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFTLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVoRSwrQ0FBK0M7UUFDL0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sMkJBQTJCO1FBQy9CLG9EQUFvRDtRQUNwRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFckUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUE0QixFQUFFLFFBQWdDO1FBQ25GLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFTyxhQUFhLENBQUMsRUFBaUI7UUFDbkMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sc0JBQXNCO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDWCxDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUNwRyxDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQjtRQUM3QixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLElBQUksS0FBSyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QyxPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDdEMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3ZELEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQWhMUSxRQUFRLGtFQWlCZSxNQUFNLDZCQUNOLFFBQVEsNkJBQ1IsZUFBZSw2QkFDZixrQkFBa0IsNkJBQ2xCLHdCQUF3QjtrSEFyQi9DLFFBQVEsY0FGTCxNQUFNOzsyRkFFVCxRQUFRO2tCQUhwQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBa0JnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3JDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMT0NBTElaRV9DT05GSUcsIExPQ0FMSVpFX01JU1NJTkdfSEFORExFUiwgTE9DQUxJWkVfVFJBTlNGT1JNfSBmcm9tICcuL2xvY2FsaXplLnRva2Vucyc7XG5pbXBvcnQge0xvY2FsaXplQ29uZmlnLCBMb2NhbGl6ZUNvbmZpZ0xhbmd1YWdlfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZXMnO1xuaW1wb3J0IHtMb2NhbGl6ZURpY3Rpb25hcnlEYXRhfSBmcm9tICcuL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5kYXRhJztcbmltcG9ydCB7TG9jYWxpemVUcmFuc2Zvcm19IGZyb20gJy4vdHJhbnNmb3Jtcy9hYnN0cmFjdC50cmFuc2Zvcm0nO1xuaW1wb3J0IHtMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL21pc3NpbmcuaGFuZGxlcic7XG5pbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeX0gZnJvbSAnLi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuY2xhc3MnO1xuaW1wb3J0IHtMb2NhbGl6ZVBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2VzL29wdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYW5ndWFnZXMsIFdJTkRPV30gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtTdG9yYWdlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9zdG9yYWdlJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxpemUge1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yYWdlVG9rZW46IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uc3RvcmFnZVRva2VuID8/ICdiYi1sYW5ndWFnZS1kaWN0aW9uYXJ5LWlkJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hdmFpbGFibGVMYW5ndWFnZXM6IExvY2FsaXplQ29uZmlnTGFuZ3VhZ2VbXSA9IHRoaXM/Ll9jb25maWc/Lmxhbmd1YWdlcyA/PyBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9iZXN0TWF0Y2hpbmdMYW5ndWFnZTogTG9jYWxpemVDb25maWdMYW5ndWFnZSA9IHRoaXMucmV0cmlldmVCZXN0TWF0Y2hpbmdMYW5ndWFnZSgpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkRGljdGlvbmFyaWVzOiBNYXA8c3RyaW5nLCBMb2NhbGl6ZURpY3Rpb25hcnk+ID0gbmV3IE1hcDxzdHJpbmcsIExvY2FsaXplRGljdGlvbmFyeT4oKTtcblxuICAgIC8vIEN1cnJlbnQgZGljdGlvbmFyeS5cbiAgICBwcml2YXRlIF9jdXJyZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9jYWxpemVEaWN0aW9uYXJ5IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvLyBTdGF0ZSBjaGFuZ2VzLlxuICAgIGRpY3Rpb25hcnlDaGFuZ2VzJCA9IHRoaXMuX2N1cnJlbnQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RvcmFnZTogU3RvcmFnZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9sYW5ndWFnZXM6IExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSBfd2luZG93PzogV2luZG93LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50PzogRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTElaRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZz86IExvY2FsaXplQ29uZmlnLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTE9DQUxJWkVfVFJBTlNGT1JNKSBwcml2YXRlIF90cmFuc2Zvcm1zPzogTG9jYWxpemVUcmFuc2Zvcm1bXSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMSVpFX01JU1NJTkdfSEFORExFUikgcHJpdmF0ZSBfbWlzc2luZ0hhbmRsZXI/OiBMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyKSB7XG4gICAgICAgIHRoaXMucmVuZGVyRG9jdW1lbnRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIGdldCBsYW5ndWFnZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXMgPz8gW107XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50JC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGxvYWQoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbG9hZCBsYW5ndWFnZSB3aXRoIGlkOiBcIiR7aWR9XCIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWREaWN0aW9uYXJpZXMuZ2V0KGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXM/LmZpbmQobGFuZ3VhZ2UgPT4gbGFuZ3VhZ2U/LmlkID09PSBpZCk7XG4gICAgICAgIGlmICghbGFuZ3VhZ2UgfHwgIWxhbmd1YWdlPy5kYXRhKSB7XG4gICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYE5vIGxhbmd1YWdlIHdhcyBmb3VuZCB3aXRoIGlkOiBcIiR7aWR9XCI7IERlZmF1bHRpbmcgdG8gZmlyc3QgYXZhaWxhYmxlIGxhbmd1YWdlLmApO1xuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VJZCA9IHRoaXMubGFuZ3VhZ2VzPy5bMF0/LmlkID8/IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGxhbmd1YWdlSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGljdGlvbmFyeURhdGFWYWx1ZXMgPSBhd2FpdCBsYW5ndWFnZT8uZGF0YT8uKCk7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSB0aGlzLmNyZWF0ZURpY3Rpb25hcnkoZGljdGlvbmFyeURhdGFWYWx1ZXMsIGxhbmd1YWdlKTtcbiAgICAgICAgdGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLnNldChpZCwgZGljdGlvbmFyeSk7XG4gICAgICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICAgIH1cblxuICAgIGFzeW5jIGxvYWRBbGxMYW5ndWFnZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgbGFuZ3VhZ2Ugb2YgdGhpcy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZChsYW5ndWFnZT8uaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgc3dpdGNoKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGNhY2hlPzogYm9vbGVhbiwgcmVsb2FkPzogYm9vbGVhbiB9KSB7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBhd2FpdCB0aGlzLmxvYWQoaWQpO1xuICAgICAgICB0aGlzLl9jdXJyZW50JC5uZXh0KGRpY3Rpb25hcnkpO1xuXG4gICAgICAgIGNvbnN0IGNhY2hlID0gb3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZTtcbiAgICAgICAgaWYgKGNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdG9yYWdlLmNvb2tpZS5zZXQ8c3RyaW5nPih0aGlzLl9zdG9yYWdlVG9rZW4sIGRpY3Rpb25hcnk/LmlkLCB7fSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWxvYWQgPSBvcHRpb25zPy5yZWxvYWQgPz8gZmFsc2U7XG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3dpbmRvdz8ubG9jYXRpb24/LnJlbG9hZD8uKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgICB9XG5cbiAgICBzZWxlY3QoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMuX2xvYWRlZERpY3Rpb25hcmllcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERpY3Rpb25hcnkgd2l0aCBpZDogXCIke2lkfVwiIG5vdCBsb2FkZWQ7IExvYWQgZGljdGlvbmFyeSBmaXJzdCBiZWZvcmUgdXNpbmcgLnNlbGVjdCg6aWQpLmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWREaWN0aW9uYXJpZXMuZ2V0KGlkKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zd2l0Y2godGhpcy5fYmVzdE1hdGNoaW5nTGFuZ3VhZ2U/LmlkLCB7cmVsb2FkOiBmYWxzZSwgY2FjaGU6IGZhbHNlfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGljdGlvbmFyaWVzKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UuY29va2llLnJlbW92ZSh0aGlzLl9zdG9yYWdlVG9rZW4pO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBkYXRhOiBMb2NhbGl6ZVBhcmFtc1snZGF0YSddID0ge30pIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl90cmFuc2Zvcm1zID8/IFtdKS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudC5leGVjdXRlKHByZXZpb3VzLCBkYXRhLCB0aGlzKTtcbiAgICAgICAgfSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHRyYW5zbGF0ZSh0b2tlbk9yUGFyYW1zOiBzdHJpbmcgfCBMb2NhbGl6ZVBhcmFtcykge1xuICAgICAgICAvLyAxLiBDb252ZXJ0IHRvIHRoZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29udmVydFRvUGFyYW1zKHRva2VuT3JQYXJhbXMpO1xuXG4gICAgICAgIC8vIDIuIFRyeSB0byBmaW5kIHRoZSB0cmFuc2xhdGlvbiBpbiB0aGUgZGljdGlvbmFyeS5cbiAgICAgICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMuZ2V0RGljdGlvbmFyeShwYXJhbXM/LmRpY3Rpb25hcnkpO1xuICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHQgPSAhIWRpY3Rpb25hcnkgPyBkaWN0aW9uYXJ5LmdldChwYXJhbXM/LnRva2VuKSA6IG51bGw7XG5cbiAgICAgICAgLy8gMy4gVmVyaWZ5IHRoZSB0cmFuc2xhdGlvbiB3YXMgZm91bmQuXG4gICAgICAgIGlmICghc2VhcmNoUmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX21pc3NpbmdIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWlzc2luZ0hhbmRsZXIuaGFuZGxlKHBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oc2VhcmNoUmVzdWx0LCBwYXJhbXM/LmRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlldmVCZXN0TWF0Y2hpbmdMYW5ndWFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGFuZ3VhZ2VGcm9tU3RvcmFnZSgpXG4gICAgICAgICAgICA/PyB0aGlzLmdldEJlc3RCcm93c2VyTWF0Y2hMYW5ndWFnZSgpXG4gICAgICAgICAgICA/PyB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXM/LlswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhbmd1YWdlRnJvbVN0b3JhZ2UoKSB7XG4gICAgICAgIC8vIEdldCBpZCBmcm9tIHRoZSBzdG9yYWdlLlxuICAgICAgICBjb25zdCBpZCA9IHRoaXMuX3N0b3JhZ2UuY29va2llLmdldDxzdHJpbmc+KHRoaXMuX3N0b3JhZ2VUb2tlbik7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBsYW5ndWFnZSBiYXNlZCBvbiB0aGUgc3RvcmFnZSBpZC5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZUxhbmd1YWdlcy5maW5kKGl0ZW0gPT4gaXRlbT8uaWQgPT09IGlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJlc3RCcm93c2VyTWF0Y2hMYW5ndWFnZSgpIHtcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCBicm93c2VyIGxhbmd1YWdlcyBhbmQgcmV0dXJuIHRoZVxuICAgICAgICAvLyBiZXN0IG1hdGNoaW5nIGxhbmd1YWdlLlxuICAgICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VzLmFsbC5tYXAoKHtjb2RlLCByZWdpb259KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPSBbY29kZSwgcmVnaW9uXS5maWx0ZXIoZGF0YSA9PiAhIWRhdGEpLmpvaW4oJy0nKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZUxhbmd1YWdlcy5maW5kKGl0ZW0gPT4gaXRlbT8uc3VwcG9ydGVkPy5pbmNsdWRlcyhsYW5ndWFnZUNvZGUpKTtcbiAgICAgICAgfSkuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKS5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGljdGlvbmFyeShkYXRhOiBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhLCBsYW5ndWFnZTogTG9jYWxpemVDb25maWdMYW5ndWFnZSkge1xuICAgICAgICByZXR1cm4gbmV3IExvY2FsaXplRGljdGlvbmFyeShsYW5ndWFnZT8uaWQsIGxhbmd1YWdlPy5sb2NhbGUsIGxhbmd1YWdlPy5zdXBwb3J0ZWQsIGRhdGE/LmRhdGEsIHRoaXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGljdGlvbmFyeShpZDogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyRG9jdW1lbnRMYW5ndWFnZSgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2RvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudC5sYW5nID0gdGhpcy5fYmVzdE1hdGNoaW5nTGFuZ3VhZ2U/LnN1cHBvcnRlZD8uWzBdID8/IHRoaXMuX2Jlc3RNYXRjaGluZ0xhbmd1YWdlPy5sb2NhbGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBjb21wYXJlRGljdGlvbmFyaWVzKCkge1xuICAgICAgICBjb25zdCBjb21wYXJlRGljdGlvbmFyaWVzID0gdGhpcy5fY29uZmlnLmNvbXBhcmVEaWN0aW9uYXJpZXMgPz8gZmFsc2U7XG4gICAgICAgIGlmICghY29tcGFyZURpY3Rpb25hcmllcyB8fCAhdGhpcy5jdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYW5ndWFnZUlkcyA9ICh0aGlzLmxhbmd1YWdlcyA/PyBbXSlcbiAgICAgICAgICAgID8uZmlsdGVyKGxhbmd1YWdlID0+IGxhbmd1YWdlPy5pZCAhPT0gdGhpcy5jdXJyZW50Py5pZClcbiAgICAgICAgICAgID8ubWFwKGxhbmd1YWdlID0+IGxhbmd1YWdlPy5pZCk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3VycmVudC5jb21wYXJlKGxhbmd1YWdlSWRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUb1BhcmFtcyA9ICh0b2tlbk9yUGFyYW1zOiBzdHJpbmcgfCBMb2NhbGl6ZVBhcmFtcykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuT3JQYXJhbXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAvLyBEZXN0cnVjdCB0aGUgcGFyYW1zIGZyb20gdGhlIG9iamVjdC5cbiAgICAgICAgICAgIGNvbnN0IHt0b2tlbiwgb3B0aW9uYWwsIGRpY3Rpb25hcnksIGRhdGF9ID0gdG9rZW5PclBhcmFtcztcblxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGFsbCBwYXJhbWV0ZXJzIGFyZSB2YWxpZFxuICAgICAgICAgICAgLy8gYnkgdHlwZSBzYWZlIGFkZGluZyB0aGVtLlxuICAgICAgICAgICAgcmV0dXJuIHt0b2tlbjogdG9rZW4sIG9wdGlvbmFsOiBvcHRpb25hbCA/PyBmYWxzZSwgZGljdGlvbmFyeTogZGljdGlvbmFyeSA/PyBudWxsLCBkYXRhOiBkYXRhID8/IHt9fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBwYXJhbWV0ZXIgaXMgYSBzdHJpbmcgZmlsbCBpbiB0aGUgYmxhbmtzLlxuICAgICAgICByZXR1cm4ge3Rva2VuOiB0b2tlbk9yUGFyYW1zLCBvcHRpb25hbDogZmFsc2UsIGRpY3Rpb25hcnk6IG51bGwsIGRhdGE6IHt9fTtcbiAgICB9O1xuXG59XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9sb2NhbGl6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUtoRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFZLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTFELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQUtyQyxNQUFNLE9BQU8sUUFBUTtJQWVHO0lBQ0E7SUFDNEI7SUFDRTtJQUNPO0lBQ0c7SUFDTTtJQW5CbEUsaUJBQWlCO0lBQ0EsYUFBYSxDQUFTO0lBQ3RCLG1CQUFtQixDQUEyQjtJQUM5QyxxQkFBcUIsR0FBMkIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFFcEYsbUJBQW1CLEdBQW9DLElBQUksR0FBRyxFQUE4QixDQUFDO0lBRTlHLHNCQUFzQjtJQUNkLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7SUFFekUsaUJBQWlCO0lBQ2pCLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFbkQsWUFBb0IsUUFBaUIsRUFDakIsVUFBcUIsRUFDTyxPQUFnQixFQUNkLFNBQW9CLEVBQ2IsT0FBd0IsRUFDckIsV0FBaUMsRUFDM0IsZUFBd0M7UUFOdEYsYUFBUSxHQUFSLFFBQVEsQ0FB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LHFDQUFxQztZQUNyQyw0QkFBNEI7WUFDNUIsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUMsQ0FBQztRQUN6RyxDQUFDO1FBRUQsbURBQW1EO1FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDO3VHQWhNTyxRQUFRLGtFQWlCZSxNQUFNLDZCQUNOLFFBQVEsNkJBQ1IsZUFBZSw2QkFDZixrQkFBa0IsNkJBQ2xCLHdCQUF3QjsyR0FyQi9DLFFBQVEsY0FGTCxNQUFNOzsyRkFFVCxRQUFRO2tCQUhwQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBa0JnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3JDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMT0NBTElaRV9DT05GSUcsIExPQ0FMSVpFX01JU1NJTkdfSEFORExFUiwgTE9DQUxJWkVfVFJBTlNGT1JNfSBmcm9tICcuL2xvY2FsaXplLnRva2Vucyc7XG5pbXBvcnQge0xvY2FsaXplQ29uZmlnLCBMb2NhbGl6ZUNvbmZpZ0xhbmd1YWdlfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZXMnO1xuaW1wb3J0IHtMb2NhbGl6ZURpY3Rpb25hcnlEYXRhfSBmcm9tICcuL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5kYXRhJztcbmltcG9ydCB7TG9jYWxpemVUcmFuc2Zvcm19IGZyb20gJy4vdHJhbnNmb3Jtcy9hYnN0cmFjdC50cmFuc2Zvcm0nO1xuaW1wb3J0IHtMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL21pc3NpbmcuaGFuZGxlcic7XG5pbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeX0gZnJvbSAnLi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuY2xhc3MnO1xuaW1wb3J0IHtMb2NhbGl6ZVBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2VzL29wdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYW5ndWFnZXMsIFdJTkRPV30gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtTdG9yYWdlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9zdG9yYWdlJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxpemUge1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yYWdlVG9rZW46IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hdmFpbGFibGVMYW5ndWFnZXM6IExvY2FsaXplQ29uZmlnTGFuZ3VhZ2VbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9iZXN0TWF0Y2hpbmdMYW5ndWFnZTogTG9jYWxpemVDb25maWdMYW5ndWFnZSA9IHRoaXMucmV0cmlldmVCZXN0TWF0Y2hpbmdMYW5ndWFnZSgpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkRGljdGlvbmFyaWVzOiBNYXA8c3RyaW5nLCBMb2NhbGl6ZURpY3Rpb25hcnk+ID0gbmV3IE1hcDxzdHJpbmcsIExvY2FsaXplRGljdGlvbmFyeT4oKTtcblxuICAgIC8vIEN1cnJlbnQgZGljdGlvbmFyeS5cbiAgICBwcml2YXRlIF9jdXJyZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9jYWxpemVEaWN0aW9uYXJ5IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvLyBTdGF0ZSBjaGFuZ2VzLlxuICAgIGRpY3Rpb25hcnlDaGFuZ2VzJCA9IHRoaXMuX2N1cnJlbnQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RvcmFnZTogU3RvcmFnZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9sYW5ndWFnZXM6IExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSBfd2luZG93PzogV2luZG93LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50PzogRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTElaRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZz86IExvY2FsaXplQ29uZmlnLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTE9DQUxJWkVfVFJBTlNGT1JNKSBwcml2YXRlIF90cmFuc2Zvcm1zPzogTG9jYWxpemVUcmFuc2Zvcm1bXSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMSVpFX01JU1NJTkdfSEFORExFUikgcHJpdmF0ZSBfbWlzc2luZ0hhbmRsZXI/OiBMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyKSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2VUb2tlbiA9IHRoaXMuX2NvbmZpZz8uc3RvcmFnZVRva2VuID8/ICdiYi1sYW5ndWFnZS1kaWN0aW9uYXJ5LWlkJztcbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcz8uX2NvbmZpZz8ubGFuZ3VhZ2VzID8/IFtdO1xuICAgICAgICB0aGlzLnJlbmRlckRvY3VtZW50TGFuZ3VhZ2UoKTtcbiAgICB9XG5cbiAgICBnZXQgbGFuZ3VhZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlTGFuZ3VhZ2VzID8/IFtdO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBhc3luYyBsb2FkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGxvYWQgbGFuZ3VhZ2Ugd2l0aCBpZDogXCIke2lkfVwiLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2xvYWRlZERpY3Rpb25hcmllcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLmdldChpZCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2VzPy5maW5kKGxhbmd1YWdlID0+IGxhbmd1YWdlPy5pZCA9PT0gaWQpO1xuICAgICAgICBpZiAoIWxhbmd1YWdlIHx8ICFsYW5ndWFnZT8uZGF0YSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKGBObyBsYW5ndWFnZSB3YXMgZm91bmQgd2l0aCBpZDogXCIke2lkfVwiOyBEZWZhdWx0aW5nIHRvIGZpcnN0IGF2YWlsYWJsZSBsYW5ndWFnZS5gKTtcbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlSWQgPSB0aGlzLmxhbmd1YWdlcz8uWzBdPy5pZCA/PyBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChsYW5ndWFnZUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnlEYXRhVmFsdWVzID0gYXdhaXQgbGFuZ3VhZ2U/LmRhdGE/LigpO1xuICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gdGhpcy5jcmVhdGVEaWN0aW9uYXJ5KGRpY3Rpb25hcnlEYXRhVmFsdWVzLCBsYW5ndWFnZSk7XG4gICAgICAgIHRoaXMuX2xvYWRlZERpY3Rpb25hcmllcy5zZXQoaWQsIGRpY3Rpb25hcnkpO1xuICAgICAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgICB9XG5cbiAgICBhc3luYyBsb2FkQWxsTGFuZ3VhZ2VzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIHRoaXMubGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWQobGFuZ3VhZ2U/LmlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHN3aXRjaChpZDogc3RyaW5nLCBvcHRpb25zPzogeyBjYWNoZT86IGJvb2xlYW4sIHJlbG9hZD86IGJvb2xlYW4gfSkge1xuICAgICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gYXdhaXQgdGhpcy5sb2FkKGlkKTtcbiAgICAgICAgdGhpcy5fY3VycmVudCQubmV4dChkaWN0aW9uYXJ5KTtcblxuICAgICAgICBjb25zdCBjYWNoZSA9IG9wdGlvbnM/LmNhY2hlID8/IHRydWU7XG4gICAgICAgIGlmIChjYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5fc3RvcmFnZS5jb29raWUuc2V0PHN0cmluZz4odGhpcy5fc3RvcmFnZVRva2VuLCBkaWN0aW9uYXJ5Py5pZCwge30pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVsb2FkID0gb3B0aW9ucz8ucmVsb2FkID8/IGZhbHNlO1xuICAgICAgICBpZiAocmVsb2FkKSB7XG4gICAgICAgICAgICB0aGlzLl93aW5kb3c/LmxvY2F0aW9uPy5yZWxvYWQ/LigpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gICAgfVxuXG4gICAgc2VsZWN0KGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkZWREaWN0aW9uYXJpZXMuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaWN0aW9uYXJ5IHdpdGggaWQ6IFwiJHtpZH1cIiBub3QgbG9hZGVkOyBMb2FkIGRpY3Rpb25hcnkgZmlyc3QgYmVmb3JlIHVzaW5nIC5zZWxlY3QoOmlkKS5gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLmdldChpZCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3dpdGNoKHRoaXMuX2Jlc3RNYXRjaGluZ0xhbmd1YWdlPy5pZCwge3JlbG9hZDogZmFsc2UsIGNhY2hlOiBmYWxzZX0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZURpY3Rpb25hcmllcygpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLl9zdG9yYWdlLmNvb2tpZS5yZW1vdmUodGhpcy5fc3RvcmFnZVRva2VuKTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZGF0YTogTG9jYWxpemVQYXJhbXNbJ2RhdGEnXSA9IHt9KSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fdHJhbnNmb3JtcyA/PyBbXSkucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQuZXhlY3V0ZShwcmV2aW91cywgZGF0YSwgdGhpcyk7XG4gICAgICAgIH0sIHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmFuc2xhdGUodG9rZW5PclBhcmFtczogc3RyaW5nIHwgTG9jYWxpemVQYXJhbXMpIHtcbiAgICAgICAgLy8gMS4gQ29udmVydCB0byB0aGUgcGFyYW1zLlxuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmNvbnZlcnRUb1BhcmFtcyh0b2tlbk9yUGFyYW1zKTtcblxuICAgICAgICAvLyAyLiBUcnkgdG8gZmluZCB0aGUgdHJhbnNsYXRpb24gaW4gdGhlIGRpY3Rpb25hcnkuXG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSB0aGlzLmdldERpY3Rpb25hcnkocGFyYW1zPy5kaWN0aW9uYXJ5KTtcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0ID0gISFkaWN0aW9uYXJ5ID8gZGljdGlvbmFyeS5nZXQocGFyYW1zPy50b2tlbikgOiBudWxsO1xuXG4gICAgICAgIC8vIDMuIFZlcmlmeSB0aGUgdHJhbnNsYXRpb24gd2FzIGZvdW5kLlxuICAgICAgICBpZiAoIXNlYXJjaFJlc3VsdCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9taXNzaW5nSGFuZGxlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21pc3NpbmdIYW5kbGVyLmhhbmRsZShwYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKHNlYXJjaFJlc3VsdCwgcGFyYW1zPy5kYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJldHJpZXZlQmVzdE1hdGNoaW5nTGFuZ3VhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExhbmd1YWdlRnJvbVN0b3JhZ2UoKVxuICAgICAgICAgICAgPz8gdGhpcy5nZXRCZXN0QnJvd3Nlck1hdGNoTGFuZ3VhZ2UoKVxuICAgICAgICAgICAgPz8gdGhpcy5fYXZhaWxhYmxlTGFuZ3VhZ2VzPy5bMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYW5ndWFnZUZyb21TdG9yYWdlKCkge1xuICAgICAgICAvLyBHZXQgaWQgZnJvbSB0aGUgc3RvcmFnZS5cbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLl9zdG9yYWdlLmNvb2tpZS5nZXQ8c3RyaW5nPih0aGlzLl9zdG9yYWdlVG9rZW4pO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgbGFuZ3VhZ2UgYmFzZWQgb24gdGhlIHN0b3JhZ2UgaWQuXG4gICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXMuZmluZChpdGVtID0+IGl0ZW0/LmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCZXN0QnJvd3Nlck1hdGNoTGFuZ3VhZ2UoKSB7XG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgYnJvd3NlciBsYW5ndWFnZXMgYW5kIHJldHVybiB0aGVcbiAgICAgICAgLy8gYmVzdCBtYXRjaGluZyBsYW5ndWFnZS5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlcy5hbGwubWFwKCh7Y29kZSwgcmVnaW9ufSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlID0gW2NvZGUsIHJlZ2lvbl0uZmlsdGVyKGRhdGEgPT4gISFkYXRhKS5qb2luKCctJyk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXMuZmluZChpdGVtID0+IGl0ZW0/LnN1cHBvcnRlZD8uaW5jbHVkZXMobGFuZ3VhZ2VDb2RlKSk7XG4gICAgICAgIH0pLmZpbHRlcihpdGVtID0+ICEhaXRlbSkuZmluZCgoXywgaW5kZXgpID0+IGluZGV4ID09PSAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURpY3Rpb25hcnkoZGF0YTogTG9jYWxpemVEaWN0aW9uYXJ5RGF0YSwgbGFuZ3VhZ2U6IExvY2FsaXplQ29uZmlnTGFuZ3VhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMb2NhbGl6ZURpY3Rpb25hcnkobGFuZ3VhZ2U/LmlkLCBsYW5ndWFnZT8ubG9jYWxlLCBsYW5ndWFnZT8uc3VwcG9ydGVkLCBkYXRhPy5kYXRhLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERpY3Rpb25hcnkoaWQ6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0KGlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlckRvY3VtZW50TGFuZ3VhZ2UoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9kb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQubGFuZyA9IHRoaXMuX2Jlc3RNYXRjaGluZ0xhbmd1YWdlPy5zdXBwb3J0ZWQ/LlswXSA/PyB0aGlzLl9iZXN0TWF0Y2hpbmdMYW5ndWFnZT8ubG9jYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgY29tcGFyZURpY3Rpb25hcmllcygpIHtcbiAgICAgICAgY29uc3QgY29tcGFyZURpY3Rpb25hcmllcyA9IHRoaXMuX2NvbmZpZy5jb21wYXJlRGljdGlvbmFyaWVzID8/IGZhbHNlO1xuICAgICAgICBpZiAoIWNvbXBhcmVEaWN0aW9uYXJpZXMgfHwgIXRoaXMuY3VycmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGFuZ3VhZ2VJZHMgPSAodGhpcy5sYW5ndWFnZXMgPz8gW10pXG4gICAgICAgICAgICA/LmZpbHRlcihsYW5ndWFnZSA9PiBsYW5ndWFnZT8uaWQgIT09IHRoaXMuY3VycmVudD8uaWQpXG4gICAgICAgICAgICA/Lm1hcChsYW5ndWFnZSA9PiBsYW5ndWFnZT8uaWQpO1xuXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmN1cnJlbnQuY29tcGFyZShsYW5ndWFnZUlkcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0VG9QYXJhbXMgPSAodG9rZW5PclBhcmFtczogc3RyaW5nIHwgTG9jYWxpemVQYXJhbXMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0b2tlbk9yUGFyYW1zICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgLy8gRGVzdHJ1Y3QgdGhlIHBhcmFtcyBmcm9tIHRoZSBvYmplY3QuXG4gICAgICAgICAgICBjb25zdCB7dG9rZW4sIG9wdGlvbmFsLCBkaWN0aW9uYXJ5LCBkYXRhfSA9IHRva2VuT3JQYXJhbXM7XG5cbiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBhbGwgcGFyYW1ldGVycyBhcmUgdmFsaWRcbiAgICAgICAgICAgIC8vIGJ5IHR5cGUgc2FmZSBhZGRpbmcgdGhlbS5cbiAgICAgICAgICAgIHJldHVybiB7dG9rZW46IHRva2VuLCBvcHRpb25hbDogb3B0aW9uYWwgPz8gZmFsc2UsIGRpY3Rpb25hcnk6IGRpY3Rpb25hcnkgPz8gbnVsbCwgZGF0YTogZGF0YSA/PyB7fX07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgcGFyYW1ldGVyIGlzIGEgc3RyaW5nIGZpbGwgaW4gdGhlIGJsYW5rcy5cbiAgICAgICAgcmV0dXJuIHt0b2tlbjogdG9rZW5PclBhcmFtcywgb3B0aW9uYWw6IGZhbHNlLCBkaWN0aW9uYXJ5OiBudWxsLCBkYXRhOiB7fX07XG4gICAgfTtcblxufVxuIl19
|