@c8y/ngx-components 1021.60.0 → 1021.62.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/alarms/alarm-details.component.d.ts +0 -4
- package/alarms/alarm-details.component.d.ts.map +1 -1
- package/core/authentication/new-password.component.d.ts +6 -3
- package/core/authentication/new-password.component.d.ts.map +1 -1
- package/core/common/interval-based-reload.abstract.d.ts +12 -1
- package/core/common/interval-based-reload.abstract.d.ts.map +1 -1
- package/core/common/permissions.service.d.ts +2 -0
- package/core/common/permissions.service.d.ts.map +1 -1
- package/core/common/tenant-ui.service.d.ts +9 -2
- package/core/common/tenant-ui.service.d.ts.map +1 -1
- package/core/forms/phone-validation.directive.d.ts +3 -6
- package/core/forms/phone-validation.directive.d.ts.map +1 -1
- package/core/router/router.module.d.ts.map +1 -1
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts.map +1 -1
- package/esm2022/alarms/alarm-details.component.mjs +10 -10
- package/esm2022/core/authentication/new-password.component.mjs +26 -5
- package/esm2022/core/common/interval-based-reload.abstract.mjs +50 -2
- package/esm2022/core/common/permissions.service.mjs +3 -1
- package/esm2022/core/common/tenant-ui.service.mjs +28 -6
- package/esm2022/core/forms/phone-validation.directive.mjs +18 -19
- package/esm2022/core/router/router.module.mjs +1 -5
- package/esm2022/core/user/user-edit.component.mjs +1 -1
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.service.mjs +8 -3
- package/esm2022/tenants/custom-properties/custom-properties.component.mjs +25 -5
- package/esm2022/tenants/existing-tenant.guard.mjs +18 -0
- package/esm2022/tenants/index.mjs +3 -1
- package/esm2022/tenants/support-user-access/support-user-access.component.mjs +31 -0
- package/esm2022/tenants/tenant-form/tenant-form-inputs-definitions.mjs +116 -0
- package/esm2022/tenants/tenant-form/tenant-form.component.mjs +294 -0
- package/esm2022/tenants/tenant-limits/tenant-limits-definitions.mjs +10 -17
- package/esm2022/tenants/tenant-limits/tenant-limits.component.mjs +42 -29
- package/esm2022/tenants/tenant-list/tenant-list.component.mjs +17 -8
- package/esm2022/tenants/tenants.model.mjs +30 -1
- package/esm2022/tenants/tenants.module.mjs +57 -22
- package/esm2022/translation-editor/data/translation-store.service.mjs +11 -8
- package/esm2022/translation-editor/index.mjs +22 -5
- package/esm2022/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.mjs +136 -0
- package/esm2022/translation-editor/lazy/index.mjs +2 -1
- package/esm2022/translation-editor/translation-editor-tab-factory.service.mjs +40 -0
- package/esm2022/translation-editor/translation-editor.constants.mjs +4 -0
- package/esm2022/upgrade/upgraded-services/index.mjs +2 -1
- package/esm2022/upgrade/upgraded-services/tenant-policies.service.mjs +11 -0
- package/esm2022/upgrade/upgraded-services/upgraded-services.module.mjs +12 -3
- package/esm2022/widgets/implementations/alarms/alarm-widget-alarms-reload.component.mjs +9 -7
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +9 -7
- package/fesm2022/c8y-ngx-components-alarms.mjs +5 -5
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +7 -2
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +603 -82
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +9 -6
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +127 -2
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor.mjs +58 -4
- package/fesm2022/c8y-ngx-components-translation-editor.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +22 -3
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +8 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +8 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +499 -413
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +17 -25
- package/locales/es.po +17 -25
- package/locales/fr.po +17 -25
- package/locales/ja_JP.po +17 -25
- package/locales/ko.po +17 -25
- package/locales/locales.pot +34 -24
- package/locales/nl.po +17 -25
- package/locales/pl.po +17 -25
- package/locales/pt_BR.po +17 -25
- package/locales/zh_CN.po +17 -25
- package/locales/zh_TW.po +17 -25
- package/package.json +1 -1
- package/tenants/custom-properties/custom-properties.component.d.ts +4 -2
- package/tenants/custom-properties/custom-properties.component.d.ts.map +1 -1
- package/tenants/existing-tenant.guard.d.ts +13 -0
- package/tenants/existing-tenant.guard.d.ts.map +1 -0
- package/tenants/index.d.ts +2 -0
- package/tenants/index.d.ts.map +1 -1
- package/tenants/support-user-access/support-user-access.component.d.ts +18 -0
- package/tenants/support-user-access/support-user-access.component.d.ts.map +1 -0
- package/tenants/tenant-form/tenant-form-inputs-definitions.d.ts +113 -0
- package/tenants/tenant-form/tenant-form-inputs-definitions.d.ts.map +1 -0
- package/tenants/tenant-form/tenant-form.component.d.ts +79 -0
- package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -0
- package/tenants/tenant-limits/tenant-limits-definitions.d.ts +11 -15
- package/tenants/tenant-limits/tenant-limits-definitions.d.ts.map +1 -1
- package/tenants/tenant-limits/tenant-limits.component.d.ts +9 -7
- package/tenants/tenant-limits/tenant-limits.component.d.ts.map +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +6 -3
- package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
- package/tenants/tenants.model.d.ts +31 -0
- package/tenants/tenants.model.d.ts.map +1 -1
- package/tenants/tenants.module.d.ts +4 -2
- package/tenants/tenants.module.d.ts.map +1 -1
- package/translation-editor/data/translation-store.service.d.ts +3 -2
- package/translation-editor/data/translation-store.service.d.ts.map +1 -1
- package/translation-editor/index.d.ts.map +1 -1
- package/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.d.ts +28 -0
- package/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.d.ts.map +1 -0
- package/translation-editor/lazy/index.d.ts +1 -0
- package/translation-editor/lazy/index.d.ts.map +1 -1
- package/translation-editor/translation-editor-tab-factory.service.d.ts +22 -0
- package/translation-editor/translation-editor-tab-factory.service.d.ts.map +1 -0
- package/translation-editor/translation-editor.constants.d.ts +4 -0
- package/translation-editor/translation-editor.constants.d.ts.map +1 -0
- package/upgrade/upgraded-services/index.d.ts +1 -0
- package/upgrade/upgraded-services/index.d.ts.map +1 -1
- package/upgrade/upgraded-services/tenant-policies.service.d.ts +11 -0
- package/upgrade/upgraded-services/tenant-policies.service.d.ts.map +1 -0
- package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +7 -2
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts +7 -2
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -1
|
@@ -1,3 +1,32 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const TENANTS_MODULE_CONFIG = new InjectionToken('TenantsModuleConfig');
|
|
3
|
-
|
|
3
|
+
export const PRODUCT_EXPERIENCE_TENANT_MANAGEMENT = {
|
|
4
|
+
EVENTS: {
|
|
5
|
+
TENANT_MANAGEMENT: 'tenantManagement'
|
|
6
|
+
},
|
|
7
|
+
COMPONENTS: {
|
|
8
|
+
TENANT_LIST: 'tenant-list',
|
|
9
|
+
TENANT_FORM: 'tenant-form',
|
|
10
|
+
TENANT_CUSTOM_PROPERTIES: 'tenant-custom-properties',
|
|
11
|
+
TENANT_LIMITS: 'tenant-limits'
|
|
12
|
+
},
|
|
13
|
+
ACTIONS: {
|
|
14
|
+
TENANT_CREATION_INITIALIZED: 'tenantCreationInitialized',
|
|
15
|
+
TENANT_CREATION_STARTED_FILLING: 'tenantCreationStartedFilling',
|
|
16
|
+
TENANT_CREATION_SAVED: 'tenantCreationSaved',
|
|
17
|
+
TENANT_PROPERTIES_OPENED: 'tenantPropertiesOpened',
|
|
18
|
+
TENANT_PROPERTIES_STARTED_CHANGING: 'tenantPropertiesStartedChanging',
|
|
19
|
+
TENANT_PROPERTIES_SAVED: 'tenantPropertiesSaved',
|
|
20
|
+
TENANT_CUSTOM_PROPERTIES_OPENED: 'tenantCustomPropertiesOpened',
|
|
21
|
+
TENANT_CUSTOM_PROPERTIES_STARTED_CHANGING: 'tenantCustomPropertiesStartedChanging',
|
|
22
|
+
TENANT_CUSTOM_PROPERTIES_SAVED: 'tenantCustomPropertiesSaved',
|
|
23
|
+
TENANT_LIMITS_OPENED: 'tenantLimitsOpened',
|
|
24
|
+
TENANT_LIMITS_STARTED_CHANGING: 'tenantLimitsStartedChanging',
|
|
25
|
+
TENANT_LIMITS_SAVED: 'tenantLimitsSaved'
|
|
26
|
+
},
|
|
27
|
+
RESULTS: {
|
|
28
|
+
SUCCESS: 'success',
|
|
29
|
+
FAILURE: 'failure'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RlbmFudHMvdGVuYW50cy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFzQixxQkFBcUIsQ0FBQyxDQUFDO0FBZ0JwRyxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRztJQUNsRCxNQUFNLEVBQUU7UUFDTixpQkFBaUIsRUFBRSxrQkFBa0I7S0FDdEM7SUFDRCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUUsYUFBYTtRQUMxQixXQUFXLEVBQUUsYUFBYTtRQUMxQix3QkFBd0IsRUFBRSwwQkFBMEI7UUFDcEQsYUFBYSxFQUFFLGVBQWU7S0FDL0I7SUFDRCxPQUFPLEVBQUU7UUFDUCwyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsK0JBQStCLEVBQUUsOEJBQThCO1FBQy9ELHFCQUFxQixFQUFFLHFCQUFxQjtRQUM1Qyx3QkFBd0IsRUFBRSx3QkFBd0I7UUFDbEQsa0NBQWtDLEVBQUUsaUNBQWlDO1FBQ3JFLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCwrQkFBK0IsRUFBRSw4QkFBOEI7UUFDL0QseUNBQXlDLEVBQUUsdUNBQXVDO1FBQ2xGLDhCQUE4QixFQUFFLDZCQUE2QjtRQUM3RCxvQkFBb0IsRUFBRSxvQkFBb0I7UUFDMUMsOEJBQThCLEVBQUUsNkJBQTZCO1FBQzdELG1CQUFtQixFQUFFLG1CQUFtQjtLQUN6QztJQUNELE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JOb2RlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBjb25zdCBURU5BTlRTX01PRFVMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGVuYW50c01vZHVsZUNvbmZpZz4oJ1RlbmFudHNNb2R1bGVDb25maWcnKTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYFRlbmFudHNNb2R1bGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbmFudHNNb2R1bGVDb25maWcge1xuICAvKipcbiAgICogQWxsb3dzIGZvciBoaWRpbmcgb3IgY3VzdG9taXppbmcgXCJTdWJ0ZW5hbnRzXCIgbmF2aWdhdG9yIG5vZGU6XG4gICAqIC0gYHN1YnRlbmFudHNOYXZpZ2F0b3JOb2RlOiB0cnVlYCAtIHNob3dzIHRoZSBkZWZhdWx0IG5hdmlnYXRvciBub2RlIChkZWZhdWx0KSxcbiAgICogLSBgc3VidGVuYW50c05hdmlnYXRvck5vZGU6IGZhbHNlYCAtIGhpZGVzIHRoZSBuYXZpZ2F0b3Igbm9kZSxcbiAgICogLSBgc3VidGVuYW50c05hdmlnYXRvck5vZGU6IHsgbGFiZWw6ICdNeSBzdWJ0ZW5hbnRzJyB9YCAtIG92ZXJyaWRlcyBkZWZhdWx0IG5hdmlnYXRvciBub2RlLFxuICAgKiAtIGBzdWJ0ZW5hbnRzTmF2aWdhdG9yTm9kZTogbmV3IE5hdmlnYXRvck5vZGUoeyBsYWJlbDogJ015IHN1YnRlbmFudHMnIH0pYCAtIG92ZXJyaWRlcyBkZWZhdWx0IG5hdmlnYXRvciBub2RlLlxuICAgKi9cbiAgc3VidGVuYW50c05hdmlnYXRvck5vZGU/OiBib29sZWFuIHwgUGFydGlhbDxOYXZpZ2F0b3JOb2RlPjtcbn1cblxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfRVhQRVJJRU5DRV9URU5BTlRfTUFOQUdFTUVOVCA9IHtcbiAgRVZFTlRTOiB7XG4gICAgVEVOQU5UX01BTkFHRU1FTlQ6ICd0ZW5hbnRNYW5hZ2VtZW50J1xuICB9LFxuICBDT01QT05FTlRTOiB7XG4gICAgVEVOQU5UX0xJU1Q6ICd0ZW5hbnQtbGlzdCcsXG4gICAgVEVOQU5UX0ZPUk06ICd0ZW5hbnQtZm9ybScsXG4gICAgVEVOQU5UX0NVU1RPTV9QUk9QRVJUSUVTOiAndGVuYW50LWN1c3RvbS1wcm9wZXJ0aWVzJyxcbiAgICBURU5BTlRfTElNSVRTOiAndGVuYW50LWxpbWl0cydcbiAgfSxcbiAgQUNUSU9OUzoge1xuICAgIFRFTkFOVF9DUkVBVElPTl9JTklUSUFMSVpFRDogJ3RlbmFudENyZWF0aW9uSW5pdGlhbGl6ZWQnLFxuICAgIFRFTkFOVF9DUkVBVElPTl9TVEFSVEVEX0ZJTExJTkc6ICd0ZW5hbnRDcmVhdGlvblN0YXJ0ZWRGaWxsaW5nJyxcbiAgICBURU5BTlRfQ1JFQVRJT05fU0FWRUQ6ICd0ZW5hbnRDcmVhdGlvblNhdmVkJyxcbiAgICBURU5BTlRfUFJPUEVSVElFU19PUEVORUQ6ICd0ZW5hbnRQcm9wZXJ0aWVzT3BlbmVkJyxcbiAgICBURU5BTlRfUFJPUEVSVElFU19TVEFSVEVEX0NIQU5HSU5HOiAndGVuYW50UHJvcGVydGllc1N0YXJ0ZWRDaGFuZ2luZycsXG4gICAgVEVOQU5UX1BST1BFUlRJRVNfU0FWRUQ6ICd0ZW5hbnRQcm9wZXJ0aWVzU2F2ZWQnLFxuICAgIFRFTkFOVF9DVVNUT01fUFJPUEVSVElFU19PUEVORUQ6ICd0ZW5hbnRDdXN0b21Qcm9wZXJ0aWVzT3BlbmVkJyxcbiAgICBURU5BTlRfQ1VTVE9NX1BST1BFUlRJRVNfU1RBUlRFRF9DSEFOR0lORzogJ3RlbmFudEN1c3RvbVByb3BlcnRpZXNTdGFydGVkQ2hhbmdpbmcnLFxuICAgIFRFTkFOVF9DVVNUT01fUFJPUEVSVElFU19TQVZFRDogJ3RlbmFudEN1c3RvbVByb3BlcnRpZXNTYXZlZCcsXG4gICAgVEVOQU5UX0xJTUlUU19PUEVORUQ6ICd0ZW5hbnRMaW1pdHNPcGVuZWQnLFxuICAgIFRFTkFOVF9MSU1JVFNfU1RBUlRFRF9DSEFOR0lORzogJ3RlbmFudExpbWl0c1N0YXJ0ZWRDaGFuZ2luZycsXG4gICAgVEVOQU5UX0xJTUlUU19TQVZFRDogJ3RlbmFudExpbWl0c1NhdmVkJ1xuICB9LFxuICBSRVNVTFRTOiB7XG4gICAgU1VDQ0VTUzogJ3N1Y2Nlc3MnLFxuICAgIEZBSUxVUkU6ICdmYWlsdXJlJ1xuICB9XG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgVGVuYW50TWFuYWdlbWVudEFjdGlvblR5cGUgPVxuICAodHlwZW9mIFBST0RVQ1RfRVhQRVJJRU5DRV9URU5BTlRfTUFOQUdFTUVOVC5BQ1RJT05TKVtrZXlvZiB0eXBlb2YgUFJPRFVDVF9FWFBFUklFTkNFX1RFTkFOVF9NQU5BR0VNRU5ULkFDVElPTlNdO1xuZXhwb3J0IHR5cGUgVGVuYW50TWFuYWdlbWVudFJlc3VsdFR5cGUgPVxuICAodHlwZW9mIFBST0RVQ1RfRVhQRVJJRU5DRV9URU5BTlRfTUFOQUdFTUVOVC5SRVNVTFRTKVtrZXlvZiB0eXBlb2YgUFJPRFVDVF9FWFBFUklFTkNFX1RFTkFOVF9NQU5BR0VNRU5ULlJFU1VMVFNdO1xuIl19
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
3
|
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
4
|
-
import { CoreModule,
|
|
4
|
+
import { CoreModule, hookNavigator, hookRoute, gettext, ViewContext } from '@c8y/ngx-components';
|
|
5
5
|
import { TenantsNavigationFactory } from './tenants-navigation.factory';
|
|
6
6
|
import { TenantListComponent } from './tenant-list/tenant-list.component';
|
|
7
7
|
import { CreationTimeFilteringFormRendererComponent } from './tenant-list/creation-time.filtering-form-renderer.component';
|
|
8
8
|
import { StatusFilteringFormRendererComponent } from './tenant-list/status.filtering-form-renderer.component';
|
|
9
9
|
import { TENANTS_MODULE_CONFIG } from './tenants.model';
|
|
10
10
|
import { TenantListGuard } from './tenant-list/tenant-list.guard';
|
|
11
|
+
import { TenantFormComponent } from './tenant-form/tenant-form.component';
|
|
11
12
|
import { CustomPropertiesComponent } from './custom-properties/custom-properties.component';
|
|
12
13
|
import { TenantLimitsComponent } from './tenant-limits/tenant-limits.component';
|
|
14
|
+
import { SupportUserAccessComponent } from './support-user-access/support-user-access.component';
|
|
15
|
+
import { ExistingTenantGuard } from './existing-tenant.guard';
|
|
13
16
|
import * as i0 from "@angular/core";
|
|
14
17
|
export class TenantsModule {
|
|
15
18
|
static config(config = {}) {
|
|
@@ -26,24 +29,39 @@ export class TenantsModule {
|
|
|
26
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
27
30
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TenantsModule, declarations: [TenantListComponent,
|
|
28
31
|
CreationTimeFilteringFormRendererComponent,
|
|
29
|
-
StatusFilteringFormRendererComponent
|
|
32
|
+
StatusFilteringFormRendererComponent,
|
|
33
|
+
TenantFormComponent], imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent] }); }
|
|
30
34
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsModule, providers: [
|
|
31
35
|
TenantListGuard,
|
|
36
|
+
ExistingTenantGuard,
|
|
32
37
|
hookNavigator(TenantsNavigationFactory),
|
|
33
|
-
hookRoute({
|
|
34
|
-
path: 'tenants',
|
|
35
|
-
icon: 'c8y-layers',
|
|
36
|
-
component: TenantListComponent,
|
|
37
|
-
canActivate: [TenantListGuard]
|
|
38
|
-
}),
|
|
39
38
|
hookRoute([
|
|
39
|
+
{
|
|
40
|
+
path: 'tenants',
|
|
41
|
+
icon: 'c8y-layers',
|
|
42
|
+
component: TenantListComponent,
|
|
43
|
+
canActivate: [TenantListGuard]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
path: 'tenants/new',
|
|
47
|
+
component: TenantFormComponent
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
path: 'properties',
|
|
51
|
+
component: TenantFormComponent,
|
|
52
|
+
icon: 'new-property',
|
|
53
|
+
label: gettext('Properties'),
|
|
54
|
+
context: ViewContext.Tenant,
|
|
55
|
+
priority: 10000
|
|
56
|
+
},
|
|
40
57
|
{
|
|
41
58
|
path: 'custom_properties',
|
|
42
59
|
component: CustomPropertiesComponent,
|
|
43
60
|
icon: 'property-script',
|
|
44
61
|
label: gettext('Custom properties'),
|
|
45
62
|
context: ViewContext.Tenant,
|
|
46
|
-
priority: 4
|
|
63
|
+
priority: 4,
|
|
64
|
+
canActivate: [ExistingTenantGuard]
|
|
47
65
|
},
|
|
48
66
|
{
|
|
49
67
|
path: 'limits',
|
|
@@ -51,38 +69,54 @@ export class TenantsModule {
|
|
|
51
69
|
icon: 'sliders',
|
|
52
70
|
label: gettext('Limits'),
|
|
53
71
|
context: ViewContext.Tenant,
|
|
54
|
-
priority: 3
|
|
72
|
+
priority: 3,
|
|
73
|
+
canActivate: [ExistingTenantGuard]
|
|
55
74
|
}
|
|
56
75
|
])
|
|
57
|
-
], imports: [
|
|
76
|
+
], imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent] }); }
|
|
58
77
|
}
|
|
59
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantsModule, decorators: [{
|
|
60
79
|
type: NgModule,
|
|
61
80
|
args: [{
|
|
62
|
-
imports: [
|
|
81
|
+
imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent],
|
|
63
82
|
exports: [],
|
|
64
83
|
declarations: [
|
|
65
84
|
TenantListComponent,
|
|
66
85
|
CreationTimeFilteringFormRendererComponent,
|
|
67
|
-
StatusFilteringFormRendererComponent
|
|
86
|
+
StatusFilteringFormRendererComponent,
|
|
87
|
+
TenantFormComponent
|
|
68
88
|
],
|
|
69
89
|
providers: [
|
|
70
90
|
TenantListGuard,
|
|
91
|
+
ExistingTenantGuard,
|
|
71
92
|
hookNavigator(TenantsNavigationFactory),
|
|
72
|
-
hookRoute({
|
|
73
|
-
path: 'tenants',
|
|
74
|
-
icon: 'c8y-layers',
|
|
75
|
-
component: TenantListComponent,
|
|
76
|
-
canActivate: [TenantListGuard]
|
|
77
|
-
}),
|
|
78
93
|
hookRoute([
|
|
94
|
+
{
|
|
95
|
+
path: 'tenants',
|
|
96
|
+
icon: 'c8y-layers',
|
|
97
|
+
component: TenantListComponent,
|
|
98
|
+
canActivate: [TenantListGuard]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
path: 'tenants/new',
|
|
102
|
+
component: TenantFormComponent
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
path: 'properties',
|
|
106
|
+
component: TenantFormComponent,
|
|
107
|
+
icon: 'new-property',
|
|
108
|
+
label: gettext('Properties'),
|
|
109
|
+
context: ViewContext.Tenant,
|
|
110
|
+
priority: 10000
|
|
111
|
+
},
|
|
79
112
|
{
|
|
80
113
|
path: 'custom_properties',
|
|
81
114
|
component: CustomPropertiesComponent,
|
|
82
115
|
icon: 'property-script',
|
|
83
116
|
label: gettext('Custom properties'),
|
|
84
117
|
context: ViewContext.Tenant,
|
|
85
|
-
priority: 4
|
|
118
|
+
priority: 4,
|
|
119
|
+
canActivate: [ExistingTenantGuard]
|
|
86
120
|
},
|
|
87
121
|
{
|
|
88
122
|
path: 'limits',
|
|
@@ -90,10 +124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
90
124
|
icon: 'sliders',
|
|
91
125
|
label: gettext('Limits'),
|
|
92
126
|
context: ViewContext.Tenant,
|
|
93
|
-
priority: 3
|
|
127
|
+
priority: 3,
|
|
128
|
+
canActivate: [ExistingTenantGuard]
|
|
94
129
|
}
|
|
95
130
|
])
|
|
96
131
|
]
|
|
97
132
|
}]
|
|
98
133
|
}] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZW5hbnRzL3RlbmFudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNILE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzlHLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBdUQ5RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQThCLEVBQUU7UUFDNUMs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LFNBQVMsRUFBRSx5QkFBeUI7Z0NBQ3BDLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEtBQUssRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0NBQ25DLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTTtnQ0FDM0IsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsV0FBVyxFQUFFLENBQUMsbUJBQW1CLENBQUM7NkJBQ25DOzRCQUNEO2dDQUNFLElBQUksRUFBRSxRQUFRO2dDQUNkLFNBQVMsRUFBRSxxQkFBcUI7Z0NBQ2hDLElBQUksRUFBRSxTQUFTO2dDQUNmLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO2dDQUN4QixPQUFPLEVBQUUsV0FBVyxDQUFDLE1BQU07Z0NBQzNCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZCQUNuQzt5QkFDRixDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgaG9va05hdmlnYXRvciwgaG9va1JvdXRlLCBnZXR0ZXh0LCBWaWV3Q29udGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVGVuYW50c05hdmlnYXRpb25GYWN0b3J5IH0gZnJvbSAnLi90ZW5hbnRzLW5hdmlnYXRpb24uZmFjdG9yeSc7XG5pbXBvcnQgeyBUZW5hbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi90ZW5hbnQtbGlzdC90ZW5hbnQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3JlYXRpb25UaW1lRmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi90ZW5hbnQtbGlzdC9jcmVhdGlvbi10aW1lLmZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGF0dXNGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL3RlbmFudC1saXN0L3N0YXR1cy5maWx0ZXJpbmctZm9ybS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVuYW50c01vZHVsZUNvbmZpZywgVEVOQU5UU19NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi90ZW5hbnRzLm1vZGVsJztcbmltcG9ydCB7IFRlbmFudExpc3RHdWFyZCB9IGZyb20gJy4vdGVuYW50LWxpc3QvdGVuYW50LWxpc3QuZ3VhcmQnO1xuaW1wb3J0IHsgVGVuYW50Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdGVuYW50LWZvcm0vdGVuYW50LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1wcm9wZXJ0aWVzL2N1c3RvbS1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZW5hbnRMaW1pdHNDb21wb25lbnQgfSBmcm9tICcuL3RlbmFudC1saW1pdHMvdGVuYW50LWxpbWl0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VwcG9ydFVzZXJBY2Nlc3NDb21wb25lbnQgfSBmcm9tICcuL3N1cHBvcnQtdXNlci1hY2Nlc3Mvc3VwcG9ydC11c2VyLWFjY2Vzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhpc3RpbmdUZW5hbnRHdWFyZCB9IGZyb20gJy4vZXhpc3RpbmctdGVuYW50Lmd1YXJkJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0JzRGF0ZXBpY2tlck1vZHVsZSwgQ29yZU1vZHVsZSwgUm91dGVyTW9kdWxlLCBTdXBwb3J0VXNlckFjY2Vzc0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZW5hbnRMaXN0Q29tcG9uZW50LFxuICAgIENyZWF0aW9uVGltZUZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudCxcbiAgICBTdGF0dXNGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb21wb25lbnQsXG4gICAgVGVuYW50Rm9ybUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBUZW5hbnRMaXN0R3VhcmQsXG4gICAgRXhpc3RpbmdUZW5hbnRHdWFyZCxcbiAgICBob29rTmF2aWdhdG9yKFRlbmFudHNOYXZpZ2F0aW9uRmFjdG9yeSksXG4gICAgaG9va1JvdXRlKFtcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ3RlbmFudHMnLFxuICAgICAgICBpY29uOiAnYzh5LWxheWVycycsXG4gICAgICAgIGNvbXBvbmVudDogVGVuYW50TGlzdENvbXBvbmVudCxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtUZW5hbnRMaXN0R3VhcmRdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAndGVuYW50cy9uZXcnLFxuICAgICAgICBjb21wb25lbnQ6IFRlbmFudEZvcm1Db21wb25lbnRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdwcm9wZXJ0aWVzJyxcbiAgICAgICAgY29tcG9uZW50OiBUZW5hbnRGb3JtQ29tcG9uZW50LFxuICAgICAgICBpY29uOiAnbmV3LXByb3BlcnR5JyxcbiAgICAgICAgbGFiZWw6IGdldHRleHQoJ1Byb3BlcnRpZXMnKSxcbiAgICAgICAgY29udGV4dDogVmlld0NvbnRleHQuVGVuYW50LFxuICAgICAgICBwcmlvcml0eTogMTAwMDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdjdXN0b21fcHJvcGVydGllcycsXG4gICAgICAgIGNvbXBvbmVudDogQ3VzdG9tUHJvcGVydGllc0NvbXBvbmVudCxcbiAgICAgICAgaWNvbjogJ3Byb3BlcnR5LXNjcmlwdCcsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdDdXN0b20gcHJvcGVydGllcycpLFxuICAgICAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5UZW5hbnQsXG4gICAgICAgIHByaW9yaXR5OiA0LFxuICAgICAgICBjYW5BY3RpdmF0ZTogW0V4aXN0aW5nVGVuYW50R3VhcmRdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnbGltaXRzJyxcbiAgICAgICAgY29tcG9uZW50OiBUZW5hbnRMaW1pdHNDb21wb25lbnQsXG4gICAgICAgIGljb246ICdzbGlkZXJzJyxcbiAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xpbWl0cycpLFxuICAgICAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5UZW5hbnQsXG4gICAgICAgIHByaW9yaXR5OiAzLFxuICAgICAgICBjYW5BY3RpdmF0ZTogW0V4aXN0aW5nVGVuYW50R3VhcmRdXG4gICAgICB9XG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRzTW9kdWxlIHtcbiAgc3RhdGljIGNvbmZpZyhjb25maWc6IFRlbmFudHNNb2R1bGVDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGVuYW50c01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVGVuYW50c01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVEVOQU5UU19NT0RVTEVfQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ApplicationAvailability, ApplicationService, ApplicationType } from '@c8y/client';
|
|
2
|
+
import { ApplicationAvailability, ApplicationService, ApplicationType, FetchClient } from '@c8y/client';
|
|
3
3
|
import { AppStateService, ZipService } from '@c8y/ngx-components';
|
|
4
4
|
import { uniq } from 'lodash-es';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@c8y/client";
|
|
7
7
|
import * as i2 from "@c8y/ngx-components";
|
|
8
8
|
export class TranslationStoreService {
|
|
9
|
-
constructor(appService, appState, zip) {
|
|
9
|
+
constructor(appService, appState, zip, fetchClient) {
|
|
10
10
|
this.appService = appService;
|
|
11
11
|
this.appState = appState;
|
|
12
12
|
this.zip = zip;
|
|
13
|
+
this.fetchClient = fetchClient;
|
|
13
14
|
this.translationAppName = 'User defined translations';
|
|
14
15
|
this.translationAppContextPath = 'user-defined-translations';
|
|
15
16
|
}
|
|
@@ -30,11 +31,12 @@ export class TranslationStoreService {
|
|
|
30
31
|
for (const locale of locales) {
|
|
31
32
|
try {
|
|
32
33
|
const translationsForLanguageAndApp = await this.getFileFromPath(`/apps/${contextPath}/${locale}.json`);
|
|
33
|
-
|
|
34
|
+
const translationsForLang = translationsForLanguageAndApp[locale];
|
|
35
|
+
for (const key of Object.keys(translationsForLang)) {
|
|
34
36
|
if (!translations[key]) {
|
|
35
37
|
translations[key] = {};
|
|
36
38
|
}
|
|
37
|
-
translations[key][locale] =
|
|
39
|
+
translations[key][locale] = translationsForLang[key];
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
catch (e) {
|
|
@@ -158,13 +160,14 @@ export class TranslationStoreService {
|
|
|
158
160
|
}
|
|
159
161
|
async getFileFromPath(path) {
|
|
160
162
|
const finalPath = `${path}?nocache=${Date.now()}`;
|
|
161
|
-
|
|
163
|
+
// using fetch client instead of fetch directly here to ensure loading indicator is shown during these requests
|
|
164
|
+
const response = await this.fetchClient.fetch(finalPath);
|
|
162
165
|
if (response.status !== 200) {
|
|
163
166
|
throw new Error(`Failed to fetch file from ${path}`);
|
|
164
167
|
}
|
|
165
168
|
return response.json();
|
|
166
169
|
}
|
|
167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationStoreService, deps: [{ token: i1.ApplicationService }, { token: i2.AppStateService }, { token: i2.ZipService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationStoreService, deps: [{ token: i1.ApplicationService }, { token: i2.AppStateService }, { token: i2.ZipService }, { token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
168
171
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationStoreService, providedIn: 'root' }); }
|
|
169
172
|
}
|
|
170
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationStoreService, decorators: [{
|
|
@@ -172,5 +175,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
172
175
|
args: [{
|
|
173
176
|
providedIn: 'root'
|
|
174
177
|
}]
|
|
175
|
-
}], ctorParameters: () => [{ type: i1.ApplicationService }, { type: i2.AppStateService }, { type: i2.ZipService }] });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RyYW5zbGF0aW9uLWVkaXRvci9kYXRhL3RyYW5zbGF0aW9uLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixlQUFlLEVBRWhCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVVqQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsVUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsR0FBZTtRQUZmLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFOTix1QkFBa0IsR0FBRywyQkFBMkIsQ0FBQztRQUNqRCw4QkFBeUIsR0FBRywyQkFBMkIsQ0FBQztJQU14RSxDQUFDO0lBRUo7O09BRUc7SUFDSCxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBaUI7UUFDOUMsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3RELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUM5QyxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQzdCLFVBQVU7YUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFH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RU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsSUFBSSxZQUFZLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQTFNVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25BdmFpbGFiaWxpdHksXG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgQXBwbGljYXRpb25UeXBlLFxuICBJQXBwbGljYXRpb25cbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBaaXBTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkxvY2FsZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGxvY2FsZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblN0b3JlU2VydmljZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkFwcE5hbWUgPSAnVXNlciBkZWZpbmVkIHRyYW5zbGF0aW9ucyc7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkFwcENvbnRleHRQYXRoID0gJ3VzZXItZGVmaW5lZC10cmFuc2xhdGlvbnMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHppcDogWmlwU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgYXZhaWxhYmxlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGdpdmVuIGxvY2FsZXMgZnJvbSBhbGwgdGhlIGhvc3RlZCBhcHBzIGF2YWlsYWJsZSBvbiB0aGUgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgZ2V0QXZhaWxhYmxlVHJhbnNsYXRpb25zKGxvY2FsZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgeyBkYXRhOiBob3N0ZWRBcHBzIH0gPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UubGlzdCh7XG4gICAgICB0ZW5hbnQ6IHRoaXMuYXBwU3RhdGUuY3VycmVudFRlbmFudC52YWx1ZS5uYW1lLFxuICAgICAgdHlwZTogJ0hPU1RFRCcsXG4gICAgICBwYWdlU2l6ZTogMjAwMFxuICAgIH0pO1xuXG4gICAgY29uc3QgdW5pcXVlQ29udGV4dFBhdGhzID0gdW5pcShcbiAgICAgIGhvc3RlZEFwcHNcbiAgICAgICAgLmZpbHRlcihhcHAgPT4gYXBwLmNvbnRleHRQYXRoICYmIGFwcC5tYW5pZmVzdD8ud2ViU2RrVmVyc2lvbilcbiAgICAgICAgLm1hcChhcHAgPT4gYXBwLmNvbnRleHRQYXRoKVxuICAgICk7XG5cbiAgICBjb25zdCB0cmFuc2xhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogeyBbbG9jYWxlOiBzdHJpbmddOiBzdHJpbmcgfSB9ID0ge307XG4gICAgZm9yIChjb25zdCBjb250ZXh0UGF0aCBvZiB1bmlxdWVDb250ZXh0UGF0aHMpIHtcbiAgICAgIGZvciAoY29uc3QgbG9jYWxlIG9mIGxvY2FsZXMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNGb3JMYW5ndWFnZUFuZEFwcCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUZyb21QYXRoKFxuICAgICAgICAgICAgYC9hcHBzLyR7Y29udGV4dFBhdGh9LyR7bG9jYWxlfS5qc29uYFxuICAgICAgICAgICk7XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModHJhbnNsYXRpb25zRm9yTGFuZ3VhZ2VBbmRBcHApKSB7XG4gICAgICAgICAgICBpZiAoIXRyYW5zbGF0aW9uc1trZXldKSB7XG4gICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cmFuc2xhdGlvbnNba2V5XVtsb2NhbGVdID0gdHJhbnNsYXRpb25zRm9yTGFuZ3VhZ2VBbmRBcHBba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoZSBnaXZlbiBsb2NhbGUgZnJvbSB0aGUgdHJhbnNsYXRpb24gYXBwLlxuICAgKi9cbiAgYXN5bmMgZ2V0VHJhbnNsYXRpb25zRm9yTG9jYWxlPFQgZXh0ZW5kcyBzdHJpbmc+KGxvY2FsZTogVCk6IFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSBhd2FpdCB0aGlzLmdldEZpbGVGcm9tVHJhbnNsYXRpb25BcHAoYCR7bG9jYWxlfS5qc29uYCk7XG4gICAgICBpZiAodHJhbnNsYXRpb25zW2xvY2FsZV0pIHtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uc1tsb2NhbGVdO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGdpdmVuIGxvY2FsZXMgZnJvbSB0aGUgdHJhbnNsYXRpb24gYXBwLlxuICAgKi9cbiAgYXN5bmMgbG9hZFRyYW5zbGF0aW9uc0ZvckxvY2FsZXMobG9jYWxlczogc3RyaW5nW10pOiBQcm9taXNlPHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgfT4ge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uczoge1xuICAgICAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICB9ID0ge307XG5cbiAgICBjb25zdCBsb2FkQW5kQWRkTG9jYWxlID0gYXN5bmMgKGxvY2FsZTogc3RyaW5nKSA9PiB7XG4gICAgICB0cmFuc2xhdGlvbnNbbG9jYWxlXSA9IGF3YWl0IHRoaXMuZ2V0VHJhbnNsYXRpb25zRm9yTG9jYWxlKGxvY2FsZSk7XG4gICAgfTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGxvY2FsZXMubWFwKGxvYWRBbmRBZGRMb2NhbGUpKTtcblxuICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgY29tYmluZWQgbGlzdCBvZiB0cmFuc2xhdGlvbnMgZm9yIGFsbCB0aGUgcHJvdmlkZWQgbG9jYWxlcy5cbiAgICogVGhlIGxvY2FsZXMgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgb2JqZWN0IHBlciBrZXkgYW5kIGFuIGFycmF5IG9mIHRoZXNlIG9iamVjdHMgaXMgcmV0dXJuZWQuXG4gICAqL1xuICBhc3luYyBnZXRDb21iaW5lZExpc3RPZlRyYW5zbGF0aW9uc0ZvclBlcktleShcbiAgICBsb2NhbGVzOiBzdHJpbmdbXVxuICApOiBQcm9taXNlPHsga2V5OiBzdHJpbmc7IFtsb2NhbGU6IHN0cmluZ106IHN0cmluZyB9W10+IHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSBhd2FpdCB0aGlzLmxvYWRUcmFuc2xhdGlvbnNGb3JMb2NhbGVzKGxvY2FsZXMpO1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uTWFwOiB7IFtrZXk6IHN0cmluZ106IHsgW2xvY2FsZTogc3RyaW5nXTogc3RyaW5nIH0gfSA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBsb2NhbGUgb2YgT2JqZWN0LmtleXModHJhbnNsYXRpb25zKSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModHJhbnNsYXRpb25zW2xvY2FsZV0pKSB7XG4gICAgICAgIGxldCB0cmFuc2xhdGlvbnNGb3JLZXkgPSB0cmFuc2xhdGlvbk1hcFtrZXldO1xuICAgICAgICBpZiAoIXRyYW5zbGF0aW9uc0ZvcktleSkge1xuICAgICAgICAgIHRyYW5zbGF0aW9uc0ZvcktleSA9IHt9O1xuICAgICAgICAgIHRyYW5zbGF0aW9uTWFwW2tleV0gPSB0cmFuc2xhdGlvbnNGb3JLZXk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2xhdGlvbnNGb3JLZXlbbG9jYWxlXSA9IHRyYW5zbGF0aW9uc1tsb2NhbGVdW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRyYW5zbGF0aW9uTWFwKS5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xuXG4gICAgcmV0dXJuIGtleXMubWFwKGtleSA9PiBPYmplY3QuYXNzaWduKHsga2V5IH0sIHRyYW5zbGF0aW9uTWFwW2tleV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBmaWxlcyBvZiB0aGUgdHJhbnNsYXRpb24gYXBwbGljYXRpb24gd2l0aCB0aGUgcHJvdmlkZWQgdHJhbnNsYXRpb25zLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlVHJhbnNsYXRpb25zKFxuICAgIHRyYW5zbGF0aW9uczogeyBrZXk6IHN0cmluZzsgW2xvY2FsZTogc3RyaW5nXTogc3RyaW5nIH1bXVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmaWxlc1RvVXBsb2FkID0gbmV3IEFycmF5PHsgcGF0aDogc3RyaW5nOyBjb250ZW50czogRmlsZSB9PigpO1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uc1BlckxvY2FsZTogeyBbbG9jYWxlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHRyYW5zbGF0aW9ucykge1xuICAgICAgY29uc3Qga2V5ID0gZW50cnkua2V5O1xuICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgT2JqZWN0LmtleXMoZW50cnkpKSB7XG4gICAgICAgIGlmIChsb2NhbGUgPT09ICdrZXknKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0cmFuc2xhdGlvbnNQZXJMb2NhbGVbbG9jYWxlXSkge1xuICAgICAgICAgIHRyYW5zbGF0aW9uc1BlckxvY2FsZVtsb2NhbGVdID0ge307XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50cnlbbG9jYWxlXSkge1xuICAgICAgICAgIHRyYW5zbGF0aW9uc1BlckxvY2FsZVtsb2NhbGVdW2tleV0gPSBlbnRyeVtsb2NhbGVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbGFuZ3MgPSB0aGlzLmFwcFN0YXRlLnN0YXRlLmxhbmdzIGFzIHN0cmluZ1tdO1xuXG4gICAgZm9yIChjb25zdCBsb2NhbGUgb2YgbGFuZ3MpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7bG9jYWxlfS5qc29uYDtcbiAgICAgIGZpbGVzVG9VcGxvYWQucHVzaCh7XG4gICAgICAgIHBhdGg6IGZpbGVOYW1lLFxuICAgICAgICBjb250ZW50czogbmV3IEZpbGUoXG4gICAgICAgICAgW0pTT04uc3RyaW5naWZ5KHsgW2xvY2FsZV06IHRyYW5zbGF0aW9uc1BlckxvY2FsZVtsb2NhbGVdIHx8IHt9IH0pXSxcbiAgICAgICAgICBmaWxlTmFtZVxuICAgICAgICApXG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgYXBwID0gYXdhaXQgdGhpcy5nZXRPckNyZWF0ZVRyYW5zbGF0aW9uQXBwKCk7XG4gICAgYXdhaXQgdGhpcy5hcHBTZXJ2aWNlLmJpbmFyeShhcHApLnVwZGF0ZUZpbGVzKGZpbGVzVG9VcGxvYWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGlvbiBhcHAgZm9yIHRoZSBjdXJyZW50IHRlbmFudC4gSWYgaXQgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICovXG4gIGFzeW5jIGdldE9yQ3JlYXRlVHJhbnNsYXRpb25BcHAoKTogUHJvbWlzZTxJQXBwbGljYXRpb24+IHtcbiAgICBjb25zdCB7IGRhdGE6IGFwcHMgfSA9IGF3YWl0IHRoaXMuYXBwU2VydmljZS5saXN0QnlOYW1lKHRoaXMudHJhbnNsYXRpb25BcHBOYW1lKTtcbiAgICBjb25zdCBvd25BcHAgPSBhcHBzLmZpbmQoXG4gICAgICBhcHAgPT5cbiAgICAgICAgYXBwLmNvbnRleHRQYXRoID09PSB0aGlzLnRyYW5zbGF0aW9uQXBwQ29udGV4dFBhdGggJiZcbiAgICAgICAgYXBwLm93bmVyLnRlbmFudC5pZCA9PT0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VGVuYW50LnZhbHVlLm5hbWVcbiAgICApO1xuICAgIGlmIChvd25BcHApIHtcbiAgICAgIHJldHVybiBvd25BcHA7XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYXRhOiBhcHAgfSA9IGF3YWl0IHRoaXMuYXBwU2VydmljZS5jcmVhdGUoe1xuICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGlvbkFwcE5hbWUsXG4gICAgICBjb250ZXh0UGF0aDogdGhpcy50cmFuc2xhdGlvbkFwcENvbnRleHRQYXRoLFxuICAgICAga2V5OiBgJHt0aGlzLnRyYW5zbGF0aW9uQXBwQ29udGV4dFBhdGh9LWFwcC1rZXlgLFxuICAgICAgdHlwZTogQXBwbGljYXRpb25UeXBlLkhPU1RFRCxcbiAgICAgIGF2YWlsYWJpbGl0eTogQXBwbGljYXRpb25BdmFpbGFiaWxpdHkuTUFSS0VULFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGljb246IHtcbiAgICAgICAgICBjbGFzczogJ2xhbmd1YWdlMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG5vQXBwU3dpdGNoZXI6IHRydWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1Byb3ZpZGluZyB1c2VyIGRlZmluZWQgdHJhbnNsYXRpb25zJ1xuICAgIH0pO1xuICAgIGNvbnN0IHppcCA9IGF3YWl0IHRoaXMuemlwLmNyZWF0ZVppcChbXSk7XG5cbiAgICBjb25zdCB7IGRhdGE6IGJpbmFyeSB9ID0gYXdhaXQgdGhpcy5hcHBTZXJ2aWNlLmJpbmFyeShhcHApLnVwbG9hZCh6aXAsICd0cmFuc2xhdGlvbnMuemlwJyk7XG4gICAgY29uc3QgeyBkYXRhOiB1cGRhdGVkQXBwIH0gPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UudXBkYXRlKHtcbiAgICAgIGlkOiBhcHAuaWQsXG4gICAgICBhY3RpdmVWZXJzaW9uSWQ6IGJpbmFyeS5pZCBhcyBzdHJpbmdcbiAgICB9KTtcbiAgICByZXR1cm4gdXBkYXRlZEFwcDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RmlsZUZyb21UcmFuc2xhdGlvbkFwcChmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGaWxlRnJvbVBhdGgoYC9hcHBzL3B1YmxpYy8ke3RoaXMudHJhbnNsYXRpb25BcHBDb250ZXh0UGF0aH0vJHtmaWxlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRGaWxlRnJvbVBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgZmluYWxQYXRoID0gYCR7cGF0aH0/bm9jYWNoZT0ke0RhdGUubm93KCl9YDtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbmFsUGF0aCk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGZldGNoIGZpbGUgZnJvbSAke3BhdGh9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgfVxufVxuIl19
|
|
178
|
+
}], ctorParameters: () => [{ type: i1.ApplicationService }, { type: i2.AppStateService }, { type: i2.ZipService }, { type: i1.FetchClient }] });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RyYW5zbGF0aW9uLWVkaXRvci9kYXRhL3RyYW5zbGF0aW9uLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsV0FBVyxFQUVaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVVqQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsVUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsR0FBZSxFQUNmLFdBQXdCO1FBSHhCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVBmLHVCQUFrQixHQUFHLDJCQUEyQixDQUFDO1FBQ2pELDhCQUF5QixHQUFHLDJCQUEyQixDQUFDO0lBT3hFLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxPQUFpQjtRQUM5QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDdEQsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQzlDLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FD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SUFBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLElBQUksQ0FBQyx5QkFBeUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxJQUFJLFlBQVksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFFbEQsK0dBQStHO1FBQy9HLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7K0dBOU1VLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkF2YWlsYWJpbGl0eSxcbiAgQXBwbGljYXRpb25TZXJ2aWNlLFxuICBBcHBsaWNhdGlvblR5cGUsXG4gIEZldGNoQ2xpZW50LFxuICBJQXBwbGljYXRpb25cbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBaaXBTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkxvY2FsZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGxvY2FsZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblN0b3JlU2VydmljZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkFwcE5hbWUgPSAnVXNlciBkZWZpbmVkIHRyYW5zbGF0aW9ucyc7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkFwcENvbnRleHRQYXRoID0gJ3VzZXItZGVmaW5lZC10cmFuc2xhdGlvbnMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHppcDogWmlwU2VydmljZSxcbiAgICBwcml2YXRlIGZldGNoQ2xpZW50OiBGZXRjaENsaWVudFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgYXZhaWxhYmxlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIGdpdmVuIGxvY2FsZXMgZnJvbSBhbGwgdGhlIGhvc3RlZCBhcHBzIGF2YWlsYWJsZSBvbiB0aGUgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgZ2V0QXZhaWxhYmxlVHJhbnNsYXRpb25zKGxvY2FsZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgeyBkYXRhOiBob3N0ZWRBcHBzIH0gPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UubGlzdCh7XG4gICAgICB0ZW5hbnQ6IHRoaXMuYXBwU3RhdGUuY3VycmVudFRlbmFudC52YWx1ZS5uYW1lLFxuICAgICAgdHlwZTogJ0hPU1RFRCcsXG4gICAgICBwYWdlU2l6ZTogMjAwMFxuICAgIH0pO1xuXG4gICAgY29uc3QgdW5pcXVlQ29udGV4dFBhdGhzID0gdW5pcShcbiAgICAgIGhvc3RlZEFwcHNcbiAgICAgICAgLmZpbHRlcihhcHAgPT4gYXBwLmNvbnRleHRQYXRoICYmIGFwcC5tYW5pZmVzdD8ud2ViU2RrVmVyc2lvbilcbiAgICAgICAgLm1hcChhcHAgPT4gYXBwLmNvbnRleHRQYXRoKVxuICAgICk7XG5cbiAgICBjb25zdCB0cmFuc2xhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogeyBbbG9jYWxlOiBzdHJpbmddOiBzdHJpbmcgfSB9ID0ge307XG4gICAgZm9yIChjb25zdCBjb250ZXh0UGF0aCBvZiB1bmlxdWVDb250ZXh0UGF0aHMpIHtcbiAgICAgIGZvciAoY29uc3QgbG9jYWxlIG9mIGxvY2FsZXMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNGb3JMYW5ndWFnZUFuZEFwcCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUZyb21QYXRoKFxuICAgICAgICAgICAgYC9hcHBzLyR7Y29udGV4dFBhdGh9LyR7bG9jYWxlfS5qc29uYFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zRm9yTGFuZyA9IHRyYW5zbGF0aW9uc0Zvckxhbmd1YWdlQW5kQXBwW2xvY2FsZV07XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModHJhbnNsYXRpb25zRm9yTGFuZykpIHtcbiAgICAgICAgICAgIGlmICghdHJhbnNsYXRpb25zW2tleV0pIHtcbiAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2tleV0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldW2xvY2FsZV0gPSB0cmFuc2xhdGlvbnNGb3JMYW5nW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNsYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgdHJhbnNsYXRpb25zIGZvciB0aGUgZ2l2ZW4gbG9jYWxlIGZyb20gdGhlIHRyYW5zbGF0aW9uIGFwcC5cbiAgICovXG4gIGFzeW5jIGdldFRyYW5zbGF0aW9uc0ZvckxvY2FsZTxUIGV4dGVuZHMgc3RyaW5nPihsb2NhbGU6IFQpOiBQcm9taXNlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHJhbnNsYXRpb25zID0gYXdhaXQgdGhpcy5nZXRGaWxlRnJvbVRyYW5zbGF0aW9uQXBwKGAke2xvY2FsZX0uanNvbmApO1xuICAgICAgaWYgKHRyYW5zbGF0aW9uc1tsb2NhbGVdKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnNbbG9jYWxlXTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBkbyBub3RoaW5nLlxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoZSBnaXZlbiBsb2NhbGVzIGZyb20gdGhlIHRyYW5zbGF0aW9uIGFwcC5cbiAgICovXG4gIGFzeW5jIGxvYWRUcmFuc2xhdGlvbnNGb3JMb2NhbGVzKGxvY2FsZXM6IHN0cmluZ1tdKTogUHJvbWlzZTx7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG4gIH0+IHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnM6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgfSA9IHt9O1xuXG4gICAgY29uc3QgbG9hZEFuZEFkZExvY2FsZSA9IGFzeW5jIChsb2NhbGU6IHN0cmluZykgPT4ge1xuICAgICAgdHJhbnNsYXRpb25zW2xvY2FsZV0gPSBhd2FpdCB0aGlzLmdldFRyYW5zbGF0aW9uc0ZvckxvY2FsZShsb2NhbGUpO1xuICAgIH07XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChsb2NhbGVzLm1hcChsb2FkQW5kQWRkTG9jYWxlKSk7XG5cbiAgICByZXR1cm4gdHJhbnNsYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGNvbWJpbmVkIGxpc3Qgb2YgdHJhbnNsYXRpb25zIGZvciBhbGwgdGhlIHByb3ZpZGVkIGxvY2FsZXMuXG4gICAqIFRoZSBsb2NhbGVzIGFyZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIG9iamVjdCBwZXIga2V5IGFuZCBhbiBhcnJheSBvZiB0aGVzZSBvYmplY3RzIGlzIHJldHVybmVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q29tYmluZWRMaXN0T2ZUcmFuc2xhdGlvbnNGb3JQZXJLZXkoXG4gICAgbG9jYWxlczogc3RyaW5nW11cbiAgKTogUHJvbWlzZTx7IGtleTogc3RyaW5nOyBbbG9jYWxlOiBzdHJpbmddOiBzdHJpbmcgfVtdPiB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gYXdhaXQgdGhpcy5sb2FkVHJhbnNsYXRpb25zRm9yTG9jYWxlcyhsb2NhbGVzKTtcbiAgICBjb25zdCB0cmFuc2xhdGlvbk1hcDogeyBba2V5OiBzdHJpbmddOiB7IFtsb2NhbGU6IHN0cmluZ106IHN0cmluZyB9IH0gPSB7fTtcblxuICAgIGZvciAoY29uc3QgbG9jYWxlIG9mIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9uc1tsb2NhbGVdKSkge1xuICAgICAgICBsZXQgdHJhbnNsYXRpb25zRm9yS2V5ID0gdHJhbnNsYXRpb25NYXBba2V5XTtcbiAgICAgICAgaWYgKCF0cmFuc2xhdGlvbnNGb3JLZXkpIHtcbiAgICAgICAgICB0cmFuc2xhdGlvbnNGb3JLZXkgPSB7fTtcbiAgICAgICAgICB0cmFuc2xhdGlvbk1hcFtrZXldID0gdHJhbnNsYXRpb25zRm9yS2V5O1xuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNsYXRpb25zRm9yS2V5W2xvY2FsZV0gPSB0cmFuc2xhdGlvbnNbbG9jYWxlXVtrZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbk1hcCkuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKTtcblxuICAgIHJldHVybiBrZXlzLm1hcChrZXkgPT4gT2JqZWN0LmFzc2lnbih7IGtleSB9LCB0cmFuc2xhdGlvbk1hcFtrZXldKSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZmlsZXMgb2YgdGhlIHRyYW5zbGF0aW9uIGFwcGxpY2F0aW9uIHdpdGggdGhlIHByb3ZpZGVkIHRyYW5zbGF0aW9ucy5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZVRyYW5zbGF0aW9ucyhcbiAgICB0cmFuc2xhdGlvbnM6IHsga2V5OiBzdHJpbmc7IFtsb2NhbGU6IHN0cmluZ106IHN0cmluZyB9W11cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXNUb1VwbG9hZCA9IG5ldyBBcnJheTx7IHBhdGg6IHN0cmluZzsgY29udGVudHM6IEZpbGUgfT4oKTtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnNQZXJMb2NhbGU6IHsgW2xvY2FsZTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9ID0ge307XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiB0cmFuc2xhdGlvbnMpIHtcbiAgICAgIGNvbnN0IGtleSA9IGVudHJ5LmtleTtcbiAgICAgIGZvciAoY29uc3QgbG9jYWxlIG9mIE9iamVjdC5rZXlzKGVudHJ5KSkge1xuICAgICAgICBpZiAobG9jYWxlID09PSAna2V5Jykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHJhbnNsYXRpb25zUGVyTG9jYWxlW2xvY2FsZV0pIHtcbiAgICAgICAgICB0cmFuc2xhdGlvbnNQZXJMb2NhbGVbbG9jYWxlXSA9IHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudHJ5W2xvY2FsZV0pIHtcbiAgICAgICAgICB0cmFuc2xhdGlvbnNQZXJMb2NhbGVbbG9jYWxlXVtrZXldID0gZW50cnlbbG9jYWxlXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhbmdzID0gdGhpcy5hcHBTdGF0ZS5zdGF0ZS5sYW5ncyBhcyBzdHJpbmdbXTtcblxuICAgIGZvciAoY29uc3QgbG9jYWxlIG9mIGxhbmdzKSB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGAke2xvY2FsZX0uanNvbmA7XG4gICAgICBmaWxlc1RvVXBsb2FkLnB1c2goe1xuICAgICAgICBwYXRoOiBmaWxlTmFtZSxcbiAgICAgICAgY29udGVudHM6IG5ldyBGaWxlKFxuICAgICAgICAgIFtKU09OLnN0cmluZ2lmeSh7IFtsb2NhbGVdOiB0cmFuc2xhdGlvbnNQZXJMb2NhbGVbbG9jYWxlXSB8fCB7fSB9KV0sXG4gICAgICAgICAgZmlsZU5hbWVcbiAgICAgICAgKVxuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGFwcCA9IGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVUcmFuc2xhdGlvbkFwcCgpO1xuICAgIGF3YWl0IHRoaXMuYXBwU2VydmljZS5iaW5hcnkoYXBwKS51cGRhdGVGaWxlcyhmaWxlc1RvVXBsb2FkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRpb24gYXBwIGZvciB0aGUgY3VycmVudCB0ZW5hbnQuIElmIGl0IGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICBhc3luYyBnZXRPckNyZWF0ZVRyYW5zbGF0aW9uQXBwKCk6IFByb21pc2U8SUFwcGxpY2F0aW9uPiB7XG4gICAgY29uc3QgeyBkYXRhOiBhcHBzIH0gPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UubGlzdEJ5TmFtZSh0aGlzLnRyYW5zbGF0aW9uQXBwTmFtZSk7XG4gICAgY29uc3Qgb3duQXBwID0gYXBwcy5maW5kKFxuICAgICAgYXBwID0+XG4gICAgICAgIGFwcC5jb250ZXh0UGF0aCA9PT0gdGhpcy50cmFuc2xhdGlvbkFwcENvbnRleHRQYXRoICYmXG4gICAgICAgIGFwcC5vd25lci50ZW5hbnQuaWQgPT09IHRoaXMuYXBwU3RhdGUuY3VycmVudFRlbmFudC52YWx1ZS5uYW1lXG4gICAgKTtcbiAgICBpZiAob3duQXBwKSB7XG4gICAgICByZXR1cm4gb3duQXBwO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZGF0YTogYXBwIH0gPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuY3JlYXRlKHtcbiAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRpb25BcHBOYW1lLFxuICAgICAgY29udGV4dFBhdGg6IHRoaXMudHJhbnNsYXRpb25BcHBDb250ZXh0UGF0aCxcbiAgICAgIGtleTogYCR7dGhpcy50cmFuc2xhdGlvbkFwcENvbnRleHRQYXRofS1hcHAta2V5YCxcbiAgICAgIHR5cGU6IEFwcGxpY2F0aW9uVHlwZS5IT1NURUQsXG4gICAgICBhdmFpbGFiaWxpdHk6IEFwcGxpY2F0aW9uQXZhaWxhYmlsaXR5Lk1BUktFVCxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBpY29uOiB7XG4gICAgICAgICAgY2xhc3M6ICdsYW5ndWFnZTEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBub0FwcFN3aXRjaGVyOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdQcm92aWRpbmcgdXNlciBkZWZpbmVkIHRyYW5zbGF0aW9ucydcbiAgICB9KTtcbiAgICBjb25zdCB6aXAgPSBhd2FpdCB0aGlzLnppcC5jcmVhdGVaaXAoW10pO1xuXG4gICAgY29uc3QgeyBkYXRhOiBiaW5hcnkgfSA9IGF3YWl0IHRoaXMuYXBwU2VydmljZS5iaW5hcnkoYXBwKS51cGxvYWQoemlwLCAndHJhbnNsYXRpb25zLnppcCcpO1xuICAgIGNvbnN0IHsgZGF0YTogdXBkYXRlZEFwcCB9ID0gYXdhaXQgdGhpcy5hcHBTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICBpZDogYXBwLmlkLFxuICAgICAgYWN0aXZlVmVyc2lvbklkOiBiaW5hcnkuaWQgYXMgc3RyaW5nXG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRBcHA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEZpbGVGcm9tVHJhbnNsYXRpb25BcHAoZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmlsZUZyb21QYXRoKGAvYXBwcy9wdWJsaWMvJHt0aGlzLnRyYW5zbGF0aW9uQXBwQ29udGV4dFBhdGh9LyR7ZmlsZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RmlsZUZyb21QYXRoKHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGZpbmFsUGF0aCA9IGAke3BhdGh9P25vY2FjaGU9JHtEYXRlLm5vdygpfWA7XG5cbiAgICAvLyB1c2luZyBmZXRjaCBjbGllbnQgaW5zdGVhZCBvZiBmZXRjaCBkaXJlY3RseSBoZXJlIHRvIGVuc3VyZSBsb2FkaW5nIGluZGljYXRvciBpcyBzaG93biBkdXJpbmcgdGhlc2UgcmVxdWVzdHNcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmV0Y2hDbGllbnQuZmV0Y2goZmluYWxQYXRoKTtcblxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggZmlsZSBmcm9tICR7cGF0aH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import { hookNavigator, hookRoute } from '@c8y/ngx-components';
|
|
1
|
+
import { hookNavigator, hookRoute, hookTab } from '@c8y/ngx-components';
|
|
2
2
|
import { TranslationEditorNaviagtorFactoryService } from './translation-editor-naviagtor-factory.service';
|
|
3
|
+
import { translationEditorAdvancedPath, translationEditorBasePath, translationEditorBasicPath } from './translation-editor.constants';
|
|
4
|
+
import { TranslationEditorTabFactoryService } from './translation-editor-tab-factory.service';
|
|
3
5
|
export const tranlationEditorProviders = [
|
|
4
6
|
hookRoute({
|
|
5
|
-
path:
|
|
6
|
-
|
|
7
|
+
path: translationEditorBasePath,
|
|
8
|
+
children: [
|
|
9
|
+
{
|
|
10
|
+
path: '',
|
|
11
|
+
pathMatch: 'full',
|
|
12
|
+
redirectTo: translationEditorBasicPath
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
path: translationEditorBasicPath,
|
|
16
|
+
loadComponent: () => import('@c8y/ngx-components/translation-editor/lazy').then(m => m.TranslationEditorComponent)
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
path: translationEditorAdvancedPath,
|
|
20
|
+
loadComponent: () => import('@c8y/ngx-components/translation-editor/lazy').then(m => m.AdvancedTranslationEditorComponent)
|
|
21
|
+
}
|
|
22
|
+
]
|
|
7
23
|
}),
|
|
8
|
-
hookNavigator(TranslationEditorNaviagtorFactoryService)
|
|
24
|
+
hookNavigator(TranslationEditorNaviagtorFactoryService),
|
|
25
|
+
hookTab(TranslationEditorTabFactoryService)
|
|
9
26
|
];
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cmFuc2xhdGlvbi1lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUcsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzNCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsU0FBUyxDQUFDO1FBQ1IsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsRUFBRTtnQkFDUixTQUFTLEVBQUUsTUFBTTtnQkFDakIsVUFBVSxFQUFFLDBCQUEwQjthQUN2QztZQUNEO2dCQUNFLElBQUksRUFBRSwwQkFBMEI7Z0JBQ2hDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUMsSUFBSSxDQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FDbEM7YUFDSjtZQUNEO2dCQUNFLElBQUksRUFBRSw2QkFBNkI7Z0JBQ25DLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUMsSUFBSSxDQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FDMUM7YUFDSjtTQUNGO0tBQ0YsQ0FBQztJQUNGLGFBQWEsQ0FBQyx3Q0FBd0MsQ0FBQztJQUN2RCxPQUFPLENBQUMsa0NBQWtDLENBQUM7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tOYXZpZ2F0b3IsIGhvb2tSb3V0ZSwgaG9va1RhYiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25FZGl0b3JOYXZpYWd0b3JGYWN0b3J5U2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tZWRpdG9yLW5hdmlhZ3Rvci1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgdHJhbnNsYXRpb25FZGl0b3JBZHZhbmNlZFBhdGgsXG4gIHRyYW5zbGF0aW9uRWRpdG9yQmFzZVBhdGgsXG4gIHRyYW5zbGF0aW9uRWRpdG9yQmFzaWNQYXRoXG59IGZyb20gJy4vdHJhbnNsYXRpb24tZWRpdG9yLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbkVkaXRvclRhYkZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1lZGl0b3ItdGFiLWZhY3Rvcnkuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCB0cmFubGF0aW9uRWRpdG9yUHJvdmlkZXJzID0gW1xuICBob29rUm91dGUoe1xuICAgIHBhdGg6IHRyYW5zbGF0aW9uRWRpdG9yQmFzZVBhdGgsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgICAgICByZWRpcmVjdFRvOiB0cmFuc2xhdGlvbkVkaXRvckJhc2ljUGF0aFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogdHJhbnNsYXRpb25FZGl0b3JCYXNpY1BhdGgsXG4gICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgaW1wb3J0KCdAYzh5L25neC1jb21wb25lbnRzL3RyYW5zbGF0aW9uLWVkaXRvci9sYXp5JykudGhlbihcbiAgICAgICAgICAgIG0gPT4gbS5UcmFuc2xhdGlvbkVkaXRvckNvbXBvbmVudFxuICAgICAgICAgIClcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHRyYW5zbGF0aW9uRWRpdG9yQWR2YW5jZWRQYXRoLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgIGltcG9ydCgnQGM4eS9uZ3gtY29tcG9uZW50cy90cmFuc2xhdGlvbi1lZGl0b3IvbGF6eScpLnRoZW4oXG4gICAgICAgICAgICBtID0+IG0uQWR2YW5jZWRUcmFuc2xhdGlvbkVkaXRvckNvbXBvbmVudFxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICBdXG4gIH0pLFxuICBob29rTmF2aWdhdG9yKFRyYW5zbGF0aW9uRWRpdG9yTmF2aWFndG9yRmFjdG9yeVNlcnZpY2UpLFxuICBob29rVGFiKFRyYW5zbGF0aW9uRWRpdG9yVGFiRmFjdG9yeVNlcnZpY2UpXG5dO1xuIl19
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
2
|
+
import { Component, signal, ViewChild, computed } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { ActionBarItemComponent, AlertService, AppStateService, IconDirective, LoadingComponent, TitleComponent } from '@c8y/ngx-components';
|
|
5
|
+
import { EditorComponent, MonacoEditorMarkerValidatorDirective } from '@c8y/ngx-components/editor';
|
|
6
|
+
import { TranslationStoreService } from '@c8y/ngx-components/translation-editor/data';
|
|
7
|
+
import { gettext } from '@c8y/ngx-components/gettext';
|
|
8
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@c8y/ngx-components";
|
|
11
|
+
import * as i2 from "@c8y/ngx-components/translation-editor/data";
|
|
12
|
+
import * as i3 from "@ngx-translate/core";
|
|
13
|
+
import * as i4 from "@angular/forms";
|
|
14
|
+
export class AdvancedTranslationEditorComponent {
|
|
15
|
+
constructor(appState, translationStore, alert, translation) {
|
|
16
|
+
this.appState = appState;
|
|
17
|
+
this.translationStore = translationStore;
|
|
18
|
+
this.alert = alert;
|
|
19
|
+
this.translation = translation;
|
|
20
|
+
this.valueString = signal('');
|
|
21
|
+
this.editorOptions = {
|
|
22
|
+
language: 'json'
|
|
23
|
+
};
|
|
24
|
+
this.isLoading = signal(false);
|
|
25
|
+
this.isValidJSON = computed(() => {
|
|
26
|
+
const data = this.valueString();
|
|
27
|
+
try {
|
|
28
|
+
JSON.parse(data);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
this.availableLangs = [];
|
|
36
|
+
this.availableLangs = this.appState.state.langs.sort((a, b) => a.localeCompare(b));
|
|
37
|
+
this.refresh();
|
|
38
|
+
}
|
|
39
|
+
onValueChange(data) {
|
|
40
|
+
this.valueString.set(data);
|
|
41
|
+
}
|
|
42
|
+
onEditorInit(_data) {
|
|
43
|
+
this.editorComponent.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
44
|
+
validate: true,
|
|
45
|
+
schemas: [{ schema: this.JSONSchema, fileMatch: ['*'], uri: 'translation' }],
|
|
46
|
+
enableSchemaRequest: false,
|
|
47
|
+
allowComments: false
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async refresh() {
|
|
51
|
+
this.isLoading.set(true);
|
|
52
|
+
const translationProperties = this.availableLangs.reduceRight((acc, lang) => {
|
|
53
|
+
acc[lang] = {
|
|
54
|
+
type: 'string',
|
|
55
|
+
description: this.translation.instant(gettext('Translation for "{{ languageCode }}" language.'), { languageCode: lang })
|
|
56
|
+
};
|
|
57
|
+
return acc;
|
|
58
|
+
}, {
|
|
59
|
+
key: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
description: this.translation.instant(gettext('The key to be translated.'))
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
this.JSONSchema = {
|
|
65
|
+
$schema: 'http://json-schema.org/draft-04/schema#',
|
|
66
|
+
type: 'array',
|
|
67
|
+
items: {
|
|
68
|
+
type: 'object',
|
|
69
|
+
properties: translationProperties,
|
|
70
|
+
required: ['key'],
|
|
71
|
+
minProperties: 2
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const translations = await this.translationStore.getCombinedListOfTranslationsForPerKey(this.availableLangs);
|
|
75
|
+
this.valueString.set(JSON.stringify(translations, undefined, 2));
|
|
76
|
+
this.isLoading.set(false);
|
|
77
|
+
}
|
|
78
|
+
async importTranslationKeys() {
|
|
79
|
+
try {
|
|
80
|
+
this.alert.info(gettext('Importing translation from available Web SDK based applications. This may take a while...'));
|
|
81
|
+
// since we are only interested in the keys, we only need to retrieve the translations for one (well supported) language
|
|
82
|
+
// we assume that the keys are the same for all other languages, otherwise we would need to perform a lot more requests.
|
|
83
|
+
const data = await this.translationStore.getAvailableTranslations(['de']);
|
|
84
|
+
const valueString = this.valueString();
|
|
85
|
+
const values = JSON.parse(valueString);
|
|
86
|
+
const previousNumberOfEntries = values.length;
|
|
87
|
+
const retrievedKeys = Object.keys(data);
|
|
88
|
+
for (const key of retrievedKeys) {
|
|
89
|
+
const foundKey = values.find(value => value.key === key);
|
|
90
|
+
if (!foundKey) {
|
|
91
|
+
values.push({ key });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const newpreviousNumberOfEntries = values.length;
|
|
95
|
+
this.valueString.set(JSON.stringify(values, undefined, 2));
|
|
96
|
+
this.alert.success(this.translation.instant(gettext('Retrieved {{ numberOfRetrievedKeys }} keys from available applications. {{ numberOfNewKeys }} new translation keys were added.'), {
|
|
97
|
+
numberOfRetrievedKeys: retrievedKeys.length,
|
|
98
|
+
numberOfNewKeys: newpreviousNumberOfEntries - previousNumberOfEntries
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
this.alert.danger(gettext('Failed to import translation keys'));
|
|
103
|
+
this.alert.addServerFailure(e);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async saveTranslations() {
|
|
107
|
+
try {
|
|
108
|
+
await this.translationStore.updateTranslations(JSON.parse(this.valueString()));
|
|
109
|
+
await this.refresh();
|
|
110
|
+
this.alert.success(gettext('Translations saved'));
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
this.alert.danger(gettext('Failed to save translations'));
|
|
114
|
+
this.alert.addServerFailure(e);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedTranslationEditorComponent, deps: [{ token: i1.AppStateService }, { token: i2.TranslationStoreService }, { token: i1.AlertService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedTranslationEditorComponent, isStandalone: true, selector: "c8y-advanced-translation-editor", viewQueries: [{ propertyName: "editorComponent", first: true, predicate: EditorComponent, descendants: true }], ngImport: i0, template: "<c8y-title translate>Localization</c8y-title>\n\n<ng-container *ngIf=\"!isLoading(); else loading\">\n <c8y-action-bar-item placement=\"right\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"!isValidJSON()\"\n (click)=\"saveTranslations()\"\n data-cy=\"c8y-translation-editor--save-and-apply\"\n >\n <i c8yIcon=\"save\"></i>\n <span translate>Save & apply</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item placement=\"right\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"!isValidJSON()\"\n (click)=\"importTranslationKeys()\"\n data-cy=\"c8y-translation-editor--import-translation-keys\"\n >\n <i [c8yIcon]=\"'import'\"></i>\n <span translate>Import translation keys from Apps</span>\n </button>\n </c8y-action-bar-item>\n\n <div class=\"card card--fullpage content-fullpage\">\n <c8y-editor\n class=\"flex-grow\"\n [editorOptions]=\"editorOptions\"\n [ngModel]=\"valueString()\"\n (ngModelChange)=\"onValueChange($event)\"\n (editorInit)=\"onEditorInit($event)\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <c8y-loading></c8y-loading>\n</ng-template>", dependencies: [{ kind: "component", type: EditorComponent, selector: "c8y-editor", inputs: ["editorOptions"], outputs: ["editorInit"] }, { kind: "directive", type: MonacoEditorMarkerValidatorDirective, selector: "c8y-editor [monacoEditorMarkerValidator]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }] }); }
|
|
119
|
+
}
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedTranslationEditorComponent, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{ selector: 'c8y-advanced-translation-editor', standalone: true, imports: [
|
|
123
|
+
EditorComponent,
|
|
124
|
+
MonacoEditorMarkerValidatorDirective,
|
|
125
|
+
FormsModule,
|
|
126
|
+
TitleComponent,
|
|
127
|
+
LoadingComponent,
|
|
128
|
+
NgIf,
|
|
129
|
+
ActionBarItemComponent,
|
|
130
|
+
IconDirective
|
|
131
|
+
], template: "<c8y-title translate>Localization</c8y-title>\n\n<ng-container *ngIf=\"!isLoading(); else loading\">\n <c8y-action-bar-item placement=\"right\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"!isValidJSON()\"\n (click)=\"saveTranslations()\"\n data-cy=\"c8y-translation-editor--save-and-apply\"\n >\n <i c8yIcon=\"save\"></i>\n <span translate>Save & apply</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item placement=\"right\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"!isValidJSON()\"\n (click)=\"importTranslationKeys()\"\n data-cy=\"c8y-translation-editor--import-translation-keys\"\n >\n <i [c8yIcon]=\"'import'\"></i>\n <span translate>Import translation keys from Apps</span>\n </button>\n </c8y-action-bar-item>\n\n <div class=\"card card--fullpage content-fullpage\">\n <c8y-editor\n class=\"flex-grow\"\n [editorOptions]=\"editorOptions\"\n [ngModel]=\"valueString()\"\n (ngModelChange)=\"onValueChange($event)\"\n (editorInit)=\"onEditorInit($event)\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <c8y-loading></c8y-loading>\n</ng-template>" }]
|
|
132
|
+
}], ctorParameters: () => [{ type: i1.AppStateService }, { type: i2.TranslationStoreService }, { type: i1.AlertService }, { type: i3.TranslateService }], propDecorators: { editorComponent: [{
|
|
133
|
+
type: ViewChild,
|
|
134
|
+
args: [EditorComponent]
|
|
135
|
+
}] } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtdHJhbnNsYXRpb24tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RyYW5zbGF0aW9uLWVkaXRvci9sYXp5L2FkdmFuY2VkLXRyYW5zbGF0aW9uLWVkaXRvci9hZHZhbmNlZC10cmFuc2xhdGlvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vdHJhbnNsYXRpb24tZWRpdG9yL2xhenkvYWR2YW5jZWQtdHJhbnNsYXRpb24tZWRpdG9yL2FkdmFuY2VkLXRyYW5zbGF0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNmLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBaUJ2RCxNQUFNLE9BQU8sa0NBQWtDO0lBbUI3QyxZQUNVLFFBQXlCLEVBQ3pCLGdCQUF5QyxFQUN6QyxLQUFtQixFQUNuQixXQUE2QjtRQUg3QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixxQkFB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bEMsZUFBZSxnRENoRDVCLDR1Q0F5Q2MsNENEbkJWLGVBQWUsMkdBQ2Ysb0NBQW9DLG9GQUNwQyxXQUFXLCtWQUNYLGNBQWMsbUZBQ2QsZ0JBQWdCLG1HQUNoQixJQUFJLDZGQUNKLHNCQUFzQiwwSkFDdEIsYUFBYTs7NEZBR0osa0NBQWtDO2tCQWY5QyxTQUFTOytCQUNFLGlDQUFpQyxjQUUvQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixvQ0FBb0M7d0JBQ3BDLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osc0JBQXNCO3dCQUN0QixhQUFhO3FCQUNkO29MQWtCMkIsZUFBZTtzQkFBMUMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgVmlld0NoaWxkLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBY3Rpb25CYXJJdGVtQ29tcG9uZW50LFxuICBBbGVydFNlcnZpY2UsXG4gIEFwcFN0YXRlU2VydmljZSxcbiAgSWNvbkRpcmVjdGl2ZSxcbiAgTG9hZGluZ0NvbXBvbmVudCxcbiAgVGl0bGVDb21wb25lbnRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBFZGl0b3JDb21wb25lbnQsIE1vbmFjb0VkaXRvck1hcmtlclZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWRpdG9yJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU3RvcmVTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy90cmFuc2xhdGlvbi1lZGl0b3IvZGF0YSc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9nZXR0ZXh0JztcbmltcG9ydCB0eXBlICogYXMgTW9uYWNvIGZyb20gJ21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWR2YW5jZWQtdHJhbnNsYXRpb24tZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLXRyYW5zbGF0aW9uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBFZGl0b3JDb21wb25lbnQsXG4gICAgTW9uYWNvRWRpdG9yTWFya2VyVmFsaWRhdG9yRGlyZWN0aXZlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBBY3Rpb25CYXJJdGVtQ29tcG9uZW50LFxuICAgIEljb25EaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZFRyYW5zbGF0aW9uRWRpdG9yQ29tcG9uZW50IHtcbiAgdmFsdWVTdHJpbmcgPSBzaWduYWwoJycpO1xuICBlZGl0b3JPcHRpb25zOiBFZGl0b3JDb21wb25lbnRbJ2VkaXRvck9wdGlvbnMnXSA9IHtcbiAgICBsYW5ndWFnZTogJ2pzb24nXG4gIH07XG4gIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIGlzVmFsaWRKU09OID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnZhbHVlU3RyaW5nKCk7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcbiAgSlNPTlNjaGVtYTogYW55O1xuICBAVmlld0NoaWxkKEVkaXRvckNvbXBvbmVudCkgZWRpdG9yQ29tcG9uZW50ITogRWRpdG9yQ29tcG9uZW50O1xuICBhdmFpbGFibGVMYW5nczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblN0b3JlOiBUcmFuc2xhdGlvblN0b3JlU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmF2YWlsYWJsZUxhbmdzID0gKHRoaXMuYXBwU3RhdGUuc3RhdGUubGFuZ3MgYXMgc3RyaW5nW10pLnNvcnQoKGEsIGIpID0+XG4gICAgICBhLmxvY2FsZUNvbXBhcmUoYilcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShkYXRhOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlU3RyaW5nLnNldChkYXRhKTtcbiAgfVxuXG4gIG9uRWRpdG9ySW5pdChfZGF0YTogTW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IpIHtcbiAgICB0aGlzLmVkaXRvckNvbXBvbmVudC5tb25hY28ubGFuZ3VhZ2VzLmpzb24uanNvbkRlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7XG4gICAgICB2YWxpZGF0ZTogdHJ1ZSxcbiAgICAgIHNjaGVtYXM6IFt7IHNjaGVtYTogdGhpcy5KU09OU2NoZW1hLCBmaWxlTWF0Y2g6IFsnKiddLCB1cmk6ICd0cmFuc2xhdGlvbicgfV0sXG4gICAgICBlbmFibGVTY2hlbWFSZXF1ZXN0OiBmYWxzZSxcbiAgICAgIGFsbG93Q29tbWVudHM6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcblxuICAgIGNvbnN0IHRyYW5zbGF0aW9uUHJvcGVydGllczogeyBrZXk6IHsgdHlwZTogJ3N0cmluZycgfTsgW2tleTogc3RyaW5nXTogeyB0eXBlOiAnc3RyaW5nJyB9IH0gPVxuICAgICAgdGhpcy5hdmFpbGFibGVMYW5ncy5yZWR1Y2VSaWdodChcbiAgICAgICAgKGFjYywgbGFuZykgPT4ge1xuICAgICAgICAgIGFjY1tsYW5nXSA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudChcbiAgICAgICAgICAgICAgZ2V0dGV4dCgnVHJhbnNsYXRpb24gZm9yIFwie3sgbGFuZ3VhZ2VDb2RlIH19XCIgbGFuZ3VhZ2UuJyksXG4gICAgICAgICAgICAgIHsgbGFuZ3VhZ2VDb2RlOiBsYW5nIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudChnZXR0ZXh0KCdUaGUga2V5IHRvIGJlIHRyYW5zbGF0ZWQuJykpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIHRoaXMuSlNPTlNjaGVtYSA9IHtcbiAgICAgICRzY2hlbWE6ICdodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMnLFxuXG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHRyYW5zbGF0aW9uUHJvcGVydGllcyxcbiAgICAgICAgcmVxdWlyZWQ6IFsna2V5J10sXG4gICAgICAgIG1pblByb3BlcnRpZXM6IDJcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gYXdhaXQgdGhpcy50cmFuc2xhdGlvblN0b3JlLmdldENvbWJpbmVkTGlzdE9mVHJhbnNsYXRpb25zRm9yUGVyS2V5KFxuICAgICAgdGhpcy5hdmFpbGFibGVMYW5nc1xuICAgICk7XG5cbiAgICB0aGlzLnZhbHVlU3RyaW5nLnNldChKU09OLnN0cmluZ2lmeSh0cmFuc2xhdGlvbnMsIHVuZGVmaW5lZCwgMikpO1xuXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydFRyYW5zbGF0aW9uS2V5cygpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5hbGVydC5pbmZvKFxuICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICdJbXBvcnRpbmcgdHJhbnNsYXRpb24gZnJvbSBhdmFpbGFibGUgV2ViIFNESyBiYXNlZCBhcHBsaWNhdGlvbnMuIFRoaXMgbWF5IHRha2UgYSB3aGlsZS4uLidcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgLy8gc2luY2Ugd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUga2V5cywgd2Ugb25seSBuZWVkIHRvIHJldHJpZXZlIHRoZSB0cmFuc2xhdGlvbnMgZm9yIG9uZSAod2VsbCBzdXBwb3J0ZWQpIGxhbmd1YWdlXG4gICAgICAvLyB3ZSBhc3N1bWUgdGhhdCB0aGUga2V5cyBhcmUgdGhlIHNhbWUgZm9yIGFsbCBvdGhlciBsYW5ndWFnZXMsIG90aGVyd2lzZSB3ZSB3b3VsZCBuZWVkIHRvIHBlcmZvcm0gYSBsb3QgbW9yZSByZXF1ZXN0cy5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU3RvcmUuZ2V0QXZhaWxhYmxlVHJhbnNsYXRpb25zKFsnZGUnXSk7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHRoaXMudmFsdWVTdHJpbmcoKTtcbiAgICAgIGNvbnN0IHZhbHVlczogQXJyYXk8eyBrZXk6IHN0cmluZyB9PiA9IEpTT04ucGFyc2UodmFsdWVTdHJpbmcpO1xuICAgICAgY29uc3QgcHJldmlvdXNOdW1iZXJPZkVudHJpZXMgPSB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY29uc3QgcmV0cmlldmVkS2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgcmV0cmlldmVkS2V5cykge1xuICAgICAgICBjb25zdCBmb3VuZEtleSA9IHZhbHVlcy5maW5kKHZhbHVlID0+IHZhbHVlLmtleSA9PT0ga2V5KTtcbiAgICAgICAgaWYgKCFmb3VuZEtleSkge1xuICAgICAgICAgIHZhbHVlcy5wdXNoKHsga2V5IH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdwcmV2aW91c051bWJlck9mRW50cmllcyA9IHZhbHVlcy5sZW5ndGg7XG4gICAgICB0aGlzLnZhbHVlU3RyaW5nLnNldChKU09OLnN0cmluZ2lmeSh2YWx1ZXMsIHVuZGVmaW5lZCwgMikpO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKFxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQoXG4gICAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAgICdSZXRyaWV2ZWQge3sgbnVtYmVyT2ZSZXRyaWV2ZWRLZXlzIH19IGtleXMgZnJvbSBhdmFpbGFibGUgYXBwbGljYXRpb25zLiB7eyBudW1iZXJPZk5ld0tleXMgfX0gbmV3IHRyYW5zbGF0aW9uIGtleXMgd2VyZSBhZGRlZC4nXG4gICAgICAgICAgKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBudW1iZXJPZlJldHJpZXZlZEtleXM6IHJldHJpZXZlZEtleXMubGVuZ3RoLFxuICAgICAgICAgICAgbnVtYmVyT2ZOZXdLZXlzOiBuZXdwcmV2aW91c051bWJlck9mRW50cmllcyAtIHByZXZpb3VzTnVtYmVyT2ZFbnRyaWVzXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnQuZGFuZ2VyKGdldHRleHQoJ0ZhaWxlZCB0byBpbXBvcnQgdHJhbnNsYXRpb24ga2V5cycpKTtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlVHJhbnNsYXRpb25zKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU3RvcmUudXBkYXRlVHJhbnNsYXRpb25zKEpTT04ucGFyc2UodGhpcy52YWx1ZVN0cmluZygpKSk7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhnZXR0ZXh0KCdUcmFuc2xhdGlvbnMgc2F2ZWQnKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydC5kYW5nZXIoZ2V0dGV4dCgnRmFpbGVkIHRvIHNhdmUgdHJhbnNsYXRpb25zJykpO1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGM4eS10aXRsZSB0cmFuc2xhdGU+TG9jYWxpemF0aW9uPC9jOHktdGl0bGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nKCk7IGVsc2UgbG9hZGluZ1wiPlxuICA8Yzh5LWFjdGlvbi1iYXItaXRlbSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhaXNWYWxpZEpTT04oKVwiXG4gICAgICAoY2xpY2spPVwic2F2ZVRyYW5zbGF0aW9ucygpXCJcbiAgICAgIGRhdGEtY3k9XCJjOHktdHJhbnNsYXRpb24tZWRpdG9yLS1zYXZlLWFuZC1hcHBseVwiXG4gICAgPlxuICAgICAgPGkgYzh5SWNvbj1cInNhdmVcIj48L2k+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+U2F2ZSAmIGFwcGx5PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbiAgPGM4eS1hY3Rpb24tYmFyLWl0ZW0gcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWlzVmFsaWRKU09OKClcIlxuICAgICAgKGNsaWNrKT1cImltcG9ydFRyYW5zbGF0aW9uS2V5cygpXCJcbiAgICAgIGRhdGEtY3k9XCJjOHktdHJhbnNsYXRpb24tZWRpdG9yLS1pbXBvcnQtdHJhbnNsYXRpb24ta2V5c1wiXG4gICAgPlxuICAgICAgPGkgW2M4eUljb25dPVwiJ2ltcG9ydCdcIj48L2k+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+SW1wb3J0IHRyYW5zbGF0aW9uIGtleXMgZnJvbSBBcHBzPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC0tZnVsbHBhZ2UgY29udGVudC1mdWxscGFnZVwiPlxuICAgIDxjOHktZWRpdG9yXG4gICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiXG4gICAgICBbZWRpdG9yT3B0aW9uc109XCJlZGl0b3JPcHRpb25zXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlU3RyaW5nKClcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChlZGl0b3JJbml0KT1cIm9uRWRpdG9ySW5pdCgkZXZlbnQpXCJcbiAgICAgIG1vbmFjb0VkaXRvck1hcmtlclZhbGlkYXRvclxuICAgID48L2M4eS1lZGl0b3I+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGM4eS1sb2FkaW5nPjwvYzh5LWxvYWRpbmc+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './translation-editor/translation-editor.component';
|
|
2
|
-
|
|
2
|
+
export * from './advanced-translation-editor/advanced-translation-editor.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cmFuc2xhdGlvbi1lZGl0b3IvbGF6eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscUVBQXFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9uLWVkaXRvci90cmFuc2xhdGlvbi1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWR2YW5jZWQtdHJhbnNsYXRpb24tZWRpdG9yL2FkdmFuY2VkLXRyYW5zbGF0aW9uLWVkaXRvci5jb21wb25lbnQnO1xuIl19
|